Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/README
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/README	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/README	(revision 26)
@@ -0,0 +1,73 @@
+
+   TOPPERS/JSP Kernelï¼Release 1.4.4ï¼
+       Toyohashi Open Platform for Embedded Real-Time Systems/
+       Just Standard Profile Kernel
+
+TOPPERS/JSPã«ã¼ãã«ã¯ï¼TOPPERSãã­ã¸ã§ã¯ãã«ããã¦éçºããÎ¼ITRON4.0ä»
+æ§ã«æºæ ãããªã¢ã«ã¿ã¤ã ã«ã¼ãã«ã§ãï¼JSPï¼Just Standard Profileï¼ã®å
+åãç¤ºãéãï¼Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«è¦å®ã«å¾ã£ã¦å®è£
+
+ããã¦ãã¾ãï¼
+
+ã¿ã¼ã²ãããã­ã»ããµã¨ãã¦ï¼ç¾æç¹ã§ï¼M68040ï¼SH3/4ï¼SH1ï¼SH2ï¼H8ï¼H8S, 
+ARMv4ï¼M32Rï¼MicroBlazeï¼TMS320C54xï¼Xstormy16ï¼MIPS3ï¼M16Cï¼SC33ï¼
+PowerPC32ï¼Nios2, v850ããµãã¼ããã¦ãã¾ãï¼ã«ã¼ãã«ã®ã§ããéãå¤ãã®
+é¨åãCè¨èªã§è¨è¿°ããï¼ã¿ã¼ã²ããç¬ç«é¨ã¨ä¾å­é¨ãæç¢ºã«åé¢ãããªã©ï¼
+ä»ã®ã¿ã¼ã²ãããã­ã»ããµã¸ã®ãã¼ãã£ã³ã°ãå®¹æãªæ§é ã«ãªã£ã¦ãã¾ãï¼ã
+ãã«ï¼Linuxä¸ã¨Windowsä¸ã§åä½ããã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãç¨æãã¦ãã¾ãï¼
+
+TOPPERS/JSPã«ã¼ãã«ã¯ï¼ãªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ã§ãï¼TOPPERS/JSPã«ã¼
+ãã«ã®é
+ä»ã­ããã®ææ°çã¯ï¼ä»¥ä¸ã®ã¦ã§ããµã¤ããããã¦ã³ã­ã¼ããããã¨
+ãã§ãã¾ãï¼
+        http://www.toppers.jp/
+
+ãã®ãã¼ã¸ãããã¦ã³ã­ã¼ãã§ããé
+ä»ã­ããã«ã¯ï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã
+å«ãTOPPERS/JSPã«ã¼ãã«ã®å
+¨ã½ã¼ã¹ãã¡ã¤ã«ã¨ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ã½ã¼ã¹
+ãã¡ã¤ã«ãå«ã¾ãã¦ãã¾ãï¼TOPPERS/JSPã«ã¼ãã«ã®å©ç¨æ¡ä»¶ã«ã¤ãã¦ã¯ï¼å
+ã½ã¼ã¹ãã¡ã¤ã«ã®å
+é ­ã«è¨è¿°ããã¦ããå©ç¨æ¡ä»¶ãåç
+§ãã¦ãã ããï¼
+
+ãã¦ã¼ã¶ãºããã¥ã¢ã«ã
+
+TOPPERS/JSPã«ã¼ãã«ã®ã¦ã¼ã¶ãºããã¥ã¢ã«ã¯ï¼doc/user.txt ã«ããã¾ãï¼
+TOPPERS/JSPã«ã¼ãã«ãå©ç¨ããå ´åã«ã¯ï¼ã¾ãï¼ãã®ããã¥ã¢ã«ã«ç®ãéã
+ã¦ä¸ããï¼ã¤ã³ã¹ãã¼ã«æ¹æ³ã®èª¬æã¯ï¼ãã®ããã¥ã¢ã«ã®ï¼ç« ã«ããã¾ãï¼
+
+ãTOPPERSã¦ã¼ã¶ãºã¡ã¼ãªã³ã°ãªã¹ãã
+
+TOPPERS/JSPã«ã¼ãã«ã®ã¦ã¼ã¶ã®ããã«ï¼TOPPERSã¦ã¼ã¶ãºã¡ã¼ãªã³ã°ãªã¹ãã
+ç¨æãã¦ãã¾ãï¼ãã®ã¡ã¼ãªã³ã°ãªã¹ãã«ã¯ï¼èª°ã§ãèªç±ã«ã¡ã¼ã«ãéä»ãã
+ãã¨ãã§ãã¾ãï¼ã¡ã¼ã«ã®éä»å
+ã¯ï¼users@toppers.jp ã§ãï¼ã¾ãï¼éä»ã
+ããã¡ã¼ã«ã¯ï¼ä¸è¨ã®ã¦ã§ããµã¤ãã§èª­ããã¨ãã§ãã¾ãï¼
+
+TOPPERS/JSPã«ã¼ãã«ã«é¢ããè³ªåããã°ã¬ãã¼ãã¯ï¼ãã®ã¡ã¼ãªã³ã°ãªã¹ã
+å®ã¦ã«ãéãä¸ããï¼ãã ãï¼æ
+å½è
+ã®é½åã§è¿
+éãªè¿ç­ãã§ããªãå ´åãã
+ããã¨æãã¾ããï¼ãäºæ¿ä¸ããï¼
+
+TOPPERSã¦ã¼ã¶ãºã¡ã¼ãªã³ã°ãªã¹ãã¸ã®ç»é²ãå¸æãããæ¹ã¯ï¼
+users-ctl@toppers.jp å®ã¦ã«ï¼æ¬æã«
+
+        subscribe ããªãã®åå
+        ä¾: subscribe Hiroaki Takada
+
+ã¨æ¸ããã¡ã¼ã«ãéä»ãã¦ãã ããï¼ä¸è¨ã®ã³ãã³ãä¸­ã«ã¯åè§è±æå­ã®ã¿ã
+ä½¿ããã¨ï¼ï¼æãè¿ãï¼ç»é²ç¢ºèªã®ããã®ã¡ã¼ã«ããéããã¾ãã®ã§ï¼ãã®æ
+ç¤ºã«å¾ã£ã¦ä¸ããï¼
+
+----------------------------------------------------------------------
+ã»TRON ã¯ "The Real-time Operating system Nucleus" ã®ç¥ç§°ã§ãï¼
+ã»ITRON ã¯ "Industrial TRON" ã®ç¥ç§°ã§ãï¼
+ã»Î¼ITRON ã¯ "Micro Industrial TRON" ã®ç¥ç§°ã§ãï¼
+ã»TRONï¼ITRONï¼ããã³Î¼ITRONã¯ï¼ç¹å®ã®ååãªããã¯ååç¾¤ãæãåç§°ã§ã¯
+  ããã¾ããï¼
+ã»TOPPERS ã¯ "Toyohashi OPen Platform for Embedded Real-time Systems" 
+  ã®ç¥ç§°ï¼JSP ã¯ "Just Standard Profile" ã®ç¥ç§°ã§ãï¼
+ã»æ¬æä¸­ã®åååã¯ï¼åç¤¾ã®åæ¨ã¾ãã¯ç»é²åæ¨ã§ãï¼
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile	(revision 26)
@@ -0,0 +1,154 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile,v 1.37 2003/12/06 08:46:43 takayuki Exp $
+# 
+
+#
+#  ã³ã³ãã¤ã©ãã©ã¤ãã®å®ç¾©
+#
+CXX = g++
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+CXXFLAGS = -g -O2 -Wall
+INCLUDES = -I.
+
+#
+#  MinGWãä½¿ç¨ãã¦ããã¨ãã«ã¯ãæ¬¡ã®ã³ã¡ã³ããå¤ã
+#
+#CXXFLAGS := $(CXXFLAGS) -D__MINGW__
+
+#
+#  Filecontainerãä½¿ç¨ããå®è£
+ç¨®å¥
+#
+CXXFLAGS := $(CXXFLAGS) -DFILECONTAINER_BINUTILS
+#CFLAGS := $(CFLAGS) -DFILECONTAINER_WINDOWS
+
+#
+#  ãªã³ã¯æã«è¿½å ããã©ã¤ãã©ãª
+#
+#LIBS = -lstdc++
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+COMMON_OBJS = manager.o directorymap.o message.o garbage.o component.o \
+              singleton.o except.o event.o collection.o option.o
+CFG_OBJS = parser.o mpstrstream.o jsp_checkscript.o \
+	jsp_parser.o jsp_staticapi.o jsp_common.o \
+	$(COMMON_OBJS)
+CHK_OBJS = filecontainer.o jsp_check.o fc_binutils.o $(COMMON_OBJS)
+
+VPATH = ./jsp ./base
+
+ifdef TINET
+	include tinet/Makefile.config
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«
+#
+all: cfg chk
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.cpp $(VPATH)
+
+#
+#  cfg ã®ãªã³ã¯
+#
+cfg: $(CFG_OBJS)
+	$(CXX) $(CXXFLAGS) -o cfg $(CFG_OBJS) $(LIBS)
+
+#
+#  chk ã®ãªã³ã¯
+#
+chk: $(CHK_OBJS)
+	$(CXX) $(CXXFLAGS) -o chk $(CHK_OBJS) $(LIBS)
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	rm -f *.o
+	rm -f cfg chk
+	rm -f container.txt container.xml kernel_cfg.c kernel_id.h
+	rm -f settings.dat settings.txt
+	rm -f cfg.exe chk.exe
+
+cleandep:
+	rm -f Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+depend: cleandep $(CFG_OBJS:.o=.d) $(CHK_OBJS:.o=.d)
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  ããã©ã«ãã®ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+%.o: %.cpp
+	$(CXX) -c $(CXXFLAGS) $(INCLUDES) $<
+
+#
+#  ããã©ã«ãã®ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+%.d: %.cpp
+	$(CXX) -M $(CXXFLAGS) $(INCLUDES) $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile.bcc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile.bcc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/Makefile.bcc	(revision 26)
@@ -0,0 +1,125 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.bcc,v 1.6 2003/12/20 07:01:04 takayuki Exp $
+# 
+
+FCDEFS = -DFILECONTAINER_BINUTILS
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+CFLAGS = -q -O2 -w- $(FCDEFS)
+INCLUDES = -I.
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+COMMON_OBJS = manager.obj directorymap.obj message.obj garbage.obj \
+	component.obj except.obj singleton.obj collection.obj event.obj \
+	option.obj
+
+B_CFG_OBJS = parser.obj mpstrstream.obj jsp_checkscript.obj \
+			jsp_parser.obj jsp_staticapi.obj jsp_common.obj \
+			$(COMMON_OBJS)
+B_CHK_OBJS = filecontainer.obj jsp_check.obj fc_binutils.obj fc_windows.obj\
+			$(COMMON_OBJS)
+
+B_VPATH = .\jsp;.\base
+
+#!include tinet/Makefile.config
+
+CFG_OBJS = $(B_CFG_OBJS)
+CHK_OBJS = $(B_CHK_OBJS)
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«
+#
+all: cfg.exe chk.exe
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+.path.cpp = $(B_VPATH)
+
+#
+#  èªåä¾å­é¢ä¿
+#
+.autodepend
+
+#
+#  cfg ã®ãªã³ã¯
+#
+cfg.exe: $(CFG_OBJS)
+	$(CC) $(CFLAGS) -ecfg.exe $(CFG_OBJS)
+
+#
+#  chk ã®ãªã³ã¯
+#
+chk.exe: $(CHK_OBJS)
+	$(CC) $(CFLAGS) -echk.exe $(CHK_OBJS)
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	del /Q *.obj
+	del /Q *.tds
+	del /Q cfg.exe chk.exe
+
+#
+#  ã³ã³ãã¤ã©ãã©ã¤ãã®å®ç¾©
+#
+CC  = bcc32
+
+#
+#  ããã©ã«ãã®ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+.cpp.obj:
+	$(CC) -c $(CFLAGS) $(INCLUDES) $<
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.cpp	(revision 26)
@@ -0,0 +1,962 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: clause.cpp,v 1.3 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/clause.cpp,v 1.3 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/clause.h"
+#include "base/message.h"
+
+using namespace std;
+
+/*
+ *   æ§æä¸ã®ä¸ç¯ãå¦çããã¯ã©ã¹
+ */
+
+    //æå®ããååç©ºéã®ç¯ããããåå¾
+Clause::map_type * Clause::getClauseMap(string name) throw()
+{
+    map_type * result = NULL;
+    Namespace::iterator scope;
+
+    Namespace * const ns = Singleton<Namespace>::getInstance(nothrow);
+    if(ns!= 0) {
+        scope = ns->find(name);
+        if(scope != ns->end())
+            result = &(scope->second);
+    }
+
+    return result;
+}
+
+    //ç¯ã®ç»é²
+void Clause::addClause(string _namespace, string _identifier) throw()
+{
+    if(isValid()) {
+        Namespace * const ns = Singleton<Namespace>::getInstance(nothrow);
+        if(ns != 0)
+            (*ns)[_namespace][_identifier] = this;
+//          ns->operator [](_namespace).insert(map_type::value_type(_identifier, this));        //ä¸æ¸ããããªãå ´å
+    }
+}
+
+    //ãã¼ã¯ã³ã«å¯¾ãã¦ç¯è­å¥åãçæãã
+string Clause::getClauseIdentifier(Token token) throw()
+{
+    string result;
+
+    switch(token.getType()) {
+        case Token::IDENTIFIER:
+        case Token::PUNCTUATOR:
+            result = token.getLiteral();    
+            break;
+        case Token::INTEGER:
+            result.assign(INTEGER_CLAUSE_IDENTIFIER);
+            break;
+        case Token::LITERAL:
+            result.assign(LITERAL_CLAUSE_IDENTIFIER);
+            break;
+        case Token::OPERATOR:
+            result.assign(OPERATOR_CLAUSE_IDENTIFIER);
+            break;
+        default:
+            result = string();
+    }
+
+    return result;
+}
+
+    //ç¯ã®è§£æ
+bool Clause::parseClause(string ns, Parser & p)
+{
+    bool result = false;
+    map_type::iterator scope;
+    map_type * clause = getClauseMap(ns);
+
+        //ã¬ã¼ãç¯
+    if(clause == 0 || p.eof())
+        return false;
+
+        //ãã¼ã¯ã³ããè­å¥åãåãåºã
+    Token  token;
+    string identifier;
+
+    token      = p.getToken();
+    identifier = getClauseIdentifier(token);
+    
+        //ç¯å¦çé¨ã®å®è¡
+    scope = clause->find(identifier);
+    if(scope != clause->end()) {
+
+            //ãããã°ç¨ã¡ãã»ã¼ã¸åºå
+        DebugMessage("Clause::parseClause(%) - %\n") << ns << identifier;
+
+        try {
+            scope->second->before(token, p);
+            scope->second->body(token, p);  //ããããããã®ãå®è¡
+            scope->second->after(token, p);
+            result = true;
+        }
+        catch(...) {
+            scope->second->onFail(token, p);    //å¤±æããã¨ãã®å¾å§æ«ããé¡ããã
+            throw;
+        }
+    }
+    else
+        p.putback(token);   //è­å¥å­ã«ããããããã®ãç»é²ããã¦ããªã
+
+    return result;
+}
+
+    //firstã§å§ã¾ãç¯ãããã
+bool Clause::hasClause(string ns, string first) throw()
+{
+    map_type * clause = getClauseMap(ns);
+    if(clause == 0)
+        return false;
+
+    return clause->find(first) != clause->end();
+}
+
+    //ãã¼ã¹åå¦ç
+void Clause::before(const Token &, Parser &)
+{}
+
+    //ãã¼ã¹å¾å¦ç
+void Clause::after(const Token &, Parser &)
+{}
+
+    //æ¨æºã®ä¾å¤çºçæã®å¾å§æ«ã«ã¼ãã³
+void Clause::onFail(const Token &, Parser & p) throw()
+{
+    Token token;
+
+        //æå¾ã¾ã§èª­ã¿ãã
+    while(!p.eof())
+        token = p.getToken();
+}
+
+    //ç¯ãè¤æ°ã®è­å¥åã«å¯¾å¿ä»ãã
+void Clause::addMultipleClauses(string ns, string id_list) throw()
+{
+    string            id;
+    string::size_type pos;
+    string::size_type prev;
+
+        //ã«ã³ãã§åºåãããè¦ç´ æ¯ã«addClauseãçºè¡
+    if(isValid()) {
+        prev = 0;
+        do {
+            pos = id_list.find_first_of(',', prev);
+            id  = id_list.substr(prev, pos - prev);
+
+            addClause(ns, id);
+
+            prev = pos + 1;
+        } while(pos != string::npos);
+    }
+}
+
+    //[ãã«ãç¨] ç»é²ããã¦ããç¯ã®ä¸è¦§ãä½æãã
+std::string Clause::makeClauseList(string ns, int width) throw()
+{
+    string result;
+    map_type::iterator scope;
+    map_type * clause = getClauseMap(ns);
+    size_t max_length = 0;
+
+        //æå¤§ã®æå­åé·ãæ±ãã
+    scope = clause->begin();
+    while(scope != clause->end()) {
+        size_t i = scope->first.size();
+        if(i > max_length)
+            max_length = i;
+        ++ scope;
+    }
+
+        //ä¸è¦§ãä½æ
+    size_t max_column = width/(max_length+1);
+    size_t column = 0;
+    scope = clause->begin();
+    while(scope != clause->end()) {
+        size_t i = scope->first.size();
+
+        result += scope->first;
+
+        ++ column;
+        ++ scope;
+
+            //æ«å°¾å¦ç
+        if(column == max_column || scope == clause->end())
+            result += '\n';
+        else {
+            result += ',';
+            result += string(max_length - i, ' ');
+        }
+    }
+
+    return result;
+}
+
+
+    /*
+     *   éçAPI
+     */
+
+    //ãã¼ã¹åå¦ç
+void StaticAPI::before(const Token & first, Parser & p)
+{
+    Token token = p.getToken();
+    if(token != Token::LPAREN) {
+        ExceptionMessage("StaticAPI [%] lacks left-parenthesis '('.","éçAPI[%]ã«ã¯æ¬å¼§'('ãæ¬ ãã¦ãã") << first.getLiteral() << throwException;
+    }
+}
+
+    //ãã¼ã¹å¾å¦ç
+void StaticAPI::after(const Token & first, Parser & p)
+{
+    Token token = p.getToken();
+    if(token != Token::RPAREN) {
+        ExceptionMessage("StaticAPI [%] lacks right-parenthesis ')'.","éçAPI[%]ã«ã¯æ¬å¼§')'ãæ¬ ãã¦ãã") << first.getLiteral() << throwException;
+    }
+    else {
+        token = p.getToken();
+        if(token != ";")
+            ExceptionMessage("StaticAPI [%] lacks ';' at the end of declaration.","éçAPI[%]ã®æ«å°¾ã«';'ãæ¬ ãã¦ãã") << first.getLiteral() << throwException;
+    }
+}
+
+    //å¤±ææã®åå¾©å¦ç
+void StaticAPI::onFail(const Token & , Parser & p) throw()
+{   skip(p, false);   }
+
+
+    //ã¹ã­ãã
+    //   invalid_api : æ¬¡ã«æåã«èª­ã¿åºãããAPIã¯ç¡å¹
+void StaticAPI::skip(Parser & p, bool invalid_api) throw()
+{
+        //ã»ãã³ã­ã³ or æ¬¡ã®éçAPIã®åºç¾ã¾ã§
+    Token token;
+    bool  condition; //ã¢ã¬å¯¾ç­
+
+    if(invalid_api)
+        token = p.getToken();   //æ¬¡ã®APIåã¯èª­ã¿é£ã°ã
+
+    do {
+        token = p.getToken(true);
+
+        condition = (!token.isValid()) ||                                                   //ç¡å¹ãªãã¼ã¯ã³ã
+                    (token == Token::PUNCTUATOR && token == ";") ||                         //ã»ãã³ã­ã³ã
+                    (token == Token::IDENTIFIER && hasStaticAPI(token.getLiteral()));       //éçAPIã
+
+    } while(!condition);
+
+    if(token == Token::IDENTIFIER)
+        p.putback(token);
+}
+
+    /*
+     *   ããªãã­ã»ã¹ãã£ã¬ã¯ãã£ã
+     */
+
+    //ãã¼ã¹å¾å¦ç
+void Directives::after(const Token & first, Parser & p) throw(Exception)
+{
+    Token token = p.getToken(true);
+    if(!token.isValid() || !p.isLocatedonHeadofLine())
+        ExceptionMessage("Directive [%] has a wrong parameter or misses a new-line.","ãã£ã¬ã¯ãã£ã[%]ã«ä¸æ­£ãªå¼æ°ãããããæ¹è¡ããªã") << first.getLiteral() << throwException;
+}
+
+    //ãã¼ã¹å¤±ææã®åå¾©å¦ç
+void Directives::onFail(const Token & , Parser & p) throw()
+{
+        //æ¬¡ã®æ¹è¡ã¾ã§èª­ã¿é£ã°ã
+    Token token;
+
+    do {
+        token = p.getToken(true);
+    } while(token.isValid() && !p.isLocatedonHeadofLine());
+}
+
+/************************************************* ãã¹ãã¹ã£ã¼ã *************************************************/
+
+#ifdef TESTSUITE
+
+#include "coverage_undefs.h"
+#include <sstream>
+
+namespace {
+    class Clause_test : public Clause
+    {
+    public:
+        Token        first;
+        Token        second;
+        bool         throw_exception;
+
+        Clause_test(void) throw() : first(Token::ERROR), throw_exception(false) {}
+
+        void body(const Token & _first, Parser & _p)
+        {
+            TestSuite::check("Clause_test::body");
+            first = _first;
+            second = _p.getToken();
+            if(throw_exception)
+                throw 0;
+        }
+
+        void before(const Token & , Parser & )
+        {
+            TestSuite::check("Clause_test::before");
+        }
+
+        void after(const Token &, Parser &)
+        {
+            TestSuite::check("Clause_test::after");
+        }
+
+        void onFail(const Token & _first, Parser & p) throw()
+        {
+            TestSuite::check("Clause_test::onFail");
+            first = _first;
+        }
+
+        void onFail_super(const Token & _first, Parser & p) throw()
+        {   Clause::onFail(_first, p);   }
+    };
+}
+
+TESTSUITE(main, Clause)
+{
+    SingletonBase::ContextChain chain;
+    chain.saveContext<Namespace>();
+
+    BEGIN_CASE("getClauseIdentifier","getClauseIdentifier") {
+        BEGIN_CASE("1","æ®éã®è­å¥å­ã¯ãã®ã¾ã¾ãä¸­èº«ã«ãªã") {
+            Token token(Token::IDENTIFIER, "test");
+
+            if(getClauseIdentifier(token).compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","æ°å¤ã¯ä¸­èº«ã«é¢ä¿ãªã" INTEGER_CLAUSE_IDENTIFIER "ãè¿ã") {
+            Token token(Token::INTEGER, "", "", 0);
+
+            if(getClauseIdentifier(token).compare(INTEGER_CLAUSE_IDENTIFIER) != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ãªãã©ã«ã¯ä¸­èº«ã«é¢ä¿ãªã" LITERAL_CLAUSE_IDENTIFIER "ãè¿ã") {
+            Token token(Token::LITERAL, "");
+
+            if(getClauseIdentifier(token).compare(LITERAL_CLAUSE_IDENTIFIER) != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","æ¼ç®å­ã¯ä¸­èº«ã«é¢ä¿ãªã" OPERATOR_CLAUSE_IDENTIFIER "ãè¿ã") {
+            Token token(Token::OPERATOR);
+
+            if(getClauseIdentifier(token).compare(OPERATOR_CLAUSE_IDENTIFIER) != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","ç©ºç½ã®ãã¼ã¯ã³ã«ã¯ç©ºæå­(==éåç)ãè¿ã") {
+            Token token(Token::SPACE);
+
+            if(!getClauseIdentifier(token).empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        TEST_CASE("6","ã¨ã©ã¼ãã¼ã¯ã³ã«ã¯ç©ºæå­(==éåç)ãè¿ã", getClauseIdentifier(Token(Token::ERROR)).empty());
+        TEST_CASE("7","EOSãã¼ã¯ã³ã«ã¯ç©ºæå­(==éåç)ãè¿ã",   getClauseIdentifier(Token(Token::END_OF_STREAM)).empty());
+
+    } END_CASE;
+
+    BEGIN_CASE("getClauseMap","getClauseMap") {
+        BEGIN_CASE("1","ä½ãç»é²ãã¦ããªãç©ºéã«ã¯NULLãè¿ã") {
+            chain.renewInstance();
+            if(Clause::getClauseMap("unknown") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","è¦ç´ ãããã°é0ãè¿ã") {
+            chain.renewInstance();
+            Singleton<Namespace>::getInstance()->operator []("test");
+
+            if(Clause::getClauseMap("test") == 0)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("addClause","addClause") {
+        BEGIN_CASE("1","ãªãã¸ã§ã¯ããç»é²ã§ãã") {
+            chain.renewInstance();
+            Clause_test ct;
+            Clause_test ct2;
+
+            BEGIN_CASE("1","æ®éã«ç»é²ãã") {
+                ct.addClause("test","first_literal");
+
+                TEST_CASE("1","ååç©ºéãå¢ãã¦ãã", Singleton<Namespace>::getInstance()->size() == 1);
+                TEST_CASE("2","\"test\"ã¨ããç©ºéããã", Singleton<Namespace>::getInstance()->find("test") != Singleton<Namespace>::getInstance()->end());
+                TEST_CASE("3","getClauseã§ã¢ãã¬ã¹ãåãã", Clause::getClauseMap("test") != 0); 
+                TEST_CASE("4","ååç©ºéã®ç¯ã®æ°ã¯1",  Clause::getClauseMap("test")->size() == 1);
+                TEST_CASE("5","\"first_literal\"ã®ãã¼ãããã", Clause::getClauseMap("test")->find("first_literal") != Clause::getClauseMap("test")->end());
+                TEST_CASE("6","é¢é£ä»ããããå¤ãæ­£ãã", (*Clause::getClauseMap("test"))["first_literal"] == &ct);
+            } END_CASE;
+
+            BEGIN_CASE("2","2åç®ãç»é²ãã") {
+                ct2.addClause("test","second_literal");
+
+                TEST_CASE("1","ååç©ºéãå¢ãã¦ããªã", Singleton<Namespace>::getInstance()->size() == 1);
+                TEST_CASE("2","\"test\"ã¨ããç©ºéããã", Singleton<Namespace>::getInstance()->find("test") != Singleton<Namespace>::getInstance()->end());
+                TEST_CASE("3","ååç©ºéã®ç¯ã®æ°ã¯2",  Clause::getClauseMap("test")->size() == 2);
+                TEST_CASE("4","\"second_literal\"ã®ãã¼ãããã", Clause::getClauseMap("test")->find("second_literal") != Clause::getClauseMap("test")->end());
+                TEST_CASE("5","é¢é£ä»ããããå¤ãæ­£ãã", (*Clause::getClauseMap("test"))["second_literal"] == &ct2);
+            } END_CASE;
+
+            BEGIN_CASE("3","2åç®ã1åç®ã§ä¸æ¸ãç»é²ãã") {
+                ct.addClause("test","second_literal");
+                TEST_CASE("1","ä¸æ¸ãããã¦ãã", (*Clause::getClauseMap("test"))["second_literal"] == &ct);
+            } END_CASE;
+
+            BEGIN_CASE("4","éãååç©ºéã«ç»é²ãã") {
+                ct.addClause("TEST","first_literal");
+
+                TEST_CASE("1","ååç©ºéãå¢ãã¦ãã", Singleton<Namespace>::getInstance()->size() == 2);
+                TEST_CASE("2","\"TEST\"ã¨ããç©ºéããã", Singleton<Namespace>::getInstance()->find("TEST") != Singleton<Namespace>::getInstance()->end());
+                TEST_CASE("3","getClauseã§ã¢ãã¬ã¹ãåãã", Clause::getClauseMap("TEST") != 0); 
+                TEST_CASE("4","ååç©ºéã®ç¯ã®æ°ã¯1",  Clause::getClauseMap("TEST")->size() == 1);
+                TEST_CASE("5","\"first_literal\"ã®ãã¼ãããã", Clause::getClauseMap("TEST")->find("first_literal") != Clause::getClauseMap("TEST")->end());
+                TEST_CASE("6","é¢é£ä»ããããå¤ãæ­£ãã", (*Clause::getClauseMap("TEST"))["first_literal"] == &ct);
+            } END_CASE;
+
+        } END_CASE;
+
+        BEGIN_CASE("2","ç¡å¹ãªãªãã¸ã§ã¯ãã¯ç»é²ãããªã") {
+            chain.renewInstance();
+
+            ((Clause_test *)0)->addClause("test","first_literal");
+
+            TEST_CASE("1","ååç©ºéãå¢ãã¦ããªã", Singleton<Namespace>::getInstance()->size() == 0);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("hasClause","hasClause") {
+        Clause_test ct;
+        chain.renewInstance();
+
+        TEST_CASE("1","ä½ãè¦ç´ ããªãã¨ãã«ãæ­£å¸¸ã«åä½ãã", !Clause::hasClause("dummy","null"));
+
+        ct.addClause("test","first_literal");
+
+        TEST_CASE("2","ç»é²ããè¦ç´ ãæ¢ããtrueãè¿ã", Clause::hasClause("test","first_literal"));
+        TEST_CASE("3","å­å¨ããªãè¦ç´ ã«falseãè¿ã", !Clause::hasClause("dummy","null"));
+    } END_CASE;
+
+    BEGIN_CASE("addMultipleClauses","addMultipleClauses") {
+        BEGIN_CASE("1","åä¸ã®ç¯ãç»é²ã§ãã") {
+            chain.renewInstance();
+            Clause_test ct;
+
+            ct.addMultipleClauses("test","first");
+
+            TEST_CASE("1","ç»é²ããç¯ããã", Clause::hasClause("test","first"));
+        } END_CASE;
+
+        BEGIN_CASE("2","è¤æ°ã®ç¯ãç»é²ãã") {
+            chain.renewInstance();
+            Clause_test ct;
+
+            ct.addMultipleClauses("test","first,second,third");
+
+            TEST_CASE("1","ç»é²ããç¯ããã", Clause::hasClause("test","first"));
+            TEST_CASE("2","ç»é²ããç¯ããã", Clause::hasClause("test","second"));
+            TEST_CASE("3","ç»é²ããç¯ããã", Clause::hasClause("test","third"));
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("Clause::onFail","Clause::onFail") {
+        stringstream buf;
+        Parser p(&buf, "test");
+        Token token;
+        Clause_test ct;
+
+        buf.str("first second third 4 5 6 siebt acht neunt 0xa");
+
+        ct.onFail_super(token, p);
+        TEST_CASE("1","ã¹ããªã¼ã ã¯æå¾ã¾ã§é²ãã§ãã", p.eof());
+    } END_CASE;
+
+    BEGIN_CASE("parseClause","parseClause") {
+        chain.renewInstance();
+        Clause_test ct;
+
+        ct.addClause("test","first");
+
+        BEGIN_CASE("1","ååç©ºéãé¸æãã¦æ­£ããç¯ãå®è¡ã§ãã") {
+            stringstream buf;
+            Parser p(&buf, "test");
+            buf.str("first second");
+
+            TestSuite::clearCheckpoints();
+            TEST_CASE("1","é¢æ°ã¯æåãã", Clause::parseClause("test", p));
+            TEST_CASE("2","Clause::beforeãå®è¡ããã¦ãã", TestSuite::isReached("Clause_test::before"));
+            TEST_CASE("3","Clause::bodyãå®è¡ããã¦ãã", TestSuite::isReached("Clause_test::body"));
+            TEST_CASE("4","bodyã®firstãæ­£ãã", ct.first == "first");
+            TEST_CASE("5","bodyã§èª­ã¿åºãããã¼ã¯ã³ãæ­£ãã", ct.second == "second");
+            TEST_CASE("6","Clause::afterãå®è¡ããã¦ãã", TestSuite::isReached("Clause_test::after"));
+        } END_CASE;
+
+        BEGIN_CASE("2","ç¯ã®å¦çä¸­ã«ä¾å¤ãèµ·ããã¨onFailãå¼ã°ãã") {
+            stringstream buf;
+            Parser p(&buf, "test");
+            buf.str("first second");
+
+            ct.throw_exception = true;
+            TestSuite::clearCheckpoints();
+
+            bool result = false;
+            try { Clause::parseClause("test", p); }
+            catch(...){ result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+            TEST_CASE("2","Clause::bodyãå®è¡ããã¦ãã", TestSuite::isReached("Clause_test::body"));
+            TEST_CASE("3","Clause::onFailãå®è¡ããã¦ãã", TestSuite::isReached("Clause_test::onFail"));
+        } END_CASE;
+
+        BEGIN_CASE("3","å­å¨ããªãååç©ºéãæå®ãã") {
+            stringstream buf;
+            Parser p(&buf, "test");
+            buf.str("first second");
+
+            TEST_CASE("1","é¢æ°ã¯å¤±æãã", !Clause::parseClause("unknown", p));
+        } END_CASE;
+
+        BEGIN_CASE("4","EOFã«éããã¹ããªã¼ã ãæå®ãã") {
+            stringstream buf;
+            Parser p(&buf, "test");
+            buf.str("");
+            buf.get();
+
+            TEST_CASE("0","[åæ]ã¹ããªã¼ã ã¯çµç«¯ã«éãã¦ãã", buf.eof());
+            TEST_CASE("1","é¢æ°ã¯å¤±æãã", !Clause::parseClause("unknown", p));
+        } END_CASE;
+    } END_CASE;
+
+    chain.restoreContext();
+}
+
+
+
+
+namespace {
+    class StaticAPI_test : public StaticAPI
+    {
+    public:
+        StaticAPI_test(void) throw() : StaticAPI() {}
+        StaticAPI_test(string src) throw() : StaticAPI(src) {}
+
+        void body(const Token & , Parser &) { TestSuite::check("StaticAPI::body"); }
+        void onFail_super(const Token & first, Parser & p) throw() { StaticAPI::onFail(first, p); }
+    };
+}
+
+TESTSUITE(main, StaticAPI)
+{
+    Singleton<Namespace>::Context context;
+    Singleton<Namespace>::saveContext(context);
+
+    Exception::setThrowControl(true);
+
+    BEGIN_CASE("regist","regist") {
+        BEGIN_CASE("1","åä¸ã®ååãæå®ãã¦ç»é²ã§ãã") {
+            Singleton<Namespace>::renewInstance();
+            StaticAPI_test api;
+
+            api.regist("VTST_API");
+
+            TEST_CASE("1","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("VTST_API"));
+        } END_CASE;
+
+        BEGIN_CASE("2","è¤æ°ã®ååãæå®ãã¦ç»é²ãã") {
+            Singleton<Namespace>::renewInstance();
+            StaticAPI_test api;
+
+            api.regist("API_1,API_2,API_3");
+
+            TEST_CASE("1","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API_1"));
+            TEST_CASE("2","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API_2"));
+            TEST_CASE("3","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API_3"));
+        } END_CASE;
+
+        BEGIN_CASE("3","ä¸æ¸ããã") {
+            Singleton<Namespace>::renewInstance();
+            StaticAPI_test api;
+            StaticAPI_test api2;
+            StaticAPI_test api3;
+
+            api.regist("test");
+            TEST_CASE("1","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("test"));
+            TEST_CASE("2","APIãã³ãã©ãæ­£ãã", (*StaticAPI::getClauseMap(NAMESPACE_STATICAPI))["test"] == &api);
+
+            api2.regist("test");
+            TEST_CASE("3","APIãã³ãã©ãä¸æ¸ãããã¦ãã", (*StaticAPI::getClauseMap(NAMESPACE_STATICAPI))["test"] == &api2);
+
+            api3.regist("test");
+            TEST_CASE("4","APIãã³ãã©ãä¸æ¸ãããã¦ãã", (*StaticAPI::getClauseMap(NAMESPACE_STATICAPI))["test"] == &api3);
+        } END_CASE;
+
+        BEGIN_CASE("4","ã³ã³ã¹ãã©ã¯ã¿ã§ç»é²") {
+            Singleton<Namespace>::renewInstance();
+            StaticAPI_test api("API1,API2,API3");
+
+            TEST_CASE("1","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API1"));
+            TEST_CASE("2","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API2"));
+            TEST_CASE("3","APIã¯æ­£ããç»é²ã§ãã¦ãã",StaticAPI::hasStaticAPI("API3"));
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("parseStaticAPI","parseStaticAPI") {
+        BEGIN_CASE("1","éçAPIãæ­£ããå¦çã§ãã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            StaticAPI_test api("API");
+
+            buf.str("API();");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = true;
+            try { StaticAPI::parseStaticAPI(p); }
+            catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","éçAPIã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("StaticAPI::body"));
+        } END_CASE;
+
+        BEGIN_CASE("2","'('å¿ãã§ä¾å¤") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            StaticAPI_test api("API");
+
+            buf.str("API);");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = false;
+            try { StaticAPI::parseStaticAPI(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","éçAPIã®æ¬ä½ãå¼ã°ããªã", !TestSuite::isReached("StaticAPI::body"));
+        } END_CASE;
+
+        BEGIN_CASE("3","')'å¿ãã§ä¾å¤") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            StaticAPI_test api("API");
+
+            buf.str("API(; NEXT");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = false;
+            try { StaticAPI::parseStaticAPI(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","éçAPIã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("StaticAPI::body"));
+        } END_CASE;
+
+        BEGIN_CASE("4","';'å¿ãã§ä¾å¤") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            StaticAPI_test api("API");
+
+            buf.str("API() NEXT");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = false;
+            try { StaticAPI::parseStaticAPI(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","éçAPIã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("StaticAPI::body"));
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("onFail","onFail") {
+        BEGIN_CASE("1","ã»ãã³ã­ã³ã¾ã§èª­ã¿é£ã°ã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Parser p(&buf, "test");
+            StaticAPI_test api;
+            Token token;
+            buf.str("api parameter;next_api next_api_parameter;");
+
+            api.onFail_super(Token(), p);
+
+            TEST_CASE("1","ã»ãã³ã­ã³ã®æ¬¡ãèª­ãã", p.getToken() == "next_api");
+        } END_CASE;
+
+        BEGIN_CASE("2","æ¬¡ã®APIã¾ã§èª­ã¿é£ã°ã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Parser p(&buf, "test");
+            StaticAPI_test api("api,next_api");
+            buf.str("api parameter_1 parameter_2 next_api next_api_parameter;");
+
+            api.onFail_super(p.getToken(), p);
+
+            TEST_CASE("1","æ¬¡ã®APIåãèª­ãã", p.getToken() == "next_api");
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("skip","skip") {
+        BEGIN_CASE("1","ã»ãã³ã­ã³ã¾ã§èª­ã¿é£ã°ã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Parser p(&buf, "test");
+            StaticAPI_test api;
+            Token token;
+            buf.str("api parameter;next_api next_api_parameter;");
+
+            StaticAPI::skip(p);
+
+            TEST_CASE("1","ã»ãã³ã­ã³ã®æ¬¡ãèª­ãã", p.getToken() == "next_api");
+        } END_CASE;
+
+        BEGIN_CASE("2","æ¬¡ã®APIã¾ã§èª­ã¿é£ã°ã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Parser p(&buf, "test");
+            StaticAPI_test api("api,next_api");
+            buf.str("parameter_1 parameter_2 next_api next_api_parameter;");
+
+            StaticAPI::skip(p);
+
+            TEST_CASE("1","æ¬¡ã®APIåæ¬¡ãèª­ãã", p.getToken() == "next_api");
+        } END_CASE;
+
+        BEGIN_CASE("3","å
+é ­ãAPIåã§ãèª­ã¿é£ã°ãã§ãã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Parser p(&buf, "test");
+            StaticAPI_test api("api,next_api");
+            buf.str("api parameter_1 parameter_2 next_api next_api_parameter;");
+
+            StaticAPI::skip(p);
+
+            TEST_CASE("1","æ¬¡ã®APIåãèª­ãã", p.getToken() == "next_api");
+        } END_CASE;
+    } END_CASE;
+    
+    Singleton<Namespace>::restoreContext(context);
+}
+
+
+namespace {
+    class Directives_test : public Directives
+    {
+    public:
+        bool throws;
+
+        Directives_test(void) throw() : Directives(), throws(false) {}
+        Directives_test(string src) throw() : Directives(src), throws(false)  {}
+
+        void body(const Token & , Parser & ) throw(int)
+        {
+            TestSuite::check("Directives::body");
+            if(throws)
+                throw 0;
+        }
+    };
+}
+
+TESTSUITE(main, Directives)
+{
+    Singleton<Namespace>::Context context;
+    Singleton<Namespace>::saveContext(context);
+
+    Exception::setThrowControl(true);
+
+    BEGIN_CASE("regist","regist") {
+        BEGIN_CASE("1","åä¸ã®ååãæå®ãã¦ç»é²ã§ãã") {
+            Singleton<Namespace>::renewInstance();
+            Directives_test api;
+
+            api.regist("include");
+
+            TEST_CASE("1","APIã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("include"));
+        } END_CASE;
+
+        BEGIN_CASE("2","è¤æ°ã®ååãæå®ãã¦ç»é²ãã") {
+            Singleton<Namespace>::renewInstance();
+            Directives_test api;
+
+            api.regist("pragma,define,endif");
+
+            TEST_CASE("1","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("pragma"));
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("define"));
+            TEST_CASE("3","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("endif"));
+        } END_CASE;
+
+        BEGIN_CASE("3","ä¸æ¸ããã") {
+            Singleton<Namespace>::renewInstance();
+            Directives_test api;
+            Directives_test api2;
+            Directives_test api3;
+
+            api.regist("test");
+            TEST_CASE("1","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("test"));
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ããã³ãã©ãæ­£ãã", (*Directives::getClauseMap(NAMESPACE_DIRECTIVES))["test"] == &api);
+
+            api2.regist("test");
+            TEST_CASE("3","ãã£ã¬ã¯ãã£ããã³ãã©ãä¸æ¸ãããã¦ãã", (*Directives::getClauseMap(NAMESPACE_DIRECTIVES))["test"] == &api2);
+
+            api3.regist("test");
+            TEST_CASE("4","ãã£ã¬ã¯ãã£ããã³ãã©ãä¸æ¸ãããã¦ãã", (*Directives::getClauseMap(NAMESPACE_DIRECTIVES))["test"] == &api3);
+        } END_CASE;
+
+        BEGIN_CASE("4","ã³ã³ã¹ãã©ã¯ã¿ã§ç»é²") {
+            Singleton<Namespace>::renewInstance();
+            Directives_test api("pragma,define,endif");
+
+            TEST_CASE("1","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("pragma"));
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("define"));
+            TEST_CASE("3","ãã£ã¬ã¯ãã£ãã¯æ­£ããç»é²ã§ãã¦ãã",Directives::hasDirectives("endif"));
+        } END_CASE;
+    } END_CASE;
+    
+    BEGIN_CASE("parseDirectives","parseDirectives") {
+        BEGIN_CASE("1","ãã£ã¬ã¯ãã£ããæ­£ããå¦çã§ãã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Directives_test api("pragma");
+
+            buf.str("pragma\nnext\n");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = true;
+            try { Directives::parseDirectives(p); }
+            catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ãã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("Directives::body"));
+        } END_CASE;
+
+        BEGIN_CASE("2","æ¹è¡ãªã(ä¸æ­£ãã©ã¡ã¼ã¿)ã§ä¾å¤") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Directives_test api("pragma");
+
+            buf.str("pragma next\n");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = false;
+            try { Directives::parseDirectives(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ãã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("Directives::body"));
+        } END_CASE;
+
+        BEGIN_CASE("3","æ¹è¡ãªã(EOF)ã§ä¾å¤") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Directives_test api("pragma");
+
+            buf.str("pragma");
+            Parser p(&buf, "test");
+
+            TestSuite::clearCheckpoints();
+            bool result = false;
+            try { Directives::parseDirectives(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","ãã£ã¬ã¯ãã£ãã®æ¬ä½ãå¼ã°ãã¦ãã", TestSuite::isReached("Directives::body"));
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("onFail","onFail") {
+        BEGIN_CASE("1","bodyã§ä¾å¤ãèµ·ãã¨onFailãæ¬¡ã®æ¹è¡ã¾ã§èª­ã¿é£ã°ã") {
+            Singleton<Namespace>::renewInstance();
+            stringstream buf;
+            Directives_test api("pragma");
+            buf.str("pragma parameter\nnext\n");
+            Parser p(&buf, "test");
+
+            api.throws = true;
+            bool result = false;
+            try { Directives::parseDirectives(p); }
+            catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ã", result);
+            TEST_CASE("2","æ®ã£ãå
+å®¹ãæ­£ãã", p.getToken() == "next");
+            TEST_CASE("3","ãã¼ã¯ã³ã¯è¡é ­", p.isHeadofLine());
+        } END_CASE;
+    } END_CASE;
+            
+    Singleton<Namespace>::restoreContext(context);
+}
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/clause.h	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: clause.h,v 1.4 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/clause.h,v 1.4 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef CLAUSE_H
+#define CLAUSE_H
+
+#include "base/testsuite.h"
+#include "base/parser.h"
+#include "base/singleton.h"
+#include "base/except.h"
+
+#include <map>
+#include <string>
+
+#define INTEGER_CLAUSE_IDENTIFIER   "##INTEGER" //2é£ã®#ã¨è­å¥å­ãä¸æ°ã«åãåºããã¨ã¯ã§ããªãã®ã§ååãéãªããã¨ã¯ãªã
+#define LITERAL_CLAUSE_IDENTIFIER   "##STRING"
+#define OPERATOR_CLAUSE_IDENTIFIER  "##OPERATOR"
+
+    //æ§æä¸ã®ä¸ç¯ãå¦çããã¯ã©ã¹
+class Clause
+{
+public:
+        //ããååç©ºéã«å±ããç¯ã®ããã
+    typedef std::map<std::string, Clause *> map_type;
+
+        //ååç©ºé
+    class Namespace : public std::map<std::string, map_type>
+    { public: SINGLETON_CONSTRUCTOR(Namespace) throw() {} };
+
+protected:
+    static map_type * getClauseMap(std::string ns) throw();
+
+        //ãã¼ã¯ã³ããè­å¥åãçæãã
+    static std::string getClauseIdentifier(Token token) throw();
+
+        //èªèº«ãç»é²ãã
+    void   addClause(std::string ns, std::string identifier) throw();
+
+        //èªåãè¤æ°ã®leading identifierã«å¯¾å¿ä»ãã
+    void   addMultipleClauses(std::string ns, std::string identifier_list) throw();
+
+protected:  /* ã¤ã³ã¿ãã§ã¼ã¹ */
+
+        //ãã¼ãµæ¬ä½
+    virtual void before(const Token & first, Parser & p);
+    virtual void body  (const Token & first, Parser & p) = 0;
+    virtual void after (const Token & first, Parser & p);
+
+        //ãã¼ã¹å¤±ææã®åå¾©å¦ç
+    virtual void onFail(const Token & first, Parser & p) throw();
+
+public:
+    Clause(void) throw() {}
+    virtual ~Clause(void) throw() {}
+
+        //æå¹å¤å®
+    inline bool isValid(void) const throw()
+    {   return (this != 0);   }
+
+        //ç¯ã®è§£æ
+    static bool parseClause(std::string ns, Parser & p);
+
+        //firstã§å§ã¾ãç¯ãããã
+    static bool hasClause(std::string ns, std::string first) throw();
+
+        //[ãã«ãç¨] ç»é²ããã¦ããç¯ã®ä¸è¦§ãä½æãã
+    static std::string makeClauseList(std::string ns, int width = 80) throw();
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+    /*
+     *   éçAPI
+     */
+#define NAMESPACE_STATICAPI "StaticAPI"
+
+class StaticAPI : public Clause
+{
+protected:
+
+    virtual void before(const Token & first, Parser & p);
+    virtual void after (const Token & first, Parser & p);
+
+        //ãã¼ã¹å¤±ææã®åå¾©å¦ç
+    virtual void onFail(const Token & first, Parser & p) throw();
+
+public:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ä½ãããªã)
+    StaticAPI(void) throw() {}      
+        //APIåãæå®ãã¦çæ (registããã¶)
+    StaticAPI(std::string apinamelist) throw()
+    {   addMultipleClauses(NAMESPACE_STATICAPI, apinamelist);   }
+
+    inline void regist(std::string apinamelist) throw()
+    {   addMultipleClauses(NAMESPACE_STATICAPI, apinamelist);   }
+
+        //ç¯ã®è§£æ
+    static bool parseStaticAPI(Parser & p)
+    {   return Clause::parseClause(NAMESPACE_STATICAPI, p);   }
+
+        //firstã§å§ã¾ãç¯ãããã
+    inline static bool hasStaticAPI(std::string first) throw()
+    {   return Clause::hasClause(NAMESPACE_STATICAPI, first);   }
+
+        //[ãã«ãç¨] ç»é²ããã¦ããç¯ã®ä¸è¦§ãä½æãã
+    inline static std::string makeClauseList(int width = 80) throw()
+    {   return Clause::makeClauseList(NAMESPACE_STATICAPI, width);   }
+
+        //ã¹ã­ãã
+    static void skip(Parser & p, bool invalid_api = true) throw();
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+    /*
+     *   ããªãã­ã»ã¹ãã£ã¬ã¯ãã£ã
+     */
+#define NAMESPACE_DIRECTIVES "Directives"
+
+class Directives : public Clause
+{
+protected:
+
+    virtual void after(const Token & first, Parser & p) throw(Exception);
+
+        //ãã¼ã¹å¤±ææã®åå¾©å¦ç
+    virtual void onFail(const Token & first, Parser & p) throw();
+
+public:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ä½ãããªã)
+    Directives(void) throw() {}      
+        //APIåãæå®ãã¦çæ (registããã¶)
+    Directives(std::string apinamelist) throw()
+    {   addMultipleClauses(NAMESPACE_DIRECTIVES, apinamelist);   }
+
+    inline void regist(std::string apinamelist) throw()
+    {   addMultipleClauses(NAMESPACE_DIRECTIVES, apinamelist);   }
+
+        //ç¯ã®è§£æ
+    inline static bool parseDirectives(Parser & p)
+    {   return Clause::parseClause(NAMESPACE_DIRECTIVES, p);   }
+
+        //firstã§å§ã¾ãç¯ãããã
+    inline static bool hasDirectives(std::string first) throw()
+    {   return Clause::hasClause(NAMESPACE_DIRECTIVES, first);   }
+
+        //[ãã«ãç¨] ç»é²ããã¦ããç¯ã®ä¸è¦§ãä½æãã
+    inline static std::string makeClauseList(int width = 80) throw()
+    {   return Clause::makeClauseList(NAMESPACE_DIRECTIVES, width);   }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.cpp	(revision 26)
@@ -0,0 +1,866 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: collection.cpp,v 1.3 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/collection.cpp,v 1.3 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/collection.h"
+
+
+using namespace std;
+
+    //ç¹ã«ä½ãããªãã³ã³ã¹ãã©ã¯ã¿
+Collection::Collection(void) throw()
+{}
+
+    //ãã¹ãã©ã¯ã¿
+Collection::~Collection(void) throw()
+{
+        //å¿µã®ããã«ä¾å¤ã«ãµãããã
+    try { clear(); }
+    catch(...) {}
+}
+
+    //ã¤ã³ã¹ã¿ã³ã¹ãã³ã¬ã¯ã·ã§ã³ã«è¿½å  (é åºã¯ç»é²é )
+bool Collection::addInstance(Collectable * _instance, bool _destruction) throw()
+{
+    bool result = false;
+
+    if(isValid() && _instance != 0) {
+
+            // åãã¤ã³ã¹ã¿ã³ã¹ã2åç»é²ããªãããã«ãã
+        list<Element>::iterator scope;
+
+        scope = container.begin();
+        while(scope != container.end()) {
+            if(scope->instance == _instance)
+                break;
+            ++ scope;
+        }
+
+        if(scope == container.end()) {
+                // æ«å°¾ã«è¦ç´ ãè¿½å 
+            struct Element element;
+            element.instance    = _instance;
+            element.destruction = _destruction;
+            container.push_back(element);
+        }
+        else {
+                // ç ´æ£æç¤ºã¯ææ°ã«ç´ãã¦ãã
+            scope->destruction = _destruction;
+        }
+
+        result = true;
+    }
+
+    return result;
+}
+
+    //æå®ãããCollectableã¤ã³ã¹ã¿ã³ã¹ã«ç¸å½ããå ´æãæãã¤ãã¬ã¼ã¿ã®åå¾ (getInstance)
+list<Collection::Element>::const_iterator Collection::_findInstance(const Collectable * predecessor) const throw()
+{
+    list<Element>::const_iterator result;
+
+    result = container.begin();
+
+        //predecessorãæå®ããã¦ããå ´åã¯æ¢ã
+    if(predecessor != 0) {
+        while(result != container.end()) {
+            if(result->instance == predecessor) {
+                ++ result;   //æ¤ç´¢ã¯predecessorã®æ¬¡ãã
+                break;
+            }
+            ++ result;
+        }
+    }
+
+    return result;
+}
+
+    //ã³ã¬ã¯ã·ã§ã³ããã¤ã³ã¹ã¿ã³ã¹ãåå¾
+Collectable * Collection::getInstance(const type_info & type, const Collectable * predecessor) const throw()
+{
+    Collectable * result;
+
+    result = 0;
+    if(isValid()) {
+
+        list<Element>::const_iterator scope;
+
+            // å
+è¡ããã¤ã³ã¹ã¿ã³ã¹ã®å ´æãæ¢ã
+        scope = _findInstance(predecessor);
+
+            // æå®ãããåãæã¤æ¬¡ã®ã¤ã³ã¹ã¿ã³ã¹ãæ¢ã
+        while(scope != container.end()) {
+            if(typeid(*scope->instance) == type) {
+                result = scope->instance;
+                break;
+            }
+            ++ scope;
+        }
+    }
+
+    return result;
+}
+
+    //ã³ã¬ã¯ã·ã§ã³ããã¤ã³ã¹ã¿ã³ã¹ãé¤å¤ (ç ´æ£ã¯ããªã)
+bool Collection::removeInstance(const Collectable * instance) throw()
+{
+    bool result = false;
+
+    if(isValid() && instance != 0) {
+        list<Element>::iterator scope;
+
+        scope = container.begin();
+        while(scope != container.end()) {
+            if(scope->instance == instance) {
+                    //è¦ç´ ã®åé¤
+                container.erase(scope);
+                result = true;
+                break;
+            }
+            ++ scope;
+        }
+    }
+
+    return result;
+}
+
+    //å
+¨è¦ç´ ã®ç ´æ£
+void Collection::clear(void)
+{
+    if(isValid()) {
+        list<Element>::iterator scope;
+        list<Element>::iterator next;
+
+            //ç ´æ£ãã©ã°ãã¤ãã¦ããã¤ã³ã¹ã¿ã³ã¹ãç ´æ£
+        scope = container.begin();
+        while(scope != container.end()) {
+
+            next = scope;       //ROTç³»ã¯deleteããã¨èªåãæ¶ãã«ãããã®ã§ãã¤ãã¬ã¼ã¿ãä¿å­ããããã«å
+ã«æ¬¡ãåå¾ãã¦ãã
+            ++ next;
+
+            if(scope->destruction)
+                delete scope->instance;
+
+            scope = next;
+        }
+
+        container.clear();
+    }
+}
+
+/************************************************* ãã¹ãã¹ã£ã¼ã *************************************************/
+
+#ifdef TESTSUITE
+#include "coverage_undefs.h"
+
+class TestCollectable : public Collectable
+{};
+
+class TestCollectable2 : public Collectable
+{   public: ~TestCollectable2(void) throw() { TestSuite::check("TestCollectable2::~TestCollectable2"); }   };
+
+#ifdef _MSC_VER
+class TestCollectable3 : public Collectable
+{   public: ~TestCollectable3(void) throw(int) { throw 0; }   };
+#endif
+
+class TestCollectable4 : public TestCollectable2
+{   public: ~TestCollectable4(void) throw() { TestSuite::check("TestCollectable4::~TestCollectable4"); }   };
+
+TESTSUITE(main, Collection)
+{
+    BEGIN_CASE("addInstance","addInstance") {
+        BEGIN_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ã¯æ­£ããç»é²ã§ãã") {
+            Collection col;
+            TestCollectable test;
+            TestCollectable2 test2;
+
+            BEGIN_CASE("1","ç»é²ã§ãTRUEãè¿ã (1åç®)") {
+                if(!col.addInstance(&test,  false))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ç»é²ã§ãtrueãè¿ã (2åç®)") {
+                if(!col.addInstance(&test2, false))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3","åæ°ãåã£ã¦ã") {
+                if(col.container.size() != 2)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("4","é çªããã£ã¦ã") {
+            list<Element>::iterator scope;
+                scope = col.container.begin();
+                if(scope->instance != &test || scope->destruction != false)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->instance != &test2 || scope->destruction != false)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope != col.container.end())
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2","NULLã¤ã³ã¹ã¿ã³ã¹ã¯ç»é²ãããªã") {
+            Collection col;
+
+            BEGIN_CASE("1","NULLã¤ã³ã¹ã¿ã³ã¹ãæ¸¡ãã¨falseãè¿ã") {
+                if(col.addInstance(0))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ä½ãç»é²ããã¦ããªã") {
+                if(col.container.size() != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("3","ç¡å¹ãªã¤ã³ã¹ã¿ã³ã¹ã«å¯¾ããæä½ã§falseãè¿ã") {
+            Collection col;
+
+            if(col.addInstance(0))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","åä¸ã®ã¤ã³ã¹ã¿ã³ã¹ã2åç»é²ãã¦ã1åã ãããç»é²ãããªã") {
+            Collection col;
+            TestCollectable test;
+
+            TEST_CASE("0","[åæ] ä¸åç®ã¯æ­£ããæåãã", col.addInstance(&test, false));
+
+            TEST_CASE("1","é¢æ°ã¯æ­£ããçµäºãã", col.addInstance(&test, false));
+            TEST_CASE("2","ã¤ã³ã¹ã¿ã³ã¹æ°ã¯å¢ãã¦ããªã", col.container.size() == 1);
+
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("getInstance(type_info)","getInstance(type_info)") {
+        Collection col;
+        TestCollectable test;
+        TestCollectable test_2;
+        TestCollectable test_3;
+        TestCollectable2 test2;
+        TestCollectable2 test2_2;
+        TestCollectable2 test2_3;
+
+        col.addInstance(test);
+        col.addInstance(test2);
+        col.addInstance(test_2);
+        col.addInstance(test2_2);
+        col.addInstance(test_3);
+        col.addInstance(test2_3);
+
+        Collectable * instance = 0;
+
+        BEGIN_CASE("1","æåã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable));
+            if(instance != &test)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable), instance);
+            if(instance != &test_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ããã«æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable), instance);
+            if(instance != &test_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãã®ã¾ãæ¬¡ã®è¦ç´ ãåå¾ãããNULLãè¿ã") {
+            instance = col.getInstance(typeid(TestCollectable), instance);
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","æåã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable2));
+            if(instance != &test2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6","æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable2), instance);
+            if(instance != &test2_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7","ããã«æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance(typeid(TestCollectable2), instance);
+            if(instance != &test2_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("8","ãã®ã¾ãæ¬¡ã®è¦ç´ ãåå¾ãããNULLãè¿ã") {
+            instance = col.getInstance(typeid(TestCollectable), instance);
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("9","åºåºã¯ã©ã¹ã§ã¯ã²ã£ããããªã") {
+            instance = col.getInstance(typeid(Collectable));
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        TEST_CASE("10","NULLã«å¯¾ãã¦å®è¡ããã¨NULLãè¿ã", ((Collection *)0)->getInstance(typeid(Collectable)) == 0);
+    } END_CASE;
+
+    BEGIN_CASE("getInstance<T>()","getInstance<T>()") {
+        Collection col;
+        TestCollectable test;
+        TestCollectable test_2;
+        TestCollectable test_3;
+        TestCollectable2 test2;
+        TestCollectable2 test2_2;
+        TestCollectable2 test2_3;
+
+        col.addInstance(test);
+        col.addInstance(test2);
+        col.addInstance(test_2);
+        col.addInstance(test2_2);
+        col.addInstance(test_3);
+        col.addInstance(test2_3);
+
+        Collectable * instance = 0;
+
+        BEGIN_CASE("1","æåã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable>();
+            if(instance != &test)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable>(instance);
+            if(instance != &test_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ããã«æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable>(instance);
+            if(instance != &test_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãã®ã¾ãæ¬¡ã®è¦ç´ ãåå¾ãããNULLãè¿ã") {
+            instance = col.getInstance<TestCollectable>(instance);
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","æåã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable2>();
+            if(instance != &test2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6","æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable2>(instance);
+            if(instance != &test2_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7","ããã«æ¬¡ã®è¦ç´ ãåå¾ã§ãã") {
+            instance = col.getInstance<TestCollectable2>(instance);
+            if(instance != &test2_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("8","ãã®ã¾ãæ¬¡ã®è¦ç´ ãåå¾ãããNULLãè¿ã") {
+            instance = col.getInstance<TestCollectable2>(instance);
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("9","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®1") {
+            instance = col.getInstance<Collectable>();
+            if(instance != &test)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("10","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®2") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != &test2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("11","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®3") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != &test_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("12","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®4") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != &test2_2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("13","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®5") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != &test_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("14","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®6") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != &test2_3)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("15","åºåºã¯ã©ã¹ã§å¼ã£æãã ãã®7") {
+            instance = col.getInstance<Collectable>(instance);
+            if(instance != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        TEST_CASE("16","NULLã«å¯¾ãã¦å®è¡ããã¨NULLãè¿ã", ((Collection *)0)->getInstance<Collectable>() == 0);
+
+    } END_CASE;
+
+    BEGIN_CASE("removeInstance","removeInstance") {
+
+        BEGIN_CASE("1","æ­£å¸¸ã«åé¤ã§ãã") {
+            Collection col;
+            TestCollectable test;
+            TestCollectable test2;
+
+            col.addInstance(test);
+            col.addInstance(test2);
+
+            BEGIN_CASE("1","å­å¨ããè¦ç´ ãremoveãããtrue") {
+                if(!col.removeInstance(&test))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ã¡ããã¨æ¶ãã¦ãã") {
+                if(col.container.size() != 1 || col.container.begin()->instance != &test2)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2","NULLã¤ã³ã¹ã¿ã³ã¹ã«å®è¡ããã¨false") {
+            if(((Collection *)0)->removeInstance(0))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ç»é²ãã¦ããªãã¤ã³ã¹ã¿ã³ã¹ãæå®ããã¨å¤±æãã") {
+            Collection col;
+            TestCollectable test;
+            TestCollectable test2;
+
+            col.addInstance(test);
+
+            if(col.removeInstance(&test2))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","NULLã¤ã³ã¹ã¿ã³ã¹ãæ¸¡ãã¨å¤±æãã") {
+            Collection col;
+            TestCollectable test;
+            col.addInstance(test);
+
+            if(col.removeInstance(0))
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("clear","clear") {
+        BEGIN_CASE("1","å®ä½ãç»é²ãã¦clear") {
+            Collection col;
+            TestCollectable2 test2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test2);
+            col.clear();
+
+            BEGIN_CASE("1","è¦ç´ ããªããªã£ã¦ãã") {
+                if(col.container.size() != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            TEST_CASE("2","test2ã¯ç ´æ£ãããªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¤ã³ã¿ãç»é²ãã¦clear") {
+            Collection col;
+            TestCollectable2 * test2 = new TestCollectable2;
+            
+            TestSuite::clearCheckpoints();
+            col.addInstance(test2);
+            col.clear();
+
+            BEGIN_CASE("1","è¦ç´ ããªããªã£ã¦ãã") {
+                if(col.container.size() != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            TEST_CASE("2","test2ã¯ç ´æ£ããã", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+        BEGIN_CASE("3","NULLãªãã¸ã§ã¯ãã«å¯¾ãã¦å®è¡ãã¦ãæ´èµ°ããªã") {
+            ((Collection *)0)->clear();
+        } END_CASE;
+
+#ifdef _MSC_VER
+        BEGIN_CASE("4","ä¾å¤ãåºããããªãã¹ãã©ã¯ã¿ããã¤ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£ããã¨ä¾å¤ãæ¼ãã") {
+            Collection col;
+            bool result = false;
+            TestCollectable3 * test = new TestCollectable3;
+
+            col.addInstance(test);
+            try {
+                col.clear();
+            }
+            catch(...) {
+                result = true;
+            }
+
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+#endif
+    } END_CASE;
+
+    BEGIN_CASE("destructor","destructor") {
+        BEGIN_CASE("1","å®ä½ãç»é²ãã¦ç ´æ£") {
+            Collection * col = new Collection;
+            TestCollectable2 test2;
+
+            TestSuite::clearCheckpoints();
+            col->addInstance(test2);
+            delete col;
+
+            TEST_CASE("1","test2ã¯ç ´æ£ãããªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¤ã³ã¿ãç»é²ãã¦clear") {
+            Collection * col = new Collection;
+            TestCollectable2 * test2 = new TestCollectable2;
+
+            TestSuite::clearCheckpoints();
+            col->addInstance(test2);
+            delete col;
+
+            TEST_CASE("1","test2ã¯ç ´æ£ããã", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+#ifdef _MSC_VER
+        BEGIN_CASE("3","ä¾å¤ãåºããããªãã¹ãã©ã¯ã¿ãæã¤ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£ãã¦ãä¾å¤ãæ¼ããªã") {
+            Collection * col = new Collection;
+            TestCollectable3 * test2 = new TestCollectable3;
+            bool result = true;
+            
+            TestSuite::clearCheckpoints();
+            col->addInstance(test2);
+
+            try {
+                delete col;
+            }
+            catch(...) {
+                result = false;
+            }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+#endif
+    } END_CASE;
+
+    BEGIN_CASE("deleteInstance","deleteInstance") {
+        BEGIN_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãåé¤ã§ãã") {
+            Collection col;
+            TestCollectable2 * test = new TestCollectable2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance<TestCollectable2>() != 0);
+
+            col.deleteInstance<TestCollectable2>();
+            TEST_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãæ¶ãã¦ãã", col.getInstance<TestCollectable2>() == 0);
+            TEST_CASE("2","ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        }END_CASE;
+
+        BEGIN_CASE("2","é¢ä¿ãªãã¯ã©ã¹ãæå®ãããåé¤ãããªã") {
+            Collection col;
+            TestCollectable2 * test = new TestCollectable2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance<TestCollectable2>() != 0);
+
+            col.deleteInstance<TestCollectable>();
+            TEST_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãæ¶ãã¦ããªã", col.getInstance<TestCollectable2>() != 0);
+            TEST_CASE("2","ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ããªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+            delete test;
+        }END_CASE;
+
+        BEGIN_CASE("3","åãã¯ã©ã¹ã ãã§ãªãæ´¾çå
+ãæ¶ãã") {
+            Collection col;
+            TestCollectable2 * test = new TestCollectable2;
+            TestCollectable4 * test2 = new TestCollectable4;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+            col.addInstance(test2);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable2)) != 0);
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable4)) != 0);
+
+            col.deleteInstance<TestCollectable2>();
+            TEST_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ããã¹ã¦æ¶ãã¦ãã", col.getInstance<TestCollectable2>() == 0);
+            TEST_CASE("2","TestCollectable2ã®ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+            TEST_CASE("3","TestCollectable4ã®ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã", TestSuite::isReached("TestCollectable4::~TestCollectable4"));
+        }END_CASE;
+
+        BEGIN_CASE("4","å®ä½ã¯ç ´æ£å¯¾è±¡ã«ãªããªã") {
+            Collection col;
+            TestCollectable2 test;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance<TestCollectable2>() != 0);
+
+            col.deleteInstance<TestCollectable2>();
+            TEST_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãæ¶ãã¦ãã", col.getInstance<TestCollectable2>() == 0);
+            TEST_CASE("2","ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ããªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        }END_CASE;
+
+        BEGIN_CASE("5","NULLãªãã¸ã§ã¯ãã«å¯¾ãã¦çºè¡ãã¦ãæ´èµ°ããªã") {
+            ((Collection *)0)->deleteInstance<TestCollectable>();
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("replaceInstance","replaceInstance") {
+        BEGIN_CASE("1","ç»é²æ¸ã¿ã®ã¤ã³ã¹ã¿ã³ã¹ãå
+¥ãæ¿ãã") {
+            Collection col;
+            TestCollectable2 test;
+            TestCollectable2 test2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable2)) != 0);
+            
+            TEST_CASE("1", "é¢æ°ã¯æåãã", col.replaceInstance<TestCollectable2>(test2));
+            TEST_CASE("2", "ã¤ã³ã¹ã¿ã³ã¹ã¯å
+¥ãæ¿ãã£ã¦ãã", col.getInstance(typeid(TestCollectable2)) == &test2);
+            TEST_CASE("3", "test2ä»¥å¤ã«ã¤ã³ã¹ã¿ã³ã¹ã¯ãªã", col.getInstance(typeid(TestCollectable2), &test2) == 0);
+            TEST_CASE("4", "ãã¹ãã©ã¯ã¿ã¯å®è¡ããã¦ãªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+        BEGIN_CASE("2","ç»é²æ¸ã¿ã®ã¤ã³ã¹ã¿ã³ã¹ãæ´¾çã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§å
+¥ãæ¿ãã") {
+            Collection col;
+            TestCollectable2 test;
+            TestCollectable4 test2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable2)) != 0);
+            
+            TEST_CASE("1", "é¢æ°ã¯æåãã", col.replaceInstance<TestCollectable2>(test2));
+            TEST_CASE("2", "ã¤ã³ã¹ã¿ã³ã¹ã¯å
+¥ãæ¿ãã£ã¦ãã", col.getInstance<TestCollectable2>() == &test2);
+            TEST_CASE("3", "test2ä»¥å¤ã«ã¤ã³ã¹ã¿ã³ã¹ã¯ãªã", col.getInstance(typeid(TestCollectable2)) == 0);
+            TEST_CASE("4", "ãã¹ãã©ã¯ã¿ã¯å®è¡ããã¦ãªã", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+        BEGIN_CASE("3","ç¡é¢ä¿ãªã¯ã©ã¹ãæå®ãã¦å
+¥ãæ¿ãã") {
+            Collection col;
+            TestCollectable2 test;
+            TestCollectable4 test2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable2)) != 0);
+            
+            TEST_CASE("1", "é¢æ°ã¯å¤±æãã", !col.replaceInstance<TestCollectable>(test2));
+            TEST_CASE("2", "ã¤ã³ã¹ã¿ã³ã¹ã¯æ®ã£ã¦ãã", col.getInstance<TestCollectable2>() == &test);
+        } END_CASE;
+
+        BEGIN_CASE("4","ç»é²æ¸ã¿ã®ã¤ã³ã¹ã¿ã³ã¹ãå
+¥ãæ¿ãã (åçç¢ºä¿)") {
+            Collection col;
+            TestCollectable2 * test = new TestCollectable2;
+            TestCollectable2 test2;
+
+            TestSuite::clearCheckpoints();
+            col.addInstance(test);
+
+            TEST_CASE("0","[åæ] ã¡ããã¨ç»é²ããã¦ãã", col.getInstance(typeid(TestCollectable2)) != 0);
+            
+            TEST_CASE("1", "é¢æ°ã¯æåãã", col.replaceInstance<TestCollectable2>(test2));
+            TEST_CASE("2", "ã¤ã³ã¹ã¿ã³ã¹ã¯å
+¥ãæ¿ãã£ã¦ãã", col.getInstance(typeid(TestCollectable2)) == &test2);
+            TEST_CASE("3", "test2ä»¥å¤ã«ã¤ã³ã¹ã¿ã³ã¹ã¯ãªã", col.getInstance(typeid(TestCollectable2), &test2) == 0);
+            TEST_CASE("4", "ãã¹ãã©ã¯ã¿ã¯å®è¡ããã¦ã", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
+        } END_CASE;
+
+    } END_CASE;
+}
+
+
+class TestRuntimeObject : public RuntimeObject
+{
+public:
+    TestRuntimeObject(void) { CHECKPOINT("TestRuntimeObject::TestRuntimeObject"); }
+    ~TestRuntimeObject(void) { CHECKPOINT("TestRuntimeObject::~TestRuntimeObject"); }
+};
+
+class TestRuntimeObject2 : public RuntimeObject
+{
+public:
+    TestRuntimeObject2(void) : RuntimeObject(true) { CHECKPOINT("TestRuntimeObject2::TestRuntimeObject2"); }
+    ~TestRuntimeObject2(void) { CHECKPOINT("TestRuntimeObject2::~TestRuntimeObject2"); }
+};
+
+TESTSUITE(main, RuntimeObjectTable)
+{
+    Singleton<RuntimeObjectTable>::Context context;
+    Singleton<RuntimeObjectTable>::saveContext(context);
+
+    BEGIN_CASE("getInstance","getInstance") {
+        BEGIN_CASE("1","getInstanceã¯æ­£ããæ©è½ãã") {
+            Singleton<RuntimeObjectTable>::renewInstance();
+            TestCollectable test;
+
+            Singleton<RuntimeObjectTable>::getInstance()->addInstance(test);
+
+            BEGIN_CASE("1","getInstance(typeid)") {
+                if(RuntimeObjectTable::getInstance(typeid(TestCollectable)) != &test)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","getInstance<T>()") {
+                if(RuntimeObjectTable::getInstance<TestCollectable>() != &test)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("RuntimeObject","RuntimeObject") {
+        BEGIN_CASE("1","çæããã¨ç»é²ãããç ´æ£ã§æ¶æ»
+ãã") {
+            TestRuntimeObject * ro;
+
+            TestSuite::clearCheckpoints();
+
+            TEST_CASE("0","[åæ] ç»é²ããã¦ããªã", RuntimeObjectTable::getInstance<TestRuntimeObject>() == 0);
+
+            ro = new TestRuntimeObject;
+
+            TEST_CASE("1","ã³ã³ã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã", TestSuite::isReached("TestRuntimeObject::TestRuntimeObject"));
+            TEST_CASE("2","ç»é²ããã¦ãã", RuntimeObjectTable::getInstance<TestRuntimeObject>() == ro);
+
+            delete ro;
+
+            TEST_CASE("3","ãã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã", TestSuite::isReached("TestRuntimeObject::~TestRuntimeObject"));
+            TEST_CASE("4","ç»é²ãè§£é¤ããã¦ãã", RuntimeObjectTable::getInstance<TestRuntimeObject>() == 0);
+
+        } END_CASE;
+
+        BEGIN_CASE("2","èªåç ´æ£ã®ãã§ãã¯") {
+            TestRuntimeObject * ro;
+            TestRuntimeObject2 * ro2;
+
+            TestSuite::clearCheckpoints();
+
+            TEST_CASE("0","[åæ] ç»é²ããã¦ããªã", RuntimeObjectTable::getInstance<TestRuntimeObject>() == 0);
+            TEST_CASE("0","[åæ] ç»é²ããã¦ããªã", RuntimeObjectTable::getInstance<TestRuntimeObject2>() == 0);
+
+            ro = new TestRuntimeObject;
+            ro2 = new TestRuntimeObject2;
+
+            TEST_CASE("1","ã³ã³ã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã(ro)", TestSuite::isReached("TestRuntimeObject::TestRuntimeObject"));
+            TEST_CASE("2","ã³ã³ã¹ãã©ã¯ã¿ãå®è¡ããã¦ãã(ro2)", TestSuite::isReached("TestRuntimeObject2::TestRuntimeObject2"));
+            TEST_CASE("3","ç»é²ããã¦ãã(ro)", RuntimeObjectTable::getInstance<TestRuntimeObject>() == ro);
+            TEST_CASE("4","ç»é²ããã¦ãã(ro2)", RuntimeObjectTable::getInstance<TestRuntimeObject2>() == ro2);
+
+            Singleton<RuntimeObjectTable>::getInstance()->clear();
+
+            TEST_CASE("5","ãã¹ãã©ã¯ã¿ã¯å®è¡ããã¦ããªã (ro)", !TestSuite::isReached("TestRuntimeObject::~TestRuntimeObject"));
+            TEST_CASE("6","ãã¹ãã©ã¯ã¿ã¯å®è¡ããã¦ãã (ro2)", TestSuite::isReached("TestRuntimeObject2::~TestRuntimeObject2"));
+            TEST_CASE("7","ç»é²ãè§£é¤ããã¦ãã", RuntimeObjectTable::getInstance<TestRuntimeObject>() == 0);
+            TEST_CASE("8","ç»é²ãè§£é¤ããã¦ãã", RuntimeObjectTable::getInstance<TestRuntimeObject2>() == 0);
+
+            delete ro;
+        } END_CASE;
+
+    } END_CASE;
+
+    Singleton<RuntimeObjectTable>::restoreContext(context);
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/collection.h	(revision 26)
@@ -0,0 +1,283 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: collection.h,v 1.6 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/collection.h,v 1.6 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef COLLECTION_H
+#define COLLECTION_H
+
+#include "base/testsuite.h"
+#include "base/singleton.h"
+
+#include <typeinfo>
+#include <list>
+
+    //Collectionã«ç»é²ããããªãã¸ã§ã¯ãã®ã¯ã©ã¹ã®åºåºã¯ã©ã¹
+class Collectable
+{
+public:
+             Collectable(void) throw() {}   //ç¹ã«ä½ãããªã
+    virtual ~Collectable(void) throw() {}   //ç¹ã«ä½ãããªã
+};
+
+
+
+    //ããåã®ã¤ã³ã¹ã¿ã³ã¹ãç»é²ãã¦ä¿æããããã®ã¯ã©ã¹
+class Collection
+{
+public:
+    struct Element
+    {
+        Collectable * instance;
+        bool          destruction;
+    };
+
+protected:
+    std::list<Element> container;
+
+        //predecessorã®æ¬¡ãæãã¤ãã¬ã¼ã¿ãå¾ã (getInstance)
+    std::list<Element>::const_iterator _findInstance(const Collectable * predecesor) const throw();
+
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿ & ãã¹ãã©ã¯ã¿
+             Collection(void)  throw();
+    virtual ~Collection(void) throw();
+
+        //æå¹å¤å®
+    inline bool isValid(void) const throw()
+    {   return this != 0;   }
+
+        //ã³ã¬ã¯ã·ã§ã³ã¸ã®è¿½å  (ãã¤ã³ã¿ç¨)
+    bool addInstance(Collectable * instance, bool destruction = true)  throw();
+    
+        //ã³ã¬ã¯ã·ã§ã³ã¸ã®è¿½å  (å®ä½ç¨)
+    inline bool addInstance(Collectable & instance, bool destruction = false) throw()
+    {   return addInstance(&instance, destruction);   }
+
+        //ã³ã¬ã¯ã·ã§ã³ããã®åå¾ (å®å
+¨ä¸è´)
+    Collectable * getInstance(const std::type_info & type, const Collectable * predecessor = 0) const throw();
+
+        //ã³ã¬ã¯ã·ã§ã³ããã®åå¾ (æ´¾çãããã®ããµã¼ã)
+    template<class T> T * getInstance(const Collectable * predecessor = 0) const throw()
+    {
+        T * result = 0;
+
+        if(isValid()) {
+            std::list<Element>::const_iterator iterator = _findInstance(predecessor);
+
+            while(iterator != container.end()) {
+                result = dynamic_cast<T *>(iterator->instance);
+                if(result != 0)
+                    break;
+                ++ iterator;
+            }
+        }
+        return result;
+    }
+
+        //ã³ã¬ã¯ã·ã§ã³ããæ´¾çå
+ãå«ãå
+¨ã¦ã®ã¯ã©ã¹ã¤ã³ã¹ã¿ã³ã¹ãåé¤ (ç ´æ£å¯¾è±¡ã®å ´åã¯ç ´æ£ãè¡ã)
+    template<class T> void deleteInstance(void) throw()
+    {
+        if(isValid()) {
+            std::list<Element>::iterator iterator;
+
+            iterator = container.begin();
+            while(iterator != container.end()) {
+                if(dynamic_cast<T *>(iterator->instance) != 0) {
+
+                        //åé¤å¯¾è±¡ãªãã¤ã³ã¹ã¿ã³ã¹ãåé¤
+                    if(iterator->destruction)
+                        delete iterator->instance;
+
+                        //ãªã¹ãããé¤å¤
+                    std::list<Element>::iterator target = iterator;
+                    ++ iterator;
+                    container.erase(target);
+                }
+                else
+                    ++ iterator;
+            }
+        }
+    }
+
+        //é¢é£ä»ããããã¤ã³ã¹ã¿ã³ã¹ãå
+¥ãæ¿ãã
+    template<class T> inline bool replaceInstance(Collectable * instance, bool destruction = true) throw()
+    {
+            //èªåã¨ç¡é¢ä¿ãªã¯ã©ã¹ã¯ã¤ã³ããã¯ã¹ã¨ãã¦æå®ã§ããªã
+        if(dynamic_cast<T *>(instance) == 0)
+            return false;
+
+        deleteInstance<T>();
+        return addInstance(instance, destruction);
+    }
+
+        //é¢é£ä»ããããã¤ã³ã¹ã¿ã³ã¹ãå
+¥ãæ¿ãã
+    template<class T> inline bool replaceInstance(Collectable & instance, bool destruction = false) throw()
+    {
+            //èªåã¨ç¡é¢ä¿ãªã¯ã©ã¹ã¯ã¤ã³ããã¯ã¹ã¨ãã¦æå®ã§ããªã
+        if(dynamic_cast<T *>(&instance) == 0)
+            return false;
+
+        deleteInstance<T>();
+        return addInstance(&instance, destruction);
+    }
+
+
+        //ã³ã¬ã¯ã·ã§ã³ããã¤ã³ã¹ã¿ã³ã¹ãé¤å¤ (ç ´æ£ã¯ããªã)
+    bool removeInstance(const Collectable * instance) throw();
+
+        //å
+¨è¦ç´ ã®ç ´æ£
+    void clear(void);
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+    //å®è¡æãªãã¸ã§ã¯ãåç
+§ãã¼ãã«
+class RuntimeObjectTable : protected Collection
+{
+friend class RuntimeObject;
+public:
+    SINGLETON_CONSTRUCTOR(RuntimeObjectTable) throw() {}
+
+    static Collectable * getInstance(const std::type_info & type, const Collectable * predecessor = 0) throw()
+    {
+        RuntimeObjectTable * table = Singleton<RuntimeObjectTable>::getInstance(std::nothrow);
+        Collectable * result = 0;
+
+        if(table != 0)
+            result = table->Collection::getInstance(type, predecessor);
+        return result;
+    }
+
+        //ã³ã¬ã¯ã·ã§ã³ããã®åå¾ (æ´¾çãããã®ããµã¼ã)
+    template<class T> static T * getInstance(const Collectable * predecessor = 0) throw()
+    {
+        RuntimeObjectTable * table = Singleton<RuntimeObjectTable>::getInstance();
+        T * result = 0;
+
+        if(table != 0) {
+            std::list<Element>::const_iterator iterator = table->_findInstance(predecessor);
+
+            while(iterator != table->container.end()) {
+                result = dynamic_cast<T *>(iterator->instance);
+                if(result != 0)
+                    break;
+                ++ iterator;
+            }
+        }
+        return result;
+    }
+
+        /* Visual C++ 6.0 Fatal error C1001å¯¾ç­ */
+    template<class T> static T * getInstance(T ** dest, const Collectable * predecessor = 0) throw()
+    {
+        RuntimeObjectTable * table = Singleton<RuntimeObjectTable>::getInstance();
+        T * result = 0;
+
+        if(table != 0) {
+            std::list<Element>::const_iterator iterator = table->_findInstance(predecessor);
+
+            while(iterator != table->container.end()) {
+                result = dynamic_cast<T *>(iterator->instance);
+                if(result != 0)
+                    break;
+                ++ iterator;
+            }
+        }
+        if(dest != 0)
+            *dest = result;
+
+        return result;
+    }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+    //å®è¡æãªãã¸ã§ã¯ã
+class RuntimeObject : public Collectable
+{
+public:
+    RuntimeObject(bool destruction = false) throw()
+    {
+        RuntimeObjectTable * table = Singleton<RuntimeObjectTable>::getInstance();
+        if(table != 0)
+            table->addInstance(this, destruction);
+    }
+
+    virtual ~RuntimeObject(void) throw()
+    {
+        RuntimeObjectTable * table = Singleton<RuntimeObjectTable>::getInstance();
+        if(table != 0)
+            table->removeInstance(this);
+    }
+};
+
+    /* åª fatal error C1001: INTERNAL COMPILER ERROR (msc1.cpp:1794) */
+#if _MSC_VER < 1300 
+#  define getRuntimeObjectInstance(x) (dynamic_cast<x *>(RuntimeObjectTable::getInstance(typeid(x))))       //æ­£ç¢ºã«ã¯ééã§ã¯ãªãããããã§éãããããªã
+#else
+#  define getRuntimeObjectInstance(x) (RuntimeObjectTable::getInstance<x>())
+#endif
+
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.cpp	(revision 26)
@@ -0,0 +1,1615 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: component.cpp,v 1.13 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/component.cpp,v 1.13 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/component.h"
+
+#include <iostream>
+
+using namespace std;
+
+    //ã³ã³ãã¼ãã³ãå
+¨ä½ãä½¿ç¨ã§ãããªãtrue
+bool Component::is_valid = true;
+
+    //ã³ã³ãã¼ãã³ãã®ç»é²
+bool Component::ComponentInfo::addComponent(Component * component, int order) throw()
+{
+    bool result = false;
+
+    if(this != 0 && component != 0) {
+        componentList.insert(multimap<int, Component *>::value_type(order, component));
+        result = true;
+    }
+
+    return result;
+}
+
+    //ã³ã³ãã¼ãã³ãã®ç»é²è§£é¤
+void Component::ComponentInfo::removeComponent(Component * component, int order) throw()
+{
+    if(this != 0 && component != 0) {
+        multimap<int, Component *>::iterator scope;
+
+        scope = componentList.lower_bound(order);
+        while(scope != componentList.end()) {
+                //ããæå®ãããåªå
+åº¦ã¯ãã¹ã¦è¦ã
+            if(scope->first != order)
+                break;
+        
+                //æå®ãããã³ã³ãã¼ãã³ãã«ä¸è´ãããåé¤
+            if(scope->second == component) {
+                multimap<int, Component *>::iterator target = scope;
+                ++ scope;
+                componentList.erase(target);
+            }
+            else
+                ++ scope;
+        }
+    }
+}
+
+    //ã³ã³ãã¼ãã³ãã®ç»é²è§£é¤
+void Component::ComponentInfo::removeComponent(Component * component) throw()
+{
+    if(this != 0 && component != 0) {
+        multimap<int, Component *>::iterator scope;
+
+            //æå®ãããã³ã³ãã¼ãã³ãã«ä¸è´ãããã®ãå
+¨ã¦åé¤
+        scope = componentList.begin();
+        while(scope != componentList.end()) {
+            if(scope->second == component) {
+                multimap<int, Component *>::iterator target = scope;
+                ++ scope;
+                componentList.erase(target);
+            }
+            else
+                ++ scope;
+        }
+
+    }
+}
+
+    //ã³ã³ãã¼ãã³ãã®èµ·åè¦æ±ã®çºè¡
+bool Component::ComponentInfo::activateComponent(Component * component) throw()
+{
+    bool result = false;
+
+    if(this != 0 && component != 0) {
+            //èµ·åè¦æ±ã®æ«å°¾ã«å ãã
+        activatedComponentList.push_back(component);
+        result = true;
+    }
+
+    return result;
+}
+
+    //ãªãã·ã§ã³ã®ãã¼ã¹
+void Component::ComponentInfo::parseOption(OptionParameter & option)
+{
+    if(this != 0) {
+        multimap<int, Component *>::iterator scope;
+
+            //å
+¨ã¦ã®ã³ã³ãã¼ãã³ãã®parseOptionãå®è¡
+        scope = componentList.begin();
+        while(scope != componentList.end()) {
+            DebugMessage("Component::parseOption start  - %\n") << typeid(*scope->second).name();
+            scope->second->parseOption(option);
+            DebugMessage("Component::parseOption finish - %\n") << typeid(*scope->second).name();
+            ++ scope;
+        }
+    }
+}
+
+    //ã³ã³ãã¼ãã³ãã®èµ·å
+void Component::ComponentInfo::activateComponent(void)
+{
+    if(this != 0) {
+        list<Component *>::iterator scope;
+
+        try {
+                //èµ·åè¦æ±ã®ãã£ãå
+¨ã¦ã®ã³ã³ãã¼ãã³ããèµ·å
+            scope = activatedComponentList.begin();
+            while(scope != activatedComponentList.end()) {
+                DebugMessage("Component::body start  - %\n") << typeid(**scope).name();
+                (*scope)->body();
+                DebugMessage("Component::body finish - %\n") << typeid(**scope).name();
+                ++ scope;
+            }
+                //è¦æ±ãªã¹ããã¯ãªã¢
+            activatedComponentList.clear();
+        }
+        catch(...) {
+                //onFatalExitç¨ã«ãactivatedComponentListãèµ·åããããã³ã³ãã¼ãã³ãã ãã«çµã
+            ++ scope;
+            if(scope != activatedComponentList.end())
+                activatedComponentList.erase(scope, activatedComponentList.end());
+        
+            throw;
+        }
+    }
+}
+
+    //ç°å¸¸å¦çãã³ãã©ã®èµ·å
+void Component::ComponentInfo::onFatalExit(void)
+{
+    if(this != 0) {
+        Component * handler;
+
+            //èµ·åè¦æ±ã®ãã£ãå
+¨ã¦ã®ã³ã³ãã¼ãã³ããèµ·å
+        while(!activatedComponentList.empty()) {
+            handler = *activatedComponentList.begin();
+            activatedComponentList.pop_front();
+
+                //ãã³ãã©ãèµ·å
+            DebugMessage("Component::onFatalExit start  - %\n") << typeid(*handler).name();
+            handler->onFatalExit();
+            DebugMessage("Component::onFatalExit fihish - %\n") << typeid(*handler).name();
+        }
+            //è¦æ±ãªã¹ããã¯ãªã¢
+        activatedComponentList.clear();
+    }
+}
+
+
+/*
+ *   Component : ã³ã³ãã¼ãã³ã
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+Component::Component(int order) throw() : RuntimeObject()
+{
+        //ããã§åãã¦ã·ã³ã°ã«ãã³ã¤ã³ã¹ã¿ã³ã¹ã«ã¢ã¯ã»ã¹ããã®ã§ãbad_allocãçºçããå¯è½æ§ããã
+    try {
+        Singleton<ComponentInfo>::getInstance()->addComponent(this, order);
+    }
+    catch(bad_alloc) {
+        is_valid = false;
+    }
+}
+
+    //ãã¹ãã©ã¯ã¿
+Component::~Component(void) throw()
+{   Singleton<ComponentInfo>::getInstance()->removeComponent(this);   }
+
+    //ã³ã³ãã¼ãã³ãã®å®è¡
+void Component::executeComponents(int argc, char * argv [])
+{
+    OptionParameter & option = getOptionParameter();
+
+    option.parseOption(argc, argv);
+    executeComponents(option);
+}
+
+    //ã³ã³ãã¼ãã³ãã®å®è¡
+void Component::executeComponents(OptionParameter & option)
+{
+    if(isValid()) {
+
+        _parseCommonOption(option);
+
+        try {
+                //ãªãã·ã§ã³ã®ãã¼ã¹
+            Singleton<ComponentInfo>::getInstance()->parseOption(option);
+
+                //å
+¨ã¦ã®ãªãã·ã§ã³ãä½¿ç¨æ¸ã¿ã§ãªããã°ã¨ã©ã¼
+            if(!option.validateOption()) {
+                CHECKPOINT("Exception_UnknownOption");
+                ExceptionMessage("Unknown option [%] found.","ä¸æãªãªãã·ã§ã³ãæå®ããã : %") << option.getInvalidOptions() << throwException;
+            }
+            else {
+                    //ã³ã³ãã¼ãã³ãã®å®è¡
+                Singleton<ComponentInfo>::getInstance()->activateComponent(); 
+            }
+        }
+
+            //ä¾å¤ã®çºç -> ç°å¸¸çµäºãã³ãã©ã®èµ·å
+        catch(...) {
+            bool continuation;
+            do {
+                try {
+                    continuation = true;
+                    Singleton<ComponentInfo>::getInstance()->onFatalExit();
+                    continuation = false;
+                }
+                catch(Exception & e) {
+                    CHECKPOINT("Exception_onFatalExit");
+                    cerr << Message("[Internal error] onFatalExit threw an exception! : ","[å
+é¨ã¨ã©ã¼] onFatalExitä¸­ã®ä¾å¤! : ") << e.getDetails() << '\n';
+                }
+            } while(continuation);
+
+            throw;
+        }
+    }
+}
+
+
+    //ä¸è¬çãªãªãã·ã§ã³ã®å¦ç
+void Component::_parseCommonOption(OptionParameter & option) throw()
+{
+        //ãããã°å¦ç
+    if(option.find("debug")) {
+        DebugMessage::setStream(&cerr);
+        DebugMessage::setVerbose(true);
+    }
+
+        //è¨èªé¸æ
+    if(option.find("lj") || option.find("-japanese"))
+        Message::selectLanguage(Message::JAPANESE);
+    if(option.find("le") || option.find("-english"))
+        Message::selectLanguage(Message::ENGLISH);
+
+        //åé·ã¡ãã»ã¼ã¸
+    if(option.find("v") || option.find("-verbose")) {
+        VerboseMessage::setStream(&cout);
+        VerboseMessage::setVerbose(true);
+    }
+
+        //ããã¼è¡¨ç¤º
+    if(!getBanner().empty() && option.find("v") || option.find("-verbose") || option.find("h") || option.find("-help"))
+        cout << getBanner() << endl;
+
+        //ãã«ãè¡¨ç¤º
+    if(option.find("h") || option.find("-help"))
+        cout << '\n' << Message(
+            "Global option\n"
+            " -lj, --japanese : Use Japanese as default language\n"
+            " -le, --english  : Use English as default language\n"
+            " -v,  --verbose  : Verbose Message\n",
+            "å
+¨ä½ã®ãªãã·ã§ã³\n"
+            " -lj, --japanese : æ¥æ¬èªã§è¡¨ç¤ºãã¾ã\n"
+            " -le, --english  : è±èªã§è¡¨ç¤ºãã¾ã\n"
+            " -v,  --verbose  : åé·ã¡ãã»ã¼ã¸ãåºåãã¾ã\n");
+}
+
+    //ããã¼ã¢ã¯ã»ãµ
+void Component::setBanner(string src) throw(bad_alloc)
+{
+    ComponentInfo * info = Singleton<ComponentInfo>::getInstance();
+    info->setBanner(src);
+}
+
+string Component::getBanner(void) throw(bad_alloc)
+{
+    ComponentInfo * info = Singleton<ComponentInfo>::getInstance();
+    return info->getBanner();
+}
+
+/*
+ *   éå»ã¨ã®äºææ§ã®ããã®ãã©ã¡ã¼ã¿æä½API
+ */
+
+    /* æå®ããããªãã·ã§ã³ã®å­å¨ãç¢ºèªããå¿
+è¦ã§ããã°ãã®ãã©ã¡ã¼ã¿ãåå¾ãã */
+bool Component::findOption(const char * key1, const char * key2, std::string * element) throw()
+{
+    OptionParameter::OptionItem item;
+
+    item = getOption(key1, key2, true);
+    if(item.isValid() && element != 0 && item.hasParameter())
+        *element = item[0];
+
+    return item.isValid();
+}
+
+    /* å­å¨ç¢ºèª + ãã§ãã¯ãã¤ãã */
+bool Component::checkOption(const char * key1, const char * key2) throw()
+{   return getOption(key1, key2, true).isValid();   }
+
+    /* æå®ãããååã®ãªãã·ã§ã³ãã©ã¡ã¼ã¿ãåå¾ */
+OptionParameter::OptionItem Component::getOption(const char * key1, const char * key2, bool dirty) throw()
+{
+    OptionParameter::OptionItem item;
+        
+    if(key1 != 0)
+        item = getOptionParameter().get(key1, dirty);
+        
+    if(key2 != 0) {
+        if(item.isValid())
+            item.mergeItem(getOptionParameter().get(string("-") + key2, dirty));
+        else
+            item = getOptionParameter().get(string("-") + key2, dirty);
+    }
+
+    return item;
+}
+
+    /* 2ã¤ã®ãªãã·ã§ã³é 
+ç®ããã¼ã¸ãã (æ¾ã£ã¦ããã¦ããã¼ã¸ãããã®ã§æ°ã«ããªã) */
+OptionParameter::OptionItem Component::mergeOption(const char * key1, const char * key2) throw()
+{   return getOption(key1, key2);   }
+
+
+
+/****************************************************** ãã¹ãã¹ã£ã¼ã ******************************************************/
+
+#ifdef TESTSUITE
+#include "coverage_undefs.h"
+
+namespace {
+    int counter = 0;
+
+    class TestComponent : public Component
+    {
+    public:
+        bool         check_parseOption;
+        bool         check_body;
+        bool         check_onFatalExit;
+        bool         activation;
+        bool         throw_parseOption;
+        bool         throw_body;
+        bool         throw_onFatalExit;
+        int          actcnt;
+
+        TestComponent(int order = GENERAL_PURPOSE) : Component(order)
+        {
+            check_parseOption = false;
+            check_body        = false;
+            check_onFatalExit = false;
+            activation        = false;
+            throw_parseOption = false;
+            throw_body        = false;
+            throw_onFatalExit = false;
+        }
+
+        void parseOption(OptionParameter & option) throw(Exception)
+        {
+            actcnt = ++counter;
+            check_parseOption = true;
+            if(activation)
+                activateComponent();
+            if(throw_parseOption)
+                ExceptionMessage("exception","exception").throwException();
+        }
+
+        void body(void) throw(Exception)
+        {
+            actcnt = ++counter;
+            check_body = true;
+            if(throw_body)
+                ExceptionMessage("exception","exception").throwException();
+        }
+
+        void onFatalExit(void) throw(Exception)
+        {
+            actcnt = ++counter;
+            check_onFatalExit = true;
+            if(throw_onFatalExit)
+                ExceptionMessage("exception","exception").throwException();
+        }
+    };
+
+    class DerivedTestComponent : public TestComponent
+    {};
+}
+
+
+TESTSUITE_(main,ComponentInfo,Component)
+{
+    Singleton<ComponentInfo>::Context context;
+    Singleton<ComponentInfo>::saveContext(context);
+    Singleton<ComponentInfo>::renewInstance();
+
+    BEGIN_CASE("addComponent","addComponent") {
+
+        BEGIN_CASE("1","æ­£ããè¿½å ã§ãã") {
+            ComponentInfo info;
+
+            BEGIN_CASE("1","é¢æ°ã¯æåãã") {
+                if(!info.addComponent((Component *)0x1234, 10))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","è¿½å ããã¦ãã") {
+                if(info.componentList.size() != 1)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3", "å
+å®¹ãæ­£ãã") {
+                if(info.componentList.begin()->first != 10 || info.componentList.begin()->second != (Component *)0x1234)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2","NULLã¤ã³ã¹ã¿ã³ã¹ã¯ç»é²ã§ããªã") {
+            ComponentInfo info;
+
+            BEGIN_CASE("1","é¢æ°ã¯å¤±æãã") {
+                if(info.addComponent(0, 10))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","è¦ç´ ã¯è¿½å ããã¦ããªã") {
+                if(info.componentList.size() != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("3","NULLã¤ã³ã¹ã¿ã³ã¹ã«æä½ããã¨falseãè¿ã") {
+            if(((ComponentInfo *)0)->addComponent((Component *)0x1234, 10))
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("removeComponent(Component *, int)","removeComponent(Component *, int)") {
+        BEGIN_CASE("1", "æ­£ããè§£é¤ã§ãã") {
+            ComponentInfo info;
+
+            info.addComponent((Component *)0x0123, 10); //38è¡ç®ã®ifã®elseãå®è¡ãããããã®ããã¼
+            info.addComponent((Component *)0x1234, 10);
+            info.addComponent((Component *)0x1234, 20);
+
+            info.removeComponent((Component *)0x1234, 10);
+            info.removeComponent((Component *)0x0123, 10);
+
+            BEGIN_CASE("1","è¦ç´ æ°ã1") {
+                if(info.componentList.size() != 1)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","æ®ã£ãè¦ç´ ã®orderã¯20") {
+                if(info.componentList.begin()->first != 20)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2", "NULLãªãã¸ã§ã¯ãããå®è¡ãã¦ãå¤§ä¸å¤«") {
+            ((ComponentInfo *)0)->removeComponent(0, 0);
+        } END_CASE;
+    } END_CASE;
+            
+    BEGIN_CASE("removeComponent(Component *)","removeComponent(Component *)") {
+        BEGIN_CASE("1", "æ­£ããè§£é¤ã§ãã") {
+            ComponentInfo info;
+            multimap<int, Component *>::iterator scope;
+
+            info.addComponent((Component *)0x1234, 10);
+            info.addComponent((Component *)0x1235, 10);
+            info.addComponent((Component *)0x1234, 20);
+            info.addComponent((Component *)0x1235, 20);
+
+            info.removeComponent((Component *)0x1234);
+
+            BEGIN_CASE("1","è¦ç´ æ°ã2") {
+                if(info.componentList.size() != 2)
+                    TEST_FAIL;
+            } END_CASE;
+
+            scope = info.componentList.begin();
+            BEGIN_CASE("2","æ®ã£ãè¦ç´ ã®å
+å®¹ã¯æ­£ãã") {
+                if(scope->first != 10 || scope->second != (Component *)0x1235)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->first != 20 || scope->second != (Component *)0x1235)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2", "NULLãªãã¸ã§ã¯ãããå®è¡ãã¦ãå¤§ä¸å¤«") {
+            ((ComponentInfo *)0)->removeComponent(0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("activateComponent","activateComponent") {
+        BEGIN_CASE("1","æ­£å¸¸ã«è¿½å ã§ãã") {
+            ComponentInfo info;
+
+            BEGIN_CASE("1","é¢æ°ã¯æåãã") {
+                if(!info.activateComponent((Component *)0x1234))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","èµ·åè¦æ±ãªã¹ãã«æ­£ããè¿½å ããã¦ãã") {
+                if(info.activatedComponentList.size() != 1)
+                    TEST_FAIL;
+                if(*info.activatedComponentList.begin() != (Component *)0x1234)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3","NULLãªãã¸ã§ã¯ãããçºè¡ãã¦ãæ´èµ°ããªã") {
+                ((ComponentInfo *)0)->activateComponent();
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("1","NULLã¤ã³ã¹ã¿ã³ã¹ã¯è¿½å ãããªã") {
+            ComponentInfo info;
+
+            BEGIN_CASE("1","é¢æ°ã¯å¤±æãã") {
+                if(info.activateComponent((Component *)0))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","èµ·åè¦æ±ãªã¹ãã¯ç©ºã®ã¾ã¾") {
+                if(!info.activatedComponentList.empty())
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("Component::Component","Component::Component") {
+        Singleton<ComponentInfo>::renewInstance();
+        TestComponent * test = 0;
+
+        BEGIN_CASE("0","åææ¡ä»¶ãæºãã") {
+            if(Singleton<ComponentInfo>::getInstance()->componentList.size() != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("1","Componentãã¤ã³ã¹ã¿ã³ã¹åããã¨ãåæã«ç»é²ããã") {
+            test = new TestComponent;
+            if(Singleton<ComponentInfo>::getInstance()->componentList.size() != 1)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ç»é²ããã¦ããå
+å®¹ã¯æ­£ãã") {
+            if(Singleton<ComponentInfo>::getInstance()->componentList.begin()->second != test)
+                TEST_FAIL;
+        } END_CASE;
+            
+        BEGIN_CASE("3","ç ´æ£ããã¨ã¨ã³ããªãæ¶ãã") {
+            delete test;
+            if(Singleton<ComponentInfo>::getInstance()->componentList.size() != 0)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("parseOption","parseOption") {
+
+        BEGIN_CASE("1","parseOptionãå®è¡ããã¨ç»é²ãããã³ã³ãã¼ãã³ãã®parseOptionãå®è¡ããã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+
+            if(!test.check_parseOption || !test2.check_parseOption)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","èµ·åé åºãæ­£ãã (åä¸ã¬ãã«ãªãç»é²é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            counter = 0;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+
+            if(test.actcnt != 1 || test2.actcnt != 2 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","èµ·åé åºãæ­£ãã (åªå
+åº¦é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test(10);
+            TestComponent test2(1);
+
+            counter = 0;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+
+            if(test.actcnt != 2 || test2.actcnt != 1 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","activateããããã¨activateListã«ç»é²ããã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+
+            test.activation = true;
+            test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+
+            if(Singleton<ComponentInfo>::getInstance()->activatedComponentList.size() != 2)
+                TEST_FAIL;
+            scope = Singleton<ComponentInfo>::getInstance()->activatedComponentList.begin();
+            if(*scope != &test)
+                TEST_FAIL;
+            ++ scope;
+            if(*scope != &test2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","ä¾å¤ã¯æãã¦ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.throw_parseOption = true;
+            try {
+                Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6","ä¾å¤åã«ç»é²ãããactivateã¯æ®ã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = true;
+            test2.throw_parseOption = true;
+            try {
+                Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+
+            if(Singleton<ComponentInfo>::getInstance()->activatedComponentList.size() != 1)
+                TEST_FAIL;
+
+            if(*Singleton<ComponentInfo>::getInstance()->activatedComponentList.begin() != &test)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7","NULLã¤ã³ã¹ã¿ã³ã¹ããã®ã³ã¼ã«ã«èãã") {
+            ((ComponentInfo *)0)->parseOption(getOptionParameter());
+        } END_CASE;
+    }END_CASE;
+
+    BEGIN_CASE("activateCompoent/Component::body","activateCompoent/Component::body") {
+        BEGIN_CASE("1","activateComponentãããã¨ãèµ·åè¦æ±ãåºããã³ã³ãã¼ãã³ããèµ·åããã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            test.activation = true;
+            test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            Singleton<ComponentInfo>::getInstance()->activateComponent();
+
+            if(!test.check_body || !test2.check_body)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","èµ·åè¦æ±ãåºããªãã³ã³ãã¼ãã³ãã¯èµ·åãããªã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            test.activation = false;
+            test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            Singleton<ComponentInfo>::getInstance()->activateComponent();
+
+            if(test.check_body || !test2.check_body)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","èµ·åé åºãæ­£ãã (åä¸ã¬ãã«ãªãç»é²é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            counter = 0;
+
+            test.activation = test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            Singleton<ComponentInfo>::getInstance()->activateComponent();
+
+            if(test.actcnt != 3 || test2.actcnt != 4 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","èµ·åé åºãæ­£ãã (åªå
+åº¦é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test(10);
+            TestComponent test2(4);
+            counter = 0;
+
+            test.activation = test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            Singleton<ComponentInfo>::getInstance()->activateComponent();
+
+            if(test.actcnt != 4 || test2.actcnt != 3 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","ä¾å¤ã¯æãã¦ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = test2.activation = true;
+            test.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try {
+                Singleton<ComponentInfo>::getInstance()->activateComponent();
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6","ä¾å¤ãèµ·ãããããããã¾ã§ã«èµ·åããã³ã³ãã¼ãã³ããactivatedComponentListã«æ®ã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = test2.activation = true;
+            test.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try {
+                Singleton<ComponentInfo>::getInstance()->activateComponent();
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+
+            if(Singleton<ComponentInfo>::getInstance()->activatedComponentList.size() != 1)
+                TEST_FAIL;
+
+            if(*Singleton<ComponentInfo>::getInstance()->activatedComponentList.begin() != &test)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("8","ä¾å¤ãèµ·ãããããããã¾ã§ã«èµ·åããã³ã³ãã¼ãã³ããactivatedComponentListã«æ®ã(2åç®)") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = test2.activation = true;
+            test2.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try {
+                Singleton<ComponentInfo>::getInstance()->activateComponent();
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+
+            if(Singleton<ComponentInfo>::getInstance()->activatedComponentList.size() != 2)
+                TEST_FAIL;
+            scope = Singleton<ComponentInfo>::getInstance()->activatedComponentList.begin();
+            if(*scope != &test)
+                TEST_FAIL;
+            ++ scope;
+            if(*scope != &test2)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("onFatalExit","onFatalExit") {
+        BEGIN_CASE("1","OnFatalExitãããã¨èµ·åè¦æ±ãªã¹ãã«ããã³ã³ãã¼ãã³ããå¼ã°ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            test.activation = test2.activation = true;
+            test2.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            Singleton<ComponentInfo>::getInstance()->onFatalExit();
+
+            if(!test.check_onFatalExit || !test2.check_onFatalExit)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","èµ·åè¦æ±ãåºããªãã³ã³ãã¼ãã³ãã¯èµ·åãããªã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+
+            test.activation = false;
+            test2.activation = true;
+            test2.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            Singleton<ComponentInfo>::getInstance()->onFatalExit();
+
+            if(test.check_onFatalExit || !test2.check_onFatalExit)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","èµ·åé åºãæ­£ãã (åä¸ã¬ãã«ãªãç»é²é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            counter = 0;
+
+            test2.throw_body = true;
+            test.activation = test2.activation = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            Singleton<ComponentInfo>::getInstance()->onFatalExit();
+
+            if(test.actcnt != 5 || test2.actcnt != 6 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5","èµ·åé åºãæ­£ãã (åªå
+åº¦é )") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test(10);
+            TestComponent test2(4);
+            counter = 0;
+
+            test.activation = test2.activation = true;
+            test.throw_body = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            Singleton<ComponentInfo>::getInstance()->onFatalExit();
+
+            if(test.actcnt != 6 || test2.actcnt != 5 )
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6","ä¾å¤ã¯æãã¦ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = test2.activation = true;
+            test2.throw_body = true;
+            test.throw_onFatalExit = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            try {
+                Singleton<ComponentInfo>::getInstance()->onFatalExit();
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7","ä¾å¤ãèµ·ããã¨ããã¾ã å®è¡ããã¦ããªãã³ã³ãã¼ãã³ãã®ãã³ãã©èµ·åè¦æ±ã¯æ®ã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+            TestComponent test2;
+            list<Component *>::iterator scope;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            test.activation = test2.activation = true;
+            test2.throw_body = true;
+            test.throw_onFatalExit = true;
+            Singleton<ComponentInfo>::getInstance()->parseOption(getOptionParameter());
+            try{ Singleton<ComponentInfo>::getInstance()->activateComponent(); } catch(...) {}
+            try{
+                Singleton<ComponentInfo>::getInstance()->onFatalExit();
+            }
+            catch(...) {
+                result = true;
+            }
+
+            if(!result)
+                TEST_FAIL;
+
+            if(Singleton<ComponentInfo>::getInstance()->activatedComponentList.size() != 1)
+                TEST_FAIL;
+
+            if(*Singleton<ComponentInfo>::getInstance()->activatedComponentList.begin() != &test2)
+                TEST_FAIL;
+
+        } END_CASE;
+
+        BEGIN_CASE("8","NULLãªãã¸ã§ã¯ãããçºè¡ãã¦ãå¤§ä¸å¤«") {
+            ((ComponentInfo *)0)->onFatalExit();
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("isActive","isActive") {
+        BEGIN_CASE("1","èµ·åããã³ã³ãã¼ãã³ããå¤å®ã§ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;         
+            Singleton<ComponentInfo>::getInstance()->activateComponent(&test);
+
+            if(!Singleton<ComponentInfo>::getInstance()->isActive<TestComponent>())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","èµ·åãã¦ããªãã³ã³ãã¼ãã³ãã«ã¯åå¿ããªã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;
+
+            if(Singleton<ComponentInfo>::getInstance()->isActive<TestComponent>())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","æ´¾çããã³ã³ãã¼ãã³ãã®ã¤ã³ã¹ã¿ã³ã¹ã«ã¯åå¿ãã") {
+            Singleton<ComponentInfo>::renewInstance();
+
+            DerivedTestComponent test;
+            Singleton<ComponentInfo>::getInstance()->activateComponent(&test);
+
+            if(!Singleton<ComponentInfo>::getInstance()->isActive<TestComponent>())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","è¤æ°èµ·åãã¦ãã¦ãè¦æ±ã«åã£ããã®ãæ¢ãã") {   //isActiveã®if(dynamic_cast<T *>(iterator->instance) != 0)ã®elseç¯ãå®è¡ãããã®ãç®ç
+            Singleton<ComponentInfo>::renewInstance();
+
+            TestComponent test;         
+            Singleton<ComponentInfo>::getInstance()->activateComponent(&test);
+            DerivedTestComponent test2;
+            Singleton<ComponentInfo>::getInstance()->activateComponent(&test2);
+
+            if(!Singleton<ComponentInfo>::getInstance()->isActive<DerivedTestComponent>())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+
+    Singleton<ComponentInfo>::restoreContext(context);
+}
+
+//--------
+
+
+TESTSUITE(main,Component)
+{
+    SingletonBase::ContextChain chain;
+
+    chain.saveContext<ComponentInfo>();
+    chain.saveContext<OptionParameter>();
+    chain.saveContext<VerboseMessage::VerboseControl>();
+    chain.saveContext<Message::MessageControl>();
+    chain.saveContext<DebugMessage::DebugControl>();
+
+    BEGIN_CASE("executeComponent","executeComponent") {
+        BEGIN_CASE("1","ç¹ã«ä½ããªãã°parseOption/bodyãå®è¡ããã") {
+            chain.renewInstance();
+
+            bool result = true;
+            TestComponent test;
+            test.activation = true;
+
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = false; }
+
+            BEGIN_CASE("1","ä¾å¤ã¯èµ·ãããªã") {
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOption/bodyã¯å®è¡ããã") {
+                 if(!test.check_parseOption || !test.check_body || test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2","å¦çãã¦ãªããªãã·ã§ã³ããã") {
+            TestSuite::clearCheckpoints();
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-test" };
+            bool result = false;
+            TestComponent test;
+            test.activation = true;
+
+            getOptionParameter().parseOption(2, argv);
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = true; }
+
+            BEGIN_CASE("1","ä¾å¤ãèµ·ãã") {
+                if(!result)
+                    TEST_FAIL;
+                if(!TestSuite::isReached("Exception_UnknownOption"))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOption/onFatalExitã¯å®è¡ããããbodyã¯å®è¡ãããªã") {
+                 if(!test.check_parseOption || test.check_body || !test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("3","ãªãã·ã§ã³ãã¼ã¹ä¸­ã«ä¾å¤ (activateãªã)") {
+            chain.renewInstance();
+
+            bool result = false;
+            TestComponent test;
+            test.throw_parseOption = true;
+
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = true; }
+
+            BEGIN_CASE("1","ä¾å¤ãèµ·ãã") {
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOptionã¯å®è¡ããããbody/onFatalExitã¯å®è¡ãããªã") {
+                 if(!test.check_parseOption || test.check_body || test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãªãã·ã§ã³ãã¼ã¹ä¸­ã«ä¾å¤ (activateãã)") {
+            chain.renewInstance();
+
+            bool result = false;
+            TestComponent test;
+            test.throw_parseOption = true;
+            test.activation = true;
+
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = true; }
+
+            BEGIN_CASE("1","ä¾å¤ãèµ·ãã") {
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOption/onFatalExitã¯å®è¡ããããbodyã¯å®è¡ãããªã") {
+                 if(!test.check_parseOption || test.check_body || !test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("5","bodyã§ä¾å¤") {
+            chain.renewInstance();
+
+            bool result = false;
+            TestComponent test;
+            test.throw_body = true;
+            test.activation = true;
+
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = true; }
+
+            BEGIN_CASE("1","ä¾å¤ãèµ·ãã") {
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOption/body/onFatalExitã¨ãå®è¡ããã") {
+                 if(!test.check_parseOption || !test.check_body || !test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+
+        BEGIN_CASE("6","onFatalExitã§ä¾å¤") {
+            TestSuite::clearCheckpoints();
+            chain.renewInstance();
+
+            bool result = false;
+            TestComponent test;
+            test.throw_onFatalExit = true;
+            test.activation = true;
+            TestComponent test2;
+            test2.throw_body = true;
+            test2.activation = true;
+
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = true; }
+
+            BEGIN_CASE("1","ä¾å¤ãèµ·ãã") {
+                if(!result)
+                    TEST_FAIL;
+                if(!TestSuite::isReached("Exception_onFatalExit"))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","æåã®ã³ã³ãã¼ãã³ãã¯parseOption/body/onFatalExitã¨ãå®è¡ããã") {
+                 if(!test.check_parseOption || !test.check_body || !test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+            BEGIN_CASE("3","æ¬¡ã®ã³ã³ãã¼ãã³ããparseOption/body/onFatalExitã¨ãå®è¡ããã") {
+                 if(!test2.check_parseOption || !test2.check_body || !test2.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("7","Component::is_validãfalseã®ã¨ãã¯å®è¡ãããªã") {
+            chain.renewInstance();
+
+            bool result = true;
+            TestComponent test;
+            test.activation = true;
+
+            Component::is_valid = false;
+            Exception::setThrowControl(true);
+            try { executeComponents(getOptionParameter()); }
+            catch(...) { result = false; }
+
+            BEGIN_CASE("1","ä¾å¤ã¯èµ·ãããªã") {
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","parseOption/bodyã¯å®è¡ãããªã") {
+                 if(test.check_parseOption || test.check_body || test.check_onFatalExit)
+                     TEST_FAIL;
+            } END_CASE;
+
+            Component::is_valid = true;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("_parseCommonOption","_parseCommonOption") {
+
+        BEGIN_CASE("1", "-debugã§DebugMessageãæå¹ã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-debug" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(!DebugMessage::getVerbose())
+                TEST_FAIL;
+
+        } END_CASE;
+
+        BEGIN_CASE("2", "-v ã§VerboseMessageãæå¹ã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-v" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(!VerboseMessage::getVerbose())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "--verboseã§VerboseMessageãæå¹ã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "--verbose" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(!VerboseMessage::getVerbose())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4", "-lj ã§Messageãæ¥æ¬èªã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-lj" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(Message::getCurrentLanguage() != Message::JAPANESE)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5", "--japanese ã§Messageãæ¥æ¬èªã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "--japanese" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(Message::getCurrentLanguage() != Message::JAPANESE)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6", "-le ã§Messageãè±èªã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-le" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(Message::getCurrentLanguage() != Message::ENGLISH)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7", "--english ã§Messageãè±èªã«ãªã") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "--english" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            Component::_parseCommonOption(param);
+
+            if(Message::getCurrentLanguage() != Message::ENGLISH)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("8","ãã«ããã§ã (-h)") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "-h" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            cout.str("");
+            Component::_parseCommonOption(param);
+
+                //ã¨ããããä½ãåºåããã¦ãããã¨ã ãç¢ºèªãã¦ãã
+            if(cout.str().empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("9","ãã«ããã§ã (--help)") {
+            chain.renewInstance();
+
+            char * argv[] = { "test.exe", "--help" };
+            OptionParameter & param = getOptionParameter();
+
+            param.parseOption(2, argv);
+            cout.str("");
+            Component::_parseCommonOption(param);
+
+                //ã¨ããããä½ãåºåããã¦ãããã¨ã ãç¢ºèªãã¦ãã
+            if(cout.str().empty())
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("getOption","ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®åå¾") {
+        chain.renewInstance();
+
+        char * argv[] = { "test.exe","-test","param","-test2","param2", "--test","param3","--test2","param4" };
+        getOptionParameter().parseOption(9, argv);
+
+        BEGIN_CASE("1","getOption(test)ã§paramãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = getOption("test");
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ã§ãã", item.isChecked());
+            TEST_CASE("3","1ã¤ã®ãã©ã¡ã¼ã¿ããã¤", item.countParameter() == 1);
+            TEST_CASE("4","ãã©ã¡ã¼ã¿ã®å
+å®¹ããã£ã¦ãã", item[0].compare("param") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","getOption(test,test)ã§2ã¤ã®é£çµãåãã") {
+            OptionParameter::OptionItem item;
+
+            TEST_CASE("0","[åæ] --testã«ãã§ãã¯ã¯ã¤ãã¦ããªã", !getOptionParameter().get("-test",false).isChecked());
+
+            item = getOption("test","test");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ã§ãã", item.isChecked());
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ã§ãã (test)", getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("4","ãã§ãã¯æ¸ã¿ã§ãã (-test)", getOptionParameter().get("-test",false).isChecked());
+            TEST_CASE("5","2ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 2);
+            TEST_CASE("6","1ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param") == 0);
+            TEST_CASE("7","2ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[1].compare("param3") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","getOption(test,unknown)ã§testã®ãã©ã¡ã¼ã¿ãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = getOption("test","unknown");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","1ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 1);
+            TEST_CASE("3","ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","getOption(unknown,test)ã§ -testã®ãã©ã¡ã¼ã¿ãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = getOption("unknown","test");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","1ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 1);
+            TEST_CASE("3","ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param3") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("5","getOption(unknown,unknown)ã§ç¡å¹ãªã¢ã¤ãã ãè¿ã") {
+            OptionParameter::OptionItem item;
+
+            item = getOption("unknown","unknown");
+
+            TEST_CASE("1","ç¡å¹ãªå¤ãè¿ã", !item.isValid());
+        } END_CASE;
+
+        BEGIN_CASE("6","getOption(test2,test2,false)ã§ãã§ãã¯ãã¤ããªã") {
+            OptionParameter::OptionItem item;
+
+            TEST_CASE("0","[åæ] -test2ã«ãã§ãã¯ã¯ã¤ãã¦ããªã", !getOptionParameter().get("test2",false).isChecked());
+            TEST_CASE("0","[åæ] --test2ã«ãã§ãã¯ã¯ã¤ãã¦ããªã", !getOptionParameter().get("-test2",false).isChecked());
+
+            item = getOption("test2","test2",false);
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ã§ãªã", !item.isChecked());
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ã§ãªã (test2)", !getOptionParameter().get("test2",false).isChecked());
+            TEST_CASE("4","ãã§ãã¯æ¸ã¿ã§ãªã (-test2)", !getOptionParameter().get("-test2",false).isChecked());
+            TEST_CASE("5","2ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 2);
+            TEST_CASE("6","1ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param2") == 0);
+            TEST_CASE("7","2ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[1].compare("param4") == 0);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("findOption","ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®åå¾") {
+        chain.renewInstance();
+
+        char * argv[] = { "test.exe","-test","param","--test","param3", "-noparam"};
+        getOptionParameter().parseOption(6, argv);
+
+        BEGIN_CASE("1","findOption(test,test)ã§paramãåãã") {
+            string result;
+
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (test)", !getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (-test)", !getOptionParameter().get("-test",false).isChecked());
+            TEST_CASE("1","é¢æ°ã¯æåãã", findOption("test","test",&result));
+            TEST_CASE("2","æå­åã«paramãè¿ã", result.compare("param") == 0);
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ (test)", getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ (-test)", getOptionParameter().get("-test",false).isChecked());
+        } END_CASE;
+
+        BEGIN_CASE("2","findOption(test,unknown)ã§paramãåãã") {
+            string result;
+
+            TEST_CASE("1","é¢æ°ã¯æåãã", findOption("test","unknown",&result));
+            TEST_CASE("2","æå­åã«paramãè¿ã", result.compare("param") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","findOption(unknown,test)ã§param3ãåãã") {
+            string result;
+
+            TEST_CASE("1","é¢æ°ã¯æåãã", findOption("unknown","test",&result));
+            TEST_CASE("2","æå­åã«paramãè¿ã", result.compare("param3") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","findOption(unknown,unknown)ã§ç¡å¹ãªã¢ã¤ãã ãè¿ã") {
+            string result;
+
+            result.assign("dummy");
+
+            TEST_CASE("1","é¢æ°ã¯å¤±æãã", !findOption("unknown","unknown",&result));
+            TEST_CASE("2","æå­åã¯æ¸ãæãããªã", result.compare("dummy") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("5","findOption(noparam,NULL,&result)") {
+            string result;
+            result.assign("dummy");
+
+            TEST_CASE("1","é¢æ°ã¯æåãã", findOption("noparam", 0, &result));
+            TEST_CASE("2","æå­åã¯ç½®ãæãããªã", result.compare("dummy") == 0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("checkOption","ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®å­å¨ç¢ºèª + ãã§ãã¯") {
+        chain.renewInstance();
+
+        char * argv[] = { "test.exe","-test","param","--test","param3", "-test2", "--test3"};
+        getOptionParameter().parseOption(7, argv);
+
+        BEGIN_CASE("1","checkOption(test,test)ã§paramãåãã") {
+            string result;
+
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (test)", !getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (-test)", !getOptionParameter().get("-test",false).isChecked());
+            TEST_CASE("1","é¢æ°ã¯æåãã", checkOption("test","test"));
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ (test)", getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ (-test)", getOptionParameter().get("-test",false).isChecked());
+        } END_CASE;
+
+        BEGIN_CASE("2","checkOption(test2,unknown)ã§paramãåãã") {
+            string result;
+
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (test2)", !getOptionParameter().get("test2",false).isChecked());
+            TEST_CASE("1","é¢æ°ã¯æåãã", checkOption("test2","unknown"));
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ (test2)", getOptionParameter().get("test2",false).isChecked());
+        } END_CASE;
+
+        BEGIN_CASE("3","checkOption(unknown,test3)ã§param3ãåãã") {
+            string result;
+
+            TEST_CASE("0","[åæ] ãã§ãã¯æ¸ã¿ã§ã¯ãªã (test3)", !getOptionParameter().get("-test3",false).isChecked());
+            TEST_CASE("1","é¢æ°ã¯æåãã", checkOption("unknown","test3"));
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ (test3)", getOptionParameter().get("-test3",false).isChecked());
+        } END_CASE;
+
+        BEGIN_CASE("4","checkOption(unknown,unknown)ã§ç¡å¹ãªã¢ã¤ãã ãè¿ã") {
+            string result;
+
+            result.assign("dummy");
+
+            TEST_CASE("1","é¢æ°ã¯å¤±æãã", !checkOption("unknown","unknown"));
+        } END_CASE;
+    } END_CASE;
+
+        /* mergeOptionã®ãã§ãã¯é 
+ç®ã¯ãgetOptionã¨ã»ã¼åã */
+    BEGIN_CASE("mergeOption","ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®çµå") {
+        chain.renewInstance();
+
+        char * argv[] = { "test.exe","-test","param","-test2","param2", "--test","param3","--test2","param4" };
+        getOptionParameter().parseOption(9, argv);
+
+        BEGIN_CASE("1","mergeOption(test)ã§paramãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = mergeOption("test");
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ã§ãã", item.isChecked());
+            TEST_CASE("3","1ã¤ã®ãã©ã¡ã¼ã¿ããã¤", item.countParameter() == 1);
+            TEST_CASE("4","ãã©ã¡ã¼ã¿ã®å
+å®¹ããã£ã¦ãã", item[0].compare("param") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","mergeOption(test,test)ã§2ã¤ã®é£çµãåãã") {
+            OptionParameter::OptionItem item;
+
+            TEST_CASE("0","[åæ] --testã«ãã§ãã¯ã¯ã¤ãã¦ããªã", !getOptionParameter().get("-test",false).isChecked());
+
+            item = mergeOption("test","test");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","ãã§ãã¯æ¸ã¿ã§ãã", item.isChecked());
+            TEST_CASE("3","ãã§ãã¯æ¸ã¿ã§ãã (test)", getOptionParameter().get("test",false).isChecked());
+            TEST_CASE("4","ãã§ãã¯æ¸ã¿ã§ãã (-test)", getOptionParameter().get("-test",false).isChecked());
+            TEST_CASE("5","2ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 2);
+            TEST_CASE("6","1ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param") == 0);
+            TEST_CASE("7","2ã¤ãã®ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[1].compare("param3") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","mergeOption(test,unknown)ã§testã®ãã©ã¡ã¼ã¿ãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = mergeOption("test","unknown");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","1ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 1);
+            TEST_CASE("3","ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","mergeOption(unknown,test)ã§ -testã®ãã©ã¡ã¼ã¿ãåãã") {
+            OptionParameter::OptionItem item;
+
+            item = mergeOption("unknown","test");
+
+            TEST_CASE("1","æå¹ãªå¤ãè¿ã", item.isValid());
+            TEST_CASE("2","1ã¤ã®ãã©ã¡ã¼ã¿ãæã¤", item.countParameter() == 1);
+            TEST_CASE("3","ãã©ã¡ã¼ã¿ã®å¤ã¯æ­£ãã", item[0].compare("param3") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("5","mergeOption(unknown,unknown)ã§ç¡å¹ãªã¢ã¤ãã ãè¿ã") {
+            OptionParameter::OptionItem item;
+
+            item = mergeOption("unknown","unknown");
+
+            TEST_CASE("1","ç¡å¹ãªå¤ãè¿ã", !item.isValid());
+        } END_CASE;
+
+    } END_CASE;
+
+    chain.restoreContext();
+}
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/component.h	(revision 26)
@@ -0,0 +1,237 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: component.h,v 1.8 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/component.h,v 1.8 2003/12/20 06:51:58 takayuki Exp $
+
+#include "base/testsuite.h"
+#include "base/singleton.h"
+#include "base/except.h"
+#include "base/message.h"
+#include "base/option.h"
+#include "base/collection.h"
+#include "base/directorymap.h"
+
+#include <list>
+#include <map>
+
+#ifndef COMPONENT_H
+#define COMPONENT_H
+
+class Component : public RuntimeObject
+{
+public:
+        //ã³ã³ãã¼ãã³ãã®èµ·ååªå
+åº¦
+    enum tagProcessStage {
+        INITIALIZE,                 //ã¨ã«ããçã£å
+ã«åãããå¦ç
+
+        BEFORE_PARSE,               //ãã¼ã¹å
+        PARSER,                     //ãã¼ãµ
+        AFTER_PARSE,                //ãã¼ã¹å¾
+
+        PREDECESSOR,                //æ±ç¨ã®å
+        GENERAL_PURPOSE,            //æ±ç¨
+        SUCCESSOR,                  //æ±ç¨ã®å¾
+
+        BEFORE_CODEGENERATION,      //ã³ã¼ãçæå
+        CODEGENERATOR,              //ã³ã¼ãçæ
+        AFTER_CODEGENERATION,       //ã³ã¼ãçæå¾
+
+        FINALIZE
+    };
+
+        //ã³ã³ãã¼ãã³ãã«å
+±éã®ãã¼ã¿ãæã¤/æä½ããã¯ã©ã¹
+    class ComponentInfo
+    {
+    protected:
+        std::string                     banner;
+        std::multimap<int, Component *> componentList;
+        std::list<Component *>          activatedComponentList;
+
+            //ã³ã³ã¹ãã©ã¯ã¿ (ãã¹ãç¨)
+        ComponentInfo(void) throw() {}
+    public:
+            //ã³ã³ã¹ãã©ã¯ã¿
+        SINGLETON_CONSTRUCTOR(ComponentInfo) {}
+
+            //ã³ã³ãã¼ãã³ãã®è¿½å 
+        bool addComponent(Component * component, int order) throw();
+
+            //ã³ã³ãã¼ãã³ãã®ç»é²è§£é¤
+        void removeComponent(Component * component, int order) throw();     //ç¹å®ã®åªå
+åº¦ã ããè§£é¤
+        void removeComponent(Component * component) throw();                //å
+¨ã¦è§£é¤
+
+            //ã³ã³ãã¼ãã³ãã®èµ·åè¦æ±
+        bool activateComponent(Component * component) throw();
+
+            //ãªãã·ã§ã³ã®ãã¼ã¹
+        void parseOption(OptionParameter & option);
+
+            //ã³ã³ãã¼ãã³ãã®èµ·å
+        void activateComponent(void);
+
+            //ç°å¸¸å¦çãã³ãã©ã®èµ·å
+        void onFatalExit(void);
+
+            //ã³ã³ãã¼ãã³ãTãèµ·åãã¦ããããå¤å®
+        template<class T>
+        bool isActive(void) const throw()
+        {
+            std::list<Component *>::const_iterator scope;
+
+            scope = activatedComponentList.begin();
+            while(scope != activatedComponentList.end()) {
+                if(dynamic_cast<T *>(*scope) != 0)
+                    return true;
+                ++ scope;
+            }
+            return false;
+        }
+
+            //ããã¼å¤æ°ã¸ã®ã¢ã¯ã»ãµ
+        inline void setBanner(std::string src)
+        {   banner = src;    }
+        inline std::string getBanner(void) const
+        {   return banner;   }
+
+
+        TESTSUITE_PROTOTYPE(main)
+    };
+
+
+protected:
+    static bool is_valid;       //ã³ã³ãã¼ãã³ãã®åæåã«æåãããã©ãããæã¤ãã©ã°
+
+    /*
+     *   ä½æ¥­é¢æ°
+     */
+
+        //ã³ã³ãã¼ãã³ãã®èµ·å
+    inline bool activateComponent(void) throw()
+    {   return Singleton<ComponentInfo>::getInstance()->activateComponent(this);   }
+
+        //ä¸è¬çãªãªãã·ã§ã³ã®å¦ç
+    static void _parseCommonOption(OptionParameter & option) throw();
+
+
+        //èªåã«å
+è¡ããã³ã³ãã¼ãã³ãã®èµ·åå¤å®
+    template<class T>
+    static bool isActive(void) throw()
+    {   
+        bool result = false;
+        ComponentInfo * info = Singleton<ComponentInfo>::getInstance(std::nothrow);
+        if(info != 0)
+            result = info->isActive<T>();
+        return result;
+    }
+
+
+        /*
+         *   éå»ã¨ã®äºææ§ã®ããã®ãã©ã¡ã¼ã¿æä½API
+         */
+
+    static bool findOption (const char * key1, const char * key2 = 0, std::string * = 0) throw();
+    static bool checkOption(const char * key1, const char * key2 = 0) throw();
+    static OptionParameter::OptionItem getOption  (const char * key1, const char * key2 = 0, bool dirty = true) throw();
+    static OptionParameter::OptionItem mergeOption(const char * key1, const char * key2 = 0) throw();
+
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿
+    Component(int order = GENERAL_PURPOSE) throw();
+
+        //ãã¹ãã©ã¯ã¿
+    virtual ~Component(void) throw();
+
+        //æå¹å¤å®
+    static bool isValid(void) throw()
+    {   return is_valid && SingletonBase::isValid();   }
+
+        //ã³ã³ãã¼ãã³ãã®å®è¡
+    static void executeComponents(OptionParameter & option);
+    static void executeComponents(int argc, char * argv []);
+
+        //ããã¼ã¢ã¯ã»ãµ
+    static void        setBanner(std::string) throw(std::bad_alloc);
+    static std::string getBanner(void)        throw(std::bad_alloc);
+
+    /*
+     *   ã¤ãã³ããã³ãã©
+     */
+
+        //ãªãã·ã§ã³ã®ãã¼ã¹
+    virtual void parseOption(OptionParameter &)
+    { parseOption(*Singleton<Directory>::getInstance()); }
+    
+    virtual void parseOption(Directory &) {}
+
+        //ã³ã³ãã¼ãã³ãã®æ¬ä½
+    virtual void body(void)        { body(*Singleton<Directory>::getInstance()); }
+    virtual void body(Directory &) {}
+
+        //ç°å¸¸çµäºãã³ãã©
+    virtual void onFatalExit(void) {}
+
+
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage.cpp	(revision 26)
@@ -0,0 +1,318 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: coverage.cpp,v 1.5 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+#include "base/coverage_defs.h"
+#include "base/coverage_undefs.h"
+
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#if defined(COVERAGE)
+/*
+ *   ç°¡åãªã«ãã¬ãã¸ãã§ãã¯
+ */
+
+    //ãã©ã¼ãããæ¸ã¿ãã¡ã¤ã«ä½ç½®æ
+å ±ã®åå¾
+string Coverage::Location::getDetails(void) const
+{
+    string result;
+
+    result = string(filename) + ":" + String(lineno);
+    if(*additional != '\x0')
+        result += string("(") + additional + ")";
+
+    return result;
+}
+
+
+
+    //è¦ç´ ã®å
+¨åé¤
+Coverage::BranchMap::~BranchMap(void) throw()
+{
+    iterator scope;
+
+    scope = begin();
+    while(scope != end()) {
+        delete scope->second;
+        ++ scope;
+    }
+
+    clear();
+}
+
+    //è¦ç´ ã®ç»é²
+Coverage::BranchBase::BranchBase(const Location & location) throw()
+{
+    BranchMap * bmap = Singleton<BranchMap>::getInstance();
+    NewBranchList * blist = Singleton<NewBranchList>::getInstance();
+
+    (*bmap)[location] = this;
+    blist->push_back(this);
+}
+
+    //locationã«ä¸è´ããè¦ç´ ã®åå¾
+Coverage::BranchBase * Coverage::BranchBase::find(const Location & location) throw()
+{
+    BranchMap * bmap = Singleton<BranchMap>::getInstance();
+    BranchMap::iterator scope;
+    BranchBase * result = 0;
+
+    scope = bmap->find(location);
+    if(scope != bmap->end())
+        result = scope->second;
+
+    return result;
+}
+
+    //BranchIfã³ã³ã¹ãã©ã¯ã¿
+Coverage::If::If(const Location & location) throw() : BranchBase(location), true_case(false), false_case(false)
+{}
+
+    //ifã®æ­£å½æ§å¤å® (æç«/ä¸æç«ã®ä¸¡æ¹ãèµ·ã£ã¦ãã)
+bool Coverage::If::checkValidity(void) const throw()
+{   return true_case && false_case;   }
+
+    //ééæ
+å ±ã®åå¾
+string Coverage::If::getDetails(void) const throw()
+{
+    string result;
+
+    if(true_case)
+        result += "true";
+
+    if(false_case) {
+        if(true_case)
+            result += "/";
+        result += "false";
+    }
+
+    return result;
+}
+
+    //ifåå²ã®ãã§ãã¯
+bool Coverage::If::branch(const Location & location, bool expression) throw()
+{
+    If * node = dynamic_cast<If *>(find(location));
+    if(node == 0)
+        node = new(nothrow) If(location);
+
+    if(node != 0) {
+        if(expression)
+            node->true_case = true;
+        else
+            node->false_case = true;
+    }
+    else
+        cerr << "[Coverage::Branch] Memory allocation error!\n";
+
+    return expression;
+}
+
+
+    //Whileã³ã³ã¹ãã©ã¯ã¿
+Coverage::While::While(const Location & location) throw() : BranchBase(location), valid(false)
+{}
+
+    //Whileã®æ­£å½æ§å¤å® (å°ãªãã¨ãä¸åã¯ã«ã¼ãã®ä¸­ãã¾ãã£ã¦ãã)
+bool Coverage::While::checkValidity(void) const throw()
+{   return valid;   }
+
+    //ééæ
+å ±ã®åå¾
+string Coverage::While::getDetails(void) const throw()
+{
+    string result;
+
+    if(valid)
+        result = "valid";
+    else
+        result = "invalid";
+
+    return result;
+}
+
+    //whileåå²ã®ãã§ãã¯ (å°ãªãã¨ãä¸åã¯ã«ã¼ãã®ä¸­ãã¾ãã£ã¦ãã)
+bool Coverage::While::branch(const Location & location, bool expression) throw()
+{
+    While * node = dynamic_cast<While *>(find(location));
+    if(node == 0)
+        node = new(nothrow) While(location);
+
+    if(node != 0) {
+        if(expression)
+            node->valid = true;
+    }
+    else
+        cerr << "[Coverage::Branch] Memory allocation error!\n";
+
+    return expression;
+}
+
+
+    //Switchã³ã³ã¹ãã©ã¯ã¿
+Coverage::Switch::Switch(const Location & location) throw() : BranchBase(location)
+{}
+
+    //Switchã®æ­£å½æ§å¤å® (ééããè¦ç´ ã ããè¦ãã¦ãã (å¾ã
+å¤å®ãå
+¥ããã))
+bool Coverage::Switch::checkValidity(void) const throw()
+{   return true;   }
+
+    //ééæ
+å ±ã®åå¾
+string Coverage::Switch::getDetails(void) const throw()
+{
+    stringstream buf;
+    set<int>::const_iterator scope;
+
+    scope = checkpoint.begin();
+    while(scope != checkpoint.end()) {
+        buf << *scope;
+
+        ++ scope;
+        if(scope != checkpoint.end())
+            buf << ", ";
+    }
+        
+    return buf.str();
+}
+
+    //Switchåå²ã®ãã§ãã¯
+void Coverage::Switch::_branch(const Location & location, int expression) throw()
+{
+    Switch * node = dynamic_cast<Switch *>(find(location));
+    if(node == 0)
+        node = new(nothrow) Switch(location);
+
+    if(node != 0) {
+        if(expression)
+            node->checkpoint.insert(expression);
+    }
+    else
+        cerr << "[Coverage::Branch] Memory allocation error!\n";
+}
+
+    //å
+¨ã¦ã®é 
+ç®ãè¡¨ç¤º
+void Coverage::printCoverage(ostream & out)
+{
+    BranchMap * bmap = Singleton<BranchMap>::getInstance();
+    BranchMap::iterator scope;
+
+    unsigned long cases = 0;
+    unsigned long fails = 0;
+
+    scope = bmap->begin();
+    while(scope != bmap->end()) {
+        ++ cases;
+
+        if(scope->second->checkValidity())
+            out << "Success : ";
+        else {
+            out << "Failure : ";
+            ++ fails;
+        }
+        out << scope->first.getDetails() << ' ' << scope->second->getDetails() << '\n';
+
+        ++ scope;
+    }
+
+    out << fails << " fails in " << cases << " cases (" << setprecision(2) << (fails * 100.0 / cases) << "%)\n";
+}
+
+    //å
+¨ã¦ééãããã©ããã®ãã§ãã¯
+bool Coverage::checkValidity(void)
+{
+    bool result = true;
+
+    NewBranchList * blist = Singleton<NewBranchList>::getInstance();
+    NewBranchList::iterator scope;
+
+    scope = blist->begin();
+    while(scope != blist->end()) {
+        if(!(*scope)->checkValidity())
+            result = false;
+        ++ scope;
+    }
+
+    blist->clear();
+    return result;
+}
+    //åç§°ã®åå¾
+string Coverage::getBranchName(BranchBase * node)
+{
+        //ä¸è´ããè¦ç´ ã®æ¤ç´¢
+    BranchMap * bmap = Singleton<BranchMap>::getInstance();
+    BranchMap::iterator scope;
+
+    scope = bmap->begin();
+    while(scope != bmap->end()) {
+        if(scope->second == node)
+            break;
+        ++ scope;
+    }
+
+    //assert(scope != bmap->end());
+    
+    return scope->first.getDetails();
+}
+
+#endif /* COVERAGE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_defs.h	(revision 26)
@@ -0,0 +1,242 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: coverage_defs.h,v 1.4 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+/*
+    #ifdefé¢ä¿
+    coverage_defsã¯ãundefsã§è§£é¤ãããã¨ã«èª­ã¿è¾¼ãå ´åãããã®ã§ã
+        ãã¼ããããã¤ãã«åå²ãã¦ãã.
+        - COVERAGE      : ã«ãã¬ãã¸æ©è½ãä½¿ç¨ãããã©ãã
+        - COVERAGE_H    : coverage.cppã«é¢é£ããé¨åã§ãå¤éå®ç¾©ããã¦ã¯å°ããã®
+        - COVERAGE_DEFS : ã«ãã¬ãã¸ã«é¢é£ããé¨åã§ãcoverage_undefs.hã§undefã§ããããä¸åº¦coverage_defs.hãèª­ãã§ãå¤§ä¸å¤«ãªãã®
+*/
+
+
+#ifdef COVERAGE
+
+#include "base/singleton.h"
+
+    /* ããã */
+#include <string>
+#include <map>
+#include <set>
+#include <iostream>
+
+
+#ifndef COVERAGE_H
+#define COVERAGE_H
+/*
+ *   ç°¡åãªã«ãã¬ãã¸ãã§ãã¯
+ */
+
+class Coverage {
+public:
+        /* å ´æãä¿æããã¯ã©ã¹ */
+    class Location {
+    protected:
+        const char *  filename;
+        unsigned int  lineno;
+        const char *  additional;
+
+    public:
+        Location(const char * _filename, unsigned int _lineno, const char * _additional = "") : filename(_filename), lineno(_lineno), additional(_additional) {}
+        Location(const Location & src) : filename(src.filename), lineno(src.lineno), additional(src.additional) {}
+
+        inline Location & operator = (const Location & right)
+        {
+            filename   = right.filename;
+            lineno     = right.lineno;
+            additional = right.additional;
+
+            return *this;
+        }
+
+        inline bool operator == (const Location & right) const
+        {   return lineno == right.lineno && std::string(filename).compare(right.filename) == 0 && std::string(additional).compare(right.additional) == 0;   }
+
+        inline bool operator < (const Location & right) const
+        {
+            if(lineno < right.lineno)
+                return true;
+            if(std::string(filename).compare(right.filename) < 0)
+                return true;
+
+            return false;
+        }
+
+        inline std::string getFilename(void) const
+        {   return std::string(filename);   }
+
+        inline unsigned int getLineno(void) const
+        {   return lineno;   }
+
+        inline std::string getAdditional(void) const
+        {   return std::string(additional);   }
+
+            //ãã©ã¼ãããæ¸ã¿ãã¡ã¤ã«ä½ç½®æ
+å ±ã®åå¾ filename:lineno(additional)
+        std::string getDetails(void) const;
+    };
+
+        //åå²ã«ãã¬ãã¸å¤å®ã®ãã¼ã¹ã¯ã©ã¹
+    class BranchBase {
+    protected:
+        BranchBase(const Location & location) throw();   //è¦ç´ ã®ç»é²
+        static BranchBase * find(const Location & location) throw();     //locationã«ä¸è´ããè¦ç´ ã®åå¾
+
+    public:
+        virtual ~BranchBase(void) throw() {}                        //ãã¹ãã©ã¯ã¿
+        virtual bool checkValidity(void) const throw(...) = 0;      //æ­£å½æ§å¤å®
+        virtual std::string getDetails(void) const throw(...) = 0;  //ãã¼ã¿è¡¨ç¤º
+    };
+
+        //if-statementã«å¼ã£ãããã¯ã©ã¹
+    class If : public BranchBase {
+    protected:
+        bool true_case;
+        bool false_case;
+
+        If(const Location & location) throw(); //branchçµç±ã§ç¡ãã¨çæãããªã
+
+    public:
+        virtual bool checkValidity(void) const throw();         //æ­£å½æ§ã®å¤å®
+        virtual std::string getDetails(void) const throw();     //ãã¼ã¿è¡¨ç¤º
+
+        static bool branch(const Location & location, bool expression) throw();
+    };
+    
+        //while-statementã«å¼ã£ãããã¯ã©ã¹
+    class While : public BranchBase {
+    protected:
+        bool valid;
+
+        While(const Location & location) throw();
+    public:
+        virtual bool checkValidity(void) const throw();         //æ­£å½æ§ã®å¤å®
+        virtual std::string getDetails(void) const throw();     //ãã¼ã¿è¡¨ç¤º
+
+        static bool branch(const Location & location, bool expression) throw();
+    };
+
+        //switch-statementã«å¼ã£ãããã¯ã©ã¹
+    class Switch : public BranchBase {
+    protected:
+        std::set<int> checkpoint;
+
+        Switch(const Location & location) throw();
+        static void _branch(const Location & location, int expression) throw();
+
+    public:
+        virtual bool checkValidity(void) const throw();         //æ­£å½æ§ã®å¤å®
+        virtual std::string getDetails(void) const throw();     //ãã¼ã¿è¡¨ç¤º
+
+        template<class T>
+        static T branch(const Location & location, T expression) throw()
+        {
+            _branch(location, (int)expression);
+            return expression;
+        }
+    };
+
+
+protected:
+    class BranchMap : public std::map<Location, BranchBase *> {
+    public:
+        SINGLETON_CONSTRUCTOR(BranchMap) {}
+        ~BranchMap(void) throw();
+    
+    };
+    class NewBranchList : public std::list<BranchBase *>
+    {   public: SINGLETON_CONSTRUCTOR(NewBranchList) {}   };
+
+        //é 
+ç®ã®è¡¨ç¤º
+    static std::string getBranchName(BranchBase * node);
+
+public:
+        //å
+¨ã¦ééãããã©ããã®ãã§ãã¯
+    static bool checkValidity(void);
+
+        //å
+¨ã¦ã®é 
+ç®ãè¡¨ç¤º
+    static void printCoverage(std::ostream & out);
+
+};
+
+#endif /* COVERAGE_H */
+
+
+#ifndef COVERAGE_DEFS
+#define COVERAGE_DEFS
+
+#define if(x)    i##f(Coverage::If::branch(Coverage::Location(__FILE__, __LINE__, "if"), (x) ? true : false))
+#define while(x) w##hile(Coverage::While::branch(Coverage::Location(__FILE__, __LINE__, "while"), (x) ? true : false))
+#define switch(x) s##witch(Coverage::Switch::branch(Coverage::Location(__FILE__, __LINE__, "switch"), (x)))
+
+#endif  /* COVERAGE_DEFS */
+
+#else
+
+#include <iostream>
+
+#ifndef COVERAGE_H
+#define COVERAGE_H
+class Coverage {
+public:
+    static bool checkValidity(void) { return true; }
+    static void printCoverage(std::ostream &) {}
+};
+#endif /* COVERAGE_H */
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_undefs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_undefs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/coverage_undefs.h	(revision 26)
@@ -0,0 +1,66 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: coverage_undefs.h,v 1.4 2003/12/18 06:42:54 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/coverage_undefs.h,v 1.4 2003/12/18 06:42:54 honda Exp $
+
+#pragma warning(push, 1)
+#pragma warning(disable:4702)
+#pragma warning(disable:4701)
+
+#ifdef COVERAGE_DEFS
+
+#undef while
+#undef if
+#undef switch
+
+#endif /* COVERAGE_DEFS */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/defs.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: defs.h,v 1.10 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+
+// $Header: /home/CVS/configurator/base/defs.h,v 1.10 2003/12/15 07:32:13 takayuki Exp $
+
+#ifndef DEFS_H
+#define DEFS_H
+
+    /*
+     *  å¦çç³»ã«ä¾å­ããé¨å
+     *      é¢æ°åç§° : mktemp, popen, pclose
+     */
+
+#ifdef CALL_EXTERNAL_PROGRAM
+
+    /* Microsoft Visual C++ */
+#if defined(_MSC_VER) || defined(__MINGW__)
+#  include <io.h>
+#  define   popen _popen
+#  define   pclose _pclose
+#  define   mktemp _mktemp
+
+    /* GNU Compiler Collection on Linux environment*/
+#elif defined(__GNUC__)
+#  include  <stdlib.h>
+#  define   mktemp mkstemp
+
+    /* GNU Compiler Collection on Cygwin */
+#elif defined(__CYGWIN__)
+#  include  <stdlib.h>
+#  define   mktemp mkstemp
+
+    /* Borland C++ Compiler */
+#elif defined(__BORLANDC__)
+#  include <io.h>
+#  include <stdio.h>
+#  define   popen  ::std::_popen
+#  define   pclose ::std::_pclose
+#  define   mktemp ::std::_mktemp
+
+#endif
+
+
+    /*
+     *  fc_binutils.cppãä½¿ç¨ãããã­ã°ã©ã ã®å®ç¾©
+     */
+
+#ifdef _MSC_VER
+#  define   CMD_PREPROCESSOR "\"C:\\Program Files\\Microsoft Visual Studio\\VC98\\Bin\\cl.exe\" /E /nologo"
+#  define   CMD_SYMBOLLISTER "nm.exe"
+#  define   CMD_OBJDUMP      "objdump.exe"
+#  define   CMD_OBJCOPY      "objcopy.exe"
+#  define   CMD_GREP         "grep.exe"
+#else
+#  define   CMD_PREPROCESSOR "cpp -ansi"
+#  define   CMD_SYMBOLLISTER "nm"
+#  define   CMD_OBJDUMP      "objdump"
+#  define   CMD_OBJCOPY      "objcopy"
+#  define   CMD_GREP         "grep"
+#endif
+
+#endif /* CALL_EXTERNAL_PROGRAM */
+
+#endif /* DEFS_H */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.cpp	(revision 26)
@@ -0,0 +1,945 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: directorymap.cpp,v 1.12 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+
+// $Header: /home/CVS/configurator/base/directorymap.cpp,v 1.12 2003/12/15 07:32:13 takayuki Exp $
+
+/* MEMO:ã¡ã¢æ¸ã
+     Q: ããããã¯ã©ã¹ã¯ãã³ãã¬ã¼ãã«ããã»ããããã¨æãã?
+     A: ãã¡ã¤ã«ã«åãåºããå¾ãèª­ã¿åºããã¨ãã«ã©ããã£ã¦ã¯ã©ã¹çæãã¹ãããããããªã
+         (ã¯ã©ã¹ãã¡ã¯ããªãä½ãã®ã¯ãããã)
+        ä»ã¨éãåãä»£å
+¥ãããã¨ãã®å¯¾å¦æ³ãããããªã
+*/
+
+
+#include "base/directorymap.h"
+#include "base/message.h"
+#include <stdarg.h>
+#include <typeinfo>
+#include <cassert>
+#include <cstdio>
+
+#ifdef _MSC_VER
+  #pragma warning(disable:4786)
+#endif
+
+using namespace std;
+
+int Directory::defaultflag = Directory::NOTHING;
+
+Directory::Directory(const Directory & src)
+{
+    parent = 0;
+    flag = defaultflag;
+    defaultflag &= ~DESTRUCT;
+
+    type = src.type;
+    switch(type)
+    {
+    case LITERAL:
+        content.literal = new string(*src.content.literal);
+        break;
+    default:
+        content = src.content;
+        break;
+    }
+}
+
+Directory::~Directory(void)
+{
+    disconnect();                       //è¦ªã¨ã®é£çµãè§£é¤
+    map<string,Directory*>::clear();    //å­ãã¼ãã®åé¤
+    clearContent();                         //èªåã®ä¸­èº«ãåé¤ãã
+}
+
+void Directory::clearContent(void)
+{
+    switch(this->getType())
+    {
+    case LITERAL:
+        delete content.literal;
+        break;
+    case OBJECT:
+        delete content.instance;
+        break;
+    default:
+        break;
+    }
+
+    type = UNKNOWN;
+    content.pointer = 0;
+}
+
+Directory * Directory::findNode(bool automatic_creation, const string & path)
+{
+    string::size_type top, tail, length;
+    string work;
+    Directory::iterator scope;
+    Directory * node = this;
+
+    if(this == NULL)
+        return NULL;
+
+    if(path.empty())
+        return this;
+
+    length = path.length();
+    top = 0;
+    if(path[0] == '/')
+    {
+        while(node->getParent() != 0)
+            node = node->getParent();
+        if(path.size() == 1)
+            return node;
+        top = 1;
+    }
+
+    do {
+        tail = path.find_first_of('/', top);
+        if(tail == string::npos)
+            work = path.substr(top);
+        else
+            work = path.substr(top, tail-top);
+
+        if(work.compare(".") == 0 || work.compare("..") == 0)
+        {
+            if(work.size() > 1 && node->getParent() != 0)
+                node = node->getParent();
+        }else
+        {
+            scope = node->begin();
+            while(scope != node->end())
+            {
+                if(work.compare((*scope).first) == 0)
+                    break;
+                ++ scope;
+            }
+
+            if(scope == node->end())
+            {
+                if(!automatic_creation)
+                    return 0;
+                node = node->addChild(work, new Directory);
+            }else
+                node = (*scope).second;
+        }
+        top = tail + 1;
+    } while( tail != string::npos && top < length );
+
+    return node;
+}
+
+Directory * Directory::findNode(bool automatic_creation, const char * key, va_list vl)
+{
+    Directory::iterator scope;
+    Directory * node = this;
+
+    if(this == NULL)
+        return NULL;
+
+    if(key == NULL)
+        return this;
+
+    if(*key == '/' && *(key+1) == '\x0')
+    {
+        while(node->getParent() != 0)
+            node = node->getParent();
+        if(vl == 0)
+            return node;
+        key = va_arg(vl, const char *);
+    }
+
+    do {
+        if(strcmp(key,".") != 0)
+        {
+            if(strcmp(key,"..") == 0)
+            {
+                node = node->parent;
+            }else
+            {
+                scope = node->begin();
+                while(scope != node->end())
+                {
+                    if((*scope).first.compare(key) == 0)
+                        break;
+                    ++ scope;
+                }
+
+                if(scope == node->end())
+                {
+                    if(!automatic_creation)
+                        return 0;
+                    node = node->addChild(key, new Directory);
+                }else
+                    node = (*scope).second;
+            }
+        }
+        if(vl != 0)
+            key = va_arg(vl, const char *);
+        else
+            break;
+    } while( key != 0 && node != 0);
+
+    return node;
+}
+
+Directory & Directory::operator =(void * pointer)
+{
+    if(this->getType() != UNKNOWN && this->getType() != POINTER)
+        clearContent();
+
+    type = POINTER;
+    content.pointer = pointer;
+    return *this;
+}
+
+Directory & Directory::operator =(long value)
+{
+    if(this->getType() != UNKNOWN && this->getType() != INTEGER)
+        clearContent();
+
+    type = INTEGER;
+    content.value = value;
+    return *this;
+}
+
+Directory & Directory::operator =(const string & literal)
+{
+    if(this->getType() != UNKNOWN && this->getType() != LITERAL)
+        clearContent();
+
+    type = LITERAL;
+    content.literal = new string(literal);
+
+    return *this;
+}
+
+Directory & Directory::operator =(const char * constliteral)
+{
+    if(this->getType() != UNKNOWN && this->getType() != CONSTLITERAL)
+        clearContent();
+
+    type = CONSTLITERAL;
+    content.const_literal = constliteral;
+    return *this;
+}
+
+Directory & Directory::operator =(Garbage * instance)
+{
+    if(this->getType() != UNKNOWN)
+        clearContent();
+
+    type = OBJECT;
+    content.instance = instance;
+    return *this;
+}
+
+void * Directory::operator new(size_t sz)
+{
+    defaultflag |= DESTRUCT;
+    return ::operator new(sz);
+}
+
+void * Directory::operator new(size_t sz, nothrow_t)
+{
+    defaultflag |= DESTRUCT;
+    return ::operator new(sz, nothrow);
+}
+
+Directory::operator const long(void) const
+{
+    if( type == UNKNOWN )
+        ExceptionMessage("Bad cast exception","ä¸æ­£ã­ã£ã¹ãä¾å¤") << throwException;
+    return content.value;
+}
+
+void * Directory::operator * (void) const
+{
+    if( type == UNKNOWN )
+        ExceptionMessage("Bad cast exception","ä¸æ­£ã­ã£ã¹ãä¾å¤") << throwException;
+    return content.pointer;
+}
+
+Directory * Directory::addChild(const std::string & key, Directory * node)
+{
+    iterator scope;
+    std::pair<iterator, bool> work;
+
+    if(node == 0)
+        node = new Directory;
+    else
+        if(node->parent != 0)
+            node->disconnect();
+
+    node->parent = this;
+    if((scope = find(key)) != end())
+    {
+        Directory * old = (*scope).second;
+        old->disconnect();
+        old->erase();
+    }
+
+    work = insert(value_type(key, node));
+    node->myself = work.first;
+
+    return node;
+}
+
+Directory::iterator Directory::erase(iterator it)
+{
+    iterator result;
+    Directory * scope = (*it).second;
+
+        //æ»ãå¤ã®ä½æ
+    if((result = it) == begin())
+      ++ result;
+    else
+      -- result;
+
+        //å¤ãããã¼ãã®å¾å§æ«
+    if((scope->flag & DESTRUCT) != 0)
+        delete scope;
+    else
+        scope->erase();
+
+    return result;
+}
+
+void Directory::erase(void)
+{
+    iterator scope;
+
+    if(this != NULL)
+    {
+        if(parent != 0)
+        {
+            parent->erase(myself);
+        }else
+        {
+            while(!empty())
+            {
+                scope = begin();
+                if((scope->second->flag & DESTRUCT) != 0)
+                    delete scope->second;
+                else
+                    scope->second->erase();
+            }
+        }
+    }
+}
+
+void Directory::disconnect(void)
+{
+    if(parent != 0)
+    {
+        parent->map<string,Directory*>::erase(myself);
+        parent = 0;
+    }
+}
+
+Directory * Directory::getNext(void) const
+{
+    if(parent == 0)
+        return 0;
+
+    iterator scope;
+    scope = myself;
+    ++ scope;
+    if(scope == parent->end())
+        return 0;
+
+    return (*scope).second;
+}
+
+Directory * Directory::getPrev(void) const
+{
+    if(parent == 0 && myself == parent->begin())
+        return 0;
+
+    reverse_iterator scope;
+    
+    scope = parent->rbegin();
+    while(scope != parent->rend() && (*scope).second != (*myself).second)
+        ++ scope;
+
+    ++ scope;
+    return scope != parent->rend() ? (*scope).second : 0;
+}
+
+bool Directory::changeKey(const string & key)
+{
+    Directory * scope;
+
+    if( key.size() == 0)
+        return false;
+
+    scope = parent;
+
+    disconnect();
+    scope->addChild(key, this);
+    return true;
+}
+
+
+void Directory::drawTree(ostream * out, int level, string * link)
+{
+    iterator scope;
+    iterator scope2;
+
+    if(level == 0)
+        link = new string;
+    else
+        *out << (*link).substr(0, (level-1)*3) << " +-";
+
+    *out << '[' << getKey() << ']';
+    switch(type)
+    {
+    case POINTER:
+        out->setf(ios::hex);
+        *out << " : PTR [" << content.pointer << "]";
+        break;
+    case INTEGER:
+        out->setf(ios::dec);
+        *out << " : INT [" << content.value << "]";
+        break;
+    case LITERAL:
+        *out << " : STR [" << *content.literal << "]";
+        break;
+    case CONSTLITERAL:
+        *out << " : CSTR[" << content.const_literal << "]";
+        break;
+    case OBJECT:
+        {
+            *out << " : OBJ";
+            break;
+        }
+    case UNKNOWN:
+        break;
+    default:
+        *out << "UNKNOWN";
+    }
+    *out << '\n';
+    (*link) += " | ";
+    scope = begin();
+    while(scope != end())
+    {
+        scope2 = scope;
+        ++ scope;
+
+        if(scope == end())
+            (*link)[level*3+1] = ' ';
+        (*scope2).second->drawTree(out, level+1, link);
+    }
+
+
+    link->erase(level*3);
+    if(level == 0)
+        delete link;
+}
+
+static string escapeXMLLiterals(const string & src)
+{
+    int index;
+    string::size_type pos;
+    string result;
+    const char   literal[4] ="&<>";
+    const char * escape[3]  = {"&amp;","&lt;","&gt;"};
+
+    result = src;
+    for(index = 0; index < 3; index++)
+    {
+        pos = 0;
+        while((pos = result.find_first_of(literal[index],pos)) != string::npos)
+        {
+            result.erase(pos,1);
+            result.insert(pos, escape[index]);
+            ++ pos;
+        }
+    }
+
+    return result;
+}
+
+static string encloseAttributes(const string & src)
+{
+    if(src.find_first_of('"') != string::npos)
+        return string("'") + src + "'";
+    return string("\"") + src + "\"";
+}
+
+void Directory::drawTree_byXML(ostream * out, int level)
+{
+    iterator scope;
+
+    if(level == 0)
+        *out << "<?xml version='1.0' encoding='Shift_JIS' ?>\n<?xml-stylesheet type='text/xsl' href='basic.xsl' ?>\n";
+
+    *out << "<node key=" << encloseAttributes(escapeXMLLiterals(getKey())) << " type='";
+
+    switch(type)
+    {
+    case POINTER:
+        out->setf(ios::hex);
+        *out << "PTR'><value>" << content.pointer << "</value>";
+        break;
+    case INTEGER:
+        out->setf(ios::dec);
+        *out << "INT'><value>" << content.value << "</value>";
+        break;
+    case LITERAL:
+        *out << "STR'><value>" << escapeXMLLiterals(*content.literal) << "</value>";
+        break;
+    case CONSTLITERAL:
+        *out << "CSTR'><value>" << escapeXMLLiterals(content.const_literal) << "</value>";
+        break;
+    case OBJECT:
+        *out << "OBJ'>";
+        break;
+    case UNKNOWN:
+        *out << "'>";
+        break;
+    default:
+        *out << "UNKNOWN'>";
+    }
+    *out << '\n';
+
+    scope = begin();
+    if(scope != end())
+    {
+        *out << "<child>\n";
+        do{
+            scope->second->drawTree_byXML(out, level+1);
+            ++ scope;
+        }while(scope != end());
+        *out << "</child>\n";
+    }
+    *out << "</node>\n";
+}
+ 
+Directory * Directory::findChild(const char * key)
+{
+    string work(key);
+    if(work.find_first_of('/') != string::npos)
+        return findChild(work);
+    return findNode(false, key, 0);
+}
+
+Directory * Directory::findChild(const char * key, const char * second, ... )
+{
+    va_list vl;
+    va_start(vl, second);
+    return findNode(false, key, 0)->findNode(false,second, vl);
+}
+
+Directory * Directory::openChild(const char * key)
+{
+    string work(key);
+    if(work.find_first_of('/') != string::npos)
+        return openChild(work);
+    return findNode(true, key, 0);
+}
+
+
+Directory * Directory::openChild(const char * key, const char * second, ... )
+{
+    va_list vl;
+    va_start(vl, second);
+    return findNode(true, key, 0)->findNode(true, second, vl);
+}
+
+    //æå®ããã­ã¼ãæã¤å­å­«ãæ¢ãããµã¼ãé ã¯ä¸­é 
+Directory * Directory::findDescandant(const string & key, unsigned int level) const
+{
+    Directory::const_iterator scope;
+    const Directory * node = this;
+
+    if(empty())
+        return 0;
+
+        //å­ã§æ¢ã
+    scope = begin();
+    while( scope != end() )
+    {
+        if((*scope).first.compare(key) == 0)
+            return const_cast<Directory *>((*scope).second);
+        ++ scope;
+    }
+
+    if(level > 0)
+    {
+        scope = begin();
+        while( scope != end() )
+        {
+            if((node = (*scope).second->findDescandant(key, level-1)) != 0)
+                return const_cast<Directory *>(node);
+            ++ scope;
+        }
+    }
+    return 0;
+}
+
+void Directory::copyTo(Directory * dest, int nest)
+{
+    Directory::iterator scope;
+    Directory * node;
+
+    if(this == NULL)
+        return;
+
+    assert(dest != NULL);
+
+    node = dest;
+    while(node != 0)
+    {
+        if(node == this)
+             ExceptionMessage("CopyTo: dest must not be a descendant node.","CopyTo: å­å­«ãã¼ãã¸ã®ã³ãã¼ã¯ã§ãã¾ãã") << throwException;
+        node = node->getParent();
+    }
+
+    scope = begin();
+    while(scope != end())
+    {
+        node = dest->findChild((*scope).first);
+        if(node != 0)
+            node->erase();
+
+        node = dest->addChild((*scope).first, new Directory(*(*scope).second));
+        if(nest > 0)
+            (*scope).second->copyTo(node, nest-1);
+
+        ++ scope;
+    }
+}
+
+void Directory::Store(ostream * out)
+{
+    int i;
+    Directory * node;
+
+    out->write((const char *)&type, sizeof(type));
+    switch(type)
+    {
+    case INTEGER:
+        out->write((const char *)&content.value, sizeof(content.value));
+        break;
+    case LITERAL:
+        i = content.literal->size();
+        out->write((const char *)&i, sizeof(int));
+        out->write(content.literal->c_str(), i);
+        break;
+    case CONSTLITERAL:
+        i = strlen(content.const_literal);
+        out->write((const char *)&i, sizeof(int));
+        out->write(content.const_literal, i);
+        break;
+    default:
+        out->write((const char *)&content.pointer, sizeof(content.pointer));
+    }
+    i = size();
+    out->write((const char *)&i, sizeof(int));
+    for(node = getFirstChild(); node != 0; node = node->getNext())
+    {
+        const string & work = node->getKey();
+        i = work.size();
+        out->write((const char *)&i, sizeof(int));
+        out->write(work.c_str(), i);
+        node->Store(out);
+    }
+}
+
+void Directory::Load(istream * in)
+{
+    int i;
+    int count;
+    char buffer[1024];
+
+    in->read((char *)&type, sizeof(type));
+    switch(type)
+    {
+    case INTEGER:
+        in->read((char *)&content.value, sizeof(content.value));
+        break;
+    case CONSTLITERAL:
+    case LITERAL:
+        in->read((char *)&i, sizeof(int));
+        in->read(buffer, i);
+        buffer[i] = '\x0';
+        *this = string(buffer);
+        break;
+    default:
+        in->read((char *)&content.pointer, sizeof(content.pointer));
+    }
+    in->read((char *)&count, sizeof(int));
+    while(count-- > 0)
+    {
+        in->read((char *)&i, sizeof(int));
+        in->read(buffer, i);
+        buffer[i] = '\x0';
+
+        addChild(buffer)->Load(in);
+    }
+}
+
+string Directory::toString(const string & default_value) const
+{
+    if(this == 0)
+        return default_value;
+
+    switch(type)
+    {
+    case POINTER:
+    case OBJECT:
+        {
+            char buffer[256];
+            sprintf(buffer,"%08lx", (long)content.pointer);
+            return string(buffer);
+        }
+    case INTEGER:
+        {
+            char buffer[256];
+            sprintf(buffer,"%ld", content.value);
+            return string(buffer);
+        }
+    case CONSTLITERAL:
+        return string(content.const_literal);
+    case LITERAL:
+        return string(*content.literal);
+        default:
+            return default_value;
+    }
+
+    return default_value;
+}
+
+void * Directory::toPointer(const void * default_value) const
+{
+    if(this == 0)
+        return (void *)default_value;
+
+    switch(type)
+    {
+    case INTEGER:
+        return (void *)&content.value;
+    case CONSTLITERAL:
+        return (void *)content.const_literal;
+    case LITERAL:
+        return (void *)content.literal->c_str();
+    case POINTER:
+        return (void *)content.pointer;
+    case OBJECT:
+        return (void *)content.instance;
+    default:
+        return (void *)default_value;
+    }
+
+    return (void *)default_value;
+}
+
+long Directory::toInteger(const long default_value) const
+{
+    bool minus = false;
+    long work;
+    const char * str;
+
+    if(this == 0)
+        return default_value;
+
+    switch(type)
+    {
+    case INTEGER:
+        return content.value;
+
+    case POINTER:
+        return (long)content.pointer;
+
+    case LITERAL:
+    case CONSTLITERAL:
+        if(type == CONSTLITERAL)
+            str = content.const_literal;
+        else
+            str = content.literal->c_str();
+
+        if(*str == '-')
+        {
+            minus = true;
+            str ++;
+        }
+
+        if(*str == '0')
+        {
+            str ++;
+            if(*str == 'x' || *str == 'X')
+            {
+                if(sscanf(str+1, "%ux", (int *)&work) == 0)
+                    return default_value;
+            }else
+                if(*str != '\x0')
+                {
+                    if(sscanf(str, "%o", (int *)&work) == 0)
+                        return default_value;
+                }else
+                    return 0;
+        }else
+            if(sscanf(str, "%d", (int *)&work) == 0)
+                return default_value;
+
+        if(minus)
+            work = -work;
+        return work;
+    default:
+        return default_value;
+    }
+
+    return default_value;
+}
+
+static string::size_type find_corresponding_parenthesis(const string & target, string::size_type pos = 0, char left = '(', char right = ')')
+{
+    int nest;
+
+    nest = 1;
+    do {
+        if(target[pos] == left)
+        {
+            ++ nest;
+        }else
+        {
+            if(target[pos] == right)
+            {
+                -- nest;
+                if(nest == 0)
+                    return static_cast<int>(pos);
+            }
+        }
+        ++ pos;
+    }while(pos < target.size());
+
+    return string::npos;
+}
+
+
+string Directory::format(const string & fmt, int mode)
+{
+    Directory * node;
+    string work;
+    string key;
+    string default_value;
+    string::size_type top,tail;
+    string::size_type pos;
+    int i;
+
+    default_value.assign("(null)");
+    tail = 0;
+    while((top = fmt.find_first_of('$', tail)) != string::npos)
+    {
+        if(top != tail)
+            work += fmt.substr(tail, top - tail);
+
+        switch(fmt[top+1])
+        {
+        case '$':
+            tail = top+2;
+            work += '$';
+            break;
+
+        case '@':
+            work += (*myself).first;
+            tail = top + 2;
+            break;
+
+        case '(':
+            top += 2;
+            i = find_corresponding_parenthesis(fmt, top);
+            key = fmt.substr(top, i - top);
+
+            if(key.find_first_of('$') != string::npos)
+                key = format(key,mode);
+
+            pos = key.find_first_of(',');
+            if(pos != string::npos)
+            {
+                default_value = key.substr(pos+1);
+                key.erase(pos);
+            }
+
+            node = findNode(false,key);
+            if((mode & PTRPREFIX) != 0 && (node != NULL && node->type == POINTER))
+                work += "0x";
+            work += node->toString(default_value);
+
+            tail = i+1;
+            break;
+        }
+    }
+
+    work += fmt.substr(tail);
+
+    return work;
+}
+
+map<std::string, Directory *>::size_type Directory::size(map<string, Directory *>::size_type defval) const
+{
+    size_type      i;
+    const_iterator scope;
+
+    if(this == NULL)
+        return defval;
+
+    i = 0;
+    scope = begin();
+    while(scope != end())
+        ++ i, ++ scope;
+
+    return i;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/directorymap.h	(revision 26)
@@ -0,0 +1,414 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: directorymap.h,v 1.9 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/directorymap.h,v 1.9 2003/12/15 07:32:13 takayuki Exp $
+
+#ifndef DIRECTORYMAP_H
+#define DIRECTORYMAP_H
+
+#ifdef _MSC_VER
+    #pragma warning(disable:4786)
+#endif
+
+#include "base/message.h"
+#include "base/garbage.h"
+#include "base/singleton.h"
+
+  //MSVC6.0ã <cstdio> ãã¦ãstdã«å
+¥ãã¦ãããªãã®ã§
+#include <stdio.h>
+
+#include <string>
+#include <map>
+#include <iostream>
+#include <cstring>
+
+class Directory : public std::map<std::string, Directory *>
+{
+private:
+    /*
+     * Directoryã¯ã©ã¹ : è¨­è¨ã¡ã¢
+     *
+     *   ã»è¦ªå­ãã¼ãéã®é¢ä¿
+     *      çæ : è¦ªã å­ãç´æ¥ããã£ã¦ãªã³ã¯ãå¼µã
+     *      ç ´æ£ : å­ã è¦ªããã®ç¬ç«ãä¾é ¼ãã (è¦ªããä¸æ¹çã«åå½ããªã)
+     *
+     *   ã»NULLã»ã¼ãå®è£
+
+     *      ä¸é¨ã®é¢æ°ã¯ this != NULL ãä»®å®ããªãã§å®è£
+ãã (èªåã¸ã®å©ä¾¿æ§åä¸)
+     *        - addChild
+     *        - findChild, openChild (findNode()
+     *        - erase(void)
+     *        - getFirstChild, getLastChild, getNext, getPrev
+     */
+
+public:
+    enum tagtype
+    {
+        UNKNOWN,
+        POINTER,
+        INTEGER,
+        LITERAL,
+        CONSTLITERAL,
+        OBJECT
+    };
+
+    enum tagflag
+    {
+        NOTHING  = 0,
+        DESTRUCT = 1,
+        UNSIGNED = 2
+    };
+
+    enum tagmode
+    {
+        PTRPREFIX = 1
+    };
+
+protected:
+    static int defaultflag;
+
+    enum tagtype type;
+    int flag;
+
+    Directory * parent;
+    std::map<std::string, Directory *>::iterator myself;
+
+    union
+    {
+        void * pointer;
+        long value;
+        const char * const_literal;
+        std::string * literal;
+        class Garbage * instance;
+    } content;
+
+    Directory(const Directory &);
+    void initialize(void);
+    void clearContent(void);
+
+    Directory * findNode(bool, const std::string &);
+    Directory * findNode(bool automatic_creation, const char * key, va_list vl);
+
+public:
+    SINGLETON_CONSTRUCTOR(Directory) { initialize(); }
+
+    Directory(void);
+    Directory(int);
+    Directory(long);
+    Directory(const std::string &);
+    Directory(void *);
+    explicit Directory(const char *);
+    explicit Directory(Garbage *);
+    ~Directory(void);
+
+    Directory & operator =(void *);
+    Directory & operator =(long);
+    Directory & operator =(const char *);
+    Directory & operator =(const std::string &);
+    Directory & operator =(Garbage *);
+
+    bool operator == (enum tagtype cmptype)
+    {   return type == cmptype;   };
+
+    Directory * operator ()(const std::string & src)
+    {   return findChild(src);  };
+    Directory * operator ()(const char * src)
+    {   return findChild(src);  };
+
+    Directory & operator [](const std::string & src)
+    {   return *openChild(src); };
+    Directory & operator [](const char * src)
+    {   return *openChild(std::string(src));    };
+
+    enum tagtype getType(void) const { return type; };
+    Directory *  getParent(void) const { return parent; };
+    Directory *  getParent(int) const;
+    Directory *  getNext(void) const;
+    Directory *  getPrev(void) const;
+    Directory *  getFirstChild(void) const;
+    Directory *  getLastChild(void) const;
+    Directory *  findChild(const std::string &);
+    Directory *  findChild(const char *);
+    Directory *  findChild(const char *, const char * , ... );
+    Directory *  findDescandant(const std::string &, unsigned int = 0xffffffff) const;
+    Directory *  openChild(const std::string &);
+    Directory *  openChild(const char *);
+    Directory *  openChild(const char *, const char *, ... );
+
+    void * operator new(size_t);
+    void * operator new(size_t, std::nothrow_t);
+    void * operator * (void) const;
+
+    operator const long (void) const;
+    operator const unsigned long (void) const;
+    operator const int (void) const;
+    operator const unsigned int (void) const;
+    operator const char (void) const;
+    operator const unsigned char (void) const;
+    operator const char * (void);
+    operator const std::string & (void) const;
+    operator const Garbage * (void) const;
+    operator const void * (void) const;
+
+    void * toPointer(const void * default_value = 0) const;
+    long toInteger(const long default_value = 0) const;
+    std::string toString(const std::string & default_value = "") const;
+
+    bool operator == (int) const;
+    bool operator == (const std::string &) const;
+    bool operator == (const char *) const;
+
+    template<class T>
+    bool operator != (T src) const
+    {   return !(this->operator ==(src));   };
+
+
+    Directory * addChild(const std::string &, Directory * = 0);
+    Directory * addChild(const char *, Directory * = 0);
+    Directory * addChild(const std::string &, Directory &);
+    Directory * addChild(const char *, Directory &);
+    Directory * addChild(Directory &);
+    Directory * addChild(Directory * = 0);
+
+    void erase(void);
+    iterator erase(iterator);
+    void disconnect(void);
+    void copyTo(Directory *, int = 0x7fffffff);
+    void dropValue(void);
+    std::map<std::string, Directory *>::size_type size(std::map<std::string, Directory *>::size_type = 0) const;
+
+    const std::string getKey(void) const;
+    bool changeKey(const std::string &);
+    bool changeKey(const char *);
+
+    void Load(std::istream *);
+    void Store(std::ostream *);
+
+    void drawTree(std::ostream * = &std::cerr, int = 0, std::string * = 0);
+    void drawTree_byXML(std::ostream * = &std::cerr, int = 0);
+
+    std::string format(const char *, int mode = 0);
+    std::string format(const std::string &, int mode = 0);
+};
+
+
+//------
+
+inline void Directory::initialize(void)
+{
+    parent = 0;
+    type = UNKNOWN;
+    flag = defaultflag;
+    content.pointer = 0;
+    defaultflag &= ~DESTRUCT;
+}
+
+inline Directory::Directory(void)
+{   initialize();    }
+
+inline Directory::Directory(long val)
+{
+    initialize();
+    *this = val;
+}
+
+inline Directory::Directory(int val)
+{
+    initialize();
+    *this = (long)val;
+}
+
+inline Directory::Directory(void * val)
+{
+    initialize();
+    *this = val;
+}
+
+inline Directory::Directory(const std::string & val)
+{
+    initialize();
+    *this = val;
+}
+
+inline Directory::Directory(const char * val)
+{
+    initialize();
+    *this = val;
+}
+
+inline Directory::Directory(Garbage * val)
+{
+    initialize();
+    *this = val;
+}
+
+inline Directory * Directory::addChild(const char * key, Directory * node)
+{   return addChild(std::string(key), node);    }
+
+inline Directory * Directory::addChild(const std::string & key, Directory & node)
+{   return addChild(key, &node);    }
+
+inline Directory * Directory::addChild(const char * key, Directory & node)
+{   return addChild(std::string(key), &node);   }
+
+inline Directory * Directory::addChild(Directory & node)
+{   return addChild(&node); }
+
+    //ãã®addChildã§è¿½å ããè¦ç´ ã¯ãä¸æ¬åé¤ããããæ¶ãã¦ã¯ãããªã
+inline Directory * Directory::addChild(Directory * node)
+{
+    char buffer[32];
+    sprintf(buffer,"%03d", (int)size());
+    return addChild(buffer, node);
+}
+
+inline bool Directory::changeKey(const char * key)
+{   return changeKey(std::string(key)); }
+
+inline const std::string Directory::getKey(void) const
+{
+    if(parent == 0)
+        return std::string("/");
+    return (*myself).first;
+}
+
+inline Directory::operator const unsigned long (void) const
+{   return static_cast<const unsigned long>(this->operator const long());  }
+
+inline Directory::operator const int (void) const
+{   return static_cast<const int>(this->operator const long());  }
+
+inline Directory::operator const unsigned int (void) const
+{   return static_cast<const unsigned int>(this->operator const long());  }
+
+inline Directory::operator const char (void) const
+{   return static_cast<const char>(this->operator const long());  }
+
+inline Directory::operator const unsigned char (void) const
+{   return static_cast<const unsigned char>(this->operator const long());  }
+
+inline Directory::operator const char * (void)
+{
+    if(type == CONSTLITERAL)
+        return content.const_literal;
+    if(type == LITERAL)
+        return content.literal->c_str();
+    ExceptionMessage("Bad cast exception raised","ä¸æ­£ã­ã£ã¹ãä¾å¤").throwException();
+    return 0;
+}
+
+inline Directory::operator const std::string &(void) const
+{
+    if(type == LITERAL)
+        return *content.literal;
+    ExceptionMessage("Bad cast exception raised","ä¸æ­£ã­ã£ã¹ãä¾å¤").throwException();
+    return *(std::string *)0;
+}
+
+inline Directory::operator const Garbage * (void) const
+{
+    if(type == OBJECT)
+        return content.instance;
+    ExceptionMessage("Bad cast exception raised","ä¸æ­£ã­ã£ã¹ãä¾å¤").throwException();
+    return 0;
+}
+
+inline Directory::operator const void * (void) const
+{   return **this;  }
+
+inline Directory * Directory::findChild(const std::string & path)
+{   return findNode(false, path);  }
+
+inline Directory * Directory::openChild(const std::string & path)
+{   return findNode(true, path);  }
+
+inline Directory * Directory::getParent(int level) const
+{
+    const Directory * node = this;
+    while(level-- > 0 && node != 0)
+        node = node->parent;
+    return const_cast<Directory *>(node);
+}
+
+inline Directory * Directory::getFirstChild(void) const
+{
+    if(this == 0 || size()== 0)
+        return 0;
+    return (*begin()).second;
+}
+
+inline Directory * Directory::getLastChild(void) const
+{
+    if(this == 0 || size()== 0)
+        return 0;
+    return (*rbegin()).second;
+}
+
+inline bool Directory::operator == (int src) const
+{   return type == INTEGER && content.value == src; }
+
+inline bool Directory::operator == (const std::string & src) const
+{   return (type == LITERAL && src.compare(*content.literal) == 0) || (type == CONSTLITERAL && src.compare(content.const_literal) == 0);    }
+
+inline bool Directory::operator == (const char * src) const
+{   return (type == LITERAL && content.literal->compare(src) == 0) || (type == CONSTLITERAL && strcmp(content.const_literal, src)== 0); }
+
+inline std::string Directory::format(const char * src, int mode)
+{   return format(std::string(src), mode);  }
+
+inline void Directory::dropValue(void)
+{   clearContent();   }
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.cpp	(revision 26)
@@ -0,0 +1,212 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: event.cpp,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/event.cpp,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+
+#include "base/event.h"
+
+using namespace std;
+
+/***************************** ãã¹ãã¹ã£ã¼ã *****************************/
+
+#ifdef TESTSUITE
+#include "base/coverage_undefs.h"
+
+namespace {
+    class Event_fortest : public Event<int> 
+    {   TESTSUITE_PROTOTYPE(main)   };
+
+    int * ptr_i_dummy_handler;
+    void dummy_handler(int & i)
+    {
+        ptr_i_dummy_handler = &i;
+        ++ i;
+        TestSuite::check("dummy_handler");
+    }
+
+    class EventHandler : public Event_fortest::Handler
+    {
+    public:
+        int * ptr_i;
+
+        EventHandler(void)  throw() { TestSuite::check("EventHandler::EventHandler");  }
+        ~EventHandler(void) throw() { TestSuite::check("EventHandler::~EventHandler"); }
+        void handler(Event_fortest::value_type & i) { ptr_i = &i; ++i; TestSuite::check("EventHandler::handler"); }
+    };
+}
+
+TESTSUITE(main,Event_fortest)
+{
+    BEGIN_CASE("add","add") {
+        BEGIN_CASE("1","addã§ãã³ãã©ãç»é²ã§ãã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+
+            Event_fortest::add(dummy_handler);
+
+            TEST_CASE("1","ãã³ãã©ãªã¹ãã1å¢ãã¦ãã", Singleton<Event_fortest::handler_list_type>::getInstance()->size() == 1);
+            TEST_CASE("2","ãã³ãã©ãªã¹ãã®ä¸­èº«ã¯æ­£ãã", *Singleton<Event_fortest::handler_list_type>::getInstance()->begin() == dummy_handler);
+        } END_CASE;
+
+        BEGIN_CASE("2","åããã³ãã©ãè¤æ°åç»é²ã§ãã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+
+            Event_fortest::add(dummy_handler);
+            Event_fortest::add(dummy_handler);
+            Event_fortest::add(dummy_handler);
+
+            TEST_CASE("1","ãã³ãã©ãªã¹ãã®ä¸­èº«ã¯3", Singleton<Event_fortest::handler_list_type>::getInstance()->size() == 3);
+            TEST_CASE("2","ãã³ãã©ãªã¹ãã®ä¸­èº«ã¯æ­£ãã", *Singleton<Event_fortest::handler_list_type>::getInstance()->begin() == dummy_handler);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("remove","remove") {
+        BEGIN_CASE("1","addã§ç»é²ãããã³ãã©ãåé¤ã§ãã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+
+            Event_fortest::add(dummy_handler);
+            Event_fortest::remove(dummy_handler);
+
+            TEST_CASE("1","ãã³ãã©ãªã¹ãã®è¦ç´ æ°ã¯0", Singleton<Event_fortest::handler_list_type>::getInstance()->size() == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","ç»é²ããå
+¨ã¦ã®ãã³ãã©ãæ¶ãã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+
+            Event_fortest::add(dummy_handler);
+            Event_fortest::add(dummy_handler);
+            Event_fortest::add(dummy_handler);
+            Event_fortest::remove(dummy_handler);
+
+            TEST_CASE("1","ãã³ãã©ãªã¹ãã®è¦ç´ æ°ã¯0", Singleton<Event_fortest::handler_list_type>::getInstance()->size() == 0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("constructor/destructor","constructor/destructor") {
+        Singleton<Event_fortest::Handler::instance_list_type>::renewInstance();
+
+        TEST_CASE("0","[åæ] ãã³ãã©ãªã¹ãã®ä¸­èº«ã¯0", Singleton<Event_fortest::Handler::instance_list_type>::getInstance()->size() == 0);
+        {
+            EventHandler evhdr;
+            TEST_CASE("1","ãã³ãã©ãªã¹ãã«ç»é²ããã¦ãã", Singleton<Event_fortest::Handler::instance_list_type>::getInstance()->size() == 1);
+            TEST_CASE("2","æ­£ããç»é²ããã¦ãã", *Singleton<Event_fortest::Handler::instance_list_type>::getInstance()->begin() == &evhdr);
+        }
+        TEST_CASE("3","ãã³ãã©ã¯è§£é¤ããã¦ãã", Singleton<Event_fortest::Handler::instance_list_type>::getInstance()->size() == 0);
+    } END_CASE;
+
+    BEGIN_CASE("raise","raise") {
+        BEGIN_CASE("1","ç»é²ããéçãªãã³ãã©ãå®è¡ããã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+            TestSuite::clearCheckpoints();
+
+            Event_fortest::add(dummy_handler);
+
+            int i = 0;
+            Event_fortest::raise(i);
+
+            TEST_CASE("1","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("dummy_handler"));
+            TEST_CASE("2","å¼æ°éã§è¦ã¦ããå¤æ°ã¯åä¸", &i == ptr_i_dummy_handler);
+            TEST_CASE("3","å¤ãã¤ã³ã¯ãªã¡ã³ãããã¦ãã", i == 1);
+        } END_CASE;
+
+        BEGIN_CASE("2","ç»é²ããã¤ã³ã¹ã¿ã³ã¹ã®ãã³ãã©ãå®è¡ããã") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+            TestSuite::clearCheckpoints();
+            EventHandler evhdr;
+
+            int i = 0;
+            Event_fortest::raise(i);
+
+            TEST_CASE("1","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("EventHandler::handler"));
+            TEST_CASE("2","å¼æ°éã§è¦ã¦ããå¤æ°ã¯åä¸", &i == evhdr.ptr_i);
+            TEST_CASE("3","å¤ãã¤ã³ã¯ãªã¡ã³ãããã¦ãã", i == 1);
+        } END_CASE;
+
+        BEGIN_CASE("3","ä¸¡æ¹åæ (é çªã¯ç¹ã«æ°ã«ããªã)") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+            TestSuite::clearCheckpoints();
+            EventHandler evhdr;
+
+            Event_fortest::add(dummy_handler);
+
+            int i = 0;
+            Event_fortest::raise(i);
+
+            TEST_CASE("1","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("dummy_handler"));
+            TEST_CASE("2","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("EventHandler::handler"));
+            TEST_CASE("3","å¤ãã¤ã³ã¯ãªã¡ã³ãããã¦ãã", i == 2);
+        } END_CASE;
+
+        BEGIN_CASE("4","è¤æ°ç»é²") {
+            Singleton<Event_fortest::handler_list_type>::renewInstance();
+            TestSuite::clearCheckpoints();
+            EventHandler evhdr;
+            EventHandler evhdr2;
+
+            Event_fortest::add(dummy_handler);
+            Event_fortest::add(dummy_handler);
+
+            int i = 0;
+            Event_fortest::raise(i);
+
+            TEST_CASE("1","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("dummy_handler"));
+            TEST_CASE("2","ãã³ãã©ãå®è¡ããã",TestSuite::isReached("EventHandler::handler"));
+            TEST_CASE("3","å¤ãã¤ã³ã¯ãªã¡ã³ãããã¦ãã", i == 4);
+        } END_CASE;
+    } END_CASE;
+}
+
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/event.h	(revision 26)
@@ -0,0 +1,211 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: event.h,v 1.9 2004/09/06 15:00:49 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/event.h,v 1.9 2004/09/06 15:00:49 honda Exp $
+
+#ifndef EVENT_H
+#define EVENT_H
+
+#include "base/testsuite.h"
+#include "base/singleton.h"
+
+#include <list>
+
+    //ã¤ãã³ãããã¯ã®åãã¾ã¨ãå½¹
+template<typename T>
+class Event
+{
+public:
+    typedef void (*handler_type)(T &);
+
+    class handler_list_type : public std::list<handler_type>
+    {   public: SINGLETON_CONSTRUCTOR(handler_list_type) throw() {}   };
+
+    /*
+     *   ã¯ã©ã¹ã®ä¸­ã®ãã³ãã©ç¨
+     */
+
+    class Handler
+    {
+    friend class Event;
+    public:
+        class instance_list_type : public std::list<Handler *>
+        {   public: SINGLETON_CONSTRUCTOR(instance_list_type) throw() {}   };
+
+        virtual void handler(T & ev) = 0;
+
+    protected:
+            //ç»é²
+        Handler(void) throw()
+        {   Singleton<instance_list_type>::getInstance()->push_back(this);   }
+        
+            //ç»é²è§£é¤
+        virtual ~Handler(void) throw()
+        {
+            typename Event<T>::Handler::instance_list_type * list = Singleton<instance_list_type>::getInstance(std::nothrow);
+            typename Event<T>::Handler::instance_list_type::iterator scope;
+
+            if(list != 0) {
+                scope = list->begin();
+                while(scope != list->end()) {
+                    if(*scope == this) {
+                        typename Event<T>::Handler::instance_list_type::iterator target = scope;
+                        ++ scope;
+                        list->erase(target);
+                    }
+                    else
+                        ++ scope;
+                }
+            }
+        }
+    };
+
+public:
+    typedef T value_type;
+
+    Event(void) {}
+    virtual ~Event(void) {}
+
+    /*
+     *  ã¹ã¿ãã£ãã¯ãªãã³ãã©ç¨
+     */
+
+        //ã¤ãã³ãã«ãã³ãã©ãè¿½å 
+    inline static void add(handler_type func) throw(std::bad_alloc)
+    {   Singleton<handler_list_type>::getInstance()->push_back(func);   }
+
+        //ã¤ãã³ããããã³ãã©ãåé¤
+    static void remove(handler_type func) throw()
+    {
+        typename Event<T>::handler_list_type * list;
+        typename Event<T>::handler_list_type::iterator scope;
+
+        list = Singleton<handler_list_type>::getInstance(std::nothrow);
+        if(list != 0) {
+            scope = list->begin();
+            while(scope != list->end()) {
+                if(*scope == func) {
+                    typename handler_list_type::iterator target = scope;
+                    ++ scope;
+                    list->erase(target);
+                }
+                else
+                    ++ scope;
+            }
+        }
+    }
+
+    /*
+     *  å
+±éæä½
+     */
+        //ã¤ãã³ãã®çºç
+    static void raise(T & ev)
+    {
+            typedef typename Event<T>::handler_list_type handler_list_type_t; 
+            typedef typename Event<T>::Handler::instance_list_type instance_list_type_t;
+
+        /* ç»é²ãããéçãªé¢æ°ã«ã¤ãã³ããçºè¡ */ {
+           handler_list_type_t * list;
+            typename handler_list_type_t::iterator scope;
+
+            list = Singleton<handler_list_type_t>::getInstance();   //throw(bad_cast)
+
+            scope = list->begin();
+            while(scope != list->end()) {
+                (**scope)(ev);
+                ++ scope;
+            }
+        }
+
+        /* ç»é²ãããã¯ã©ã¹ã¤ã³ã¹ã¿ã³ã¹ã«ã¤ãã³ããçºè¡ */ {
+            instance_list_type_t * list;
+            typename instance_list_type_t::iterator scope;
+
+            list = Singleton<instance_list_type_t>::getInstance();  //throw(bad_cast)
+
+            scope = list->begin();
+            while(scope != list->end()) {
+                (*scope)->handler(ev);
+                ++ scope;
+            }
+        }
+    }
+
+        //ã¤ãã³ãã®çºç (å¼æ°ãªã)
+    inline static void raise(void)
+    {
+        T ev;
+        raise(ev);
+    }
+};
+
+
+    /*
+     *  æ±ç¨ã¤ãã³ã
+     */
+
+    //ã³ã³ã¹ãã©ã¯ã¿ãèµ·åãçµãã£ããã¨ãçã£å
+ã«èµ·ãã¤ãã³ã
+class StartupEvent {};
+
+
+    //æåå¤±æãåããããã­ã°ã©ã ãçµããã¨ãã«èµ·ãã¤ãã³ã
+struct ShutdownEvent
+{
+    int exit_code;
+};
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.cpp	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: except.cpp,v 1.7 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/except.cpp,v 1.7 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/except.h"
+
+using namespace std;
+
+    //ä¾å¤è¨±å¯
+bool Exception::is_throwable = true;
+
+    //ã³ã¼ãã¨æå­åãæå®ãã¦çæ
+Exception::Exception(string _classname, int _code, string _details) throw()
+{
+    classname = _classname;
+    code      = _code;
+    details   = _details.empty() ? _classname : _details;
+}
+
+    //è©³ç´°æå­åãè¨­å®ãã¦çæ
+Exception::Exception(string _classname, string _details) throw()
+{
+    classname = _classname;
+    code      = 0;
+    details   = _details;
+}
+
+    //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+Exception::Exception(const Exception & src) throw()
+{
+    classname = src.classname;
+    code      = src.code;
+    details   = src.details;
+}
+
+    //ãã¹ãã©ã¯ã¿
+Exception::~Exception(void) throw()
+{}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/except.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: except.h,v 1.9 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/except.h,v 1.9 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef EXCEPT_H
+#define EXCEPT_H
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4290) //C++ ã®ä¾å¤ã®æå®ã¯ç¡è¦ããã¾ããé¢æ°ã __declspec(nothrow) ã§ãªããã¨ã®ã¿è¡¨ç¤ºããã¾ãã
+#endif
+
+//#include "testsuite.h"
+
+#include <string>
+#include <typeinfo>
+
+    //ä¾å¤åºåºã¯ã©ã¹
+class Exception
+{
+private:
+    static bool is_throwable;
+
+protected:
+    int         code;       //ä¾å¤ã³ã¼ã
+    std::string classname;  //ãã®ä¾å¤ãçæããã¯ã©ã¹ã®åå (è­å¥ç¨)
+    std::string details;    //ä¾å¤ã®èª¬æ
+
+        //ã³ã³ã¹ãã©ã¯ã¿
+    Exception(std::string classname = "Exception", int code = 0, std::string details = "") throw();
+    Exception(std::string classname, std::string details) throw();
+
+        //ãã¹ãã©ã¯ã¿
+public:
+    Exception(const Exception & src) throw();
+
+    virtual ~Exception(void) throw();
+
+        //is-an-instance-ofé¢ä¿ã®è©ä¾¡
+    inline bool isInstanceOf(const char * _classname) const throw()
+    {   return classname.compare(_classname) == 0;   }
+
+        //ä¾å¤ã³ã¼ããåå¾ãã
+    inline int getCode(void) const throw()
+    {   return code;   }
+
+        //ä¾å¤ã®èª¬æãåå¾ãã
+    inline std::string getDetails(void) const throw()
+    {   return details;   }
+
+        //ç¾å¨ã®ä¾å¤å¶å¾¡ãã©ã°ã®ç¶æ
+ã«å¾ã£ã¦ä¾å¤ãçºè¡ãã
+    inline bool throwException(void)
+    {
+        if(is_throwable)
+            throw *this;
+        return is_throwable;
+    }
+
+        //is_throwableã®ã¢ã¯ã»ãµ
+    static void setThrowControl(bool _throwable) throw()
+    {   is_throwable = _throwable;   }
+
+    static bool getThrowControl(void) throw()
+    {   return is_throwable;   }
+
+
+//  TESTSUITE_PROTOTYPE(main)
+};
+
+
+#define EXCEPTION(x)       class x : public Exception { public: x(void) throw() : Exception(#x)       {} };
+#define EXCEPTION_(x,y)    class x : public Exception { public: x(void) throw() : Exception(#x, y)    {} };
+#define EXCEPTION__(x,y,z) class x : public Exception { public: x(void) throw() : Exception(#x, y, z) {} };
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_bfd.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_bfd.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_bfd.cpp	(revision 26)
@@ -0,0 +1,254 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fc_bfd.cpp,v 1.8 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+
+#include "base/filecontainer.h"
+
+#include "base/message.h"
+
+#include "bfd.h"
+#include "libiberty.h"
+
+#include <string>
+#include <map>
+
+using namespace std;
+
+
+/*
+ *  BFDãä½¿ã£ããã¡ã¤ã«ã³ã³ããã¯ã©ã¹
+ */
+class filecontainer_BFD : public filecontainer
+{
+protected:
+    bfd * object;                           //ãªãã¸ã§ã¯ã
+    map<string, asymbol *> symbol_table;    //æ¤ç´¢ç¨ããã·ã¥ãã©ã
+    asymbol ** symbol_container;
+
+public:
+    filecontainer_BFD(void)  throw();
+    ~filecontainer_BFD(void) throw();
+
+    virtual bool attach_module(const char *);
+    virtual bool change_endian(void * target, unsigned int size);
+    virtual bool load_contents(void * dest, unsigned long address, unsigned int size);
+    virtual unsigned long get_symbol_address(const char *);
+    virtual const char * get_architecture(void);
+
+} Instance_of_filecontainer_BFD;
+
+filecontainer_BFD::filecontainer_BFD(void) throw()
+{
+    bfd_init();
+
+    object = NULL;
+    symbol_table.clear();
+    symbol_container = NULL;
+    instance = this;
+}
+
+filecontainer_BFD::~filecontainer_BFD(void) throw()
+{
+    if(object != NULL)
+        bfd_close(object);
+}
+
+/*
+ *  attach_module : å¯¾è±¡ã¢ã¸ã¥ã¼ã«ãã¢ã¿ãããã
+ */
+bool filecontainer_BFD::attach_module(const char * filename)
+{
+    char ** target_list;
+    asymbol ** symbols;
+    asymbol *  sym;
+    int num_syms;
+    boolean result;
+    int i;
+
+    if(object != NULL)
+        bfd_close(object);
+    symbol_table.clear();
+
+        //ã¢ã¸ã¥ã¼ã«ãªã¼ãã³ (èª­è¾¼ç¨)
+    object = bfd_openr(filename, "default");
+
+        //ã¿ã¼ã²ããè§£æ±º
+    target_list = (char **)bfd_target_list();
+    result = bfd_check_format_matches(object, bfd_object, &target_list);
+    if(result == 0)
+        ExceptionMessage("Internel error: BFD could not recognize the target file format.","å
+é¨ã¨ã©ã¼: BFDã¯ãã¡ã¤ã«ã®èª­ã¿åºãã«å¤±æãã¾ãã").throwException();
+
+        //ã·ã³ãã«ã®ããã·ã¥ãã©ãä½æ
+    symbols = (asymbol **)xmalloc( bfd_get_symtab_upper_bound(object) );
+    num_syms = bfd_canonicalize_symtab(object, symbols);
+
+    for(i=0;i<num_syms;i++)
+    {
+        sym = *(symbols+i);
+        if(sym != NULL && sym->name != NULL && *(sym->name) != '\x0')
+            symbol_table[string(sym->name)] = sym;
+    }
+
+    symbol_container = symbols;
+    return true;
+}
+
+bool filecontainer_BFD::change_endian(void * target, unsigned int size)
+{
+        //ãã¹ãã¯ãªãã«ã¨ä»®å®
+    enum bfd_endian host_endian = BFD_ENDIAN_LITTLE;
+
+    char * top, * tail;
+
+    if(object == NULL)
+        return false;
+
+    if(object->xvec->byteorder == BFD_ENDIAN_UNKNOWN)
+        return false;
+
+/*
+    unsigned int __work = 0x1;
+    if( *(char *)__work == 0)
+        host_endian = BFD_ENDIAN_BIG;
+*/
+
+    if(object->xvec->byteorder == host_endian)
+        return true;
+
+    /*
+     *  ã¡ã¤ã³ã«ã¼ã : bswapããªãã§ãç´ ç´ã«æ¸ã
+     */
+
+    top  = (char *)target;
+    tail = (char *)target+size -1;
+
+    while(top < tail)
+    {
+        *top ^= *tail, *tail ^= *top, *top ^= *tail;
+        top ++;
+        tail --;
+    }
+
+    return true;
+}
+
+
+bool filecontainer_BFD::load_contents(void * dest, unsigned long address, unsigned int size)
+{
+    struct sec * section;
+
+    if(object == 0)
+        return false;
+
+        //å¯¾è±¡ã¢ãã¬ã¹ãä¿æããã»ã¯ã·ã§ã³ãæ¢ã
+    section = object->sections;
+    while(section != 0)
+    {
+        if(address - (unsigned long)section->vma <= section->_raw_size 
+            && (section->flags & (SEC_ALLOC|SEC_HAS_CONTENTS)) == (SEC_ALLOC|SEC_HAS_CONTENTS))
+        {
+                //èª­ã¿åºã
+            bfd_get_section_contents(object, section, dest, address - (unsigned long)section->vma, size);
+            return true;
+        }
+        section = section->next;
+    }
+
+        //ã©ãã«ããªã
+    ExceptionMessage("Internel error: Memory read with unmapped address","å
+é¨ã¨ã©ã¼; ãããããã¦ãªãã¢ãã¬ã¹ãä½¿ã£ã¦ã¡ã¢ãªãªã¼ããè¡ããã¾ãã").throwException();
+
+    return false;
+}
+
+
+/*
+ * get_symbol_address : ã·ã³ãã«åããã¢ãã¬ã¹å¤ãåå¾ãã
+ */
+unsigned long filecontainer_BFD::get_symbol_address(const char * symbol)
+{
+    map<string, asymbol *>::iterator scope;
+    string symbol_name;
+
+    if(object == 0)
+        ExceptionMessage("Not initialized","åæåããã¦ã¾ãã").throwException();
+
+        //ã·ã³ãã«åãçæãã ("_"ã¨ãã®å¦ç)
+    if(object->xvec->symbol_leading_char != '\x0')
+        symbol_name += object->xvec->symbol_leading_char;
+    symbol_name += symbol;
+
+    scope = symbol_table.find(symbol_name);
+    if(scope == symbol_table.end())
+        return 0;
+        //Exception("Internal error: Unknown symbol [%s]","å
+é¨ã¨ã©ã¼: ä¸æãªã·ã³ãã« [%s]").format(symbol_name.c_str());
+
+        //Address = ã»ã¯ã·ã§ã³å
+ãªãã»ããå¤ + ã»ã¯ã·ã§ã³ã®VMA
+    return (*scope).second->value + (*scope).second->section->vma;
+}
+
+/*
+ * get_architecture : ã¢ã¼ã­ãã¯ãã£åã®åå¾
+ */
+const char * filecontainer_BFD::get_architecture(void)
+{
+    if(object == NULL)
+        return "Unknown";
+
+        //ã¨ããããã¿ã¼ã²ããåãæã£ã¦ã¢ã¼ã­ãã¯ãã£åã«ãã¦ããã
+        // #ã©ããããã¼ã«ããä½¿ã£ã¦ãªããã­ ä»ã®ã¨ãã
+    return object->xvec->name;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_binutils.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_binutils.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_binutils.cpp	(revision 26)
@@ -0,0 +1,1229 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fc_binutils.cpp,v 1.21 2004/09/04 15:50:13 honda Exp $
+ */
+
+#if defined(FILECONTAINER_BINUTILS) || defined(TESTSUITE)
+
+#ifdef _MSC_VER
+#pragma warning(disable:4786) //ãããã°æå­åã255æå­ã«åãè©°ãã
+#endif
+
+#include "base/filecontainer.h"
+#include <string>
+#include <map>
+#include <fstream>
+#include <cassert>
+#include <cctype>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+#define _isspace(x)  isspace(x)
+#define _isprint(x)  isprint(x)
+
+#define SIZE_LOADPAGE 65536         //ãã¤ããªãã¼ã¿ãæ ¼ç´ãããã¼ã¸åä½
+
+#define SIZE_TO_CONFIRM_BINARYFILE 128  //ãã¡ã¤ã«ããã¤ããªãå«ããã©ãããç¢ºèªããã®ã«èª­ã¿åºããã¼ã¿ã®é·ã (ãããã¡ãåãã®ã§ãã¾ãå¤§ããããªããã¨)
+
+#define MAGIC_SYMBOL "_checker_magic_number"
+#define MAGIC_NUMBER 0x01234567                         //4ãã¤ãã®æ´æ°
+
+#define CMD_GNUNM      "nm"
+#define CMD_GNUOBJCOPY "objcopy"
+
+#define MAKE_BASEADDRESS(x)   ((x) & ~(SIZE_LOADPAGE-1))
+#define MAKE_OFFSETADDRESS(x) ((x) &  (SIZE_LOADPAGE-1))
+
+using namespace std;
+
+namespace {
+
+    class FileContainerBinutilsImpl : public FileContainer
+    {
+    public:
+        typedef void (interceptor_func_t)(fstream &, const string &);      //ä¸æã«è¨ªãããã¤ããªãã¡ã¤ã«ã®è¥²æã«å¯¾å¿ããé¢æ°ã®å
+
+    protected:
+        string                 symbol_prefix;
+        map<string, address_t> symbol_table;
+        map<address_t, char *> contents;
+
+        address_t last_address;     //ã­ã£ãã·ã¥ãã©ã
+        char *    last_page;
+
+            //ãã¼ã¿åãè¾¼ã¿
+        void loadSymbols(fstream & file)  throw(Exception);
+        void loadDataContents(fstream & file) throw(Exception);
+
+            //contentsã¸1ãã¤ãæ¸ãè¾¼ã¿
+        void writeByte(address_t address, unsigned int) throw(Exception);
+
+            //èªåå¦ç
+        void searchSymbolPrefix(void) throw();
+        void searchByteOrder(void)    throw();
+
+    public:
+        FileContainerBinutilsImpl(void) throw();
+        virtual ~FileContainerBinutilsImpl(void) throw();
+
+            /* ã¤ã³ã¿ãã§ã¼ã¹é¨ */
+        virtual void        attachModule(const string & filename) throw(Exception);
+        virtual void        loadContents(void * dest, address_t address, size_t size) throw(Exception);
+        virtual address_t   getSymbolAddress(const string & symbol) throw(Exception);
+        virtual std::string getArchitecture(void) throw();
+
+        TESTSUITE_PROTOTYPE(main)
+    };
+
+    namespace {
+        FileContainerBinutilsImpl instance_of_FileContainerBinutilsImpl;
+    }
+
+        /* ã³ã³ã¹ãã©ã¯ã¿ */
+    FileContainerBinutilsImpl::FileContainerBinutilsImpl(void) throw()
+        : symbol_prefix(""), symbol_table(), contents(), last_address(0), last_page(0)
+    {}
+
+        /* ãã¹ãã©ã¯ã¿ : ãã¼ã¿ãããã¡ã®è§£æ¾ */
+    FileContainerBinutilsImpl::~FileContainerBinutilsImpl(void) throw()
+    {
+        map<address_t, char *>::iterator scope;
+
+        scope = contents.begin();
+        while(scope != contents.end()) {
+            delete [] scope->second;
+            ++ scope;
+        }
+        symbol_table.clear();
+        contents.clear();
+    }
+
+        /* ãã¡ã¤ã«åãã«ã³ãã§äºã¤ã«åãã */
+    void splitFilename(const string & src, string & first, string & second) throw(Exception)
+    {
+        if(!src.empty()) {
+            string::size_type pos;
+
+            pos = src.find_first_of(',');
+            if(pos != string::npos) {
+                first  = src.substr(0, pos);
+                second = src.substr(pos + 1);
+            }
+            else {
+                    //ãã¡ã¤ã«åãä¸ã¤ããæå®ããã¦ããªã
+                first  = src;
+                second = src;
+            }
+        }
+        else
+            ExceptionMessage("[FCBI] Empty filename could not be accepted.","[FCBI] ãã¡ã¤ã«åãããã¾ãã").throwException();
+    }
+
+        /* ãã¡ã¤ã«ããã¤ããªãã¼ã¿ãæã£ã¦ãããã©ãããå¤å® */
+    bool hasBinaryContents(fstream & file) throw()
+    {
+        assert(file.is_open());
+
+        bool        result = false;
+        char        buffer[SIZE_TO_CONFIRM_BINARYFILE];
+        streamsize  length;
+
+        file.read(buffer, SIZE_TO_CONFIRM_BINARYFILE);
+        length = file.gcount();
+
+        for(streamsize i = 0; i < length; ++ i) {
+            if(buffer[i] < 0 || !(_isprint(buffer[i]) || _isspace(buffer[i]))){
+                result = true;
+                break;
+            }
+        }
+
+		if(!result) {
+	        file.clear();
+    	    file.seekg(0, ios::beg);    //å
+é ­ã«æ»ãã¦ãã
+		}
+
+        return result;
+    }
+
+        /* ãã­ã¹ããã¡ã¤ã«ãéã (ãã¤ããªã ã£ãå ´åã«ã¯å¯¾å¦) */
+    void openTextFile(fstream & file, const string & filename, FileContainerBinutilsImpl::interceptor_func_t * interceptor) throw(Exception)
+    {
+        assert(!filename.empty());
+        assert(!file.is_open());
+
+        file.open(filename.c_str(), ios::in|ios::binary);
+        if(!file.is_open()) {
+            ExceptionMessage("File '%' could not be opened.","ãã¡ã¤ã« '%' ã¯éãã¾ãã") << filename << throwException;
+            return;
+        }
+
+            /* ãã¤ããªãã¡ã¤ã«ã ã£ãã... */
+        while(hasBinaryContents(file)) {
+            file.close();
+            
+            if(interceptor != 0) {
+                (*interceptor)(file, filename);
+                interceptor = 0;    //å¯¾å¦ã¯ä¸åã®ã¿
+            }
+
+            if(!file.is_open()) {
+                break;
+            }
+        }
+
+            /* ãã¡ã¤ã«ãéããªãã£ããä¾å¤ */
+        if(!file.is_open())
+            ExceptionMessage("Program failed to convert the binary '%' into suitable style. Please specify a suitable TEXT file.",
+                            "ãã­ã°ã©ã ã¯ãã¤ããªãã¡ã¤ã«'%'ã®å¤æã«å¤±æãã¾ãããæ­£ãããã­ã¹ããã¡ã¤ã«ãæå®ãç´ãã¦ãã ããã")
+                                << filename << throwException;
+    }
+
+        /* ä¸æçãªãã¡ã¤ã«åã®çæ */
+    const char * makeTemporaryFilename(void) throw()
+    {
+        static char filename[10];
+
+        sprintf(filename, "cfg%06x", (int)(rand() & 0xffffffl));
+
+        return filename;
+    }
+
+
+        /* ãã¤ããªãGNU-NMãä½¿ã£ã¦å¤æãã */
+    void interceptWithGnuNM(fstream & file, const string & filename) throw(Exception)
+    {
+        assert(!file.is_open());
+
+        string cmdline;
+        string symfile;
+
+        symfile.assign(makeTemporaryFilename());
+        cmdline = string(CMD_GNUNM) + " " + filename + " > " + symfile;
+        VerboseMessage("[EXEC] %\n") << cmdline;
+
+		system(cmdline.c_str());
+
+            /* æ­£ããéããããã¡ã¤ã«ãåé¤ */
+        file.open(symfile.c_str(), ios::in);
+        if(file.is_open()) {
+            remove(symfile.c_str());
+        }
+    }
+
+        /* ãã¤ããªãGNU-OBJCOPYãä½¿ã£ã¦å¤æãã */
+    void interceptWithGnuObjcopy(fstream & file, const string & filename) throw(Exception)
+    {
+        assert(!file.is_open());
+
+        string cmdline;
+        string srecfile;
+
+        srecfile.assign(makeTemporaryFilename());
+        cmdline = string(CMD_GNUOBJCOPY) + " -F srec " + filename + " " + srecfile;
+        VerboseMessage("[EXEC] %\n") << cmdline;
+
+		system(cmdline.c_str());
+
+            /* æ­£ããéããããã¡ã¤ã«ãåé¤ */
+        file.open(srecfile.c_str(), ios::in);
+        if(file.is_open()) {
+            remove(srecfile.c_str());
+        }
+    }
+
+        /* 16é²ãã10é²ã¸ã®å¤æ (ãã¤ã³ã¿ç§»å, é·ãæå®ä»ã) */
+    unsigned int hextodec(const char * & src, size_t length) throw()
+    {
+        assert(length <= sizeof(unsigned int) * 2);
+
+        unsigned int result = 0;
+        unsigned int digit;
+
+        while(length-- > 0) {
+            if(*src >= '0' && *src <= '9')
+                digit = *src - '0';
+            else if(*src >= 'A' && *src <='F')
+                digit = *src - 'A' + 10;
+            else if(*src >= 'a' && *src <='f')
+                digit = *src - 'a' + 10;
+            else
+                break;
+
+            ++ src;
+            result = (result << 4) | (digit & 0xf);
+        }
+
+        return result;
+    }
+
+        /* NMãåºåããè¡ããã¼ã¹ */
+    bool readGnuNmLine(fstream & file, FileContainer::address_t & address, string & attribute, string & symbolname) throw()
+    {
+        assert(file.is_open());
+
+        string src;
+        string addr;
+        string::size_type pos1;
+        string::size_type pos2;
+
+            /* ä¸­èº«ãç©ºã«ãã¦ãã */
+        address = 0;
+        if(!attribute.empty())
+            attribute.erase();
+        if(!symbolname.empty())
+            symbolname.erase();
+
+            //æ¬¡ã®è¡ãåå¾ (ç©ºè¡, æªå®ç¾©ã·ã³ãã«ã¯èª­ã¿é£ã°ã)
+        do {
+            if(file.eof())
+                return false;
+
+            getline(file, src, '\n');
+        } while(src.empty() || src.at(0) == ' ');
+
+            //è¡ãåè§£
+        pos1 = src.find_first_of(' ');
+        addr = src.substr(0, pos1);
+
+        pos2 = src.find_first_of(' ', pos1 + 1);
+        attribute  = src.substr(pos1 + 1, pos2 - pos1 - 1);
+        symbolname = src.substr(pos2 + 1);
+
+            //ã¢ãã¬ã¹ã®ãã¼ã¹  (æ³¨ : ãªãã§ãããªã¡ã¾ã¡ã¾ãã£ã¦ããã¨ããã¨ãã¢ãã¬ã¹ã32bitãè¶
+ããã¿ã¼ã²ããããããã)
+        while(!addr.empty()) {
+            size_t length = addr.size();
+            const char * src = addr.c_str();
+            if(length > sizeof(unsigned int) * 2)
+                length = sizeof(unsigned int) * 2;
+            address = (address << (length * 2)) | (hextodec(src, length));
+            addr.erase(0, length);
+        }
+
+        return true;
+    }
+
+        /* ã·ã³ãã«ã®èª­ã¿è¾¼ã¿ */
+    void FileContainerBinutilsImpl::loadSymbols(fstream & file) throw(Exception)
+    {
+        assert(file.is_open());
+
+        address_t address;
+        string    attribute;
+        string    symbolname;
+
+        while(readGnuNmLine(file, address, attribute, symbolname)) {
+            symbol_table.insert(map<string, address_t>::value_type(symbolname, address));
+        }
+
+		VerboseMessage("% symbols loaded\n") << symbol_table.size() << &throwException;
+
+        file.close();
+    }
+
+        /* contentsã«1ãã¤ãæ¸ãè¾¼ã¿ */
+    void FileContainerBinutilsImpl::writeByte(address_t address, unsigned int value) throw(Exception)
+    {
+        address_t & base = last_address;
+        char *    & page = last_page;
+
+            /* ã­ã£ãã·ã¥ãã©ããä½¿ããªããªãããã¼ã¸ãæ¢ã */
+        if(MAKE_BASEADDRESS(address) != last_address || last_page == 0) {
+            map<address_t, char *>::iterator scope;
+
+            base  = MAKE_BASEADDRESS(address);
+            scope = contents.find(base);
+            if(scope == contents.end()) {
+                page = new(nothrow) char [SIZE_LOADPAGE];
+                if(page == 0) {
+                    ExceptionMessage("Not enough memory available to store the contents","ç©ºãã¡ã¢ãªä¸è¶³ã®ããããã¼ã¿ã®æ ¼ç´ã«å¤±æãã¾ãã").throwException();
+                    return;
+                }
+                contents.insert(map<address_t,char*>::value_type(base, page));
+            }
+            else
+                page = scope->second;
+        }
+
+        *(page + (address - base)) = static_cast<char>(value & 0xff);
+    }
+
+        /* æ«å°¾ã®ç©ºç½æå­ãåãåã */
+    void trimString(string & src) throw()
+    {
+        string::size_type pos;
+
+        pos = src.find_last_not_of(" \t\r\n");
+        if(pos != string::npos && pos != src.size())
+            src.erase(pos + 1);
+    }
+
+        /* ã¢ãã­ã¼ã©Sã¬ã³ã¼ããä¸è¡èª­ã¿è¾¼ã */
+        /*
+                The general format of an S-record follows: 
+                +-------------------//------------------//-----------------------+
+                | type | count | address  |            data           | checksum |
+                +-------------------//------------------//-----------------------+
+        */
+    bool readRecord(fstream & file, string & dest) throw(Exception)
+    {
+        unsigned int sum;
+        unsigned int count;
+        unsigned int i;
+        const char * pos;
+
+            /* æ¬¡ã®è¡ãèª­ã¿è¾¼ã */
+        do {
+                //getlineãReadFileãå¼ãã§ãã­ãã¯ããã®ã§ãç¢ºå®ã«EOFãåå¿ãããããã«ãããã
+            int ch = file.get();
+            if(ch == EOF)
+                return false;
+
+            file.putback(static_cast<char>(ch));
+            getline(file, dest);
+        } while(dest.empty());
+
+        trimString(dest);
+
+            /* æ­£å½æ§ã®å¤å® */
+
+        if(dest[0] != 'S')      //è¡é ­ã'S'ã§å§ã¾ããªã
+            ExceptionMessage("The file is not a Motorola S-Record file.","ã¢ãã­ã¼ã©Sãã©ã¼ãããã§ç¡ãè¡ãè¦ã¤ããã¾ãã") << throwException;
+
+        pos = dest.c_str() + 2;
+        count = hextodec(pos, 2);
+        if(dest.size() != (count + 2)*2)
+            ExceptionMessage("Illegal S-Record found (count unmatched).","ä¸æ­£ãªSã¬ã³ã¼ããããã¾ã (ãµã¤ãºä¸ä¸è´)") << throwException;
+
+        sum = count;
+        for(i = 0; i < count; ++ i)
+            sum += hextodec(pos, 2);
+
+        if((sum & 0xff) != 0xff)
+            ExceptionMessage("Illegal S-Record found (check-sum unmatched).","ä¸æ­£ãªSã¬ã³ã¼ããããã¾ã (ãã§ãã¯ãµã ä¸ä¸è´)") << throwException;
+
+        return true;
+    }
+
+        /* æ¬¡ã®éå§ã¢ãã¬ã¹ãå¾ã */
+    FileContainer::address_t parseRecordAddress(const string & src, FileContainer::address_t base) throw()
+    {
+        const char * record = src.c_str();
+        FileContainer::address_t result = 0;
+
+        record += 4;
+        switch(*(record - 3)) {
+            case '1':
+                result = hextodec(record, 4);
+                break;
+            case '2':
+                result = hextodec(record, 6);
+                break;
+            case '3':
+                result = hextodec(record, 8);
+                break;
+            case '5':
+                result = base;
+                break;
+            default:
+                break;
+        }
+
+        return result;
+    }
+
+        /* ãã¼ã¿é¨åã ããæ®ãã¦ãã§ãã */
+    void chopRecord(string & src) throw()
+    {
+        string::size_type start;
+
+        switch(src[1]) {
+            case '1':  start = 4 + 4;  break;
+            case '2':  start = 4 + 6;  break;
+            case '3':  start = 4 + 8;  break;
+            default:   start = 4;      break;
+        }
+
+            //å
+é ­4ãã¤ã + ã¢ãã¬ã¹é¨ + æå¾ã®ãµã ãåãé¤ã
+        src = src.substr(start, src.size() - start - 2);
+    }
+
+        /* ãã­ã°ã©ã ãã¼ã¿ã®èª­ã¿è¾¼ã¿ */
+    void FileContainerBinutilsImpl::loadDataContents(fstream & file) throw(Exception)
+    {
+        assert(file.is_open());
+
+        address_t address;
+        string    line;
+
+        address = 0;
+        while(readRecord(file, line)) {
+
+            address = parseRecordAddress(line, address);
+
+            chopRecord(line);
+
+                /* ãã¼ã¿ã®æ ¼ç´ */
+            const char * pos = line.c_str();
+            while(*pos != '\x0') {
+                unsigned int data = hextodec(pos, 2);
+                writeByte(address, data);
+                ++ address;
+            }
+        }
+
+        file.close();
+    }
+
+        /* ã·ã³ãã«ãã¬ãã£ã¯ã¹ã®èªåå¤å® */
+    void FileContainerBinutilsImpl::searchSymbolPrefix(void) throw()
+    {
+        const char *  candidate_list[] = {"", "_", NULL};
+        const char ** candidate;
+
+        for(candidate = candidate_list; *candidate != NULL; ++ candidate) {
+            map<string, address_t>::const_iterator scope;
+            string symbol;
+            
+            symbol = string(*candidate) + MAGIC_SYMBOL;
+            scope  = symbol_table.find(symbol);
+
+            if(scope != symbol_table.end())
+                break;
+        }
+
+        if(*candidate != NULL)
+            symbol_prefix.assign(*candidate);
+    }
+
+        /* ã¨ã³ãã£ã¢ã³ã®èªåå¤å® */
+    void FileContainerBinutilsImpl::searchByteOrder(void) throw()
+    {
+        address_t address;
+        union {
+            char         buffer[4];
+            unsigned int value;
+        };
+
+        try {
+            value   = 0;
+            address = getSymbolAddress(MAGIC_SYMBOL);
+            loadContents(buffer, address, 4);
+
+            if(value == MAGIC_NUMBER) {
+                byteorder = HOSTORDER;
+            }
+            else {
+                buffer[0] ^= buffer[3], buffer[3] ^= buffer[0], buffer[0] ^= buffer[3]; // swap(buffer[0], buffer[3])
+                buffer[1] ^= buffer[2], buffer[2] ^= buffer[1], buffer[1] ^= buffer[2]; // swap(buffer[1], buffer[2])
+
+                if(value == MAGIC_NUMBER)
+                    byteorder = HOSTORDER == LITTLE ? BIG : LITTLE;
+                else
+                    throw false;
+            }
+        }
+        catch(...) {}
+    }
+
+        /* ã¢ã¸ã¥ã¼ã«ã®ã¢ã¿ãã -> ã·ã³ãã«èª­åºã, ãã¼ã¿æ ¼ç´ */
+    void FileContainerBinutilsImpl::attachModule(const string & filename) throw(Exception)
+    {
+        fstream file;
+        string  symbol_filename;
+        string  contents_filename;
+
+        splitFilename(filename, symbol_filename, contents_filename);
+
+        openTextFile(file, symbol_filename, interceptWithGnuNM);
+        loadSymbols(file);
+
+        openTextFile(file, contents_filename, interceptWithGnuObjcopy);
+        loadDataContents(file);
+
+        searchSymbolPrefix();
+        searchByteOrder();
+    }
+
+        /* æ ¼ç´ãã¦ããå
+å®¹ã®åå¾ */
+    void FileContainerBinutilsImpl::loadContents(void * _dest, address_t address, size_t size) throw(Exception)
+    {
+        char * dest = static_cast<char *>(_dest);
+
+        while(size > 0) {
+            map<address_t, char *>::const_iterator scope;
+
+            address_t  base   = MAKE_BASEADDRESS(address);
+            address_t  offset = MAKE_OFFSETADDRESS(address);
+            size_t     transfer_size = size;
+
+            if(transfer_size > SIZE_LOADPAGE - offset)
+                transfer_size = SIZE_LOADPAGE - offset;
+
+            scope = contents.find(base);
+            if(scope == contents.end())
+                ExceptionMessage("[Internel error] Memory read with unmapped address","[å
+é¨ã¨ã©ã¼] ãããããã¦ãªãã¢ãã¬ã¹ãä½¿ã£ã¦ã¡ã¢ãªãªã¼ããè¡ããã¾ãã").throwException();
+
+            memcpy(dest, scope->second + offset, transfer_size);
+
+            dest += transfer_size;
+            size -= transfer_size;
+        }
+    }
+
+        /* ã·ã³ãã«ã®ã¢ãã¬ã¹ã®åå¾ */
+    FileContainer::address_t FileContainerBinutilsImpl::getSymbolAddress(const string & symbol) throw(Exception)
+    {
+        string symbolname;
+        map<string, address_t>::const_iterator scope;
+
+        symbolname = symbol_prefix + symbol;
+
+        scope = symbol_table.find(symbolname);
+        if(scope == symbol_table.end())
+            ExceptionMessage("Unknown symbol '%'","ä¸æãªã·ã³ãã«å '%'") << symbol << throwException;
+
+        return scope->second;
+    }
+
+        /* ã¢ã¼ã­ãã¯ãã£åã®åå¾ */
+    string FileContainerBinutilsImpl::getArchitecture(void) throw()
+    {
+        if(byteorder == LITTLE)
+            return "Little endian target (with GNU/Binutils)";
+        else
+            return "Big endian target (with GNU/Binutils)";
+    }
+
+}
+
+//---------------------------------------------
+
+#ifdef TESTSUITE
+#include "base/coverage_undefs.h"
+
+namespace {
+    fstream * interceptor_file;
+    string    interceptor_filename;
+    void interceptor(fstream & file, const string & filename)
+    {
+        CHECKPOINT("interceptor");
+        interceptor_file = &file;
+        interceptor_filename = filename;
+
+        if(filename.compare("textfile") == 0) {
+            remove(filename.c_str());
+            file.open(filename.c_str(), ios::out);
+            file << "text";
+            file.close();
+
+            file.open(filename.c_str(), ios::in|ios::binary);
+        }
+        else if(filename.compare("binaryfile") == 0) {
+            remove(filename.c_str());
+            file.open(filename.c_str(), ios::out|ios::binary);
+            file.write("\x1",1);
+            file.close();
+
+            file.open(filename.c_str(), ios::in|ios::binary);
+        }
+    }
+}
+
+TESTSUITE(main, FileContainerBinutilsImpl)
+{
+    PREDECESSOR("TFileContainer");
+
+    SingletonBase::ContextChain chain;
+    chain.saveContext<RuntimeObjectTable>();
+
+    BEGIN_CASE("splitFilename","splitFilename") {
+        BEGIN_CASE("1","ã«ã³ãã®åå¾ã§åãã") {
+            string first, second;
+            
+            splitFilename("a,b", first, second);
+            TEST_CASE("1","firstã®ä¸­èº«ã¯æ­£ãã", first.compare("a") == 0);
+            TEST_CASE("2","secondã®ä¸­èº«ã¯æ­£ãã", second.compare("b") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","ã«ã³ãã®ç¡ãå¼æ°ãä¸ããã¨ãä¸¡æ¹ã«åãä¸­èº«ãå
+¥ã") {
+            string first, second;
+
+            splitFilename("abc", first, second);
+            TEST_CASE("1","firstã®ä¸­èº«ã¯æ­£ãã", first.compare("abc") == 0);
+            TEST_CASE("2","secondã®ä¸­èº«ã¯æ­£ãã", second.compare("abc") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","ç©ºæå­ãä¸ããã¨ä¾å¤") {
+            bool result = false;
+            string first, second;
+            try { splitFilename("", first, second); } catch(Exception &) { result = true; }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("hasBinaryContents","hasBinaryContents") {
+        BEGIN_CASE("1","ãã­ã¹ããã¡ã¤ã«ãé£ããã") {
+            fstream file("test", ios::out);
+            file << "This is a sample text file.";
+            file.close();
+
+            file.open("test",ios::in|ios::binary);
+            TEST_CASE("1","é¢æ°ã¯falseãè¿ã", !hasBinaryContents(file));
+            TEST_CASE("2","fileã¯eofã«éãã¦ããªã", !file.eof());
+            file.close();
+
+            remove("test");
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¤ããªãã¼ã¿ãé£ããã") {
+            fstream file("test", ios::out|ios::binary);
+            file << "This is a sample text file.";
+            file.write("\x0\x1\x2\x3", 4);
+            file.close();
+
+            file.open("test",ios::in|ios::binary);
+            TEST_CASE("1","é¢æ°ã¯trueãè¿ã", hasBinaryContents(file));
+            TEST_CASE("2","fileã¯eofã«éãã¦ããªã", !file.eof());
+            file.close();
+
+            remove("test");
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("openTextFile","openTextFile") {
+        BEGIN_CASE("1","ãã­ã¹ããã¡ã¤ã«ãæå®ãã") {
+            TestSuite::clearCheckpoints();
+            fstream file("test", ios::out);
+            file << "This is a sample text file.";
+            file.close();
+
+            bool result = true;
+            try { openTextFile(file, "test", interceptor); } catch(Exception &) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","ãã¡ã¤ã«ãéããã¦ãã", file.is_open());
+            TEST_CASE("3","interceptorã¯ã³ã¼ã«ããã¦ããªã", !TestSuite::isReached("interceptor"));
+
+            string work;
+            getline(file, work, '\n');
+            TEST_CASE("4","èª­ã¿åºãããå
+å®¹ãæ­£ãã", work.compare("This is a sample text file.") == 0);
+
+            file.close();
+            remove("test");
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¤ããªãã¡ã¤ã«ãæå®ãã (interceptorã¯ãã¡ã¤ã«ãéããªã)") {
+            TestSuite::clearCheckpoints();
+            fstream file("test", ios::out|ios::binary);
+            file.write("\x1", 1);
+            file.close();
+
+            bool result = false;
+            try { openTextFile(file, "test", interceptor); } catch(Exception &) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+            TEST_CASE("2","ãã¡ã¤ã«ãéããã¦ãã", !file.is_open());
+            TEST_CASE("3","interceptorãã³ã¼ã«ããã¦ãã", TestSuite::isReached("interceptor"));
+            TEST_CASE("4","interceptorã®å¼æ°ãæ­£ãã (file)", interceptor_file == &file);
+            TEST_CASE("5","interceptorã®å¼æ°ãæ­£ãã", interceptor_filename.compare("test") == 0);
+
+            file.close();
+            remove("test");
+        } END_CASE;
+
+        BEGIN_CASE("3","å­å¨ããªããã¡ã¤ã«ãæå®ãã") {
+            TestSuite::clearCheckpoints();
+            fstream file;
+            bool result = false;
+            try { openTextFile(file, "___unknown___", interceptor); } catch(Exception &) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+            TEST_CASE("2","ãã¡ã¤ã«ãéããã¦ããªã", !file.is_open());
+            TEST_CASE("3","interceptorãã³ã¼ã«ããã¦ããªã", !TestSuite::isReached("interceptor"));
+        } END_CASE;
+
+        BEGIN_CASE("4","interceptorããã­ã¹ããã¡ã¤ã«ãçæãã") {
+            TestSuite::clearCheckpoints();
+            fstream file("textfile", ios::out|ios::binary);
+            file.write("\x1", 1);
+            file.close();
+
+            bool result = true;
+            try { openTextFile(file, "textfile", interceptor); } catch(Exception &) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","ãã¡ã¤ã«ãéããã¦ãã", file.is_open());
+            TEST_CASE("3","interceptorãã³ã¼ã«ããã¦ãã", TestSuite::isReached("interceptor"));
+            TEST_CASE("4","interceptorã®å¼æ°ãæ­£ãã (file)", interceptor_file == &file);
+            TEST_CASE("5","interceptorã®å¼æ°ãæ­£ãã", interceptor_filename.compare("textfile") == 0);
+
+            string work;
+            getline(file, work, '\n');
+            TEST_CASE("4","èª­ã¿åºãããå
+å®¹ãæ­£ãã", work.compare("text") == 0);
+
+            file.close();
+            remove("textfile");
+        } END_CASE;
+
+        BEGIN_CASE("5","interceptorããã¤ããªãã¡ã¤ã«ãçæãã") {
+            TestSuite::clearCheckpoints();
+            fstream file("binaryfile", ios::out|ios::binary);
+            file.write("\x1", 1);
+            file.close();
+
+            bool result = false;
+            try { openTextFile(file, "binaryfile", interceptor); } catch(Exception &) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãã", result);
+            TEST_CASE("2","ãã¡ã¤ã«ãéããã¦ããªã", !file.is_open());
+            TEST_CASE("3","interceptorãã³ã¼ã«ããã¦ãã", TestSuite::isReached("interceptor"));
+            TEST_CASE("4","interceptorã®å¼æ°ãæ­£ãã (file)", interceptor_file == &file);
+            TEST_CASE("5","interceptorã®å¼æ°ãæ­£ãã", interceptor_filename.compare("binaryfile") == 0);
+
+            file.close();
+            remove("binaryfile");
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("hextodec","hextodec") {
+        const char * letter = "0123456789abcdEFg";
+        const char * work = letter;
+
+        TEST_CASE("1", "åãåºãããå¤ãæ­£ãã", hextodec(work, 2) == 1);
+        TEST_CASE("2", "workãé²ãã§ãã", work == letter + 2);
+        TEST_CASE("3", "åãåºãããå¤ãæ­£ãã", hextodec(work, 4) == 0x2345);
+        TEST_CASE("4", "workãé²ãã§ãã", work == letter + 6);
+        TEST_CASE("5", "åãåºãããå¤ãæ­£ãã", hextodec(work, 8) == 0x6789abcd);
+        TEST_CASE("6", "workãé²ãã§ãã", work == letter + 14);
+        TEST_CASE("7", "åãåºãããå¤ãæ­£ãã", hextodec(work, 8) == 0xef);
+        TEST_CASE("8", "workã'g'ã®ä½ç½®ã§ã¨ã¾ã", *work == 'g');
+        TEST_CASE("9", "åãåºãããå¤ãæ­£ãã", hextodec(work, 8) == 0);
+        TEST_CASE("10", "workã'g'ã®ä½ç½®ã§ã¨ã¾ã", *work == 'g');
+    } END_CASE;
+
+    BEGIN_CASE("readGnuNmLine","readGnuNmLine") {
+        fstream file("test", ios::out);
+        file << "0804aab0 T _kernel_task_initialize\n0805d8a0 B _kernel_tcb_table\n\n0804e560 R _kernel_tinib_table\n         U getpid@@GLIBC_2.0\n";
+        file.close();
+
+        address_t address;
+        string    attribute;
+        string    symbolname;
+
+        file.open("test", ios::in);
+        BEGIN_CASE("1","æ®éã®ã¨ã³ããªãèª­ãã") {
+            TEST_CASE("1","é¢æ°ã¯æåãã", readGnuNmLine(file, address, attribute, symbolname));
+            TEST_CASE("2","addressã¯æ­£ãã", address == 0x0804aab0);
+            TEST_CASE("3","attributeã¯æ­£ãã", attribute.compare("T") == 0);
+            TEST_CASE("4","symbolnameã¯æ­£ãã", symbolname.compare("_kernel_task_initialize") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","æ®éã®ã¨ã³ããªãèª­ãã (2)") {
+            TEST_CASE("1","é¢æ°ã¯æåãã", readGnuNmLine(file, address, attribute, symbolname));
+            TEST_CASE("2","addressã¯æ­£ãã", address == 0x0805d8a0);
+            TEST_CASE("3","attributeã¯æ­£ãã", attribute.compare("B") == 0);
+            TEST_CASE("4","symbolnameã¯æ­£ãã", symbolname.compare("_kernel_tcb_table") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","ç©ºè¡ãèª­ã¿é£ã°ãã¦æ¬¡ãèª­ãã") {
+            TEST_CASE("1","é¢æ°ã¯æåãã", readGnuNmLine(file, address, attribute, symbolname));
+            TEST_CASE("2","addressã¯æ­£ãã", address == 0x0804e560);
+            TEST_CASE("3","attributeã¯æ­£ãã", attribute.compare("R") == 0);
+            TEST_CASE("4","symbolnameã¯æ­£ãã", symbolname.compare("_kernel_tinib_table") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","ã¢ãã¬ã¹ã®ç¡ãã¨ã³ããªã¯ç¡è¦ãã") {
+            TEST_CASE("1","é¢æ°ã¯å¤±æãã", !readGnuNmLine(file, address, attribute, symbolname));
+        } END_CASE;
+
+        file.close();
+        remove("test");
+    } END_CASE;
+
+    BEGIN_CASE("loadSymbols","loadSymbols") {
+        fstream file("test", ios::out);
+        file << "0804aab0 T _kernel_task_initialize\n0805d8a0 B _kernel_tcb_table\n\n0804e560 R _kernel_tinib_table\n         U getpid@@GLIBC_2.0\n";
+        file.close();
+
+        file.open("test",ios::in);
+
+        FileContainerBinutilsImpl fcbi;
+        fcbi.loadSymbols(file);
+
+        TEST_CASE("1","èª­ã¿è¾¼ã¾ããã¨ã³ããªã®æ°ãæ­£ãã", fcbi.symbol_table.size() == 3);
+        TEST_CASE("2","ãã¡ã¤ã«ã¯éãããã¦ãã", !file.is_open());
+
+        remove("test");
+    } END_CASE;
+
+    BEGIN_CASE("writeByte","writeByte") {
+        FileContainerBinutilsImpl fcbi;
+
+        BEGIN_CASE("1","å­å¨ããªããã¼ã¸ã¸ã®æ¸ãè¾¼ã¿") {
+            TEST_CASE("0", "[åæ] contentsã®è¦ç´ æ°ã¯0", fcbi.contents.size() == 0);
+            fcbi.writeByte(0x100, 0);
+
+            TEST_CASE("1","contentsã®è¦ç´ ãå¢ãã¦ãã", fcbi.contents.size() == 1);
+
+            const char * scope = fcbi.contents.find(MAKE_BASEADDRESS(0x100))->second + MAKE_OFFSETADDRESS(0x100);
+            TEST_CASE("2","æ¸ãè¾¼ã¾ãã¦ããå
+å®¹ãæ­£ãã", *scope == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","å­å¨ãããã¼ã¸ã¸ã®æ¸ãè¾¼ã¿ (é£ç¶ã¢ã¯ã»ã¹)") {
+            fcbi.writeByte(0x100, 0xff);
+
+            TEST_CASE("1","contentsã®è¦ç´ ãå¢ãã¦ããªã", fcbi.contents.size() == 1);
+
+            const char * scope = fcbi.contents.find(MAKE_BASEADDRESS(0x100))->second + MAKE_OFFSETADDRESS(0x100);
+            TEST_CASE("2","æ¸ãè¾¼ã¾ãã¦ããå
+å®¹ãæ­£ãã", *scope == 0xff);
+        } END_CASE;
+
+        BEGIN_CASE("3","æ°ãããã¼ã¸ã¸ã®æ¸ãè¾¼ã¿") {
+            fcbi.writeByte(0x10000000, 0xff);
+
+            TEST_CASE("1","contentsã®è¦ç´ ãå¢ãã¦ãã", fcbi.contents.size() == 2);
+
+            const char * scope = fcbi.contents.find(MAKE_BASEADDRESS(0x10000000))->second + MAKE_OFFSETADDRESS(0x10000000);
+            TEST_CASE("2","æ¸ãè¾¼ã¾ãã¦ããå
+å®¹ãæ­£ãã", *scope == 0xff);
+        } END_CASE;
+
+        BEGIN_CASE("4","æ¢å­ã®ãã¼ã¸ã¸ã®ã¢ã¯ã»ã¹") {
+            fcbi.writeByte(0x100, 0x0);
+
+            TEST_CASE("1","contentsã®è¦ç´ ãå¢ãã¦ããªã", fcbi.contents.size() == 2);
+
+            const char * scope = fcbi.contents.find(MAKE_BASEADDRESS(0x100))->second + MAKE_OFFSETADDRESS(0x100);
+            TEST_CASE("2","æ¸ãè¾¼ã¾ãã¦ããå
+å®¹ãæ­£ãã", *scope == 0x0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("readRecord","readRecord") {
+        fstream file("test",ios::out);
+        file << "S315080480F42F6C69622F6C642D6C696E75782E736F98\n\nS315080480F42F6C69622F6C642D6C696E75782E736F98\nS308080481042E320005\nDUMMY\nS31808048108040000001000000001000000474E550056\nS31008048108040000001000000001000000474E550056\n";
+        file.close();
+
+        file.open("test",ios::in);
+        BEGIN_CASE("1","æ­£å¸¸ã±ã¼ã¹") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãããªã", !exception);
+            TEST_CASE("2","é¢æ°ã¯trueãè¿ã", result);
+            TEST_CASE("3","èª­ã¿åºãããå
+å®¹ãæ­£ãã", work.compare("S315080480F42F6C69622F6C642D6C696E75782E736F98") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","æ­£å¸¸ã±ã¼ã¹ (ç©ºè¡ã®èª­ã¿é£ã°ã)") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãããªã", !exception);
+            TEST_CASE("2","é¢æ°ã¯trueãè¿ã", result);
+            TEST_CASE("3","èª­ã¿åºãããå
+å®¹ãæ­£ãã", work.compare("S315080480F42F6C69622F6C642D6C696E75782E736F98") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","ãã§ãã¯ãµã ãèª¤ã£ã¦ããã¨ã³ããª") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ãããã", exception);
+        } END_CASE;
+
+        BEGIN_CASE("4","å
+é ­ãSã§å§ã¾ããªãã¨ã³ããª") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ãããã", exception);
+        } END_CASE;
+
+        BEGIN_CASE("5","æå®ãããé·ããããé·ãã¨ã³ããª") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ãããã", exception);
+        } END_CASE;
+
+        BEGIN_CASE("6","æå®ãããé·ããããç­ãã¨ã³ããª") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ãããã", exception);
+        } END_CASE;
+
+        BEGIN_CASE("7","ãã¡ã¤ã«çµç«¯") {
+            string work;
+            bool result;
+            bool exception = false;
+            try { result = readRecord(file, work); } catch(Exception &) { exception = true; }
+            TEST_CASE("1","ä¾å¤ãããããªã", !exception);
+            TEST_CASE("2","é¢æ°ã¯falseãè¿ã", !result);
+        } END_CASE;
+
+        remove("test");
+    } END_CASE;
+
+    BEGIN_CASE("chopRecord","chopRecord") {
+        BEGIN_CASE("1","S1ã¬ã³ã¼ã") {
+            string src("S106080480F42F4A");
+
+            chopRecord(src);
+            TEST_CASE("1","å¤ãæ­£ãã", src.compare("80F42F") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","S2ã¬ã³ã¼ã") {
+            string src("S206080480F42F4A");
+
+            chopRecord(src);
+            TEST_CASE("1","å¤ãæ­£ãã", src.compare("F42F") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","S3ã¬ã³ã¼ã") {
+            string src("S306080480F42F4A");
+
+            chopRecord(src);
+            TEST_CASE("1","å¤ãæ­£ãã", src.compare("2F") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","S4ã¬ã³ã¼ã") {
+            string src("S406080480F42F4A");
+
+            chopRecord(src);
+            TEST_CASE("1","å¤ãæ­£ãã", src.compare("080480F42F") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("5","S5ã¬ã³ã¼ã") {
+            string src("S506080480F42F4A");
+
+            chopRecord(src);
+            TEST_CASE("1","å¤ãæ­£ãã", src.compare("080480F42F") == 0);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("loadDataContents/loadContents","loadDataContents/loadContents") {
+        fstream file("test", ios::out);
+        file << "S30D000000000123456789ABCDEF32\nS509FEDCBA9876543210BE";
+        file.close();
+
+        BEGIN_CASE("1","æ­£å¸¸ã±ã¼ã¹") {
+            FileContainerBinutilsImpl fcbi;
+
+            file.open("test",ios::in);
+            bool exception = false;
+            try { fcbi.loadDataContents(file); } catch(...) { exception = true; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãããªã", !exception);
+            TEST_CASE("2","ãã¼ã¿ãç¢ºä¿ããã¦ãã", fcbi.contents.size() == 1);
+            TEST_CASE("3","ãã¡ã¤ã«ã¯éãããã¦ãã", !file.is_open());
+            BEGIN_CASE("4","æ ¼ç´ããå¤ãæ­£ããèª­ãã") {
+                unsigned int i;
+
+                assert(sizeof(unsigned int) >= 4);
+                i = 0;
+                
+                fcbi.loadContents(&i, 0, 4);
+                TEST_CASE("1","1-4ãã¤ãç®", i == 0x67452301);
+                fcbi.loadContents(&i, 4, 4);
+                TEST_CASE("1","5-8ãã¤ãç®", i == 0xefcdab89);
+                fcbi.loadContents(&i, 8, 4);
+                TEST_CASE("1","9-12ãã¤ãç®", i == 0x98badcfe);
+                fcbi.loadContents(&i,12, 4);
+                TEST_CASE("1","13-16ãã¤ãç®", i == 0x10325476);
+            } END_CASE;
+        } END_CASE;
+        remove("test");
+
+        BEGIN_CASE("2","loadContentsã§ä¸åº¦ã«ãã¼ã¸ãµã¤ãºãè¶
+ããéãè¦æ±ãã") {
+            FileContainerBinutilsImpl fcbi;
+            unsigned int i;
+
+            for(i=0;i<SIZE_LOADPAGE*2;++i)
+                fcbi.writeByte(i, i);
+
+            unsigned char * buffer = new unsigned char [SIZE_LOADPAGE * 2];
+            fcbi.loadContents(buffer, 0, SIZE_LOADPAGE * 2);
+
+            for(i=0;i<SIZE_LOADPAGE*2;++i)
+                if(*(buffer + i) != (i & 0xff))
+                    TEST_FAIL;
+
+            delete [] buffer;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("searchSymbolPrefix","searchSymbolPrefix") {
+
+        BEGIN_CASE("1","ãã¬ãã£ã¯ã¹ããªã") {
+            FileContainerBinutilsImpl fcbi;
+            fcbi.symbol_table.insert(pair<string, address_t>(MAGIC_SYMBOL, 0x100));
+
+            fcbi.searchSymbolPrefix();
+            if(!fcbi.symbol_prefix.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","å¤æ°åã«\"_\"ãã¤ãã¿ã¤ã") {
+            FileContainerBinutilsImpl fcbi;
+            fcbi.symbol_table.insert(pair<string, address_t>("_" MAGIC_SYMBOL, 0x100));
+
+            fcbi.searchSymbolPrefix();
+            if(fcbi.symbol_prefix.compare("_") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","\"__\"ã«ã¯åå¿ããªã") {
+            FileContainerBinutilsImpl fcbi;
+            fcbi.symbol_table.insert(pair<string, address_t>("__" MAGIC_SYMBOL, 0x100));
+
+            fcbi.searchSymbolPrefix();
+            if(!fcbi.symbol_prefix.empty())
+                TEST_FAIL;
+        } END_CASE;
+            
+        BEGIN_CASE("4","çºè¦ã§ããªãå ´åãå¤æ´ããªã") {
+            FileContainerBinutilsImpl fcbi;
+            fcbi.symbol_prefix.assign("test");
+
+            fcbi.searchSymbolPrefix();
+            if(fcbi.symbol_prefix.compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("searchByteOrder","searchByteOrder") {
+        BEGIN_CASE("1","ãã¹ãã¨åãã¨ã³ãã£ã¢ã³") {
+            FileContainerBinutilsImpl fcbi;
+            unsigned int value = MAGIC_NUMBER;
+            fcbi.symbol_table.insert(pair<string, address_t>(MAGIC_SYMBOL, 0x100));
+
+            for(int i=0;i<4;i++)
+                fcbi.writeByte(0x100 + i, *((char *)&value + i));
+
+            fcbi.byteorder = UNKNOWN;
+            fcbi.searchByteOrder();
+
+            if(fcbi.byteorder != HOSTORDER)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¹ãã¨éãã¨ã³ãã£ã¢ã³") {
+            FileContainerBinutilsImpl fcbi;
+            unsigned int value = MAGIC_NUMBER;
+            fcbi.symbol_table.insert(pair<string, address_t>(MAGIC_SYMBOL, 0x100));
+
+            for(int i=0;i<4;i++)
+                fcbi.writeByte(0x100 + i, *((char *)&value + (3 - i)));
+
+            fcbi.byteorder = UNKNOWN;
+            fcbi.searchByteOrder();
+
+            if(fcbi.byteorder == HOSTORDER)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ã·ã³ãã«ãç¡ã") {
+            FileContainerBinutilsImpl fcbi;
+            unsigned int value = MAGIC_NUMBER;
+
+            for(int i=0;i<4;i++)
+                fcbi.writeByte(0x100 + i, *((char *)&value + (3 - i)));
+
+            fcbi.byteorder = UNKNOWN;
+            fcbi.searchByteOrder();
+
+            if(fcbi.byteorder != UNKNOWN)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãã¼ã¿ãç¡ã") {
+            FileContainerBinutilsImpl fcbi;
+            unsigned int value = MAGIC_NUMBER;
+            fcbi.symbol_table.insert(pair<string, address_t>(MAGIC_SYMBOL, 0x100));
+
+            fcbi.byteorder = UNKNOWN;
+            fcbi.searchByteOrder();
+
+            if(fcbi.byteorder != UNKNOWN)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    chain.restoreContext();
+}
+
+#endif /* TESTSUITE */
+
+#endif /* FILECONTAINER_BINUTILS || TESTSUITE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_windows.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_windows.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/fc_windows.cpp	(revision 26)
@@ -0,0 +1,288 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fc_windows.cpp,v 1.12 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+#if (defined(FILECONTAINER_WINDOWS) || defined(TESTSUITE)) && defined(_MSC_VER)
+
+#pragma warning(disable:4786)
+
+#include "base/filecontainer.h"
+#include <windows.h>
+#include <imagehlp.h>
+#include <string>
+
+using namespace std;
+
+namespace {
+
+    class FileContainerWindowsImpl : public FileContainer
+    {
+    protected:
+        HANDLE          process;
+        LOADED_IMAGE    image;
+        DWORD           base;
+
+        inline bool isLoaded(void) const
+        {   return base != 0;   }
+
+    public:
+        FileContainerWindowsImpl(void) throw();
+        virtual ~FileContainerWindowsImpl(void) throw();
+
+            /* ã¤ã³ã¿ãã§ã¼ã¹é¨ */
+        virtual void        attachModule(const string & filename) throw(Exception);
+        virtual void        loadContents(void * dest, address_t address, size_t size) throw(Exception);
+        virtual address_t   getSymbolAddress(const string & symbol) throw(Exception);
+        virtual std::string getArchitecture(void) throw();
+
+        TESTSUITE_PROTOTYPE(main)
+    };
+
+    FileContainerWindowsImpl instance_of_FileContaienrWindowsImpl;
+
+        /* ã³ã³ã¹ãã©ã¯ã¿ */
+    FileContainerWindowsImpl::FileContainerWindowsImpl(void) throw()
+        : process(NULL), image(), base(0)
+    {}
+
+        /* ãã¹ãã©ã¯ã¿ */
+    FileContainerWindowsImpl::~FileContainerWindowsImpl(void) throw()
+    {
+        if(isLoaded()) {
+            ::UnMapAndLoad(&image);
+            ::SymUnloadModule(process, base);
+            process = NULL;
+            base    = 0;
+        }
+    }
+
+        /* å¯¾è±¡ã¢ã¸ã¥ã¼ã«ã®å²ä» */
+    void FileContainerWindowsImpl::attachModule(const std::string & _filename) throw(Exception)
+    {
+        string filename(_filename);
+
+        process = ::GetCurrentProcess();
+        if(::SymInitialize( process , NULL, FALSE) == FALSE)
+            ExceptionMessage("[Internal Error] ImageHelper API initialization failure","[å
+é¨ã¨ã©ã¼] åæåã«å¤±æãã¾ãã (ImageHlp)").throwException();
+
+        base = ::SymLoadModule(process, NULL, (PSTR)filename.c_str(), NULL, 0, 0);
+
+        image.SizeOfImage = sizeof(LOADED_IMAGE);
+        if(::MapAndLoad((PSTR)filename.c_str(), NULL, &image, FALSE, TRUE) == FALSE)
+            ExceptionMessage("[Internel error] Module loading failure [%]","[å
+é¨ã¨ã©ã¼] ã¢ã¸ã¥ã¼ã«ã®èª­ã¿è¾¼ã¿ã«å¤±æãã¾ãã [%]") << filename << throwException;
+    }
+
+        /* å
+å®¹ã®åå¾ */
+    void FileContainerWindowsImpl::loadContents(void * dest, address_t address, size_t size) throw(Exception)
+    {
+        PIMAGE_SECTION_HEADER header;
+        unsigned int i;
+
+        address -= base;
+        for(i=0;i<image.NumberOfSections;i++) {
+            header = image.Sections+i;
+            if(address >= header->VirtualAddress && address < header->VirtualAddress + header->SizeOfRawData) {
+                address -= header->VirtualAddress - header->PointerToRawData;
+                ::CopyMemory(dest,image.MappedAddress + address,size);
+                break;
+            }
+        }
+
+        if(i == image.NumberOfSections)
+            ExceptionMessage("[Internel error] Memory read with unmapped address","[å
+é¨ã¨ã©ã¼] ãããããã¦ãªãã¢ãã¬ã¹ãä½¿ã£ã¦ã¡ã¢ãªãªã¼ããè¡ããã¾ãã").throwException();
+    }
+
+        /* ã·ã³ãã«ã¢ãã¬ã¹ã®è§£æ±º */
+    FileContainer::address_t FileContainerWindowsImpl::getSymbolAddress(const string & _symbol) throw(Exception)
+    {
+        FileContainer::address_t result = 0;
+        string symbol(_symbol);
+        IMAGEHLP_SYMBOL sym;
+
+        if(process == NULL || base == 0)
+            ExceptionMessage("Not initialized","åæåããã¦ã¾ãã").throwException();
+
+        sym.SizeOfStruct = sizeof(sym);
+        sym.MaxNameLength = 0;
+
+        if(::SymGetSymFromName(process, (PSTR)symbol.c_str(), &sym) == TRUE)
+            result = static_cast<FileContainer::address_t>(sym.Address);
+     
+        if(result == 0)
+            ExceptionMessage("Unknown symbol [%]","ä¸æ­£ãªã·ã³ãã«å [%]") << symbol << throwException;
+
+        return static_cast<FileContainer::address_t>(sym.Address);
+    }
+
+    string FileContainerWindowsImpl::getArchitecture(void) throw()
+    {   return "Windows (Win32)";   }
+
+}
+
+//---------------------------------------------
+
+#ifdef TESTSUITE
+#include "base/coverage_undefs.h"
+
+#pragma warning(disable:4311) //'reinterpret_cast' : ãã¤ã³ã¿ã 'const int *__w64 ' ãã 'FileContainer::address_t' ã¸åãè©°ãã¾ãã
+
+extern "C" const int FileContainerWindowsImplTestVariable = 0x01234567;
+extern "C" const int _FileContainerWindowsImplTestVariableWithUnderbar = 0x89abcdef;
+
+TESTSUITE(main, FileContainerWindowsImpl)
+{
+    PREDECESSOR("TFileContainer");
+
+    SingletonBase::ContextChain chain;
+    chain.saveContext<RuntimeObjectTable>();
+    chain.renewInstance();
+
+    BEGIN_CASE("attachModule","attachModule") {
+        BEGIN_CASE("1","å®è¡ãã¦ãããã­ã°ã©ã ãéããã") {
+            FileContainerWindowsImpl fcwi;
+            bool result = true;
+            try { fcwi.attachModule(TestSuite::getProgName()); } catch(...) { result = false; }
+            
+            TEST_CASE("1", "ä¾å¤ã¯èµ·ããªã", result);
+        } END_CASE;
+
+        BEGIN_CASE("2","å­å¨ããªããã¡ã¤ã«åã§ä¾å¤") {
+            FileContainerWindowsImpl fcwi;
+            bool result = false;
+            try { fcwi.attachModule("..."); } catch(...) { result = true; }
+            
+            TEST_CASE("1", "ä¾å¤ãèµ·ãã", result);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("getSymbolAddress","getSymbolAddress") {
+        FileContainerWindowsImpl fcwi;
+
+        BEGIN_CASE("1","åæåãã¦ããªãç¶æ
+ã§æ¤ç´¢ãã") {
+            bool result = false;
+            try { fcwi.getSymbolAddress("FileContainerWindowsImplTestVariable"); } catch(...) { result = true; }
+            TEST_CASE("1","ä¾å¤ãããã", result);
+        } END_CASE;
+
+        fcwi.attachModule(TestSuite::getProgName());
+
+        BEGIN_CASE("2","å­å¨ããã·ã³ãã«ãæ¤ç´¢ãã") {
+            FileContainer::address_t addr = 0;
+            bool result = true;
+
+            try { addr = fcwi.getSymbolAddress("FileContainerWindowsImplTestVariable"); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","ã¢ãã¬ã¹ãæ­£ãã", addr == reinterpret_cast<FileContainer::address_t>(&FileContainerWindowsImplTestVariable));
+        } END_CASE;
+
+        BEGIN_CASE("3","ä½è¨ãª_ãåæã«ä»å ããªã") {
+            FileContainer::address_t addr = 0;
+            bool result = false;
+
+            try { addr = fcwi.getSymbolAddress("FileContainerWindowsImplTestVariableWithUnderbar"); } catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+            TEST_CASE("2","ã¢ãã¬ã¹ã¯0ã®ã¾ã¾", addr == 0);
+        } END_CASE;
+
+        BEGIN_CASE("4","å­å¨ããªãã·ã³ãã«ãæ¤ç´¢ãã") {
+            FileContainer::address_t addr = 0;
+            bool result = false;
+
+            try { addr = fcwi.getSymbolAddress("____unknown____"); } catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãããã", result);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("loadContents","loadContents") {
+        FileContainerWindowsImpl fcwi;
+        fcwi.attachModule(TestSuite::getProgName());
+
+        BEGIN_CASE("1","å­å¨ããå¤æ°ãèª­ã¿åºã") {
+            FileContainer::address_t addr;
+            int i;
+
+            addr = fcwi.getSymbolAddress("FileContainerWindowsImplTestVariable");
+            bool result = true;
+            try { fcwi.loadContents(&i, addr, sizeof(i)); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ããªã", result);
+            TEST_CASE("2","èª­ã¿åºãããå
+å®¹ã¯æ­£ãã", i == FileContainerWindowsImplTestVariable);
+        } END_CASE;
+
+        BEGIN_CASE("2","å­å¨ããªãå¤æ°ãèª­ã¿åºã") {
+            FileContainer::address_t addr;
+            int i;
+
+            addr = ~0;
+            bool result = false;
+            try { fcwi.loadContents(&i, addr, sizeof(i)); } catch(Exception &) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+        } END_CASE;
+
+    } END_CASE;
+
+    chain.restoreContext();
+}
+
+#endif /* TESTSUITE */
+
+#endif /* FILECONTAINER_WINDOWS || TESTSUITE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.cpp	(revision 26)
@@ -0,0 +1,784 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: filecontainer.cpp,v 1.11 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+#ifdef _MSC_VER
+#pragma warning(disable:4786) //ãããã°æå­åã255æå­ã«åãè©°ãã
+#endif
+
+#include "base/filecontainer.h"
+#include <memory.h>
+#include <fstream>
+
+using namespace std;
+
+namespace {
+        /* ç¬¦å·ãªã10é²æå­åã®ãã¼ã¹ */
+    char * parse_uint(char * src, unsigned int * dest, unsigned int default_value = 0)
+    {
+        int result = 0;
+
+        if(*src < '0' || *src > '9') {
+            *dest = default_value;
+            return src;
+        }
+
+        do {
+            result = result * 10 + *(src++) - '0';
+        } while(*src >= '0' && *src <='9');
+
+        *dest = result;
+        return src;
+    }
+}
+
+    /* å¤æ°æ
+å ±ã®èª­ã¿è¾¼ã¿ */
+void FileContainer::attachInfo(const string & filename) throw(Exception)
+{
+    char    buffer[256];
+    fstream file;
+
+    char * work;
+    struct tagVariableInfo info;
+
+    memset(&info, 0, sizeof(info));
+
+    file.open(filename.c_str(), ios::in);
+    if(!file.is_open()) {
+        ExceptionMessage("Structure information file(%) was not found. ","æ§é ä½æ
+å ±ãã¡ã¤ã«(%)ãè¦ã¤ããã¾ãã ") << filename << throwException;
+        return;
+    }
+
+    while(!file.eof())
+    {
+        file.get(buffer, 256);
+
+        if(!file.fail()) {
+            switch(buffer[0])
+            {
+            case 's':
+                {
+                    unsigned int address = 0;
+                    unsigned int size    = 0;
+
+                    work = buffer+1;
+                    while(*work != ',' && *work != '\x0')
+                        work++;
+                    if(*work != '\x0') {
+                        *work = '\x0';
+                        work = parse_uint(work+1,&size);
+                        work = parse_uint(work+1,&address);
+                    }
+
+                    info.address = static_cast<address_t>(address);
+                    info.size    = static_cast<size_t>(size);
+                    variableinfo[string(buffer+1)] = info;
+                    break;
+                }
+
+            case 'd':   //è­å¥å­åã¯ç¡è¦
+                break;
+
+            default:
+                ExceptionMessage("Unknown information type identifier found - [%]","æªç¥ã®åè­å¥å­ - [%]") << buffer[0] << throwException;
+            }
+        }
+        else
+            file.clear();
+
+        file.get();
+    }
+
+    file.close();
+}
+
+    /* å¤æ°æ
+å ±ã®åå¾ */
+struct FileContainer::tagVariableInfo FileContainer::getVariableInfo(const string & name) throw(Exception)
+{
+    map<string, tagVariableInfo>::const_iterator scope;
+
+    scope = variableinfo.find(name);
+    if(scope == variableinfo.end()) {
+        ExceptionMessage("Operation against the unknwon symbol [%] was rejected.","ä¸æãªã·ã³ãã«å [%] ã®æ
+å ±ãåå¾ãããã¨ãã¦ãã¾ã") << name << throwException;
+
+        struct tagVariableInfo dummy;
+        memset(&dummy, 0, sizeof(dummy));
+        return dummy;
+    }
+
+    return scope->second;
+}
+
+
+    /* ã³ã³ã¹ãã©ã¯ã¿ (ã·ã³ãã«åãæå®ãã¦åæå) */
+TargetVariableBase::TargetVariableBase(const std::string & sym) throw() 
+    : address(0), size(0), offset(0), structure_size(0), loaded(false)
+{
+    try{
+        FileContainer * fc = FileContainer::getInstance();
+        address = fc->getSymbolAddress(sym);
+        size    = fc->getVariableInfo(sym).size;
+        structure_size = size;
+    }
+    catch(...) {
+        address = 0;
+        size    = 0;
+    }
+}
+
+    /* ã³ã³ã¹ãã©ã¯ã¿ (ã·ã³ãã«å, ãã¼ã¿é·ãæå®ãã¦åæå) */
+TargetVariableBase::TargetVariableBase(const string & sym, size_t _size) throw() 
+    : address(0), size(_size), offset(0), structure_size(_size), loaded(false)
+{
+    try{
+        FileContainer * fc = FileContainer::getInstance();
+        address = fc->getSymbolAddress(sym);
+    }
+    catch(...) {
+        address = 0;
+        size    = 0;
+    }
+}
+
+    /* ã³ã³ã¹ãã©ã¯ã¿ (ã·ã³ãã«åãã¡ã³ãåãæå®ãã¦åæå) */
+TargetVariableBase::TargetVariableBase(const string & sym, const string & sz) throw() 
+    : address(0), size(0), offset(0), structure_size(0), loaded(false)
+{
+    try{
+        FileContainer * fc = FileContainer::getInstance();
+        address = fc->getSymbolAddress(sym);                                //æ§é ä½ã®å
+é ­ã¢ãã¬ã¹
+        size    = fc->getVariableInfo(sz).size;                             //ã¡ã³ãå¤æ°ã®é·ã
+        offset  = static_cast<size_t>(fc->getVariableInfo(sz).address);     //ã¡ã³ãå¤æ°ã®ãªãã»ãã
+        structure_size = fc->getVariableInfo(sym).size;                     //æ§é ä½ã®é·ã
+    }
+    catch(...) {
+        address = 0;
+        size    = 0;
+    }
+}
+
+    /* ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ */
+TargetVariableBase::TargetVariableBase(const TargetVariableBase & src) throw()
+    : address(0), size(0), offset(0), structure_size(0), loaded(false)
+{
+    if(src.isValid()) {
+        address        = src.address;
+        size           = src.size;
+        offset         = src.offset;   
+        structure_size = src.structure_size;
+        loaded         = false;
+    }
+}
+
+
+    /* ãªãã¸ã§ã¯ãå
+å®¹ã®åå¾ */
+void TargetVariableBase::loadContent(void * dest, size_t dest_size) throw(Exception)
+{
+    char * buffer = 0;
+
+    try {
+        if(isValid()) {
+            buffer = new char[getSize()];
+            FileContainer * fc = FileContainer::getInstance();
+
+            fc->loadContents(buffer, getAddress() + getOffset(), getSize());
+            if(fc->getByteOrder() != FileContainer::HOSTORDER)
+                changeEndian(buffer, getSize());
+
+            if(size < dest_size)
+                memset(dest, 0, dest_size);
+            else if(size > dest_size)
+                ExceptionMessage("[TargetVariableBase::loadContent] Destination storage is too small to store the contents.","[TargetVariableBase::loadContent] åºåå
+ãããã¡ã®ãµã¤ãºãå°ãããã¾ã").throwException();
+            memcpy(dest, buffer, getSize());
+
+            delete [] buffer;
+            loaded = true;
+        }
+        else {
+            ExceptionMessage("loadContent was performed with an illegal target variable.","ä¸æ­£ãªã¿ã¼ã²ããå¤æ°æ
+å ±ã§loadContentãå¼ã°ãã¾ãã").throwException();
+        }
+    }
+    catch(bad_alloc &) {
+        ExceptionMessage("No available memory [%B]","ã¡ã¢ãªä¸è¶³ã§ã [%B]") << (unsigned int)getSize() << throwException;
+    }
+    catch(Exception &) {
+        if(buffer)
+            delete [] buffer;
+        throw;
+    }
+}
+
+    /* ãã¤ããªã¼ãã®å¤æ´ */
+void TargetVariableBase::changeEndian(char * buffer, size_t size) throw()
+{
+    char * tail = buffer + size - 1;
+
+    while(buffer < tail) {
+        char temporary = *buffer;
+        *buffer = *tail;
+        *tail   = temporary;
+
+        ++ buffer;
+        -- tail;
+    }
+}
+
+
+
+//---------------------------------------------
+
+#ifdef TESTSUITE
+#include "base/coverage_undefs.h"
+
+#include <cctype>
+#define _isprint(x) isprint(x)
+
+class TFileContainer : public FileContainer
+{
+public:
+    TFileContainer(void) throw() {}
+    virtual ~TFileContainer(void) throw() {}
+
+    string module;
+    void attachModule(const std::string & _module) throw(Exception) 
+    {
+        CHECKPOINT("attachModule"); 
+        module = _module;
+    }
+
+    void *    dest;
+    address_t addr;
+    size_t    sz;
+    void loadContents(void * _dest, address_t _addr, size_t _sz) throw(Exception) 
+    {
+        CHECKPOINT("loadContents");
+        dest = _dest;
+        addr = _addr;
+        sz   = _sz;
+        memset(_dest, ~0, _sz);
+    }
+
+    string symbol;
+    address_t getSymbolAddress(const std::string & _symbol) throw(Exception) 
+    {
+        CHECKPOINT("getSymbolAddress");
+        symbol = _symbol;
+        return 1; 
+    }
+
+    std::string getArchitecture(void) throw(Exception)
+    {   return "TFileContainer";   }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+TESTSUITE(main, TFileContainer)
+{
+    PREDECESSOR("SingletonBase");
+    PREDECESSOR("RuntimeObjectTable");
+
+    SingletonBase::ContextChain chain;
+    chain.saveContext<RuntimeObjectTable>();
+    chain.renewInstance();
+
+    BEGIN_CASE("getInstance","getInstance") {
+        BEGIN_CASE("1","ä½ãç»é²ããã¦ããªãã¨ãã®getInstanceã§ä¾å¤") {
+            bool result = false;
+            try { FileContainer::getInstance(); } catch(Exception &) { result = true; }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","getInstanceã§ã¤ã³ã¹ã¿ã³ã¹ãè¿ã") {
+            TFileContainer fc;
+            FileContainer * instance;
+            bool result = true;
+            try { instance = FileContainer::getInstance(); } catch(...) { result = false; }
+            TEST_CASE("1","ä¾å¤ã¯ãããªã", result);
+            TEST_CASE("2","åå¾ã§ããã¤ã³ã¹ã¿ã³ã¹ãæ­£ãã", instance == &fc);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("parse_uint","parse_uint") {
+        BEGIN_CASE("1","æ°å­ãåãåºãã") {
+            unsigned int dest;
+            char * src = "123";
+            char * result = parse_uint(src, &dest);
+
+            TEST_CASE("1","resultãæå¾ã«æ¥ã¦ãã", result == src + 3);
+            TEST_CASE("2","å¤ã¯æ­£ãã", dest == 123);
+        } END_CASE;
+
+        BEGIN_CASE("2","æ°å­ã§ç¡ãæå­ãä¸ããã¨ããã©ã«ãå¤ãè¿ã") {
+            unsigned int dest;
+            char * src = "abc";
+            char * result = parse_uint(src, &dest, 1234567);
+
+            TEST_CASE("1","resultã¯é²ãã§ããªã", result == src);
+            TEST_CASE("2","ããã©ã«ãå¤ãè¿ã", dest == 1234567);
+        } END_CASE;
+
+        BEGIN_CASE("3","ããªãã¿ã§ã¨ã¾ã") {
+            unsigned int dest;
+            char * src = "321,123";
+            char * result = parse_uint(src, &dest);
+
+            TEST_CASE("1","resultã¯é²ãã§ããªã", result == src + 3);
+            TEST_CASE("2","ããã©ã«ãå¤ãè¿ã", dest == 321);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("attachInfo","attachInfo") {
+        BEGIN_CASE("1","æ®éã«å¦çãããã") {
+            fstream file("dummy",ios::out);
+            file << "s_kernel_tinib_table,32,0\nstask_initialization_block::texrtn,4,28\n";
+            file.close();
+
+            TFileContainer fc;
+
+            bool result = true;
+            try { fc.attachInfo("dummy"); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯ãããªã", result);
+
+            map<string, struct tagVariableInfo>::iterator scope = fc.variableinfo.find("_kernel_tinib_table");
+            TEST_CASE("2","è¦ç´ ãè¿½å ããã¦ãã (tinib)", scope != fc.variableinfo.end());
+            TEST_CASE("3","å¤ãæ­£ãã (tinib)", scope->second.size == 32);
+
+            scope = fc.variableinfo.find("task_initialization_block::texrtn");
+            TEST_CASE("4","è¦ç´ ãè¿½å ããã¦ãã (texrtn)", scope != fc.variableinfo.end());
+            TEST_CASE("5","å¤ãæ­£ãã (texrtn.size)", scope->second.size == 4);
+            TEST_CASE("6","å¤ãæ­£ãã (texrtn.address)", scope->second.address == 28);
+        } END_CASE;
+        remove("dummy");
+
+        BEGIN_CASE("2","è­å¥æå­ 'd' ãç¡è¦ãã") {
+            fstream file("dummy",ios::out);
+            file << "ddummy,0\ndtask_initialization_block::texrtn,4,28\n";
+            file.close();
+
+            TFileContainer fc;
+
+            bool result = true;
+            try { fc.attachInfo("dummy"); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯ãããªã", result);
+            TEST_CASE("2","è¦ç´ ã¯è¿½å ããã¦ããªã", fc.variableinfo.size() == 0);
+        } END_CASE;
+        remove("dummy");
+
+        BEGIN_CASE("3","ç©ºè¡ãç¡è¦ã§ãã") {
+            fstream file("dummy",ios::out);
+            file << "s_kernel_tinib_table,32,0\n\nstask_initialization_block::texrtn,4,28\n";
+            file.close();
+
+            TFileContainer fc;
+
+            bool result = true;
+            try { fc.attachInfo("dummy"); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯ãããªã", result);
+
+            map<string, struct tagVariableInfo>::iterator scope = fc.variableinfo.find("_kernel_tinib_table");
+            TEST_CASE("2","è¦ç´ ãè¿½å ããã¦ãã (tinib)", scope != fc.variableinfo.end());
+            TEST_CASE("3","å¤ãæ­£ãã (tinib)", scope->second.size == 32);
+
+            scope = fc.variableinfo.find("task_initialization_block::texrtn");
+            TEST_CASE("4","è¦ç´ ãè¿½å ããã¦ãã (texrtn)", scope != fc.variableinfo.end());
+            TEST_CASE("5","å¤ãæ­£ãã (texrtn.size)", scope->second.size == 4);
+            TEST_CASE("6","å¤ãæ­£ãã (texrtn.address)", scope->second.address == 28);
+        } END_CASE;
+        remove("dummy");
+
+        BEGIN_CASE("4","'s'ã¨'d'ä»¥å¤ãã¯ãã") {
+            char c;
+            char msg[2] = {0, 0};
+
+            for(c=0;c<128;++c) {
+                if(isprint(c) && (c != 's' && c != 'd')) {
+                    fstream file("dummy",ios::out);
+                    file << c;
+                    file << "dummy,0\n";
+                    file.close();
+
+                    TFileContainer fc;
+
+                    bool result = false;
+                    try { fc.attachInfo("dummy"); } catch(...) { result = true; }
+
+                    msg[0] = c;
+                    TEST_CASE_("1","ä¾å¤ãããã", result, string(msg));
+                    TEST_CASE_("2","è¦ç´ ã¯è¿½å ããã¦ããªã", fc.variableinfo.size() == 0, string(msg));
+                }
+            }
+        } END_CASE;
+        remove("dummy");
+    } END_CASE;
+
+    chain.restoreContext();
+}
+
+class TTargetVariable : public TargetVariable<int>
+{
+    TESTSUITE_PROTOTYPE(main)
+
+        /*
+         * ã³ã³ã¹ãã©ã¯ã¿ (TargetVariable<int>ã«åé)
+         */
+    inline TTargetVariable(FileContainer::address_t addr) throw()
+        : TargetVariable<int>(addr)
+    {}
+    
+    inline TTargetVariable(FileContainer::address_t addr, size_t sz) throw()
+        : TargetVariable<int>(addr, sz)
+    {}
+
+    inline TTargetVariable(FileContainer::address_t addr, size_t sz, size_t ofs, size_t ssz) throw()
+        : TargetVariable<int>(addr, sz, ofs, ssz)
+    {}
+
+    inline TTargetVariable(const std::string & sym) throw()
+        : TargetVariable<int>(sym)
+    {}
+
+    inline TTargetVariable(const std::string & sym, const std::string & sz) throw()
+        : TargetVariable<int>(sym, sz)
+    {}
+
+        /* ãã¹ãã©ã¯ã¿ (ç¹ã«ä½ãããªã) */
+    virtual ~TTargetVariable(void) throw() 
+    {}
+};
+
+TESTSUITE(main, TTargetVariable)
+{
+    PREDECESSOR("SingletonBase");
+    PREDECESSOR("TFileContainer");
+    PREDECESSOR("RuntimeObjectTable");
+
+    SingletonBase::ContextChain chain;
+    chain.saveContext<RuntimeObjectTable>();
+    chain.renewInstance();
+
+    TFileContainer fc;
+    fstream file("dummy",ios::out);
+    file << "s_test,4,0\ns_kernel_tinib_table,32,0\nstask_initialization_block::texrtn,4,28\n";
+    file.close();
+
+    fc.attachInfo("dummy");
+
+    BEGIN_CASE("constructor","ã³ã³ã¹ãã©ã¯ã¿") {
+        BEGIN_CASE("1", "(address_t, size_t)") {
+            TTargetVariable tv(1, 2);
+
+            TEST_CASE("1","å¤æ°ã¯æå¹", tv.isValid());
+            TEST_CASE("2","ã¢ãã¬ã¹ã¯æ­£ãã", tv.getAddress() == 1);
+            TEST_CASE("3","ãµã¤ãºã¯æ­£ãã", tv.getSize() == 2);
+            TEST_CASE("4","ãªãã»ããã¯0", tv.getOffset() == 0);
+            TEST_CASE("5","æ§é ä½ãµã¤ãºã¯å¤æ°ãµã¤ãºã¨ä¸ç·", tv.getStructureSize() == tv.getSize());
+        } END_CASE;
+
+        BEGIN_CASE("2","(address_t, size_t, size_t, size_t)") {
+            TTargetVariable tv(1,2,3,4);
+
+            TEST_CASE("1","å¤æ°ã¯æå¹", tv.isValid());
+            TEST_CASE("2","ã¢ãã¬ã¹ã¯æ­£ãã", tv.getAddress() == 1);
+            TEST_CASE("3","ãµã¤ãºã¯æ­£ãã", tv.getSize() == 2);
+            TEST_CASE("4","ãªãã»ããã¯æ­£ãã", tv.getOffset() == 3);
+            TEST_CASE("5","æ§é ä½ãµã¤ãºã¯æ­£ãã", tv.getStructureSize() == 4);
+        } END_CASE;
+
+        BEGIN_CASE("3","(string)") {
+            TestSuite::clearCheckpoints();
+
+            TTargetVariable tv("_test");
+
+            TEST_CASE("1","å¤æ°ã¯æå¹", tv.isValid());
+            TEST_CASE("2","getSymbolAddressãã³ã¼ã«ããã¦ãã", TestSuite::isReached("getSymbolAddress"));
+            TEST_CASE("3","getSymbolAddressã®å¼æ°ãæ­£ãã", fc.symbol.compare("_test") == 0);
+            TEST_CASE("3","ã¢ãã¬ã¹ã¯æ­£ãã", tv.getAddress() == 1);
+            TEST_CASE("4","ãµã¤ãºã¯æ­£ãã", tv.getSize() == 4);
+            TEST_CASE("5","ãªãã»ããã¯æ­£ãã", tv.getOffset() == 0);
+            TEST_CASE("6","æ§é ä½ãµã¤ãºã¯æ­£ãã", tv.getStructureSize() == 4);
+        } END_CASE;
+
+        BEGIN_CASE("4","(string,string)") {
+            TestSuite::clearCheckpoints();
+
+            TTargetVariable tv("_kernel_tinib_table", "task_initialization_block::texrtn");
+
+            TEST_CASE("1","å¤æ°ã¯æå¹", tv.isValid());
+            TEST_CASE("2","getSymbolAddressãã³ã¼ã«ããã¦ãã", TestSuite::isReached("getSymbolAddress"));
+            TEST_CASE("3","getSymbolAddressã®å¼æ°ãæ­£ãã", fc.symbol.compare("_kernel_tinib_table") == 0);
+            TEST_CASE("3","ã¢ãã¬ã¹ã¯æ­£ãã", tv.getAddress() == 1);
+            TEST_CASE("4","ãµã¤ãºã¯æ­£ãã", tv.getSize() == 4);
+            TEST_CASE("5","ãªãã»ããã¯æ­£ãã", tv.getOffset() == 28);
+            TEST_CASE("6","æ§é ä½ãµã¤ãºã¯æ­£ãã", tv.getStructureSize() == 32);
+        } END_CASE;
+
+        BEGIN_CASE("5","ç¡å¹ãªã±ã¼ã¹") {
+            TEST_CASE("1","ã¢ãã¬ã¹0ã®å¤æ°ã¯ç¡å¹ (1)", !TTargetVariable(0,4).isValid());
+            TEST_CASE("2","ã¢ãã¬ã¹0ã®å¤æ°ã¯ç¡å¹ (2)", !TTargetVariable(0,4,4,4).isValid());
+            TEST_CASE("3","ãµã¤ãº0ã®å¤æ°ã¯ç¡å¹ (1)", !TTargetVariable(4,0).isValid());
+            TEST_CASE("4","ãµã¤ãº0ã®å¤æ°ã¯ç¡å¹ (2)", !TTargetVariable(4,0,4,4).isValid());
+            TEST_CASE("5","æ§é ä½ãµã¤ãº0ã®å¤æ°ã¯ç¡å¹", !TTargetVariable(4,4,4,0).isValid());
+
+            TEST_CASE("6","å­å¨ããªãã·ã³ãã«åã®å¤æ°ãç¡å¹(1)", !TTargetVariable("unknown").isValid());
+            TEST_CASE("7","å­å¨ããªãã·ã³ãã«åã®å¤æ°ãç¡å¹(2)", !TTargetVariable("unknown","task_initialization_block::texrtn").isValid());
+            TEST_CASE("8","å­å¨ããªãã¡ã³ãåã®å¤æ°ãç¡å¹", !TTargetVariable("_kernel_tinib_table","unknown").isValid());
+
+            TEST_CASE("10","æ ¼ç´é åãä¸è¶³ãã¦ããå¤æ°", !TTargetVariable("_kernel_tinib_table").isValid());
+            TEST_CASE("11","ç¡å¹ãªå¼æ°ãããã£ãå ´å", !TTargetVariable(*((TTargetVariable *)0)).isValid());
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("loadContents", "loadContents") {
+        BEGIN_CASE("1","éå¸¸èµ·å") {
+            int i;
+            TTargetVariable tv(0x100);
+
+            bool result = true;
+            try { tv.loadContent(&i, sizeof(int)); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãããªã", result);
+            TEST_CASE("2","ä¸­èº«ã¯~0ã§ãã£ã«ããã¦ãã", i == ~0);
+        } END_CASE;
+
+        BEGIN_CASE("2","å
+ãããå¤§ããªåã§åãã") {
+            struct { int first; int second; } i;
+            TTargetVariable tv(0x100);
+
+            bool result = true;
+            try { tv.loadContent(&i, sizeof(i)); } catch(...) { result = false; }
+
+            TEST_CASE("1","ä¾å¤ã¯èµ·ãããªã", result);
+            TEST_CASE("2","ä¸­èº«ã¯~0ã§ãã£ã«ããã¦ãã", i.first == ~0);
+            TEST_CASE("3","æ®ãã¯0ã§ãã£ã«ããã¦ãã", i.second == 0);
+        } END_CASE;
+
+        BEGIN_CASE("3","ç¡å¹ãªè¦ç´ ã«å¯¾ãã¦å®è¡ãã") {
+            TTargetVariable tv(0, 0, 0, 0);
+            int i;
+
+            bool result = false;
+            try{ tv.loadContent(&i, sizeof(i)); } catch(...) { result = true; }
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+        } END_CASE;
+
+        BEGIN_CASE("4","å
+ãããå°ããªåã§åãã") {
+            char i;
+            TTargetVariable tv(0x100);
+
+            bool result = false;
+            try { tv.loadContent(&i, sizeof(i)); } catch(...) { result = true; }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("pointer_operators","ãã¤ã³ã¿é¢¨ã®æ¼ç®") {
+        TargetVariable<int> tv(0x100);
+        TargetVariable<int> tvl(0x100);
+
+        *tvl;
+
+        TEST_CASE("0","[åæ] tv:ã¢ãã¬ã¹ã¯0x100", tv.getAddress() == 0x100);
+        TEST_CASE("0","[åæ] tv:ãµã¤ãºã¯4", tv.getSize() == 4);
+        TEST_CASE("0","[åæ] tv:æ§é ä½ãµã¤ãºã4", tv.getStructureSize() == 4);
+        TEST_CASE("0","[åæ] tv:èª­åºãæªäº", !tv.isLoaded());
+        TEST_CASE("0","[åæ] tvl:ã¢ãã¬ã¹ã¯0x100", tvl.getAddress() == 0x100);
+        TEST_CASE("0","[åæ] tvl:ãµã¤ãºã¯4", tvl.getSize() == 4);
+        TEST_CASE("0","[åæ] tvl:æ§é ä½ãµã¤ãºã4", tvl.getStructureSize() == 4);
+        TEST_CASE("0","[åæ] tvl:èª­åºãå®äº", tvl.isLoaded());
+
+        BEGIN_CASE("1","operator +") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work = tv + 0x10;
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x140", work.getAddress() == 0x100 + sizeof(int) * 0x10);
+            TEST_CASE("2","workã¯èª­ã¿è¾¼ã¾ãã¦ããªã", !work.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("2","operator -") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work = tv - 0x10;
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0xc0", work.getAddress() == 0x100 - sizeof(int) * 0x10);
+            TEST_CASE("2","workã¯èª­ã¿è¾¼ã¾ãã¦ããªã", !work.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("3","operator ++") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            TargetVariable<int> result = (++ work);
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x104", work.getAddress() == 0x100 + sizeof(int));
+            TEST_CASE("2","work == result", work == result);
+            TEST_CASE("3","èª­ã¿è¾¼ã¿æªäºç¶æ
+", !result.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("4","operator ++(int)") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            TargetVariable<int> result = (work++);
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x104", work.getAddress() == 0x100 + sizeof(int));
+            TEST_CASE("2","resultã®ã¢ãã¬ã¹ã¯0x100", result.getAddress() == 0x100);
+            TEST_CASE("3","èª­ã¿è¾¼ã¿å®äºç¶æ
+", result.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("5","operator --") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            TargetVariable<int> result = (-- work);
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x9c", work.getAddress() == 0x100 - sizeof(int));
+            TEST_CASE("2","work == result", work == result);
+            TEST_CASE("3","èª­ã¿è¾¼ã¿æªäºç¶æ
+", !result.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("6","operator --(int)") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            TargetVariable<int> result = (work--);
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x9c", work.getAddress() == 0x100 - sizeof(int));
+            TEST_CASE("2","resultã®ã¢ãã¬ã¹ã¯0x100", result.getAddress() == 0x100);
+            TEST_CASE("3","èª­ã¿è¾¼ã¿å®äºç¶æ
+", result.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("7","operator +=") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            work += 0x10;
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0x140", work.getAddress() == 0x100 + sizeof(int) * 0x10);
+            TEST_CASE("2","èª­ã¿è¾¼ã¿æªäºç¶æ
+", !work.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("8","operator -=") {
+            TestSuite::clearCheckpoints();
+
+            TargetVariable<int> work(tvl);
+
+            work -= 0x10;
+
+            TEST_CASE("1","workã®ã¢ãã¬ã¹ã¯0xc0", work.getAddress() == 0x100 - sizeof(int) * 0x10);
+            TEST_CASE("2","èª­ã¿è¾¼ã¿æªäºç¶æ
+", !work.isLoaded());
+        } END_CASE;
+
+        BEGIN_CASE("9", "operator &") {
+            TEST_CASE("1","ã¢ãã¬ã¹ãæãã", &tv == 0x100);
+            TEST_CASE("2","NULLã¤ã³ã¹ã¿ã³ã¹ã«ã¯0ãè¿ã", &(*((TargetVariable<int> *)0)) == 0);
+        } END_CASE;
+
+        BEGIN_CASE("10", "operator *") {
+            TestSuite::clearCheckpoints();
+            TargetVariable<int> work(0x100);
+
+            const void * result = &(*work);
+
+            TEST_CASE("1","loadContentsãå®è¡ããã¦ãã", TestSuite::isReached("loadContents"));
+            TEST_CASE("2","å¼æ°ãæ­£ãã", fc.addr == 0x100);
+            TEST_CASE("3","å¼æ°ãæ­£ãã", fc.sz == sizeof(int));
+
+            TestSuite::clearCheckpoints();
+            *work;
+
+            TEST_CASE("4","loadContentsã¯å®è¡ãããªã", !TestSuite::isReached("loadContents"));
+        } END_CASE;
+
+        BEGIN_CASE("11","operator ==/!=") {
+            TEST_CASE("1","ã¢ãã¬ã¹ãä¸è´ããã°OK", tv == TTargetVariable(tv.getAddress()));
+            TEST_CASE("2","NULLã¤ã³ã¹ã¿ã³ã¹ã¨ã®æ¯è¼ãã§ãã", tv != *((TTargetVariable *)0));
+        } END_CASE;
+
+        BEGIN_CASE("cvr","ã«ãã¬ãã¸å¯¾ç­") {
+            
+            (*((TTargetVariable *)0)) ++;
+
+        } END_CASE;
+
+    } END_CASE;
+
+    chain.restoreContext();
+}
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/filecontainer.h	(revision 26)
@@ -0,0 +1,303 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: filecontainer.h,v 1.8 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/filecontainer.h,v 1.8 2003/12/15 07:32:13 takayuki Exp $
+
+#ifndef FILECONTAINER_H
+#define FILECONTAINER_H
+
+#ifdef _MSC_VER
+#pragma warning(disable:4786) //ãããã°æ
+å ±ã255æå­ã«åãè©°ãã¾ãã
+#endif
+
+#include "testsuite.h"
+
+#include <string>
+#include <map>
+
+#include "base/except.h"
+#include "base/message.h"
+#include "base/collection.h"
+
+class FileContainer : public RuntimeObject
+{
+public:
+    typedef unsigned long address_t;
+
+    struct tagVariableInfo {
+        address_t  address;
+        union {
+            size_t     size;
+            int        value;
+        };
+    };
+
+    enum tagByteOrder { LITTLE, BIG, HOSTORDER=LITTLE, UNKNOWN };   /* UNKNOWNã¯ãã¹ãç¨ */
+
+protected:
+    enum tagByteOrder byteorder;
+
+    std::map<std::string, struct tagVariableInfo> variableinfo;
+
+    FileContainer(void) throw() : byteorder(HOSTORDER) {}
+    virtual ~FileContainer(void) throw() {}
+
+public:
+        /* ã¤ã³ã¿ãã§ã¼ã¹é¨ */
+    virtual void                    attachModule(const std::string & filename) throw(Exception) = 0;
+    virtual void                    loadContents(void * dest, address_t address, size_t size) throw(Exception) = 0;
+    virtual address_t               getSymbolAddress(const std::string & symbol) throw(Exception) = 0;
+    virtual std::string             getArchitecture(void) throw(Exception) = 0;
+
+    virtual struct tagVariableInfo  getVariableInfo(const std::string & name) throw(Exception);
+    virtual void                    attachInfo(const std::string & filename) throw(Exception);
+
+        /* ç»é²ããã¦ããã³ã³ããã®å¼ã³åºã */
+    static inline FileContainer * getInstance(void) throw(Exception)
+    {
+        FileContainer * result;
+        RuntimeObjectTable::getInstance(&result);
+        if(result == 0)
+            ExceptionMessage("[Internal error] Filecontainer has no instance.","[å
+é¨ã¨ã©ã¼] FileContainerã®ã¤ã³ã¹ã¿ã³ã¹ãããã¾ãã").throwException();
+        return result;
+    }
+
+    enum tagByteOrder getByteOrder(void) const
+    {   return byteorder;   }
+};
+
+class TargetVariableBase
+{
+protected:
+    FileContainer::address_t address;               //å¤æ°ã®ã¢ãã¬ã¹
+    size_t                   size;                  //å¤æ°ã®ãµã¤ãº
+    size_t                   offset;                //å±ããæ§é ä½ã®å
+é ­ããã®ãªãã»ãã
+    size_t                   structure_size;        //å±ããæ§é ä½ã®å¤§ãã
+    bool                     loaded;                //å¤ãèª­åºãæ¸ã¿ã§ãããã¨ãä¿æãããã©ã°
+
+    inline TargetVariableBase(FileContainer::address_t _address, size_t _size) throw()
+        : address(_address), size(_size), offset(0), structure_size(_size), loaded(false)
+    {}
+
+    inline TargetVariableBase(FileContainer::address_t addr, size_t sz, size_t ofs, size_t ssz) throw()
+        : address(addr), size(sz), offset(ofs), structure_size(ssz), loaded(false)
+    {}
+    
+    TargetVariableBase(const std::string & sym) throw();
+    TargetVariableBase(const std::string & sym, size_t _size) throw();
+    TargetVariableBase(const std::string & sym, const std::string & sz) throw();
+    TargetVariableBase(const TargetVariableBase & src) throw();
+
+    virtual ~TargetVariableBase(void) throw() {}
+
+        /* å
+å®¹ã®åå¾ */
+    void loadContent(void * dest, size_t dest_size) throw(Exception);
+
+        /* ã¨ã³ãã£ã¢ã³å¤æ */
+    void changeEndian(char * buffer, size_t size) throw();
+
+        /* ã¢ãã¬ã¹ã®ç§»å (ã¤ãã§ã«loadedãä¸ãã) */
+    inline void setAddress(int offset) throw()
+    {
+        if(isValid()) {
+            address += offset;
+            loaded   = false;
+        }
+    }
+
+public:
+    inline bool isValid(void) const throw()
+    {   return this != 0 && address != 0 && size != 0 && structure_size != 0;   }
+
+    inline size_t getSize(void) const throw()
+    {   return this != 0 ? size : 0;   }
+
+    inline size_t getOffset(void) const throw()
+    {   return this != 0 ? offset : 0;   }
+
+    inline size_t getStructureSize(void) const throw()
+    {   return this != 0 ? structure_size : 0;   }
+
+    inline FileContainer::address_t getAddress(void) const throw()
+    {   return this != 0 ? address : 0;   }
+
+    inline bool isLoaded(void) const throw()
+    {   return this != 0 ? loaded : false;   }
+
+        /* åºæ¬çãªæä½ */
+    inline bool operator == (const TargetVariableBase & right) const throw()
+    {   return isValid() && right.isValid() && address == right.address;   }
+
+    inline bool operator != (const TargetVariableBase & right) const throw()
+    {   return ! operator ==(right);   }
+
+    inline FileContainer::address_t operator & (void) const throw()
+    {   return isValid() ? address + offset : 0;   }
+
+    inline size_t sizeOf(void) const throw()
+    {   return isValid() ? size : 0;   }
+};
+
+template<class T>
+class TargetVariable : public TargetVariableBase
+{
+protected:
+    T    entity;
+
+public:
+        /*
+         * ã³ã³ã¹ãã©ã¯ã¿ (TargetVariableBaseã«åé)
+         */
+    inline TargetVariable(FileContainer::address_t addr) throw()
+        : TargetVariableBase(addr, sizeof(T)), entity() 
+    {}
+
+    inline TargetVariable(FileContainer::address_t addr, size_t sz) throw()
+        : TargetVariableBase(addr, sz), entity() 
+    {}
+
+    inline TargetVariable(FileContainer::address_t addr, size_t sz, size_t ofs, size_t ssz) throw()
+        : TargetVariableBase(addr, sz, ofs, ssz), entity() 
+    {}
+
+    inline TargetVariable(const std::string & sym) throw()
+        : TargetVariableBase(sym), entity()
+    {}
+
+    inline TargetVariable(const std::string & sym, const std::string & sz) throw()
+        : TargetVariableBase(sym, sz), entity() 
+    {}
+
+    inline TargetVariable(const TargetVariable<T> & src) throw()
+        : TargetVariableBase(src), entity()
+    {
+        if(isValid() && src.isValid()) {
+            loaded = src.loaded;
+            entity = src.entity;
+        }
+    }
+
+        /* ãã¹ãã©ã¯ã¿ (ç¹ã«ä½ãããªã) */
+    virtual ~TargetVariable(void) throw() 
+    {}
+
+        /* æ­£å½å¤å®ã«æ ¼ç´ã«ååãªãµã¤ãºããããã©ãããè¿½å ãã¦ãã */
+    inline bool isValid(void) const
+    {   return TargetVariableBase::isValid() && (sizeof(T) >= getSize());   }
+
+        /*
+         * ãã¤ã³ã¿é¢¨ã®åä½ããããªãã¬ã¼ã¿ç¾¤
+         */
+    inline TargetVariable<T> offsetInBytes(int offset) const throw()
+    {   return TargetVariable<T>(getAddress() + offset, getSize(), getOffset(), getStructureSize());   }
+
+    inline TargetVariable<T> operator + (int index) const throw()
+    {   return offsetInBytes(index * static_cast<int>(getStructureSize()));   }
+
+    inline TargetVariable<T> operator - (int index) const throw()
+    {   return offsetInBytes(- index * static_cast<int>(getStructureSize()));   }
+
+    inline TargetVariable<T> operator ++ (int) throw()
+    {
+        TargetVariable<T> result(*this);
+        ++ (*this);
+        return result;
+    }
+
+    inline TargetVariable<T> operator -- (int) throw()
+    {
+        TargetVariable<T> result(*this);
+        -- (*this);
+        return result;
+    }
+
+    inline TargetVariable<T> & operator ++ (void) throw()
+    {
+        setAddress(static_cast<int>(getStructureSize()));
+        return *this;
+    }
+
+    inline TargetVariable<T> & operator -- (void) throw()
+    {  
+        setAddress(-static_cast<int>(getStructureSize()));   
+        return *this;
+    }
+
+    inline TargetVariable<T> & operator += (int sz) throw()
+    {   
+        setAddress(static_cast<int>(getStructureSize()) * sz);   
+        return *this;
+    }
+
+    inline TargetVariable<T> & operator -= (int sz) throw()
+    {   
+        setAddress(-static_cast<int>(getStructureSize()) * sz);   
+        return *this;
+    }
+
+    inline const T & operator * (void) throw(Exception)
+    {
+        if(!isLoaded())
+            loadContent(&entity, sizeof(T));
+        return entity;
+    }
+
+    inline T operator [] (int index) const throw(Exception)
+    {   return * TargetVariable<T>(getAddress() + index * getStructureSize(), getSize(), getOffset(), getStructureSize());   }
+};
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.cpp	(revision 26)
@@ -0,0 +1,438 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: garbage.cpp,v 1.6 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/garbage.cpp,v 1.6 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/garbage.h"
+
+#include <stdexcept>
+#include <algorithm>
+
+using namespace std;
+
+TrashBox * TrashBox::current_box = 0;
+
+//----------------------------------------------------------------
+// Garbage : ã´ã
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+Garbage::Garbage(void) throw()
+{
+        //ã´ãç®±ã«é¢é£ä»ãã
+    assigned_box = TrashBox::getCurrentTrashBox();
+    if(assigned_box->isValid())
+        cookie = assigned_box->addGarbage(this);
+}
+
+    //ãã¹ãã©ã¯ã¿
+Garbage::~Garbage(void) throw()
+{
+    rescue();
+}
+
+    //ã´ãæåº
+void Garbage::rescue(void) throw()
+{
+    if(assigned_box->isValid()) {
+        assigned_box->recoverGarbage(cookie);
+        assigned_box = 0;
+    }
+}
+
+
+//----------------------------------------------------------------
+// TrashBox : ã´ããå
+¥ããç®±
+
+TrashBox::TrashBox(void) throw()
+{
+        //ã´ãç®±ã®å·®ãæ¿ã
+    previous_box = current_box;
+    current_box  = this;
+}
+
+TrashBox::~TrashBox(void) throw()
+{
+        //ã´ãããªããªãã¾ã§åé¤
+    while(!garbage.empty()) {
+            //ãµã
+        try{   cleanup();   }
+        catch(...) {}
+    }
+
+        //ã´ãç®±ã®å·®ãæ¿ã
+    current_box = previous_box;
+}
+
+/*
+    //ã´ãç®±ã«å
+¥ããã´ããåãé¤ã
+void TrashBox::recoverGarbage(Garbage * _garbage, TrashBox::Cookie cookie) throw()
+{
+    if(isValid() && _garbage != 0) {
+        bool forward = true;
+        list<Garbage *>::iterator scope;
+
+        if(!garbage.empty()) {
+            scope = garbage.erase(cookie);
+
+                //èªåãå§æ«ãã
+            if(scope != garbage.end() || garbage.empty())
+                forward = false;
+        }
+
+            //è¦ªã´ãç®±ã«åé
+        if(forward && previous_box->isValid())
+            previous_box->recoverGarbage(_garbage, cookie);
+    }
+}
+*/
+    /*  ä¿®æ­£æã®ã¡ã¢ 
+              é¢é£ä»ããããã´ãç®±ãæ¶ãããã¨ã¯ç¡ã(çææéã¯ã´ãç®±ã®ã»ããé·ãã¯ã)ã®ã§ãè¦ªã«åéããå¿
+è¦ã¯ç¡ãããã£ã¦if(forward...ç¯ã¯ä¸è¦ã
+              èªåãå§æ«ã§ããªãã´ãã¯ç¡ãã®ã§(cleanupã¯recoverGargabeãå¼ã°ãªã)ãeraseã®è¿å´å¤ã®ãã§ãã¯ã¯ä¸è¦ã
+              åå¥åé¤è¦æ±ã¯ã´ãããåºãããã®ã§ãå®è¡ãããæç¹ã§ã´ãã¯1ã¤ä»¥ä¸å­å¨ããã¯ããªã®ã§ãemptyãã§ãã¯ã¯ä¸è¦.
+              ãã®æç¹ã§eraseã ãã«ãªããç¬¬ä¸å¼æ°ã¯ä¸è¦ã
+    */
+
+    //ã´ãç®±ã«å
+¥ããã´ããåãé¤ã  
+void TrashBox::recoverGarbage(TrashBox::Cookie cookie) throw()
+{   garbage.erase(cookie);  }
+
+    //ã´ãç®±ãç©ºã«ãã
+void TrashBox::cleanup(void)
+{
+        //èªåããããã¬ãã«ã´ãç®±ã§ãªãã£ããå¤±æ
+    if(current_box != this)
+        throw std::runtime_error("TrashBox::cleanup can be performed from the top level trash box only.");
+
+    try {
+        while(!garbage.empty())
+            delete *garbage.begin();        //ã´ããªã¹ãããè¦ç´ ãå¤ãã®ã¯å­ã®å½¹ç®
+    }
+    catch(...) {
+        garbage.erase(garbage.begin());     //ä¾å¤ãèµ·ãããæåã®è¦ç´ ãåé¤
+        throw;                              //åé
+    }
+}
+
+
+
+/****************************************** ãã¹ãã¹ã£ã¼ã ******************************************/
+
+#ifdef TESTSUITE
+#include "coverage_undefs.h"
+
+namespace { int counter = 0; }
+
+#ifdef _MSC_VER
+    class DummyGarbage : public Garbage
+    {
+    public:
+        int * count;
+        bool throw_exception;
+
+        DummyGarbage(int * _count = 0) : count(_count), throw_exception(false)
+        { TestSuite::check("DummyGarbage::DummyGarbage");  }
+
+        ~DummyGarbage(void) throw(int)
+        {
+            if(count != 0) *count = ++counter;
+            if(throw_exception) throw 0;
+            TestSuite::check("DummyGarbage::~DummyGarbage"); 
+        }
+
+    };
+#elif __GNUC__
+    class DummyGarbage : public Garbage
+    {
+    public:
+        int * count;
+
+        DummyGarbage(int * _count = 0) : count(_count)
+        { TestSuite::check("DummyGarbage::DummyGarbage");  }
+
+        ~DummyGarbage(void) throw()
+        {
+            if(count != 0) *count = ++counter;
+            TestSuite::check("DummyGarbage::~DummyGarbage"); 
+        }
+    };
+#endif
+
+TESTSUITE(main, TrashBox)
+{
+    BEGIN_CASE("1","ã´ãç®±ãä½ãã¨ç»é²ããã") {
+        TrashBox mybox;
+        TEST_CASE("1", "ä½ã£ãã´ãç®±ãç¾å¨ã®ã´ãç®±ã«ãªã£ã¦ãã", TrashBox::current_box == &mybox);
+        
+        {
+            TrashBox mybox2;
+            TEST_CASE("2", "ä½ã£ãã´ãç®±ãç¾å¨ã®ã´ãç®±ã«ãªã£ã¦ãã (2)", TrashBox::current_box == &mybox2);
+            TEST_CASE("3", "ãã¨ãã¨ã®ã´ãç®±ãä¿å­ããã¦ãã", mybox2.previous_box == &mybox);
+        }
+
+        TEST_CASE("4", "ãã¨ã®ã´ãç®±ã«æ»ã", TrashBox::current_box == &mybox);
+    } END_CASE;
+
+    BEGIN_CASE("2","isValid") {
+        TrashBox mybox;
+
+        TEST_CASE("1","ä½ã£ãã´ãç®±ã¯æ­£å¸¸", mybox.isValid());
+        TEST_CASE("2","NULLç®±ã¯ç°å¸¸", !((TrashBox *)0)->isValid());
+    } END_CASE;
+
+    BEGIN_CASE("3","operator new") {
+        BEGIN_CASE("1","new TrashBoxã¯bad_allocä¾å¤ãè¿ã") {
+            bool result = false;
+
+            try { TrashBox * box = new TrashBox; }
+            catch(bad_alloc) { result = true; }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","new(nothrow) TrashBoxã¯NULLãè¿ã") {
+            bool result = true;
+            TrashBox * box;
+
+            try { box = new(nothrow) TrashBox; }
+            catch(...) { result = false; }
+
+            TEST_CASE("1", "new(nothrow)ã¯ä¾å¤ãè¿ããªã", result);
+            TEST_CASE("2", "new(nothrow)ã¯NULLãè¿ã",   box == 0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("4","åºæ¬çãªçæåé¤") {
+        BEGIN_CASE("1","ã¡ããã¨ã´ãç®±ããå¤ãã") {
+            TrashBox mybox;
+
+            DummyGarbage * garbage = new DummyGarbage;
+
+            TEST_CASE("0","[åæ] ã´ããå
+¥ã£ã¦ãã", std::find(mybox.garbage.begin(), mybox.garbage.end(), garbage) != mybox.garbage.end());
+            delete garbage;
+            TEST_CASE("1","ã´ããæ¶ãã¦ãã", std::find(mybox.garbage.begin(), mybox.garbage.end(), garbage) == mybox.garbage.end());
+
+
+        } END_CASE;
+
+        BEGIN_CASE("2","è¦ªã®ã´ãç®±ã«å
+¥ã£ã¦ãããã®ãã´ãç®±ããå¤ãã") {
+            TrashBox mybox;
+            DummyGarbage * garbage = new DummyGarbage;
+            TEST_CASE("0","[åæ] ã´ããå
+¥ã£ã¦ãã", find(mybox.garbage.begin(), mybox.garbage.end(), garbage) != mybox.garbage.end());
+
+            TrashBox secondbox;
+            delete garbage;
+
+            TEST_CASE("1","ã´ããæ¶ãã¦ãã", find(mybox.garbage.begin(), mybox.garbage.end(), garbage) == mybox.garbage.end());
+           
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("5","TrashBox::cleanup") {
+        BEGIN_CASE("1","åçã«ä½ã£ããªãã¸ã§ã¯ããç ´æ£ã§ãã") {
+            TrashBox mybox;
+            DummyGarbage * garbage;
+
+            TestSuite::clearCheckpoints();
+
+            garbage = new DummyGarbage;
+            TEST_CASE("0","[åæ] ã³ã³ã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::DummyGarbage"));
+
+            mybox.cleanup();
+            TEST_CASE("1","ãã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::~DummyGarbage"));
+        } END_CASE;
+
+#ifdef _MSC_VER
+        BEGIN_CASE("2","ä¾å¤ã¯ããã") {
+            TrashBox mybox;
+            DummyGarbage * garbage;
+
+            TestSuite::clearCheckpoints();
+
+            garbage = new DummyGarbage;
+            garbage->throw_exception = true;
+
+            bool result = false;
+            try { mybox.cleanup(); }
+            catch(...) { result = true; }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ä¾å¤ãèµ·ããããªãã¸ã§ã¯ããç ´å£ããã¦ãã (2éç ´æ£ã«ãªããªã)") {
+            TrashBox mybox;
+            DummyGarbage * garbage;
+            DummyGarbage * garbage2;
+
+            TestSuite::clearCheckpoints();
+
+            garbage = new DummyGarbage;
+            garbage->throw_exception = true;
+            garbage2 = new DummyGarbage;
+            garbage2->throw_exception = true;
+
+            try { mybox.cleanup(); }
+            catch(...) {}
+            try { mybox.cleanup(); }    //ããã§AccessViolationãèµ·ãããªã
+            catch(...) {}
+
+            if(!mybox.garbage.empty())
+                TEST_FAIL;
+        } END_CASE;
+#endif
+
+        BEGIN_CASE("4","åé¤ã®é åºãæ­£ãã") {
+            TrashBox mybox;
+            DummyGarbage * garbage;
+            DummyGarbage * garbage2;
+            DummyGarbage * garbage3;
+            int g  = 0;
+            int g2 = 0;
+            int g3 = 0;
+
+            TestSuite::clearCheckpoints();
+
+            garbage  = new DummyGarbage(&g);
+            garbage2 = new DummyGarbage(&g2);
+            garbage3 = new DummyGarbage(&g3);
+
+            mybox.cleanup();
+
+            TEST_CASE("1","æåã«ç»é²ããããã®ã¯æå¾ã«åé¤",g == 3);
+            TEST_CASE("2","æ¬¡ã«ç»é²ããããã®ã¯2çªç®ã«åé¤",g2 == 2);
+            TEST_CASE("3","æ¬¡ã«ç»é²ããããã®ã¯æåã«åé¤",g3 == 1);
+        } END_CASE;
+
+        BEGIN_CASE("5","ãããã¬ãã«ã§ãªãã´ãç®±ã¯cleanupã§ããªã") {
+            TrashBox outerbox;
+            TrashBox innerbox;
+
+            bool result = false;
+            try {   outerbox.cleanup();   }
+            catch(std::runtime_error)
+            {   result = true;   }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("6","ãã¹ãã©ã¯ã¿ã«ããç ´æ£") {
+        BEGIN_CASE("1","åçã«ä½ã£ããªãã¸ã§ã¯ããç ´æ£ã§ãã (TrashBox::~TrashBox)") {
+            {
+                TrashBox mybox;
+                DummyGarbage * garbage;
+
+                TestSuite::clearCheckpoints();
+
+                garbage = new DummyGarbage;
+                TEST_CASE("0","[åæ] ã³ã³ã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::DummyGarbage"));
+            }
+            TEST_CASE("1","ãã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::~DummyGarbage"));
+        } END_CASE;
+
+        BEGIN_CASE("2","ä¾å¤ã¯ãããªã") {
+            bool result = true;
+            try{
+                TrashBox mybox;
+                DummyGarbage * garbage;
+
+                TestSuite::clearCheckpoints();
+
+                garbage = new DummyGarbage;
+                TEST_CASE("0","[åæ] ã³ã³ã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::DummyGarbage"));
+            }
+            catch(...)
+            { result = false; }
+            TEST_CASE("1","ä¾å¤ã¯ãããªã", result);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("7","rescue") {
+        DummyGarbage * garbage;
+        {
+            TrashBox mybox;
+            garbage = new DummyGarbage;
+            garbage->rescue();
+
+            TestSuite::clearCheckpoints();
+        }
+        TEST_CASE("1","rescueããã´ãã¯åé¤ãããªã", !TestSuite::isReached("DummyGarbage::~DummyGarbage"));
+        delete garbage;
+    } END_CASE;
+
+    BEGIN_CASE("8","éçãªãªãã¸ã§ã¯ããå¤éç ´æ£ãããªã") {
+        TrashBox outerbox;
+        {
+            DummyGarbage garbage;
+            TrashBox innerbox;
+            DummyGarbage garbage2;
+
+            TEST_CASE("0","[åæ] ã³ã³ã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyGarbage::DummyGarbage"));
+        }   //ããã§2éç ´æ£ã§MACVã«ãªããªã
+    } END_CASE;
+}
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/garbage.h	(revision 26)
@@ -0,0 +1,138 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: garbage.h,v 1.7 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/garbage.h,v 1.7 2003/12/20 06:51:58 takayuki Exp $
+
+
+#ifndef GARBAGE_H
+#define GARBAGE_H
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4290) //C++ ã®ä¾å¤ã®æå®ã¯ç¡è¦ããã¾ããé¢æ°ã __declspec(nothrow) ã§ãªããã¨ã®ã¿è¡¨ç¤ºããã¾ãã
+#  pragma warning(disable:4786) //ãããã°æ
+å ±ã§è­å¥å­ã255æå­ã«åãæ¨ã¦ããã¾ããã
+#endif
+
+#include "base/testsuite.h"
+#include <list>
+#include <cstddef>
+
+    //åçã«çæãããªãã¸ã§ã¯ããã¡ããã¨ç ´æ£ããããã®ã´ãç®±ã«ã¼ãã³
+class TrashBox
+{
+public:
+    typedef std::list<class Garbage *>::iterator Cookie;
+
+protected:
+    static TrashBox *    current_box;   //ç¾å¨ä½¿ç¨ãã¦ããã´ãç®±
+    TrashBox *           previous_box;  //ãã®ã´ãç®±ã®è¦ª
+    
+    std::list<class Garbage *> garbage; //ãã¿
+
+public:
+        //çæå­ ã¨ æ¶æ»
+å­
+    TrashBox(void)  throw();
+    ~TrashBox(void) throw();
+
+    inline bool isValid(void) const throw()
+    {   return (this != 0);   }
+
+        //ã´ãç®±ã«å
+¥ã£ã¦ããã´ããç ´æ£
+    void cleanup(void);
+
+        //ä»ä½¿ã£ã¦ããã´ãç®±ãåå¾
+    inline static TrashBox * getCurrentTrashBox(void) throw()
+    {   return current_box;   }
+
+        //ã´ãæå
+¥
+    inline Cookie addGarbage(class Garbage * _garbage) throw()
+    {   return garbage.insert(garbage.begin(), _garbage);   }
+
+        //ã´ãåå
+    void recoverGarbage(Cookie cookie) throw();
+
+
+        //åçã«ç¢ºä¿ãããããªã
+    void * operator new (size_t) throw(std::bad_alloc)
+    {   throw std::bad_alloc();   }
+    void * operator new (size_t, std::nothrow_t) throw()
+    {   return 0;   }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+    //ã´ãç®±ã«å
+¥ããã´ããªãã¸ã§ã¯ãã®åºåº
+class Garbage
+{
+private:
+    class TrashBox *  assigned_box;
+    TrashBox::Cookie  cookie;
+
+public:
+        //çæå­ ã¨ æ¶æ»
+å­
+    Garbage(void)  throw();
+    virtual ~Garbage(void) throw();
+
+        //æããã´ããæ¾ãä¸ãã
+    void rescue(void) throw();
+};
+
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/manager.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/manager.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/manager.cpp	(revision 26)
@@ -0,0 +1,255 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: manager.cpp,v 1.11 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/manager.cpp,v 1.11 2003/12/15 07:32:13 takayuki Exp $
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4786)
+#  define CDECL __cdecl
+#else
+#  define CDECL
+#endif
+
+#include <stdlib.h>
+#include <fstream>
+#include <iostream>
+
+#include "base/event.h"
+#include "base/message.h"
+#include "base/component.h"
+#include "base/directorymap.h"
+
+using namespace std;
+
+Event<StartupEvent>   startupEvent;
+Event<ShutdownEvent>  shutdownEvent;
+
+int CDECL main(int argc, char ** argv)
+{
+    ShutdownEvent evt;
+    OptionParameter & option= getOptionParameter();
+
+    evt.exit_code = EXIT_FAILURE;
+
+    if(SingletonBase::isValid() && Component::isValid()) {
+
+        option.parseOption(argc, argv, "-h");
+
+        try {
+            startupEvent.raise();
+            Component::executeComponents(option);
+            evt.exit_code = EXIT_SUCCESS;
+        }
+        catch(Exception & e)
+        {
+            cerr << Message("Program failed in its process by following reason.\n","ãã­ã°ã©ã ã¯è´å½çãªã¨ã©ã¼ã«ããä¸­æ­ããã¾ãã.\n");
+            cerr << "  " << e.getDetails() << '\n';
+        }
+        catch(ExceptionMessage & e) {
+            CHECKPOINT("catch(ExceptionMessage)");
+            cerr << "Program failed : " << e << '\n';
+        }
+        catch(bad_alloc & e) {
+            CHECKPOINT("catch(bad_alloc)");
+            cerr << "Program failed : bad_alloc (" << e.what() << ")\n";
+        }
+        catch(...) {
+            CHECKPOINT("catch(...)");
+            cerr << "Program filed : Unknown Exception Occured\n";
+        }
+    }
+    else
+        cerr << "Program initialization failure\n";
+
+    try {
+        DebugMessage("shutdown event - exitcode(%)\n") << evt.exit_code;
+        shutdownEvent.raise(evt);
+    }
+    catch(Exception & e)
+    {
+        DebugMessage("exception was raised in the event - %\n") << e.getDetails();
+        cerr << Message("Program failed in its process by following reason.\n","ãã­ã°ã©ã ã¯è´å½çãªã¨ã©ã¼ã«ããä¸­æ­ããã¾ãã.\n");
+        cerr << "  " << e.getDetails() << '\n';
+    }
+
+    catch(...) {
+        DebugMessage("exception was raised in the event\n");
+        CHECKPOINT("catch(...) in shutdownEvent::raise");
+        evt.exit_code = EXIT_FAILURE;
+    }
+
+    DebugMessage("Exit code (%)\n") << evt.exit_code;
+
+    return evt.exit_code;
+}
+
+/************************************* ãã¹ãã¹ã£ã¼ã *************************************/
+
+#ifdef TESTSUITE
+#include "coverage_undefs.h"
+
+namespace {
+
+    extern void testsuite(TestSuiteControl & _suite_control);
+    TestSuite testsuite_onTop("Entrypoint(main)", testsuite);
+
+    class TestComponent : public Component
+    {
+    public:
+        int mode;
+
+        void parseOption(OptionParameter &)
+        {
+            switch(mode) {
+                case 0:
+                    CHECKPOINT("TestComponent::case 0");
+                    break;
+                case 1:
+                    ExceptionMessage("exception").throwException();
+                case 2:
+                    throw bad_alloc();
+            }
+        }
+    };
+
+    void dummyStartupHandler(StartupEvent &)
+    {
+        TestSuite::check("dummyStartupHandler");
+    }
+
+    int dummyShutdownHandler_exit_code;
+    void dummyShutdownHandler(ShutdownEvent & evt)
+    {
+        dummyShutdownHandler_exit_code = evt.exit_code;
+        TestSuite::check("dummyShutdownHandler");
+    }
+
+        //ãã¹ãã¹ã£ã¼ãã®æ¬ä½
+    void testsuite(TestSuiteControl & _suite_control)
+    {
+        SingletonBase::ContextChain chain;
+
+        chain.saveContext<Component::ComponentInfo>();
+        chain.saveContext<Event<StartupEvent>::handler_list_type>();
+        chain.saveContext<Event<ShutdownEvent>::handler_list_type>();
+
+        BEGIN_CASE("1","mainé¢æ°åä½ + ã³ã³ãã¼ãã³ããªã") {
+            chain.renewInstance();
+
+            Event<StartupEvent>::add(dummyStartupHandler);
+            Event<ShutdownEvent>::add(dummyShutdownHandler);
+
+            BEGIN_CASE("1","æ®éã«å®è¡ãã") {
+                TestSuite::clearCheckpoints();
+
+                char * argv[] = { "test.exe" };
+
+                Exception::setThrowControl(true);
+                TestComponent test;
+                test.mode = 0;
+
+                TEST_CASE("1","mainé¢æ°ã¯EXIT_SUCCESSãè¿ã", main(1, argv) == EXIT_SUCCESS);
+
+                TEST_CASE("2","ä¾å¤ãå®è¡ãããªã catch(Exception)", !TestSuite::isReached("catch(Exception)"));
+                TEST_CASE("3","ä¾å¤ãå®è¡ãããªã catch(bad_alloc)", !TestSuite::isReached("catch(bad_alloc)"));
+                TEST_CASE("4","ä¾å¤ãå®è¡ãããªã catch(...)",       !TestSuite::isReached("catch(...)"));
+                TEST_CASE("5","Componentãå®è¡ããã¦ãã", TestSuite::isReached("TestComponent::case 0"));
+                TEST_CASE("6","ã¹ã¿ã¼ãã¢ãããã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyStartupHandler"));
+                TEST_CASE("7","ã·ã£ãããã¦ã³ãã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyShutdownHandler"));
+                TEST_CASE("8","ã·ã£ãããã¦ã³ãã³ãã©ã¯EXIT_SUCCESSãåãã¦ãã", dummyShutdownHandler_exit_code == EXIT_SUCCESS);
+            } END_CASE;
+
+            BEGIN_CASE("2","Exceptionä¾å¤ãè¿ã") {
+                TestSuite::clearCheckpoints();
+
+                char * argv[] = { "test.exe" };
+
+                Exception::setThrowControl(true);
+                TestComponent test;
+                test.mode = 1;
+
+                TEST_CASE("1","mainé¢æ°ã¯EXIT_FAILUREãè¿ã", main(1, argv) == EXIT_FAILURE);
+
+                TEST_CASE("2","ä¾å¤ãå®è¡ããã   catch(Exception)", TestSuite::isReached("catch(Exception)"));
+                TEST_CASE("3","ä¾å¤ãå®è¡ãããªã catch(bad_alloc)", !TestSuite::isReached("catch(bad_alloc)"));
+                TEST_CASE("4","ä¾å¤ãå®è¡ãããªã catch(...)",       !TestSuite::isReached("catch(...)"));
+                TEST_CASE("5","ã¹ã¿ã¼ãã¢ãããã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyStartupHandler"));
+                TEST_CASE("6","ã·ã£ãããã¦ã³ãã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyShutdownHandler"));
+                TEST_CASE("7","ã·ã£ãããã¦ã³ãã³ãã©ã¯EXIT_FAILUREãåãã¦ãã", dummyShutdownHandler_exit_code == EXIT_FAILURE);
+            } END_CASE;
+
+            BEGIN_CASE("3","bad_allocä¾å¤ãè¿ã") {
+                TestSuite::clearCheckpoints();
+
+                char * argv[] = { "test.exe" };
+
+                Exception::setThrowControl(true);
+                TestComponent test;
+                test.mode = 2;
+
+                TEST_CASE("1","mainé¢æ°ã¯EXIT_FAILUREãè¿ã", main(1, argv) == EXIT_FAILURE);
+
+                TEST_CASE("2","å¯¾å¿ããcatchã®ã¿ãå®è¡ããã¦ãã", !TestSuite::isReached("catch(Exception)") && TestSuite::isReached("catch(bad_alloc)") && !TestSuite::isReached("catch(...)"));
+                TEST_CASE("3","ã¹ã¿ã¼ãã¢ãããã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyStartupHandler"));
+                TEST_CASE("4","ã·ã£ãããã¦ã³ãã³ãã©ãèµ·åããã¦ãã", TestSuite::isReached("dummyShutdownHandler"));
+                TEST_CASE("5","ã·ã£ãããã¦ã³ãã³ãã©ã¯EXIT_FAILUREãåãã¦ãã", dummyShutdownHandler_exit_code == EXIT_FAILURE);
+            } END_CASE;
+        } END_CASE;
+
+        chain.restoreContext();
+    }
+
+}
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.cpp	(revision 26)
@@ -0,0 +1,344 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: message.cpp,v 1.4 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/message.cpp,v 1.4 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/message.h"
+
+using namespace std;
+
+
+/*****************************************************************************/
+
+/*
+ *   ã¡ãã»ã¼ã¸åºåç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+ */
+
+    //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
+Formatter::Formatter(void) throw() : templatestring(""), accept(false)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+Formatter::Formatter(string src) throw() : templatestring(src)
+{   shift();   }
+
+    //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+Formatter::Formatter(const Formatter & src) throw() : templatestring(src.templatestring), accept(src.accept)
+{
+    string work;
+
+    work = src.content.str();
+    content << work;
+}
+
+    //æ¬¡ã®å¼æ°ã®æ¿å
+¥å
+ã¸ã¨ç§»å
+void Formatter::shift(void) throw()
+{
+    string::size_type pos;
+
+    accept = false;
+    if(!templatestring.empty()) {
+
+        do {
+            pos = templatestring.find_first_of("%");
+
+            if(pos != string::npos) {
+
+                    /* %ããã£ã¦ããã\%ã¨ããå½¢ãªãã%ããã®ã¾ã¾åºã */
+                if(pos != string::npos && pos != 0 && templatestring.at(pos - 1) == '\\') {
+
+                    if(pos > 1)
+                        content << templatestring.substr(0, pos - 2);
+                    content << '%';
+
+                    templatestring = templatestring.substr(pos + 1);
+
+                    continue;
+                }
+                else {
+                        /* %ãã¾ã ãã */
+                    if(pos != string::npos)
+                        accept = true;
+                    break;
+                }
+            }
+        } while(pos != string::npos);
+
+        if(pos != string::npos) {
+            if(pos != 0)
+                content << templatestring.substr(0, pos);
+            templatestring = templatestring.substr(pos + 1);
+        }
+        else {
+            content << templatestring;
+            templatestring.erase();
+        }
+    }
+}
+
+
+    //æªè¨­å®ã®å¼æ°ã (null) ã§ç½®æ
+void Formatter::shift_all(void) throw()
+{
+    while(accept)
+        *this << "(null)";
+}
+
+    //å
+é¨ã¡ãã»ã¼ã¸ã®åãåºã
+string Formatter::str(void) throw()
+{
+    shift_all();
+    return content.str();
+}
+
+    //ãã³ãã¬ã¼ãæå­åã®è¨­å® (ä¸­èº«ã¯æ¶ãã)
+void Formatter::assign(string src) throw()
+{
+    clear();
+    templatestring.assign(src);
+    shift();
+}
+
+    //å
+å®¹ã®æ¶å»
+void Formatter::clear(void) throw()
+{
+    if(!templatestring.empty())
+        templatestring.erase();
+    content.str(string(""));
+    accept = false;
+}
+
+    //ä»£å
+¥æ¼ç®å­
+Formatter & Formatter::operator =(const Formatter & src) throw()
+{
+    string work;
+
+    templatestring = src.templatestring;
+    accept         = src.accept;
+
+    work = src.content.str();
+    content << work;
+
+    return *this;
+}
+
+
+/*****************************************************************************/
+
+/*
+ *   ã¡ãã»ã¼ã¸åºåç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+ */
+
+const char * Message::MessageControl::select(const char * msg1, const char * msg2, va_list vl) throw()
+{
+    const char * msg = msg1;
+    int i = language;
+
+    if(i > 0) {
+        msg = msg2;
+
+        while(--i > 0)
+            msg = va_arg(vl, const char *);
+    }
+
+    return msg;
+}
+
+    //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ãã¹ãç¨)
+Message::Message(void) throw()
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+Message::Message(string src) throw() : Formatter(src)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿ (è¤æ°è¨èª)
+Message::Message(const char * src1, const char * src2, ...) throw()
+{
+    va_list vl;
+
+    va_start(vl, src2);
+    templatestring.assign(Singleton<MessageControl>::getInstance()->select(src1, src2, vl));
+    shift();
+}
+
+    //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+Message::Message(const Message & src) throw() : Formatter(src)
+{}
+
+    //æ´¾çã¯ã©ã¹ã®åæåç¨é¢æ° (è¤æ°è¨èª)
+void Message::_initialize(const char * src1, const char * src2, va_list vl) throw()
+{
+    content.clear();
+    accept = false;
+    templatestring.assign(Singleton<MessageControl>::getInstance()->select(src1, src2, vl));
+    shift();
+}
+
+    //è¨èªé¸æ
+void Message::selectLanguage(enum tagLanguage lang) throw()
+{
+    if(lang >= 0 && lang < LAST_LANG)
+        Singleton<Message::MessageControl>::getInstance()->setLanguage(lang);
+}
+
+    //ãã³ãã¬ã¼ãæå­åã®è¨­å® (ä¸­èº«ã¯æ¶ãã)
+void Message::assign(const char * src1, const char * src2, ... ) throw()
+{
+    va_list vl;
+
+    clear();
+
+    va_start(vl, src2);
+    templatestring.assign(Singleton<MessageControl>::getInstance()->select(src1, src2, vl));
+    shift();
+}
+
+/*****************************************************************************/
+
+/*
+ *   åé·åºåç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+ */
+
+    //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
+VerboseMessage::VerboseMessage(void) throw() : Message()
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+VerboseMessage::VerboseMessage(const char * src) throw() : Message(src)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+VerboseMessage::VerboseMessage(const string & src) throw() : Message(src)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+VerboseMessage::VerboseMessage(const char * src1, const char * src2, ... ) throw() : Message()
+{
+    va_list vl;
+
+    va_start(vl, src2);
+    _initialize(src1, src2, vl);
+}
+
+    //ãã¹ãã©ã¯ã¿
+VerboseMessage::~VerboseMessage(void) throw()
+{   Singleton< VerboseControl >::getInstance()->operator << (str());    }
+
+/*****************************************************************************/
+
+/*
+ *   ä¾å¤ã¡ãã»ã¼ã¸ç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(const char * src) throw() : Message(src), level(DEFAULT)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(const std::string & src) throw() : Message(src), level(DEFAULT)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(const char * src1, const char * src2, ...) throw() : Message(), level(DEFAULT)
+{
+    va_list vl;
+    
+    va_start(vl, src2);
+    _initialize(src1, src2, vl);
+}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(enum tagLevel _level) throw() : Message(), level(_level)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(enum tagLevel _level, const char * src) throw() : Message(src), level(_level)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(enum tagLevel _level, const std::string & src) throw() : Message(src), level(_level)
+{}
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(enum tagLevel _level, const char * src1, const char * src2, ...) throw() : Message(), level(_level)
+{
+    va_list vl;
+    
+    va_start(vl, src2);
+    _initialize(src1, src2, vl);
+}
+
+    //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+ExceptionMessage::ExceptionMessage(const ExceptionMessage & src) throw() : Message(src), level(src.level)
+{}
+
+
+/*****************************************************************************/
+
+/*
+ *   ãããã°ã¡ãã»ã¼ã¸ç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+DebugMessage::DebugMessage(string src) throw() : Formatter(src)
+{}
+
+    //ãã¹ãã©ã¯ã¿
+DebugMessage::~DebugMessage(void) throw()
+{   Singleton<DebugControl>::getInstance()->operator << (str());    }
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/message.h	(revision 26)
@@ -0,0 +1,465 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: message.h,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/message.h,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef MESSAGE_H
+#define MESSAGE_H
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4290) //C++ ã®ä¾å¤ã®æå®ã¯ç¡è¦ããã¾ããé¢æ°ã __declspec(nothrow) ã§ãªããã¨ã®ã¿è¡¨ç¤ºããã¾ãã
+#  pragma warning(disable:4786) //ãããã°æ
+å ±ã§è­å¥å­ã255æå­ã«åãæ¨ã¦ããã¾ããã
+#endif
+
+#include <string>
+#include <sstream>
+#include <stdarg.h>
+#include <stdexcept>
+
+//#include "base/testsuite.h"
+#include "base/singleton.h"
+#include "base/except.h"
+
+    /*
+     *   æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+     */
+class Formatter
+{
+protected:
+    std::string       templatestring;    //ãã³ãã¬ã¼ãæå­å
+    std::stringstream content;           //æå­åæ´å½¢ã¨æ¸å¼æ¸ã¿æå­åå¯è½å ´æç¨ã¹ããªã¼ã 
+    bool              accept;            //å¼æ°ãåå
+¥å¯è½ãã©ãã
+
+        //æ¬¡ã®å¼æ°ã®æ¿å
+¥å
+ã¸ã¨ç§»å
+    void shift(void) throw();
+
+        //æªè¨­å®ã®å¼æ°ã (null) ã§ç½®æ
+    void shift_all(void) throw();
+
+public:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
+    Formatter(void) throw();
+
+        //ã³ã³ã¹ãã©ã¯ã¿
+    Formatter(std::string src) throw();
+
+        //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+    Formatter(const Formatter & src) throw();
+
+        //ãã³ãã¬ã¼ãæå­åã®è¨­å® (ä¸­èº«ã¯æ¶ãã)
+    void assign(std::string src) throw();
+
+        //å
+å®¹ã®ã¯ãªã¢
+    void clear(void) throw();
+
+        //ä»£å
+¥æ¼ç®å­
+    Formatter & operator =(const Formatter & src) throw();
+
+        //å¼æ°ã®è¨­å®
+    template<class T>
+    Formatter & operator << (const T & src) throw()
+    {
+        std::string::size_type pos;
+
+            //å¼æ°ãåå
+¥å¯è½ãªã
+        if(accept) {
+            pos = content.str().size();
+            content << src;
+
+                /* ç©ºæå­ã§ãªããã°æ¬¡ã®æ¿å
+¥å ´æã«ç§»å */
+            if(pos != content.str().size())
+                shift();
+        }
+        return *this;
+    }
+
+        //å
+é¨ã¡ãã»ã¼ã¸ã®åãåºã
+    std::string str(void) throw();
+
+        //æ¨æºåºåã¹ããªã¼ã ã¸ã®åºåç¨ operator << å®ç¾©
+    friend inline std::ostream & operator << (std::ostream & out, Formatter msg) throw()
+    {
+        out << msg.content.str();
+        return out;
+    }
+
+//    TESTSUITE_PROTOTYPE(main)
+};
+
+    /*
+     *   ã¡ãã»ã¼ã¸åºåç¨ã«2è¨èªå¯¾å¿ãè¡ã£ãæå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+     */
+class Message : public Formatter
+{
+public:
+    enum tagLanguage
+    {
+        ENGLISH  = 0,
+        JAPANESE = 1,
+
+        LAST_LANG,              //æå¾ã®ä½ç½®
+        NEUTRAL  = ENGLISH,     //æ¨æºè¨èª
+    };
+
+        /* åºåã¡ãã»ã¼ã¸è¨èªå¶å¾¡ã¯ã©ã¹ */
+    class MessageControl
+    {
+    protected:
+        int language;   //ã©ã®è¨èªãä½¿ç¨ããã®ã
+
+    public:
+            //ã³ã³ã¹ãã©ã¯ã¿
+        SINGLETON_CONSTRUCTOR(MessageControl) throw() : language(NEUTRAL) {};
+
+            //ã¢ã¯ã»ãµ
+        inline void setLanguage(int _language) throw()  { language = _language; }
+        inline int  getLanguage(void) const    throw()  { return language; }
+
+        const char * select(const char * msg1, const char * msg2, va_list vl ) throw();
+    };
+
+protected:
+
+        //æ´¾çã¯ã©ã¹ç¨ã³ã³ã¹ãã©ã¯ã¿
+    void _initialize(const char * src1, const char * src2, va_list vl) throw();
+
+public:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
+    Message(void) throw();
+
+        //ã³ã³ã¹ãã©ã¯ã¿ (åä¸è¨èª)
+    Message(std::string src) throw();
+
+        //ã³ã³ã¹ãã©ã¯ã¿ (è¤æ°è¨èª)
+    Message(const char * src1, const char * src2, ... ) throw();
+
+        //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+    Message(const Message & src) throw();
+
+        //ãã³ãã¬ã¼ãæå­åã®è¨­å® (ä¸­èº«ã¯æ¶ãã)
+    void assign(std::string src) throw() { Formatter::assign(src); }
+    void assign(const char * src1, const char * src2, ... ) throw();
+
+        //è¨èªé¸æ
+    static void selectLanguage(enum tagLanguage lang = NEUTRAL) throw();
+        
+        //è¨èªã®åå¾
+    static enum tagLanguage getCurrentLanguage(void) throw()
+    {   return static_cast<enum tagLanguage>(Singleton<MessageControl>::getInstance()->getLanguage());   }
+
+    //TESTSUITE_PROTOTYPE(main)
+};
+
+
+    /*
+     *   åé·åºåç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+     */
+class VerboseMessage : public Message
+{
+public:
+        //å
+±éã®åé·åºåæ
+å ±ãæã¤ã¯ã©ã¹
+    class VerboseControl
+    {
+    public:
+        bool           verbose;     //åé·åºåãè¡ããã©ãã
+        std::ostream * out;         //åºåå
+
+
+            //ã³ã³ã¹ãã©ã¯ã¿
+        SINGLETON_CONSTRUCTOR(VerboseControl) throw() : verbose(false), out(0)
+        {}
+
+            //åé·åºåå¶å¾¡
+        template<class T>
+        inline const VerboseControl & operator << (const T & src) const throw()
+        {
+            if(verbose && out != 0)
+                (*out) << src;
+            return *this;
+        }
+
+            //verboseã¢ã¯ã»ãµ
+        void setVerbose(bool _verbose) throw()
+        {   verbose = _verbose;   }
+        bool getVerbose(void) const throw()
+        {   return verbose;   }
+
+            //outã¢ã¯ã»ãµ
+        void setStream(std::ostream * _out) throw()
+        {   out = _out;   }
+        std::ostream * getStream(void) throw()
+        {   return out;   }
+    };
+
+        //åé·åºåã¹ããªã¼ã  (åç´ãªææ­¢æ©æ§ã¤ãã©ããã¼ã¯ã©ã¹)
+    class VerboseStream
+    {
+    protected:
+        std::ostream * out;
+
+    public:
+        VerboseStream(std::ostream * _out = 0) throw() : out(_out) {};
+
+        template<class T>
+        VerboseStream & operator << (const T & src) throw()
+        {
+            if(out != 0)
+                (*out) << src;
+            return *this;
+        }
+    };
+
+protected:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ãã¹ãç¨)
+    VerboseMessage(void) throw();
+
+public:
+
+        //ã³ã³ã¹ãã©ã¯ã¿
+    VerboseMessage(const char * src) throw();
+    VerboseMessage(const std::string & src) throw();
+    VerboseMessage(const char * src1, const char * src2, ... ) throw();
+
+        //ãã¹ãã©ã¯ã¿
+    ~VerboseMessage(void) throw();
+
+        //åé·åºåå¶å¾¡ (ã¢ã¯ã»ãµåé)
+    inline static void setVerbose(bool _verbose) throw()
+    {   Singleton<VerboseControl>::getInstance()->setVerbose(_verbose);   }
+
+        //åé·åºåå
+ã¹ããªã¼ã è¨­å® (ã¢ã¯ã»ãµåé)
+    inline static void setStream(std::ostream * _stream) throw()
+    {   Singleton<VerboseControl>::getInstance()->setStream(_stream);   }
+
+        //åé·åºåå¶å¾¡ã®ç¶æ
+åå¾
+    inline static bool getVerbose(void) throw()
+    {   return Singleton<VerboseControl>::getInstance()->getVerbose();   }
+
+        //åé·åºåå
+ã¹ããªã¼ã ã®åå¾ (è¨­å®ãããã®ã¨åããã®ã¯åºã¦ããªã)
+    inline static VerboseStream getStream(void) throw()
+    {   return VerboseStream(getVerbose() ? Singleton<VerboseControl>::getInstance()->getStream() : 0);   }
+
+    //TESTSUITE_PROTOTYPE(main)
+};
+
+    /*
+     *   ä¾å¤ã¡ãã»ã¼ã¸ç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+     */
+class ExceptionMessage : public Message
+{
+public:
+        //ä¾å¤ã®å±éºåº¦ã¬ãã«
+    enum tagLevel {
+        DEFAULT = 0,
+        FATAL   = 1,
+        WARNING = 2
+    };
+
+#ifdef EXCEPT_H
+    class ExceptionMessageException : public Exception
+    {
+    friend class ExceptionMessage;
+    protected:
+        ExceptionMessageException(int _code, std::string _details) throw() : Exception("ExceptionMessage", _code, _details) {}
+    };
+#endif
+
+protected:
+    enum tagLevel level;
+
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿
+    ExceptionMessage(const char * src) throw();
+    ExceptionMessage(const std::string & src) throw();
+    ExceptionMessage(const char * src1, const char * src2, ...) throw();
+
+    ExceptionMessage(enum tagLevel level = DEFAULT) throw();
+    ExceptionMessage(enum tagLevel level, const char * src) throw();
+    ExceptionMessage(enum tagLevel level, const std::string & src) throw();
+    ExceptionMessage(enum tagLevel level, const char * src1, const char * src2, ...) throw();
+
+    ExceptionMessage(const ExceptionMessage & src) throw();
+
+
+        //å±éºåº¦ã¬ãã«åç
+§
+    inline bool operator == (enum tagLevel _level) const throw()
+    {   return level == _level;   }
+
+        //å±éºåº¦ã¬ãã«åç
+§
+    inline bool operator != (enum tagLevel _level) const throw()
+    {   return !(operator ==(_level));   }
+
+        //å¼æ°ã®è¨­å® (è¿å´å¤ã®åãMessage & ãã ExceptionMessage & ã«ããããã®å°ç´°å·¥)
+    template<class T>
+    inline ExceptionMessage & operator << (const T & src) throw()
+    {
+        Message::operator << ( src );
+        return *this;
+    }
+
+#ifdef EXCEPT_H     //Exceptionã¯ã©ã¹ãä½¿ç¨ããå ´å
+        //ä¾å¤ã®çºç
+    bool throwException(void) throw(Exception)
+    {
+        ExceptionMessageException exc(level, str());
+        return exc.throwException();
+    }
+        //ãããã¥ã¬ã¼ã¿
+    inline ExceptionMessage & operator << ( ExceptionMessage & (* func)(ExceptionMessage &) ) throw(Exception)
+    {   return (*func)(*this);   }
+
+#else               //stdexceptãä½¿ç¨ããå ´å
+        //ä¾å¤ã®çºç
+    template<class T>
+    bool throwException(void) throw(T)
+    {
+        throw T(str());
+        return true;
+    }
+        //ãããã¥ã¬ã¼ã¿
+    inline ExceptionMessage & operator << ( ExceptionMessage & (* func)(ExceptionMessage &) ) throw(T)
+    {   return (*func)(*this);   }
+#endif
+
+    //TESTSUITE_PROTOTYPE(main)
+};
+
+#ifdef EXCEPT_H     //Exceptionã¯ã©ã¹ãä½¿ç¨ããå ´å
+
+        //ä¾å¤ãã¹ã­ã¼ããããã®ãããã¥ã¬ã¼ã¿
+    inline ExceptionMessage & throwException(ExceptionMessage & excmsg) throw(Exception)
+    {
+        excmsg.throwException();
+        return excmsg;
+    }
+
+#else
+        //ä¾å¤ãã¹ã­ã¼ããããã®ãããã¥ã¬ã¼ã¿
+    template<class T>
+    inline ExceptionMessage & throwException(ExceptionMessage & excmsg) throw(T)
+    {
+        excmsg.throwException<T>();
+        return excmsg;
+    }
+
+#endif
+
+
+
+    /*
+     *   ãããã°æ
+å ±åºåç¨æå­åæ´å½¢ãã«ãã¼ã¯ã©ã¹
+     */
+class DebugMessage : public Formatter
+{
+public:
+        //å
+±éã®åé·åºåæ
+å ±ãæã¤ã¯ã©ã¹ (ã·ã³ã°ã«ãã³ã«ããã®ã§VerboseControlãåããã®ãã¯ã©ã¹åãã)
+    class DebugControl : public VerboseMessage::VerboseControl
+    { public: SINGLETON_CONSTRUCTOR_(DebugControl) throw() : VerboseMessage::VerboseControl(_singleton) {} };
+
+
+protected:
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ãã¹ãç¨)
+    DebugMessage(void) throw();
+
+public:
+
+        //ã³ã³ã¹ãã©ã¯ã¿
+    DebugMessage(std::string src) throw();
+
+        //ãã¹ãã©ã¯ã¿
+    ~DebugMessage(void) throw();
+
+        //åé·åºåå¶å¾¡ (ã¢ã¯ã»ãµåé)
+    inline static void setVerbose(bool _verbose) throw()
+    {   Singleton<DebugControl>::getInstance()->setVerbose(_verbose);   }
+
+        //åé·åºåå
+ã¹ããªã¼ã è¨­å® (ã¢ã¯ã»ãµåé)
+    inline static void setStream(std::ostream * _stream) throw()
+    {   Singleton<DebugControl>::getInstance()->setStream(_stream);   }
+
+        //åé·åºåå¶å¾¡ã®ç¶æ
+åå¾
+    inline static bool getVerbose(void) throw()
+    {   return Singleton<DebugControl>::getInstance()->getVerbose();   }
+
+        //åé·åºåå
+ã¹ããªã¼ã ã®åå¾ (è¨­å®ãããã®ã¨åããã®ã¯åºã¦ããªã)
+    inline static VerboseMessage::VerboseStream getStream(void) throw()
+    {   return VerboseMessage::VerboseStream(getVerbose() ? Singleton<DebugControl>::getInstance()->getStream() : 0);   }
+
+//  TESTSUITE_PROTOTYPE(main)
+};
+
+
+#endif  //MESSAGE_H
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.cpp	(revision 26)
@@ -0,0 +1,917 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpstrstream.cpp,v 1.9 2003/12/15 07:32:13 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/mpstrstream.cpp,v 1.9 2003/12/15 07:32:13 takayuki Exp $
+
+#include "base/mpstrstream.h"
+
+using namespace std;
+
+/*
+ *   è¤æ°é¨ä½ãããªãã¹ããªã¼ã ã®ä¸é¨ä½ã«ç¸å½ããã¯ã©ã¹
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+MultipartStream::Part::Part(string _name) throw() : name(_name)
+{}
+
+    //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+MultipartStream::Part::Part(const MultipartStream::Part & src) throw() : name("")
+{
+    if(src.isValid()) {
+        name.assign(src.name);
+        setContents(src.getContents());
+    }
+}
+
+    //ã¹ããªã¼ã ã«æ¸ããå
+å®¹ãåãåã
+string MultipartStream::Part::getContents(void) const throw(Exception)
+{
+    string result;
+
+    if(isValid())
+        result = stream.str();
+    else
+        ExceptionMessage("Operation was performed against an invalid stream.","ç¡å¹ãªã¹ããªã¼ã ã«å¯¾ãã¦æä½ãè¡ããã¾ãã").throwException();
+
+    return result;
+}
+
+    //ã¹ããªã¼ã ã®å
+å®¹ãç´æ¥è¨­å®ãã
+void MultipartStream::Part::setContents(string contents) throw(Exception)
+{
+    if(isValid()) {
+        stream.clear();
+        stream << contents;
+    }
+    else
+        ExceptionMessage("Operation was performed against an invalid stream.","ç¡å¹ãªã¹ããªã¼ã ã«å¯¾ãã¦æä½ãè¡ããã¾ãã").throwException();
+}
+
+
+
+/*
+ *   è¤æ°é¨ä½ãããªãã¹ããªã¼ã ã®ä¸é¨ä½ã«ç¸å½ããã¯ã©ã¹
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+MultipartStream::MultipartStream(string _filename) throw() : filename(_filename), current(0), dirty(false), output(true)
+{
+    dirty = isValid();  //ç©ºã§ãã£ã¦ããã¡ã¤ã«ãä½ããªãã¨ãããªãã®ã§...   
+}
+
+MultipartStream::~MultipartStream(void) throw()
+{
+    if(isValid() && dirty) {
+            //è
+        try { serialize(); }
+        catch(...) {}
+    }
+}
+
+    //ãã¡ã¤ã«åã®é¢é£ä»ã
+string MultipartStream::setFilename(string _filename) throw(Exception)
+{
+    string result;
+
+    if(this != 0) {
+        if(!_filename.empty()) {
+            result   = filename;
+            filename = _filename;
+            dirty    = isValid();
+        }
+        else
+            ExceptionMessage("Empty filename should not be allowed.","ç©ºã®ãã¡ã¤ã«åã¯ä½¿ç¨ã§ããªã").throwException();
+    }
+    else
+        ExceptionMessage("Invalid object can not perform the request.","ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããè¦æ±ã¯å®è¡ã§ããªã").throwException();
+
+    return result;
+}
+
+    //ãã¡ã¤ã«åºå (æ¬å½ã«ãã¡ã¤ã«ã«åºåããã¨ãã ãtrue)
+bool MultipartStream::serialize(void) throw(Exception)
+{
+    bool result = false;
+
+    if(isValid() && dirty && output) {
+
+        fstream file(filename.c_str(), ios::out);
+        if(file.is_open()) {
+            list<Part>::iterator scope;
+
+                //å
+¨ã¦ã®é¨ä½ã®å
+å®¹ãåºå
+            scope = parts.begin();
+            while(scope != parts.end()) {
+                file << scope->getContents();
+                ++ scope;
+            }
+
+            file.close();
+            dirty  = false;
+            result = true;
+        }
+        else {
+            ExceptionMessage("File could not open [%]","ãã¡ã¤ã«ãéããªã [%]") << filename << throwException;
+            disableOutput();    //ãã¹ãã©ã¯ã¿ãããä¸åº¦ææ¦ããã®ã§
+        }
+    }
+    else {
+        if(!isValid())
+            ExceptionMessage("Invalid object can not perform the request.","ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããè¦æ±ã¯å®è¡ã§ããªã").throwException();
+    }
+
+    return result;
+}
+
+    //é¨ä½ã®ä½æ
+MultipartStream & MultipartStream::createPart(string name, bool precedence) throw(Exception)
+{
+    if(this != 0) {
+        list<Part>::iterator scope;
+        list<Part>::iterator newnode;
+
+            //åãååããªããã¨ãç¢ºèª
+        scope = parts.begin();
+        while(scope != parts.end()) {
+            if(scope->getName().compare(name) == 0) {
+                ExceptionMessage("The part \"%\" is already created.","é¨ä½å[%]ã¯ãã§ã«å©ç¨ããã¦ãã") << name << throwException;
+                break;
+            }
+            ++ scope;
+        }
+
+            //åãååããªããªãè¦ç´ ãè¿½å 
+        if(scope == parts.end()) {
+            
+                //æ¿å
+¥ä½ç½®ã®æ¤ç´¢
+            if(current != 0) {
+                scope = parts.begin();
+                while(scope != parts.end() && &(*scope) != current)
+                    ++ scope;
+
+                    //æ¿å
+¥ä½ç½®ã®èª¿ç¯ (ç¾å¨ä½ç½®ãå¾ãã«ããã when precedence = false; )
+                if(scope != parts.end() && !precedence)
+                    ++ scope;
+            }
+            else
+                scope = parts.end();
+
+                //è¦ç´ ã®æ¿å
+¥
+            newnode = parts.insert(scope, Part(name));
+            current = &(*newnode);
+        }
+    }else
+        ExceptionMessage("Invalid object can not perform the request.","ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããè¦æ±ã¯å®è¡ã§ããªã").throwException();
+
+    return *this;
+}
+
+    //é¨ä½ã®é¸æ
+MultipartStream & MultipartStream::movePart(string name) throw(Exception)
+{
+    list<Part>::iterator scope;
+
+    if(this != 0 && !name.empty()) {
+
+            //ååãä¸è´ãããã®ãæ¢ã
+        scope = parts.begin();
+        while(scope != parts.end()) {
+            if(scope->getName() == name) {
+                current = &(*scope);
+                break;
+            }
+            ++ scope;
+        }
+
+            //è¦ã¤ãããªãã£ã
+        if(scope == parts.end())
+            ExceptionMessage("Unknown part [%] specified.","ç¡å¹ãªè­å¥å [%]") << name << throwException;
+    }
+    else{
+        if(this == 0)
+            ExceptionMessage("Invalid object can not perform the request.","ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããè¦æ±ã¯å®è¡ã§ããªã").throwException();
+        else //if(name.empty()) //æåã®ifã®æ¡ä»¶ããããã®ifã¯å¸¸ã«ç
+            ExceptionMessage("Empty identifier was passed as a name of part.","ç©ºæå­ãæ¸¡ããã").throwException();
+    }
+
+    return *this;
+}
+
+
+/********************************** ãã¹ãã¹ã£ã¼ã **********************************/
+
+#ifdef TESTSUITE
+
+#include "coverage_undefs.h"
+
+#include <iomanip>
+#include <cstdio>
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4101)   //ã­ã¼ã«ã«å¤æ°ã¯ä¸åº¦ãä½¿ããã¦ãã¾ãã
+#endif
+
+TESTSUITE_(main,Part, MultipartStream)
+{
+    BEGIN_CASE("constructor/isValid","ã³ã³ã¹ãã©ã¯ã¿ / æ­£å½æ§å¤å®") {
+        BEGIN_CASE("1","ååã¤ãã§ä½æãããæå¹ãªãã¼ããä½ãã") {
+            Part part("test");
+            if(!part.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ååãªãã§ä½æãããç¡å¹ãªãã¼ãã«ãªã") {
+            Part part("");
+            if(part.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","NULLã¯ç¡å¹ãªãã¼ã") {
+            if(((Part *)0)->isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","NULLãªãã¸ã§ã¯ãã§ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ãèµ·åãã¦ãå¤±æããªã") {
+            Part * part = 0;
+            Part work(*part);
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("operator <<","operator <<") {
+        BEGIN_CASE("1", "åºåã§ãã") {
+            Part part("test");
+
+            part << "test";
+
+            if(part.stream.str().compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "iomanipãä½¿ãã") {
+            Part part("test");
+
+            part << setw(8) << setbase(16) << setfill('0') << 0x1234567;
+
+            if(part.stream.str().compare("01234567") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "ç¡å¹ãªã¹ããªã¼ã ã«æ¸ãããä¾å¤ãèµ·ã") {
+            Part part("");
+            bool result = false;
+
+            if(part.isValid())
+                TEST_FAIL;
+
+            Exception::setThrowControl(true);
+            try {
+                Message::selectLanguage(Message::NEUTRAL);
+                part << setw(8) << setbase(16) << setfill('0') << 0x1234567;
+            }
+            catch(Exception & e) {
+                if(e.getDetails().compare("Operation was performed against an invalid stream.") == 0)
+                    result = true;
+            }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("getContents","getContents") {
+        BEGIN_CASE("1", "æ¸ããå
+å®¹ãåå¾ã§ãã") {
+            Part part("test");
+
+            part << "test";
+
+            if(part.getContents().compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "æ¸ãã¦èª­ãã§ã¾ãæ¸ãã¦èª­ãã") {
+            Part part("test");
+
+            part << "abc";
+            if(part.getContents().compare("abc") != 0)
+                TEST_FAIL;
+
+            part << "def";
+            if(part.getContents().compare("abcdef") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "ç¡å¹ãªã¹ããªã¼ã ããèª­ãã ãä¾å¤ãèµ·ã") {
+            Part part("");
+            bool result = false;
+
+            if(part.isValid())
+                TEST_FAIL;
+
+            Exception::setThrowControl(true);
+            try {
+                string work = part.getContents();
+            }
+            catch(Exception & e) {
+                if(e.getDetails().compare("Operation was performed against an invalid stream.") == 0)
+                    result = true;
+            }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("setContents","setContents") {
+        BEGIN_CASE("1", "è¨­å®ããå
+å®¹ãåå¾ã§ãã") {
+            Part part("test");
+
+            part.setContents("test");
+
+            if(part.getContents().compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "setContentsã§è¨­å®ãããã¨ã«è¿½è¨ã§ãã") {
+            Part part("test");
+
+            part.setContents("abc");
+            part << "def";
+            if(part.getContents().compare("abcdef") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "ç¡å¹ãªã¹ããªã¼ã ã«è¨­å®ãããä¾å¤ãèµ·ã") {
+            Part part("");
+            bool result = false;
+
+            if(part.isValid())
+                TEST_FAIL;
+
+            Exception::setThrowControl(true);
+            try {
+                part.setContents("test");
+            }
+            catch(Exception & e) {
+                if(e.getDetails().compare("Operation was performed against an invalid stream.") == 0)
+                    result = true;
+            }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("getName","getName") {
+        BEGIN_CASE("1", "ãã¼ãåãæ­£ããåå¾ã§ãã") {
+            Part part("name_of_stream");
+
+            if(part.getName().compare("name_of_stream") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "ä¸æ­£ãªãã¼ãã®ååãåãã¨ä¾å¤ãèµ·ã") {
+            Part part("");
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            try { string work = part.getName(); }
+            catch(Exception & e) {
+                if(e.getDetails().compare("Operation was performed against an invalid stream.") == 0)
+                    result = true;
+            }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("CopyConstructor","ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿") {
+        Part source("test");
+        source << "abcdefg";
+
+        Part dest(source);
+        BEGIN_CASE("1","ã¹ããªã¼ã ã®å
+å®¹ãæ­£ããã³ãã¼ã§ãã¦ãã") {
+            if(dest.getContents().compare("abcdefg") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","é¨ä½åãæ­£ããã³ãã¼ã§ãã¦ãã") {
+            if(dest.getName() != source.getName())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+}
+
+TESTSUITE(main,MultipartStream)
+{
+    BEGIN_CASE("constructor/isValid","constructor/isValid") {
+        BEGIN_CASE("1","ãã¡ã¤ã«åãæå®ãã¦çæãããªãã¸ã§ã¯ãã¯æå¹") {
+            MultipartStream mps("test.dat");
+
+            if(!mps.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¡ã¤ã«åãæããªããªãã¸ã§ã¯ãã¯ç¡å¹") {
+            MultipartStream mps;
+
+            if(mps.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ç©ºã®ãã¡ã¤ã«åãæã¤ãªãã¸ã§ã¯ãã¯ç¡å¹") {
+            MultipartStream mps("");
+
+            if(mps.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","NULLãªãã¸ã§ã¯ãã¯ç¡å¹") {
+            if(((MultipartStream *)0)->isValid())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("setFilename","setFilename") {
+        BEGIN_CASE("1","ãã¡ã¤ã«åãæå®ããã«çæãããã¡ã¤ã«ã«ååãã¤ãã") {
+            MultipartStream mps;
+            if(mps.isValid())
+                TEST_FAIL;
+
+            BEGIN_CASE("1","ã¹ããªã¼ã ã¯æå¹ã«ãªã") {
+                mps.setFilename("test");
+                if(!mps.isValid())
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ã¹ããªã¼ã ã®ååãå¤æ´ããã¦ãã") {
+                if(mps.filename.compare("test") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¡ã¤ã«åãæå®ãã¦çæãããã¡ã¤ã«ã«ååãã¤ãã") {
+            MultipartStream mps("initialname");
+            if(!mps.isValid())
+                TEST_FAIL;
+
+            BEGIN_CASE("1","ã¹ããªã¼ã ã¯æå¹ã«ãªã") {
+                mps.setFilename("test");
+                if(!mps.isValid())
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ã¹ããªã¼ã ã®ååãå¤æ´ããã¦ãã") {
+                if(mps.filename.compare("test") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("3","ç©ºæå­ãæ¸¡ãã¨ä¾å¤") {
+            MultipartStream mps;
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            try { mps.setFilename(""); }
+            catch(Exception & e)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","NULLãªãã¸ã§ã¯ãã«ååãã¤ããã¨ä¾å¤") {
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            try { ((MultipartStream *)0)->setFilename("test"); }
+            catch(Exception & e)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("serialize","serialize") {
+
+        BEGIN_CASE("1", "NULLãªãã¸ã§ã¯ãã«å¯¾ããã·ãªã¢ã©ã¤ãºã¯ä¾å¤") {
+            bool result = false;
+
+            Exception::setThrowControl(true);
+            try 
+            {   ((MultipartStream *)0)->serialize();   }
+            catch(Exception & e)
+            {   result = true;   }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããã·ãªã¢ã©ã¤ãºãä¾å¤") {
+            bool result = false;
+            MultipartStream mps;
+
+            Exception::setThrowControl(true);
+            try
+            {   mps.serialize();   }
+            catch(Exception & e)
+            {   result = true;   }
+
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "æ­£å¸¸ã«ã·ãªã¢ã©ã¤ãºã§ãã") {
+            MultipartStream mps("debug.out");
+            Part part("abc");
+
+            part << "abcdefg";
+            mps.parts.push_back(part);
+            mps.dirty = true;
+
+            ::remove("debug.out");
+            BEGIN_CASE("1", "ã·ãªã¢ã©ã¤ãºã¯trueãè¿ã") {
+                if(!mps.serialize())
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2", "åºåãããã¡ã¤ã«ã®å
+å®¹ãæ­£ãã") {
+                if(!TestSuite::compareFileContents("debug.out","abcdefg"))
+                    TEST_FAIL;
+            } END_CASE;
+            
+        } END_CASE;
+
+        BEGIN_CASE("4", "å
+å®¹ããã£ã¦ãdirty=falseãªãåºåãããªã") {
+            MultipartStream mps("debug.out");
+            Part part("abc");
+
+            part << "abcdefg";
+            mps.parts.push_back(part);
+            mps.dirty = false;
+
+            ::remove("debug.out");
+            BEGIN_CASE("1", "ã·ãªã¢ã©ã¤ãºã¯falseãè¿ã") {
+                if(mps.serialize())
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2", "ãã¡ã¤ã«ã¯åºåããã¦ããªã") {
+                fstream file("debug.out",ios::in);
+                if(file.is_open())
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("5", "å
+å®¹ããã£ã¦ãåºåç¦æ­¢ãªãåºåãããªã") {
+            MultipartStream mps("debug.out");
+            Part part("abc");
+
+            part << "abcdefg";
+            mps.parts.push_back(part);
+            mps.dirty = true;
+
+            mps.disableOutput();
+
+            ::remove("debug.out");
+            BEGIN_CASE("1", "ã·ãªã¢ã©ã¤ãºã¯falseãè¿ã") {
+                if(mps.serialize())
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2", "ãã¡ã¤ã«ã¯åºåããã¦ããªã") {
+                fstream file("debug.out",ios::in);
+                if(file.is_open())
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("Destructor","Destructor") {
+        BEGIN_CASE("1","ä½ã£ã¦å£ã") {
+            MultipartStream mps("debug.out");
+            Part part("abc");
+
+            part << "abcdefg";
+            mps.parts.push_back(part);
+            mps.dirty = true;
+
+            ::remove("debug.out");
+        } END_CASE;
+
+        BEGIN_CASE("2","å
+å®¹ããã¡ã¤ã«ã«æ ¼ç´ããã¦ãã") {
+            if(!TestSuite::compareFileContents("debug.out","abcdefg"))
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("createPart","createPart") {
+        BEGIN_CASE("1","ãã¼ããç»é²ãã") {
+            MultipartStream mps("debug.out");
+            mps.disableOutput();
+
+            BEGIN_CASE("1","ä¾å¤ãªãç»é²ã§ãã") {
+                Exception::setThrowControl(true);
+                mps .createPart("abc")
+                    .createPart("def")
+                    .createPart("ghi");
+            } END_CASE;
+
+            BEGIN_CASE("2","ä¸­èº«ãç»é²é ã§ä¸¦ãã§ãã") {
+                list<Part>::iterator scope;
+                scope = mps.parts.begin();
+                if(scope->getName().compare("abc") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->getName().compare("def") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->getName().compare("ghi") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope != mps.parts.end())
+                    TEST_FAIL;
+            } END_CASE;
+
+        } END_CASE;
+
+        BEGIN_CASE("2","ãã¼ããéé ã§ç»é²ãã") {
+            MultipartStream mps("debug.out");
+            mps.disableOutput();
+
+            BEGIN_CASE("1","ä¾å¤ãªãç»é²ã§ãã") {
+                Exception::setThrowControl(true);
+                mps .createPart("abc",true)
+                    .createPart("def",true)
+                    .createPart("ghi",true);
+            } END_CASE;
+
+            BEGIN_CASE("2","ä¸­èº«ãç»é²ããéé ã§ä¸¦ãã§ãã") {
+                list<Part>::iterator scope;
+                scope = mps.parts.begin();
+                if(scope->getName().compare("ghi") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->getName().compare("def") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope->getName().compare("abc") != 0)
+                    TEST_FAIL;
+                ++ scope;
+                if(scope != mps.parts.end())
+                    TEST_FAIL;
+            } END_CASE;
+
+        } END_CASE;
+
+        BEGIN_CASE("3","NULLã«å¯¾ããæä½ã§ä¾å¤ãçºçãã") {
+            bool result = false;
+            Exception::setThrowControl(true);
+            try {
+                ((MultipartStream *)0)->createPart("test");
+            }
+            catch(...)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","åãååã®ãã¼ããä½ãã¨ä¾å¤ãèµ·ã") {
+            BEGIN_CASE("1","åãååã®ãã¼ããä½ãã¨ä¾å¤ãèµ·ã") {
+                bool result = false;
+                MultipartStream mps("debug.out");
+                Exception::setThrowControl(true);
+
+                try {
+                    mps .createPart("abc")
+                        .createPart("def")
+                        .createPart("abc");
+                }
+                catch(...)
+                {   result = true;   }
+
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ä¾å¤ãå°ãã¦ãæ­£ããåã") {
+                bool result = true;
+                MultipartStream mps("debug.out");
+                Exception::setThrowControl(false);
+
+                BEGIN_CASE("1","ä¾å¤ã¯ã¹ã­ã¼ãããªã") {
+                try {
+                        mps .createPart("abc")
+                            .createPart("def")
+                            .createPart("abc");
+                    }
+                    catch(...)
+                    {   result = false;   }
+
+                    if(!result)
+                        TEST_FAIL;
+                } END_CASE;
+
+                BEGIN_CASE("2","ç¾å¨ä½ç½®ã¯å¤åããªã") {
+                    if(mps.current == 0 || mps.current->getName().compare("def") != 0)
+                        TEST_FAIL;
+                } END_CASE;
+            } END_CASE;
+        } END_CASE;
+
+        Exception::setThrowControl(true);
+
+        BEGIN_CASE("5","ç»é²ããã¨ç¾å¨ä½ç½®ãå¤åãã") {
+            MultipartStream mps("debug.out");
+            mps.disableOutput();
+
+            BEGIN_CASE("1","ç»é²ããã¨ä½ç½®ãå¤åãã (1)") {
+                mps.createPart("abc");
+                if(mps.current == 0 || mps.current->getName().compare("abc") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ç»é²ããã¨ä½ç½®ãå¤åãã (2)") {
+                mps.createPart("def");
+                if(mps.current == 0 || mps.current->getName().compare("def") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3","ç»é²ããã¨ä½ç½®ãå¤åãã (3)") {
+                mps.createPart("ghi");
+                if(mps.current == 0 || mps.current->getName().compare("ghi") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("opeator <<","operator <<") {
+
+        BEGIN_CASE("1","operator <<ãä½¿ãã") {
+            MultipartStream mps("debug.out");
+
+            mps.createPart("test");
+
+            mps << "abcdefghijklmn";
+        } END_CASE;
+
+        BEGIN_CASE("2","åºåãããä¸­èº«ãæ­£ãã") {
+            if(!TestSuite::compareFileContents("debug.out","abcdefghijklmn"))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","NULLãªãã¸ã§ã¯ãã«åºåããã¨ä¾å¤") {
+            bool result = false;
+            Exception::setThrowControl(true);
+            try {
+                *((MultipartStream *)0) << "test";
+            }
+            catch(...)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãã¼ããå
+¨ãä½ã£ã¦ããªããªãã¸ã§ã¯ãã«åºåããã¨ä¾å¤") {
+            bool result = false;
+            Exception::setThrowControl(true);
+            try {
+                MultipartStream mps("debug.out");
+                mps.disableOutput();
+                *((MultipartStream *)0) << "test";
+            }
+            catch(...)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("movePart/operator []","movePart/operator []") {
+        BEGIN_CASE("1","æ®éã«ç§»åãã") {
+            MultipartStream mps("debug.out");
+            mps.disableOutput();
+
+            mps .createPart("abc")
+                .createPart("def")
+                .createPart("ghi");
+
+            BEGIN_CASE("1","ç§»åã§ãã") {
+                mps.movePart("def");
+
+                if(mps.current->getName().compare("def") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2","ç¡å¹ãªååãå
+¥ããã¨ä¾å¤") {
+                bool result = false;
+                Exception::setThrowControl(true);
+
+                try {
+                    mps.movePart("unknwon");
+                }
+                catch(...)
+                {   result = true;   }
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3","ç©ºæå­ãå
+¥ããã¨ä¾å¤") {
+                bool result = false;
+                Exception::setThrowControl(true);
+
+                try {
+                    mps.movePart("");
+                }
+                catch(...)
+                {   result = true;   }
+                if(!result)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("2", "NULLãªãã¸ã§ã¯ãç¸æã«æä½ããã¨ä¾å¤") {
+            bool result = false;
+            Exception::setThrowControl(true);
+
+            try {
+                ((MultipartStream *)0)->movePart("");
+            }
+            catch(...)
+            {   result = true;   }
+            if(!result)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+}
+
+
+#endif
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/mpstrstream.h	(revision 26)
@@ -0,0 +1,207 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpstrstream.h,v 1.9 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/mpstrstream.h,v 1.9 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef MPSTRSTREAM_H
+#define MPSTRSTREAM_H
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4290) //C++ ã®ä¾å¤ã®æå®ã¯ç¡è¦ããã¾ããé¢æ°ã __declspec(nothrow) ã§ãªããã¨ã®ã¿è¡¨ç¤ºããã¾ãã
+#  pragma warning(disable:4786) //ãããã°æ
+å ±ã§è­å¥å­ã255æå­ã«åãæ¨ã¦ããã¾ããã
+#endif
+
+#include "testsuite.h"
+#include "base/except.h"
+#include "base/message.h"
+#include "base/event.h"
+
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <list>
+
+
+    //è¤æ°é¨ä½ãããªãåºåç¨ã¹ããªã¼ã ã®ã¯ã©ã¹
+class MultipartStream : public Event<ShutdownEvent>::Handler
+{
+public:
+
+        //è¤æ°é¨ä½ãããªãåºåç¨ã¹ããªã¼ã ã®ä¸é¨ä½ã«ç¸å½ããã¯ã©ã¹
+    class Part
+    {
+    protected:
+        std::string       name;
+        std::stringstream stream;
+
+    public:
+            //ã³ã³ã¹ãã©ã¯ã¿
+        Part(std::string name) throw();
+        Part(const Part & src) throw();
+
+            //æ­£å½æ§å¤å®
+        inline bool isValid(void) const throw()
+        {   return (this != 0) && !name.empty() && stream.good();   }
+
+            //ã¹ããªã¼ã ã¸ã®æ¸è¾¼ã¿
+        template<class T>
+        Part & operator << ( T src ) throw(Exception)
+        {
+            if(isValid())
+                stream << src;
+            else
+                ExceptionMessage("Operation was performed against an invalid stream.","ç¡å¹ãªã¹ããªã¼ã ã«å¯¾ãã¦æä½ãè¡ããã¾ãã").throwException();
+
+            return *this;
+        }
+
+            //ã¹ããªã¼ã ã«æ¸ããå
+å®¹ãåãåã
+        std::string getContents(void) const throw(Exception);
+
+            //ã¹ããªã¼ã ã®å
+å®¹ãç´æ¥è¨­å®ãã
+        void setContents(std::string contents) throw(Exception);
+
+            //ã¹ããªã¼ã åã®åç
+§
+        inline const std::string & getName(void) const throw(Exception)
+        {
+            if(!isValid())
+                ExceptionMessage("Operation was performed against an invalid stream.","ç¡å¹ãªã¹ããªã¼ã ã«å¯¾ãã¦æä½ãè¡ããã¾ãã").throwException();
+            return name;
+        }
+
+            //ä»£å
+¥æ¼ç®å­
+        inline Part & operator = (const Part & src) throw()
+        {
+            name = src.name;
+            stream.clear();
+            stream << src.stream.str();
+        
+            return *this;
+        }
+
+        TESTSUITE_PROTOTYPE(main)
+    };
+
+
+protected:
+    std::string         filename;       //é¢é£ä»ãããããã¡ã¤ã«å
+    std::list<Part>     parts;          //é¨ä½éå(é åºã¤ã)
+    Part *              current;        //ä»è¦ã¦ããé¨ä½
+    bool                dirty;          //ãã¡ã¤ã«ã«åºåããè¦ããã°true (ä½ãæ¸ãè¾¼ãã ã... ã§ã¯ãªããã¾ã åºåãã¦ãªããã©ãã)
+    bool                output;         //åºåãã¦ãè¯ããªãtrue
+
+    virtual void handler(ShutdownEvent & evt)
+    {   serialize();    }
+  
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿
+    MultipartStream(std::string filename = "") throw();
+
+        //ãã¹ãã©ã¯ã¿
+    virtual ~MultipartStream(void) throw();
+
+        //æ­£å½æ§å¤å®
+    inline bool isValid(void) const throw()
+    {   return (this != 0) && !filename.empty();   }
+
+        //ãã¡ã¤ã«å
+    std::string setFilename(std::string filename) throw(Exception);
+    std::string getFilename(void) const throw() { return filename; };
+
+        //ã¹ããªã¼ã ã®å
+å®¹ããã¡ã¤ã«ã«åºå
+    bool serialize(void) throw(Exception);
+
+        //é¨ä½ã®çæ
+    MultipartStream & createPart(std::string name, bool precedence = false) throw(Exception);
+
+        //é¨ä½ã®é¸æ
+    MultipartStream & movePart(std::string name) throw(Exception);
+
+        //åºåãããã©ããã®è¨­å®
+    inline void enableOutput(void) throw()
+    {   if(isValid()) output = true;   }
+    inline void disableOutput(void) throw()
+    {   if(isValid()) output = false;   }
+
+        //ãã¼ãã£ãããã®è¨­å®
+    inline void setDirty(bool _dirty = true) throw()
+    {   dirty = _dirty;   }
+
+        //åºå
+    template <class T>
+    inline MultipartStream & operator << ( T src ) throw(Exception)
+    {
+        if(this != 0 && current != 0) {
+            setDirty();
+            (*current) << src;
+        }
+        else
+            ExceptionMessage("Invalid operation against an invalid object","ç¡å¹ãªãªãã¸ã§ã¯ãã«å¯¾ããè¦æ±").throwException();
+        return *this;
+    }
+
+        //é¨ä½ã®é¸æ (Synonym)
+    inline MultipartStream & operator[] (std::string name) throw(Exception)
+    {   return movePart(name);   }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.cpp	(revision 26)
@@ -0,0 +1,952 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: option.cpp,v 1.3 2003/12/15 07:32:14 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/option.cpp,v 1.3 2003/12/15 07:32:14 takayuki Exp $
+
+#include "base/option.h"
+#include <assert.h>
+#include <algorithm>
+
+using namespace std;
+
+    //å¥ã®OptionItemãæã¤ãã©ã¡ã¼ã¿ãèªåã«è¿½å ãã
+void OptionParameter::OptionItem::mergeItem(const OptionItem & src)
+{
+    vector<string>::const_iterator scope;
+
+        //å
+¨ã¦ã®ãã©ã¡ã¼ã¿ãèªåã®å¾ãã«è¿½å 
+    scope = src.param.begin();
+    while(scope != src.param.end()) {
+        param.push_back(*scope);
+        ++ scope;
+    }
+}
+
+    //æå­åã®å
+é ­ã«ããç©ºç½æå­ãåãé¤ã
+namespace {
+    void TrimString(string & src)
+    {
+        string::size_type pos;
+
+        pos = src.find_first_not_of(" \t\r\n");
+        if(pos != 0)
+            src.erase(0, pos);
+    }
+}
+
+    //ãªãã·ã§ã³ãã©ã¡ã¼ã¿ãè§£æãã¦OptionItemãçæãã
+bool OptionParameter::OptionItem::createItem(OptionItem & _dest, string & argv)
+{
+    bool              result;
+    string            param;
+    string::size_type pos;
+    OptionItem        dest;
+
+    result = true;
+
+    TrimString(argv);
+    if(argv.empty())
+        result = false;     //ä¸­èº«ãç©ºã£ã½
+    else {
+            //ãªãã·ã§ã³ã®ãã§ãã¯
+        if(argv[0] == '-') {
+            pos = argv.find_first_of(" =");
+
+            if(argv.substr(0,pos).compare("-") == 0) {  // - ã ãã®ãªãã·ã§ã³ã¯åãä»ããªã
+                result = false;
+            }
+            else {
+                if(pos != 1) {
+                    if(pos != string::npos) {
+                        dest = argv.substr(1, pos - 1);
+                        argv.erase(0, pos + 1);
+                    }
+                    else {
+                        dest = argv.substr(1);
+                        argv.erase();
+                    }
+                }
+            }
+        }
+
+        TrimString(argv);
+        while(!argv.empty() && argv[0] != '-') {
+            if(argv[0] == '"') {
+
+                    //å¯¾ã«ãªãããã«ã¯ã©ã¼ããæ¢ã
+                pos = argv.find_first_of('"',1);
+                if(pos == string::npos) {
+                    result = false;
+                    break;
+                }
+
+                    //ããã«ã¯ã©ã¼ãã®ä¸­èº«ãåã
+                param = argv.substr(1, pos - 1);
+
+                    //ããã«ã¯ã©ã¼ããæ¶ã
+                ++ pos;
+            }
+            else {
+
+                    //æ¬¡ã®åºåããæ¢ã
+                pos = argv.find_first_of(" \t\r\n");
+                if(pos == string::npos)
+                    param = argv;
+                else
+                    param = argv.substr(0,pos);
+            }
+
+            dest.addParameter(param);
+            argv.erase(0, pos);
+            
+            TrimString(argv);
+        }
+    }
+
+    if(result)
+        _dest = dest;
+
+    return result;
+}
+
+    //ç¡å¹ãªãªãã·ã§ã³ã¢ã¤ãã ã®çæ
+OptionParameter::OptionItem OptionParameter::OptionItem::createInvalidItem(void) throw()
+{
+    OptionItem result;
+
+    result.assign("");
+    return result;
+}
+
+
+    //å
+¨ã¦ã®ãã©ã¡ã¼ã¿çµåãããã®ãåå¾
+string OptionParameter::OptionItem::getParameters(string punctuator) const throw()
+{
+    string result;
+
+    vector<string>::const_iterator scope;
+
+    if(isValid()) {
+        scope = param.begin();
+        while(scope != param.end()) {
+            result += punctuator;
+            result += *scope;
+            ++ scope;
+        }
+
+        if(!result.empty())
+            result.erase(0, punctuator.size()); //å
+é ­ã®åºåãå­ãåé¤
+    }
+
+    return result;
+}
+
+    //ãªãã·ã§ã³ã®åæ°ã®ãã§ãã¯
+bool OptionParameter::OptionItem::checkParameterCount(size_t required, bool allow_zero) const throw()
+{
+    bool result = true;
+    if(isValid()) {
+        size_t count = countParameter();
+        if(count != required || (!allow_zero && count == 0))
+            result = false;
+    }
+    else
+        result = false;
+    return result;
+}
+
+        //ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®ãã¼ã¹
+bool OptionParameter::parseOption(int _argc, char const * const * _argv, char const * _default) throw()
+{
+    bool        result;
+    string      arguments;
+    OptionItem  work;
+    int         i;
+
+    map<string, OptionItem>::iterator scope;
+
+        //ãã­ã°ã©ã åã®åå¾
+    if(_argc > 0)
+        program_name.assign(_argv[0]);
+
+        //å
+¨ã¦ã¤ãªãã
+    for(i=1;i<_argc;++i) {
+        arguments += _argv[i];
+        arguments += ' ';
+    }
+
+    if(arguments.empty() && _default != 0)
+        arguments.assign(_default);
+
+    cmdline += arguments;
+
+    result = true;
+
+        //åãªãã·ã§ã³ã®è§£æ
+    while(!arguments.empty()) {
+
+        if(!OptionItem::createItem(work, arguments)) {
+            result = false;
+            break;
+        }
+
+            //åä¸ã®ãªãã·ã§ã³ãããããã¼ã¸ãã
+        scope = container.find(work);
+        if(scope != container.end())
+            scope->second.mergeItem(work);
+        else
+            container.insert(std::map<std::string, OptionItem>::value_type(work, work));
+    }
+
+    return result;
+}
+
+    //è¦ç´ ã®æ¤åº
+map<string, OptionParameter::OptionItem>::iterator OptionParameter::_find(const std::string & name, bool check) throw()
+{
+    map<string, OptionParameter::OptionItem>::iterator scope;
+
+    scope = container.find(name);
+
+        //è¦ç´ ãä½¿ç¨ãããã¨ãè¨é²ãã¦ãã
+    if(check && scope != container.end())
+        scope->second._check();
+
+    return scope;
+}
+
+
+    //ãªãã·ã§ã³ã¢ã¤ãã ã®åç
+§
+OptionParameter::OptionItem OptionParameter::get(const std::string & name, bool check) throw()
+{
+    OptionItem                        result;
+    map<string, OptionItem>::iterator scope;
+
+    scope = _find(name, check);
+    if(scope != container.end())
+        result = scope->second;
+    else
+        result = OptionItem::createInvalidItem();
+
+    return result;
+}
+
+
+    //å
+¨ã¦ã®ãªãã·ã§ã³ãä½¿ç¨ããããã©ããã®ç¢ºèª
+bool OptionParameter::validateOption(void) const throw()
+{
+    map<string, OptionItem>::const_iterator scope;
+    bool result = true;
+
+        //å
+¨ã¦ã®ãªãã·ã§ã³ããã§ãã¯æ¸ã¿ã§ãããã¨ãç¢ºèª
+    scope = container.begin();
+    while(scope != container.end()) {
+        if(!scope->second.isChecked()) {
+            result = false;
+            break;
+        }
+        ++ scope;
+    }
+
+    return result;
+}
+
+
+    //ä½¿ç¨ãããªãã£ããªãã·ã§ã³åãåå¾
+string OptionParameter::getInvalidOptions(void) const throw()
+{
+    map<string, OptionItem>::const_iterator scope;
+    string result;
+
+        //ä½¿ç¨ãããªãã£ãå
+¨ã¦ã®ãªãã·ã§ã³ã«å¯¾ãã¦
+    scope = container.begin();
+    while(scope != container.end()) {
+        const OptionItem & item = scope->second;
+        if(!item.isChecked()) {
+            result += " -";
+            result += item;
+
+                //ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®åæ
+            size_t params = item.countParameter();
+            for(size_t i=0; i<params; ++i) {
+                result += " \"";
+                result += item[i];
+                result += '\"';
+            }
+        }
+        ++ scope;
+    }
+
+        //å
+é ­ã®ç©ºç½ãåãé¤ã
+    if(!result.empty())
+        result = result.substr(1);
+
+    return result;
+}
+
+/***************** ãã¹ãã¹ã£ã¼ã *****************/
+
+#ifdef TESTSUITE
+#include "coverage_undefs.h"
+
+
+TESTSUITE_(main,OptionItem,OptionParameter)
+{
+    BEGIN_CASE("01","ããã©ã«ããã©ã¡ã¼ã¿ã" DEFAULT_PARAMETER "ã«ãªã£ã¦ãã") {
+        OptionItem work;
+        if(work.compare(DEFAULT_PARAMETER) != 0)
+            TEST_FAIL;
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("02","ã³ã³ã¹ãã©ã¯ã¿ãã§ãã¯ (checked == false, ãã©ã¡ã¼ã¿å)") {
+
+        BEGIN_CASE("1","OptionItem(void)") {
+            OptionItem work;
+            if(work.checked != false)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","OptionItem(const string &)") {
+            OptionItem work("test");
+            if(work.compare("test") != 0 || work.checked != false)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","OptionItem(const OptionItem &)") {
+            OptionItem dummy("test");
+            OptionItem work(dummy);
+            if(work.compare("test") != 0 || work.checked != false)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("03", "addParameter / countParameter / operator []") {
+        const char * container[] = { "first", "second", "third", "forth", "fifth", NULL };
+        const char ** param = container;
+        int i;
+
+        OptionItem work;
+
+        BEGIN_CASE("1", "ä½ã£ãç´å¾ã®countParameterã¯0") {
+            if(work.countParameter() != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "addParameterãããã³ã«1ãã¤å¢ããã¯ã") {
+            while(*param != NULL) {
+                size_t count = work.countParameter();
+
+                work.addParameter(*param);
+
+                if(work.countParameter() != count + 1)
+                    TEST_FAIL;
+
+                ++ param;
+            }
+        } END_CASE;
+
+        BEGIN_CASE("3", "å
+¥ãããã®ã¯ã¡ããã¨å
+¥ã£ã¦ã") {
+            i = 0;
+            param = container;
+            while(*param != NULL) {
+                if(work[i].compare(*param) != 0)
+                    TEST_FAIL;
+
+                ++ i;
+                ++ param;
+            }
+        } END_CASE;
+
+        BEGIN_CASE("4", "operator[]ã«ç¯å²å¤ã®ãã©ã¡ã¼ã¿ãå
+¥ããã¨ç©ºæå­ãè¿ã") {
+            if(!work[10000].empty())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("04", "hasParameter") {
+        OptionItem work;
+
+        BEGIN_CASE("1", "ä¸­èº«ããªãã¨ãã¯falseãè¿ã") {
+            if(work.hasParameter())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "ä¸­èº«ãããã¨ãã¯trueãè¿ã") {
+            work.addParameter("dummy");
+            if(!work.hasParameter())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+        
+    //----
+
+    BEGIN_CASE("mergeItem", "mergeItem") {
+        OptionItem work;
+        OptionItem work2;
+
+        work.addParameter("one");
+        work2.addParameter("two");
+        
+        work.mergeItem(work2);
+
+        BEGIN_CASE("1","ãã¼ã¸ããã¦ãã") {
+            if(work[0].compare("one") != 0 || work[1].compare("two") != 0 || work.countParameter() != 2)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","å¤æ´å
+ã¯å¤åãªã") {
+            if(work2[0].compare("two") != 0 || work2.countParameter() != 1)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+        
+    //----
+
+    BEGIN_CASE("isChecked/checked", "isChecked/check") {
+        OptionItem work;
+
+        BEGIN_CASE("1","æåã¯uncheckedç¶æ
+") {
+            if(work.isChecked() != false)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","checkãã¤ãã") {
+            work._check();
+            if(work.isChecked() != true)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ããä¸åãã£ã¦ããã°ã«ã«ãªããªã") {
+            work._check();
+            if(work.isChecked() != true)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("CopyConstructor", "ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ã§ãã©ã¡ã¼ã¿ãç§»ãã") {
+        OptionItem src;
+        src.addParameter("one");
+
+        OptionItem dest(src);
+
+        if(dest.countParameter() != 1 || dest[0].compare("one") != 0)
+            TEST_FAIL;
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("TrimString", "TrinStringãã¡ããã¨åãã") {
+        BEGIN_CASE("1","å
+é ­ã®ç©ºç½æå­ãæ¶ãã") {
+            string work(" \r\n\ttest");
+            TrimString(work);
+            if(work.compare("test") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ç©ºç½æå­ã ãããæãæå­å") {
+            string work("     ");
+            TrimString(work);
+            if(!work.empty())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    //----
+
+    BEGIN_CASE("createItem", "createItemé¢æ°ã®åä½æ¤è¨¼") {
+        BEGIN_CASE("1", "ç©ºã£ã½ã®æå­åããããã¨å¤±æãã") {
+            OptionItem work;
+            string param("");
+            if(OptionItem::createItem(work, param))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "å¼æ°ãªããªãã·ã§ã³") {
+            OptionItem work;
+            string     arg("-test");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(work.compare("test") != 0 || work.hasParameter())
+                TEST_FAIL;
+            if(!arg.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "é£ç¶ããå¼æ°ãªããªãã·ã§ã³") {
+            OptionItem work;
+            string     arg("-test -test2");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(arg.compare("-test2") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4", "å¼æ°ã¤ããªãã·ã§ã³(-test param)") {
+            OptionItem work;
+            string     arg("-test param");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(work.compare("test") != 0)
+                TEST_FAIL;
+            if(work.countParameter() != 1 || work[0].compare("param") != 0)
+                TEST_FAIL;
+            if(!arg.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("5", "å¼æ°ã¤ããªãã·ã§ã³(-test=param)") {
+            OptionItem work;
+            string     arg("-test=param");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(work.compare("test") != 0)
+                TEST_FAIL;
+            if(work.countParameter() != 1 || work[0].compare("param") != 0)
+                TEST_FAIL;
+            if(!arg.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("6", "å¼æ°ã¤ããªãã·ã§ã³(-test=\"a b c\")") {
+            OptionItem work;
+            string     arg("-test=\"a b c\"");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(work.compare("test") != 0)
+                TEST_FAIL;
+            if(work.countParameter() != 1 || work[0].compare("a b c") != 0)
+                TEST_FAIL;
+            if(!arg.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("7", "é£ç¶ããå¼æ°ã¤ããªãã·ã§ã³(-test one two)") {
+            OptionItem work;
+            string     arg("-test one two");
+            if(!OptionItem::createItem(work, arg))
+                TEST_FAIL;
+            if(work.compare("test") != 0)
+                TEST_FAIL;
+            if(work.countParameter() != 2 || work[0].compare("one") != 0 || work[1].compare("two") != 0)
+                TEST_FAIL;
+            if(!arg.empty())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("8", "ãã¤ãã³") {
+            BEGIN_CASE("1", "ãã¤ãã³ã ãã®å¼æ°ã¯åãä»ããªã") {
+                OptionItem work;
+                string     arg("-");
+                if(OptionItem::createItem(work, arg))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("2", "ãã¤ãã³ã ãã®å¼æ°ã¯åãä»ããªã(é£ç¶)") {
+                OptionItem work;
+                string     arg("- - -");
+                if(OptionItem::createItem(work, arg))
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("3", "ããã«ã¯ã©ã¼ãã§ããããããã¤ãã³ã¯åãä»ãã") {
+                OptionItem work;
+                string     arg("\"-\"");
+                if(!OptionItem::createItem(work, arg))
+                    TEST_FAIL;
+                if(work.compare(DEFAULT_PARAMETER) != 0 || work.countParameter() != 1 || work[0].compare("-") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+    
+        } END_CASE;
+
+        BEGIN_CASE("9", "å¯¾ã«ãªãããã«ã¯ã©ã¼ããæ¬ ããå¼æ°ã¯åãä»ããªã") {
+            OptionItem work;
+            string     arg("-test=\"a b c");
+            if(OptionItem::createItem(work, arg))
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("isValid/createInvalidItem", "ç¡å¹ãç¤ºãã¤ã³ã¹ã¿ã³ã¹ãçæã§ãããããå¤å®ã§ãã") {
+        OptionItem work;
+
+        BEGIN_CASE("1","ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ã§çæãããªãã¸ã§ã¯ãã¯æå¹") {
+            if(!work.isValid())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ç¡å¹ã¤ã³ã¹ã¿ã³ã¹ã¯å½ç¶ç¡å¹") {
+            work = OptionItem::createInvalidItem();
+            if(work.isValid())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("getParameters","getParameters") {
+        BEGIN_CASE("1","æ­£ãããªãã·ã§ã³ãçµåã§ãã") {
+            OptionItem work;
+            string     arg("-test a b c d e f g");
+
+            TEST_CASE("0","[åæ]ãªãã·ã§ã³è§£æã«æåãã", OptionItem::createItem(work,arg));
+            TEST_CASE("1","çµåã§ãã", work.getParameters().compare("a b c d e f g") == 0);
+            TEST_CASE("2","åºåãæ°ãæå®ãã¦çµåã§ãã", work.getParameters(",").compare("a,b,c,d,e,f,g") == 0);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("checkParameterCount","checkParameterCount") {
+        BEGIN_CASE("1","ãªãã·ã§ã³ã®æ°ããã£ã¦ããã¯true") {
+            OptionItem work;
+            string     arg("-test a b c d e f g");
+
+            TEST_CASE("0","[åæ]ãªãã·ã§ã³è§£æã«æåãã", OptionItem::createItem(work,arg));
+
+            if(!work.checkParameterCount(7))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ãªãã·ã§ã³ã®æ°ãééã£ã¦ããã¨false") {
+            OptionItem work;
+            string     arg("-test a b c d e f g");
+
+            TEST_CASE("0","[åæ]ãªãã·ã§ã³è§£æã«æåãã", OptionItem::createItem(work,arg));
+
+            if(work.checkParameterCount(2))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ãªãã·ã§ã³ããªãã¦ã!allow_zeroãªãfalse") {
+            OptionItem work;
+            string     arg("-test");
+
+            TEST_CASE("0","[åæ]ãªãã·ã§ã³è§£æã«æåãã", OptionItem::createItem(work,arg));
+
+            if(work.checkParameterCount(1,false))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4","ãªãã·ã§ã³ããªãã¦ãallow_zeroãªãtrue") {
+            OptionItem work;
+            string     arg("-test");
+
+            TEST_CASE("0","[åæ]ãªãã·ã§ã³è§£æã«æåãã", OptionItem::createItem(work,arg));
+
+            if(work.checkParameterCount(1,true))
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+}
+
+/********************************* ãã¹ãã¹ã£ã¼ã *********************************/
+
+TESTSUITE(main,OptionParameter)
+{
+    SINGLETON(OptionParameter);
+
+    BEGIN_CASE("countItem","ãªãã·ã§ã³ã¢ã¤ãã ã®æ°ãæ­£ããåå¾ã§ãã") {
+        OptionParameter param;
+        if(param.countItem() != 0)
+            TEST_FAIL;
+
+        param.container.insert(pair<string, OptionItem>(DEFAULT_PARAMETER, OptionItem()));
+        if(param.countItem() != 1)
+            TEST_FAIL;
+    } END_CASE;
+
+    BEGIN_CASE("opeator []","operator []ã§è¦ç´ ã«ã¢ã¯ã»ã¹ã§ãã") {
+        OptionParameter param;
+        OptionItem work;
+        string arg("-test param");
+
+        OptionItem::createItem(work, arg);
+        param.container.insert(pair<string, OptionItem>(work, work));
+
+        BEGIN_CASE("1", "operator [] (const string &)ã§ç·ç¥ã«ã¢ã¯ã»ã¹ã§ãã") {
+            if(param[string("test")][0].compare("param") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2", "operator [] (const char *)ã§ç·ç¥ã«ã¢ã¯ã»ã¹ã§ãã") {
+            if(param["test"][0].compare("param") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3", "operator []ã§è§¦ãã¨ãcheckãå
+¥ã") {
+            if(!param["test"].isChecked())
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("4", "operator []ã«ç¡å¹ãªã­ã¼ãå
+¥ããã¨ãç¡å¹ãªãã¼ã¿ãè¿ã£ã¦ãã") {
+            if(param["nonexist"].isValid())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("get","è¦ç´ ã¸ã®ã¢ã¯ã»ã¹") {
+        OptionParameter param;
+        OptionItem work;
+
+        OptionItem::createItem(work, string("-test param"));
+        param.container.insert(pair<string, OptionItem>(work, work));
+        OptionItem::createItem(work, string("-test2 param2"));
+        param.container.insert(pair<string, OptionItem>(work, work));
+
+        BEGIN_CASE("1","get(test)ã§è¦ç´ ãåå¾ã§ãããã§ãã¯ãå
+¥ã") {
+            TEST_CASE("1","è¦ç´ ãå­å¨ãã", (work = param.get("test")).isValid());
+            TEST_CASE("2","ãã§ãã¯ãå
+¥ã£ã¦ãã", work.isChecked() );
+            TEST_CASE("3","è¦ç´ ã¯ãã©ã¡ã¼ã¿ãæã¤", work.hasParameter() );
+        } END_CASE;
+
+        BEGIN_CASE("2","get(test2,false)ã§è¦ç´ ãåå¾ã§ãããã§ãã¯ã¯ã¤ããªã") {
+            TEST_CASE("1","è¦ç´ ãå­å¨ãã", (work = param.get("test2",false)).isValid());
+            TEST_CASE("2","ãã§ãã¯ãå
+¥ã£ã¦ããªã", !work.isChecked() );
+        } END_CASE;
+
+        BEGIN_CASE("3","ãã§ã«ãã§ãã¯ã®ã¤ããtestã«å¯¾ããget(test,false)ã§è¦ç´ ãåå¾ã§ãããã§ãã¯æ¸ã¿") {
+            TEST_CASE("1","è¦ç´ ãå­å¨ãã", (work = param.get("test",false)).isValid());
+            TEST_CASE("2","ãã§ãã¯ãå
+¥ã£ã¦ããªã", work.isChecked() );
+        } END_CASE;
+
+        BEGIN_CASE("4","get(ç¡å¹ãªåå)ã§ç¡å¹ãªè¦ç´ ãè¿ã") {
+            TEST_CASE("1","è¦ç´ ãå­å¨ãã", !param.get("unknown").isValid());
+        } END_CASE;
+    } END_CASE;
+
+
+    BEGIN_CASE("parseOption","ãã©ã¡ã¼ã¿ã®ãã¼ã¹ãæ­£å¸¸ã«ã§ããã") {
+        BEGIN_CASE("01","ä¸­èº«ãä½ããªããã©ã¡ã¼ã¿ãä¸ãã¦ãæåãã") {
+            OptionParameter param;
+            char ** argv = { NULL };
+
+            if(!param.parseOption(0, argv))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("02","ãã­ã°ã©ã åã¯ãªãã·ã§ã³ã¨ãã¦è§£æãããªã") {
+            OptionParameter param;
+            char * argv[] = { "test.exe", NULL };
+
+            if(!param.parseOption(1, argv))
+                TEST_FAIL;
+            if(param.countItem() != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("03","ãã©ã¡ã¼ã¿ããããªãã«è§£æããã") {
+            OptionParameter param;
+            char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+            if(!param.parseOption(4, argv))
+                TEST_FAIL;
+            if(param.countItem() != 2)
+                TEST_FAIL;
+            
+            if(param[string("test")][0].compare("param") != 0)
+                TEST_FAIL;
+
+            if(param["test2"][0].compare("dummy") != 0)
+                TEST_FAIL;
+
+            if(param.getProgramName().compare("test.exe") != 0)
+                TEST_FAIL;
+
+        } END_CASE;
+
+        BEGIN_CASE("04","å¼æ°åãåãã") {
+            OptionParameter param;
+            char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+            if(!param.parseOption(4, argv))
+                TEST_FAIL;
+
+            if(param.getCommandLine().compare("-test param -test2=\"dummy\" ") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("05","ä½ãå¼æ°ãç¡ãã¨ãã«ã¯ããã©ã«ãå¼æ°ãã²ãã¦ãã") {
+            OptionParameter param;
+            char * argv[] = { "test.exe", NULL };
+
+            if(!param.parseOption(1, argv, "-default=parameter"))
+                TEST_FAIL;
+
+            if(param.getCommandLine().compare("-default=parameter ") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+    } END_CASE;
+
+    BEGIN_CASE("04","åç
+§ãã¼ã¯ãã¤ãã") {
+        OptionParameter param;
+        char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+        if(!param.parseOption(4, argv))
+            TEST_FAIL;
+
+        if(param.container.find(string("test"))->second.isChecked())
+            TEST_FAIL;
+
+        param.check("test");
+        if(!param.container.find(string("test"))->second.isChecked())
+            TEST_FAIL;
+    } END_CASE;
+
+    BEGIN_CASE("05","validateOption") {
+        OptionParameter param;
+        char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+        if(!param.parseOption(4, argv))
+            TEST_FAIL;
+
+        BEGIN_CASE("1","ä½ãä½¿ç¨ãã¦ããªãã¨ãã«ã¯false") {
+            if(param.validateOption())
+                TEST_FAIL;
+        } END_CASE;
+
+        param["test"]._check();
+        BEGIN_CASE("2","ã»ãã«ãã§ãã¯ãã¦ããªããªãã·ã§ã³ãããã°false") {
+            if(param.validateOption())
+                TEST_FAIL;
+        } END_CASE;
+
+        param["test2"]._check();
+        BEGIN_CASE("3","å
+¨ã¦ä½¿ç¨ãããã°true") {
+            if(!param.validateOption())
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("06","getInvalidOptions") {
+        OptionParameter param;
+        char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+        if(!param.parseOption(4, argv))
+            TEST_FAIL;
+
+        BEGIN_CASE("1","ä½ãä½¿ç¨ãã¦ããªãã¨ãã«ã¯å
+¨ã¦ã®ãªãã·ã§ã³ãç¡å¹") {
+            if(param.getInvalidOptions().compare("-test \"param\" -test2 \"dummy\"") != 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        param["test"]._check();
+        BEGIN_CASE("2","ã»ãã«ãã§ãã¯ãã¦ããªããªãã·ã§ã³ãããã°ãããåãã") {
+            if(param.getInvalidOptions().compare("-test2 \"dummy\"") != 0)
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("07","find") {
+        OptionParameter param;
+        char * argv[] = { "test.exe", "-test", "param", "-test2=\"dummy\"", NULL };
+
+        if(!param.parseOption(4, argv))
+            TEST_FAIL;
+
+        BEGIN_CASE("1","å­å¨ãããªãã·ã§ã³ã«å¯¾ãã¦trueãè¿ã") {
+            if(!param.find("test") || !param.find("test2"))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","å­å¨ããªããªãã·ã§ã³ã«å¯¾ãã¦falseãè¿ã") {
+            if(param.find("unknown"))
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("3","ç©ºæå­ã«å¯¾ãã¦falseãè¿ã") {
+            if(param.find(""))
+                TEST_FAIL;
+        } END_CASE;
+    } END_CASE;
+
+    Singleton<OptionParameter>::restoreContext(context);
+}
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/option.h	(revision 26)
@@ -0,0 +1,219 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: option.h,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/option.h,v 1.5 2003/12/20 06:51:58 takayuki Exp $
+
+#ifndef OPTION_H
+#define OPTION_H
+
+#include "base/testsuite.h"
+#include "base/singleton.h"
+
+#include <string>
+#include <vector>
+#include <map>
+
+#define DEFAULT_PARAMETER "#default"
+
+using namespace std;
+
+/*
+ *   ãªãã·ã§ã³ãã©ã¡ã¼ã¿ãç®¡çããã¯ã©ã¹
+ */
+class OptionParameter
+{
+public:
+    class OptionItem : public std::string
+    {
+    protected:
+        bool                      checked;  //ä½¿ç¨ãããã©ãã
+        std::vector<std::string>  param;    //ãªãã·ã§ã³
+
+    public:
+            //ã³ã³ã¹ãã©ã¯ã¿
+        OptionItem(void) throw() : string(DEFAULT_PARAMETER), checked(false) {}
+        OptionItem(const std::string & name) throw() : string(name), checked(false) {}
+        OptionItem(const OptionItem & src) throw() : string(src), checked(src.checked), param(src.param) {}
+
+            //ãªãã·ã§ã³ãã©ã¡ã¼ã¿ãè§£æãã¦OptionItemãçæãã
+        static bool createItem(OptionItem & item, string & argv);
+
+            //å¥ã®OptionItemãæã¤ãã©ã¡ã¼ã¿ãèªåã«è¿½å ãã
+        void mergeItem(const OptionItem & src);
+
+            //ãã©ã¡ã¼ã¿ã®è¿½å 
+        inline void addParameter(const std::string & src) throw()
+        {   param.push_back(src);   }
+
+            //ãã©ã¡ã¼ã¿æ°ã®åå¾
+        inline size_t countParameter(void) const throw()
+        {   return param.size();    }
+
+            //ãã©ã¡ã¼ã¿ãæã£ã¦ãããã©ãã
+        inline bool hasParameter(void) const throw()
+        {   return countParameter() != 0;   }
+
+            //ä½ç½®ãæå®ãã¦ãã©ã¡ã¼ã¿ãåç
+§ (ç¡å¹ãªä½ç½®ã ã¨ç©ºæå­)
+        inline std::string operator[](std::vector<std::string>::size_type offset) const throw()
+        {
+            string result;
+
+            if(offset < countParameter())
+                result = param[offset];
+
+            return result;
+        }
+
+            //ãã®ãªãã·ã§ã³ãä½¿ç¨ãããã¨ãè¨ã (OptionParameterãä»ãã¦ã®å©ç¨ã®ã¿ãªã®ã§ "_" ãã¤ãã¦ãã)
+        inline void _check(void) throw()
+        {   checked = true;   }
+
+            //ãã®ãªãã·ã§ã³ã«è§¦ã£ããã©ãã
+        inline bool isChecked(void) const throw()
+        {   return checked;   }
+
+            //æå¹ãã©ãã (ãªãªãã¯ç¡å¹)
+        inline bool isValid(void) const throw()
+        {   return !empty();   }
+
+            //ç¡å¹ãªãªãã·ã§ã³ã¢ã¤ãã ã®çæ
+        static OptionItem createInvalidItem(void) throw();
+
+            //å
+¨ã¦ã®ãã©ã¡ã¼ã¿çµåãããã®ãåå¾
+        std::string getParameters(std::string punctuator = " ") const throw();
+
+            //ãã©ã¡ã¼ã¿ã®åæ°ããã§ãã¯
+        bool checkParameterCount(size_t count, bool allow_zero = false) const throw();
+
+        TESTSUITE_PROTOTYPE(main)
+    };
+
+protected:
+        //ãªãã·ã§ã³ãæ ¼ç´ããå¤æ°
+    std::map<std::string, OptionItem> container;    //set::begin()ã¯const_iteratorããè¿ããªãã®ã§ä»æ¹ãªãmapã«å¤ãã (å®è£
+ãèããã°å½ç¶ã...)
+
+        //ãã­ã°ã©ã åç§°
+    std::string program_name;
+
+        //ã³ãã³ãã©ã¤ã³ã«æ¸¡ãããå¼æ°ãã®ãã®
+    std::string cmdline;    
+
+        //ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ (ãã¹ãç¨)
+    OptionParameter(void) throw() {}
+
+        //è¦ç´ ã®æ¤åº
+    std::map<std::string, OptionItem>::iterator _find(const std::string & name, bool check = true) throw();
+
+public:
+
+        //ã·ã³ã°ã«ãã³ã³ã³ã¹ãã©ã¯ã¿
+    SINGLETON_CONSTRUCTOR(OptionParameter) throw() {}
+
+        //ãªãã·ã§ã³ãã©ã¡ã¼ã¿ã®ãã¼ã¹
+    bool parseOption(int _argc, char const * const * _argv, char const * _default = NULL) throw();
+
+        //å
+¨ã¦ã®ãªãã·ã§ã³ãä½¿ç¨ããããã©ããã®ç¢ºèª
+    bool validateOption(void) const throw();
+
+        //ä½¿ç¨ãããªãã£ããªãã·ã§ã³åãåå¾
+    std::string getInvalidOptions(void) const throw();
+
+        //ã¢ã¤ãã ã®æ°ãæ°ãã
+    inline size_t countItem(void) const throw()
+    {   return container.size();   }
+
+        //ãªãã·ã§ã³ã¢ã¤ãã ã®åç
+§
+    OptionItem get(const std::string & name, bool check = true) throw();
+    
+    inline OptionItem operator [] (const std::string & name) throw()
+    {   return get(name);   }
+    
+    inline OptionItem operator [] (const char * name) throw()
+    {   return get(string(name));   }
+
+        //ãªãã·ã§ã³ã®æç¡ã®æ¤åº
+    inline bool find(std::string name) throw()
+    {   return get(name).isValid(); }
+
+
+        //åç
+§ãã¼ã¯ãã¤ãã
+    inline bool check(const std::string & name) throw()
+    {   return _find(name) != container.end();   }
+
+    inline bool check(const char * name) throw()
+    {   return check(string(name));   }
+
+        //ãã­ã°ã©ã åãåå¾ãã
+    inline const std::string & getProgramName(void) const throw()
+    {   return program_name;    }
+
+        //å¼æ°åããã®ã¾ã¾åå¾ãã (ãã­ã°ã©ã åã¯å«ã¾ã)
+    inline const std::string & getCommandLine(void) const throw()
+    {   return cmdline;   }
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+    /* ã·ã¹ãã å
+ã§åä¸ã®OptionParameterãåãããã®é¢æ° */
+inline OptionParameter & getOptionParameter(void) throw()
+{   return *Singleton<OptionParameter>::getInstance();   }
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.cpp	(revision 26)
@@ -0,0 +1,1562 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: parser.cpp,v 1.18 2003/12/15 07:32:14 takayuki Exp $
+ */
+
+
+
+// $Header: /home/CVS/configurator/base/parser.cpp,v 1.18 2003/12/15 07:32:14 takayuki Exp $
+
+#include "base/defs.h"
+#include "base/parser.h"
+#include <sstream>
+#include <set>
+#include <map>
+#include <iomanip>
+
+using namespace std;
+
+/*
+ *  å
+é ­ã¨æ«å°¾ã«ããç©ºç½æå­ãåãé¤ã
+ */
+Token & Token::trim(void)
+{
+    string::iterator scope;
+
+        /* ããã¾ */
+    scope = begin();
+    while(*scope == ' ' || *scope == '\t' || *scope == '\r' || *scope == '\n')
+        ++ scope;
+    erase(begin(), scope);
+
+    if(!empty())
+    {
+            /* ããã */
+        scope = end();
+        do {
+            -- scope;
+        } while(*scope == ' ' || *scope == '\t' || *scope == '\r' || *scope == '\n');
+        ++ scope;
+        erase(scope, end());
+    }
+    return *this;
+}
+
+
+ /*
+  *  æå­åãªãã©ã«ã®å±é (ããã«ã¯ã©ã¼ãã®åãé¤ã + ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã®å±é)
+  */
+Token & Token::chopLiteral(void)
+{
+    if(type != STRINGLITERAL)
+        return *this;
+
+    string::iterator scope;
+
+        //ã¨ã©ã¼å¦çã®ããã«éç ´å£å¦çããã
+    string src(*this);
+    string work;
+
+    if(src[0] != '"' || src[src.length()-1] != '"')
+        return *this;
+
+    src = src.substr(1, src.length()-2);
+
+    scope = src.begin();
+    while(scope != src.end())
+    {
+        if(*scope == '\\')
+        {
+                //ãªãã©ã«ã®æ«å°¾ã\ã§çµãããã¨ã¯ãªãã®ã§ãã§ãã¯ããªã
+            ++ scope;
+            switch(*scope)
+            {
+            case '"':   work += '"';   break;
+            case 't':   work += '\t';  break;
+            case 'r':   work += '\r';  break;
+            case 'n':   work += '\n';  break;
+            case 'b':   work += '\b';  break;
+            case '\\':   work += '\\';  break;
+            default:
+                ExceptionMessage("Illegal escape sequence [\\%]","ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹[\\%]ã¯ä¸æ­£ã§ã") << *scope << throwException;
+            }
+        }else
+            work += *scope;
+
+        ++ scope;
+    }
+
+    type = STRING;
+    assign(work);
+    value = this->length();
+
+    return *this;
+}
+
+    /* åºåãæå­ (ä¸æå­ã ãã§æå³ãæãæå­) */
+const char * Parser::Punctuator =
+    ",;(){}";
+
+    /* æ¼ç®å­ (ç¹æ®æå­ãããªãæå­) */
+const char * Parser::Operator =
+    "+-*/&|%^~!?[]=:.#";
+
+Token Parser::lastErrorToken;
+
+
+ /*
+  *  ã¹ããªã¼ã ããä¸æå­ã ãåãåºã
+  */
+inline int Parser::getChar(void)
+{
+    int work = current->stream->get();
+
+        /* è¡çªå·ã®å¦ç */
+    if(work == '\n')
+        current->line ++;
+    
+        /* ã¹ããªã¼ã ã­ã°ã®ããã®å¦ç */
+    if(PutBackCount == 0)
+    {
+        if(LogBuffer != 0 && isenabled(LOGGING))
+            *LogBuffer += static_cast<char>(work);
+    }else
+        PutBackCount --;    //ãã§ã«èª­ã¿è¾¼ãã§ãã
+
+    return work;
+}
+
+ /*
+  *  åãåºããããæå­ãã¹ããªã¼ã ã«è¿ã
+  */
+inline void Parser::putBack(int ch)
+{
+        /* è¡çªå·ã®ããã®å¦ç */
+    if(ch == '\n')
+        current->line --;
+
+        /* ã¹ããªã¼ã ã­ã°ã®ããã®å¦ç */
+    PutBackCount ++;
+
+    current->stream->putback(ch);
+}
+
+ /*
+  *  Parserã¯ã©ã¹ã®ãã¹ãã©ã¯ã¿
+  */
+Parser::~Parser(void)
+{
+    list<tagFile *>::iterator scope;
+
+        /* æå¾ã¾ã§ãã¼ã¹ãã¦ãªããªããã¨ããããã¹ã¿ãã¯ã«å
+¥ãã¦ãã */
+    if(current != 0)
+        fileStack.push_front(current);
+
+        /* ã¹ã¿ãã¯ã®ä¸­èº«å
+¨é¨ãç ´æ£ */
+    scope = fileStack.begin();
+    while(scope != fileStack.end())
+    {
+        if((*scope)->stream != 0 && (*scope)->stream != &cin)
+            delete (*scope)->stream;        //ã¹ããªã¼ã ã®ç ´æ£
+        delete (*scope);                    //æ§é ä½ã®ãã¼ã¿é åã®ç ´æ£
+
+        ++ scope;
+    }
+
+        /* å¿µã®ãã */
+    fileStack.clear();
+    TokenStack.clear();
+}
+
+
+ /*
+  *  è­å¥å­ã®ååºã (è­å¥å­ = [a-zA-Z_][0-9a-zA-Z_]*)
+  */
+bool Parser::getIdentifier(Token & token,int ch)
+{
+    token.value = 0;
+
+    do {
+        token.value ++;
+        token += static_cast<char>(ch);
+        ch = getChar();
+    } while( (ch >='a' && ch <= 'z') || (ch >='A' && ch <= 'Z') || (ch == '_') || (ch >= '0' && ch <= '9') );
+
+    if(ch != -1)
+        putBack(static_cast<char>(ch));
+
+    token.type = Token::IDENTIFIER;
+    return true;
+}
+
+
+ /*
+  *  ãã£ã¬ã¯ãã£ãã®ååºãã¨å¦ç
+  */
+bool Parser::parseDirectives(Token & token, int ch, bool allow_space)
+{
+    Token directive;
+    map<string, ParseUnit *>::iterator scope;
+
+        //ç©ºç½èª­ã¿é£ã°ã
+    do {
+        token += static_cast<char>(ch);
+        ch = getChar();
+    } while(ch == ' ' || ch == '\t');
+    
+    if(ch >= '0' && ch <= '9')
+    {
+            //GNU-cpp lineãã£ã¬ã¯ãã£ã å¯¾ç­
+        directive.assign("line");
+        this->putBack(ch);
+    }else
+    {
+            //ãã£ã¬ã¯ãã£ãã®èª­ã¿åºã
+        putBack(ch);
+        getToken(directive);
+        token += directive;
+    }
+
+        //lineãã£ã¬ã¯ãã£ãã®è§£æ
+    if(directive.compare("line") == 0)
+    {
+        Token token;
+
+        getToken(token, Token::INTEGER);
+        setCurrentLine(token.value -1);
+
+        getToken(token, Token::STRINGLITERAL);
+        try {
+            token.chopLiteral();
+        }
+        catch(Exception &) {
+            token.assign("Unknown");
+        }
+        setStreamIdentifier(token);
+
+        return true;
+    }
+
+        //pragmaãã£ã¬ã¯ãã£ãã®è§£æ
+    if(directive.compare("pragma") == 0)    
+    {
+        getToken(directive);
+        token += " ";
+        token += directive;
+
+        if((scope = Directive::container().find(directive)) != Directive::container().end())
+        {
+            (*scope).second->body(directive, *Container, *this, string(""));
+
+                //ä½åãªãã¼ã¯ã³ã®èª­ã¿é£ã°ã
+            if(!TokenStack.empty())
+            {
+                do {
+                    token = TokenStack.front();
+                    TokenStack.pop_front();
+                } while(!TokenStack.empty() && !allow_space && token.type == Token::SPACE);
+
+                return true;
+            }
+        }
+    }
+
+        //includeãã£ã¬ã¯ãã£ãã®è§£æ
+    if(directive.compare("include") == 0)
+    {
+        cerr << getStreamLocation() << Message(": Configurator found 'include' directive\nKernel configuration file must be preprocessed.\n",": #includeãã£ã¬ã¯ãã£ããçºè¦ãã¾ãã\n ã«ã¼ãã«æ§æãã¡ã¤ã«ã¯Cããªãã­ã»ããµãééãããå¿
+è¦ãããã¾ã\n");
+        ExceptionMessage("Illegal kernel configuration file","ä¸æ­£ãªã«ã¼ãã«æ§æãã¡ã¤ã«").throwException();
+    }
+
+    putBack(directive);
+    return false;
+}
+
+
+ /*
+  *  ç©ºç½æå­ã®ååºã
+  *    ã»ã¹ãã¼ã¹, ã¿ã   ã»#ã§å§ã¾ã£ã¦æ¹è¡ã¾ã§    ã»Cè¨èªã®ã³ã¡ã³ããã­ãã¯
+  *    ã»2é£ã®ã¹ã©ãã·ã¥(//)ããæ¹è¡ã¾ã§
+  *    ã»ä¸ã®4ã¤ãçµã¿åããããã®
+  */
+bool Parser::getWhitespace(Token & token, int ch, bool allow_space)
+{
+    int prev;
+
+    token.type = Token::SPACE;
+    switch(ch)
+    {
+    case '/':
+        ch = getChar();
+
+        switch(ch)
+        {
+            /* ã³ã¡ã³ããã­ãã¯ */
+        case '*':
+            token += "/*";
+            prev = '\x0';
+            while( ((ch = getChar()) != '/') || (prev!='*'))
+            {
+                token += static_cast<char>(ch);
+                prev = ch;
+            }
+            token += static_cast<char>(ch);
+            break;
+
+            /* ããã«ã¹ã©ãã·ã¥ */
+        case '/':
+            token += '/';
+            do {
+                token += static_cast<char>(ch);
+            } while( (ch = getChar()) != '\n' );
+            break;
+
+            /* ãã '/'ã§å§ã¾ã£ãã ãã§ãã */
+        default:
+            putBack(ch);
+            return getOperator(token, '/');;
+        }
+        break;
+
+        /* # ã§å§ã¾ãè¡ */
+    case '#':
+            /* ãã£ã¬ã¯ãã£ããç¡å¹ or ãããªãã£ã¬ã¯ãã£ãã¯ç¥ããªã */
+        if(! (isenabled(DIRECTIVE) && parseDirectives(token, ch, allow_space)) )
+        {
+                //æ¹è¡ã¾ã§èª­ã¿é£ã°ã
+            TokenStack.clear();
+            do {
+                token += static_cast<char>(ch);
+                ch = getChar();
+            } while(ch != '\n');
+            putBack(ch);
+        }
+        break;
+
+        /* ä¿ã«è¨ãç©ºç½æå­ */
+    case ' ':
+    case '\t':
+    case '\n':
+    case '\r':
+        do {
+            token += static_cast<char>(ch);
+            ch = getChar();
+        } while((ch == ' ') || (ch == '\n') || (ch == '\r') || (ch == '\t'));
+        putBack(static_cast<char>(ch));
+        break;
+    }
+    return true;
+}
+
+ /*
+  *  æ´æ°å¤ã®ååºã (8/10/16é², æ­£æ°/è² æ°)
+  *   ã»2é²ã¯ä¸è©ã ã£ãã®ã§ããã¾ãã
+  */
+bool Parser::getInteger(Token & token, int ch)
+{
+    bool minus = false; 
+
+    if(ch == '-')
+    {
+        minus = true;
+        ch = getChar();
+        if(ch < '0' || ch >'9')
+        {
+            putBack(static_cast<char>(ch));
+            return false;
+        }
+        token += "-";
+    }
+
+    token.type = Token::INTEGER;
+    token.value = 0;
+
+    if(ch == '0')
+    {
+        token += static_cast<char>(ch);
+        ch = getChar();
+        if(ch == 'x' || ch == 'X')
+        {
+            token += static_cast<char>(ch);
+            ch = getChar();
+            while((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F'))
+            {
+                token += static_cast<char>(ch);
+                if((ch -= '0') >= 10)
+                {
+                    ch = ch + '0' - 'A' + 10;
+                    if(ch >= 16)
+                        ch = ch - ('a' - 'A');
+                }
+                token.value = token.value * 16 + ch;
+                ch = getChar();
+            }
+        }else
+        {
+            while(ch >= '0' && ch <= '7')
+            {
+                token += static_cast<char>(ch);
+                token.value = token.value * 8 + ch - '0';
+                ch = getChar();
+            }
+        }
+    }else
+    {
+        do {
+            token += static_cast<char>(ch);
+            token.value = token.value * 10 + ch - '0';
+            ch = getChar();
+        } while(ch >= '0' && ch <= '9');
+    }
+
+        /* integer-suffix */
+    if(ch != -1)
+    {
+        bool unsigned_suffix = false;
+        bool long_suffix     = false;
+
+        int  first_longsuffix;
+
+        if(ch == 'u' || ch == 'U')
+        {
+            unsigned_suffix = true;
+            token += static_cast<char>(ch);
+            ch = getChar();
+        }
+
+        if(ch == 'i' || ch == 'I')  //i8, i16, i32, i64
+        {
+            int  first, second;
+            bool accept = false;
+            const signed char suffix_list[10] = { -1, '6', -1, '2', -1, -1, '4', -1, 0, -1};    //8, 16, 32, 64ã®ã¿ãåç
+
+            first  = getChar();
+            second = -1;
+            if(first >= '0' && first <= '9')
+            {
+                if(suffix_list[first - '0'] > 0)
+                {
+                    second = getChar();
+                    if(second == suffix_list[first - '0'])
+                        accept = true;
+                }else
+                    if(suffix_list[first - '0'] == 0)
+                        accept = true;
+            }
+
+            if(!accept)
+            {
+                if(second != -1)
+                    putBack(second);
+                putBack(first);
+            } else
+            {
+                token += static_cast<char>(ch);
+                token += static_cast<char>(first);
+                if(second != -1)
+                    token += static_cast<char>(second);
+                ch = getChar();
+            }
+        } else
+        {
+            if(ch == 'l' || ch == 'L')
+            {
+                first_longsuffix = ch;
+                long_suffix = true;
+
+                token += static_cast<char>(ch);
+                ch = getChar();
+                if(ch == first_longsuffix)
+                {
+                    token += static_cast<char>(ch);
+                    ch = getChar();
+                }
+            }
+
+            if(!unsigned_suffix && (ch == 'u' || ch == 'U'))
+            {
+                token += static_cast<char>(ch);
+                ch = getChar();
+            }
+        }
+    }
+
+    if(minus)
+        token.value = - token.value;
+
+    if(ch != -1)
+        putBack(static_cast<char>(ch));
+
+    return true;
+}
+
+
+ /*
+  *  ãªãã¬ã¼ã¿(ç¹æ®æå­ã®çµåããããªããã¼ã¯ã³)ã®ååºã
+  */
+bool Parser::getOperator(Token & token, int ch)
+{
+    const char * work;
+
+        /* chããªãã¬ã¼ã¿æå­ã§ãããã©ããç¢ºããã */
+    for(work = Operator;*work != '\x0' && *work != ch;work++);
+    if(*work == '\x0')
+        return false;
+
+        /* å¾ç¶ããæå­ããªãã¬ã¼ã¿æå­ã§ãããã©ããç¢ºããã */
+    do {
+        token += static_cast<char>(ch);
+        ch = getChar();
+        for(work = Operator;*work != '\x0' && *work != ch;work++);
+    } while(*work != '\x0');
+
+    putBack(ch);
+    token.type = Token::OPERATOR;
+    return true;
+}
+
+
+ /*
+  *  æå­åãªãã©ã« (ããã«ã¯ã©ã¼ãã§æ¬ãããæå­)
+  *    ã»ã·ã³ã°ã«ã¯ã©ã¼ããè¨±ãããã«ãã
+  *
+  *    VisualStudio6.0ã§ã³ã³ãã¤ã«ããå ´åãæ¹è¡ãLFã®ãã¡ã¤ã«ã«å¯¾ãã¦tellgå¾ã«
+  *    getããã¨EOFãè¿ããããåå¦çãã³ã¡ã³ãã¢ã¦ããã¦ããã
+  */
+bool Parser::getStringLiteral(Token & token, int delimitor)
+{
+    int ch;
+    int prev;
+
+    ch = delimitor;
+
+    token.value = 1;
+    token.type = Token::STRINGLITERAL;
+    token.assign("");
+    token += static_cast<char>(ch);
+
+    while(!current->stream->bad() && !current->stream->eof())
+    {
+        prev = ch;
+        ch = getChar();
+        token += static_cast<char>(ch);
+        token.value ++;
+
+        if(ch == delimitor && prev != '\\')
+            return true;
+    }
+
+        //ãã£ããéãã¦åãªã¼ãã³ãã¦ããªãã©ã«éå§ã® " ã®æ¬¡ã«ç§»å
+    
+    ExceptionMessage(ExceptionMessage::FATAL, "Unterminated string literal appeared.","éãããã¦ããªãæå­ãªãã©ã«ãæ¤åºãã¾ãã").throwException();
+    return false;
+}
+
+
+ /*
+  *  ãã¼ã¯ã³ã®ååºã
+  */
+enum Token::tagTokenType Parser::getToken(Token & token, bool allow_space)
+{
+    int ch;
+    const char * work;
+
+    do {
+        token.erase();
+        token.type = Token::ERROR;
+        token.value = 0;
+
+            //ãã¼ã¯ã³ã¹ã¿ãã¯ããåãåºã
+        if(!TokenStack.empty())
+        {
+            do {
+                token = TokenStack.front();
+                TokenStack.pop_front();
+            } while(!TokenStack.empty() && !allow_space && token.type == Token::SPACE);
+
+            if(!allow_space && token.type != Token::SPACE)
+                return token.type;
+        }
+
+            //ã¹ããªã¼ã ããåãåºã
+        if(current == NULL || current->stream == NULL || current->stream->bad())
+        {
+            token.assign("<End of stream>");
+            return (token.type = Token::EOS);
+        }
+
+            //ã«ã¬ã³ãã®ã¹ããªã¼ã ãç©ºã«ãªã£ã
+        if(current->stream->eof())
+        {
+                //ãã¡ã¤ã«ã¹ã¿ãã¯ããæ¬¡ã®ã¹ããªã¼ã ãåã
+            if(!fileStack.empty())
+            {
+                if(current->stream != &cin)
+                    delete current->stream;
+                delete current;
+                
+                current = *fileStack.begin();
+                fileStack.pop_front();
+            }else
+            {
+                token.assign("<End of stream>");
+                return (token.type = Token::EOS);
+            }
+        }
+
+        ch = getChar();
+
+            //First(whitespaces) is [ \n\t\r/#]
+        if( (ch == ' ') || (ch == '\t') || (ch == '\n') || (ch == '\r') || (ch == '/') || (isHeadofLine && ch == '#'))
+        {
+            if(ch == '\n')
+                isHeadofLine = true;
+
+            if(getWhitespace(token, ch, allow_space))
+                if((token == Token::SPACE && allow_space) || !(token == Token::SPACE || token == Token::ERROR))
+                    return token.type;
+
+            continue;
+        }else
+            break;
+    }while(true);
+
+    isHeadofLine = false;
+
+    token.line = current->line;
+
+        //First(identifier) is [a-zA-Z_]
+    if( (ch >='a' && ch <= 'z') || (ch >='A' && ch <= 'Z') || (ch == '_') )
+        if(getIdentifier(token, ch))
+            return Token::IDENTIFIER;
+
+        //First(integer) is [\-0-9]
+    if( (ch >='0' && ch <='9') || (ch == '-') )
+        if(getInteger(token,ch))
+            return Token::INTEGER;
+
+        //First(string) is ["']
+    if( ch == '"' || ch == '\'')
+        if(getStringLiteral(token,ch))
+            return Token::STRINGLITERAL;
+
+        //Operator
+    if(getOperator(token,ch))
+        return Token::OPERATOR;
+
+        //Punctuator
+    work = Punctuator;
+    while(*work != '\x0')
+        if( *(work++) == ch )
+        {
+            token += static_cast<char>(ch);
+            return (token.type = Token::PUNCTUATOR);
+        }
+
+    token += static_cast<char>(ch);
+    token.type = Token::UNKNOWN;
+    return Token::UNKNOWN;
+}
+
+
+ /*
+  *  ãã¼ã¯ã³ç¨ ã¹ããªã¼ã ãªãã¬ã¼ã¿ (ä¸»ã«ãã¹ãç®ç)
+  */
+ostream & operator << (ostream & out, Token & src)
+{
+    switch(src.type)
+    {
+    case Token::IDENTIFIER:
+        out << "<IDENTIFIER:["; break;
+    case Token::INTEGER:
+        out << "<INTEGER:["; break;
+    case Token::STRINGLITERAL:
+        out << "<STRINGLITERAL:["; break;
+    case Token::STRING:
+        out << "<STRING:["; break;
+    case Token::OPERATOR:
+        out << "<OPERATOR:["; break;
+    case Token::PUNCTUATOR:
+        out << "<PUNCTUATOR:["; break;
+    case Token::RESERVEDWORD:
+        out << "<RESERVEDWORD:["; break;
+    case Token::SPECIAL:
+        out << "<SPECIAL:["; break;
+    case Token::SPACE:
+        out << "<SPACE:["; break;
+    case Token::UNKNOWN:
+        out << "<UNKNOWN>"; return out;
+    case Token::ERROR:
+        out << "<ERROR>"; return out;
+    default:
+        out << "<???:[";
+    }
+
+    return out << static_cast<string &>(src) << "]("<<src.value<<")>";
+}
+
+ /*
+  *  äºç´èªã®ååºã(ã¨ãããããç¢ºèª)
+  */
+void Parser::getToken(const char * term) throw(Exception)
+{
+    Token token;
+
+    if(term == NULL)
+        ExceptionMessage("Internal: GetToken received an empty string as reserved word.","å
+é¨ã¨ã©ã¼: GetTokenã«ç©ºæå­åãæ¸¡ããã¾ãã").throwException();
+
+    getToken(token, false);
+    if(token.compare(term) != 0) {
+        lastErrorToken = token;
+        ExceptionMessage("Token [%] should be replaced by [%]","å­å¥[%]ã¯[%]ã§ããã¹ãã§ã") << token << term << throwException;
+    }
+}
+
+void Parser::getToken(const char * first, const char * second, const char * third, const char * fourth) throw(Exception)
+{
+    getToken(first);
+    if(second != NULL)
+        getToken(second);
+    if(third != NULL)
+        getToken(third);
+    if(fourth != NULL)
+        getToken(fourth);
+}
+
+string Parser::getStreamLocation(void)
+{
+    list<tagFile *>::iterator scope;
+
+    string location;
+    char buffer[16];
+
+    if(current == 0)
+        return string("");
+
+    ::sprintf(buffer, ":%d", current->line);
+    location += current->identifier;
+    location += buffer;
+
+    if(!fileStack.empty())
+    {
+        location += " (included at ";
+
+        scope = fileStack.begin();
+        while(scope != fileStack.end())
+        {
+            ::sprintf(buffer, ":%d, ", (*scope)->line);
+            location += (*scope)->identifier;
+            location += buffer;
+
+            ++ scope;
+
+        }
+
+        location.erase(location.size()-2);
+        location += ")";
+    }
+
+    return location;
+}
+
+void Parser::pushStream(const std::string & filename, std::string strid)
+{
+    fstream * fin;
+
+    if(current != 0)
+        fileStack.push_front(current);
+        
+    fin = new fstream(filename.c_str(),ios::in);
+
+    if(fin->is_open())
+    {
+        if(strid.size() == 0)
+            strid = filename;
+
+        current = new tagFile;
+        current->stream     = fin;
+        current->identifier = strid;
+        current->line       = 1;
+    }else
+    {       
+        ExceptionMessage("File operation failure : [%]","ãã¡ã¤ã«æä½ã«å¤±æãã¾ãã [%]") << filename << throwException;
+        delete fin;
+    }
+}
+
+void Parser::pushStdStream(std::string strid)
+{
+    stringstream * work = new stringstream;
+    char buffer[1024];
+    int  count;
+
+        //æ¨æºå
+¥åã®æ
+å ±ããã¹ã¦åãè¾¼ã (ã¨ã©ã¼å¯¾å¦ç¨ã« seekg/tellg ãä½¿ããã)
+    do {
+        cin.read(buffer, 1024);
+        count = cin.gcount();
+        work->write(buffer, count);
+    } while(count != 0);
+
+    if(current != 0)
+        fileStack.push_front(current);
+
+    current = new tagFile;
+    current->stream     = work;
+    current->identifier = strid;
+    current->line       = 1;
+}
+
+string * Parser::setLogBuffer(string * buffer)
+{
+    string * old = LogBuffer;
+    LogBuffer = buffer;
+    PutBackCount = 0;
+    return old;
+}
+
+streampos Parser::getLogBufferPos(int offset)
+{
+    streampos pos;
+    
+    pos = 0;
+    if(LogBuffer != 0)
+        pos = LogBuffer->size();
+    pos += static_cast<streampos>(offset - PutBackCount);
+    return pos;
+}
+
+#ifdef CALL_EXTERNAL_PROGRAM 
+void Parser::doPreProcess(const char * cmd)
+{
+    string         tempfilename;
+    char           buffer[1024];
+    int            count;
+    fstream        tempfile;
+    string         work;
+    stringstream * stream;
+
+    if(current == NULL || current->stream == NULL)
+        ExceptionMessage("No stream specified for processing","å¦çå¯¾è±¡ã¨ãªãã¹ããªã¼ã ãè¨­å®ããã¦ãã¾ãã").throwException();
+
+
+        /* ä»ã®ã¹ããªã¼ã ã®å
+å®¹ããã¹ã¦ãã³ãã©ãªã«æ¸ãåºã */
+
+    strcpy(buffer,"cfgXXXXXX");
+    mktemp(buffer);
+
+    tempfilename.assign(buffer);
+    tempfile.open(tempfilename.c_str(),ios::out);
+
+    if(!tempfile.is_open())
+        ExceptionMessage("Failed to open a temporary file","ãã³ãã©ãªãã¡ã¤ã«ã®ä½æã«å¤±æãã¾ãã").throwException();
+
+    do {
+        current->stream->read(buffer, 1024);
+        count = current->stream->gcount();
+        tempfile.write(buffer, count);
+    } while(count != 0);
+    tempfile.close();
+
+
+        /* ã¹ããªã¼ã å·®ãæ¿ã */
+
+    preprocessname = tempfilename;
+    originalname   = current->identifier;
+
+    if(current->stream != &cin)
+        delete current->stream;
+    stream = new stringstream;
+    current->stream = stream;
+
+
+        /* ããªãã­ã»ããµã®èµ·å & åºåã®åãè¾¼ã¿ */
+
+    work  = string(cmd) + " " + tempfilename;
+    VerboseMessage(" Start the external preprocessor [%]\n"," å¤é¨ãã­ã°ã©ã ãèµ·åãã¾ã [%]\n") << work;
+
+    FILE * pipe = popen(work.c_str(),"r");
+    while(feof(pipe) == 0)
+        stream->put((char)fgetc(pipe));
+
+    pclose(pipe);
+    remove(tempfilename.c_str());
+    isHeadofLine = true;
+}
+#else
+void Parser::doPreProcess(const char * cmd)
+{}
+#endif /* CALL_EXTERNAL_PROGRAM */
+
+
+ParseUnit::ParseUnit(void * _container, const char * name)
+{
+    map<string, ParseUnit *> * container;
+    string work(name);
+    string apiname;
+    string::size_type i,j;
+
+    i = 0;
+    container = reinterpret_cast<map<string, ParseUnit *> *>(_container);
+    
+    do {
+        j = work.find_first_of(',', i);
+        apiname = work.substr(i, j-i);
+
+        if(container->find(apiname) != container->end())
+            ExceptionMessage("Multiple registration of [%]\n","[%]ãéè¤ãã¦ç»é²ããããã¨ãã¦ãã¾ã") << apiname << throwException;
+        (*container)[apiname] = this;
+        i = j + 1;
+    }while(j != string::npos);
+}
+
+void ParseUnit::printList(void * _container)
+{
+    int i;
+    map<string, ParseUnit *> * container;
+    map<string, ParseUnit *>::iterator scope;
+
+    container = reinterpret_cast<map<string, ParseUnit *> *>(_container);
+    if(container->empty())
+    {
+        cerr << "  " << Message("None of element registed\n", "ç»é²ããã¦ããè¦ç´ ã¯ããã¾ãã\n");
+        return;
+    }
+
+    i = 0;
+    scope = container->begin();
+    while(scope != container->end())
+    {
+        cerr << '[' << (*scope).first << "] ";
+
+        if(i++ >= 6)
+        {
+            i = 0;
+            cerr << '\n';
+        }
+
+        ++ scope;
+    }
+
+    if(i != 0)
+        cerr << '\n';
+}
+
+Token & ParseUnit::parseParameter(Parser & p)
+{
+    static Token result;
+    Token token;
+    int nest = 0;
+
+    result.type = Token::ERROR;
+    result.value = 0;
+    result.assign("");
+
+    do
+    {
+        p.getToken(token);
+        if(token == Token::PUNCTUATOR)
+        {
+            if(token.compare("(") == 0)
+                nest ++;
+            else if(token.compare(")") == 0)
+                nest --;
+            else if(nest == 0)
+                break;
+            if(nest < 0)
+                ExceptionMessage("')' appeared before '('.","å¯¾å¿ããªãéãæ¬å¼§ãããã¾ã").throwException();
+        }
+
+        if(result == Token::ERROR)
+            result = token;
+        else
+        {
+            result.type = Token::STRING;
+            result += ' ';
+            result += token;
+        }
+
+    }while(true);
+
+    p.putBack(token);
+    result.trim();
+    return result;
+}
+
+int ParseUnit::parseParameters(Parser & p, Directory * container, int min, int max)
+{
+    Token work;
+    int count = 0;
+
+    if(max == 0)
+        max = min;
+
+    do
+    {
+        Token & token = parseParameter(p);
+        if(token.type == Token::ERROR)
+            break;
+
+        if(token == Token::INTEGER)
+            container->addChild(new Directory(token.value));
+        else
+            container->addChild(new Directory((string &)token));
+
+        count ++;
+        p.getToken(work);
+    }while(work.compare(",")==0 && count < max);
+
+    if(count < min)
+        ExceptionMessage("Too few parameters [%/%]","ãã©ã¡ã¼ã¿ã®æ°ãå°ãªããã¾ã [%/%]") << count << min << throwException;
+
+    p.putBack(work);
+    return count;
+}
+
+int ParseUnit::parseParameters(Parser & p, Directory * container, const char * paramlist)
+{
+    Token work;
+    int count;
+    string list;
+    string key;
+    string::size_type head,tail;
+
+    list.assign(paramlist);
+
+    count = 0;
+    head = 0;
+    tail = list.find_first_of(',');
+    key = list.substr(head,tail-head);
+
+    do
+    {
+        if(head == string::npos)
+            ExceptionMessage("Too many parameters","ãã©ã¡ã¼ã¿ã®æ°ãå¤ããã¾ã").throwException();
+
+        Token & token = parseParameter(p);
+        if(token.type == Token::ERROR)
+            break;
+
+        if(token == Token::INTEGER)
+            container->addChild(key,new Directory(token.value));
+        else
+            container->addChild(key,new Directory((string &)token));
+
+        if(tail != string::npos)
+        {
+            head = tail + 1;
+            tail = list.find_first_of(',',head);
+            key = list.substr(head,tail != string::npos ? tail-head : string::npos);
+            count ++;
+            p.getToken(work);
+        }else
+            break;
+    }while(work.compare(",")==0);
+
+    if(tail != string::npos)
+        ExceptionMessage("Too few parameters","ãã©ã¡ã¼ã¿ã®æ°ãå°ãªããã¾ã").throwException();
+
+    return count;
+}
+
+//------
+
+Directory * StaticAPI::last = NULL;
+
+map<std::string, class ParseUnit *> & StaticAPI::container(void)
+{
+    static map<std::string, class ParseUnit *> _container;
+    return _container;
+}
+
+Directory * StaticAPI::allocate(Directory & container, const Token & token, const char * id, bool regist)
+{
+    static unsigned int assignment_count = 0;
+    Directory * node;
+
+    if(!(token == Token::IDENTIFIER || token == Token::INTEGER))
+        ExceptionMessage("Given token(%) is not suitable for an object identifier.","ãªãã¸ã§ã¯ãã®è­å¥åã¨ãã¦å©ç¨ã§ããªãå­å¥(%)ãæå®ããã¾ãã") << token << throwException;
+
+    if(regist && (token == Token::INTEGER && token.value <= 0))
+        ExceptionMessage("Cannot assign an ID number less or equal to 0.","0ä»¥ä¸ã®IDçªå·ãè¨­å®ãããã¨ã¯ã§ãã¾ãã").throwException();
+
+
+    node = container.findChild(id);
+    if(node != 0)
+    {
+        Directory::iterator scope;
+
+        scope = node->begin();
+        while(scope != node->end())
+        {
+            if((*scope).first.compare(token) == 0)
+                ExceptionMessage("Identifier % is already used.","è­å¥å%ã¯ãã§ã«å©ç¨ããã¦ãã¾ã") << token << throwException;
+            ++ scope;
+        }
+    }else
+        node = container.addChild(id);
+
+    node = node->addChild(token);
+    (*node)["#order"] = assignment_count++;
+
+    if(token == Token::IDENTIFIER)
+    {
+        if(regist)
+        {
+            Directory * scope = container.openChild("/","identifier",token.c_str(),NULL);
+            if(*scope == Directory::INTEGER)
+                *node = scope->toInteger();
+        }
+    }else
+        *node = token.value;
+
+    last = node;
+    return node;
+}
+
+//------
+
+map<std::string, class ParseUnit *> & Directive::container(void)
+{
+    static map<std::string, class ParseUnit *> _container;
+    return _container;
+}
+
+//------
+
+ParserComponent::ParserComponent(void) throw() : Component(PARSER)
+{}
+
+ParserComponent::~ParserComponent(void) throw()
+{}
+
+void ParserComponent::parseOption(Directory & container)
+{
+    if(findOption("h", "help"))
+    {
+        cerr << Message(
+            "Static API parser\n"
+            "  -s, --source=filename     : Specify the source file\n"
+            "  -idir ,--ignore-directive : Ignore directives\n"
+            "  -iapi ,--ignore-api       : Ignore unknown static api\n"
+            "  -t, --through             : Get unprocessed APIs through\n"
+            "  --print-api               : Show registered static api list\n", 
+            "éçAPIãã¼ãµ\n"
+            "  -s, --source=ãã¡ã¤ã«å   : å
+¥åãã¡ã¤ã«åãæå®ãã¾ã\n"
+            "  -idir ,--ignore-directive : ãã£ã¬ã¯ãã£ãã®è§£æãè¡ãã¾ãã\n"
+            "  -iapi, --ignore-api       : ç»é²ããã¦ããªãAPIãç¡è¦ãã¾ã\n"
+            "  -t, --through             : å¦çããªãã£ãAPIãééããã¾ã\n"
+            "  --print-api               : ç»é²ããã¦ããAPIã®ä¸è¦§ãè¡¨ç¤ºãã¾ã\n");
+        return;
+    }
+
+    if(findOption("-print-api"))
+    {
+        cerr << Message("List of Registerd Static API\n","éçAPI ä¸è¦§\n");
+        StaticAPI::printList();
+        return;
+    }
+
+    checkOption("idir", "ignore-directive");
+    checkOption("iapi", "ignore-api");
+    checkOption("t", "through");
+
+    if(checkOption("s","source") || checkOption(DEFAULT_PARAMETER))
+        activateComponent();
+}
+
+bool ParserComponent::parseStaticAPI(Parser & p, Directory & container, Token token, const string domain)
+{
+    bool isParseErrorOccured = false;
+    map<string, ParseUnit *>::iterator api;
+    Directory * node = NULL;
+
+    if(token.type != Token::IDENTIFIER)
+        return false;
+
+    StaticAPI::clearLastObject();
+    node = container[PARSERESULT].addChild();
+
+    try {
+        node->addChild("api",new Directory(token));
+        node->addChild("begin",new Directory((long)p.getLogBufferPos(-(int)token.size()-1)));
+        if(!domain.empty())
+            node->addChild("domain", new Directory(domain));
+
+        api = StaticAPI::container().find(token);
+        if(api == StaticAPI::container().end())
+        {
+            if(ignoreUnknownAPI)
+            {
+                cerr << Message("%: Unknown static api % was ignored. (skipped)\n","%: éç»é²ã®API % ã¯ç¡è¦ããã¾ã\n") << p.getStreamLocation() << token;
+                do {
+                    p.getToken(token);
+                }while(token.compare(";") != 0);
+                node->addChild("end",new Directory((long)p.getLogBufferPos()));
+                (*node) = (long)0;
+                return true;
+            }
+            ExceptionMessage("Static API [%] is not registered in the configurator", "éçAPI[%]ã¯æªç»é²ã§ã") << token << throwException;
+        }
+
+        DebugMessage("  StaticAPI [%]\n") << (*api).first;
+
+        p.getToken("(");
+
+        (*api).second->body(token, container, p, domain);
+
+        p.getToken(")");
+        p.getToken(";");
+
+        node->addChild("end",new Directory((long)p.getLogBufferPos()));
+        (*node) = (long)1;
+    }
+    catch(Exception & e)
+    {
+        int offset;
+        string work;
+        work = p.getStreamLocation() + Message(":[Error] ",":[ã¨ã©ã¼] ").str() + e.getDetails();
+        isParseErrorOccured = true;
+
+        StaticAPI::dropLastObject();
+        failCount ++;
+
+        offset = 0;
+        token = p.getLastErrorToken();
+        while (token != Token::ERROR && token != Token::EOS)
+        {
+            if( token == ";" )
+                break;
+
+                //èª­ã¿åºãããã¼ã¯ã³ãéçAPIã¨åãååãªã ãã£ã¨ã»ãã³ã­ã³å¿ã
+            api = StaticAPI::container().find(token);
+            if(api != StaticAPI::container().end())
+            {
+                cerr << Message("<The following error must be occured by lack of ';' at the end of previous line>\n","<æ¬¡ã®ã¨ã©ã¼ã¯ç´åè¡ã®';'å¿ãã«ããå¯è½æ§ãé«ãã§ã>\n");
+                offset = -(int)token.size();
+                p.putBack(token);
+                break;
+            }
+
+            p.getToken(token);
+        }
+
+        node->addChild("end",new Directory((long)p.getLogBufferPos(offset)));
+        (*node) = (long)0;
+
+        cerr << work << '\n';
+
+        ExceptionMessage("Fatal error on Static API parsing","éçAPIã®æ§æè§£æã«å¤±æãã¾ãã").throwException();
+    }
+
+    return true;
+}
+
+/*
+ *  å¦çã§ããªãã£ãAPIãæ¨æºåºåã«åãåºã
+ */
+void ParserComponent::throughConfigurationFile(string & log, Directory & container)
+{
+    Directory *        node;
+    string::size_type  pos;
+    string::size_type  begin;
+    string::size_type  end;
+
+    pos = 0;
+    end = 0;
+
+    node = container[PARSERESULT].getFirstChild();
+    while(node != NULL)
+    {
+        begin = static_cast<string::size_type>((*node)["begin"].toInteger());
+        end   = static_cast<string::size_type>((*node)["end"].toInteger());
+
+        if(pos < begin)
+            cout << log.substr(pos, begin - pos);
+
+        if(node->toInteger() == 0)
+        {
+            cout << log.substr(begin, end - begin);
+        }else
+        {
+            for(pos = begin; pos < end; ++pos)
+                if( log.at(pos) == '\n' )
+                    cout << '\n';
+        }
+        node = node->getNext();
+    }
+
+    if(end < log.size())
+        cout << log.substr(end);
+
+    ExceptionMessage("","").throwException();
+}
+
+
+void ParserComponent::body(Directory & container)
+{
+    Token token;
+    Parser p(container);
+    string logbuffer;
+    OptionParameter::OptionItem item;
+    unsigned int itemcount = 0;
+
+    failCount = 0;
+    
+        //idirãªãã·ã§ã³ã®å¦ç
+    if(findOption("idir","ignore-directive"))
+        p.disable(Parser::DIRECTIVE);
+
+    ignoreUnknownAPI = findOption("iapi", "ignore-api");
+
+    if(findOption("t","through"))
+    {
+        p.setLogBuffer(&logbuffer);
+        ignoreUnknownAPI = true;
+    }
+
+        //å
+¥åã½ã¼ã¹
+    item = getOption("s", "source");
+    item.mergeItem(getOption(DEFAULT_PARAMETER));
+    if(item.countParameter() == 0)
+    {
+        p.pushStdStream(Message("Standard Input","æ¨æºå
+¥å").str());
+        VerboseMessage("Starting parse with standard input\n","æ¨æºå
+¥åããã®å­å¥è§£æãéå§ãã¾ãã\n");
+    }
+
+    try{
+        do {
+            if(item.hasParameter())
+            {
+                VerboseMessage("Starting parse with file[%]\n","ãã¡ã¤ã«[%]ã®å­å¥è§£æãéå§ãã¾ãã\n") << item[itemcount];
+                p.pushStream(item[itemcount]);
+            }
+
+            this->parse(p, container);
+
+            if(p.getToken(token) != Token::EOS)
+                ExceptionMessage("Buffer has remaining tokens, parsing is not yet finished", "ãã¼ã¹ãä¸­æ­ããã¾ãã").throwException();
+
+            if(failCount != 0)
+                ExceptionMessage("Total % failures found in this configuration.","%åã®éå®³ãããã¾ã") << failCount << throwException;
+
+            VerboseMessage("Parse finished\n","å­å¥è§£æã¯æ­£å¸¸ã«çµäºãã¾ãã\n");
+
+        } while(++itemcount < item.countParameter());
+
+        if(findOption("t","through"))
+            throughConfigurationFile(logbuffer,container);
+
+        container[PARSERESULT].erase();
+    }
+    catch(Exception & e)
+    {
+        string work;
+
+        work = p.getStreamLocation() + Message(":[Error] ",":[ã¨ã©ã¼] ").str() + e.getDetails();
+        ExceptionMessage(work.c_str()).throwException();
+    }
+}
+
+    // ãªãã·ã§ã³ãã¼ãããå²ä»æ¹æ³ãåå¾ãã
+enum Common::tagAssignmentOrder Common::parseOrder(Directory * node)
+{
+    Directory * scope;
+    int         i;
+
+        //å²å½ãã©ã¡ã¼ã¿è§£æ
+    i = FCFS;
+    if(node != 0)
+    {
+        scope = node->getFirstChild();
+        while(scope != 0)
+        {
+            string param = scope->toString();
+            if(param.compare("alphabetic") == 0 || param.compare("ALPHABETIC") == 0)
+                i = (i & 0xf0) | ALPHABETIC;
+            else if(param.compare("fcfs") == 0 || param.compare("FCFS") == 0)
+                i = (i & 0xf0) | FCFS;
+            else if(param.compare("reverse") == 0 || param.compare("REVERSE") == 0)
+                i |= REVERSE;
+
+            scope = scope->getNext();
+        }
+    }
+
+    return static_cast<enum tagAssignmentOrder>(i);
+}
+
+    // ãªãã·ã§ã³ãã¼ãããå²ä»æ¹æ³ãåå¾ãã
+enum Common::tagAssignmentOrder Common::parseOrder(OptionParameter::OptionItem item)
+{
+    Directory node;
+    unsigned int i;
+
+    for(i=0;i<item.countParameter();++i)
+        node.addChild(item[i]);
+
+    return parseOrder(&node);
+}
+
+    //IDå¤ã®ã¢ãµã¤ã³ã¡ã³ã
+    //  (ä»ã®å ´æãããä½¿ãã®ã§ããã«ç§»å)
+int Common::assignID(Directory & container, const char * category, const char * top, enum tagAssignmentOrder order)
+{
+    Directory * node  = 0;
+    Directory * scope = 0;
+    Directory * work  = 0;
+    set<int> idpool;
+    map<int, Directory *> sorter;
+    map<int, Directory *>::iterator p_sorter;
+    int i;
+
+        //ä¸æºå
+    node = container.findChild(top,category,NULL);
+    if(node == 0)
+        return 0;
+
+    for(i=1;i< (signed int) node->size() + 32; i++)
+        idpool.insert(i);
+
+        //å²ä»é ã®æ±ºå®ã¨ï¼å²å½æ¸ã¿IDã®åé¤
+    i = 0;
+    scope = node->getFirstChild();
+    while(scope != 0)
+    {
+        if( *scope == Directory::INTEGER )
+            idpool.erase(*scope);
+        else
+        {
+                //éè¤åç§°ã®å­å¨ãã§ãã¯
+            work = container.openChild("/","identifier",scope->getKey().c_str(),NULL);
+            if( *work == Directory::INTEGER)
+            {
+                VerboseMessage("Assigning the same ID (%) since the name (%[%]) is duplicated\n","IDçªå·(%)ãç°ç¨®ååã®ãªãã¸ã§ã¯ã(%[%])ã«å²ãå½ã¦ã¾ãï¼\n") << work->toInteger() << scope->getKey() << category;
+                idpool.erase(*scope = work->toInteger());
+            } else
+            {
+                    //å²å½æ¹æ³ã«å¾ã£ã¦å²å½åè£ã«è¿½å 
+                switch(order)
+                {
+                case ALPHABETIC:
+                    sorter[i++] = scope;
+                    break;
+                case REVERSE_ALPHABETIC:
+                    sorter[i--] = scope;
+                    break;
+                case FCFS:
+                default:
+                    sorter[scope->openChild("#order")->toInteger()] = scope;
+                    break;
+                case REVERSE_FCFS:
+                    sorter[-scope->openChild("#order")->toInteger()] = scope;
+                    break;
+                }
+            }
+        }
+        scope = scope->getNext();
+    }
+
+        //IDå²å½
+    p_sorter = sorter.begin();
+    while(p_sorter != sorter.end())
+    {
+        scope = (*p_sorter).second;
+        if( !(*scope == Directory::INTEGER) )
+        {
+            i = *(idpool.begin());
+            idpool.erase(idpool.begin());
+
+            work = container.openChild("/","identifier",scope->getKey().c_str(),NULL);
+            *work = i;
+            *scope = i;
+        }
+        ++ p_sorter;
+    }
+
+        //å²å½è¡¨ä½æ
+    if(node->size() != 0 && VerboseMessage::getVerbose())
+    {
+        VerboseMessage("Object ID assignment list [%]\n","ãªãã¸ã§ã¯ãIDå²ä»è¡¨ [%]\n") << category;
+
+        sorter.clear();
+        scope = node->getFirstChild();
+        while(scope != 0)
+        {
+            sorter[scope->toInteger()] = scope;
+            scope = scope->getNext();
+        }
+
+        p_sorter = sorter.begin();
+        while(p_sorter != sorter.end())
+        {
+            VerboseMessage("  % : %\n") << setw(3) << (*p_sorter).first << (*p_sorter).second->getKey();
+            ++ p_sorter;
+        }
+    }
+
+        //å¦¥å½æ§ã®å¤å®
+    if((signed)node->size()+1 != *(idpool.begin()))
+        ExceptionMessage("Discontinuous % ID assignment occured","ä¸é£ç¶ãªãªãã¸ã§ã¯ãID(%)") << category << throwException;
+
+    return node->size();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/parser.h	(revision 26)
@@ -0,0 +1,377 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: parser.h,v 1.14 2003/12/20 06:32:48 takayuki Exp $
+ */
+
+
+// $Header: /home/CVS/configurator/base/parser.h,v 1.14 2003/12/20 06:32:48 takayuki Exp $
+
+#ifndef PARSER_H
+#define PARSER_H
+
+#include "base/defs.h"
+
+#include "base/message.h"
+
+#include "base/directorymap.h"
+#include "base/component.h"
+
+#include <stdarg.h>
+#include <iostream>
+#include <list>
+#include <string>
+#include <fstream>
+#include <sstream>
+
+#define PARSERESULT         "/parse_result"
+
+#ifndef  ERROR
+#undef   ERROR   /* MinGWç°å¢ã ã¨wingdi.hã§ERRORãå®ç¾©ããã */
+#endif
+
+class Token : public std::string
+{
+        //ã¡ã³ãã®é è½ã¯ããªã
+public:
+    enum tagTokenType
+    {
+        IDENTIFIER      = 0x01,
+        INTEGER         = 0x02,
+        STRINGLITERAL   = 0x03,
+        STRING          = 0x04,
+        OPERATOR        = 0x05,
+        PUNCTUATOR      = 0x06,
+        RESERVEDWORD    = 0x07,
+        SPECIAL         = 0x80,
+        SPACE           = 0x81,
+        UNKNOWN         = 0xfd,
+        ERROR           = 0xfe,
+        EOS             = 0xff      //End of Stream
+    };
+
+    enum tagTokenType   type;
+    long                value;
+    unsigned int        line;
+
+    Token(void)                 { type = UNKNOWN;  value = 0;   };
+    Token(const Token & src)    { (*this) = src; };
+    Token(enum tagTokenType, const char *);
+
+    operator const enum tagTokenType (void) const { return type; };
+
+    Token & operator =(const Token & src);
+    bool operator == (const Token & src) const;
+
+    Token & trim(void);
+    Token & chopLiteral(void);
+    void    confirm(const char *) const;
+};
+
+class Parser
+{
+public:
+    enum tagFunctionarities
+    {   UNKNOWN = 0, DIRECTIVE = 1, LOGGING = 2 };
+
+    struct tagFile
+    {
+        std::string    identifier;
+        std::istream * stream;
+        unsigned int   line;
+    };
+
+protected:
+    static const char * Punctuator;
+    static const char * Operator;
+    static Token        lastErrorToken;
+    
+    std::string *       LogBuffer;
+    unsigned int        PutBackCount;
+    bool                isHeadofLine;
+
+    Directory *         Container;
+
+    tagFile *             current;
+    std::list<Token>      TokenStack;
+    std::list<tagFile *>  fileStack;
+    int                   functionalities;
+
+    std::string           preprocessname;   //ããªãã­ã»ããµãéãã¨ãã«ä½¿ã£ãåå
+    std::string           originalname;     //æ¬æ¥ã®åå
+
+    bool parseDirectives(Token &, int, bool);
+
+    bool getIdentifier(Token &, int);
+    bool getWhitespace(Token &, int, bool);
+    bool getInteger(Token &, int);
+    bool getStringLiteral(Token &, int);
+    bool getOperator(Token &, int);
+
+    int  getChar(void);
+    void putBack(int);
+
+    void initialize(void) { current = 0; functionalities = DIRECTIVE|LOGGING; PutBackCount = 0; LogBuffer = 0; isHeadofLine = true; };
+
+    bool isenabled(enum tagFunctionarities func)  { return (functionalities & (int)func) != 0; };
+
+public:
+    Parser(Directory & cnt) : Container(&cnt) { initialize(); };
+    Parser(Directory * cnt) : Container(cnt)  { initialize(); };
+    ~Parser(void);
+
+    void pushStream(const std::string & filename, std::string = "");
+    void pushStdStream(std::string = "Standard Input");
+
+    void setStreamIdentifier(const std::string & id);
+    void setCurrentLine(unsigned int pos) { current->line = pos; };
+    unsigned int getCurrentLine(void);
+    const char * getStreamIdentifier(void);
+    std::string getStreamLocation(void);
+
+    enum Token::tagTokenType getToken(Token &,bool = false);
+    void getToken(Token &,enum Token::tagTokenType, const char * = NULL);
+    void getToken(const char *) throw(Exception);
+    void getToken(const char *, const char * , const char * = 0, const char * = 0) throw(Exception);
+
+    void putBack(Token &);
+
+    static const Token & getLastErrorToken(void) { return lastErrorToken; };
+
+    void enable(enum tagFunctionarities func)  { functionalities |=  (int)func; };
+    void disable(enum tagFunctionarities func) { functionalities &= ~(int)func; };
+
+    std::string *  setLogBuffer(std::string * buffer);
+    std::streampos getLogBufferPos(int offset = 0);
+
+    void doPreProcess(const char * cmd);
+};
+
+
+//---
+
+class ParseUnit
+{
+protected:
+    static Token & parseParameter(Parser &);
+    static int     parseParameters(Parser &, Directory *, int, int=0);
+    static int     parseParameters(Parser &, Directory *, const char *);
+
+public:
+    ParseUnit(void *, const char *);
+    virtual ~ParseUnit(void) {};
+
+    const char * getIdentifier(void) const;
+    virtual void body(const std::string &, Directory &, Parser &, const std::string &) =0;
+
+    static void printList(void * container);
+};
+
+#define __DECLARE_PARSEUNIT(x,y,z) class x##_##y : public x { public: x##_##y(void) : x(z) {}; protected: virtual void body(const std::string &, Directory &, Parser &, const std::string &); } instance_of_##x##_##y; void x##_##y::body(const std::string & identifier, Directory & container, Parser & p, const std::string & domain)
+
+//---
+
+class StaticAPI : public ParseUnit
+{
+protected:
+    static Directory * last;
+    Directory * allocate(Parser & p, Directory &, const Token &, const char *, bool = true);
+    Directory * allocate(Directory &, const Token &, const char *, bool = true);
+    Directory * find    (Directory &, const Token &, const char *);
+
+public:
+    StaticAPI(const char * name) : ParseUnit(&(container()), name) {};
+
+    static void printList(void)         { ParseUnit::printList(&(container())); };
+    static void clearLastObject(void)   { last = NULL; };
+    static void dropLastObject(void);
+
+    static std::map<std::string, class ParseUnit *> & container(void);
+};
+
+#define DECLARE_API(x,y) __DECLARE_PARSEUNIT(StaticAPI,x,y)
+
+//---
+
+class Directive : public ParseUnit
+{
+public:
+    static std::map<std::string, class ParseUnit *> & container(void);
+
+    Directive(const char * name) : ParseUnit(&(container()), name) {};
+    static void printList(void) { ParseUnit::printList(&(container())); }
+};
+
+#define DECLARE_DIRECTIVE(x,y) __DECLARE_PARSEUNIT(Directive,x,y)
+
+//---
+
+class ParserComponent : public Component
+{
+protected:
+    int  failCount;
+    bool ignoreUnknownAPI;
+
+    static void throughConfigurationFile(std::string & log, Directory & container);
+
+    virtual void parseOption(Directory &);    
+    virtual void body(Directory &);
+
+    bool         parseStaticAPI(Parser & p, Directory & container, Token token, const std::string = "");
+
+    virtual bool parse(Parser & p, Directory & container) = 0;
+
+public:
+    ParserComponent(void) throw();
+    virtual ~ParserComponent(void) throw();
+};
+
+//---
+
+namespace Common {
+    
+    enum tagAssignmentOrder { UNKNOWN, ALPHABETIC, FCFS, REVERSE=0x80, REVERSE_ALPHABETIC, REVERSE_FCFS };
+
+    enum tagAssignmentOrder parseOrder(Directory * order_option_node);
+    enum tagAssignmentOrder parseOrder(OptionParameter::OptionItem order_option_node);
+    int assignID(Directory & container, const char * category, const char * top, enum tagAssignmentOrder = FCFS);
+}
+
+//---
+
+inline Token::Token(enum tagTokenType type, const char * term)
+{
+    type = type;
+    value = 0;
+    assign(term);
+}
+
+inline Token & Token::operator =(const Token & src)
+{   
+    type = src.type; 
+    value = src.value; 
+    line = src.line;
+    assign(src); 
+    return *this;   
+}
+
+inline bool Token::operator ==(const Token & src) const
+{
+    if(type != src.type)
+        return false;
+    if(type == Token::INTEGER && value != src.value)
+        return false;
+    else
+        if(compare(src) != 0)
+            return false;
+
+    return true;
+}
+
+inline void Token::confirm(const char * str) const
+{
+    if(compare(str) != 0)
+        ExceptionMessage("Illegal token (%) appears during parse process.","å­å¥è§£æã®éä¸­ã§ä¸æ­£ãªãã¼ã¯ã³(%)ãåºç¾ãã¾ãã") << str << throwException;
+}
+
+inline void Parser::getToken(Token & token, enum Token::tagTokenType type, const char * term)
+{
+    getToken(token, type == Token::SPACE);
+
+    if(type == Token::STRING && token == Token::STRINGLITERAL)
+        token.chopLiteral();
+
+    if((type != token) || (term != NULL && token.compare(term) != 0))
+    {
+        lastErrorToken = token;
+        ExceptionMessage("Parse error on reading [%]","å­å¥è§£æã®ã¨ã©ã¼ [%]") << token << throwException;
+    }
+}
+
+inline void Parser::putBack(Token & token)
+{   TokenStack.push_front(token);   }
+
+inline Directory * StaticAPI::find(Directory & container, const Token & token, const char * id)
+{
+    Directory * node;
+
+    node = container.findChild(id,token.c_str(),NULL);
+    if(node == 0)
+        ExceptionMessage("The object %(%) does not exist.","ãªãã¸ã§ã¯ã%(%)ã¯æªå®ç¾©ã§ã") << token << throwException;
+
+    return node;
+}
+
+inline void StaticAPI::dropLastObject(void)
+{
+    if(last != NULL)
+    {
+        last->erase();
+        last = NULL;
+    }
+}
+
+inline Directory * StaticAPI::allocate(Parser & p, Directory & container, const Token & token, const char * category, bool regist)
+{
+    Directory * node = allocate(container, token, category, regist);
+    if(node != 0)
+        (*node)["position"] = p.getStreamLocation();
+    return node;
+}
+
+inline void Parser::setStreamIdentifier(const std::string & id)
+{
+    if(preprocessname.compare(id) != 0)
+        current->identifier = id;
+    else
+        current->identifier = originalname;
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.cpp	(revision 26)
@@ -0,0 +1,182 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: singleton.cpp,v 1.5 2003/12/15 07:32:14 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/singleton.cpp,v 1.5 2003/12/15 07:32:14 takayuki Exp $
+
+#include "base/singleton.h"
+#include "base/testsuite.h"
+
+using namespace std;
+
+    //Singleton éçå¤æ°
+bool SingletonBase::initialize = false;     //åæåæ¸ã¿ãã©ã°
+bool SingletonBase::is_valid   = true;      //ã¤ã³ã¹ã¿ã³ã¹çææåãã©ã°
+
+struct SingletonBase::chain * SingletonBase::top  = 0;  //ãã¹ãã©ã¯ã¿ãã§ã¼ã³ã®ããã
+
+
+/************************************* ãã¹ãã¹ã£ã¼ã *************************************/
+
+#ifdef TESTSUITE
+#include "base/coverage_undefs.h"
+
+    bool throw_DummyType;
+    class DummyType {
+    public:
+        static int counter;
+        int dummy_value;
+        int order;
+        SINGLETON_CONSTRUCTOR(DummyType) throw(bad_alloc) : dummy_value(0), order(++counter)
+        {
+            CHECKPOINT("DummyType::DummyType");
+            if(throw_DummyType)
+                throw bad_alloc();
+        } 
+        ~DummyType(void) throw(int)
+        {
+            CHECKPOINT("DummyType::~DummyType");
+            if(throw_DummyType)
+                throw 0;
+            if(counter-- != order)
+                CHECKPOINT("illegal order");
+        }
+    };
+
+    SINGLETON_WRAPPER(DummyType2, DummyType)
+
+    int DummyType::counter = 0;
+
+    TESTSUITE(main, SingletonBase)
+    {
+        struct chain * old_top  = top;
+
+        top  = 0;
+
+        BEGIN_CASE("getInstance","getInstance") {
+            BEGIN_CASE("1","åä¸ã®ã¤ã³ã¹ã¿ã³ã¹ãçæããã") {
+                TestSuite::clearCheckpoints();
+                DummyType * dummy = Singleton<DummyType>::getInstance();
+                TEST_CASE("1","ã³ã³ã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyType::DummyType"));
+
+                TestSuite::clearCheckpoints();
+                TEST_CASE("2","ã¤ã³ã¹ã¿ã³ã¹ãçæããã", Singleton<DummyType>::getInstance() == dummy);
+                TEST_CASE("3","2åç®ä»¥éã¯ã³ã³ã¹ãã©ã¯ã¿ãèµ·åãããªã", !TestSuite::isReached("DummyType::DummyType"));
+                TEST_CASE("4","ã·ã³ã°ã«ãã³ã®åæåãçµãã£ã¦ãã", SingletonBase::initialize);
+                TEST_CASE("5","ãã¹ãã©ã¯ã¿ãã§ã¼ã³ãæ§æããã¦ãã", SingletonBase::top != 0);
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("final_release","final_release") {
+            BEGIN_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãåé¤ã§ãã") {
+                TEST_CASE("0","[åæ] åé¤ãã¹ãè¦ç´ ããã", SingletonBase::top != 0);
+
+                TestSuite::clearCheckpoints();
+                SingletonBase::final_release();
+
+                TEST_CASE("1","ãã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyType::~DummyType"));
+                TEST_CASE("2","ãã¹ãã©ã¯ã¿ãã§ã¼ã³ããªããªã£ã¦ãã", SingletonBase::top == 0);
+            } END_CASE;
+
+            BEGIN_CASE("2","é çªãæ­£ãã") {
+                DummyType::counter = 0;
+
+                DummyType  * dummy  = Singleton<DummyType>::getInstance();
+                DummyType2 * dummy2 = Singleton<DummyType2>::getInstance();
+
+                TEST_CASE("0","[åæ] çæé åºãæ­£ãã", dummy->order == 1 && dummy2->order == 2);
+
+                TestSuite::clearCheckpoints();
+                SingletonBase::final_release();
+
+                TEST_CASE("1","ãã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("DummyType::~DummyType"));
+                TEST_CASE("2","ãã¹ãã©ã¯ã¿ãã§ã¼ã³ããªããªã£ã¦ãã", SingletonBase::top == 0);
+                TEST_CASE("3","ç ´æ£é åºãæ­£ãã", !TestSuite::isReached("illegal order"));
+            } END_CASE;
+
+        } END_CASE;
+
+        BEGIN_CASE("getInstance","getInstance") {
+            BEGIN_CASE("1","çææã«ä¾å¤") {
+                BEGIN_CASE("1","getInstance()") {
+                    throw_DummyType = true;
+                    bool result = false;
+                    try { Singleton<DummyType>::getInstance(); }
+                    catch(...) { result = true; }
+
+                    TEST_CASE("1","ä¾å¤ã¯èµ·ãã",result);
+                    TEST_CASE("2","ãã¹ãã©ã¯ã¿ãã§ã¼ã³ã«ã¯ä½ãã¤ãªãã£ã¦ããªã", SingletonBase::top == 0);
+                } END_CASE;
+
+                SingletonBase::final_release();
+
+                BEGIN_CASE("2","getInstance(nothrow)") {
+
+                    DummyType * dummy;
+                    throw_DummyType = true;
+                    bool result = true;
+                    try { dummy = Singleton<DummyType>::getInstance(nothrow); }
+                    catch(...) { result = false; }
+
+                    TEST_CASE("1","ä¾å¤ã¯èµ·ããªã",result);
+                    TEST_CASE("2","NULLãè¿ã", dummy == 0);
+                    TEST_CASE("3","ãã¹ãã©ã¯ã¿ãã§ã¼ã³ã«ã¯ä½ãã¤ãªãã£ã¦ããªã", SingletonBase::top == 0);
+                } END_CASE;
+            } END_CASE;
+        } END_CASE;
+
+        top  = old_top;
+    }
+
+#endif
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/singleton.h	(revision 26)
@@ -0,0 +1,340 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: singleton.h,v 1.12 2004/09/06 15:00:49 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/singleton.h,v 1.12 2004/09/06 15:00:49 honda Exp $
+
+#include "base/testsuite.h"
+
+#ifndef SINGLETON_H
+#define SINGLETON_H
+
+#ifdef _MSC_VER
+#  pragma warning(disable:4290) //C++ ã®ä¾å¤ã®æå®ã¯ç¡è¦ããã¾ããé¢æ°ã __declspec(nothrow) ã§ãªããã¨ã®ã¿è¡¨ç¤ºããã¾ãã
+#  pragma warning(disable:4291) //åæåã³âããä¾å¤ãã¹ã­âããã¨ã'new' æ¼ç®å­ãä½¿ç¨ãã¦ããã¨ã¡ã¢ãªãè§£æ¾ãã¾ããã
+#  pragma warning(disable:4786) //ãããã°æ
+å ±ã§è­å¥å­ã 255 æå­ã«åãæ¨ã¦ããã¾ããã
+#endif
+
+#include <new>
+#include <stdexcept>
+#include <cstdlib>
+
+/*
+ *  ã·ã³ã°ã«ãã³ãã¿ã¼ã³ å®è£
+
+ */
+
+    //ã·ã³ã°ã«ãã³åºåºã¯ã©ã¹
+    //  #gccãfriend class Singletonãé£ã£ã¦ãããªãã®ã§åºåºãä½ã
+class SingletonBase {
+public:
+        //ãã¹ãã©ã¯ã¿ã®ãã§ã¼ã³
+    struct chain {
+        struct chain * next;
+        void (*destructor)(void);
+    };
+
+        //ã·ã³ã°ã«ãã³ã§ã¤ã³ã¹ã¿ã³ã¹ãçæãããã¨ãç¤ºãããã®ã¯ã©ã¹
+        //    ãã®ã¯ã©ã¹ã¯Singletonããããå®ä½åã§ããªãã®ã§ã
+        //    ã»ãã®ã¯ã©ã¹ãããããå¼æ°ã«ãã¤ã³ã³ã¹ãã©ã¯ã¿ãä½¿ç¨ãããã¨ã¯ã§ããªã
+    class SingletonConstructionLocker
+    {
+    friend class SingletonBase;
+    protected:
+        SingletonConstructionLocker() {}
+    };
+
+private:
+    static bool   initialize;       //åæåæ¸ã¿ã (atexitãå¼ãã ãã©ãã)
+    static bool   is_valid;         //çæã«å¤±æããã·ã³ã°ã«ãã³ã¬ãããã©ãã
+    static struct chain * top;      //ãã¹ãã©ã¯ã¿ãã§ã¼ã³
+
+        //ãã¹ãã©ã¯ã¿ã®èµ·å
+    static void final_release(void) throw()
+    {
+            //å
+é ­ããåé¤ (å
+å
+¥ãå¾åºã)
+        while(top != 0) {
+            struct chain * node = top;
+            top = node->next;
+
+            (*node->destructor)();
+
+            delete node;
+        }
+    }
+
+protected:
+        //ãã§ã¼ã³ã«ãã¹ãã©ã¯ã¿ãè¿½å 
+    static bool addDestructor(void (* destructor)(void)) throw()
+    {
+        bool result = false;
+        struct SingletonBase::chain * node = new(std::nothrow) struct SingletonBase::chain;
+        if(node != 0) {
+
+                //æ°ããè¦ç´ ãå
+é ­ã«è¿½å 
+            node->next       = top;
+            node->destructor = destructor;
+            
+            top = node;
+
+            result = true;
+
+                //è¦ç´ ç ´æ£ã®ããã«æå¾ã«ç ´æ£ã«ã¼ãã³ãèµ·åããã
+            if(!initialize) {
+                atexit(final_release);
+                initialize = true;
+            }
+        }
+        return result;
+    }
+
+        //SingletonConstructionLockerãã¡ã¯ããª
+    inline static SingletonConstructionLocker getLocker(void)
+    {   return SingletonConstructionLocker();   }
+
+public:
+        //çæã«å¤±æããã·ã³ã°ã«ãã³ããªããã¨ãåå¾
+    static bool isValid(void) throw()
+    {   return is_valid;   }
+
+#ifdef TESTSUITE
+        /*
+         *   ã³ã³ãã­ã¹ããã§ã¼ã³ (ãã¹ãç¨ã·ã³ã°ã«ãã³ã³ã³ãã­ã¹ãéé¿ãã§ã¼ã³)
+         */
+    class ContextChain {
+    protected:
+        struct chain {
+            struct chain * next;
+            void * context;
+            void (*restore)(void * & context) throw();
+            void (*renew)(void) throw();
+            void (*clear)(void);
+        } * top;
+
+    public:
+        ContextChain(void) throw() : top(0)
+        {}
+
+        ~ContextChain(void) throw()
+        {   restoreContext();   }
+
+            /* ã³ã³ãã­ã¹ãã®å¾©å¸° */
+        void restoreContext(void) throw()
+        {
+            while(top != 0) {
+                struct chain * node = top;
+                top = top->next;
+
+                (*node->restore)(node->context);
+                delete node;
+            }
+        }
+
+            /* å
+¨ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ãåçæ */
+        void renewInstance(void) throw(std::bad_alloc)
+        {
+            struct chain * node = top;
+            while(node != 0) {
+                (*node->renew)();
+                node = node->next;
+            }
+        }
+            
+            /* å
+¨ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£ */
+        void clearInstance(void) throw(std::bad_alloc)
+        {
+            struct chain * node = top;
+            while(node != 0) {
+                (*node->clear)();
+                node = node->next;
+            }
+        }
+            
+            /* ã³ã³ãã­ã¹ãã®éé¿ */
+        template<class T> void saveContext(void) throw(std::bad_alloc)
+        {
+            struct chain * node = new struct chain;
+
+            node->next = top;
+            node->restore = reinterpret_cast<void(*)(void*&)>(Singleton<T>::restoreContext);
+            node->renew   = Singleton<T>::renewInstance;
+            node->clear   = Singleton<T>::clearInstance;
+
+            Singleton<T>::saveContext(reinterpret_cast<Singleton<T>::Context &>(node->context));
+
+            top = node;
+        }
+    };
+#endif
+
+
+    TESTSUITE_PROTOTYPE(main)
+};
+
+
+template<class T>
+class Singleton : SingletonBase
+{
+protected:
+    Singleton(void);
+    ~Singleton(void);
+
+    static T * instance;
+
+        //ãã¹ãã©ã¯ã¿
+    static void destructor(void) throw()
+    {
+        if(instance != 0) {
+            try{ delete instance; } catch(...) {}
+            instance = 0;
+        }
+    }
+
+        //ã¤ã³ã¹ã¿ã³ã¹ã®çæ (ã¤ã³ã¹ã¿ã³ã¹çæ + ãã¹ãã©ã¯ã¿ç»é² + ã¨ã©ã¼å¦ç)
+    static T * createInstance(std::nothrow_t) throw()
+    {
+        T * instance = 0;
+        try {
+            instance = new(std::nothrow) T(getLocker());
+
+            if(instance != 0) {
+                if(!addDestructor(destructor))
+                    throw false;    //catchç¯ãå®è¡ãããã
+            }
+        }
+        catch(...) {
+            if(instance != 0) {
+                try { delete instance; } catch(...) {}
+                instance = 0;
+            }
+        }
+        return instance;
+    }
+
+        //ã¤ã³ã¹ã¿ã³ã¹çæ (bad_allocä¾å¤ãã¹ã­ã¼ããå®è£
+)
+    static T * createInstance(void) throw(std::bad_alloc)
+    {
+        instance = createInstance(std::nothrow);
+        if(instance == 0)
+            throw std::bad_alloc();
+        return instance;
+    }
+
+public:
+        //ã¤ã³ã¹ã¿ã³ã¹ã®åå¾
+    inline static T * getInstance(void) throw(std::bad_alloc)
+    {
+        if(instance == 0)
+            instance = createInstance();
+        return instance;
+    }
+
+        //ã¤ã³ã¹ã¿ã³ã¹ã®åå¾
+    inline static T * getInstance(std::nothrow_t) throw()
+    {
+        if(instance == 0)
+            instance = createInstance(std::nothrow);
+        return instance;
+    }
+
+#ifdef TESTSUITE    /* ãã¹ãç¨ */
+
+    typedef T * Context;    //éé¿ç¨
+
+        //æ°ããã¤ã³ã¹ã¿ã³ã¹ã®çæ
+    static void renewInstance(void) throw(std::bad_alloc)
+    {
+        destructor();                     //ä»ã®ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£
+        instance = new T(getLocker());    //æ°ããã¤ã³ã¹ã¿ã³ã¹ãçæ (ãã¹ãã©ã¯ã¿ãç»é²ããã¦ãã¾ãã®ã§createInstanceãå¼ãã§ã¯ãããªã)
+    }
+
+        //ã¤ã³ã¹ã¿ã³ã¹ç ´æ£
+    static void clearInstance(void) throw()
+    {   destructor();   }
+
+        //ã³ã³ãã­ã¹ãéé¿
+    static void saveContext(Context & context) throw()
+    {
+        context  = instance;
+        instance = 0;
+    }
+
+        //ã³ã³ãã­ã¹ãå¾©å¸°
+    static void restoreContext(Context & context) throw()
+    {
+        destructor();           //ä»ã®ã¤ã³ã¹ã¿ã³ã¹ãç ´æ£
+        instance = context;     //éé¿ããã¤ã³ã¹ã¿ã³ã¹ãå¾©å¸°
+    }
+
+#endif /* TESTSUITE */
+
+};
+
+
+
+    //Singleton éçå¤æ°
+template<class T> T * Singleton<T>::instance = 0;
+
+#define SINGLETON_CONSTRUCTOR(x)  explicit x(const SingletonBase::SingletonConstructionLocker &)
+#define SINGLETON_CONSTRUCTOR_(x) explicit x(const SingletonBase::SingletonConstructionLocker & _singleton)
+
+#define SINGLETON_WRAPPER(derived, base) class derived : public base { public: SINGLETON_CONSTRUCTOR_(derived) throw() : base(_singleton) {} };
+
+#endif /* SINGLETON_H */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.cpp	(revision 26)
@@ -0,0 +1,400 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: testsuite.cpp,v 1.3 2003/12/15 07:32:14 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/base/testsuite.cpp,v 1.3 2003/12/15 07:32:14 takayuki Exp $
+
+#include "base/testsuite.h"
+
+#include "base/coverage_defs.h"
+#include "base/coverage_undefs.h"
+
+#ifdef TESTSUITE
+
+#undef  main           //ãã¹ãã¹ã£ã¼ãç¨ã®mainãå®ç¾©ããã®ã§undefãã
+#undef  cin
+#undef  cout
+#undef  cerr
+
+#include <stdlib.h>     //EXIT_SUCCESS|EXIT_FAILUREç¨
+#include <fstream>      //ä½æ¥­é¢æ°ç¨
+#include <cstdio>
+#include <iomanip>
+
+using namespace std;
+
+/* ã¹ããªã¼ã å
+¥æãç¨ã®å¤æ°å®ç¾© */
+namespace std {
+    stringstream _cin;
+    stringstream _cout;
+    stringstream _cerr;
+}
+
+/*
+ *  ãã¹ãã¹ã£ã¼ãã®å®è¡å¶å¾¡ã¯ã©ã¹ ; class TestSuiteControl
+ */
+
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+TestSuiteControl::TestSuiteControl(ostream & _out, const char * _pattern) : target_session(_pattern), out(&_out), fail(false), verbose(false), case_count(0), fail_count(0)
+{}
+
+    //ã·ããªãªåã®åå¾
+string TestSuiteControl::get_suitename(const char * name) const
+{
+    string result;
+    list<string>::const_iterator scope;
+
+    scope = session.begin();
+    while(scope != session.end()) {
+        result += *scope;
+        result += '.';
+        ++ scope;
+    }
+
+    if(name != NULL)
+        result += name;
+
+    return result;
+}
+
+
+    //ãã¹ãã·ããªãªã®è¡¨é¡è¨­å® (è¿å´å¤ : å®è¡ããå¿
+è¦ããããã©ãã)
+bool TestSuiteControl::_enter_case(const char * session, const char * description, const char * filename, long lineno)
+{
+    bool         result;
+    stringstream buf;
+
+        //è¡¨é¡ã®è¨­å®
+    current_session.assign(get_suitename(session));
+
+        //è©³ç´°æ
+å ±ã®è¨­å®
+    if(description != 0)
+        buf << description;
+
+        //ãã¡ã¤ã«å (filename:lineno) ã®çæ
+    if(filename != 0) {
+        string            work(filename);
+        string::size_type pos;
+
+            //ãã«ãã¹ã§æ¥ããç­ãåã
+        pos = work.find_last_of("/\\");
+        if(pos != string::npos)
+            work.erase(0, pos + 1);
+
+        buf << '(' << work;
+        if(lineno != -1)
+            buf << ':' << lineno;
+        buf << ')';
+    }
+    current_description = buf.str();
+    
+        //å®è¡ããå¿
+è¦ã®æç¡ã®ç¢ºèª
+    result = (target_session.empty() || current_session.find(target_session) != string::npos);
+
+    if(result) {
+        if(verbose) {
+            string indent;
+            indent.assign(2 * this->session.size(), ' ');
+            (*out) << indent << '[' << session << "] " << current_description << endl;
+
+            //(*out) << '[' << current_session << "] " << current_description << endl;
+        }
+
+        enter_session(session);
+        ++ case_count;
+    }
+
+    return result;
+}
+
+    //ãã¹ãã»ãã·ã§ã³å (ã·ããªãªãã¬ãã£ã¯ã¹) ã®è¨­å®
+void TestSuiteControl::enter_session(const string & _session)
+{   session.push_back(_session);   }
+
+    //ãã¹ãã»ãã·ã§ã³å (ã·ããªãªãã¬ãã£ã¯ã¹) ã®è§£é¤
+void TestSuiteControl::leave_session(void)
+{   session.pop_back();   }
+
+    //ãã¹ãã·ããªãªã®å¤±æå ±å
+void TestSuiteControl::fail_in_suite(string msg)
+{
+    fail = true;
+    (*out) << "Failed : [" << current_session << "]\n   " << current_description << endl;
+    if(!msg.empty())
+        (*out) << "     #" << msg << endl;
+    ++ fail_count;
+}
+
+
+    //ã¹ã£ã¼ãæ
+å ±ã³ã³ã¹ãã©ã¯ã¿
+TestSuite::SuiteContainerNode::SuiteContainerNode(const char * _session, SuiteFunction _suite) : session(_session), suite(_suite)
+{}
+
+    //ã¹ã£ã¼ãæ
+å ±ã³ã³ã¹ãã©ã¯ã¿
+TestSuite::SuiteContainerNode::SuiteContainerNode(const SuiteContainerNode & src) : session(src.session), suite(src.suite)
+{}
+
+    //ã¹ã£ã¼ãã®å®è¡
+bool TestSuite::SuiteContainerNode::invoke(TestSuiteControl & suite_control)
+{
+    if(suite != 0) {
+        suite_control.enter_session(session);
+        (*suite)(suite_control);
+        suite_control.leave_session();
+    }
+
+    return !suite_control.is_failed();
+}
+
+/*
+ *  ãã¹ãã¹ã£ã¼ãå®è¡ã¯ã©ã¹
+ */
+
+    //ã³ã³ã¹ãã©ã¯ã¿
+TestSuite::TestSuite(const char * session, SuiteFunction suite) : fail(false)
+{   Singleton<SuiteContainer>::getInstance()->push_back(SuiteContainerNode(session, suite));   }
+
+
+    //ãã¹ãã©ã¯ã¿
+TestSuite::~TestSuite(void)
+{}
+
+
+    //ãã¹ãã¹ã£ã¼ãã®å®è¡  (è¿å´å¤:ã¹ã£ã¼ããå®è¡ãããã©ãã)
+bool TestSuite::performTestSuite(int flags, const char * pattern)
+{
+    bool                        result;
+    TestSuiteControl            suite_control(cerr, pattern);
+    SuiteContainer *            container;
+    SuiteContainer::iterator    scope;
+
+        //å®è¡ã¹ã£ã¼ããªã¹ãã®åç
+§
+    container = Singleton<SuiteContainer>::getInstance();
+
+        //åé·åºåè¨­å®
+    if( (flags & VERBOSE) != 0 )
+        suite_control.set_verbose();
+
+        //å
+¨ç»é²ã¹ã£ã¼ãã®å®è¡
+    scope = container->begin();
+    while(scope != container->end()) {
+
+        result = scope->invoke(suite_control);
+
+            //ãã¡ãã¡æ­¢ãã or éãã§å®è¡
+        if( !result && (flags & THROUGH) == 0)
+            break;
+
+        ++ scope;
+    }
+
+        //ã¨ã©ã¼ããªããã°OKè¡¨ç¤º
+    if(!suite_control.is_failed())
+        cerr << "OK (" << suite_control.countCases() << " passed)" << endl;
+    else
+        cerr << "Failed (" << suite_control.countFails() << '/' << suite_control.countCases() << ')' << endl;
+
+    return !suite_control.is_failed();    //ã¹ã£ã¼ããæ­£å¸¸ã«å®è¡ã§ãããtrue
+}
+
+
+    //ç»é²ããã¦ãããããã¬ãã«ã¹ã£ã¼ãã®ä¸è¦§è¡¨ç¤º
+void TestSuite::listTestSuite(void)
+{
+    SuiteContainer::iterator  scope;
+    int                       count;
+    SuiteContainer *          container;
+
+    count     = 0;
+    container = Singleton<SuiteContainer>::getInstance();
+    
+    scope = container->begin();
+    while(scope != container->end()) {
+        cout << "  ";
+        cout.width(3);
+        cout << count << ':' << scope->getName() << endl;
+
+        ++ count;
+        ++ scope;
+    }
+    cout << "Total " << count << " sets of suite exist.\n";
+}
+
+
+
+/*
+ *   ãã§ãã¯ãã¤ã³ãç¨é¢æ°
+ */
+
+bool TestSuite::isReached(std::string checkname)
+{
+    set<string>::iterator scope;
+
+    scope = Singleton<Checkpoint>::getInstance()->find(checkname);
+
+    return scope != Singleton<Checkpoint>::getInstance()->end();
+}
+
+
+/*
+ *   ãã¹ãã¹ã£ã¼ãå®è¡ç¨ä½æ¥­é¢æ°
+ */
+
+    //ãã¡ã¤ã«å
+å®¹æ¯è¼
+bool TestSuite::compareFileContents(const char * filename, const char * filecontents, bool _remove)
+{
+    fstream file(filename,ios::in);
+    int     ch;
+    bool    result = true;
+
+        //å
+å®¹ãã§ãã¯
+    while(result && *filecontents != '\x0' && file.good()) {
+        ch = file.get();
+
+        if(ch != (int)*filecontents)
+            result = false;
+
+        ++ filecontents;
+    }
+
+        //EOFã«éãã¦ããã
+    if(result) {
+        if(!file.good() || file.get() != EOF)
+            result = false;
+    }
+
+    file.close();
+
+    if(_remove)
+        ::remove(filename);
+
+    return result;
+}
+
+    
+/*
+    *   ãã¹ãã¹ã£ã¼ãå®è¡ç¨mainé¢æ°
+    */
+int main(int argc, char ** argv)
+{
+    int    result;
+    int    pos;
+    int    flags;
+    string category;
+
+    flags = TestSuite::DEFAULT;
+
+    for(pos = 1; pos < argc; ++ pos) {
+        if(*argv[pos] == '-') {
+            switch(argv[pos][1]) {
+            case 'v': 
+                flags |= TestSuite::VERBOSE;
+                break;
+            case 'V': 
+                flags &= ~TestSuite::VERBOSE;
+                break;
+            case 't': 
+                flags |= TestSuite::THROUGH;
+                break;
+            case 'T': 
+                flags &= ~TestSuite::THROUGH;
+                break;
+            case 'l': 
+                TestSuite::listTestSuite();
+                return EXIT_SUCCESS;
+            case 'h':
+                cerr << "Usage : program (option) (suite)\n"
+                            " -v, -V  : Verbose output on(-v) / off(-V)\n"
+                            " -t, -T  : Go through with the suite, on(-t) / off(-T)\n"
+                            " -l      : List the top level suites\n";
+                return EXIT_SUCCESS;
+            default:
+                cerr << "Unknown option [" << argv[pos] << "]\n";
+                return EXIT_FAILURE;
+            }
+        }
+        else {
+            if(!category.empty()) {
+                cerr << "Two or more category specified.\n";
+                return EXIT_FAILURE;
+            }
+            category.assign(argv[pos]);
+        }
+    }
+
+    result = EXIT_FAILURE;
+    if(TestSuite::performTestSuite(flags, category.c_str()))
+        result = EXIT_SUCCESS;
+
+#ifdef COVERAGE
+    fstream fout("coverage.txt",ios::out);
+    if(fout.is_open()) {
+        Coverage::printCoverage(fout);
+        fout.close();
+    }
+#endif
+
+    return result;
+}
+
+#endif //TESTSUITE
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/base/testsuite.h	(revision 26)
@@ -0,0 +1,350 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: testsuite.h,v 1.4 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+/*
+ *   ãã¹ãã¹ã£ã¼ãå®è¡è£å© ã¯ã©ã¹/ãã¯ã­ã©ã¤ãã©ãª
+ */
+
+// $Header: /home/CVS/configurator/base/testsuite.h,v 1.4 2003/12/20 06:51:58 takayuki Exp $
+
+
+#ifdef TESTSUITE
+
+    //ã·ããªãªçµç«¯ãã¯ã­(Exceptionã¯ã©ã¹ã®æç¡ã«ãã£ã¦ä¸­èº«ãæ¿ãããã®ã§ããã«ãã)
+#  undef END_CASE
+#  ifdef EXCEPT_H
+#    define END_CASE }catch(TestSuite::Fail & x) { _suite_control.fail_in_suite(x.getMessage()); } catch(Exception & exc) { _suite_control.fail_in_suite(string("ä¸æãªä¾å¤ : ") + exc.getDetails()); } catch(...) { _suite_control.fail_in_suite("ãã¹ãå®è¡ä¸­ã«ä¸æãªä¾å¤ãåãåã£ãããä¸­æ­ããã"); } _suite_control.leave_case(); }
+#  else
+#    define END_CASE }catch(TestSuite::Fail & x) { _suite_control.fail_in_suite(x.getMessage()); } catch(...) { _suite_control.fail_in_suite("ãã¹ãå®è¡ä¸­ã«ä¸æãªä¾å¤ãåãåã£ãããä¸­æ­ããã"); } _suite_control.leave_case(); }
+#  endif
+
+#endif
+
+
+#ifndef TESTSUITE_H
+#define TESTSUITE_H
+
+    //ãã¹ãã¹ã£ã¼ããããããã©ãã
+//#define TESTSUITE
+
+
+#if defined(TESTSUITE) //&& defined(_DEBUG)
+
+    //ã¹ããªã¼ã ã®å
+å®¹ããã¹ãã§ä½¿ãããã®ã§å
+¥ãæ¿ãã
+#include <iostream>
+#define cin  _cin
+#define cout _cout
+#define cerr _cerr
+
+#include <sstream>
+
+namespace std {
+    extern stringstream _cin;
+    extern stringstream _cout;
+    extern stringstream _cerr;
+}
+
+#include <string>
+#include <list>
+#include <set>
+#include <map>
+
+
+    //æ¨æºã®ãã¹ãã¹ã£ã¼ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ç¨ãã¯ã­
+#define TESTSUITE_PROTOTYPE(suite) \
+    public: \
+        static void test_suite_##suite(TestSuiteControl & _suite_control);
+
+
+    //æ¨æºã®ãã¹ãã¹ã£ã¼ãé¢æ°ã®å®ç¾©ç¨ãã¯ã­ (ããã¨ã¹ã£ã¼ãå®è¡ã®æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®å®ç¾©åã¨åãååã«ãã)
+#undef TESTSUITE
+#define TESTSUITE(suite,cls) \
+    TestSuite TestSuite_##cls##_##suite(#cls "(" #suite ")", cls::test_suite_##suite); \
+    void cls::test_suite_##suite(TestSuiteControl & _suite_control)
+
+#define TESTSUITE_(suite,cls,spr) \
+    TestSuite TestSuite_##spr##_##cls##_##suite(#spr "::" #cls "(" #suite ")", spr::cls::test_suite_##suite); \
+    void spr::cls::test_suite_##suite(TestSuiteControl & _suite_control)
+
+    //å¤éå®è¡é²æ­¢ç¨ãã¯ã­
+#define PROCEED_ONCE static bool _proceed_once_flag_ = false; if(_proceed_once_flag_) return; else _proceed_once_flag_ = true;
+
+    //ã·ããªãªéå§ãã¯ã­
+#define BEGIN_CASE(x,y) if(_suite_control.enter_case(x,y,__FILE__,__LINE__)) { try {
+
+    //ã·ããªãªå¤±æãã¯ã­
+#define TEST_FAIL     throw TestSuite::Fail();
+#define TEST_FAIL_(x) throw TestSuite::Fail(x);
+
+    //ç­ãã·ããªãªç¨ãã¯ã­
+#define TEST_CASE(x,y,z)   BEGIN_CASE(x,y) { if(!(z)) TEST_FAIL;    } END_CASE
+#define TEST_CASE_(x,y,z,u) BEGIN_CASE(x,y) { if(!(z)) TEST_FAIL_(u); } END_CASE
+
+    //å°éå¤å®ãã¯ã­
+#define CHECKPOINT(x) TestSuite::check(x);
+
+    //ã·ã³ã°ã«ãã³éé¿
+#define SINGLETON(x)    Singleton<x>::Context context;     Singleton<x>::saveContext(context);
+#define SINGLETON_(x,y) Singleton<x>::Context context_##y; Singleton<x>::saveContext(context_##y);
+
+/*
+ *  ãã¹ãã¹ã£ã¼ãã®å®è¡å¶å¾¡ã¯ã©ã¹
+ */
+class TestSuiteControl {
+protected:
+    std::list<std::string> session;         //ç¾å¨ã®ã»ãã·ã§ã³åã¹ã¿ãã¯
+
+    std::string    target_session;          //å¦çå¯¾è±¡ã»ãã·ã§ã³å
+    std::string    current_session;         //ç¾å¨ã®ã¹ã£ã¼ãã·ããªãªå
+    std::string    current_description;     //ç¾å¨ã®ã¹ã£ã¼ãã·ããªãªã®èª¬æ
+    std::ostream * out;                     //èª¬æã®åºåå
+
+    bool           fail;                    //å¤±æããã·ããªãªããã£ããã©ãã
+    bool           verbose;                 //åé·åºåãããå¦ã
+
+    unsigned int   case_count;              //ã±ã¼ã¹ã®ç·æ°
+    unsigned int   fail_count;              //å¤±æããã±ã¼ã¹ã®æ°
+
+        //ã·ããªãªåã®åå¾
+    std::string get_suitename(const char * name = "") const;
+
+
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿
+    TestSuiteControl(std::ostream & _out, const char * _pattern = "");
+
+        //ãã¹ãã·ããªãªã®è¡¨é¡è¨­å® (è¿å´å¤ : å®è¡ããå¿
+è¦ããããã©ãã)
+    bool        _enter_case(const char * session, const char * description, const char * filename = "", long lineno = -1);
+    inline void leave_case(void) { leave_session(); }
+
+        //ã·ã³ã°ã«ã¹ãããå®è¡æã«ä¸­ã«é£ã³è¾¼ã¾ãªãããã®ã©ãã
+    inline bool enter_case(const char * session, const char * description, const char * filename = "", long lineno = -1)
+    {   return _enter_case(session, description, filename, lineno);   }
+
+        //ãã¹ãã»ãã·ã§ã³å (ã·ããªãªãã¬ãã£ã¯ã¹) ã®è¨­å®/è§£é¤
+    void enter_session(const std::string & session);
+    void leave_session(void);
+
+        //ãã¹ãã·ããªãªã®å¤±æå ±å
+    void fail_in_suite(std::string msg="");                                           
+
+        //å¤±æããã·ããªãªã®æç¡ã®ç¢ºèª
+    inline bool is_failed(void) const
+    {   return fail;   }
+
+        //åé·åºåã®è¨­å®
+    inline void set_verbose(bool _verbose = true)
+    {   verbose = _verbose;   }
+
+        //å®è¡ãããã¹ãã±ã¼ã¹ã®æ°
+    inline unsigned int countCases(void) const
+    {   return case_count;   }
+
+        //å¤±æãããã¹ãã±ã¼ã¹ã®æ°
+    inline unsigned int countFails(void) const
+    {   return fail_count;   }
+};
+
+    //ã·ã³ã°ã«ãã³ã®ãã¹ãã¹ã£ã¼ãã®ããã«ããã§ã¤ã³ã¯ã«ã¼ã
+#include "base/singleton.h"
+
+/*
+ *  ãã¹ãã¹ã£ã¼ãå®è¡ã¯ã©ã¹
+ */
+class TestSuite {
+public:
+    class Fail  //ãã¹ãã±ã¼ã¹å¤±æéç¥ã«ç¨ããä¾å¤ç¨ã¯ã©ã¹
+    {
+    protected:
+        std::string msg;
+
+    public:
+            //ã³ã³ã¹ãã©ã¯ã¿
+        Fail(std::string src = "") throw() : msg(src) {}
+
+            //ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿
+        Fail(const Fail & src) throw() : msg(src.msg) {}
+        
+            //ã¡ãã»ã¼ã¸ãåå¾
+        inline const std::string & getMessage(void) const throw()
+        {   return msg;   }
+    };
+
+    typedef void (*SuiteFunction)(TestSuiteControl &);
+
+        /* ã¯ã©ã¹æ¯ã®ãã¹ãã¹ã£ã¼ãã«é¢ããæ
+å ±ãä¿æããã¯ã©ã¹ */
+    class SuiteContainerNode
+    {
+    protected:
+        std::string   session;
+        SuiteFunction suite;
+    
+    public:
+            //ã¹ã£ã¼ãæ
+å ±ã³ã³ã¹ãã©ã¯ã¿
+        SuiteContainerNode(const char * session, SuiteFunction suite);
+        SuiteContainerNode(const SuiteContainerNode & src);
+
+            //ã¹ã£ã¼ãã®å®è¡
+        bool invoke(TestSuiteControl & suite_control);
+
+            //ã¹ã£ã¼ãåã®åå¾
+        inline const std::string & getName(void) const throw()
+        {   return session;   }
+    };
+
+        //å®è¡ãã¹ããã¹ãã¹ã£ã¼ããæã¤ã¤ã³ã¹ã¿ã³ã¹ã®ãªã¹ãã®å
+    class SuiteContainer : public std::list<SuiteContainerNode>
+    {   public: SINGLETON_CONSTRUCTOR(SuiteContainer) {}   };
+
+        /* å®è¡ãªãã·ã§ã³ */
+    enum tagPerformOption {
+        THROUGH = 1,    //ãã¹ã¦éãã§å®è¡ãã (ãã¡ãã¡æ­¢ããªã)
+        VERBOSE = 2,    //åé·åºå
+
+        DEFAULT = THROUGH
+    };
+
+        /* ãã§ãã¯ãã¤ã³ããæ ¼ç´ããã¯ã©ã¹ */
+    class Checkpoint : public std::set<std::string>
+    { public: SINGLETON_CONSTRUCTOR(Checkpoint) throw() {} };
+
+protected:
+    bool            fail;       //æå¾ã«å®è¡ããã¹ã£ã¼ããå¤±æãããã©ãããä¿æããå¤æ°
+    static bool     starvated;  //newã«å¤±æãããã©ãã
+
+public:
+        //ã³ã³ã¹ãã©ã¯ã¿
+    TestSuite(const char * session, SuiteFunction suite);
+
+        //ãã¹ãã©ã¯ã¿
+    ~TestSuite(void);
+
+        //ãã¹ãã¹ã£ã¼ãã®å®è¡  (è¿å´å¤:ã¹ã£ã¼ããæ­£ããå®è¡ããããã©ãã)
+    static bool performTestSuite(int flags = THROUGH, const char * pattern = "");
+
+        //ãã¹ãã¹ã£ã¼ãã®å®è¡ (å¼æ°å¤æ)
+    inline static bool performTestSuite(const char * pattern)
+    {   return performTestSuite(THROUGH, pattern);   }
+
+        //ç»é²ããã¦ãããããã¬ãã«ã¹ã£ã¼ãã®ä¸è¦§è¡¨ç¤º
+    static void listTestSuite(void);
+
+        /*
+         *   ãã§ãã¯ãã¤ã³ãç¨é¢æ°
+         */
+
+        //ééãããã¨ãå ±å
+    inline static void check(std::string checkname)
+    {   Singleton<Checkpoint>::getInstance()->insert(checkname);   }
+
+        //ããã¾ã§ã«åããå ±åãåé¤
+    inline static void clearCheckpoints(void)
+    {   Singleton<Checkpoint>::getInstance()->clear();   }
+
+        //ãã®ä½ç½®ã«æ¥ãã
+    static bool isReached(std::string checkname);
+
+        /*
+         *   ãã¹ãç¨ä½æ¥­é¢æ°
+         */
+
+        //ãã¡ã¤ã«ã®ä¸­èº«ãéãã¦ãã§ãã¯ãã
+    static bool compareFileContents(const char * filename, const char * filecontents, bool remove = true);
+};
+
+/*
+ *  ã¹ã£ã¼ãå®è¡ç¨mainé¢æ°
+ */
+extern int main(int argc, char ** argv);
+
+#define main pseudo_main    //éå¸¸ã®mainãå·®ãæã
+
+    //ç°¡æã½ããã¦ã§ã¢ãã¬ã¼ã¹æ©è½ã®ã¤ã³ã¯ã«ã¼ã
+#include "base/coverage_defs.h"
+
+#else
+
+/*********************************************************************************************/
+/*
+ *  ãã¹ããå®è¡ããªãã¨ãã®ã¯ã©ã¹å®ç¾©
+ */
+
+#define TESTABLEOBJECT(x)
+#define TESTABLEOBJECT_(x,y)
+#define TESTSUITE_PROTOTYPE(x)
+#define TESTSUITE_(x,y)
+#define PROCEED_ONCE
+
+#define BEGIN_CASE(x,y)
+#define END_CASE
+#define TEST_FAIL
+
+#define CHECKPOINT(x)
+
+/*
+    *  ãã¹ãã¹ã£ã¼ãå®è¡ã¯ã©ã¹
+    */
+class TestSuite {
+public:
+        //ãã¹ãã¹ã£ã¼ãã®å®è¡  (è¿å´å¤:ã¹ã£ã¼ããæ­£ããå®è¡ãããã©ãã)
+    inline static bool performTestSuite(void) { return true; };
+};
+
+#endif
+
+#endif /* TESTSUITE_H */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_check.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_check.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_check.cpp	(revision 26)
@@ -0,0 +1,818 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_check.cpp,v 1.25 2005/07/06 01:29:21 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_check.cpp,v 1.25 2005/07/06 01:29:21 honda Exp $
+
+#include "base/defs.h"
+#include "jsp/jsp_defs.h"
+#include "base/message.h"
+#include "base/component.h"
+#include "base/filecontainer.h"
+
+#include <fstream>
+#include <iomanip>
+
+class ConfigurationChecker : public Component
+{
+public:
+
+    enum tagCheckLevel
+    {
+        UNKNOWN    = 0,
+        LAZY       = 1,     /* è´å½ç (è¡ãéãæ¹é é²æ­¢ç¨)  */
+        STANDARD   = 2,     /* ITRONä»æ§ã®ç¯å² (æ¹é ãè¨±å®¹) */
+        TOPPERS    = 4,     /* TOPPERS/JSPã®ç¯å²å
+          */
+        RESTRICTED = 8,     /* çã£ç«¯ããæã¾ãã           */
+
+        NORMAL     = 8
+    };
+
+protected:
+    enum tagCheckLevel current_level;
+
+    unsigned int error_count;
+    std::string banner;
+
+    void set_banner(Directory &, Formatter , const char *, int);
+    void notify(enum tagCheckLevel, Formatter , bool = true);
+
+    bool check_taskblock(Directory &, FileContainer *);
+    bool check_semaphoreblock(Directory &, FileContainer *);
+    bool check_eventflagblock(Directory &, FileContainer *);
+    bool check_dataqueueblock(Directory &, FileContainer *);
+    bool check_mailboxblock(Directory &, FileContainer *);
+    bool check_fixed_memorypoolblock(Directory &, FileContainer *);
+    bool check_cyclic_handlerblock(Directory &, FileContainer *);
+    bool check_interrupt_handlerblock(Directory &, FileContainer *);
+    bool check_exception_handlerblock(Directory &, FileContainer *);
+
+    virtual void parseOption(Directory &);
+    virtual void body(Directory &);
+
+public:
+    ConfigurationChecker(void) throw();
+    ~ConfigurationChecker(void) throw() {}
+};
+
+//------------------------------------------------------
+using namespace std;
+
+static ConfigurationChecker  instance_of_ConfigurationChecker;
+
+//------------------------------------------------------
+    //ã¿ã¼ã²ããã®ååã®åãããå¤§ããªåã®å®ç¾©
+    // (æ³¨) å¤æ¯è¼, æ¼ç®ãå¯è½ãªåã§ãããã¨
+
+typedef          int  DT_INT;
+typedef unsigned int  DT_UINT;
+typedef unsigned long DT_FP;
+typedef unsigned long DT_VP_INT;
+typedef unsigned long DT_VP;
+typedef          long DT_RELTIM;
+
+//------------------------------------------------------
+
+ConfigurationChecker::ConfigurationChecker(void) throw()
+{
+    setBanner("--- TOPPERS/JSP Configuration Checker (ver 2.4) ---");
+}
+
+void ConfigurationChecker::set_banner(Directory & container, Formatter object, const char * type, int id)
+{
+    Directory * node;
+    char buffer[32];
+
+    banner = string("    ") + object.str() + " : ";
+
+    sprintf(buffer, "id = %d", id);
+
+    node = container.findChild(OBJECTTREE, type, NULL)->getFirstChild();
+    while(node != 0 && node->toInteger() != id)
+        node = node->getNext();
+
+    if( node != 0 ) {
+        banner += node->getKey() + " (" + buffer + ") ";
+
+        node = node->findChild("position");
+        if(node != 0)
+            banner += string("at ") + node->toString();
+    }
+    else
+        banner += buffer;
+
+    if(VerboseMessage::getVerbose())
+    {
+        cout << banner << endl;
+        banner.erase();
+    }
+}
+
+void ConfigurationChecker::notify(enum tagCheckLevel level, Formatter msg, bool error)
+{
+    if((level & current_level) != 0)
+    {
+
+        if(!banner.empty())
+        {
+            cout << banner << endl;
+            banner.erase();
+        }
+
+        cout << "      ";
+
+        if(error)
+        {
+            cout << Message("[ Error ] ","[ã¨ã©ã¼] ");
+            error_count ++;
+        }else
+            cout << Message("[Warning] ","[ è­¦å ] ");
+        cout << msg << endl;
+    }
+}
+
+    /*
+     * ã¿ã¹ã¯ãªãã¸ã§ã¯ãã«é¢ããã¨ã©ã¼æ¤åº
+     */
+
+bool ConfigurationChecker::check_taskblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int maxpri;
+    unsigned int minpri;
+    unsigned int old_error_count = error_count;
+
+    TargetVariable<unsigned int> _kernel_tmax_tskid("_kernel_tmax_tskid");
+
+    Message object("Task","ã¿ã¹ã¯");
+
+    if(!_kernel_tmax_tskid.isValid())
+        ExceptionMessage(
+            "Internal error: Unknown symbol (Probably, Symbol table was stripped)",
+            "å
+é¨ã¨ã©ã¼: ä¸æ­£ãªã·ã³ãã«å (å®è¡å½¢å¼ãã·ã³ãã«ãã¼ãã«ãå«ãã§ãªãå¯è½æ§ãããã¾ã)").throwException();
+
+    if(*_kernel_tmax_tskid < 1)
+    {
+        notify(RESTRICTED,
+            Message("  [Task] : No tasks created\n","  [ã¿ã¹ã¯] : ã¿ã¹ã¯ãªãã¸ã§ã¯ããããã¾ãã\n"));
+        return true;
+    }
+
+    TargetVariable<DT_UINT> tskatr("_kernel_tinib_table", "task_initialization_block::tskatr");
+    TargetVariable<DT_FP>   task("_kernel_tinib_table", "task_initialization_block::task");
+    TargetVariable<DT_INT>  ipriority("_kernel_tinib_table", "task_initialization_block::ipriority");
+    TargetVariable<DT_UINT> texatr("_kernel_tinib_table", "task_initialization_block::texatr");
+    TargetVariable<DT_UINT> stksz("_kernel_tinib_table", "task_initialization_block::stksz");
+
+    maxpri = container->getVariableInfo("TMAX_TPRI").value;
+    minpri = container->getVariableInfo("TMIN_TPRI").value;
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tmax_tskid;
+    for(id = 1; id <= *_kernel_tmax_tskid; id++)
+    {
+        set_banner(parameter, object, TASK, id);
+
+            /*
+             *  å±æ§ãã§ãã¯
+             */
+
+            // å±æ§å¤ã TA_HLNG|TA_ASM|TA_ACT ä»¥å¤ã®å¤ãã¨ã£ã¦ãã
+        if((*tskatr & ~0x3) != 0)
+            notify( STANDARD,
+                Message("Illegal task attribute (It should be ((TA_HLNG||TA_ASM)|TA_ACT))",
+                        "ä¸æ­£ãªã¿ã¹ã¯å±æ§ ((TA_HLNG||TA_ASM)|TA_ACT)ä»¥å¤"));
+
+            // å±æ§å¤ã« TA_ASM ãå«ã¾ãã¦ãã
+        if((*tskatr & 0x1) != 0)
+            notify( RESTRICTED,
+                Message("TA_ASM specified as task attribute takes no effect.",
+                        "ã¿ã¹ã¯å±æ§ã«TA_ASMãæå®ããã¦ãã"));
+
+            /* èµ·åçªå°ã0 */
+        if(*task == 0)
+            notify(RESTRICTED,
+                Message("The address of task routine is equal to zero.",
+                        "éå§çªå°ã«0ãè¨­å®ããã¦ãã¾ã"));
+
+            /*
+             *  åªå
+åº¦ãã§ãã¯
+             */
+
+            // æå¤§åªå
+åº¦ã¨æå°åªå
+åº¦ã®è¨­å®ããããã
+        if(maxpri < minpri)
+            notify(LAZY,
+                Message("Illegal Priority Settings found (TMAX_TPRI(%) < TMIN_TPRI).",
+                        "åæåªå
+åº¦ãæä½åªå
+åº¦(%)ãè¶
+ãã¦ãã") << minpri);
+
+            // åªå
+åº¦ã®ç¯å²ã[æå°åªå
+åº¦, æå¤§åªå
+åº¦]ã®ç¯å²ãè¶
+ãã¦ãã
+        if(*ipriority > (signed)(maxpri - minpri))
+            notify(TOPPERS,
+                Message("Initial priority is greater than maximum priority (%).",
+                        "åæåªå
+åº¦ãæå¤§åªå
+åº¦(%)ãè¶
+ãã¦ãã") << maxpri);
+        if(*ipriority < 0)
+            notify(STANDARD,
+                Message("Initial priority is less than the minimum priority (%).",
+                        "åæåªå
+åº¦ãæä½åªå
+åº¦(%)ãä¸åã") << minpri);
+
+            /*
+             *   ã¿ã¹ã¯ä¾å¤å±æ§ãã§ãã¯
+             */
+
+            // å±æ§å¤ãTA_HLNG or TA_ASMã§ãªã
+        if((*texatr & ~0x3) != 0)
+            notify(STANDARD,
+                Message("Task exception routine has an illegal attribute specifier.",
+                        "ã¿ã¹ã¯ä¾å¤ã«ç¡å¹ãªå±æ§(TA_HLNG,TA_ASMä»¥å¤) ãè¨­å®ããã¦ãã¾ã"));
+
+            // å±æ§å¤ã« TA_ASM ãå«ã¾ãã¦ãã
+        if((*texatr & 0x1) != 0)
+            notify( RESTRICTED,
+                Message("TA_ASM, specified as texatr, does not always take effect.",
+                        "ã¿ã¹ã¯ä¾å¤ã«TA_ASMãæå®ããã¦ãã¾ã"));
+
+            /*
+             *   ã¹ã¿ãã¯ãã§ãã¯
+             */
+
+            // ã¹ã¿ãã¯ãµã¤ãºã0
+        if(*stksz == 0)
+            notify(RESTRICTED,
+                Message("Stack size is equal to zero.",
+                        "ã¹ã¿ãã¯ãµã¤ãºã«0ãè¨­å®ããã¦ãã¾ã"));
+
+            // ã¹ã¿ãã¯ã®çªå°ã0
+        if(*stksz == 0)
+            notify(RESTRICTED,
+                Message("The address of task stack is equal to zero.",
+                        "ã¹ã¿ãã¯éå§çªå°ã«0ãè¨­å®ããã¦ãã¾ã"));
+
+        ++ tskatr, ++ task, ++ ipriority, ++ texatr, ++ stksz;
+    }
+
+    return old_error_count == error_count;
+}
+
+bool ConfigurationChecker::check_semaphoreblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Semaphore","ã»ããã©");
+
+    TargetVariable<DT_UINT> _kernel_tmax_semid("_kernel_tmax_semid");
+    if(*_kernel_tmax_semid < 1)
+        return true;
+
+    TargetVariable<DT_UINT> sematr("_kernel_seminib_table","semaphore_initialization_block::sematr");
+    TargetVariable<DT_UINT> maxsem("_kernel_seminib_table","semaphore_initialization_block::maxsem");
+    TargetVariable<DT_UINT> isemcnt("_kernel_seminib_table","semaphore_initialization_block::isemcnt");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n")
+        << object << *_kernel_tmax_semid;
+
+    for(id = 1; id <= *_kernel_tmax_semid; id++)
+    {
+        set_banner(parameter, object, SEMAPHORE, id);
+
+            //attribute validation check
+        if((*sematr & ~0x1) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute (It should be (TA_TFIFO||TA_TPRI)).",
+                        "(TA_TFIFO||TA_TPRI)ä»¥å¤ã®å±æ§ãæå®ããã¦ãã"));
+
+            //maxcnt < isemcnt
+        if(*maxsem < *isemcnt)
+            notify(STANDARD,
+                Message("Initial count[%] is greater than the maximum count[%] of this semaphore",
+                        "åæå¤[%]ãæå¤§å¤[%]ãè¶
+ãã¦ãã") << *isemcnt << *maxsem);
+
+        if(*maxsem == 0)
+            notify(STANDARD,
+                Message("Maximum count must be greater than zero.",
+                        "ã»ããã©ã®æå¤§ã«ã¦ã³ãã¯1ä»¥ä¸ã§ãªããã°ããã¾ãã"));
+
+        ++ sematr, ++ maxsem, ++ isemcnt;
+    }
+
+    return old_error_count == error_count;
+}
+
+
+bool ConfigurationChecker::check_eventflagblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Event flag","ã¤ãã³ããã©ã°");
+
+    TargetVariable<DT_UINT> _kernel_tmax_flgid("_kernel_tmax_flgid");
+    if(*_kernel_tmax_flgid < 1)
+        return true;
+
+    TargetVariable<DT_UINT> flgatr("_kernel_flginib_table","eventflag_initialization_block::flgatr");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n")
+         << object << *_kernel_tmax_flgid;
+
+    for(id = 1; id <= *_kernel_tmax_flgid; id++)
+    {
+        set_banner(parameter, object, EVENTFLAG, id);
+            
+            //attribute validation check
+        if((*flgatr & ~0x7) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute value [0x%]",
+                        "ããããªå±æ§å¤ [0x%]") << setbase(16) << (*flgatr & ~0x7));
+
+        if((*flgatr & 0x2) != 0)
+            notify(TOPPERS,     //ä¾å­é¨ã§ç´ããªãã®ã§RESTRICTEDã«ããªã
+                Message("Attribute TA_WMUL is not supported in current version.",
+                        "TA_WMULã¯ãµãã¼ãå¤"));
+    
+        ++ flgatr;
+    }
+
+    return old_error_count == error_count;
+}
+
+
+bool ConfigurationChecker::check_dataqueueblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Data queue","ãã¼ã¿ã­ã¥ã¼");
+
+    TargetVariable<DT_UINT> _kernel_tmax_dtqid("_kernel_tmax_dtqid");
+    if(*_kernel_tmax_dtqid < 1)
+        return true;
+
+    TargetVariable<DT_UINT> dtqatr("_kernel_dtqinib_table", "dataqueue_initialization_block::dtqatr");
+    TargetVariable<DT_UINT> dtqcnt("_kernel_dtqinib_table", "dataqueue_initialization_block::dtqcnt");
+    TargetVariable<DT_VP_INT> dtq("_kernel_dtqinib_table", "dataqueue_initialization_block::dtq");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n")
+        << object << *_kernel_tmax_dtqid;
+
+    for(id = 1; id <= *_kernel_tmax_dtqid; id++)
+    {
+        set_banner(parameter, object, DATAQUEUE, id);
+
+            //attribute validation check
+        if((*dtqatr & ~0x1) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute value [0x%]",
+                        "ããããªå±æ§å¤ [0x%]") << setbase(16) << (*dtqatr & ~0x1));
+
+        if(*dtqcnt != 0 && *dtq == 0)
+            notify(TOPPERS,
+                Message("Dataqueue buffer should not be NULL", "ãã¼ã¿ã­ã¥ã¼ã®ãããã¡ãNULLå¤"));
+
+        ++ dtqatr, ++ dtqcnt, ++ dtq;
+    }
+
+    return old_error_count == error_count;
+}
+
+
+bool ConfigurationChecker::check_mailboxblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Mailbox","ã¡ã¼ã«ããã¯ã¹");
+
+    TargetVariable<DT_UINT> _kernel_tmax_mbxid("_kernel_tmax_mbxid");
+    if(*_kernel_tmax_mbxid < 1)
+        return true;
+    
+    TargetVariable<DT_UINT> mbxatr("_kernel_mbxinib_table","mailbox_initialization_block::mbxatr");
+    TargetVariable<DT_INT>  maxmpri("_kernel_mbxinib_table","mailbox_initialization_block::maxmpri");
+
+    DT_INT maxpri = container->getVariableInfo("TMAX_MPRI").value;
+    DT_INT minpri = container->getVariableInfo("TMIN_MPRI").value;
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tmax_mbxid;
+    for(id = 1; id <= *_kernel_tmax_mbxid; id++)
+    {
+        set_banner(parameter, object, MAILBOX, id);
+
+            //attribute validation check
+        if((*mbxatr & ~0x3) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute value [0x%]",
+                        "ããããªå±æ§å¤ [0x%]") << setbase(16) << (*mbxatr & ~0x3));
+    
+            //mailbox message priority check
+        if(*maxmpri < 0)
+            notify(STANDARD,
+                Message("Priority must not be a negative number.","åªå
+åº¦ãè² å¤"));
+
+        if(*maxmpri < minpri)
+            notify(STANDARD,
+                Message("Message priority should be greater than or equal to %.",
+                        "ã¡ãã»ã¼ã¸åªå
+åº¦ã¯%ä»¥ä¸ã§ãªããã°ããã¾ãã") << minpri);
+
+        if(*maxmpri > maxpri)
+            notify(STANDARD,
+                Message("Message priority should be less than or equal to %.",
+                        "ã¡ãã»ã¼ã¸åªå
+åº¦ã¯%ä»¥ä¸ã§ãªããã°ããã¾ãã") << maxpri);
+
+        ++ mbxatr, ++ maxmpri;
+    }
+
+    return old_error_count == error_count;
+}
+
+bool ConfigurationChecker::check_fixed_memorypoolblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Fixed size memory pool","åºå®é·ã¡ã¢ãªãã¼ã«");
+
+    TargetVariable<DT_UINT> _kernel_tmax_mpfid("_kernel_tmax_mpfid");
+    if(*_kernel_tmax_mpfid < 1)
+        return true;
+
+    TargetVariable<DT_UINT> mpfatr("_kernel_mpfinib_table", "fixed_memorypool_initialization_block::mpfatr");
+    TargetVariable<DT_UINT> limit ("_kernel_mpfinib_table", "fixed_memorypool_initialization_block::limit");
+    TargetVariable<DT_VP>   mpf   ("_kernel_mpfinib_table", "fixed_memorypool_initialization_block::mpf");
+    TargetVariable<DT_UINT> blksz ("_kernel_mpfinib_table", "fixed_memorypool_initialization_block::blksz");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tmax_mpfid;
+    for(id = 1; id <= *_kernel_tmax_mpfid; id++)
+    {
+        set_banner(parameter, object, FIXEDSIZEMEMORYPOOL, id);
+
+            //attribute validation check
+        if((*mpfatr & ~0x1) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute value [0x%]","ããããªå±æ§å¤ [0x%]") << (*mpfatr & ~0x1));
+
+            //ãã­ãã¯æ°ã0
+        if(*mpf == *limit)
+            notify(STANDARD,
+                Message("blkcnt should be a non-zero value.","ãã­ãã¯æ°ã0ã§ã"));
+
+            //ãã­ãã¯ãµã¤ãºã0
+        if(*blksz == 0)
+            notify(STANDARD,
+                Message("blksz should be a non-zero value.","ãã­ãã¯ãµã¤ãºã0ã§ã"));
+
+            //ãããã¡ã¢ãã¬ã¹ã0
+        if(*mpf == 0)
+            notify(TOPPERS,
+                Message("buffer address is a NULL pointer.","ãããã¡ã¢ãã¬ã¹ãNULLãã¤ã³ã¿ã«ãªã£ã¦ãã¾ã"));
+
+        ++ mpfatr, ++ limit, ++ mpf, ++ blksz;
+    }
+
+    return old_error_count == error_count;
+}
+
+
+bool ConfigurationChecker::check_cyclic_handlerblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Cyclic handler","å¨æãã³ãã©");
+
+    TargetVariable<DT_UINT> _kernel_tmax_cycid("_kernel_tmax_cycid");
+    if(*_kernel_tmax_cycid < 1)
+        return true;
+
+    DT_RELTIM maxreltim = container->getVariableInfo("TMAX_RELTIM").value;
+    TargetVariable<DT_UINT> cycatr("_kernel_cycinib_table", "cyclic_handler_initialization_block::cycatr");
+    TargetVariable<DT_RELTIM> cyctim("_kernel_cycinib_table", "cyclic_handler_initialization_block::cyctim");
+    TargetVariable<DT_RELTIM> cycphs("_kernel_cycinib_table", "cyclic_handler_initialization_block::cycphs");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tmax_cycid;
+    for(id = 1; id <= *_kernel_tmax_cycid; id++)
+    {
+        set_banner(parameter, object, CYCLICHANDLER, id);
+
+            //attribute validation check
+        if((*cycatr & ~0x7) != 0)
+            notify(STANDARD,
+                Message("Illegal attribute value [0x%]","ããããªå±æ§å¤ [0x%]") << (*cycatr & ~0x1));
+
+        if((*cycatr & 0x4) != 0)
+            notify(TOPPERS,     //éä¾å­é¨ãªã®ã§RESTRICTEDã«ããªã
+                Message("TA_PHS is not supported in this kernel.","TA_PHSã¯ãµãã¼ãå¤"));
+
+            // å±æ§å¤ã« TA_ASM ãå«ã¾ãã¦ãã
+        if((*cycatr & 0x1) != 0)
+            notify( RESTRICTED,
+                Message("TOPPERS/JSP Kernel never minds the flag 'TA_ASM'.",
+                        "TOPPERS/JSPã«ã¼ãã«ã®å
+¨ã¦ã®æ©ç¨®ä¾å­é¨ã§TA_ASMããµãã¼ãããã¨ã¯éããªã"));
+
+            //RELTIMã§ã®è¡¨ç¾ç¯å²å
+ã«ãããã©ããã®ãã§ãã¯
+        if(*cyctim > maxreltim)
+            notify(STANDARD,
+                Message("The cyclic object has a period (%) that exceeds the maximum period (%)",
+                        "èµ·åå¨æ(%)ãè¡¨ç¾å¯è½ãªç¸å¯¾æéã®ç¯å²(%)ãè¶
+ãã¦ãã¾ã") << *cyctim << maxreltim);
+
+            //èµ·åå¨æã0ã§ãªããã¨ã®ãã§ãã¯
+        if(*cyctim == 0)
+            notify(STANDARD,
+                Message("The cyclic object has a ZERO period.",
+                        "èµ·åå¨æã0ã«ãªã£ã¦ãã¾ã"));
+
+        if(*cycphs > maxreltim)
+            notify(STANDARD,
+                Message("The cyclic object has a initial delay (%) that exceeds the maximum period (%)",
+                        "èµ·åä½ç¸(%)ãè¡¨ç¾å¯è½ãªç¸å¯¾æéã®ç¯å²(%)ãè¶
+ãã¦ãã¾ã") << *cycphs << maxreltim);
+
+        ++ cycatr, ++ cyctim, ++ cycphs;
+    }
+
+    return old_error_count == error_count;
+}
+
+bool ConfigurationChecker::check_interrupt_handlerblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Interrupt handler","å²è¾¼ã¿ãã³ãã©");
+
+    TargetVariable<DT_UINT> _kernel_tnum_inhno("_kernel_tnum_inhno");
+    if(*_kernel_tnum_inhno == 0)
+        return true;
+
+    TargetVariable<DT_UINT> inhatr("_kernel_inhinib_table", "interrupt_handler_initialization_block::inhatr");
+    TargetVariable<DT_FP>   inthdr("_kernel_inhinib_table", "interrupt_handler_initialization_block::inthdr");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tnum_inhno;
+    for(id = 0; id < *_kernel_tnum_inhno; id++)
+    {
+        set_banner(parameter, object, INTERRUPTHANDLER, id);
+
+            //attribute validation check
+        if((*inhatr & 0x1) != 0)
+            notify(STANDARD,
+                Message("The attribute can take only TA_HLNG|TA_ASM",
+                        "TA_HLNG|TA_ASMä»¥å¤ã®å±æ§ã¯è¨­å®ã§ãã¾ãã"));
+
+            // å±æ§å¤ã« TA_ASM ãå«ã¾ãã¦ãã
+        if((*inhatr & 0x1) != 0)
+            notify(RESTRICTED,
+                Message("TOPPERS/JSP Kernel never minds the flag 'TA_ASM'.",
+                        "TA_ASMãä½¿ç¨ããã¦ãã"));
+
+            // èµ·åçªå°ãã§ãã¯
+        if(*inthdr == 0)
+            notify(RESTRICTED,
+                Message("NULL pointer is specified as an inthdr address.",
+                        "å²è¾¼ã¿ãã³ãã©ã®çªå°ãNULLã§ã"));
+
+        ++ inhatr, ++ inthdr;
+    }
+
+    return old_error_count == error_count;
+}
+
+bool ConfigurationChecker::check_exception_handlerblock(Directory & parameter, FileContainer * container)
+{
+    unsigned int id;
+    unsigned int old_error_count = error_count;
+
+    Message object("Exception handler","ä¾å¤ãã³ãã©");
+
+    TargetVariable<DT_UINT> _kernel_tnum_excno("_kernel_tnum_excno");
+    if(*_kernel_tnum_excno == 0)
+        return true;
+
+    TargetVariable<DT_UINT> excatr("_kernel_excinib_table", "cpu_exception_handler_initialization_block::excatr");
+    TargetVariable<DT_FP>   exchdr("_kernel_excinib_table", "cpu_exception_handler_initialization_block::exchdr");
+
+    VerboseMessage("% object : % items\n","%ãªãã¸ã§ã¯ã : % å\n") << object << *_kernel_tnum_excno;
+    for(id = 0; id < *_kernel_tnum_excno; id++)
+    {
+        set_banner(parameter, object, EXCEPTIONHANDLER, id);
+
+            //attribute validation check
+        if((*excatr & 0x1) != 0)
+            notify(STANDARD,
+                Message("The attribute can take only TA_HLNG|TA_ASM",
+                        "TA_HLNG|TA_ASMä»¥å¤ã®å±æ§ã¯è¨­å®ã§ãã¾ãã"));
+
+            // å±æ§å¤ã« TA_ASM ãå«ã¾ãã¦ãã
+        if((*excatr & 0x1) != 0)
+            notify(RESTRICTED,
+                Message("TOPPERS/JSP Kernel never minds the flag 'TA_ASM'.",
+                        "TOPPERS/JSPã«ã¼ãã«ã®å
+¨ã¦ã®æ©ç¨®ä¾å­é¨ã§TA_ASMããµãã¼ãããã¨ã¯éããªã"));
+
+            // èµ·åçªå°ãã§ãã¯
+        if(*exchdr == 0)
+            notify(RESTRICTED,
+                Message("NULL pointer is specified as an exchdr address.",
+                        "ä¾å¤ãã³ãã©ã®çªå°ãNULLã§ã"));
+
+        ++ excatr, ++ exchdr;
+    }
+
+    return old_error_count == error_count;
+}
+
+//------------------------------------------------------
+
+void ConfigurationChecker::parseOption(Directory & parameter)
+{
+    string loadmodule;
+    string work;
+
+    if(findOption("h","help"))
+    {
+        cout << endl << Message(
+            "Configuration checker - option\n"
+            "  -m, --module=filename : Specify the load module (essential option)\n"
+            "  -cs, --script=filename  : Specify the checker script file\n"
+            "  -cl, --checklevel=level : Specify one of the check levels below \n"
+            "    l(azy)       : Minimum check will be performed.\n"
+            "    s(tandard)   : includes some ITRON Standard check items.\n"
+            "    t(oppers)    : checks whether it meets TOPPERS/JSP restrictions\n"
+            "    r(estricted) : All of check items will be performed.\n",
+            "ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã§ãã« - ãªãã·ã§ã³\n"
+            "  -m, --module=ãã¡ã¤ã«å : ã­ã¼ãã¢ã¸ã¥ã¼ã«åãæå®ãã¾ã (å¿
+é é 
+ç®)\n"
+            "  -cs, --script=ãã¡ã¤ã«å  : ãã§ãã«ã¹ã¯ãªãããæå®ãã¾ã\n"
+            "  -cl, --checklevel=level : Specify one of the check levels below \n"
+            "    l(azy)       : æå°éã®ãã§ãã¯ã®ã¿ãè¡ãã¾ã\n"
+            "    s(tandard)   : ITRONä»æ§ã®ç¯å²ã§ãã§ãã¯ãè¡ãã¾ã\n"
+            "    t(oppers)    : TOPPERS/JSPã«ã¼ãã«ã®å¶éãæºãããã¨ãç¢ºèªãã¾ã\n"
+            "    r(estricted) : æ©ç¨®ä¾å­é¨ãå«ãå
+¨ã¦ã®ãã§ãã¯é 
+ç®ãå®æ½ãã¾ã\n");
+        cout << endl 
+             << Message("Supported architecture : ", "å¯¾å¿ã¢ã¼ã­ãã¯ãã£ : ")
+             << FileContainer::getInstance()->getArchitecture()
+             << endl;
+        return;
+    }
+
+    if(findOption("m","module",&loadmodule) || findOption(DEFAULT_PARAMETER,NULL,&loadmodule))
+    {
+        if(findOption("s","source"))
+            ExceptionMessage("Configuration checker can not execute while Configurator executes","ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¨ãã§ãã«ã¯åæã«èµ·åã§ãã¾ãã").throwException();
+
+        parameter["/file/loadmodule"] = loadmodule;
+        activateComponent();
+    }
+
+    if(!findOption("cs","script",&work))
+        work = loadmodule.substr(0,loadmodule.find_last_of('.')) + ".chk";
+    parameter["/file/checkerscript"] = work;
+
+    work.erase();
+    if(findOption("obj","load-object",&work))
+    {
+        if(work.empty())
+            work.assign("kernel_obj.dat");
+
+        fstream f(work.c_str(), ios::in|ios::binary);
+        if(f.is_open())
+        {
+            parameter["/object"].Load(&f);
+            f.close();
+        }else
+            ExceptionMessage(" Failed to open the file '%' for storing object definitions"," ãªãã¸ã§ã¯ãæ
+å ±ãæ ¼ç´ããããã®ãã¡ã¤ã«(%)ãéãã¾ãã") << work << throwException;
+    }
+
+    if(findOption("cl","checklevel",&work))
+    {
+        current_level = UNKNOWN;
+
+        if(work.compare("lazy") == 0 || work[0] == 'l')
+            current_level = LAZY;
+        if(work.compare("standard") == 0 || work[0] == 's')
+            current_level = STANDARD;
+        if(work.compare("toppers") == 0 || work[0] == 't')
+            current_level = TOPPERS;
+        if(work.compare("restricted") == 0 || work[0] == 'r')
+            current_level = RESTRICTED;
+
+        if(current_level == UNKNOWN)
+            ExceptionMessage(" Unknown check level [%] specified"," ç¡å¹ãªãã§ãã¯ã¬ãã«æå® [%]") << work << throwException;
+    }else
+        current_level = NORMAL;
+
+    checkOption("cpu", "cpu");
+    checkOption("system", "system");
+}
+
+void ConfigurationChecker::body(Directory & parameter)
+{
+    FileContainer * container;
+    bool result = true;
+
+        /* ããåªå
+åº¦ã®é«ãã¨ã©ã¼ãå¯¾è±¡ã« */
+    current_level = static_cast<enum tagCheckLevel>(static_cast<int>(current_level) * 2 - 1);
+
+    container = FileContainer::getInstance();
+    container->attachInfo(parameter["/file/checkerscript"].toString());
+    container->attachModule(parameter["/file/loadmodule"].toString());
+
+    if(VerboseMessage::getVerbose())
+    {
+        cout << Message("  Target architecture : ","  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ : ")
+             << container->getArchitecture() << endl;
+    }
+
+    error_count = 0;
+    result &= check_taskblock(parameter,container);
+    result &= check_semaphoreblock(parameter,container);
+    result &= check_eventflagblock(parameter,container);
+    result &= check_dataqueueblock(parameter,container);
+    result &= check_mailboxblock(parameter,container);
+    result &= check_fixed_memorypoolblock(parameter,container);
+    result &= check_cyclic_handlerblock(parameter,container);
+    result &= check_interrupt_handlerblock(parameter,container);
+    result &= check_exception_handlerblock(parameter,container);
+
+    if(!result)
+        ExceptionMessage("Total % errors found in current configuration.\n","å
+¨é¨ã§%åã®ã¨ã©ã¼ãæ¤åºããã¾ãã\n") << error_count << throwException;
+
+    VerboseMessage("No error found in current configuration\n","æ§æã«ç°å¸¸ã¯ããã¾ããã§ãã\n");
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_checkscript.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_checkscript.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_checkscript.cpp	(revision 26)
@@ -0,0 +1,245 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_checkscript.cpp,v 1.18 2005/07/27 10:26:30 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_checkscript.cpp,v 1.18 2005/07/27 10:26:30 honda Exp $
+
+#include "jsp/jsp_defs.h"
+#include "jsp/jsp_common.h"
+
+#include <string>
+#include <iostream>
+
+#include "base/component.h"
+#include "base/mpstrstream.h"
+
+using namespace std;
+using namespace ToppersJsp;
+
+class CheckScriptGenerator : public Component
+{
+protected:
+    virtual void parseOption(Directory & container);
+    virtual void body(Directory & container);
+    
+    void insertMagic(void) throw(Exception);
+
+public:
+    CheckScriptGenerator(void) : Component(FINALIZE) {};
+} instance_of_CheckScriptGenerator;
+
+void CheckScriptGenerator::parseOption(Directory & container)
+{
+    MultipartStream * stream;
+    string work;
+
+    if(findOption("h","help"))
+    {
+        cerr << '\n' << Message(
+            "Configuration Checker Script Generation Option\n"
+            "  -c, --check  : Generate a checker script\n",
+            "ã«ã¼ãã«æ§æãã§ãã¯ã¹ã¯ãªããçæç¨ãªãã·ã§ã³\n"
+            "  -c, --check  : ãã§ãã¯ã¹ã¯ãªãããçæãã¾ã\n");
+        return;
+    }
+
+    if(findOption("c","check",&work))
+    {
+        if(work.empty())
+            work.assign("kernel_chk.c");
+
+        stream = new MultipartStream(work);
+        stream->createPart("header")
+               .createPart("body")
+               .createPart("footer");
+
+        container["/file/kernel_chk"] = stream;
+
+        checkOption("ci","checker-macro");
+        activateComponent();
+    }
+}
+
+static void createScriptEntry(Directory & container, MultipartStream * out, const char * objname, const char * member, bool mode = true)
+{
+    string work;
+    string inib;
+    Directory * scope;
+    int i, j;
+    
+    (*out) << container.format("\n\t\t/* $@ */\n\n");
+
+    if(mode)
+    {
+        scope = container.getFirstChild();
+        while(scope != 0)
+        {
+            work = scope->getKey();
+            if(work[0] < '0' || work[1] > '9')
+                (*out) << "\tOBJECT(" << container.getKey() << '_' << scope->toInteger() << ',' << work << ");\n";
+
+            scope = scope->getNext();
+        }
+
+        (*out) << container.format("\tEVAR(ID,_kernel_tmax_$(/prefix/$@/id)id);\n");
+    }else
+    {
+        i = 0;
+        scope = container.getFirstChild();
+        while(scope != 0)
+        {
+            work = scope->getKey();
+            (*out) << "\tOBJECT(" << container.getKey() << '_' << (i++) << ',' << scope->getKey() << ");\n";
+            scope = scope->getNext();
+        }
+
+        (*out) << container.format("\tEVAR(ID,_kernel_tnum_$(/prefix/$@/id)no);\n");
+    }
+
+    (*out) << container.format("\tEVAR($(/prefix/$@/SID)INIB,_kernel_$(/prefix/$@/sid)inib_table);\n");
+
+    work.assign(member);
+    i = 0;
+    j = work.find_first_of(',');
+    if(objname == NULL)
+        inib = container.getKey();
+    else
+        inib = objname;
+    
+    do {
+        (*out) << "\tMEMBER(" << inib << "_initialization_block," << work.substr(i, j-i) << ");\n";
+
+        i = j + 1;
+        j = work.find_first_of(',', i);
+    } while(i != string::npos+1);
+    (*out) << '\n';
+}
+
+inline void createScriptEntry(Directory & container, MultipartStream * out, const char * member)
+{   createScriptEntry(container, out, NULL, member, true);  }
+
+void CheckScriptGenerator::insertMagic(void) throw(Exception)
+{
+    KernelCfg * out = dynamic_cast<KernelCfg *>(RuntimeObjectTable::getInstance(typeid(KernelCfg)));
+    if(out != 0) {
+        out->movePart("others");
+        out->createPart("checkscript");
+        (*out) << Message("\t/* Variables for kernel checker */\n", "\t/* ã«ã¼ãã«ãã§ãã«ç¨å¤æ° */\n");
+        (*out) << "const UW _checker_magic_number = 0x01234567;\n\n";
+    }
+}
+
+void CheckScriptGenerator::body(Directory & container)
+{
+    MultipartStream * out;
+
+    out = reinterpret_cast<MultipartStream *>(container["/file/kernel_chk"].toPointer());
+
+    out->movePart("header") <<
+        "#include \"jsp_kernel.h\"\n"
+        "#include \"logtask.h\"\n"
+        "#include \"timer.h\"\n\n";
+
+
+	string work;
+	if(findOption("ci","checker-macro",&work)) {
+
+			/* ä¸­èº«ãç©ºã§ãªãã£ããincludeããããï¼ç©ºãªãincludeããåããªã */
+		if(!work.empty())
+			(*out) << "#include \"" << work << "\"\n\n";
+	}
+	else {
+		(*out) <<	"#define OBJECT(x,y) __asm(\"d\" #x \",\" #y \"@\");\n"
+			        "#define MEMBER(x,y) __asm(\"s\" #x \"::\" #y \",(%0),(%1)@\" ::\\\n"
+			        "     \"i\"(sizeof(((struct x *)0)->y)), \"i\"(&((struct x *)0)->y));\n"
+			        "#define VAR(x) __asm(\"s\" #x \",(%0),(0)@\" :: \"i\"(sizeof(x)));\n"
+			        "#define EVAR(x,y) __asm(\"s\" #y \",(%0),(0)@\" :: \"i\"(sizeof(x)));\n"
+			        "#define SVAR(x) __asm(\"s\" #x \",(%0),(0)@\" :: \"i\"(sizeof(x[0])));\n"
+			        "#define DEFS(x) __asm(\"s\" #x \",(%0),(0)@\" :: \"i\"((unsigned long)x));\n\n";
+	}
+
+    (*out) <<	"#include \"queue.h\"\n\n"
+		        "#include \"task.h\"\n"
+		        "#include \"semaphore.h\"\n"
+		        "#include \"eventflag.h\"\n"
+		        "#include \"dataqueue.h\"\n"
+		        "#include \"mailbox.h\"\n"
+		        "#include \"mempfix.h\"\n"
+		        "#include \"cyclic.h\"\n"
+		        "#include \"../kernel/exception.h\"\n"
+		        "#include \"interrupt.h\"\n"
+		        "#include \"wait.h\"\n\n"
+		        "void checker_function(void)\n{\n";
+
+    out->movePart("footer") << "}\n";
+
+    out->movePart("body") <<
+        "\tDEFS(TMAX_TPRI);\n\tDEFS(TMIN_TPRI);\n\n"
+        "\tDEFS(TMAX_MPRI);\n\tDEFS(TMIN_MPRI);\n\n"
+//      "\tDEFS(TMAX_MAXSEM);\n\n"
+        "\tDEFS(TMAX_RELTIM);\n\n"
+        "\tMEMBER(queue,next);\n\tMEMBER(queue,prev);\n\n";
+
+    createScriptEntry(container[OBJECTTREE "/" TASK],      out, "tskatr,exinf,task,ipriority,stksz,stk,texatr,texrtn");
+    createScriptEntry(container[OBJECTTREE "/" SEMAPHORE], out, "sematr,isemcnt,maxsem");
+    createScriptEntry(container[OBJECTTREE "/" EVENTFLAG], out, "flgatr,iflgptn");
+    createScriptEntry(container[OBJECTTREE "/" DATAQUEUE], out, "dtqatr,dtqcnt,dtq");
+    createScriptEntry(container[OBJECTTREE "/" MAILBOX], out, "mbxatr,maxmpri");
+    createScriptEntry(container[OBJECTTREE "/" FIXEDSIZEMEMORYPOOL], out, "fixed_memorypool", "mpfatr,blksz,mpf,limit");
+    createScriptEntry(container[OBJECTTREE "/" CYCLICHANDLER], out, "cyclic_handler", "cycatr,exinf,cychdr,cyctim,cycphs");
+    createScriptEntry(container[OBJECTTREE "/" INTERRUPTHANDLER], out, "interrupt_handler", "inhno,inhatr,inthdr", false);
+    createScriptEntry(container[OBJECTTREE "/" EXCEPTIONHANDLER], out, "cpu_exception_handler", "excno,excatr,exchdr", false);
+
+    insertMagic();
+
+    VerboseMessage("Configuration check script generation was finished successfully.\n","ã«ã¼ãã«æ§æãã§ãã¯ã¹ã¯ãªãããã¡ã¤ã«ãåºåãã¾ãã\n");
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.cpp	(revision 26)
@@ -0,0 +1,319 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_common.cpp,v 1.4 2003/12/20 06:51:58 takayuki Exp $
+ */
+
+#include "jsp/jsp_common.h"
+
+#include "base/option.h"
+
+#include <ctime>
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#  define  GETLOGINNAME_WINDOWS
+#  include <windows.h>
+#elif __GNUC__
+#  define  GETLOGINNAME_UNIX
+#  include <unistd.h>
+#endif
+
+using namespace std;
+
+#if 0
+namespace {
+    string get_loginname(void) throw()
+    {
+        string result("TOPPERS/JSP KernelConfigurator");
+
+#ifdef GETLOGINNAME_WINDOWS
+        char  buffer[1024];
+        DWORD sz = 1024;
+        ::GetUserName(buffer, &sz);
+        result.assign(buffer);
+#elif defined(GETLOGINNAME_UNIX)
+        result.assign(getlogin());
+#endif
+
+        return result;
+    }
+}
+#endif
+
+
+    //ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®å½¢ãå¤æ´ãã
+string ToppersJsp::conv_includefile(string file) throw()
+{
+    OptionParameter & option = getOptionParameter();
+    string result;
+
+        //ilãªãã·ã§ã³ãä»ããã¨ãã«ã¯ "<...>" å½¢å¼ã§åºå
+    if(option["il"].isValid())
+        result = string("<") + file + ">";
+    else
+        result = string("\"") + file + "\"";
+
+    return result;
+}
+
+    //ã«ã¼ãã«ã®å¤æ°åã®å½¢ãå¤æ´ãã
+string ToppersJsp::conv_kernelobject(string obj) throw()
+{
+    OptionParameter & option = getOptionParameter();
+    string result;
+
+    result = obj;
+
+        // TOPPERS/JSP rel 1.3ããå¾ã¯ã«ã¼ãã«å¤æ°ã®é ­ã« _kernel_ ãã¤ãã
+    if(!option["1.3"].isValid())
+        result = string("_kernel_") + obj;
+
+    return result;
+}
+
+ToppersJsp::SpecialtyFile::SpecialtyFile(void) throw() : MultipartStream(), RuntimeObject(true)
+{}
+
+#if 0
+string ToppersJsp::get_agreement(string filename) throw()
+{
+    const char * base_agreement =
+        "/*\n"
+        " *  TOPPERS/JSP Kernel\n"
+        " *      Toyohashi Open Platform for Embedded Real-Time Systems/\n"
+        " *      Just Standard Profile Kernel\n"
+        " * \n"
+        " *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory\n"
+        " *                              Toyohashi Univ. of Technology, JAPAN\n"
+        " * \n"
+        " *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation \n"
+        " *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨\n"
+        " *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢\n"
+        " *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼\n"
+        " *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼\n"
+        " *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½\n"
+        " *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼\n"
+        " *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼\n"
+        " *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿\n"
+        " *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨\n"
+        " *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨\n"
+        " *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼\n"
+        " *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿\n"
+        " *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã\n"
+        " *      ã¨ï¼\n"
+        " *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è\n"
+        " *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼\n"
+        " *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«\n"
+        " *        å ±åãããã¨ï¼\n"
+        " *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ\n"
+        " *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼\n"
+        " * \n"
+        " *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã\n"
+        " *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã\n"
+        " *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´\n"
+        " *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼\n"
+        " * \n";
+
+    string work(base_agreement);
+
+        //CVSã®IDé¢¨ã®ãã®ããã£ã¤ãã
+    time_t t;
+    time(&t);
+
+    work += string(" * @(#)$Id: ");
+    work += filename;
+    work += " ";
+    work += static_cast<const char *>(asctime(localtime(&t)));
+    
+    work.erase(work.size() - 1);    //asctimeã§æ¹è¡ãå
+¥ãã®ã§chomp
+
+    work += " ";
+    work += get_loginname();
+    work += " Exp $\n */\n\n";
+
+    return work;
+}
+#endif
+
+
+/***************************************** ãã¹ãã¹ã£ã¼ã *****************************************/
+
+#ifdef TESTSUITE
+
+class SpecialtyFile_test : public ToppersJsp::SpecialtyFile
+{
+public:
+    ~SpecialtyFile_test(void) throw() { TestSuite::check("SpecialtyFile::~SpecialtyFile"); }
+    TESTSUITE_PROTOTYPE(main)
+};
+
+TESTSUITE(main, SpecialtyFile_test)
+{
+    BEGIN_CASE("constructor","constructor") {
+        BEGIN_CASE("1","çæããã¨ROTã«ä¹ã") {
+            SpecialtyFile_test file;
+
+            if(RuntimeObjectTable::getInstance<SpecialtyFile_test>() == 0)
+                TEST_FAIL;
+        } END_CASE;
+
+        BEGIN_CASE("2","ç ´æ£ã®å¯¾è±¡ã«ãªã£ã¦ãã") {
+            Singleton<RuntimeObjectTable>::Context context;
+            Singleton<RuntimeObjectTable>::saveContext(context);
+
+            Singleton<RuntimeObjectTable>::renewInstance();
+
+            new SpecialtyFile_test;
+
+            TEST_CASE("0","[åæ] ç»é²ããã¦ãã", RuntimeObjectTable::getInstance<SpecialtyFile_test>() != 0);
+            
+            TestSuite::clearCheckpoints();
+            Singleton<RuntimeObjectTable>::renewInstance(); //ã¤ã³ã¹ã¿ã³ã¹ã®åçæã§ROTãåé¤ããã
+
+            TEST_CASE("1","ROTããè§£é¤ããã¦ãã", RuntimeObjectTable::getInstance<SpecialtyFile_test>() == 0);
+            TEST_CASE("2","ãã¹ãã©ã¯ã¿ãèµ·åããã¦ãã", TestSuite::isReached("SpecialtyFile::~SpecialtyFile"));
+
+            Singleton<RuntimeObjectTable>::restoreContext(context);
+        } END_CASE;
+    } END_CASE;
+
+    BEGIN_CASE("createInstance","createInstance") {
+        BEGIN_CASE("1","ã¤ã³ã¹ã¿ã³ã¹ãçæã§ãã") {
+            SpecialtyFile_test * file = SpecialtyFile::createInstance<SpecialtyFile_test>("test.txt");
+
+            file->disableOutput();  //åºåããã¦ãå°ãã®ã§
+
+            TEST_CASE("1","éNULLãè¿ã", file != 0);
+            TEST_CASE("2","ãã¡ã¤ã«åãæ­£å¸¸",  file->getFilename().compare("test.txt") == 0);
+        } END_CASE;
+
+        BEGIN_CASE("2","ç©ºæå­ãæ¸¡ãã¨ä¾å¤") {
+
+            bool result = false;
+            try {
+                SpecialtyFile::createInstance<SpecialtyFile_test>("");
+            }
+            catch(Exception &) {
+                result = true;
+            }
+
+            TEST_CASE("1","ä¾å¤ãèµ·ãã", result);
+            TEST_CASE("2","ãªãã¸ã§ã¯ãã¯ãªã", RuntimeObjectTable::getInstance<SpecialtyFile_test>() == 0);
+        } END_CASE;
+    } END_CASE;
+}
+
+namespace {
+    extern void testsuite(TestSuiteControl & _suite_control);
+    TestSuite testsuite_onTop("TOPPERS/JSP Common Function(main)", testsuite);
+
+            //ãã¹ãã¹ã£ã¼ãã®æ¬ä½
+    void testsuite(TestSuiteControl & _suite_control)
+    {
+        Singleton<OptionParameter>::Context context;
+        Singleton<OptionParameter>::saveContext(context);
+
+        BEGIN_CASE("conv_includefile","conv_includefile") {
+            BEGIN_CASE("1","-ilãä»ãã¦ããªãã¨ããã«ã¯ã©ã¼ãã§ããã") {
+                Singleton<OptionParameter>::renewInstance();
+
+                if(ToppersJsp::conv_includefile("test.h").compare("\"test.h\"") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("1","-ilãä»ãã¦ããã¨<>ã§ããã") {
+                Singleton<OptionParameter>::renewInstance();
+                char * argv[] = {"test.exe","-il"};
+                getOptionParameter().parseOption(2, argv);
+
+                if(ToppersJsp::conv_includefile("test.h").compare("<test.h>") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        BEGIN_CASE("conv_kernelobject","conv_kernelobject") {
+            BEGIN_CASE("1","-1.3ãä»ãã¦ããªãã¨_kernel_ãä»ã") {
+                Singleton<OptionParameter>::renewInstance();
+
+                if(ToppersJsp::conv_kernelobject("test").compare("_kernel_test") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+
+            BEGIN_CASE("1","-1.3ãä»ãã¦ããã¨ãã®ã¾ã¾åºã¦ãã") {
+                Singleton<OptionParameter>::renewInstance();
+                char * argv[] = {"test.exe","-1.3"};
+                getOptionParameter().parseOption(2, argv);
+
+                if(ToppersJsp::conv_kernelobject("test").compare("test") != 0)
+                    TEST_FAIL;
+            } END_CASE;
+        } END_CASE;
+
+        Singleton<OptionParameter>::restoreContext(context);
+
+    }
+}
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_common.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_common.h,v 1.8 2004/09/06 15:00:49 honda Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_common.h,v 1.8 2004/09/06 15:00:49 honda Exp $
+
+
+#ifndef JSP_COMMON_H
+#define JSP_COMMON_H
+
+#include "base/testsuite.h"
+
+#include "base/mpstrstream.h"
+#include "base/collection.h"
+#include "base/except.h"
+#include "base/event.h"
+
+#include <string>
+
+
+namespace ToppersJsp {
+
+        //ã«ã¼ãã«æ§æãã¡ã¤ã«
+    class SpecialtyFile : public MultipartStream, public RuntimeObject
+    {
+    protected:
+        SpecialtyFile(void) throw();
+
+        template<class T>
+        static T * createInstance(std::string filename) throw(Exception)
+        {
+            T * old;
+            T * result = 0;
+
+                //ROTç»é²è§£é¤ ãªãã¸ã§ã¯ãåé¤ (å¯ä¸æ§ã®ä¿é (ã ãã©ã·ã³ã°ã«ãã³ã§ã¯ãªã) )
+            old = dynamic_cast<T *>(RuntimeObjectTable::getInstance(typeid(T)));
+            if(old != 0)
+                delete old;
+
+            result = new(std::nothrow) T;
+            if(result == 0)
+                ExceptionMessage("Internal error : Object creation failure [ToppersJsp::KernelCfg::createKernelCfg]","å
+é¨ã¨ã©ã¼ : ãªãã¸ã§ã¯ãçææã¨ã©ã¼ [createKernelCfg]") << throwException;
+
+            try {
+                result->setFilename(filename);
+            }
+            catch(...) {
+                if(result != 0)
+                    delete result;
+                throw;
+            }
+            return result;
+        }
+
+    };
+
+
+    /*
+     *  Visual C++ 6.0 : fatal error C1001: INTERNAL COMPILER ERROR (msc1.cpp:1794) å¯¾ç­ 
+     *    (ã¨ãããããå¤éç»é²ãã¦ãå¤ãã¤ã³ã¹ã¿ã³ã¹ã®ç»é²ãã§ãã¯ãããªã)
+     */
+#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#  define SPECIALTY_FILE(x)                                                             \
+    class x : public SpecialtyFile {                                                    \
+        public:                                                                         \
+            struct CreationEvent { class x * file; };                                   \
+            static inline x * createInstance(std::string filename) throw(Exception)     \
+            {                                                                           \
+                x * instance = new(std::nothrow) x;                                     \
+                if(instance != 0)                                                       \
+                    instance->setFilename(filename);                                    \
+                return instance;                                                        \
+            }                                                                           \
+    }
+#else
+#  define SPECIALTY_FILE(x)                                                             \
+    class x : public SpecialtyFile {                                                    \
+        public:                                                                         \
+            struct CreationEvent { class x * file; };                                   \
+            static inline x * createInstance(std::string filename) throw(Exception)     \
+            {   return SpecialtyFile::createInstance<x>(filename);   }                  \
+    }
+#endif
+
+        //TOPPERS/JSPã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã§åºã¦ããç¹æ®ãªãã¡ã¤ã«
+    SPECIALTY_FILE(KernelCfg);
+    SPECIALTY_FILE(KernelID);
+
+        //ãã¼ã¸ã§ã³éãè¶ããå¤æãªã©
+    std::string conv_includefile(std::string file) throw(); //ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å
+    std::string conv_kernelobject(std::string obj) throw(); //ã«ã¼ãã«ã®å¤æ°å
+
+        //å®æ°ãªã©
+//  std::string get_agreement(std::string filename = "") throw();   //æè¨ã®åå¾
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_defs.h	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_defs.h,v 1.12 2003/12/15 07:32:14 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_defs.h,v 1.12 2003/12/15 07:32:14 takayuki Exp $
+
+#ifndef JSP_DEFS_H
+#define JSP_DEFS_H
+
+#define OBJECTTREE          "object"
+
+#define TASK                "task"
+#define SEMAPHORE           "semaphore"
+#define EVENTFLAG           "eventflag"
+#define DATAQUEUE           "dataqueue"
+#define MAILBOX             "mailbox"
+#define FIXEDSIZEMEMORYPOOL "mempfix"
+#define CYCLICHANDLER       "cyclic"
+#define INTERRUPTHANDLER    "interrupt"
+#define EXCEPTIONHANDLER    "exception"
+#define INITIALIZER         "initializer"
+#define TERMINATOR          "terminator"
+#define INCLUDEFILE         "include"
+#define OBJECT_INITIALIZER  "object_initializer"
+#define IDENTIFIER_VARIABLE "identifier"
+
+#define KERNEL_CFG          "/file/kernel_cfg"
+#define KERNEL_ID           "/file/kernel_id"
+
+#define PREFIX              "/prefix"
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_parser.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_parser.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_parser.cpp	(revision 26)
@@ -0,0 +1,1044 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_parser.cpp,v 1.60 2004/09/09 19:22:41 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_parser.cpp,v 1.60 2004/09/09 19:22:41 takayuki Exp $
+
+#include <stdarg.h>
+
+#include "jsp/jsp_defs.h"
+#include "base/parser.h"
+#include "base/mpstrstream.h"
+#include "jsp/jsp_common.h"
+
+#include <set>
+#include <map>
+#include <cctype>
+#include <algorithm>
+#include <iomanip>
+
+using namespace ToppersJsp;
+using namespace std;
+
+class CoreParser : public ParserComponent
+{
+protected:
+    virtual void parseOption(Directory &);
+            void outputContainer(Directory & container) throw();
+            void assignID(Directory & container) throw();
+
+public:
+    CoreParser(void);
+    virtual bool parse(Parser & p, Directory & container);
+} instance_of_Parser;
+
+CoreParser::CoreParser(void)
+{
+    setBanner("=== TOPPERS/JSP Kernel Configurator ver.9.4 (for JSP rel 1.4) ===");
+}
+
+void CoreParser::parseOption(Directory & container)
+{
+    ParserComponent::parseOption(container);
+
+    if(findOption("h","help"))
+    {
+        cerr << Message(
+            "  -obj, --dump-object=filename : Dump the object tree into the file specified\n"
+            "  -ao, --assign-order=order : Specify the order of automatic ID assignment\n"
+            "    You can use three terms below as ordering rule.\n"
+            "     alphabetic (in alphabetic order)\n"
+            "     fcfs       (in arrival order [as default])\n"
+            "     reverse    (reverse the order)\n"
+            "  -var, --variable-id : Prepare ID-variable for storing its identifier number\n",
+            "  -obj, --dump-object=ãã¡ã¤ã«å : æå®ãããã¡ã¤ã«ã«ãªãã¸ã§ã¯ãæ
+å ±ãåºåãã¾ã\n"
+            "  -ao, --assign-order=é åº : èªåIDå²å½ã®å²å½é åºãæå®ãã¾ã\n"
+            "    å²å½é åºã¯æ¬¡ã®3ã¤ã®çµåãã§æå®ãã¾ã.\n"
+            "     alphabetic (ABCé ), fcfs (å®£è¨é  [ããã©ã«ã]), reverse (éé )\n"
+            "  -var, --variable-id : IDçªå·ãæ ¼ç´ããå¤æ°ãç¨æãã¾ã");
+        return;
+    }
+
+    checkOption("D","dump");
+    checkOption("cpu","cpu");
+    checkOption("system","system");
+    checkOption("var","variable-id");
+}
+
+namespace {
+	int displayHandler(Directory & container, const char * category, const char * format)
+	{
+	    Directory * node  = 0;
+	    Directory * scope = 0;
+
+	    node = container.findChild(OBJECTTREE,category,NULL);
+	    if(node == 0 || node->size() == 0)
+		return 0;
+
+	    VerboseMessage("Handler assignment list [%]\n","ãã³ãã©å²ä»è¡¨ [%]\n") << category;
+
+	    scope = node->getFirstChild();
+	    while(scope != 0)
+	    {
+		VerboseMessage::getStream() << scope->format(format);
+		scope = scope->getNext();
+	    }
+
+	    return node->size();
+	}
+
+	//ãã¯ã­åãããtoupperãé¢æ°åãã (STL-algorithmç¨)
+	int toupper_function(int c)
+	{ return toupper(c); }
+}
+/*
+ *  outputContainer - ãããã°æ or ãã³ãæå®æã«ãªãã¸ã§ã¯ãæ
+å ±ãæå®ã®ãã¡ã¤ã«å½¢å¼ã§åºåãã
+ */
+void CoreParser::outputContainer(Directory & container) throw()
+{
+    try {
+
+        if(findOption("D","dump") || findOption("debug","debug")) {
+            fstream file("container.txt", ios::out);
+            container.drawTree(&file);
+            file.close();
+        }
+
+        if(findOption("Dx","dump-xml") || findOption("debug","debug")) {
+            fstream file("container.xml", ios::out);
+            container.drawTree_byXML(&file);
+            file.close();
+        }
+    }
+    catch (...) {
+    }
+}
+
+/*
+ *  assignID - ãªãã¸ã§ã¯ãã«å¯¾ãã¦IDãå²ãä»ãã
+ *             åãè¾¼ãã ãªãã¸ã§ã¯ãåãã¦ã¼ã¶ã«æç¤ºãã
+ */
+void CoreParser::assignID(Directory & container) throw()
+{
+    multimap<int, const char *> sorter;
+    multimap<int, const char *>::iterator scope;
+    enum Common::tagAssignmentOrder order = Common::FCFS;
+
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" TASK].size(), TASK));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" SEMAPHORE].size(), SEMAPHORE));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" EVENTFLAG].size(), EVENTFLAG));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" DATAQUEUE].size(), DATAQUEUE));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" MAILBOX].size(), MAILBOX));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" FIXEDSIZEMEMORYPOOL].size(), FIXEDSIZEMEMORYPOOL));
+    sorter.insert(pair<int, const char *>(container[OBJECTTREE "/" CYCLICHANDLER].size(), CYCLICHANDLER));
+
+    order = Common::parseOrder(getOption("ao", "assign-order"));
+    scope = sorter.begin();
+    while(scope != sorter.end())
+    {
+        if( (*scope).first != 0 )
+            Common::assignID(container, (*scope).second, OBJECTTREE, order);
+        ++ scope;
+    }
+
+    displayHandler(container, INTERRUPTHANDLER, "  $@ : $(inthdr)\n");
+    displayHandler(container, EXCEPTIONHANDLER, "  $@ : $(exchdr)\n");
+    displayHandler(container, INITIALIZER, "  $@ : $(inirtn)($(exinf))\n");
+    displayHandler(container, TERMINATOR, "  $@ : $(terrtn)($(exinf))\n");
+}
+
+
+bool CoreParser::parse(Parser & p, Directory & container)
+{
+    Token token;
+    string work;
+    bool isParseErrorOccured;
+
+    if(findOption("cpu","cpu", &work))
+        container["/cpu"] = work;
+    
+    try{
+        isParseErrorOccured = false;
+        do {
+            p.getToken(token);
+            if(token == Token::IDENTIFIER)
+            {
+                    /* ã¨ã©ã¼ãèµ·ãã¦ãæ¥µåç¶ãããã®ã§ã
+                        èµ·ãããã¨ã ãè¦ãã¦ããã¦ã©ãã©ãç¶ãã */
+                try 
+                {   this->parseStaticAPI(p, container, token);  }
+                catch(...)
+                {   isParseErrorOccured = true;                 }
+
+            }
+        }while(token != Token::EOS);
+
+        p.setLogBuffer(NULL);
+
+        if(isParseErrorOccured)
+            ExceptionMessage(ExceptionMessage::FATAL,"The configuration process was aborted due to occurence of parse error","æ§æè§£æã«å¤±æããããå¦çãä¸­æ­ãã¾ã").throwException();
+
+        if(container[OBJECTTREE "/" TASK].size() == 0)
+            ExceptionMessage("Kernel requires one or more task objects.","ã¿ã¹ã¯ãªãã¸ã§ã¯ããããã¾ãã").throwException();
+
+            /* IDå²ä» & ãªãã¸ã§ã¯ãåè¡¨ç¤º */
+        assignID(container);
+
+            /* ãªãã¸ã§ã¯ãæ
+å ±ããã¡ã¤ã«ã«åºå */
+        outputContainer(container);
+
+        return true;
+    }
+    catch(Exception &)
+    {
+            /* ä¾å¤ãæããªããåã« ç¾å¨ã®ãªãã¸ã§ã¯ãæ
+å ±ãæ ¼ç´ãã */
+        outputContainer(container);
+        throw;
+    }
+}
+
+/* ======================================================================== */
+
+DECLARE_DIRECTIVE(assigner,"assign_id")
+{
+    Token name;
+    Token value;
+
+    p.getToken(name, Token::IDENTIFIER);
+    p.getToken(value, Token::INTEGER);
+
+    if(value.value <= 0)
+        ExceptionMessage("Cannot assign an ID number less or equal to 0.","0ä»¥ä¸ã®IDçªå·ãè¨­å®ãããã¨ã¯ã§ãã¾ãã").throwException();
+
+    *container.openChild("/","identifier",name.c_str(),NULL) = value.value;
+}
+
+DECLARE_DIRECTIVE(parameter,"parameter")
+{
+    Token token;
+    string key;
+    string::size_type i,j;
+
+    do {
+        p.getToken(token);
+        if(!(token == Token::STRINGLITERAL))
+            ExceptionMessage("parameter pragma requires additional parameter put in '\"...\"'","parameterãã©ã°ãã«ã¯\"...\"ã§æ¬ãããè¿½å ãã©ã¡ã¼ã¿ãå¿
+è¦ã§ã").throwException();
+
+        token.chopLiteral();
+
+        if(token[0] == '-')
+        {
+            i = token.find_first_of('=');
+            j = token.find_first_not_of('-');
+            if(i == j || j == string::npos)
+                ExceptionMessage(ExceptionMessage::FATAL,"Wrong option [%]","ä¸æ­£ãªãªãã·ã§ã³ [%]") << token << throwException;
+
+            if(i != string::npos)
+            {
+                key = DEFAULT_PARAMETER;
+                *container.openChild(string("/Parameter/") + token.substr(1, i-1)) = token.substr(i+1);
+            }
+            else
+            {
+                key = token.substr(1);
+                *container.openChild(string("/Parameter/") + key) = string("");
+            }
+        }else
+            *container.openChild(string("/Parameter/") + key) = token;
+
+        p.getToken(token);
+    } while(token.compare(",") == 0);
+
+    p.putBack(token);
+}
+
+
+/* ======================================================================== */
+class ConfigurationFileGenerator : public Component
+{
+protected:
+    bool backward_compatible;
+    bool libstyle_include;
+    bool restrict_zero;
+    bool def_prototype;
+
+    enum tagDefinition { HEADER=1, TNUM=2, BUFFER=4, DEFINITION=8, CONTROLBLOCK=16, SHORT_ID=32, TNUMNO=64, INIT=128, PROTOTYPE=256, INITLIST=512 };
+    void createObjectDefinition(MultipartStream *, Directory &, int, ...);
+
+    virtual void parseOption(Directory &);
+    virtual void body(Directory &);
+    virtual void onFatalExit(Directory &);
+
+public:
+    ConfigurationFileGenerator(void) : Component(CODEGENERATOR) {};
+} instance_of_Configurator;
+
+
+
+namespace {
+
+        //ãã¡ã¤ã«åã®åå¾
+    string get_filename(string category, string _default) throw(Exception)
+    {
+        string result(_default);
+        OptionParameter::OptionItem item = getOptionParameter()[category];
+
+        if(item.isValid()) {
+            if(item.countParameter() == 1)
+                result = item[0];
+            else
+                ExceptionMessage("-% should have just ONE filename.","-%ãªãã·ã§ã³ã«æå®ã§ãããã¡ã¤ã«ã¯1ã¤ã®ã¿") << category << throwException;
+        }
+
+        if(result.empty())
+            ExceptionMessage("-% has illegal file name.","-%ãªãã·ã§ã³ã«æ¸¡ããããã¡ã¤ã«åã¯ä¸æ­£") << category << throwException;
+        
+        return result;
+    }
+
+        // ã«ã¼ãã«æ§æãã¡ã¤ã«ã®çæ
+    KernelCfg * createKernelCfg(void)
+    {
+        KernelCfg * cfg;
+
+        cfg = KernelCfg::createInstance(get_filename("kernel_cfg","kernel_cfg.c"));
+        cfg->disableOutput();       //å¦çãå®äºããã¾ã§åºåãããªã
+
+            //åºæ¬çãªãªãã¸ã§ã¯ãã®æ ¼ç´å ´æã¯ããã§æå®ãã¦ãã
+        cfg->createPart("header")
+            .createPart("include")
+            .createPart(IDENTIFIER_VARIABLE)
+            .createPart(TASK)
+            .createPart(SEMAPHORE)
+            .createPart(EVENTFLAG)
+            .createPart(DATAQUEUE)
+            .createPart(MAILBOX)
+            .createPart(FIXEDSIZEMEMORYPOOL)
+            .createPart(CYCLICHANDLER)
+            .createPart(INTERRUPTHANDLER)
+            .createPart(EXCEPTIONHANDLER)
+            .createPart(INITIALIZER)
+            .createPart(OBJECT_INITIALIZER)
+            .createPart("others");
+
+            //ã«ã¼ãã«æ§æãã¡ã¤ã«çæã¤ãã³ãã®å®è¡
+        KernelCfg::CreationEvent ev;
+        ev.file = cfg;
+        Event<KernelCfg::CreationEvent>::raise(ev);
+
+            //ã¨ã©ã¼ãã§ãã¯
+        if(ev.file == 0)
+            ExceptionMessage("Internal error : kernel_cfg event handler eliminates the instance.","å
+é¨ã¨ã©ã¼ : kernel_cfgã®ãã³ãã©ãã¤ã³ã¹ã¿ã³ã¹ãåé¤ãã") << throwException;
+        if(RuntimeObjectTable::getInstance(typeid(KernelCfg)) != ev.file)
+            ExceptionMessage("Internal error : kernel_cfg event handler creates the illegal instance.","å
+é¨ã¨ã©ã¼ : kernel_cfgã®ãã³ãã©ãä¸æ­£ãªã¤ã³ã¹ã¿ã³ã¹ãçæãã") << throwException;
+
+        return ev.file; //cfgã§ã¯ãã¡
+    }
+
+        //ãã¡ã¤ã«åããè¡çªåé¿ç¨ã®ååãçæãã
+    string convert_filename_to_definition(string filename)
+    {
+        string result;
+        string::iterator scope;
+
+        scope = filename.begin();
+        while(scope != filename.end()) {
+            if(isalnum(*scope))
+                result += static_cast<char>(toupper(*scope));
+            else
+                result += '_';
+            ++ scope;
+        }
+
+        return result;
+    }
+
+        //èªåIDå²ä»çµæãã¡ã¤ã«ã®çæ
+    KernelID * createKernelID(void)
+    {
+        KernelID * id = 0;
+
+        id = KernelID::createInstance(get_filename("kernel_id","kernel_id.h"));
+        id->disableOutput();
+
+            //åºæ¬çãªãªãã¸ã§ã¯ãã®æ ¼ç´å ´æã¯ããã§æå®ãã¦ãã
+        id-> createPart("__header__")
+            .createPart("body")
+            .createPart("__footer__");
+
+            //ãã¡ã¤ã«çæã¤ãã³ãã®å®è¡
+        KernelID::CreationEvent ev;
+        ev.file = id;
+        Event<KernelID::CreationEvent>::raise(ev);
+
+            //ã¨ã©ã¼ãã§ãã¯
+        if(ev.file == 0)
+            ExceptionMessage("Internal error : kernel_id event handler eliminates the instance.","å
+é¨ã¨ã©ã¼ : kernel_idã®ãã³ãã©ãã¤ã³ã¹ã¿ã³ã¹ãåé¤ãã") << throwException;
+        if(RuntimeObjectTable::getInstance(typeid(KernelID)) != ev.file)
+            ExceptionMessage("Internal error : kernel_id event handler creates the illegal instance.","å
+é¨ã¨ã©ã¼ : kernel_idã®ãã³ãã©ãä¸æ­£ãªã¤ã³ã¹ã¿ã³ã¹ãçæãã") << throwException;
+
+            //å¤éã¤ã³ã¯ã«ã¼ãåé¿ç¨å®ç¾©ã®è¿½å 
+        string defname = convert_filename_to_definition(id->getFilename());
+        id->movePart("__header__");
+        (*id)   // << get_agreement(id->getFilename())      //æè¨ã®ä»ä¸
+                << "#ifndef " << defname << '\n'        //#ifndef KERNELID_H
+                << "#define " << defname << "\n\n";     //#define KERNELID_H
+        
+        id->movePart("__footer__");
+        (*id)   << "\n#endif /* " << defname << " */\n\n";          //#endif /* KERNELID_H */
+
+        return ev.file; //idã§ã¯ãã¡
+    }
+
+        //ç»é²ããã¦ããæå­ã®æå¤§é·ãå¾ã
+    unsigned int countLongestSymbolName(const std::map<std::string, int> & identifiers) throw()
+    {
+        unsigned int max_length = 0;
+        std::map<std::string, int>::const_iterator scope;
+
+            // ãã£ã¨ãé·ãååãæã¤ã·ã³ãã«åãæ¤ç´¢
+        scope = identifiers.begin();
+        while(scope != identifiers.end()) {
+            if(max_length < scope->first.size())
+                max_length = scope->first.size();
+            ++ scope;
+        }
+
+        return max_length;
+    }
+
+        //èªåIDå²ä»çµæåºå (ããã¾ã§ã¨ã®äºæã¢ã¼ã)
+    void serializeIdentifiers_defineStyle(KernelID * out, std::map<std::string, int> & identifier_pool)
+    {
+        std::map<std::string, int>::const_iterator scope;
+        string::size_type max_length;
+
+        (*out) << "\t/* object identifier deifnition */\n\n";
+
+            // ãã£ã¨ãé·ãååãæã¤ã·ã³ãã«åãæ¤ç´¢
+        max_length = countLongestSymbolName(identifier_pool);
+
+        scope = identifier_pool.begin();
+        while(scope != identifier_pool.end()) {
+            (*out)  << "#define " << scope->first 
+                    << string(max_length - scope->first.size() + 4, ' ')    //å¤ããããã
+                    << setw(3)
+                    << scope->second << '\n';
+            ++ scope;
+        }
+    }
+
+        //èªåIDå²ä»çµæåºå (å®æ°å¤æ°æ ¼ç´æ¹å¼)
+    void serializeIdentifiers_variableStyle(KernelID * id, std::map<std::string, int> & identifier) throw(Exception)
+    {
+        std::map<std::string, int>::const_iterator scope;
+        string::size_type max_length;
+        KernelCfg * cfg = getRuntimeObjectInstance(KernelCfg);
+
+            /* kernel_id.hã«åºå */
+
+        (*id) << "#ifdef __cplusplus\n"
+                 "#define KERNELID_EXPORT extern \"C\"\n"
+                 "#else\n"
+                 "#define KERNELID_EXPORT extern\n"
+                 "#endif\n\n";
+
+            // ãã£ã¨ãé·ãååãæã¤ã·ã³ãã«åãæ¤ç´¢
+        max_length = countLongestSymbolName(identifier);
+
+        scope = identifier.begin();
+        while(scope != identifier.end()) {
+            (*id) << "KERNELID_EXPORT const int "
+                  << scope->first
+                  << ";\n";
+
+            ++ scope;
+        }
+
+        (*id) << "\n#undef KERNELID_EXPORT\n\n";
+
+            /* kernel_cfg.cã«å®æ°å®ç¾©ãåºå */
+
+        cfg->movePart(IDENTIFIER_VARIABLE);
+        (*cfg) << "\t/* Identifier storage variables */\n";
+        scope = identifier.begin();
+        while(scope != identifier.end()) {
+            (*cfg) << "const int " 
+                  << scope->first
+                  << string(max_length - scope->first.size() + 4, ' ')
+                  << " = "
+                  << scope->second << ";\n";
+            ++ scope;
+        }
+    }
+
+        //èªåIDå²ä»çµæåºå (ä½µç¨æ¹å¼ - (toppers-dev 28))
+    void serializeIdentifiers_blendedStyle(KernelID * id, std::map<std::string, int> & identifier) throw(Exception)
+    {
+        /* kernel_id.hã¸ã®åºåã¯å¾æ¥ã¨åã */
+        serializeIdentifiers_defineStyle(id, identifier);
+
+            /* kernel_cfg.cã«å®æ°å®ç¾©ãåºå */
+
+        std::map<std::string, int>::const_iterator scope;
+        string::size_type max_length;
+        KernelCfg * cfg = getRuntimeObjectInstance(KernelCfg);
+
+        max_length = countLongestSymbolName(identifier);
+
+        cfg->movePart(IDENTIFIER_VARIABLE);
+        (*cfg) << "\t/* Identifier storage variables */\n";
+        scope = identifier.begin();
+        while(scope != identifier.end()) {
+            (*cfg) << "const int " 
+                  << scope->first
+                  << "_id"
+                  << string(max_length - scope->first.size() + 1, ' ')
+                  << " = "
+                  << scope->second << ";\n";
+            ++ scope;
+        }
+    }
+
+        //èªåIDå²ä»çµæã®åºå
+    void serializeIdentifiers(bool varid_style = false) throw(Exception)
+    {
+        KernelID * out = getRuntimeObjectInstance(KernelID);
+        std::map<std::string, int> identifier_pool;
+
+            //è­å¥å­ãã¼ã«ãçæ
+        {
+            Directory * scope = Singleton<Directory>::getInstance()->findChild("/identifier")->getFirstChild();
+            while(scope != 0)
+            {
+                identifier_pool[scope->getKey()] = scope->toInteger();
+                scope = scope->getNext();
+            }
+        }
+
+            //å²ä»çµæã®åºå
+        out->movePart("body");
+        if(varid_style) {
+            serializeIdentifiers_blendedStyle(out, identifier_pool);
+//            serializeIdentifiers_variableStyle(out, identifier_pool);
+        }
+        else {
+            serializeIdentifiers_defineStyle(out, identifier_pool);
+        }
+
+        out->enableOutput();
+    }
+
+    void serializeConfiguration_headerPart(KernelCfg & out) throw(Exception)
+    {
+        const bool backward_compatible = getOptionParameter()["1.3"].isValid();
+        
+            //é ­ã®é¨åã®åºå
+        out.movePart("header");
+
+        out // << get_agreement(out.getFilename())          //æè¨ã®æ·»ä»
+            << "/* Configured with ["                   //ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãªãã·ã§ã³ãåºåãã¦ãã
+            << getOptionParameter().getCommandLine() 
+            << "] */\n\n";
+
+            //1.4ä»¥éã¯kernel_cfg.hãä½¿ç¨
+        if(!backward_compatible)
+            out << "#include " << conv_includefile("kernel_cfg.h") << '\n';
+
+            //kernel_id.hã®include (kernel_idã¯ããã«ã¯ã©ã¼ãã§ããã)
+        out << "#include \"" << dynamic_cast<KernelID *>(RuntimeObjectTable::getInstance(typeid(KernelID)))->getFilename() <<"\"\n" 
+            << '\n';
+
+
+            //CFG_INT/EXCHDR_ENTRY
+            // Q: "<<"ããã£ãããªãã£ããããã®ã¯ãªã? A: 2è¡ç®ãã5è¡ç®ã¾ã§ã¯elseãã­ãã¯ã§åºåãã¦ããå
+å®¹ã¨ã¾ã£ããåããããããã°ã³ã³ãã¤ã©ã«ãã£ã¦ã¯ã·ã¥ãªã³ã¯ããã¦ä¸ã¤ã«ãªãããå¯èª­æ§ãæªããªããªãã
+        if(backward_compatible) {
+            out << "#if TKERNEL_PRVER >= 0x1040\n"
+                << "#error \"This configuration file has no compatibility with"
+                << " TOPPERS/JSP rel 1.4 or later version.\"\n"
+                   "#elif TKERNEL_PRVER >= 0x1011\n"
+                << "#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)\n"
+                   "#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)\n"
+                   "#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)\n"
+                   "#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)\n"
+                << "#else\n"
+                << "#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(ENTRY(inthdr), inthdr)\n"
+                   "#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(ENTRY(exchdr), exchdr)\n"
+                   "#define CFG_INT_ENTRY(inthdr) ENTRY(inthdr)\n"
+                   "#define CFG_EXC_ENTRY(exchdr) ENTRY(exchdr)\n"
+                << "#endif\n\n";
+        }
+        else {
+            out << "#if TKERNEL_PRVER >= 0x1040\n"
+                << "#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)\n"
+                   "#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)\n"
+                   "#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)\n"
+                   "#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)\n"
+                << "#else\n"
+                << "#error \"This configuration file has no compatibility with"
+                << " TOPPERS/JSP rel 1.3 or earlier.\"\n"
+                << "#endif\n\n";
+        }
+
+            //__EMPTY_LABELãã¯ã­ã®åºå
+        if(!getOptionParameter()["z"].isValid()) {
+            
+            string zeromacro;
+
+            if(getOptionParameter()["ZERO"].isValid())
+                zeromacro = getOptionParameter()["ZERO"][0];
+            else
+                zeromacro.assign("x y[0]");
+
+            out <<  "#ifndef __EMPTY_LABEL\n"
+                    "#define __EMPTY_LABEL(x,y) " << zeromacro << "\n"
+                    "#endif\n\n";
+        }
+
+            /* PRIDã®ãã§ãã¯ */
+        out << "#if TKERNEL_PRID != 0x0001u /* TOPPERS/JSP */\n"
+               "#error \"You can not use this configuration file without TOPPERS/JSP\"\n"
+               "#endif\n\n";
+    }
+}
+
+void ConfigurationFileGenerator::parseOption(Directory & parameter)
+{
+    string work;
+
+    if(findOption("h","help"))
+    {
+        cerr << endl << Message(
+            "Kernel configuration file generator\n"
+            "  -id, --kernel_id=filename  : Specify the name of ID assignment file\n"
+            "  -cfg,--kernel_cfg=filename : Specify the name of kernel configuration file\n"
+            "  -il, --include-libstyle    : Use #include <...> style for kernel headers\n"
+            "  -oproto, --output-prototype: Output task prototype definitions in kernel_cfg\n"
+            "  -z, --nonzero              : Do not output __EMPTY_LABEL macro and related definitions\n"
+            "  -1.3  : Generates kernel_cfg.c for TOPPERS/JSP rel 1.3\n",
+            "ã«ã¼ãã«æ§æãã¡ã¤ã«ã®çæ\n"
+            "  -id, --kernel_id=ãã¡ã¤ã«å  : IDå²å½ãã¡ã¤ã«ã®ååãæå®ãã¾ã\n"
+            "  -cfg,--kernel_cfg=ãã¡ã¤ã«å : ã«ã¼ãã«æ§æãã¡ã¤ã«ã®ååãæå®ãã¾ã\n"
+            "  -il, --include-libstyle      : ã«ã¼ãã«ã®ããããã¡ã¤ã«ã<...>ã®å½¢ã§åºåãã¾ã\n"
+            "  -oproto, --output-prototype  : ã¿ã¹ã¯æ¬ä½ãªã©ã®å®ç¾©ãkernel_cfg.cã«çæãã¾ã\n"
+            "  -z, --nonzero                : __EMPTY_LABELãã¯ã­ã®ä½¿ç¨ãå¶éãã¾ã\n"
+            "  -1.3  : TOPPERS/JSP rel 1.3 ç¨ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãçæãã¾ã\n");
+        return;
+    }
+
+    checkOption("cfg","cfg");
+    checkOption("id","id");
+
+        /*
+         *  ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³çµæã®ãã¡ã¤ã« (kernel_cfg.c) ã®åæè¨­å®
+         */
+
+    createKernelCfg();
+
+        /*
+         *  IDå²ä»çµæã®ãã¡ã¤ã« (kernel_id.h) ã®åæè¨­å®
+         */
+
+    createKernelID();
+
+        /* ãã®ä»ãªãã·ã§ã³ */
+    restrict_zero = findOption("z","zero");
+    def_prototype = findOption("oproto","output-prototype");
+    libstyle_include = findOption("il","include-libstyle");
+    backward_compatible = findOption("1.3","1.3");
+    
+    checkOption("mcfg","minimize-cfg");
+    checkOption("ZERO","ZERO");
+    checkOption("obj", "dump-object");
+    checkOption("ext");
+
+    activateComponent();
+}
+
+void ConfigurationFileGenerator::onFatalExit(Directory & container)
+{
+        //ä¾å¤ã§ç°å¸¸çµäºãããããã¡ã¤ã«ãçæããªã
+    dynamic_cast<MultipartStream *>(RuntimeObjectTable::getInstance(typeid(KernelCfg)))->disableOutput();
+    dynamic_cast<MultipartStream *>(RuntimeObjectTable::getInstance(typeid(KernelID)))->disableOutput();
+}
+
+void ConfigurationFileGenerator::createObjectDefinition(MultipartStream * out, Directory & container, int flag, ...)
+{
+    Directory * scope;
+    const char * buffer;
+    string work;
+
+    map<int, Directory *> sorter;
+    map<int, Directory *>::iterator psorter;
+
+    va_list vl;
+    int i;
+
+    Directory & id = container[string(PREFIX "/") + container.getKey().c_str()];
+
+    if(container.size() == 0 && findOption("mcfg","minimize-cfg"))
+    {
+        if(!getOptionParameter().find("ext"))
+            ExceptionMessage("Use of the extended option --minimize-cfg. Please use -ext option together.","--minimizeãªãã·ã§ã³ã¯æ¡å¼µæ©è½ã§ããä½¿ç¨ããã«ã¯-extãæå®ãã¦ãã ããã").throwException();
+        return;
+    }
+    va_start(vl, flag);
+
+
+        //å¿
+è¦ãªæ
+å ±ã®ä½æ
+    work = string(va_arg(vl, const char *));
+    id["id"]  = work;
+    transform(work.begin(), work.end(), work.begin(), toupper_function);
+    id["ID"]  = work;
+    
+
+    if((flag & SHORT_ID) != 0)
+    {
+        work = string(va_arg(vl, const char *));
+        id["sid"]  = work;
+	for(i=0; i<(signed)work.size(); i++) {
+	  if (work[i] >= 'a' && work[i] <= 'z')
+	    work[i] = work[i] - 'a' + 'A';
+	}
+        id["SID"]  = work;
+    }else
+    {
+        id["sid"] = id["id"].toString();
+        id["SID"] = id["ID"].toString();
+    }
+
+    if(!backward_compatible)
+        id["symbolprefix"] = "_kernel_";
+
+    work = container.getKey();
+    id["name"] = work;
+    out->movePart(work);
+
+        //ãªãã¸ã§ã¯ãåæåé¢æ°ãè¿½å 
+    if((flag & INIT) != 0 && container.size() != 0)
+        container["/" OBJECT_INITIALIZER].addChild(new Directory(work));
+
+    (*out) << "\n\t/* " << (Message("Object initializer [%]","ãªãã¸ã§ã¯ãåæåãã­ãã¯ [%]") << work) << " */\n\n";
+
+    if(((flag & HEADER) != 0) && backward_compatible)
+        (*out) << "#include " << conv_includefile(work) << "\n\n";
+
+    if((flag & TNUM) != 0)
+    {
+        (*out) << id.format("#define TNUM_$(ID)ID ") << container.size() << "\n\n";
+        (*out) << id.format("const ID $(symbolprefix,)tmax_$(id)id = (TMIN_$(ID)ID + TNUM_$(ID)ID - 1);\n\n");
+    }
+
+    if((flag & TNUMNO) != 0)
+    {
+        (*out) << id.format("#define TNUM_$(ID)NO ") << container.size() << "\n\n";
+        (*out) << id.format("const UINT $(symbolprefix,)tnum_$(id)no = TNUM_$(ID)NO;\n\n");
+    }
+
+        /* IDé ã«ã½ã¼ã (ãã®æç¹ã§é£çªãç¢ºå®ãã¦ããã¯ããªã®ã§ï¼ãã§ãã¯ã¯ããªã) */
+    if((flag & (BUFFER|DEFINITION)) != 0)
+    {
+        const bool is_identifier = (flag & TNUMNO) == 0;
+
+        i = 0;
+        scope = container.getFirstChild();
+        while(scope != 0)
+        {
+            if(is_identifier)
+                sorter[scope->toInteger(i++)] = scope;
+            else
+                sorter[i++] = scope;
+
+            scope = scope->getNext();
+        }
+    }
+
+        //ãã­ãã¿ã¤ãå®ç¾©ã®åºå
+    if((flag & PROTOTYPE) != 0)
+    {
+        buffer = va_arg(vl, const char *);
+
+        if(def_prototype)
+        {
+            set<string> func;
+            set<string>::iterator pfunc;
+
+            scope = container.getFirstChild();
+            while(scope != NULL)
+            {
+                func.insert(scope->format(buffer));
+                scope = scope->getNext();
+            }
+
+            pfunc = func.begin();
+            while(pfunc != func.end())
+            {
+                (*out) << (*pfunc) << '\n';
+                ++ pfunc;
+            }
+        }
+    }
+
+        //ãããã¡ã®ä½æ
+    if((flag & BUFFER) != 0 && container.size() != 0)
+    {
+        buffer = va_arg(vl, const char *);
+        psorter = sorter.begin();
+        while(psorter != sorter.end())
+        {
+            (*out) << (*psorter).second->format(buffer) << '\n';
+            ++ psorter;
+        }
+        (*out) << '\n';
+    }
+
+        //å®ç¾©ãã­ãã¯(xINIB)ã®åºå
+    if((flag & DEFINITION) != 0)
+    {
+        buffer = va_arg(vl, const char *);
+        if(container.size() != 0)
+        {
+            (*out) << id.format("const $(SID)INIB $(symbolprefix,)$(sid)inib_table[TNUM_$(ID)") << ( (flag & TNUMNO) != 0  ? "NO" : "ID") << "] = {\n";
+            psorter = sorter.begin();
+            while(psorter != sorter.end())
+            {
+                (*out) << "\t{" << (*psorter).second->format(buffer) << '}';
+                ++ psorter;
+                if(psorter != sorter.end())
+                    (*out) << ',';
+                (*out) << '\n';
+            }
+            (*out) << "};\n\n";
+        }else
+            if( !restrict_zero )
+                (*out) << id.format("__EMPTY_LABEL(const $(SID)INIB, $(symbolprefix,)$(sid)inib_table);\n");
+    }
+
+    if((flag & INITLIST) != 0)
+    {
+        Directory * node;
+
+            /* å®£è¨é ã§IDçªå·ãã½ã¼ã */
+        sorter.clear();
+        node = container.getFirstChild();
+        while(node != NULL)
+        {
+            sorter.insert(pair<int,Directory*>(node->findChild("#order")->toInteger(), node));
+            node = node->getNext();
+        }
+
+        *out << id.format("const ID $(symbolprefix,)$(sid)order_table[TNUM_$(ID)ID] = {");
+        psorter = sorter.begin();
+        while(psorter != sorter.end())
+        {
+            *out << psorter->second->toInteger();
+            ++ psorter;
+            if(psorter != sorter.end())
+                *out << ',';
+        }
+        *out << "};\n\n";
+    }
+
+        //å¶å¾¡ãã­ãã¯(xCB)ã®åºå
+    if((flag & CONTROLBLOCK) != 0)
+    {
+        if(container.size() != 0)
+            (*out) << id.format("$(SID)CB $(symbolprefix,)$(sid)cb_table[TNUM_$(ID)ID];\n\n");
+        else
+            if( !restrict_zero )
+                (*out) << id.format("__EMPTY_LABEL($(SID)CB, $(symbolprefix,)$(sid)cb_table);\n\n");
+    }
+}
+
+void ConfigurationFileGenerator::body(Directory & container)
+{
+    Directory * scope;
+    KernelCfg * out;
+    string work;
+    const bool varid_style = findOption("var","variable-id");
+
+        /* kernel_id.hã®åºå */
+    serializeIdentifiers(varid_style);
+
+        /* kernel_cfg.cã®åºå */
+    out = dynamic_cast<KernelCfg *>(RuntimeObjectTable::getInstance(typeid(KernelCfg)));
+    if(out == 0) {
+        ExceptionMessage("[Internal error] The stream buffer of kernel_cfg disappeared.","[å
+é¨ã¨ã©ã¼] ãã¡ã¤ã«ã¹ããªã¼ã ãéãã¾ãã (kernel_cfg.c)").throwException();
+        return;
+    }
+
+        /* é ­ã®å®ç¾©é¨åã®ä½æ */
+    serializeConfiguration_headerPart(*out);
+
+        /* INCLUDE */
+    out->movePart(INCLUDEFILE);
+    scope = container(OBJECTTREE "/" INCLUDEFILE)->getFirstChild();
+    (*out) << "\t/* " << Message("User specified include files","ã¦ã¼ã¶å®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«") << "*/\n";
+    while(scope != 0)
+    {
+        (*out) << "#include " << scope->toString() << '\n';
+        scope = scope->getNext();
+    }
+    (*out) << '\n';
+
+        /* TASK */
+    work.assign("$(tskatr), (VP_INT)($(exinf)), (FP)($(task)), INT_PRIORITY($(itskpri)), __TROUND_STK_UNIT($(stksz)), __stack_$@, $(texatr), (FP)($(texrtn))");
+    if(container["/cpu"].toString().compare("nios32") == 0)
+        work += ", $(hi_limit), $(lo_limit)";
+    createObjectDefinition(out, container[OBJECTTREE "/" TASK], HEADER|TNUM|SHORT_ID|BUFFER|DEFINITION|CONTROLBLOCK|INIT|PROTOTYPE|INITLIST,"tsk", "t", "void $(task)(VP_INT exinf);", "static __STK_UNIT __stack_$@[__TCOUNT_STK_UNIT($(stksz))];",work.c_str());
+
+        /* SEMAPHORE */
+    createObjectDefinition(out, container[OBJECTTREE "/" SEMAPHORE], HEADER|TNUM|DEFINITION|CONTROLBLOCK|INIT,"sem", "$(sematr), $(isemcnt), $(maxsem)");
+
+        /* EVENTFLAG */
+    createObjectDefinition(out, container[OBJECTTREE "/" EVENTFLAG], HEADER|TNUM|DEFINITION|CONTROLBLOCK|INIT,"flg", "$(flgatr), $(iflgptn)");
+
+        /* DATAQUEUE */
+    createObjectDefinition(out, container[OBJECTTREE "/" DATAQUEUE], HEADER|TNUM|BUFFER|DEFINITION|CONTROLBLOCK|INIT,"dtq", "#if ($(dtqcnt)) > 0\n  static VP_INT __dataqueue_$@[$(dtqcnt)];\n#else\n  #define __dataqueue_$@ NULL\n#endif","$(dtqatr), $(dtqcnt), __dataqueue_$@");
+
+        /* MAILBOX */
+    createObjectDefinition(out, container[OBJECTTREE "/" MAILBOX], HEADER|TNUM|DEFINITION|CONTROLBLOCK|INIT,"mbx","$(mbxatr), $(maxmpri)");
+
+        /* FIXEDSIZEMEMORYPOOL */
+    createObjectDefinition(out, container[OBJECTTREE "/" FIXEDSIZEMEMORYPOOL], HEADER|TNUM|BUFFER|DEFINITION|CONTROLBLOCK|INIT,"mpf","static __MPF_UNIT __fixedsize_memorypool_$@[__TCOUNT_MPF_UNIT($(blksz)) * (($(blkcnt)))];","$(mpfatr), __TROUND_MPF_UNIT($(blksz)), __fixedsize_memorypool_$@, (VP)((VB *)__fixedsize_memorypool_$@ + sizeof(__fixedsize_memorypool_$@))");
+
+        /* CYCLICHANDLER */
+    createObjectDefinition(out, container[OBJECTTREE "/" CYCLICHANDLER], HEADER|TNUM|DEFINITION|CONTROLBLOCK|INIT|PROTOTYPE,"cyc","void $(cychdr)(VP_INT exinf);","$(cycatr),$(exinf),(FP)($(cychdr)),$(cyctim),$(cycphs)");
+
+        /* INTERRUPTHANDLER */
+    createObjectDefinition(out, container[OBJECTTREE "/" INTERRUPTHANDLER], HEADER|BUFFER|TNUMNO|DEFINITION|INIT|PROTOTYPE,"inh","void $(inthdr)(void);","CFG_INTHDR_ENTRY($(inthdr));","$@,$(inhatr),(FP)CFG_INT_ENTRY($(inthdr))");
+
+        /* EXCEPTIONHANDLER */
+    createObjectDefinition(out, container[OBJECTTREE "/" EXCEPTIONHANDLER], HEADER|BUFFER|TNUMNO|DEFINITION|INIT|PROTOTYPE,"exc","void $(exchdr)(VP p_excinf);","CFG_EXCHDR_ENTRY($(exchdr));","$@,$(excatr),(FP)CFG_EXC_ENTRY($(exchdr))");
+
+
+        /* ãªãã¸ã§ã¯ãåæåã«ã¼ãã³ */
+    out->movePart(OBJECT_INITIALIZER);
+    (*out) << "\t/* " << Message("Object initialization routine","ãªãã¸ã§ã¯ãåæåã«ã¼ãã³") << " */\n\n";
+    (*out) << "void\n" << conv_kernelobject("object_initialize") << "(void)\n{\n";
+    scope = container["/" OBJECT_INITIALIZER].getFirstChild();
+    while(scope != 0)
+    {
+        (*out) << '\t' << conv_kernelobject(scope->toString() + "_initialize") << "();\n";
+        scope = scope->getNext();
+    }
+    (*out) << "}\n\n";
+
+
+        /* åæåãã³ãã© */
+    out->movePart(INITIALIZER);
+    (*out) << "\t/* " << Message("Initialization handler","åæåãã³ãã©èµ·åã«ã¼ãã³") << " */\n\n";
+    (*out) << "void\n" << conv_kernelobject("call_inirtn") << "(void)\n{\n";
+    scope = container[OBJECTTREE "/" INITIALIZER].getFirstChild();
+    while(scope != 0)
+    {
+        (*out) << scope->format("\t$(inirtn)( (VP_INT)($(exinf)) );\n");
+        scope = scope->getNext();
+    }
+    (*out) << "}\n\n";
+
+        /* çµäºãã³ãã© */
+    scope = container[OBJECTTREE "/"  TERMINATOR].getLastChild();
+    if(!backward_compatible) {
+        (*out) << "void\n" << conv_kernelobject("call_terrtn") << "(void)\n{\n";
+        while(scope != 0)
+        {
+            (*out) << scope->format("\t$(terrtn)( (VP_INT)($(exinf)) );\n");
+            scope = scope->getPrev();
+        }
+        (*out) << "}\n\n";
+    }
+    else {
+        if(scope->size() != 0)
+            ExceptionMessage("VATT_TER is not supported for TOPPERS/JSP rel 1.3 or earlier.",
+                             "VATT_TERã¯TOPPERS/JSP rel 1.3ä»¥åã§ã¯ãµãã¼ãããã¾ãã").throwException();
+    }
+
+    out->movePart("others");
+    (*out) << "TMEVTN   " << conv_kernelobject("tmevt_heap") << "[TNUM_TSKID + TNUM_CYCID];\n\n";
+
+    container["/object_initializer"].erase();
+
+    string filename;
+    if(findOption("obj","dump-object",&filename))
+    {
+        if(filename.empty())
+            filename.assign("kernel_obj.dat");
+
+        fstream f(filename.c_str(),ios::out|ios::binary);
+        if(f.is_open())
+        {
+            container[OBJECTTREE].Store(&f);
+            f.close();
+        }else
+            ExceptionMessage(" Failed to open the file % for storing object definitions"," ãªãã¸ã§ã¯ãæ
+å ±ãæ ¼ç´ããããã®ãã¡ã¤ã«(%)ãéãã¾ãã") << filename << throwException;
+    }
+
+    out->enableOutput();
+}
+
+
+/* ======================================================================== */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_staticapi.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_staticapi.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/jsp/jsp_staticapi.cpp	(revision 26)
@@ -0,0 +1,290 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_staticapi.cpp,v 1.16 2003/12/24 07:33:26 takayuki Exp $
+ */
+
+// $Header: /home/CVS/configurator/jsp/jsp_staticapi.cpp,v 1.16 2003/12/24 07:33:26 takayuki Exp $
+
+#include "jsp/jsp_defs.h"
+
+#include "base/parser.h"
+#include "base/mpstrstream.h"
+#include <iostream>
+
+using namespace std;
+
+DECLARE_API(INCLUDE,"INCLUDE")
+{
+    Token token;
+    Directory * node;
+    Directory * scope;
+
+    last = NULL;
+    p.getToken(token, Token::STRINGLITERAL);
+    token.chopLiteral();
+
+    if( (token[0] != '\"' || token[token.size()-1] != '\"') &&
+        (token[0] != '<' || token[token.size()-1] != '>') )
+        ExceptionMessage("An include filename must be enclosed with \"...\" or <...>","ãã¡ã¤ã«åã¯ \"...\" ã <...> ã®å½¢ã§ãªããã°ãªãã¾ãã").throwException();
+
+    node = container.openChild(OBJECTTREE,INCLUDEFILE,NULL);
+    last = node;
+
+        //éè¤ãã§ãã¯
+    scope = node->getFirstChild();
+    while(scope != 0)
+    {
+        if(token.compare((*scope).toString()) == 0)
+        {
+            cerr << p.getStreamLocation() << ' ' << (Message("Include file % was already specified (ignored).","ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«%ãè¤æ°åæå®ããã¾ãã (ç¡è¦ãã¾ã)") << token) << endl;
+            return;
+        }
+        scope = scope->getNext();
+    }
+    
+    node->addChild(new Directory(token));
+}
+
+DECLARE_API(CRE_TSK,"CRE_TSK")
+{
+    Token token;
+    string work;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, TASK);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"tskatr,exinf,task,itskpri,stksz");
+    p.getToken(",","NULL","}",NULL);
+
+    (*node)["texatr"] = "TA_NULL";
+    (*node)["texrtn"] = "NULL";
+
+    if(container["/cpu"].toString().compare("nios32") == 0) 
+    {
+        (*node)["hi_limit"] = "TSK_HI_LIMIT";
+        (*node)["lo_limit"] = "TSK_LO_LIMIT";
+    }
+}
+
+DECLARE_API(VATT_TRW,"VATT_TRW")
+{
+    Token token;
+    Directory * node;
+
+    if(container["/cpu"].toString().compare("nios32") != 0)
+        ExceptionMessage("VATT_TRW is not supported except for the processor 'nios32'.","VATT_TRWã¯nios32ãã­ã»ããµã§ã®ã¿ãµãã¼ãããã¾ã").throwException();
+
+    p.getToken(token);
+    node = find(container[OBJECTTREE], token, TASK);
+
+    p.getToken(",","{",NULL);
+    parseParameters(p, node, "hi_limit,lo_limit");
+    p.getToken("}");
+}
+
+DECLARE_API(DEF_TEX,"DEF_TEX")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = find(container[OBJECTTREE], token, TASK);
+
+    p.getToken(",","{",NULL);
+    parseParameters(p, node, "texatr,texrtn");
+    p.getToken("}");
+}
+
+DECLARE_API(CRE_SEM,"CRE_SEM")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, SEMAPHORE);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"sematr,isemcnt,maxsem");
+    p.getToken("}");
+}
+
+DECLARE_API(CRE_FLG,"CRE_FLG")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, EVENTFLAG);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"flgatr,iflgptn");
+    p.getToken("}");
+}
+
+DECLARE_API(CRE_DTQ,"CRE_DTQ")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, DATAQUEUE);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"dtqatr,dtqcnt");
+    p.getToken(",","NULL","}",NULL);
+}
+
+DECLARE_API(CRE_MBX,"CRE_MBX")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, MAILBOX);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"mbxatr,maxmpri");
+    p.getToken(",","NULL","}",NULL);
+}
+
+DECLARE_API(CRE_MPF,"CRE_MPF")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, FIXEDSIZEMEMORYPOOL);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"mpfatr,blkcnt,blksz");
+    p.getToken(",","NULL","}",NULL);
+}
+
+DECLARE_API(CRE_CYC,"CRE_CYC")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, CYCLICHANDLER);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"cycatr,exinf,cychdr,cyctim,cycphs");
+    p.getToken("}");
+}
+
+DECLARE_API(DEF_INH,"DEF_INH")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, INTERRUPTHANDLER, false);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"inhatr,inthdr");
+    p.getToken("}");
+}
+
+DECLARE_API(DEF_EXC,"DEF_EXC")
+{
+    Token token;
+    Directory * node;
+
+    p.getToken(token);
+    node = allocate(container[OBJECTTREE], token, EXCEPTIONHANDLER, false);
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken(",","{",NULL);
+    parseParameters(p,node,"excatr,exchdr");
+    p.getToken("}");
+}
+
+DECLARE_API(ATT_INI,"ATT_INI")
+{
+    Token token;
+    Directory * node;
+
+    node = container.openChild(OBJECTTREE,INITIALIZER,NULL)->addChild();
+    last = node;
+
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken("{",NULL);
+    parseParameters(p,node,"iniatr,exinf,inirtn");
+    p.getToken("}");
+}
+
+DECLARE_API(ATT_FIN, "VATT_TER")
+{
+    Token token;
+    Directory * node;
+
+    node = container.openChild(OBJECTTREE,TERMINATOR,NULL)->addChild();
+    last = node;
+
+    (*node)["position"] = p.getStreamLocation();
+
+    p.getToken("{",NULL);
+    parseParameters(p,node,"teratr,exinf,terrtn");
+    p.getToken("}");
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/checker.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/checker.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/checker.dsp	(revision 26)
@@ -0,0 +1,182 @@
+# Microsoft Developer Studio Project File - Name="checker" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=checker - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "checker.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "checker.mak" CFG="checker - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "checker - Win32 Release" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE "checker - Win32 Debug" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "checker - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /W2 /GR /GX /O2 /I ".." /D "NDEBUG" /D "NO_FC_BINUTILS_CPP" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "FILECONTAINER_WINDOWS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib imagehlp.lib /nologo /subsystem:console /machine:I386 /out:"../chk.exe"
+
+!ELSEIF  "$(CFG)" == "checker - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /I ".." /D "_DEBUG" /D "NO_FC_WINDOWS_CPP" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "FILECONTAINER_WINDOWS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib imagehlp.lib /nologo /subsystem:console /debug /machine:I386 /out:"../chk.exe" /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "checker - Win32 Release"
+# Name "checker - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\base\collection.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\component.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\directorymap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\except.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\fc_binutils.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\fc_windows.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\filecontainer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\garbage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\message.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\option.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\singleton.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\base\component.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\directorymap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\except.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\filecontainer.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\garbage.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\message.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\singleton.h
+# End Source File
+# End Group
+# Begin Group "Target dependent"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\jsp\jsp_check.cpp
+# End Source File
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsp	(revision 26)
@@ -0,0 +1,242 @@
+# Microsoft Developer Studio Project File - Name="configurator" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=configurator - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "configurator.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "configurator.mak" CFG="configurator - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "configurator - Win32 Release" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE "configurator - Win32 Debug" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "configurator - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /W2 /GR /GX /O2 /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../cfg.exe"
+
+!ELSEIF  "$(CFG)" == "configurator - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../cfg.exe" /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "configurator - Win32 Release"
+# Name "configurator - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\base\collection.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\component.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\coverage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\directorymap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\event.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\except.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\garbage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\message.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\mpstrstream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\option.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\parser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\singleton.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\testsuite.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\base\collection.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\component.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\coverage_defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\coverage_undefs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\directorymap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\event.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\except.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\garbage.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\message.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\mpstrstream.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\option.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\parser.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\singleton.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\base\testsuite.h
+# End Source File
+# End Group
+# Begin Group "Target dependent"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\jsp\jsp_checkscript.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_classes.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_common.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_common.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_parser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\jsp\jsp_staticapi.cpp
+# End Source File
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/configurator.dsw	(revision 26)
@@ -0,0 +1,39 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+###############################################################################
+
+Project: "checker"=.\checker.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "configurator"=.\configurator.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/make.vbs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/make.vbs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/cfg/vc_project/make.vbs	(revision 26)
@@ -0,0 +1,94 @@
+' 
+'   TOPPERS/JSP Kernel
+'       Toyohashi Open Platform for Embedded Real-Time Systems/
+'       Just Standard Profile Kernel
+'  
+'   Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+'                               Toyohashi Univ. of Technology, JAPAN
+'  
+'   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+'   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+'   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+'   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+'   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+'   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+'       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+'       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+'   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+'       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+'       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+'       ã¨ï¼
+'     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+'         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+'         å ±åãããã¨ï¼
+'   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+'       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+'  
+'   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+'   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+'   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+'   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+'  
+'   @(' ) $Id: make.vbs,v 1.11 2003/12/26 03:49:46 honda Exp $
+'  
+
+dim model
+dim msdev
+
+if msgbox("TOPPERS/JSP ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ ããã³ æ§æãã§ãã«ãçæãã¾ãï¼å¦çãéå§ãã¦ãããããã§ãã?", vbYesno) = vbyes then
+
+	if msgbox("ãªãªã¼ã¹ãã«ããã¾ãã? (ããããããé¸ã¶ã¨ãããã°å¯è½ãªå®è¡ãã¡ã¤ã«ãçæãã¾ã)",vbyesno) = vbyes then
+		model = " - Win32 Release"
+	else
+		model = " - Win32 Debug"
+	end if
+
+		'Visual C++ ã®èµ·å
+	set msdev = CreateObject("MSDEV.APPLICATION")
+	msdev.visible = true
+
+	msdev.documents.open left(Wscript.ScriptFullName, len(Wscript.scriptfullname) - len(wscript.scriptname)) + "configurator.dsw"
+
+		'ãã§ãã«ã®çæ
+	set msdev.activeproject = msdev.projects("checker")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("checker" + model)
+
+	if msgbox("ãã§ãã«ã¯Windowsç¨ã§ãã?" & vbcr & "(ããããããé¸ã¶ã¨cygwin/MinGWç¨ã®ãã§ãã«ãçæãã¾ã)", vbyesno) = vbno then
+		msdev.activeconfiguration.removetoolsettings "cl.exe","/D " & chr(34) & "FILECONTAINER_WINDOWS" & chr(34)
+		msdev.activeconfiguration.addtoolsettings "cl.exe","/D " & chr(34) & "FILECONTAINER_BINUTILS" & chr(34)
+	else
+		msdev.activeconfiguration.removetoolsettings "cl.exe","/D " & chr(34) & "FILECONTAINER_BINUTILS" & chr(34)
+		msdev.activeconfiguration.addtoolsettings "cl.exe","/D " & chr(34) & "FILECONTAINER_WINDOWS" & chr(34)
+	end if
+
+	msdev.rebuildall
+
+		'ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®çæ
+	set msdev.activeproject = msdev.projects("configurator")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("configurator" + model)
+	msdev.build
+
+msdev.quit
+set msdev = nothing
+
+msgbox "å
+¨ã¦ã®å¦çãçµäºãã¾ãã"
+end if
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: armv4.h,v 1.3 2003/12/19 11:24:37 honda Exp $
+ */
+
+/*
+ *    ARMv4ã®å®ç¾©
+ */
+
+#ifndef _ARMV4_H_
+#define _ARMV4_H_
+
+/*
+ *  ARM Exception Vector
+ */
+#define SVC_Vector    0x00
+#define UND_Vector    0x04
+#define SWI_Vector    0x08
+#define PRFA_Vector   0x0C
+#define DATAA_Vector  0x10
+#define IRQ_Vector    0x18
+#define FIQ_Vector    0x1C
+
+
+/*
+ * ARM Exception Vector Number
+ */
+#define SVC_Number    0
+#define UND_Number    1
+#define SWI_Number    2
+#define PRFA_Number   3
+#define DATAA_Number  4
+#define UNNOWN_Number 5
+#define IRQ_Number    6
+#define FIQ_Number    7
+
+/*
+ *  CPSR å²è¾¼ã¿ç¦æ­¢ããã
+ */
+#define CPSR_INT_MASK 0xC0
+#define CPSR_IRQ_BIT  0x80
+#define CPSR_FIQ_BIT  0x40
+
+/*
+ *  CPSR ã®ã¢ã¼ãããã
+ */
+#define CPSR_MODE_MASK   0x1f
+#define CPSR_USER        0x10
+#define CPSR_FIQ         0x11
+#define CPSR_IRQ         0x12
+#define CPSR_SVC         0x13
+#define CPSR_ABT         0x17
+#define CPSR_SYS         0x1F
+
+#endif /* _ARMV4_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4t-ghs.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4t-ghs.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/armv4t-ghs.bld	(revision 26)
@@ -0,0 +1,32 @@
+#!build
+default:
+	subproject
+	:sourcedirs=./integrator
+	:sourcedirs=../armv4
+	:defines=ARM920T_CORE
+tool_defs.h
+	include_file
+cpu_config.h
+	include_file
+armv4.h
+	include_file
+cpu_insn.h
+	include_file
+tool_config.h
+	include_file
+cpu_context.h
+	include_file
+cpu_defs.h
+	include_file
+cpu_rename.h
+	include_file
+cpu_unrename.h
+	include_file
+cpu_support.arm
+	assembly
+start.arm
+	assembly
+cpu_config.c
+	C
+integrator.bld
+	subproject
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_config.h	(revision 26)
@@ -0,0 +1,352 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.3 2003/12/19 11:24:37 honda Exp $
+ */
+
+/*
+ *    ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM4vTç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.hã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include "cpu_rename.h"
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define    TBIT_TCB_TSTAT       8    /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define    TBIT_TCB_PRIORITY    8    /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+    VP    sp;        /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+    FP    pc;        /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+extern UW interrupt_count;
+
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+Inline UB
+current_mode()
+{
+    return(current_sr() & CPSR_MODE_MASK);
+}
+
+Inline BOOL
+sense_context()
+{
+    return(interrupt_count > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+    return(current_sr() & CPSR_IRQ_BIT);
+}
+
+#define t_sense_lock    sense_lock
+#define i_sense_lock    sense_lock
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ */
+
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+
+Inline void
+lock_cpu()
+{
+    disint();
+}
+
+Inline void
+unlock_cpu()
+{
+    enaint();
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    dispatch(void);
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    exit_and_dispatch(void);
+
+
+/*
+ * ä¾å¤ãã¯ã¿ã«æ¸ãè¾¼ã¾ããã¸ã£ã³ãå½ä»¤ãåç
+§ããã¢ãã¬ã¹
+ */
+extern UW * arm_vector_add[8];
+
+
+/*
+ * ä¾å¤ã«å¿ãããã³ãã©ã®èµ·åçªå°
+ */
+extern UW arm_handler_add[8];
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+extern void define_exc(EXCNO excno, FP exchdr);
+
+
+Inline void
+arm_install_handler(EXCNO excno, FP exchdr)
+{
+    *arm_vector_add[excno] = (UW)exchdr;
+}
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define __EXCHDR_ENTRY(exchdr, stacktop)    \
+extern void exchdr##_entry(VP sp);          \
+asm(".text                             \n"  \
+#exchdr "_entry:                       \n"  \
+"       ldr   sp,.int_stack_"#exchdr"  \n"  /* ã¹ã¿ãã¯ã®åãæ¿ã        */\
+"       sub   lr,lr,#4                 \n"  /* undefã§ãããã§ããã?    */\
+"       stmfd sp!, {r0 - r2,lr}        \n"  /* ä¸æçã«int_stackã«å¾
+é¿   */ \
+"       mrs   r0, spsr                 \n"  /* SVCã¢ã¼ãã«åãæ¿ãããã */ \
+"       mov   r1, sp                   \n"  /* ä¿å­ãã                  */ \
+"       mov   r2,#0xd3                 \n"  /* CPSRã®æ¸ãæã            */ \
+"       msr   cpsr,r2                  \n" \
+"       ldr   r2,[r1,#0x0C]            \n"     /* load  PC            */\
+"       stmfd sp!,{r2}                 \n"     /* Store PC            */\
+"       stmfd sp!,{r3,ip,lr}           \n"     /* Store r3,ip,lr      */\
+"       ldmfd r1!,{r2,ip,lr}           \n"     /* load  r0,r1,r2      */\
+"       stmfd sp!,{r0,r2,ip,lr}        \n"     /* SPSR,Store r0,r1,r2 */\
+"       ldr  r2, .interrupt_count_"#exchdr"\n" /* å¤éå²ãè¾¼ã¿ãå¤å®  */\
+"       ldr  r3, [r2]                  \n" \
+"       add  r0,r3,#1                  \n" \
+"       str  r0, [r2]                  \n" \
+"       mov  r0,sp                     \n" /* ä¾å¤ãã³ãã©ã¸ã®å¼æ° */\
+"       cmp  r3, #0x00                 \n" \
+"       ldreq   sp,stack_"#exchdr"     \n" /* ã¹ã¿ãã¯ã®å¤æ´       */\
+"       stmeqfd sp!,{r0}               \n" /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */\
+"       mov   r2,#0x13                 \n" /* å²ãè¾¼ã¿è¨±å¯         */\
+"       msr   cpsr,r2                  \n" \
+"       bl    "#exchdr"                \n" /* ãã³ãã©å¼ã³åºã     */\
+"       mov   r2,#0xd3                 \n" /* å²ãè¾¼ã¿ç¦æ­¢         */\
+"       msr   cpsr,r2                  \n" \
+"       ldr   r2,.interrupt_count_"#exchdr" \n"/* å²ãè¾¼ã¿åæ°ã   */\
+"       ldr   r1, [r2]                 \n"     /* ãã¯ãªã¡ã³ã     */\
+"       sub   r3,r1,#1                 \n"\
+"       str   r3, [r2]                 \n"\
+"       cmp   r3,#0x00                 \n" /* å²ãè¾¼ã¿ãã¹ãæ°?    */\
+"       bne   return_to_task_"#exchdr" \n" \
+"       ldmfd sp!,{r0}                 \n" /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° */\
+"       mov   sp, r0                   \n"\
+"       ldr   r1, reqflg_"#exchdr"     \n" /* Check reqflg         */\
+"       ldr   r0,[r1]                  \n"\
+"       cmp   r0,#0                    \n"\
+"       beq   return_to_task_"#exchdr" \n"\
+"       mov   r0,#0                    \n"\
+"       str   r0,[r1]                  \n" /* Clear reqflg   */\
+"       b     _kernel_ret_exc          \n" /* ret_intã¸      */\
+"return_to_task_"#exchdr":             \n" \
+"       ldmfd sp!,{r1}                 \n" /* CPSRã®å¾©å¸°å¦ç */\
+"       msr   spsr, r1                 \n" /* å²ãè¾¼ã¿è¨±å¯   */\
+"       ldmfd sp!,{r0-r3,ip,lr,pc}^     \n"\
+"       .align 4                       \n"\
+".int_stack_"#exchdr":                 \n"\
+"       .word _kernel_int_stack + 6 * 4       \n"\
+"reqflg_"#exchdr":                     \n"\
+"       .word     _kernel_reqflg       \n"\
+"stack_"#exchdr":                      \n"\
+"       .word   " #stacktop "         \n"\
+".interrupt_count_"#exchdr":           \n"\
+"       .word   _kernel_interrupt_count       \n")
+
+
+#define _EXCHDR_ENTRY(exchdr, stacktop)    __EXCHDR_ENTRY(exchdr, stacktop)
+
+#define EXCHDR_ENTRY(exchdr)    _EXCHDR_ENTRY(exchdr, STACKTOP)
+
+#define EXC_ENTRY(exchdr) exchdr##_entry
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ããã
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    return(interrupt_count > 1);    
+}
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+    return((*((UW *)p_excinf) & CPSR_IRQ_BIT) == CPSR_IRQ_BIT );
+}
+
+
+/*
+ * æªå®ç¾©ã®ä¾å¤ãå
+¥ã£ãå ´å
+ */
+extern void undef_exception();
+extern void swi_exception();
+extern void prefetch_exception();
+extern void data_abort_exception();
+extern void irq_abort_exception();
+extern void fiq_abort_exception();
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void    cpu_initialize(void);
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void    cpu_terminate(void);
+
+
+/*
+ * CPU/å²è¾¼ã¿ãã³ãã©ã®åºå
+¥ãå£å¦çã§ä¸æçã«ä½¿ç¨ããã¹ã¿ãã¯
+ */
+#define INT_STACK_SIZE 6
+extern UW int_stack[INT_STACK_SIZE];
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_insn.h	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.3 2003/12/19 11:24:37 honda Exp $
+ */
+
+/*
+ *   ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼ARMv4ç¨ï¼
+ */
+
+#ifndef _CPU_INSN_H_
+#define _CPU_INSN_H_
+
+#include <armv4.h>
+
+#define CPU_BITMAP_SEARCH 
+#define bitmap_search(bitmap)     (ffs(bitmap)-1)
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼CPSRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+asm 
+unsigned int current_sr()
+{
+%
+    mrs    r0,CPSR    
+}
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼CPSRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+asm 
+void set_sr(s)
+{
+%reg s
+   msr     CPSR,s
+}
+
+
+/*
+ *  IRQå²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+    set_sr(current_sr() | CPSR_IRQ_BIT);
+}
+
+
+/*
+ *  IRQå²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+    set_sr(current_sr() & ~CPSR_IRQ_BIT);
+}
+
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_support.arm
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_support.arm	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/cpu_support.arm	(revision 26)
@@ -0,0 +1,235 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.arm,v 1.4 2003/12/24 06:51:28 honda Exp $
+ */
+
+/*
+ *    ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼ARMv4ç¨ï¼
+ */
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <armv4.h>
+#include <t_config.h>
+        
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatchã¯ï¼
+ *  dispatch ã¯ï¼ã·ã¹ãã ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããª
+ *  ãï¼_exit_and_dispatch ãï¼ã·ã¹ãã ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºã
+ *  ã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼IRQã¢ã¼ãã§å¼ã³åºãã
+ *    å ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+
+        .text
+        .align 4    
+        .globl dispatch
+        .globl exit_and_dispatch
+dispatch:
+        stmfd sp!, {r4 - r11,lr}   /* ã¬ã¸ã¹ã¿ã®ä¿å­ */
+        ldr   r0, =runtsk          /* runtskãèª­ã¿è¾¼ã */
+        ldr   r1, [r0]
+        str   sp, [r1,#TCB_sp]      /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+        adr   r2, dispatch_r
+        str   r2, [r1,#TCB_pc]      /* å®è¡åéçªå°ãä¿å­ */
+        ldr   r6, =interrupt_count  /* r6 <-interrupt_count */
+        mov   r5, #(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT)  /* å²ãè¾¼ã¿ç¦æ­¢(ã·ã¹ãã ã¢ã¼ã) */
+        mov   r4, #(CPSR_SVC|CPSR_FIQ_BIT)               /* å²ãè¾¼ã¿è¨±å¯(ã·ã¹ãã ã¢ã¼ã) */
+        b     dispatcher_1
+
+dispatch_r:
+        ldmfd sp!,{r4 - r11,lr}
+        /*
+         * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+         * dispatch_r ã¯ dispatcher_1 ããå¼ã³åºãããããï¼
+         * tcbã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+         */
+        ldr  r0,[r1,#TCB_enatex]
+        tst   r0,#TCB_enatex_mask
+        beq   dispatch_r_1          /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        ldr   r0,[r1,#TCB_texptn]   /* texptnãã­ã¼ã               */
+        tst   r0,r0                 /* texptn ã0ã§ç¡ããã°         */
+        bne   call_texrtn           /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+dispatch_r_1:   
+        mov   pc,lr        
+
+
+
+exit_and_dispatch:
+        ldr   r6, =interrupt_count /* interrupt_countã0ã¯ãªã¢ */
+        mov   r3, #0        
+        str   r3, [r6]                                        
+        /*
+         *  FIQã¯å¸¸ã«ç¦æ­¢ããï¼
+         */
+        mov   r5, #(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT) /* å²ãè¾¼ã¿ç¦æ­¢(ã·ã¹ãã ã¢ã¼ã) */
+        mov   r4, #(CPSR_SVC|CPSR_FIQ_BIT)  /* å²ãè¾¼ã¿è¨±å¯(ã·ã¹ãã ã¢ã¼ã) */
+        msr   cpsr, r5          /* ã·ã¹ãã ã¢ã¼ã */
+dispatcher_1:
+        /*
+         *  ããã§ã¯ã·ã¹ãã ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ãªããã°ãªããªãï¼
+         */
+        ldr   r0, =schedtsk   /* schedtsk ãèª­ã¿è¾¼ã */
+        ldr   r1, [r0]
+        cmp   r1, #0
+        beq   dispatcher_2
+#ifdef GHS_HOOK /* GHS */
+	stmfd  sp!,{r0,r1}
+	mov    r0,r1
+	ldr    r2,=dispatch_hook
+	mov    lr,pc
+	mov    pc,r2
+	ldmfd  sp!,{r0,r1}
+#endif
+        ldr   r2, =runtsk     /* schedtsk ã runtskã« */
+        str   r1, [r2]
+dispatcher_3:           
+        ldr   sp, [r1,#TCB_sp] /* ã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+        ldr   pc, [r1,#TCB_pc] /* å®è¡åéçªå°ãå¾©å¸°   */
+dispatcher_2:
+        mov   r3,#1
+        str   r3, [r6]
+        /* sleepã¢ã¼ããæã¤CPUãªãæ¸ãæãã */
+        msr   cpsr, r4        /* å²è¾¼ã¿å¾
+ã¡      */
+        WAIT_INTERRUPT        
+        msr   cpsr, r5        /* å²è¾¼ã¿ç¦æ­¢      */
+        mov   r3,#0
+        str   r3, [r6]        
+        b     dispatcher_1
+
+
+                
+/*
+ *  ã¿ã¹ã¯èµ·åæå¦ç
+ */
+        .text
+        .globl activate_r
+activate_r:
+        mov   r1,#(CPSR_SVC|CPSR_FIQ_BIT) /* å²ãè¾¼ã¿è¨±å¯(ã·ã¹ãã ã¢ã¼ã) */
+        msr   cpsr, r1         /* å²è¾¼ã¿è¨±å¯ */
+        ldr   lr, =ext_tsk     /* æ»ãçªå°è¨­å® */
+        ldmfd sp!, {r0,pc}     /* å¼æ°,PCè¨­å®  */
+
+
+        
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ *  ret_int ã¯ã·ã¹ãã ã¢ã¼ãã»IRQå²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãï¼
+ */
+        .text
+        .globl ret_int
+        .globl ret_exc 
+ret_int:
+ret_exc:                
+        /*
+         *   ã·ã¹ãã ã¢ã¼ãã§æ¥ããã¨
+         */
+        ldr   r2, =runtsk       /* runtsk ãèª­ã¿è¾¼ã */
+        ldr   r1, [r2]
+        ldr   r2, =enadsp
+        ldr   r0, [r2]
+        cmp   r0, #0
+        beq   ret_int_1
+        ldr   r2, =schedtsk
+        ldr   r0, [r2]
+        cmp   r0, r1            /* schedtsk ã¨ runtskãæ¯è¼ */
+        beq   ret_int_1
+        stmfd sp!, {r4-r11}     /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+        str   sp, [r1,#TCB_sp]  /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+        adr   r0, ret_int_r     /* å®è¡åéçªå°ãä¿å­   */
+        str   r0, [r1,#TCB_pc]
+        b     dispatcher_1
+ret_int_r:
+        ldmfd sp!, {r4-r11}     /* ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+ret_int_1:
+        /*
+         * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+         * dispatch_r ã¯ dispatcher_1 ããå¼ã³åºãããããï¼
+         * tcbã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+         * ret_int_1 ã¯ ret_exeããå¼ã³åºããã
+         */
+        ldr  r0, [r1,#TCB_enatex] 
+        tst   r0, #TCB_enatex_mask
+        beq   ret_int_2              /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        ldr   r0, [r1,#TCB_texptn]   /* texptnãã­ã¼ã               */
+        tst   r0, r0                 /* texptn ã0ã§ç¡ããã°         */
+        blne  call_texrtn            /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */        
+ret_int_2:              
+        ldmfd sp!, {r0}       /* spsr ãå¾©å¸° */
+        msr cpsr,r0
+        ldmfd sp!, {r0 - r3,ip,lr,pc} /* ã¿ã¹ã¯ã¸æ»ã */
+        
+
+
+        /*
+         *  å¾®å°æéå¾
+ã¡
+         */
+	.globl sil_dly_nse
+sil_dly_nse:
+        sub   r0, r0, #SIL_DLY_TIM1
+        cmp   r0, #0
+        bgt   _sil_dly_nse1
+        movle pc, lr
+_sil_dly_nse1:
+        sub   r0, r0, #SIL_DLY_TIM2
+        cmp   r0, #0
+        bgt   _sil_dly_nse1
+        movle pc, lr
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.cfg	(revision 26)
@@ -0,0 +1,12 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/12/13 08:45:24 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Integratorï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, uart_isr0 });
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SIO2, { TA_HLNG, uart_isr1 });
+#endif /* TNUM_SIOP >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_serial.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.3 2003/12/19 11:24:18 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Integratorç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <integrator.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO	IRQ_UART1_BIT
+#define INHNO_SIO2      IRQ_UART0_BIT
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+      
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    /* Enable Interrupt Rx */
+    if(!openflag){
+        sil_wrw_mem((VP)IRQ0_ENABLESET,IRQ_UART1);
+    }
+    
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+
+    /*
+     *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+     */
+    if (!uart_openflag) {
+        /* Clear Rx Tx Pending bit */
+        sil_wrw_mem((VP)IRQ0_ENABLECLR,(IRQ_UART1));
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler  uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_sysio.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_sysio.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_sysio.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_sysio.h,v 1.5 2003/12/24 07:24:40 honda Exp $
+ */
+
+#ifndef _HW_SYSIO_H_
+#define _HW_SYSIO_H_
+
+
+#include "integrator.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+Inline void
+hw_sysio_initialize()
+{
+    /*disable interrupt*/
+    sil_wrw_mem((VP)UART0_CR,~UCR_UARTEN);
+    /*baud rate 38400*/
+    sil_wrw_mem((VP)UART0_LCRM,ULCRM_38400);
+    sil_wrw_mem((VP)UART0_LCRL,ULCRL_38400);
+    /*8bits, 1Stop bit, no parity*/
+    sil_wrw_mem((VP)UART0_LCRH,ULCRH_WLEN_8BIT);
+    /*Clear all registers*/
+    sil_wrw_mem((VP)UART0_ICR,0xff);
+    /*enable interrupt*/
+    sil_wrw_mem((VP)UART0_CR,UCR_UARTEN | UCR_RIE);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+hw_sysio_terminate()
+{
+    /*disable interrupt*/
+    sil_wrw_mem((VP)UART0_CR,~UCR_UARTEN);
+}
+
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_sysio_putready()
+{
+    return((sil_rew_mem((VP)UART0_FR) & UFR_BUSY)==0);
+}
+
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+hw_sysio_putchar(UB c)
+{
+    while(!hw_sysio_putready())
+        ;
+    sil_wrw_mem((VP)UART0_DR,c);
+}
+
+#endif /* _HW_SYSIO_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/hw_timer.h	(revision 26)
@@ -0,0 +1,171 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by  Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.3 2003/12/19 11:24:18 honda Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ *  TMU0ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <integrator.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define	INHNO_TIMER	IRQ_TM1_BIT
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK	((CLOCK) 0xffffffff)
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE	100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	CLOCK	cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+        
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	/* ã¿ã¤ãåæ­¢ */
+	sil_wrw_mem((VP)TM1_CTRL,TCTRL_STOP);
+	/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert(cyc <= MAX_CLOCK);       
+	/* å²è¾¼ã¿ã®ã¯ãªã¢  */
+	sil_wrw_mem((VP)TM1_CTRL,0x01);
+	sil_wrw_mem((VP)TM1_LOAD,cyc);
+	/* ã«ã¦ã³ãå¤ãã»ãã */
+	sil_wrw_mem((VP)TM1_VAL,cyc);
+	/* ã«ã¦ã³ãã¹ã¿ã¼ã   */
+        sil_wrw_mem((VP)TM1_CTRL,TCTRL_START);
+	/* å²è¾¼ã¿è¨±å¯ */    	
+	sil_wrw_mem((VP)IRQ0_ENABLESET,IRQ_TM1);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+  sil_wrw_mem((VP)TM1_CLR,0x01);    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+    sil_wrw_mem((VP)TM1_CLR,0x01);    
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)TM1_CTRL,TCTRL_STOP);
+    /* å²è¾¼ã¿ä¸è¨±å¯*/
+    sil_wrw_mem((VP)IRQ0_ENABLECLR,
+	    sil_rew_mem((VP)IRQ0_ENABLECLR)&~IRQ_TM1);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)TM1_VAL));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return(sil_rew_mem((VP)IRQ0_STATUS) & IRQ_TM1);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.bld	(revision 26)
@@ -0,0 +1,25 @@
+#!build
+default:
+	subproject
+sys_unrename.h
+	include_file
+hw_serial.h
+	include_file
+hw_sysio.h
+	include_file
+hw_timer.h
+	include_file
+integrator.h
+	include_file
+sys_config.h
+	include_file
+sys_defs.h
+	include_file
+sys_rename.h
+	include_file
+sys_support.arm
+	assembly
+integrator.c
+	C
+sys_config.c
+	C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.c	(revision 26)
@@ -0,0 +1,349 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: integrator.c,v 1.4 2003/12/24 08:05:00 honda Exp $
+ *  
+ */
+
+/*
+ * Integrator å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <integrator.h>
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+    {(VP)UART1_DR,(VP)UART1_CR,(VP)UART1_LCRL,
+     (VP)UART1_LCRM,(VP)UART1_LCRH,(VP)UART1_IIR,
+     (VP)UART1_FR,IRQ_UART1
+    }
+#if TNUM_SIOP >= 2
+    ,
+    {(VP)UART0_DR,(VP)UART0_CR,(VP)UART0_LCRL,
+     (VP)UART0_LCRM,(VP)UART0_LCRH,(VP)UART0_IIR,
+     (VP)UART0_FR,IRQ_UART0
+    }
+
+#endif /* TNUM_SIOP >= 2 */
+};
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return((sil_rew_mem((VP)(siopcb->siopinib->int_identifier)) & IIR_RIS)!=0);
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    return((sil_rew_mem((VP)(siopcb->siopinib->flag_register)) & UFR_BUSY)==0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->uart_data)));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_data),c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+            (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) | UCR_TIE));
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+	    (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) & ~UCR_TIE));
+}
+
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+	    (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) | UCR_RIE));
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+	    (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) & ~UCR_RIE));
+
+}
+
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)siopinib->uart_control, ~UCR_UARTEN);
+    /* 19200bps */
+    sil_wrw_mem((VP)siopinib->linectrl_lo, ULCRL_19200); 
+    sil_wrw_mem((VP)siopinib->linectrl_mid, ULCRM_19200);
+    /* 8Data, 1Stop, No Parity */
+    sil_wrw_mem((VP)siopinib->linectrl_hi, ULCRH_WLEN_8BIT);
+
+    
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    sil_wrw_mem((VP)siopinib->uart_control, UCR_UARTEN); /* Enable Interrupt */
+    sil_wrw_mem((VP)IRQ0_ENABLESET,siopinib->irq_bit);/*Enable interrupt register*/
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);    
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+	    (sil_rew_mem((VP)(siopcb->siopinib->uart_control))&~UCR_UARTEN)); /* Disable Interrupt */
+    
+    siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_isr0()
+{
+    uart_isr_siop(&(siopcb_table[0]));
+}
+
+#if TNUM_SIOP >= 2
+void
+uart_isr1()
+{
+    uart_isr_siop(&(siopcb_table[1]));
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/integrator.h	(revision 26)
@@ -0,0 +1,452 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: integrator.h,v 1.3 2003/12/19 11:24:18 honda Exp $
+ */
+
+#ifndef _INTEGRATOR_H_
+#define _INTEGRATOR_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include "armv4.h"
+#include "sys_config.h"
+#include "cpu_config.h"
+
+
+/*
+ * Interrupt controller
+ */
+
+#define IRQ_BASE_REG    0x14000000
+#define IRQ0_STATUS     (IRQ_BASE_REG)
+#define IRQ0_RAWSTAT    (IRQ_BASE_REG + 0x04)
+#define IRQ0_ENABLESET  (IRQ_BASE_REG + 0x08)
+#define IRQ0_ENABLECLR  (IRQ_BASE_REG + 0x0c)
+
+#define IRQ_EXTINT_BIT		0x15
+#define IRQ_PCILBINT_BIT	0x14
+#define IRQ_ENUMINT_BIT		0x13
+#define IRQ_DEGINT_BIT		0x12
+#define IRQ_LINT_BIT		0x11
+#define IRQ_PCIINT3_BIT		0x10
+#define IRQ_PCIINT2_BIT		0x0f
+#define IRQ_PCIINT1_BIT		0x0e
+#define IRQ_PCIINT0_BIT		0x0d
+#define IRQ_EXPINT3_BIT		0x0c
+#define IRQ_EXPINT2_BIT		0x0b
+#define IRQ_EXPINT1_BIT		0x0a
+#define IRQ_EXPINT0_BIT		0x09
+#define IRQ_RTCINT_BIT		0x08
+#define IRQ_TM2_BIT		0x07
+#define IRQ_TM1_BIT		0x06
+#define IRQ_TM0_BIT		0x05
+#define IRQ_MOUSEINT_BIT	0x04
+#define IRQ_KBDINT_BIT		0x03
+#define IRQ_UART1_BIT   	0x02
+#define IRQ_UART0_BIT		0x01
+#define IRQ_SOFTINT_BIT 	0x00
+
+#define IRQ_EXTINT	(1 << IRQ_EXTINT_BIT)
+#define IRQ_PCILBIN	(1 << IRQ_PCILBIN_BIT)
+#define IRQ_ENUMINT	(1 << IRQ_ENUMINT_BIT)
+#define IRQ_DEGINT	(1 << IRQ_DEGINT_BIT)
+#define IRQ_LINT	(1 << IRQ_LINT_BIT)
+#define IRQ_PCIINT3	(1 << IRQ_PCIINT3_BIT)
+#define IRQ_PCIINT2	(1 << IRQ_PCIINT2_BIT)
+#define IRQ_PCIINT1	(1 << IRQ_PCIINT1_BIT)
+#define IRQ_PCIINT0	(1 << IRQ_PCIINT0_BIT)
+#define IRQ_EXPINT3	(1 << IRQ_EXPINT3_BIT)
+#define IRQ_EXPINT2	(1 << IRQ_EXPINT2_BIT)
+#define IRQ_EXPINT1	(1 << IRQ_EXPINT1_BIT)
+#define IRQ_EXPINT0	(1 << IRQ_EXPINT0_BIT)
+#define IRQ_RTCINT	(1 << IRQ_RTCINT_BIT)
+#define IRQ_TM2		(1 << IRQ_TM2_BIT)
+#define IRQ_TM1		(1 << IRQ_TM1_BIT)
+#define IRQ_TM0		(1 << IRQ_TM0_BIT)
+#define IRQ_MOUSEINT	(1 << IRQ_MOUSEINT_BIT)
+#define IRQ_KBDINT	(1 << IRQ_KBDINT_BIT)
+#define IRQ_UART1	(1 << IRQ_UART1_BIT)
+#define IRQ_UART0	(1 << IRQ_UART0_BIT)
+#define IRQ_SOFTINT	(1 << IRQ_SOFTINT_BIT)
+
+
+/*Interrupt Mask
+ *Timer2ã¯æé«åªå
+åº¦ããã¤ ??
+ *
+ */
+#define MASK_IRQ_TM2         0x3FFFFF
+#define MASK_IRQ_TM1         0x3FFF7F
+#define MASK_IRQ_TM0         0x3FFF3F
+#define MASK_IRQ_MOUSEINT    0x3FFF1F
+#define MASK_IRQ_KBDINT      0x3FFF0F
+#define MASK_IRQ_UART1       0x3FFF07
+#define MASK_IRQ_UART0       0x3FFF03
+#define MASK_IRQ_SOFTINT     0x3FFF01
+
+#define MASK_IRQ_EXTINT         0x3FFF00
+#define MASK_IRQ_PCILBINT       0x1FFF00
+#define MASK_IRQ_ENUMINT        0x0FFF00
+#define MASK_IRQ_DEGINT         0x07FF00
+#define MASK_IRQ_LINT           0x03FF00
+#define MASK_IRQ_PCIINT3        0x01FF00
+#define MASK_IRQ_PCIINT2        0x00FF00
+#define MASK_IRQ_PCIINT1        0x007F00
+#define MASK_IRQ_PCIINT0        0x003F00
+#define MASK_IRQ_EXPINT3        0x001F00
+#define MASK_IRQ_EXPINT2        0x000F00
+#define MASK_IRQ_EXPINT1        0x000700
+#define MASK_IRQ_EXPINT0        0x000300
+#define MASK_IRQ_RTCINT         0x000100
+
+#define INT_DISABLE_ALL    0x3FFFFF
+
+#define TIMER_BASE_REG     0x13000000
+#define IRQ0_BASE_REG      0x14000000
+#define UART0_BASE_REG     0x16000000
+#define UART1_BASE_REG    0x17000000
+
+/*UART0 Base Reg*/
+
+#define UART0_DR    (UART0_BASE_REG)
+#define UART0_RSR   (UART0_BASE_REG + 0x04)
+#define UART0_ECR   (UART0_BASE_REG + 0x04)
+#define UART0_LCRH  (UART0_BASE_REG + 0x08)
+#define UART0_LCRM  (UART0_BASE_REG + 0x0C)
+#define UART0_LCRL  (UART0_BASE_REG + 0x10)
+#define UART0_CR    (UART0_BASE_REG + 0x14)
+#define UART0_FR    (UART0_BASE_REG + 0x18)
+#define UART0_IIR   (UART0_BASE_REG + 0x1C)
+#define UART0_ICR   (UART0_BASE_REG + 0x1C)
+
+
+/*
+ *UART1 Control Registers
+ */
+
+#define UART1_DR    (UART1_BASE_REG)
+#define UART1_RSR   (UART1_BASE_REG + 0x04)
+#define UART1_ECR   (UART1_BASE_REG + 0x04)
+#define UART1_LCRH  (UART1_BASE_REG + 0x08)
+#define UART1_LCRM  (UART1_BASE_REG + 0x0C)
+#define UART1_LCRL  (UART1_BASE_REG + 0x10)
+#define UART1_CR    (UART1_BASE_REG + 0x14)
+#define UART1_FR    (UART1_BASE_REG + 0x18)
+#define UART1_IIR   (UART1_BASE_REG + 0x1C)
+#define UART1_ICR   (UART1_BASE_REG + 0x1C)
+
+
+
+/*Receive Error Constants:UARTx_RSR*/
+
+#define URSR_OVERRUN  0x8
+#define URSR_BREAK    0x4
+#define URSR_PARITY   0x2
+#define URSR_FRAMING  0x1
+
+/*---Line Control Constants: UARTx_LCRH---*/
+/*[6:5] Word Length*/
+#define ULCRH_WLEN_8BIT      	0x60
+#define ULCRH_WLEN_7BIT      	0x40
+#define ULCRH_WLEN_6BIT     	0x20
+#define ULCRH_WLEN_5BIT      	0x00
+/*[4] FIFO*/
+#define ULCRH_FEN    	0x10
+/*[3] Stop Bit*/
+#define ULCRH_STP2	0x08
+/*[2] Even Parity Select*/
+#define ULCRH_EPS 	0x04
+/*[1] Parity Enable*/
+#define ULCRH_PEN	0x02
+/*[0] Send Break*/
+#define ULCRH_BRK	0x01
+/*--------------------------------------*/
+
+/*Line Control Constants: UARTx_LCRM*/
+/*[7:0] Baud Rate*/
+
+#define ULCRM_460800	0x00
+#define ULCRL_460800	0x01
+
+#define ULCRM_230400	0x00
+#define ULCRL_230400	0x03
+
+#define ULCRM_115200	0x00
+#define ULCRL_115200	0x07
+
+#define ULCRM_76800	0x00
+#define ULCRL_76800	0x0B
+
+#define ULCRM_57600	0x00
+#define ULCRL_57600	0x0F
+
+#define ULCRM_38400  0x0
+#define ULCRL_38400  0x17
+
+#define ULCRM_19200  0x00
+#define ULCRL_19200  0x2F
+
+#define ULCRM_14400	0x00
+#define ULCRL_14400	0x3F
+
+#define ULCRM_9600	0x0
+#define ULCRL_9600	0x5F
+
+#define ULCRM_2400	0x00
+#define ULCRL_2400	0x7F
+
+#define ULCRM_1200	0x00
+#define ULCRL_1200	0xFF
+
+
+/*Control Register Constants: UARTx_CR*/
+/*[7] Loop Back Enable*/
+#define UCR_LBE		0x80
+/*[6] Receive Timeout Interrupt Enable*/
+#define UCR_RTIE	0x40
+/*[5] Transmit Interrupt Enable*/
+#define UCR_TIE		0x20
+/*[4] Receive Interrupt Enable*/
+#define UCR_RIE		0x10
+/*[3] Modem Status Interrupt Enable*/
+#define UCR_MSIE	0x08
+/*[0] UART Enable*/
+#define UCR_UARTEN	0x01
+
+/*Flag Register Constants UARTx_FR*/
+/*[7] Transmit FIFO Empty*/
+#define UFR_TXFE	0x80
+/*[6] Receive FIFO Full*/
+#define UFR_RXFF	0x40
+/*[5] Transmit FIFO Full*/
+#define UFR_TXFF	0x20
+/*[4] Receive FIFO Empty*/
+#define UFR_RXFE	0x10
+/*[3] UART Busy*/
+#define UFR_BUSY	0x08
+/*[2] Data Carrier Detect*/
+#define UFR_DCD		0x04
+/*[1] Data Set Ready*/
+#define UFR_DSR		0x02
+/*[0] Clear To Send*/
+#define UFR_CTS		0x01
+
+/*Interrupt Identifier Constants: UARTx_IIR*/
+/*[3] Receive Timeout Interrupt Status*/
+#define IIR_TRIS	0x08
+/*[2] Transmit Interrupt Status*/
+#define IIR_TIS		0x04
+/*[1] Receive Interrupt Status*/
+#define IIR_RIS		0x02
+/*[0] Modem Interrupt Status*/
+#define IIR_MIS		0x01
+
+
+#ifndef _MACRO_ONLY
+/*
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void uart_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block 
+{
+    VP uart_data;
+    VP uart_control;
+    VP linectrl_lo;
+    VP linectrl_mid;
+    VP linectrl_hi;
+    VP int_identifier;
+    VP flag_register;
+    VW irq_bit;
+}
+SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block 
+{
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;       /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;       /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;     /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;     /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;        /* æå­ãéä¿¡ã§ããç¶æ
+ */
+
+}SIOPCB;
+
+
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+extern void uart_putc(char c);
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_in_isr(void);
+extern void uart_out_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *   TM controller
+ */
+
+#define TIMER_BASE_REG     0x13000000
+
+/*timer 1*/
+#define TM1_LOAD  (TIMER_BASE_REG + 0x100)
+#define TM1_VAL   (TIMER_BASE_REG + 0x104)
+#define TM1_CTRL  (TIMER_BASE_REG + 0x108)
+#define TM1_CLR   (TIMER_BASE_REG + 0x10c)
+
+/*timer 0*/
+#define TM2_LOAD   (TIMER_BASE_REG + 0x200)
+#define TM2_VAL    (TIMER_BASE_REG + 0x204)
+#define TM2_CTRL   (TIMER_BASE_REG + 0x208)
+#define TM2_CLR    (TIMER_BASE_REG + 0x20C)
+
+/*Timer Constants*/
+#define TCTRL_STOP 0x0 
+/*start bit (7th bit) enabled
+ *periodic bit (6th bit) enabled
+ */
+#define TCTRL_START 0xC0
+#define TCLR_CLEAR 0x01
+
+#define  TCTRL_D016  0x04
+#define  TCTRL_D256 0x08
+
+
+/*disable timer1 interrupt*/
+#define TCLR_DISABLE 0x20
+/*-------------------------------------------------*/
+
+/*ã­ã£ãã·ã¥è¨­å®ï¼ARM920T*/
+#define ICACHE_ENABLE_BIT 12
+#define RESERVED_BIT      6
+
+#define CACHE_ENABLE 0x1078
+#endif  /*  _INTEGRATOR_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.c	(revision 26)
@@ -0,0 +1,206 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.4 2003/12/19 11:48:37 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <integrator.h>
+
+/*ã·ã¹ãã ã­ã°ã®ããã®ãã¼ã*/
+#ifndef MULTI_IO
+#include <hw_sysio.h>
+#else
+#include <stdio.h>
+#endif
+
+
+
+
+
+/*interrupt mask*/
+UW irq_mask[MAX_INT_NUM]={
+    MASK_IRQ_SOFTINT,
+    MASK_IRQ_UART0,
+    MASK_IRQ_UART1,
+    MASK_IRQ_KBDINT,
+    MASK_IRQ_MOUSEINT,
+    MASK_IRQ_TM0,
+    MASK_IRQ_TM1,
+    MASK_IRQ_TM2,
+    MASK_IRQ_RTCINT,
+    MASK_IRQ_EXPINT0,
+    MASK_IRQ_EXPINT1,
+    MASK_IRQ_EXPINT2,
+    MASK_IRQ_EXPINT3,
+    MASK_IRQ_PCIINT0,
+    MASK_IRQ_PCIINT1,
+    MASK_IRQ_PCIINT2,
+    MASK_IRQ_PCIINT3,
+    MASK_IRQ_LINT,
+    MASK_IRQ_DEGINT,
+    MASK_IRQ_ENUMINT,
+    MASK_IRQ_PCILBINT,
+    MASK_IRQ_EXTINT
+};
+
+extern UW int_stack[];
+/*
+ * å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+FP   int_table[MAX_INT_NUM];
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    /*
+     *  å²è¾¼ã¿ãã¼ãã«ã®åæå
+     */
+    for(i = 0; i < MAX_INT_NUM; i++){
+        int_table[i] = 0x00;        /* ãªã»ãã */
+   
+    }
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+     
+    /*
+     *  å²è¾¼ã¿é¢é£ã®åæå
+     */
+    sil_wrw_mem((VP)IRQ0_ENABLECLR,INT_DISABLE_ALL);
+    /*initialize system port*/
+#ifndef MULTI_IO
+    hw_sysio_initialize();
+#endif
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+void
+sys_putc(char c)
+{
+#ifndef MULTI_IO
+    hw_sysio_putchar(c);
+#else
+    putchar(c);
+#endif
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    assert(inhno < MAX_INT_NUM);
+    int_table[inhno] = inthdr;
+
+}
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
+
+/*IRQã¬ã¸ã¹ã¿ãã¯ãªã¢ãããã¾ã§å¾
+ã¤*/
+#define INT_CLEAR_DELAY  0x70
+void poll_intreg(int int_mask)
+{
+    int i;
+    
+    //while(*IRQ0_ENABLESET & int_mask);
+    for(i=0;i<INT_CLEAR_DELAY;i++);
+    enaint();
+
+}
+
+/*çºçããå²ãè¾¼ã¿ããããæ¤ç´¢*/
+
+UINT find_bit(UINT bitmap)
+{
+    return (ffs(bitmap)-1);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.4 2004/09/04 16:38:40 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 22
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   2   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   2   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#ifdef ARM920T_CORE
+#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+#else
+#define WAIT_INTERRUPT  nop
+#endif
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+
+/*
+ *  å²è¾¼ã¿ç¨ã®ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_defs.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.4 2005/07/27 11:06:36 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Integrator/APç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define INTEGRATOR/AP
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"ARM - INTEGRATOR/AP"
+
+#define	STACKTOP __ghsend_stack	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK 24000
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef	UD  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 20
+#define	SIL_DLY_TIM2	 10
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+int_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_support.arm
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_support.arm	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_support.arm	(revision 26)
@@ -0,0 +1,236 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.arm,v 1.4 2003/12/19 11:48:37 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "integrator.h"
+
+
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼          
+ */       
+
+        .text
+        .align 2
+        .global hardware_init_hook
+hardware_init_hook:
+#ifdef ARM920T_CORE
+        ldr r1, =cache_enable
+        ldr r1,[r1]
+        mcr p15,0,r1,c1,c0,0
+#endif
+        mov  pc, lr
+cache_enable
+        .word CACHE_ENABLE
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *         
+ */        
+        .text
+        .align 4	
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov   sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr   cpsr_all, sp
+        stmfd sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+
+        
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */         
+        mov   r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr,r0
+        sub   r0,lr,#4
+        mrs   r1,spsr
+        
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        msr   cpsr_all, sp
+        str   r0, [sp,#0x18] /* Store pc */
+        stmfd sp!,{r1}       /* spsr */
+        
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+         
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+         
+	/* å²è¾¼ã¿çä¼¼ãã¼ãã«ã®èª­ã¿åºã  */	
+#ifdef SIMIO
+	ldr r2, =IRQ_TM2
+#else
+	ldr  r1, =IRQ0_STATUS
+	ldr  r2, [r1]
+#endif
+        /*å²ãè¾¼ã¿è¦å ãå¤å®*/
+        mov  r0,r2
+        bl   find_bit
+        mov  r3,r0	
+        /*åªå
+åº¦ã®ä½ãå²ãè¾¼ã¿ããã¹ã¯*/
+        ldr   r1,=IRQ0_ENABLECLR
+        ldr   r0,=irq_mask
+        ldr   r0,[r0,r3,lsl #2]
+        str   r0,[r1]
+
+	stmfd  sp!,{r0}
+        
+        /*IRQã¬ã¸ã¹ã¿ãã¯ãªã¢ãããã¾ã§å¾
+ã¤
+        * Ref: ARM9ES_Rev2_TRM.pdf p.4-4
+        */
+        ldr r1,=poll_intreg
+        mov lr,pc
+        mov pc,r1
+
+        ldr   r0,=int_table 
+        /*r0 <-- å²ãè¾¼ã¿ãã³ãã©*/
+        ldr   r0,  [r0,r3, lsl #2]
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ããã§ãã¯
+         */
+        cmp     r0, #0x00
+        beq     undefined_interrupt
+        
+        /* å²ãè¾¼ã¿è¨±å¯*/
+        mov     r2,#(CPSR_SVC|CPSR_FIQ_BIT)
+        msr     cpsr,r2
+        
+        /*
+         * Call Handler
+         */        
+        mov  lr,  pc  
+        mov  pc,  r0
+		
+        
+        /*
+         * å²ãè¾¼ã¿ç¦æ­¢
+         */
+        mov     r2,#(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT) 
+        msr     cpsr,r2         
+	
+	ldmfd  sp!,{r0}
+	ldr  r1,=IRQ0_ENABLESET        /*å²ãè¾¼ã¿è¨±å¯*/
+	str  r0,[r1]
+
+        /* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]        
+        sub     r3, r1, #1                        
+        str     r3, [r2]
+        cmp     r3, #0x00        
+        bne     return_to_task_irq
+
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}         
+        mov     sp, r0        
+                
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+       
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+         
+       ldmfd sp!,{r1}     /* CPSRã®å¾©å¸°å¦ç */
+       msr   spsr, r1     /* å²ãè¾¼ã¿è¨±å¯   */
+       ldmfd sp!,{r0-r3,ip,lr,pc}^ /*ã¿ã¹ã¯å¾©å¸° + å²è¾¼ã¿è¨±å¯ */
+
+   /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */    
+undefined_interrupt:
+         b      undef_interrupt
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/integrator/sys_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/offset.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/offset.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/offset.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated by genoffset. */
+
+#define TCB_sp	24
+#define TCB_pc	28
+#define TCB_enatex	12
+#define TCB_texptn	16
+#ifdef __LittleEndian
+#define TCB_enatex_mask 0x40000
+#else
+#define TCB_enatex_mask 0x2000
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/start.arm
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/start.arm	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/start.arm	(revision 26)
@@ -0,0 +1,150 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.arm,v 1.3 2003/12/19 11:24:37 honda Exp $
+ */
+                
+/*
+ *    ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(ARMv4ç¨)
+ */
+#define _MACRO_ONLY
+#include <armv4.h>
+#include <sys_defs.h>
+
+#include <t_config.h>
+
+
+        /*
+         * Vectorãã¼ãã«ã¨ã¸ã£ã³ããã¼ãã«
+         * ãµã¤ãºã¯åè¨0x3c
+         */
+        .section .vector,"a"
+        .align 0
+        .global vector_table
+vector_table:
+        ldr pc, reset_vector       /* ãªã»ãã             */
+        ldr pc, undef_vector       /* æªå®ç¾©å½ä»¤           */
+        ldr pc, swi_vector         /* ã½ããã¦ã§ã¢å²è¾¼ã¿   */
+        ldr pc, prefech_vector     /* ããªãã§ããã¢ãã¼ã */
+        ldr pc, data_abort_vector  /* ãã¼ã¿ã¢ãã¼ã       */
+        ldr pc, reset_vector
+        ldr pc, irq_vector         /* IRQ                  */
+        ldr pc, fiq_vector         /* IRQ                  */
+
+/*
+ *  ãã¯ã¿ã¼ãã¼ãã«
+ */
+reset_vector:
+        .word   start
+undef_vector:
+        .word   undef_exception
+swi_vector:
+        .word   swi_exception
+prefech_vector:
+        .word   prefetch_exception
+data_abort_vector:
+        .word   data_abort_exception
+irq_vector:
+        .word   IRQ_Handler
+fiq_vector:
+        .word   fiq_exception
+
+        .text
+       .align     0
+        .global main
+main:
+        bl start
+        .global    start
+start:
+        mov  r1,  #(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT) /* To System mode */
+        msr  cpsr_all, r1
+
+        /*
+         * ã¹ã¿ãã¯ãã¤ã³ã¿ã¨ï¼ãã¬ã¼ã ãã¤ã³ã¿ã®åæå
+         * SL(ã¹ã¿ãã¯ä¸éã¬ã¸ã¹ã¿r10)ã¯è¨­å®ããå¿
+è¦ãããã?
+         * gccã¯ãã£ãã©ã«ãã§ã¯-mapcsãªã®ã§å¿
+è¦ãªã
+         */
+        ldr  r3, =STACKTOP
+        mov  sp, r3
+        mov  r11, #0        /* Armã¢ã¼ãç¨ãã¬ã¼ã ãã¤ã³ã¿   */         
+        mov  r7, #0         /* Thubmã¢ã¼ãç¨ãã¬ã¼ã ãã¤ã³ã¿ */
+
+        /*
+         * hardware_init_hookã®å¼ã³åºã ï¼0ã§ãªãå ´åï¼
+         *
+         * ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+         * ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æãã
+         */
+        ldr  r0, =hardware_init_hook
+        cmp  r0, #0x00
+        blne hardware_init_hook
+        
+        /*
+         *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+         *
+         *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+         *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+         *  ããï¼
+         */
+start_5:
+        ldr   r0, =software_init_hook
+        cmp   r0, #0x00
+        blne  software_init_hook
+
+start_6:        
+        bl    kernel_start
+        .align 4
+        .weak   hardware_init_hook
+        .weak   software_init_hook
+        .weak   software_term_hook
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_config.h	(revision 26)
@@ -0,0 +1,469 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003 by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.5 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+#define __EMPTY_LABEL(x,y) x y[]
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+#pragma weak software_term_hook
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  GHS Event Analyzerç¨ã®ãã¬ã¼ã¹ã­ã°è¨­å®
+ */
+#ifdef GHS_HOOK
+#include "hook.h"
+
+#define hook_initialize() tool_initialize()
+
+#define	LOG_INH_ENTER(inhno)		
+#define	LOG_INH_LEAVE(inhno)		
+
+#define	LOG_ISR_ENTER(intno)		
+#define	LOG_ISR_LEAVE(intno)		
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		
+#define	LOG_EXC_LEAVE(excno)		
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)				sts_hook(TSKID(tcb));
+
+#define	LOG_DSP_ENTER(tcb)		
+#define	LOG_DSP_LEAVE(tcb)		
+
+#define	LOG_ACT_TSK_ENTER(tskid)			sys_hook1(THF_TSK, TFN_ACT_TSK, (int)tskid);
+#define	LOG_ACT_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_ACT_TSK, ercd);
+#define	LOG_IACT_TSK_ENTER(tskid)			sys_hook1_i(THF_TSK, TFN_IACT_TSK, (int)tskid);			
+#define	LOG_IACT_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSK, TFN_IACT_TSK, ercd);
+#define	LOG_CAN_ACT_ENTER(tskid)			sys_hook1(THF_TSK, TFN_CAN_ACT, (int)tskid);			
+#define	LOG_CAN_ACT_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_CAN_ACT, tcb->actcnt);
+#define	LOG_EXT_TSK_ENTER()				sys_hook0(THF_TSK, TFN_EXT_TSK);
+#define	LOG_TER_TSK_ENTER(tskid)			sys_hook1(THF_TSK, TFN_TER_TSK, (int)tskid);
+#define	LOG_TER_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_TER_TSK, ercd);
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)		sys_hook2(THF_TSK, TFN_CHG_PRI, (int)tskid, (int)tskpri);
+#define	LOG_CHG_PRI_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_CHG_PRI, ercd);	
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)		
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()				sys_hook0(THF_TSKS, TFN_SLP_TSK);
+#define	LOG_SLP_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_SLP_TSK, ercd);
+#define	LOG_TSLP_TSK_ENTER(tmout)			sys_hook1(THF_TSKS, TFN_TSLP_TSK, (int)tmout);
+#define	LOG_TSLP_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_TSLP_TSK, ercd);
+#define	LOG_WUP_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_WUP_TSK, (int)tskid);
+#define	LOG_WUP_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_WUP_TSK, ercd);				
+#define	LOG_IWUP_TSK_ENTER(tskid)			sys_hook1_i(THF_TSKS, TFN_IWUP_TSK, (int)tskid);
+#define	LOG_IWUP_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_IWUP_TSK, ercd);
+#define	LOG_CAN_WUP_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_CAN_WUP, (int)tskid);
+#define	LOG_CAN_WUP_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_CAN_WUP, tcb->wupcnt);
+#define	LOG_REL_WAI_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_REL_WAI, (int)tskid);
+#define	LOG_REL_WAI_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_REL_WAI, ercd);	
+#define	LOG_IREL_WAI_ENTER(tskid)			sys_hook1_i(THF_TSKS, TFN_IREL_WAI, (int)tskid);
+#define	LOG_IREL_WAI_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_IREL_WAI, ercd);			
+#define	LOG_SUS_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_SUS_TSK, (int)tskid);
+#define	LOG_SUS_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_SUS_TSK, ercd);
+#define	LOG_RSM_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_RSM_TSK, (int)tskid);
+#define	LOG_RSM_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_RSM_TSK, ercd);
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)			sys_hook1(THF_TSKS, TFN_DLY_TSK, (int)dlytim);
+#define	LOG_DLY_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_DLY_TSK, winfo.wercd);
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)		sys_hook2(THF_TEX, TFN_RAS_TEX, (int)tskid, (int)rasptn);
+#define	LOG_RAS_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_RAS_TEX, ercd);
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)		sys_hook2_i(THF_TEX, TFN_IRAS_TEX, (int)tskid, (int)rasptn);
+#define	LOG_IRAS_TEX_LEAVE(ercd)			trc_rtn_hook(THF_TEX, TFN_IRAS_TEX, ercd);	
+#define	LOG_DIS_TEX_ENTER()				sys_hook0(THF_TEX, TFN_DIS_TEX);
+#define	LOG_DIS_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_DIS_TEX, ercd);
+#define	LOG_ENA_TEX_ENTER()				sys_hook0(THF_TEX, TFN_ENA_TEX);
+#define	LOG_ENA_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_ENA_TEX, ercd);		
+#define	LOG_SNS_TEX_ENTER()				
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_SIG_SEM, (int)semid);
+#define	LOG_SIG_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_SIG_SEM, ercd);
+#define	LOG_ISIG_SEM_ENTER(semid)			sys_hook1_i(THF_SEM, TFN_ISIG_SEM, (int)semid);
+#define	LOG_ISIG_SEM_LEAVE(ercd)			trc_rtn_hook(THF_SEM, TFN_ISIG_SEM, ercd);
+#define	LOG_WAI_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_WAI_SEM, (int)semid);
+#define	LOG_WAI_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_WAI_SEM, ercd);
+#define	LOG_POL_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_POL_SEM, (int)semid);
+#define	LOG_POL_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_POL_SEM, ercd);
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)		sys_hook2(THF_SEM, TFN_TWAI_SEM, (int)semid, (int)tmout);
+#define	LOG_TWAI_SEM_LEAVE(ercd)			trc_rtn_hook(THF_SEM, TFN_TWAI_SEM, ercd);
+#define	LOG_SET_FLG_ENTER(flgid, setptn)				sys_hook2(THF_FLG, TFN_SET_FLG, (int)flgid, (int)setptn);
+#define	LOG_SET_FLG_LEAVE(ercd)						trc_rtn_hook(THF_FLG, TFN_SET_FLG);
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)				sys_hook2_i(THF_FLG, TFN_ISET_FLG, (int)flgid, (int)setptn);
+#define	LOG_ISET_FLG_LEAVE(ercd)					trc_rtn_hook(THF_FLG, TFN_ISET_FLG);
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)				sys_hook2(THF_FLG, TFN_CLR_FLG, (int)flgid, (int)clrptn);
+#define	LOG_CLR_FLG_LEAVE(ercd)						trc_rtn_hook(THF_FLG, TFN_CLR_FLG);
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)		sys_hook3(THF_FLG, TFN_WAI_FLG, (int)flgid, (int)waiptn, (int)wfmode);
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)					trc_rtn_hook(THF_FLG, TFN_WAI_FLG, ercd);
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)		sys_hook3(THF_FLG, TFN_POL_FLG, (int)flgid, (int)waiptn, (int)wfmode);
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)					trc_rtn_hook(THF_FLG, TFN_POL_FLG, ercd);
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)	sys_hook4(THF_FLG, TFN_TWAI_FLG, (int)flgid, (int)waiptn, (int)wfmode, (int)tmout);
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)				trc_rtn_hook(THF_FLG, TFN_TWAI_FLG, ercd);
+#define	LOG_SND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_SND_DTQ, (int)dtqid, (int)data);
+#define	LOG_SND_DTQ_LEAVE(ercd)						trc_rtn_hook(THF_DTQ, TFN_SND_DTQ, ercd);
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_PSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_PSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_PSND_DTQ, ercd);
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)				sys_hook2_i(THF_DTQ, TFN_IPSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_IPSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_IPSND_DTQ, ercd);
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)				sys_hook3(THF_DTQ, TFN_TSND_DTQ, (int)dtqid, (int)data, (int)tmout);
+#define	LOG_TSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_TSND_DTQ, ercd);
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_FSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_FSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_FSND_DTQ);
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)				sys_hook2_i(THF_DTQ, TFN_IFSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_IFSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_IFSND_DTQ);
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)				sys_hook1(THF_DTQ, TFN_RCV_DTQ, (int)dtqid);
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_RCV_DTQ, ercd);
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)				sys_hook1(THF_DTQ, TFN_PRCV_DTQ, (int)dtqid);
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_PRCV_DTQ, ercd);
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)			sys_hook1(THF_DTQ, TFN_TRCV_DTQ, (int)dtqid);
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_TRCV_DTQ, ercd);
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)				sys_hook2(THF_MBX, TFN_SND_MBX, (int)mbxid, (int)pk_msg);
+#define	LOG_SND_MBX_LEAVE(ercd)						trc_rtn_hook(THF_MBX, TFN_SND_MBX, ercd);
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)		sys_hook1(THF_MBX, TFN_RCV_MBX, (int)mbxid);
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)			trc_rtn_hook(THF_MBX, TFN_RCV_MBX, ercd);
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)		sys_hook1(THF_MBX, TFN_PRCV_MBX, (int)mbxid);
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)		trc_rtn_hook(THF_MBX, TFN_PRCV_MBX, ercd);
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)	sys_hook2(THF_MBX, TFN_TRCV_MBX, (int)mbxid, (int)tmout);
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)		trc_rtn_hook(THF_MBX, TFN_TRCV_MBX, ercd);
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)			sys_hook1(THF_MPF, TFN_GET_MPF, (int)mpfid);
+#define	LOG_GET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_GET_MPF, ercd);
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)		sys_hook1(THF_MPF, TFN_PGET_MPF, (int)mpfid);		
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_PGET_MPF, ercd);
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)		sys_hook2(THF_MPF, TFN_TGET_MPF, (int)mpfid, (int)tmout);
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_TGET_MPF, ercd);
+#define	LOG_REL_MPF_ENTER(mpfid, blk)			sys_hook2(THF_MPF, TFN_REL_MPF, (int)mpfid, (int)blk);
+#define	LOG_REL_MPF_LEAVE(ercd)				trc_rtn_hook(THF_MPF, TFN_REL_MPF, ercd);
+#define	LOG_SET_TIM_ENTER(p_systim)			sys_hook1(THF_TIM, TFN_SET_TIM, (int)p_systim);
+#define	LOG_SET_TIM_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_SET_TIM);
+#define	LOG_GET_TIM_ENTER(p_systim)			
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)			sys_hook1(THF_TIM, TFN_STA_CYC, (int)cycid);
+#define	LOG_STA_CYC_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_STA_CYC);
+#define	LOG_STP_CYC_ENTER(cycid)			sys_hook1(THF_TIM, TFN_STP_CYC, (int)cycid);
+#define	LOG_STP_CYC_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_STP_CYC);
+#define	LOG_ROT_RDQ_ENTER(tskpri)			sys_hook1(THF_SYS, TFN_ROT_RDQ, (int)tskpri);
+#define	LOG_ROT_RDQ_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_ROT_RDQ);
+#define	LOG_IROT_RDQ_ENTER(tskpri)			sys_hook1_i(THF_SYS, TFN_IROT_RDQ, (int)tskpri);
+#define	LOG_IROT_RDQ_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_IROT_RDQ);
+#define	LOG_GET_TID_ENTER(p_tskid)			
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()				sys_hook0(THF_SYS, TFN_LOC_CPU);			
+#define	LOG_LOC_CPU_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_LOC_CPU);			
+#define	LOG_ILOC_CPU_ENTER()				sys_hook0_i(THF_SYS, TFN_ILOC_CPU);		
+#define	LOG_ILOC_CPU_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_ILOC_CPU);
+#define	LOG_UNL_CPU_ENTER()				sys_hook0(THF_SYS, TFN_UNL_CPU);		
+#define	LOG_UNL_CPU_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_UNL_CPU);		
+#define	LOG_IUNL_CPU_ENTER()				sys_hook0_i(THF_SYS, TFN_IUNL_CPU);		
+#define	LOG_IUNL_CPU_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_IUNL_CPU);
+#define	LOG_DIS_DSP_ENTER()				sys_hook0(THF_SYS, TFN_DIS_DSP);		
+#define	LOG_DIS_DSP_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_DIS_DSP);
+#define	LOG_ENA_DSP_ENTER()				sys_hook0(THF_SYS, TFN_ENA_DSP);
+#define	LOG_ENA_DSP_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_ENA_DSP);
+#define	LOG_SNS_CTX_ENTER()			
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#else
+
+#define	LOG_INH_LEAVE(inhno)		
+
+#define	LOG_ISR_ENTER(intno)		
+#define	LOG_ISR_LEAVE(intno)		
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		
+#define	LOG_EXC_LEAVE(excno)		
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		
+#define	LOG_DSP_LEAVE(tcb)		
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif
+
+
+#endif /* _TOOL_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4-ghs/tool_defs.h	(revision 26)
@@ -0,0 +1,91 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/19 11:24:37 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus         /* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L      /* C99 ã«ã¯ inline ããã */
+#define inline      __inline
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+
+#define	Inline		static inline
+
+#define	Asm		asm volatile
+
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/Makefile.config	(revision 26)
@@ -0,0 +1,39 @@
+#
+#@(#) $Id: Makefile.config,v 1.10 2007/01/05 02:02:38 honda Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (ARMv4ã¢ã¼ã­ãã¯ãã£ã¼ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = arm-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS    := $(COPTS)  -O2 
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR) $(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o
+
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+        -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.c	(revision 26)
@@ -0,0 +1,258 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMï¼
+ */
+
+#include "jsp_kernel.h"
+#include <lpc2388.h>
+
+/*
+ *  å²è¾¼ã¿ç¨ã®ãã¼ãã«
+ */
+#define VICVectAddress ((volatile FP **)0xFFFFF100)
+
+
+
+
+/*
+ *  å²è¾¼ã¿é¢é£ã®åæå(LPC2388å
+±é)
+ */
+void
+init_IRQ()
+{
+	int i;
+
+	for( i=0; i<32; i++ )
+		VICVectAddress[i] = (volatile FP *)undef_interrupt;
+}
+
+extern unsigned int __data_start;
+
+/*
+ * LPC2388ã®SRAMé åã«FLASHã®ãã¯ãã«ãã³ãã¼ãã
+ * ãªããããããLPC2388å
+±éã§å¿
+è¦ã
+ */
+void
+init_vector()
+{
+	unsigned char *flash, *sram;
+	int i;
+
+		/* ROMåã³ã¼ãã¨SRAMä¸ã§åãã³ã¼ãã§ã¯ãä¾å¤ãã¯ãã«ã®æ±ããéãã
+		 * ROMåããå ´åã¯ãSRAM REMAPã®åã«Flash ROMä¸ã®ä¾å¤ãã¯ãã«ã®å¤ã
+		 * SRAMä¸ã®ãªãããé åã«ç§»ããªããã°ãªããªããä¸æ¹ãSRAMä¸ã§åä½ãã
+		 * å ´åã¯ããªãããé åã¸ã¯ãããã¬ãåæå¤ãæ¸ãè¾¼ãã
+		 * ãã®ããããªãããé åã®åæåæé ãå¿
+è¦ãå¦ãã®å¤å¥ãè¡ããå¤å¥ã¯
+		 * __data_startã®å¤ãä½¿ãããã®å¤ã¯lpc2388_sram.ldã®ä¸­ã§0ã«åæåãã¦
+		 * ãããlpc2388.ldã®ä¸­ã§ã¯éã¼ã­ã®ã¢ãã¬ã¹ãä»£å
+¥ãããããããã£ã¦ã
+		 * ãªãããé åã®åæåã¯__data_startãéã¼ã­ã®ã¨ãã ãè¡ãã */
+	if ( __data_start != 0 )
+	{
+		flash =(unsigned char*) 0;				/* FLASHã®å
+é ­ã¢ãã¬ã¹ */
+		sram = (unsigned char*) 0x40000000;	/* SRAMã®å
+é ­ã¢ãã¬ã¹ */
+
+			/* FLASHã®å
+é ­64ãã¤ããSRAMã«ã³ãã¼ */
+		for (i=0; i<64; i++)
+		{
+			*sram = *flash;
+			sram++;
+			flash++;
+		}
+	}
+		/* SRAM ããã¯ãã«ã¨ãªã¢ã«ãªããããã */
+	MEMMAP = 0x02;
+}
+
+/*
+ * LPC2388ä¾å­ã®UARTåæåã«ã¼ãã³ãsys_putc()ç¨ã«uart0ãåæåããã
+ */
+#define	DLAB 0x80
+void
+init_uart0()
+{
+    /*
+     *  åå¨æ¯ã®è¨­å®
+     */
+    /* Divisor Enable */
+	U0LCR |= DLAB;
+    U0DLL = UART0_DIVISOR & 0xFF ;
+    U0DLM = UART0_DIVISOR >> 8;
+    /* Divisor Disable */
+    U0LCR &= ~DLAB;
+
+    /* ã¢ã¼ãè¨­å®, ããªãã£ç¡ã 8bit data, 1 stop bit */
+    U0LCR = 0x03;
+
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    U0IER = 0;
+}
+
+/*
+ *  ã·ã¹ãã çµäºããã¯ããã¡ã¼ã ã¦ã§ã¢ã«ã·ã¹ãã çµäºAPIããããªã
+ *  ãããå¼ã¶ã¨ããã
+ */
+void
+sys_exit()
+{
+	while(1)
+		;
+}
+
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºåãsyslogã¿ã¹ã¯ãèµ·åããåã«ããªã³ããè¡ãããã®
+ *  ã«ã¼ãã³ã§ãããå
+é¨ã§ã¯ãã¼ãªã³ã°ãè¡ã£ã¦ãããLFè¨å·ãéããã¦ãããã
+ *  CR LFã«å¤æãã¦ããªã³ããããsys_putcã¯ããã¤ã¹ãåæåããªãã
+ *  åæåã¯kernel_start()ã®ä¸­ã§çµãã£ã¦ããã¨ä»®å®ãã¦ããã
+ */
+
+void
+sys_putc(char c)
+{
+	if ( c== 0x0A )			/* ãã LF ãªãã° */
+		sys_putc( 0x0D );	/* CRãä¸æå­éä¿¡ */
+
+	while( !( U0LSR & (1<<5)) )
+		;		/* UART0 LSRã®THREã1ã«ãªãã¾ã§å¾
+ã¤ã1ãªãã°éä¿¡ã¬ã¸ã¹ã¿ç©ºãã*/
+
+	U0THR = c;	/* ä¸æå­éä¿¡ */
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  VICVectAddress[]ã¯ååã®ã¬ã¸ã¹ã¿åã«ãããããã¦ããããããã£ã¦ã
+ *  define_inhãå¼ã¶ã¨ãVICVectAddressXã¬ã¸ã¹ã¿ãåæåãããã
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    assert(inhno <= MAX_INT_NUM);
+    VICVectAddress[inhno] = (volatile FP*)inthdr;
+
+}
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
+
+/*
+ * å²ãè¾¼ã¿ã®ã¤ãã¼ãã«ããã£ã»ã¼ãã«
+ */
+/*
+ * intnoã§ããããããå²ãè¾¼ã¿ããã£ã»ã¼ãã«ã«ãªãã
+ */
+ER dis_int(INTNO intno)
+{
+	if ( intno > MAX_INT_NUM )
+		return E_PAR;
+	VICIntEnClr = 1<<intno;
+	return 0;
+}
+
+/*
+ * intnoã§ããããããå²ãè¾¼ã¿ãã¤ãã¼ãã«ã«ãªãã
+ */
+ER ena_int(INTNO intno)
+{
+	if ( intno > MAX_INT_NUM )
+		return E_PAR;
+	VICIntEnable = 1<<intno;
+	return 0;
+}
+
+/*
+ * å²ãè¾¼ã¿ã¤ãã¼ãã«ãã¹ã¯ãæå®ããããã¹ã¯ã¯VICIntEnableã«ä»£å
+¥ããã
+ */
+ER chg_ims(unsigned int enableMask)
+{
+	VICIntEnClr = 0xFFFFFFFF;
+	VICIntEnable = enableMask;
+	return 0;
+}
+
+/*
+ * å²ãè¾¼ã¿ã¤ãã¼ãã«ãã¹ã¯ãåå¾ã
+ */
+ER get_ims(unsigned int *p_enableMask)
+{
+	*p_enableMask = VICIntEnable;
+	return 0;
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_config.h	(revision 26)
@@ -0,0 +1,289 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ãããããä¾å­ã¢ã¸ã¥ã¼ã«ï¼LPC2388ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼sys_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _CHIP_CONFIG_H_
+#define _CHIP_CONFIG_H_
+
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 31
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define  SUPPORT_VXGET_TIM
+
+
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#ifdef ARM920T_CORE
+#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+#else
+#define WAIT_INTERRUPT  nop
+#endif
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+
+/*
+ * ----------------------- å²ãè¾¼ã¿ãã¯ãã«å®£è¨ --------------------
+ * INTNO_UART0 ã§ã¯ãªã INTO_U0 ãä½¿ãã®ã¯ãUARTãTOPPERS/JSPå
+é¨ã®ããã¤ã¹åã¨ãã¦
+ * ä½¿ã£ã¦ãããUARTã®çªå·ã¨LPC2388ã®éåæéä¿¡ããã¤ã¹ã®çªå·ãä¸è´ããªãããã§ããã
+ *
+ */
+#define	INTNO_WDT		0
+/*reserverved interrupt 1*/
+#define	INTNO_ARM0		2
+#define	INTNO_ARM1		3
+#define	INTNO_TIMER0	4
+#define	INTNO_TIMER1	5
+#define	INTNO_U0		6
+#define	INTNO_U1		7
+#define	INTNO_PWM1		8
+#define	INTNO_I2C0		9
+#define	INTNO_SSP0		10
+#define	INTNO_SSP1		11
+#define	INTNO_PLL		12
+#define	INTNO_RTC		13
+#define	INTNO_EINT0		14
+#define	INTNO_EINT1		15
+#define	INTNO_EINT2		16
+#define	INTNO_EINT3		17
+#define	INTNO_ADC0		18
+#define	INTNO_I2C1		19
+#define	INTNO_BOD		20
+#define	INTNO_ETHERNET	21
+#define	INTNO_USB		22
+#define	INTNO_CAN		23
+#define	INTNO_SD		24
+#define	INTNO_GPDMA		25
+#define	INTNO_TIMER2	26
+#define	INTNO_TIMER3	27
+#define	INTNO_U2		28
+#define	INTNO_U3		29
+#define	INTNO_I2C2		30
+#define	INTNO_I2S		31
+
+#define	INHNO_WDT		0
+/*reserverved interrupt 1*/
+#define	INHNO_ARM0		2
+#define	INHNO_ARM1		3
+#define	INHNO_TIMER0	4
+#define	INHNO_TIMER1	5
+#define	INHNO_U0		6
+#define	INHNO_U1		7
+#define	INHNO_PWM1		8
+#define	INHNO_I2C0		9
+#define	INHNO_SSP0		10
+#define	INHNO_SSP1		11
+#define	INHNO_PLL		12
+#define	INHNO_RTC		13
+#define	INHNO_EINT0		14
+#define	INHNO_EINT1		15
+#define	INHNO_EINT2		16
+#define	INHNO_EINT3		17
+#define	INHNO_ADC0		18
+#define	INHNO_I2C1		19
+#define	INHNO_BOD		20
+#define	INHNO_ETHERNET	21
+#define	INHNO_USB		22
+#define	INHNO_CAN		23
+#define	INHNO_SD		24
+#define	INHNO_GPDMA		25
+#define	INHNO_TIMER2	26
+#define	INHNO_TIMER3	27
+#define	INHNO_U2		28
+#define	INHNO_U3		29
+#define	INHNO_I2C2		30
+#define	INHNO_I2S		31
+
+/*
+ * SIO1,2,3ã«ã¯U0,U2,U3ãå²ãå½ã¦ã
+ */
+#define INHNO_SIO		INHNO_U0
+#define INHNO_SIO2		INHNO_U2
+#define INHNO_SIO3		INHNO_U3
+
+/*
+ * ----------------------- UART è¨­å® ---------------------------
+ */
+
+/*
+ *     UARTã®ãã¡ãå¹¾ã¤ã®ãã¼ããPDICã¨ãã¦ä½¿ç¨ãããå®£è¨ããã
+ *     LPC2388çã§ã¯æå¤§3
+ */
+#define TNUM_SIOP_UART	TNUM_SIOP
+
+/*
+ *    UARTã®ã¬ã¸ã¹ã¿ãä½ãã¤ãå¢çã«é
+ç½®ããã¦ããããæå®ãããæå®ã§ããå¤ã¯1,2,4ã®ããããã
+ */
+#define UART_BOUNDARY	4
+
+/*
+ * UART ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹ã«sil_xxb_iop()ä½¿ãå ´åã«ã¯ãã®ãã¯ã­ãå®£è¨ããã
+ * å¤ã¯ä¸è¦ãå®£è¨ããªãå ´åãsil_xxb_mem()ã«ãã£ã¦ã¢ã¯ã»ã¹ãããLPC2388å®è£
+
+ * ã§ã¯memã¢ã¯ã»ã¹ãä½¿ç¨ããã
+ */
+/* #define UART_IOP_ACCESS */
+
+/*
+ *     UARTã®ãã¼ã¹ã»ã¢ãã¬ã¹ãæå®ããããã¼ã¹ã¢ãã¬ã¹ã¨ã¯THRã®ã¢ãã¬ã¹ã®ãã¨ã
+ *     U0,2,3ãä½¿ãã®ã¯ãLPC2388ã«ããã¦U1ã ãå¥æ±ãã®ãã
+ */
+#define UART0_ADDRESS 0xE000C000
+#define UART1_ADDRESS 0xE0078000	/*U2*/
+#define UART2_ADDRESS 0xE007C000	/*U3*/
+
+/*
+ * UARTå
+é¨ã®åå¨åè·¯ã®è¨­å®å¤ãæå®ããã16ãããã®å¤ãlpc2388uart.cå
+é¨ã§
+ * ä¸ä½ã¨ä¸ä½ã«åå²ãã¦DLM/DLLã¬ã¸ã¹ã¿ã«è¨­å®ãããã
+ *
+ * UARTã®ããã¤ã¶ã®åºåã¯ææãããã¼ã¬ã¼ãã®16åã§ãªããã°ãªããªãã
+ * U0,2,3ãä½¿ãã®ã¯ãLPC2388ã«ããã¦U1ã ãå¥æ±ãã®ãã
+ */
+#define UART0_DIVISOR (LP2388_SYSTEM_UART0_CLOCK/16/UART0_BAUD_RATE)
+#define UART1_DIVISOR (LP2388_SYSTEM_UART1_CLOCK/16/UART2_BAUD_RATE) /*U2*/
+#define UART2_DIVISOR (LP2388_SYSTEM_UART1_CLOCK/16/UART3_BAUD_RATE) /*U3*/
+
+
+/*
+ * ----------------------- UART è¨­å®ããã ---------------------------
+ */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+extern void undef_interrupt();
+
+extern void init_IRQ();
+extern void init_vector();
+extern void init_uart0();
+
+/*
+ * å²ãè¾¼ã¿ã®ã¤ãã¼ãã«ããã£ã»ã¼ãã«
+ */
+
+extern ER dis_int(INTNO intno);
+extern ER ena_int(INTNO intno);
+extern ER chg_ims(unsigned int enableMask);
+extern ER get_ims(unsigned int *p_enableMask);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_defs.h	(revision 26)
@@ -0,0 +1,135 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼sys_config.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼
+ */
+
+#ifndef _CHIP_DEFS_H_
+#define _CHIP_DEFS_H_
+
+
+/*
+ *  LPC2388å
+±éé¨è­å¥å­
+ */
+#define _COMMON_LPC2388
+
+
+#define    STACKTOP 0x4000FFFC   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ *  ã¿ã¤ãã¼ã¯ã­ãã¯ã¯18MHz (72MHz/4)ãªã®ã§ãããã¯18000
+ */
+#define TIMER_CLOCK 18000
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef    UINT        INTNO;        /* å²è¾¼ã¿çªå· */
+typedef    UINT        INHNO;        /* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef    UD  SYSUTIM;    /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define    TIC_NUME    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define    TIC_DENO    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define    SIL_DLY_TIM1     20
+#define    SIL_DLY_TIM2     10
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define    SIL_ENDIAN    SIL_ENDIAN_LITTLE    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_mmr.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_mmr.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_mmr.c	(revision 26)
@@ -0,0 +1,702 @@
+/*
+ * chip_mmr.c
+ *
+ *  Created on: 2009/09/23
+ *      Author: suikan
+ */
+
+	volatile unsigned long mmrPARTCFG	__attribute__ ((aligned(4), section(".MMR0")));
+	volatile unsigned long mmrFIO0DIR	__attribute__ ((aligned(4), section(".MMR1")));
+	volatile unsigned long mmrFIO0MASK	__attribute__ ((aligned(4), section(".MMR2")));
+	volatile unsigned long mmrFIO0PIN	__attribute__ ((aligned(4), section(".MMR2")));
+	volatile unsigned long mmrFIO0SET	__attribute__ ((aligned(4), section(".MMR2")));
+	volatile unsigned long mmrFIO0CLR	__attribute__ ((aligned(4), section(".MMR2")));
+	volatile unsigned long mmrFIO1DIR	__attribute__ ((aligned(4), section(".MMR2")));
+	volatile unsigned long mmrFIO1MASK	__attribute__ ((aligned(4), section(".MMR3")));
+	volatile unsigned long mmrFIO1PIN	__attribute__ ((aligned(4), section(".MMR3")));
+	volatile unsigned long mmrFIO1SET	__attribute__ ((aligned(4), section(".MMR3")));
+	volatile unsigned long mmrFIO1CLR	__attribute__ ((aligned(4), section(".MMR3")));
+	volatile unsigned long mmrFIO2DIR	__attribute__ ((aligned(4), section(".MMR3")));
+	volatile unsigned long mmrFIO2MASK	__attribute__ ((aligned(4), section(".MMR4")));
+	volatile unsigned long mmrFIO2PIN	__attribute__ ((aligned(4), section(".MMR4")));
+	volatile unsigned long mmrFIO2SET	__attribute__ ((aligned(4), section(".MMR4")));
+	volatile unsigned long mmrFIO2CLR	__attribute__ ((aligned(4), section(".MMR4")));
+	volatile unsigned long mmrFIO3DIR	__attribute__ ((aligned(4), section(".MMR4")));
+	volatile unsigned long mmrFIO3MASK	__attribute__ ((aligned(4), section(".MMR5")));
+	volatile unsigned long mmrFIO3PIN	__attribute__ ((aligned(4), section(".MMR5")));
+	volatile unsigned long mmrFIO3SET	__attribute__ ((aligned(4), section(".MMR5")));
+	volatile unsigned long mmrFIO3CLR	__attribute__ ((aligned(4), section(".MMR5")));
+	volatile unsigned long mmrFIO4DIR	__attribute__ ((aligned(4), section(".MMR5")));
+	volatile unsigned long mmrFIO4MASK	__attribute__ ((aligned(4), section(".MMR6")));
+	volatile unsigned long mmrFIO4PIN	__attribute__ ((aligned(4), section(".MMR6")));
+	volatile unsigned long mmrFIO4SET	__attribute__ ((aligned(4), section(".MMR6")));
+	volatile unsigned long mmrFIO4CLR	__attribute__ ((aligned(4), section(".MMR6")));
+	volatile unsigned long mmrWDMOD	__attribute__ ((aligned(4), section(".MMR7")));
+	volatile unsigned long mmrWDTC	__attribute__ ((aligned(4), section(".MMR7")));
+	volatile unsigned long mmrWDFEED	__attribute__ ((aligned(4), section(".MMR7")));
+	volatile unsigned long mmrWDTV	__attribute__ ((aligned(4), section(".MMR7")));
+	volatile unsigned long mmrWDCLKSEL	__attribute__ ((aligned(4), section(".MMR7")));
+	volatile unsigned long mmrT0IR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0TCR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0TC	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0PR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0PC	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0MCR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0MR0	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0MR1	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0MR2	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0MR3	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CCR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CR0	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CR1	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CR2	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CR3	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0EMR	__attribute__ ((aligned(4), section(".MMR8")));
+	volatile unsigned long mmrT0CTCR	__attribute__ ((aligned(4), section(".MMR9")));
+	volatile unsigned long mmrT1IR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1TCR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1TC	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1PR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1PC	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1MCR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1MR0	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1MR1	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1MR2	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1MR3	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CCR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CR0	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CR1	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CR2	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CR3	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1EMR	__attribute__ ((aligned(4), section(".MMR10")));
+	volatile unsigned long mmrT1CTCR	__attribute__ ((aligned(4), section(".MMR11")));
+	volatile unsigned long mmrU0RBR	__attribute__ ((aligned(4), section(".MMR12")));
+	volatile unsigned long mmrU0DLM	__attribute__ ((aligned(4), section(".MMR12")));
+	volatile unsigned long mmrU0IIR	__attribute__ ((aligned(4), section(".MMR12")));
+	volatile unsigned long mmrU0LCR	__attribute__ ((aligned(4), section(".MMR12")));
+	volatile unsigned long mmrU0LSR	__attribute__ ((aligned(4), section(".MMR17")));
+	volatile unsigned long mmrU0SCR	__attribute__ ((aligned(4), section(".MMR18")));
+	volatile unsigned long mmrU0ACR	__attribute__ ((aligned(4), section(".MMR18")));
+	volatile unsigned long mmrU0ICR	__attribute__ ((aligned(4), section(".MMR18")));
+	volatile unsigned long mmrU0FDR	__attribute__ ((aligned(4), section(".MMR18")));
+	volatile unsigned long mmrU0TER	__attribute__ ((aligned(4), section(".MMR19")));
+	volatile unsigned long mmrU1RBR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1DLM	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1IIR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1LCR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1MCR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1LSR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1MSR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1SCR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1ACR	__attribute__ ((aligned(4), section(".MMR20")));
+	volatile unsigned long mmrU1FDR	__attribute__ ((aligned(4), section(".MMR25")));
+	volatile unsigned long mmrU1TER	__attribute__ ((aligned(4), section(".MMR26")));
+	volatile unsigned long mmrPWM0IR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0TCR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0TC	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0PR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0PC	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MCR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR0	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR1	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR2	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR3	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CCR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CR0	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CR1	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CR2	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CR3	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0EMR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR4	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR5	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0MR6	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0PCR	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0LER	__attribute__ ((aligned(4), section(".MMR27")));
+	volatile unsigned long mmrPWM0CTCR	__attribute__ ((aligned(4), section(".MMR28")));
+	volatile unsigned long mmrPWM1IR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1TCR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1TC	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1PR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1PC	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MCR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR0	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR1	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR2	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR3	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CCR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CR0	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CR1	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CR2	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CR3	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1EMR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR4	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR5	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1MR6	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1PCR	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1LER	__attribute__ ((aligned(4), section(".MMR29")));
+	volatile unsigned long mmrPWM1CTCR	__attribute__ ((aligned(4), section(".MMR30")));
+	volatile unsigned long mmrI20CONSET	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20STAT	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20DAT	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20ADR	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20SCLH	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20SCLL	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrI20CONCLR	__attribute__ ((aligned(4), section(".MMR31")));
+	volatile unsigned long mmrS0SPCR	__attribute__ ((aligned(4), section(".MMR32")));
+	volatile unsigned long mmrS0SPSR	__attribute__ ((aligned(4), section(".MMR32")));
+	volatile unsigned long mmrS0SPDR	__attribute__ ((aligned(4), section(".MMR32")));
+	volatile unsigned long mmrS0SPCCR	__attribute__ ((aligned(4), section(".MMR32")));
+	volatile unsigned long mmrS0SPINT	__attribute__ ((aligned(4), section(".MMR33")));
+	volatile unsigned long mmrRTC_ILR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CTC	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CCR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CIIR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_AMR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CTIME0	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CTIME1	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CTIME2	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_SEC	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_MIN	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_HOUR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_DOM	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_DOW	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_DOY	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_MONTH	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_YEAR	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_CISS	__attribute__ ((aligned(4), section(".MMR34")));
+	volatile unsigned long mmrRTC_ALSEC	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALMIN	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALHOUR	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALDOM	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALDOW	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALDOY	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALMON	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_ALYEAR	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_PREINT	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrRTC_PREFRAC	__attribute__ ((aligned(4), section(".MMR35")));
+	volatile unsigned long mmrIOPIN0	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIOSET0	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIODIR0	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIOCLR0	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIOPIN1	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIOSET1	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIODIR1	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIOCLR1	__attribute__ ((aligned(4), section(".MMR36")));
+	volatile unsigned long mmrIO_INT_STAT	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO0_INT_STAT_R	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO0_INT_STAT_F	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO0_INT_CLR	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO0_INT_EN_R	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO0_INT_EN_F	__attribute__ ((aligned(4), section(".MMR37")));
+	volatile unsigned long mmrIO2_INT_STAT_R	__attribute__ ((aligned(4), section(".MMR38")));
+	volatile unsigned long mmrIO2_INT_STAT_F	__attribute__ ((aligned(4), section(".MMR38")));
+	volatile unsigned long mmrIO2_INT_CLR	__attribute__ ((aligned(4), section(".MMR38")));
+	volatile unsigned long mmrIO2_INT_EN_R	__attribute__ ((aligned(4), section(".MMR38")));
+	volatile unsigned long mmrIO2_INT_EN_F	__attribute__ ((aligned(4), section(".MMR38")));
+	volatile unsigned long mmrPINSEL0	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL1	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL2	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL3	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL4	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL5	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL6	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL7	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL8	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL9	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINSEL10	__attribute__ ((aligned(4), section(".MMR39")));
+	volatile unsigned long mmrPINMODE0	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE1	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE2	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE3	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE4	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE5	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE6	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE7	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE8	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrPINMODE9	__attribute__ ((aligned(4), section(".MMR40")));
+	volatile unsigned long mmrSSP1CR0	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1CR1	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1DR	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1SR	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1CPSR	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1IMSC	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1RIS	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1MIS	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1ICR	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrSSP1DMACR	__attribute__ ((aligned(4), section(".MMR41")));
+	volatile unsigned long mmrAD0CR	__attribute__ ((aligned(4), section(".MMR42")));
+	volatile unsigned long mmrAD0GDR	__attribute__ ((aligned(4), section(".MMR42")));
+	volatile unsigned long mmrAD0INTEN	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR0	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR1	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR2	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR3	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR4	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR5	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR6	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0DR7	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrAD0STAT	__attribute__ ((aligned(4), section(".MMR43")));
+	volatile unsigned long mmrCAN_AFMR	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_SFF_SA	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_SFF_GRP_SA	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_EFF_SA	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_EFF_GRP_SA	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_EOT	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_LUT_ERR_ADR	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_LUT_ERR	__attribute__ ((aligned(4), section(".MMR44")));
+	volatile unsigned long mmrCAN_TX_SR	__attribute__ ((aligned(4), section(".MMR45")));
+	volatile unsigned long mmrCAN_RX_SR	__attribute__ ((aligned(4), section(".MMR45")));
+	volatile unsigned long mmrCAN_MSR	__attribute__ ((aligned(4), section(".MMR45")));
+	volatile unsigned long mmrCAN1MOD	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1CMR	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1GSR	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1ICR	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1IER	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1BTR	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1EWL	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1SR	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1RFS	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1RID	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1RDA	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1RDB	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TFI1	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TID1	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDA1	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDB1	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TFI2	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TID2	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDA2	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDB2	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TFI3	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TID3	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDA3	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN1TDB3	__attribute__ ((aligned(4), section(".MMR46")));
+	volatile unsigned long mmrCAN2MOD	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2CMR	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2GSR	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2ICR	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2IER	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2BTR	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2EWL	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2SR	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2RFS	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2RID	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2RDA	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2RDB	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TFI1	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TID1	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDA1	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDB1	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TFI2	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TID2	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDA2	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDB2	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TFI3	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TID3	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDA3	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrCAN2TDB3	__attribute__ ((aligned(4), section(".MMR47")));
+	volatile unsigned long mmrI21CONSET	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21STAT	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21DAT	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21ADR	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21SCLH	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21SCLL	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrI21CONCLR	__attribute__ ((aligned(4), section(".MMR48")));
+	volatile unsigned long mmrSSP0CR0	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0CR1	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0DR	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0SR	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0CPSR	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0IMSC	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0RIS	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0MIS	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0ICR	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrSSP0DMACR	__attribute__ ((aligned(4), section(".MMR49")));
+	volatile unsigned long mmrDACR	__attribute__ ((aligned(4), section(".MMR50")));
+	volatile unsigned long mmrT2IR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2TCR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2TC	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2PR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2PC	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2MCR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2MR0	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2MR1	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2MR2	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2MR3	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CCR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CR0	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CR1	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CR2	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CR3	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2EMR	__attribute__ ((aligned(4), section(".MMR51")));
+	volatile unsigned long mmrT2CTCR	__attribute__ ((aligned(4), section(".MMR52")));
+	volatile unsigned long mmrT3IR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3TCR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3TC	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3PR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3PC	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3MCR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3MR0	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3MR1	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3MR2	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3MR3	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CCR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CR0	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CR1	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CR2	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CR3	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3EMR	__attribute__ ((aligned(4), section(".MMR53")));
+	volatile unsigned long mmrT3CTCR	__attribute__ ((aligned(4), section(".MMR54")));
+	volatile unsigned long mmrU2RBR	__attribute__ ((aligned(4), section(".MMR55")));
+	volatile unsigned long mmrU2DLM	__attribute__ ((aligned(4), section(".MMR55")));
+	volatile unsigned long mmrU2IIR	__attribute__ ((aligned(4), section(".MMR55")));
+	volatile unsigned long mmrU2LCR	__attribute__ ((aligned(4), section(".MMR55")));
+	volatile unsigned long mmrU2LSR	__attribute__ ((aligned(4), section(".MMR60")));
+	volatile unsigned long mmrU2SCR	__attribute__ ((aligned(4), section(".MMR61")));
+	volatile unsigned long mmrU2ACR	__attribute__ ((aligned(4), section(".MMR61")));
+	volatile unsigned long mmrU2ICR	__attribute__ ((aligned(4), section(".MMR61")));
+	volatile unsigned long mmrU2FDR	__attribute__ ((aligned(4), section(".MMR61")));
+	volatile unsigned long mmrU2TER	__attribute__ ((aligned(4), section(".MMR62")));
+	volatile unsigned long mmrU3RBR	__attribute__ ((aligned(4), section(".MMR63")));
+	volatile unsigned long mmrU3DLM	__attribute__ ((aligned(4), section(".MMR63")));
+	volatile unsigned long mmrU3IIR	__attribute__ ((aligned(4), section(".MMR63")));
+	volatile unsigned long mmrU3LCR	__attribute__ ((aligned(4), section(".MMR63")));
+	volatile unsigned long mmrU3LSR	__attribute__ ((aligned(4), section(".MMR68")));
+	volatile unsigned long mmrU3SCR	__attribute__ ((aligned(4), section(".MMR69")));
+	volatile unsigned long mmrU3ACR	__attribute__ ((aligned(4), section(".MMR69")));
+	volatile unsigned long mmrU3ICR	__attribute__ ((aligned(4), section(".MMR69")));
+	volatile unsigned long mmrU3FDR	__attribute__ ((aligned(4), section(".MMR69")));
+	volatile unsigned long mmrU3TER	__attribute__ ((aligned(4), section(".MMR70")));
+	volatile unsigned long mmrI22CONSET	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22STAT	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22DAT	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22ADR	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22SCLH	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22SCLL	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI22CONCLR	__attribute__ ((aligned(4), section(".MMR71")));
+	volatile unsigned long mmrI2S_DAO	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_DAI	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_TX_FIFO	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_RX_FIFO	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_STATE	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_DMA1	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_DMA2	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_IRQ	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_TXRATE	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrI2S_RXRATE	__attribute__ ((aligned(4), section(".MMR72")));
+	volatile unsigned long mmrMCI_POWER	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_CLOCK	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_ARGUMENT	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_COMMAND	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_RESP_CMD	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_RESP0	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_RESP1	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_RESP2	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_RESP3	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_DATA_TMR	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_DATA_LEN	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_DATA_CTRL	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_DATA_CNT	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_STATUS	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_CLEAR	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_MASK0	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_MASK1	__attribute__ ((aligned(4), section(".MMR73")));
+	volatile unsigned long mmrMCI_FIFO_CNT	__attribute__ ((aligned(4), section(".MMR74")));
+	volatile unsigned long mmrMCI_FIFO	__attribute__ ((aligned(4), section(".MMR75")));
+	volatile unsigned long mmrMAMCR	__attribute__ ((aligned(4), section(".MMR76")));
+	volatile unsigned long mmrMAMTIM	__attribute__ ((aligned(4), section(".MMR76")));
+	volatile unsigned long mmrMEMMAP	__attribute__ ((aligned(4), section(".MMR77")));
+	volatile unsigned long mmrPLLCON	__attribute__ ((aligned(4), section(".MMR78")));
+	volatile unsigned long mmrPLLCFG	__attribute__ ((aligned(4), section(".MMR78")));
+	volatile unsigned long mmrPLLSTAT	__attribute__ ((aligned(4), section(".MMR78")));
+	volatile unsigned long mmrPLLFEED	__attribute__ ((aligned(4), section(".MMR78")));
+	volatile unsigned long mmrPCON	__attribute__ ((aligned(4), section(".MMR79")));
+	volatile unsigned long mmrPCONP	__attribute__ ((aligned(4), section(".MMR79")));
+	volatile unsigned long mmrCCLKCFG	__attribute__ ((aligned(4), section(".MMR80")));
+	volatile unsigned long mmrUSBCLKCFG	__attribute__ ((aligned(4), section(".MMR80")));
+	volatile unsigned long mmrCLKSRCSEL	__attribute__ ((aligned(4), section(".MMR80")));
+	volatile unsigned long mmrEXTINT	__attribute__ ((aligned(4), section(".MMR81")));
+	volatile unsigned long mmrINTWAKE	__attribute__ ((aligned(4), section(".MMR81")));
+	volatile unsigned long mmrEXTMODE	__attribute__ ((aligned(4), section(".MMR81")));
+	volatile unsigned long mmrEXTPOLAR	__attribute__ ((aligned(4), section(".MMR81")));
+	volatile unsigned long mmrRSIR	__attribute__ ((aligned(4), section(".MMR82")));
+	volatile unsigned long mmrCSPR	__attribute__ ((aligned(4), section(".MMR82")));
+	volatile unsigned long mmrAHBCFG1	__attribute__ ((aligned(4), section(".MMR82")));
+	volatile unsigned long mmrAHBCFG2	__attribute__ ((aligned(4), section(".MMR82")));
+	volatile unsigned long mmrSCS	__attribute__ ((aligned(4), section(".MMR83")));
+	volatile unsigned long mmrPCLKSEL0	__attribute__ ((aligned(4), section(".MMR84")));
+	volatile unsigned long mmrPCLKSEL1	__attribute__ ((aligned(4), section(".MMR84")));
+	volatile unsigned long mmrUSB_INT_STAT	__attribute__ ((aligned(4), section(".MMR85")));
+	volatile unsigned long mmrMAC_MAC1	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MAC2	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_IPGT	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_IPGR	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_CLRT	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MAXF	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_SUPP	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_TEST	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MCFG	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MCMD	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MADR	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MWTD	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MRDD	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_MIND	__attribute__ ((aligned(4), section(".MMR86")));
+	volatile unsigned long mmrMAC_SA0	__attribute__ ((aligned(4), section(".MMR87")));
+	volatile unsigned long mmrMAC_SA1	__attribute__ ((aligned(4), section(".MMR87")));
+	volatile unsigned long mmrMAC_SA2	__attribute__ ((aligned(4), section(".MMR87")));
+	volatile unsigned long mmrMAC_COMMAND	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_STATUS	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_RXDESCRIPTOR	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_RXSTATUS	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_RXDESCRIPTORNUM	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_RXPRODUCEINDEX	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_RXCONSUMEINDEX	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TXDESCRIPTOR	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TXSTATUS	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TXDESCRIPTORNUM	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TXPRODUCEINDEX	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TXCONSUMEINDEX	__attribute__ ((aligned(4), section(".MMR88")));
+	volatile unsigned long mmrMAC_TSV0	__attribute__ ((aligned(4), section(".MMR89")));
+	volatile unsigned long mmrMAC_TSV1	__attribute__ ((aligned(4), section(".MMR89")));
+	volatile unsigned long mmrMAC_RSV	__attribute__ ((aligned(4), section(".MMR89")));
+	volatile unsigned long mmrMAC_FLOWCONTROLCNT	__attribute__ ((aligned(4), section(".MMR90")));
+	volatile unsigned long mmrMAC_FLOWCONTROLSTS	__attribute__ ((aligned(4), section(".MMR90")));
+	volatile unsigned long mmrMAC_RXFILTERCTRL	__attribute__ ((aligned(4), section(".MMR91")));
+	volatile unsigned long mmrMAC_RXFILTERWOLSTS	__attribute__ ((aligned(4), section(".MMR91")));
+	volatile unsigned long mmrMAC_RXFILTERWOLCLR	__attribute__ ((aligned(4), section(".MMR91")));
+	volatile unsigned long mmrMAC_HASHFILTERL	__attribute__ ((aligned(4), section(".MMR92")));
+	volatile unsigned long mmrMAC_HASHFILTERH	__attribute__ ((aligned(4), section(".MMR92")));
+	volatile unsigned long mmrMAC_INTSTATUS	__attribute__ ((aligned(4), section(".MMR93")));
+	volatile unsigned long mmrMAC_INTENABLE	__attribute__ ((aligned(4), section(".MMR93")));
+	volatile unsigned long mmrMAC_INTCLEAR	__attribute__ ((aligned(4), section(".MMR93")));
+	volatile unsigned long mmrMAC_INTSET	__attribute__ ((aligned(4), section(".MMR93")));
+	volatile unsigned long mmrMAC_POWERDOWN	__attribute__ ((aligned(4), section(".MMR94")));
+	volatile unsigned long mmrMAC_MODULEID	__attribute__ ((aligned(4), section(".MMR95")));
+	volatile unsigned long mmrGPDMA_INT_STAT	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_INT_TCSTAT	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_INT_TCCLR	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_INT_ERR_STAT	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_INT_ERR_CLR	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_RAW_INT_TCSTAT	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_RAW_INT_ERR_STAT	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_ENABLED_CHNS	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_SOFT_BREQ	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_SOFT_SREQ	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_SOFT_LBREQ	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_SOFT_LSREQ	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_CONFIG	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_SYNC	__attribute__ ((aligned(4), section(".MMR96")));
+	volatile unsigned long mmrGPDMA_CH0_SRC	__attribute__ ((aligned(4), section(".MMR97")));
+	volatile unsigned long mmrGPDMA_CH0_DEST	__attribute__ ((aligned(4), section(".MMR97")));
+	volatile unsigned long mmrGPDMA_CH0_LLI	__attribute__ ((aligned(4), section(".MMR97")));
+	volatile unsigned long mmrGPDMA_CH0_CTRL	__attribute__ ((aligned(4), section(".MMR97")));
+	volatile unsigned long mmrGPDMA_CH0_CFG	__attribute__ ((aligned(4), section(".MMR97")));
+	volatile unsigned long mmrGPDMA_CH1_SRC	__attribute__ ((aligned(4), section(".MMR98")));
+	volatile unsigned long mmrGPDMA_CH1_DEST	__attribute__ ((aligned(4), section(".MMR98")));
+	volatile unsigned long mmrGPDMA_CH1_LLI	__attribute__ ((aligned(4), section(".MMR98")));
+	volatile unsigned long mmrGPDMA_CH1_CTRL	__attribute__ ((aligned(4), section(".MMR98")));
+	volatile unsigned long mmrGPDMA_CH1_CFG	__attribute__ ((aligned(4), section(".MMR98")));
+	volatile unsigned long mmrEMC_CTRL	__attribute__ ((aligned(4), section(".MMR99")));
+	volatile unsigned long mmrEMC_STAT	__attribute__ ((aligned(4), section(".MMR99")));
+	volatile unsigned long mmrEMC_CONFIG	__attribute__ ((aligned(4), section(".MMR99")));
+	volatile unsigned long mmrEMC_DYN_CTRL	__attribute__ ((aligned(4), section(".MMR100")));
+	volatile unsigned long mmrEMC_DYN_RFSH	__attribute__ ((aligned(4), section(".MMR100")));
+	volatile unsigned long mmrEMC_DYN_RD_CFG	__attribute__ ((aligned(4), section(".MMR100")));
+	volatile unsigned long mmrEMC_DYN_RP	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_RAS	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_SREX	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_APR	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_DAL	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_WR	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_RC	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_RFC	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_XSR	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_RRD	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_DYN_MRD	__attribute__ ((aligned(4), section(".MMR101")));
+	volatile unsigned long mmrEMC_STA_EXT_WAIT	__attribute__ ((aligned(4), section(".MMR102")));
+	volatile unsigned long mmrEMC_DYN_CFG0	__attribute__ ((aligned(4), section(".MMR103")));
+	volatile unsigned long mmrEMC_DYN_RASCAS0	__attribute__ ((aligned(4), section(".MMR103")));
+	volatile unsigned long mmrEMC_DYN_CFG1	__attribute__ ((aligned(4), section(".MMR104")));
+	volatile unsigned long mmrEMC_DYN_RASCAS1	__attribute__ ((aligned(4), section(".MMR104")));
+	volatile unsigned long mmrEMC_DYN_CFG2	__attribute__ ((aligned(4), section(".MMR105")));
+	volatile unsigned long mmrEMC_DYN_RASCAS2	__attribute__ ((aligned(4), section(".MMR105")));
+	volatile unsigned long mmrEMC_DYN_CFG3	__attribute__ ((aligned(4), section(".MMR106")));
+	volatile unsigned long mmrEMC_DYN_RASCAS3	__attribute__ ((aligned(4), section(".MMR106")));
+	volatile unsigned long mmrEMC_STA_CFG0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITWEN0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITOEN0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITRD0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITPAGE0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITWR0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_WAITTURN0	__attribute__ ((aligned(4), section(".MMR107")));
+	volatile unsigned long mmrEMC_STA_CFG1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITWEN1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITOEN1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITRD1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITPAGE1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITWR1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_WAITTURN1	__attribute__ ((aligned(4), section(".MMR108")));
+	volatile unsigned long mmrEMC_STA_CFG2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITWEN2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITOEN2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITRD2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITPAGE2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITWR2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_WAITTURN2	__attribute__ ((aligned(4), section(".MMR109")));
+	volatile unsigned long mmrEMC_STA_CFG3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITWEN3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITOEN3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITRD3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITPAGE3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITWR3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrEMC_STA_WAITTURN3	__attribute__ ((aligned(4), section(".MMR110")));
+	volatile unsigned long mmrHC_REVISION	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_CONTROL	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_CMD_STAT	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_INT_STAT	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_INT_EN	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_INT_DIS	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_HCCA	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_PERIOD_CUR_ED	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_CTRL_HEAD_ED	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_CTRL_CUR_ED	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_BULK_HEAD_ED	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_BULK_CUR_ED	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_DONE_HEAD	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_FM_INTERVAL	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_FM_REMAINING	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_FM_NUMBER	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_PERIOD_START	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_LS_THRHLD	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_RH_DESCA	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_RH_DESCB	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_RH_STAT	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_RH_PORT_STAT1	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrHC_RH_PORT_STAT2	__attribute__ ((aligned(4), section(".MMR111")));
+	volatile unsigned long mmrOTG_INT_STAT	__attribute__ ((aligned(4), section(".MMR112")));
+	volatile unsigned long mmrOTG_INT_EN	__attribute__ ((aligned(4), section(".MMR112")));
+	volatile unsigned long mmrOTG_INT_SET	__attribute__ ((aligned(4), section(".MMR112")));
+	volatile unsigned long mmrOTG_INT_CLR	__attribute__ ((aligned(4), section(".MMR112")));
+	volatile unsigned long mmrUSBPortSel	__attribute__ ((aligned(4), section(".MMR113")));
+	volatile unsigned long mmrOTG_TIMER	__attribute__ ((aligned(4), section(".MMR113")));
+	volatile unsigned long mmrDEV_INT_STAT	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDEV_INT_EN	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDEV_INT_CLR	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDEV_INT_SET	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrCMD_CODE	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrCMD_DATA	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrRX_DATA	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrTX_DATA	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrRX_PLENGTH	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrTX_PLENGTH	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrUSB_CTRL	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDEV_INT_PRIO	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INT_STAT	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INT_EN	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INT_CLR	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INT_SET	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INT_PRIO	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrREALIZE_EP	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrEP_INDEX	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrMAXPACKET_SIZE	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDMA_REQ_STAT	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDMA_REQ_CLR	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrDMA_REQ_SET	__attribute__ ((aligned(4), section(".MMR114")));
+	volatile unsigned long mmrUDCA_HEAD	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrEP_DMA_STAT	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrEP_DMA_EN	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrEP_DMA_DIS	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrDMA_INT_STAT	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrDMA_INT_EN	__attribute__ ((aligned(4), section(".MMR115")));
+	volatile unsigned long mmrEOT_INT_STAT	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrEOT_INT_CLR	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrEOT_INT_SET	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrNDD_REQ_INT_STAT	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrNDD_REQ_INT_CLR	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrNDD_REQ_INT_SET	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrSYS_ERR_INT_STAT	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrSYS_ERR_INT_CLR	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrSYS_ERR_INT_SET	__attribute__ ((aligned(4), section(".MMR116")));
+	volatile unsigned long mmrOTG_I2C_RX	__attribute__ ((aligned(4), section(".MMR117")));
+	volatile unsigned long mmrOTG_I2C_STS	__attribute__ ((aligned(4), section(".MMR117")));
+	volatile unsigned long mmrOTG_I2C_CTL	__attribute__ ((aligned(4), section(".MMR117")));
+	volatile unsigned long mmrOTG_I2C_CLKHI	__attribute__ ((aligned(4), section(".MMR117")));
+	volatile unsigned long mmrOTG_I2C_CLKLO	__attribute__ ((aligned(4), section(".MMR117")));
+	volatile unsigned long mmrUSBClkCtrl	__attribute__ ((aligned(4), section(".MMR119")));
+	volatile unsigned long mmrUSBClkSt	__attribute__ ((aligned(4), section(".MMR119")));
+	volatile unsigned long mmrVICIRQStatus	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICFIQStatus	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICRawIntr	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICIntSelect	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICIntEnable	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICIntEnClr	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICSoftInt	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICSoftIntClr	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICProtection	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICSWPrioMask	__attribute__ ((aligned(4), section(".MMR120")));
+	volatile unsigned long mmrVICVectAddr0	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr1	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr2	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr3	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr4	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr5	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr6	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr7	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr8	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr9	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr10	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr11	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr12	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr13	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr14	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr15	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr16	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr17	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr18	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr19	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr20	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr21	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr22	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr23	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr24	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr25	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr26	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr27	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr28	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr29	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr30	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectAddr31	__attribute__ ((aligned(4), section(".MMR121")));
+	volatile unsigned long mmrVICVectPriority0	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority1	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority2	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority3	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority4	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority5	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority6	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority7	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority8	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority9	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority10	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority11	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority12	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority13	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority14	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority15	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority16	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority17	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority18	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority19	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority20	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority21	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority22	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority23	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority24	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority25	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority26	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority27	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority28	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority29	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority30	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectPriority31	__attribute__ ((aligned(4), section(".MMR122")));
+	volatile unsigned long mmrVICVectAddr	__attribute__ ((aligned(4), section(".MMR123")));
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/chip_support.S	(revision 26)
@@ -0,0 +1,246 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#define _MACRO_ONLY
+#include "armv4.h"
+#include "jsp_kernel.h"
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼
+ */
+
+#define VICIntEnable		0xFFFFF010
+#define VICIntEnClr		0xFFFFF014
+#define VICSoftInt			0xFFFFF018
+#define VICSoftIntClear	0xFFFFF01C
+#define VICIntSelect		0xFFFFF00C
+#define VICAddress			0xFFFFFF00
+
+
+
+        .text
+        .align 2
+        .global hardware_init_hook
+		/* VICã®åæåãããã¥ã¢ã«ã«ã¯ä¸è¦ã§ããããã«æ¸ãã¦ããããå®éã«ã¯å¿
+è¦ */
+hardware_init_hook:
+		ldr		r0,	=0xFFFFFFFF
+        ldr     r1,	=VICIntEnClr      	/* å²ãè¾¼ã¿ã¤ãã¼ãã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹  */
+        str     r0,	[r1]   				/* å²ãè¾¼ã¿ãå
+¨é¨ãã£ã»ã¼ãã« */
+        ldr     r1,	=VICSoftIntClear   	/* ã½ããã¦ã§ã¢å²ãè¾¼ã¿ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹  */
+        str     r0,	[r1]   				/* ã½ããã¦ã§ã¢å²ãè¾¼ã¿ãå
+¨é¨ã¯ãªã¢ */
+        ldr		r0, =0;
+        ldr     r1,	=VICIntSelect      	/* å²ãè¾¼ã¿é¸æã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹  */
+        str     r0,	[r1]   				/* ãã¹ã¦ã®å²ãè¾¼ã¿ãIRQã«å²ãå½ã¦ã */
+        ldr     r1,	=VICAddress      	/* å²ãè¾¼ã¿ãã³ãã©ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹  */
+        str     r0,	[r1]   				/* ã¬ã¸ã¹ã¿ã®åæåãããããããªãã¨å²ãè¾¼ã¿ã¯ããããªã */
+
+init_done:
+        mov     pc, lr
+
+
+        .text
+        .align 2
+        .global software_init_hook
+software_init_hook:
+        mov     pc, lr
+
+        .text
+        .align 2
+        .global software_term_hook
+software_term_hook:
+        mov     pc, lr
+
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦çã
+ *  VICã®IRQAddressãåå¾ãã¦ã¸ã£ã³ããããæå¾ã«æ¸ãè¾¼ããã¨
+ *
+ */
+        .text
+        .align 4
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /*
+         * å²è¾¼ã¿ã¢ã¼ã
+         *
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /*
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov   sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr_all, sp
+        stmfd sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+
+
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+        mov   r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr,r0
+        sub   r0,lr,#4
+        mrs   r1,spsr
+
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        and   r2,  r1, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr   r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr   cpsr_all, r2
+        str   r0, [sp,#0x18] /* Store pc */
+        stmfd sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+        ldr     r0,  =VICAddress       	/* å²è¾¼ã¿çä¼¼ãã¼ãã«ã®èª­ã¿åºã  */
+        ldr     r0,  [r0]   			/* r0<-å²è¾¼ã¿ãã³ãã©            */
+
+        /*
+         * å²ãè¾¼ã¿è¨±å¯
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #~CPSR_IRQ_BIT /* å²è¾¼ã¿è¨±å¯ */
+        msr     cpsr,r2
+
+        /*
+         * Call Handler
+         */
+        mov     lr,  pc
+        mov     pc,  r0
+
+        /*
+         * å²ãè¾¼ã¿ç¦æ­¢
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr,r2
+
+        ldr     r0,  =VICAddress       	/* å²è¾¼ã¿çä¼¼ãã¼ãã«ã®èª­ã¿åºã  */
+        str     r0,  [r0]   			/* å²ãè¾¼ã¿ã¢ã¯ãã¬ãã¸            */
+
+        /*
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]
+        sub     r3, r1, #1
+        str     r3, [r2]
+        cmp     r3, #0x00
+        bne     return_to_task_irq
+
+        /*
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸°
+         */
+        ldmfd   sp!,{r0}
+        mov     sp, r0
+
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        mrs     r2, cpsr           /* FIQãç¶æ¿            */
+        and     r2, r2, #CPSR_FIQ_BIT
+        and     r1, r1, #~CPSR_FIQ_BIT
+        orr     r1, r1, r2
+        msr     spsr, r1              /* æ»ãå
+ã®cpsrãspsrã«è¨­å® */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /* ã¿ã¹ã¯ã«å¾©å¸° ^ä»ããªã®ã§ãcpsr <- spsr */
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */
+undefined_interrupt:
+         b      undef_interrupt
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.cfg	(revision 26)
@@ -0,0 +1,14 @@
+/*
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼CQ-FRK-NXP-ARMï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, uart0_isr });
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SIO2, { TA_HLNG, uart2_isr });
+#endif /* TNUM_SIOP >= 2 */
+#if TNUM_SIOP >= 3
+DEF_INH(INHNO_SIO3, { TA_HLNG, uart3_isr });
+#endif /* TNUM_SIOP >= 3 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_serial.h	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼CQ-FRK-NXP-ARM UARTç¨ï¼
+ *
+ *   ãã®ãã¡ã¤ã«ã¯ãTOPPERS/JSP 1.4.2ã® config/sh3/ms7727cp01/hw_serial.hã
+ *   ãªãã¼ã ããå
+é¨ã®è­å¥å­ãå¤æ´ãããã®ã§ããã
+ */
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+#include "lpc2388uart.h"
+#include "lpc2388.h"
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+    /*
+     * å¯¾å¿ããå²ãè¾¼ã¿ã®ã¤ãã¼ãã«
+     * ãã¼ã1,2,3ã«å¯¾ãã¦LPC2388ã®U0, U2, U3ãå²ãå½ã¦ããããU1ã¯ä½¿ããªã
+     */
+    switch(siopid-1)
+    {
+    case 0:
+    	ena_int(INTNO_U0);
+    	break;
+    case 1:
+    	ena_int(INTNO_U2);
+    	break;
+    case 2:
+    	ena_int(INTNO_U3);
+    	break;
+    }
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio0_rx_handler uart0_rx_isr
+#define sio0_tx_handler uart0_tx_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/hw_timer.h	(revision 26)
@@ -0,0 +1,175 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by  Advanced Data Controls, Corp
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *  TIMER3ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include "lpc2388.h"
+
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define    INHNO_TIMER    INHNO_TIMER3
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW    CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno) (LP2388_SYSTEM_TIMER3_CLOCK/1000 * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ * ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼ã¿ã¤ãã¼3ã¨ãããã¬ã¸ã¹ã¿0ãä½¿ãã
+ * å¤é¨ã§å®ç¾©ãããPCLK (Hz)ãã¯ã­ãã¯å
+¥åã¨ãã¦ä½¿ãã
+ */
+Inline void
+hw_timer_initialize()
+{
+
+    /*
+     *  ã¿ã¤ãé¢é£ã®è¨­å®
+     */
+    		/* ã¿ã¤ãåæ­¢ããã³ãªã»ãã */
+    T3TCR = 0x0002;
+    		/* å²è¾¼ã¿ã®ã¯ãªã¢  */
+    T3IR =  0x0001;				/* MR0å²ãè¾¼ã¿ã®ã¯ãªã¢ */
+
+	T3CTCR = 0;			/* PCLKã®ã¨ãã¸ãæ°ãããã­ã£ããã£å
+¥åã¯ç¡è¦ */
+	T3PR = 0;			/* PCLKã®ã¨ãã¸ããã¹ã¦æ°ãããããªã¹ã±ã¼ã«ãªã */
+    T3MR3 = (LP2388_SYSTEM_TIMER3_CLOCK/1000) -1;		/* 1mSãã¨ã«ãããããã */
+	T3MCR = 0x3 << 9;	/* MR3S:R:I = 0:1:1ãããããããã«ã¦ã³ã¿ããªã»ããããå²ãè¾¼ã¿ãããã */
+
+	T3TCR = 1;			/* TIMER3ãã«ã¦ã³ãéå§ã«ãã */
+
+		/* ã¿ã¤ãã¼å²ãè¾¼ã¿ãæå¹ã«ãã */
+	VICIntEnable = 1<< INHNO_TIMER;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+    		/* å²è¾¼ã¿ã®ã¯ãªã¢  */
+	T3IR = 1<<3;			/* MR3ãããã®å²ãè¾¼ã¿ãã¯ãªã¢ãã */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    		/* ã¿ã¤ãåæ­¢ããã³ãªã»ãã */
+    T3TCR = 0x0002;
+    		/* å²è¾¼ã¿ã®ã¯ãªã¢  */
+    T3IR =  0x0001;				/* MR0å²ãè¾¼ã¿ã®ã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(T3TC);
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(T3IR & (1<<3));		/* MR3 ãããããã¦ãããç */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.h	(revision 26)
@@ -0,0 +1,315 @@
+/*
+ * lpc2388.h
+ *
+ *  Created on: 2009/08/31
+ *      Author: suikan
+ */
+
+#ifndef LPC2388_H_
+#define LPC2388_H_
+
+	/* Chapter 2 : Memory re-mapping */
+#define MEMMAP *(volatile unsigned int *) 0xE01FC040
+
+	/* Chapter 3 : System Control */
+#define EXTINT *(volatile unsigned int *) 0xE01FC140
+#define EXTMODE *(volatile unsigned int *) 0xE01FC148
+#define EXTPOLAR *(volatile unsigned int *) 0xE01FC14C
+#define RSID *(volatile unsigned int *) 0xE01FC180
+#define AHBCFG1 *(volatile unsigned int *) 0xE01FC188
+#define AHBCFG2 *(volatile unsigned int *) 0xE01FC18C
+#define SCS *(volatile unsigned int*) 0xE01FC1A0
+
+	/* Chapter 4 : Configuration */
+#define CLKSRCSEL	*(volatile unsigned int *) 0xE01FC10C
+#define PLLCON		*(volatile unsigned int *) 0xE01FC080
+#define PLLCFG		*(volatile unsigned int *) 0xE01FC084
+#define PLLSTAT	*(volatile unsigned int *) 0xE01FC088
+#define PLLFEED	*(volatile unsigned int *) 0xE01FC08C
+#define CCLKCFG	*(volatile unsigned int *) 0xE01FC104
+#define USBCLKCFG	*(volatile unsigned int *) 0xE01FC108
+#define IRCTRIM	*(volatile unsigned int *) 0xE01FC1A4
+#define PCLKSEL0	*(volatile unsigned int *) 0xE01FC1A8
+#define PCLKSEL1	*(volatile unsigned int *) 0xE01FC1AC
+#define PCON		*(volatile unsigned int *) 0xE01FC0C0
+#define INTWAKE	*(volatile unsigned int *) 0xE01FC144
+#define PCONP		*(volatile unsigned int *) 0xE01FC0C4
+
+	/* Chapter 7 : Memory Acceleration Module */
+#define MAMCR	*(volatile unsigned int *) 0xE01FC000
+#define MAMTIM	*(volatile unsigned int *) 0xE01FC004
+
+ /* Chapter 9 : Pin Connect block*/
+
+#define PINSEL0 *(volatile unsigned int*) 0xE002c000
+#define PINSEL1 *(volatile unsigned int*) 0xE002c004
+#define PINSEL2 *(volatile unsigned int*) 0xE002c008
+#define PINSEL3 *(volatile unsigned int*) 0xE002c00C
+#define PINSEL4 *(volatile unsigned int*) 0xE002c010
+#define PINSEL5 *(volatile unsigned int*) 0xE002c014
+#define PINSEL6 *(volatile unsigned int*) 0xE002c018
+#define PINSEL7 *(volatile unsigned int*) 0xE002c01C
+#define PINSEL8 *(volatile unsigned int*) 0xE002c020
+#define PINSEL9 *(volatile unsigned int*) 0xE002c024
+#define PINSEL10 *(volatile unsigned int*) 0xE002c028
+
+
+#define PINMODE0 *(volatile unsigned int *) 0xE002c040
+#define PINMODE1 *(volatile unsigned int *) 0xE002c044
+#define PINMODE2 *(volatile unsigned int *) 0xE002c048
+#define PINMODE3 *(volatile unsigned int *) 0xE002c04C
+#define PINMODE4 *(volatile unsigned int *) 0xE002c050
+#define PINMODE5 *(volatile unsigned int *) 0xE002c054
+#define PINMODE6 *(volatile unsigned int *) 0xE002c058
+#define PINMODE7 *(volatile unsigned int *) 0xE002c05C
+#define PINMODE8 *(volatile unsigned int *) 0xE002c060
+#define PINMODE9 *(volatile unsigned int *) 0xE002c064
+
+ /* Chapter 10 : FAST IO */
+#define FIO0DIR *(volatile unsigned int*) 0x3FFFC000
+#define FIO1DIR *(volatile unsigned int*) 0x3FFFC020
+#define FIO2DIR *(volatile unsigned int*) 0x3FFFC040
+#define FIO3DIR *(volatile unsigned int*) 0x3FFFC060
+#define FIO4DIR *(volatile unsigned int*) 0x3FFFC080
+
+#define FIO0MASK *(volatile unsigned int*) 0x3FFFC010
+#define FIO1MASK *(volatile unsigned int*) 0x3FFFC030
+#define FIO2MASK *(volatile unsigned int*) 0x3FFFC050
+#define FIO3MASK *(volatile unsigned int*) 0x3FFFC070
+#define FIO4MASK *(volatile unsigned int*) 0x3FFFC090
+
+#define FIO0PIN *(volatile unsigned int*) 0x3FFFC014
+#define FIO1PIN *(volatile unsigned int*) 0x3FFFC034
+#define FIO2PIN *(volatile unsigned int*) 0x3FFFC054
+#define FIO3PIN *(volatile unsigned int*) 0x3FFFC074
+#define FIO4PIN *(volatile unsigned int*) 0x3FFFC094
+
+#define FIO0SET *(volatile unsigned int*) 0x3FFFC018
+#define FIO1SET *(volatile unsigned int*) 0x3FFFC038
+#define FIO2SET *(volatile unsigned int*) 0x3FFFC058
+#define FIO3SET *(volatile unsigned int*) 0x3FFFC078
+#define FIO4SET *(volatile unsigned int*) 0x3FFFC098
+
+#define FIO0CLR *(volatile unsigned int*) 0x3FFFC01C
+#define FIO1CLR *(volatile unsigned int*) 0x3FFFC03C
+#define FIO2CLR *(volatile unsigned int*) 0x3FFFC05C
+#define FIO3CLR *(volatile unsigned int*) 0x3FFFC07C
+#define FIO4CLR *(volatile unsigned int*) 0x3FFFC09C
+
+ /* Chapter 16 : UART */
+#define U0RBR *( volatile unsigned char *)0xE000C000
+#define U2RBR *( volatile unsigned char *)0xE0078000
+#define U3RBR *( volatile unsigned char *)0xE007C000
+
+#define U0THR U0RBR
+#define U2THR U2RBR
+#define U3THR U3RBR
+
+#define U0DLL U0RBR
+#define U2DLL U2RBR
+#define U3DLL U3RBR
+
+#define U0IER *( volatile unsigned char *)0xE000C004
+#define U2IER *( volatile unsigned char *)0xE0078004
+#define U3IER *( volatile unsigned char *)0xE007C004
+
+#define U0DLM U0IER
+#define U2DLM U2IER
+#define U3DLM U3IER
+
+#define U0IIR *( volatile unsigned char *)0xE000C008
+#define U2IIR *( volatile unsigned char *)0xE0078008
+#define U3IIR *( volatile unsigned char *)0xE007C008
+
+#define U0FCR *( volatile unsigned char *)0xE000C008
+#define U2FCR *( volatile unsigned char *)0xE0078008
+#define U3FCR *( volatile unsigned char *)0xE007C008
+
+#define U0LCR *( volatile unsigned char *)0xE000C00C
+#define U2LCR *( volatile unsigned char *)0xE007800C
+#define U3LCR *( volatile unsigned char *)0xE007C00C
+
+#define U0LSR *( volatile unsigned char *)0xE000C014
+#define U2LSR *( volatile unsigned char *)0xE0078014
+#define U3LSR *( volatile unsigned char *)0xE007C014
+
+#define U0SCR *( volatile unsigned char *)0xE000C01C
+#define U2SCR *( volatile unsigned char *)0xE007801C
+#define U3SCR *( volatile unsigned char *)0xE007C01C
+
+#define U0ACR *( volatile unsigned char *)0xE000C020
+#define U2ACR *( volatile unsigned char *)0xE0078020
+#define U3ACR *( volatile unsigned char *)0xE007C020
+
+#define U3ICR *( volatile unsigned char *)0xE000C024
+
+#define U0FDR *( volatile unsigned char *)0xE000C028
+#define U2FDR *( volatile unsigned char *)0xE0078028
+#define U3FDR *( volatile unsigned char *)0xE007C028
+
+#define U0TER *( volatile unsigned char *)0xE000C030
+#define U2TER *( volatile unsigned char *)0xE0078030
+#define U3TER *( volatile unsigned char *)0xE007C030
+
+/* Chapter 23 */
+#define T0IR *(volatile unsigned int *) 0xE0004000
+#define T1IR *(volatile unsigned int *) 0xE0008000
+#define T2IR *(volatile unsigned int *) 0xE0070000
+#define T3IR *(volatile unsigned int *) 0xE0074000
+#define T0TCR *(volatile unsigned int *) 0xE0004004
+#define T1TCR *(volatile unsigned int *) 0xE0008004
+#define T2TCR *(volatile unsigned int *) 0xE0070004
+#define T3TCR *(volatile unsigned int *) 0xE0074004
+#define T0TC *(volatile unsigned int *) 0xE0004008
+#define T1TC *(volatile unsigned int *) 0xE0008008
+#define T2TC *(volatile unsigned int *) 0xE0070008
+#define T3TC *(volatile unsigned int *) 0xE0074008
+#define T0PR *(volatile unsigned int *) 0xE000400C
+#define T1PR *(volatile unsigned int *) 0xE000800C
+#define T2PR *(volatile unsigned int *) 0xE007000C
+#define T3PR *(volatile unsigned int *) 0xE007400C
+#define T0PC *(volatile unsigned int *) 0xE0004010
+#define T1PC *(volatile unsigned int *) 0xE0008010
+#define T2PC *(volatile unsigned int *) 0xE0070010
+#define T3PC *(volatile unsigned int *) 0xE0074010
+#define T0MCR *(volatile unsigned int *) 0xE0004014
+#define T1MCR *(volatile unsigned int *) 0xE0008014
+#define T2MCR *(volatile unsigned int *) 0xE0070014
+#define T3MCR *(volatile unsigned int *) 0xE0074014
+#define T0MR0 *(volatile unsigned int *) 0xE0004018
+#define T1MR0 *(volatile unsigned int *) 0xE0008018
+#define T2MR0 *(volatile unsigned int *) 0xE0070018
+#define T3MR0 *(volatile unsigned int *) 0xE0074018
+#define T0MR1 *(volatile unsigned int *) 0xE000401C
+#define T1MR1 *(volatile unsigned int *) 0xE000801C
+#define T2MR1 *(volatile unsigned int *) 0xE007001C
+#define T3MR1 *(volatile unsigned int *) 0xE007401C
+#define T0MR2 *(volatile unsigned int *) 0xE0004020
+#define T1MR2 *(volatile unsigned int *) 0xE0008020
+#define T2MR2 *(volatile unsigned int *) 0xE0070020
+#define T3MR2 *(volatile unsigned int *) 0xE0074020
+#define T0MR3 *(volatile unsigned int *) 0xE0004024
+#define T1MR3 *(volatile unsigned int *) 0xE0008024
+#define T2MR3 *(volatile unsigned int *) 0xE0070024
+#define T3MR3 *(volatile unsigned int *) 0xE0074024
+#define T0CR0 *(volatile unsigned int *) 0xE000402C
+#define T1CR0 *(volatile unsigned int *) 0xE000802C
+#define T2CR0 *(volatile unsigned int *) 0xE007002C
+#define T3CR0 *(volatile unsigned int *) 0xE007402C
+#define T0CR1 *(volatile unsigned int *) 0xE0004030
+#define T1CR1 *(volatile unsigned int *) 0xE0008030
+#define T2CR1 *(volatile unsigned int *) 0xE0070030
+#define T3CR1 *(volatile unsigned int *) 0xE0074030
+#define T0EMR *(volatile unsigned int *) 0xE000403C
+#define T1EMR *(volatile unsigned int *) 0xE000803C
+#define T2EMR *(volatile unsigned int *) 0xE007003C
+#define T3EMR *(volatile unsigned int *) 0xE007403C
+#define T0CTCR *(volatile unsigned int *) 0xE0004070
+#define T1CTCR *(volatile unsigned int *) 0xE0008070
+#define T2CTCR *(volatile unsigned int *) 0xE0070070
+#define T3CTCR *(volatile unsigned int *) 0xE0074070
+#define T0CR0 *(volatile unsigned int *) 0xE000402C
+#define T1CR0 *(volatile unsigned int *) 0xE000802C
+#define T2CR0 *(volatile unsigned int *) 0xE007002C
+#define T3CR0 *(volatile unsigned int *) 0xE007402C
+#define T0CR1 *(volatile unsigned int *) 0xE0004030
+#define T1CR1 *(volatile unsigned int *) 0xE0008030
+#define T2CR1 *(volatile unsigned int *) 0xE0070030
+#define T3CR1 *(volatile unsigned int *) 0xE0074030
+#define T0EMR *(volatile unsigned int *) 0xE000403C
+#define T1EMR *(volatile unsigned int *) 0xE000803C
+#define T2EMR *(volatile unsigned int *) 0xE007003C
+#define T3EMR *(volatile unsigned int *) 0xE007403C
+#define T0CTCR *(volatile unsigned int *) 0xE0004070
+#define T1CTCR *(volatile unsigned int *) 0xE0008070
+#define T2CTCR *(volatile unsigned int *) 0xE0070070
+#define T3CTCR *(volatile unsigned int *) 0xE0074070
+
+#define VICIRQStatus *(volatile unsigned int *)0xFFFFF000
+#define VICFIQStatus *(volatile unsigned int *)0xFFFFF004
+#define VICRawIntr *(volatile unsigned int *)0xFFFFF008
+
+#define VICIntSelect *(volatile unsigned int *)0xFFFFF00C
+
+#define VICIntEnable *(volatile unsigned int *)0xFFFFF010
+#define VICIntEnClr *(volatile unsigned int *)0xFFFFF014
+
+#define VICSoftInt *(volatile unsigned int *)0xFFFFF018
+#define VICSoftIntClear *(volatile unsigned int *)0xFFFFF01C
+
+#define VICProtection *(volatile unsigned int *)0xFFFFF020
+
+#define VICSWPriorityMask *(volatile unsigned int *)0xFFFFF024
+
+
+#define VICVectAddr0 *(volatile void (**)())0xFFFFF100
+#define VICVectAddr1 *(volatile void (**)())0xFFFFF104
+#define VICVectAddr2 *(volatile void (**)())0xFFFFF108
+#define VICVectAddr3 *(volatile void (**)())0xFFFFF10C
+#define VICVectAddr4 *(volatile void (**)())0xFFFFF110
+#define VICVectAddr5 *(volatile void (**)())0xFFFFF114
+#define VICVectAddr6 *(volatile void (**)())0xFFFFF118
+#define VICVectAddr7 *(volatile void (**)())0xFFFFF11C
+#define VICVectAddr8 *(volatile void (**)())0xFFFFF120
+#define VICVectAddr9 *(volatile void (**)())0xFFFFF124
+#define VICVectAddr10 *(volatile void (**)())0xFFFFF128
+#define VICVectAddr11 *(volatile void (**)())0xFFFFF12C
+#define VICVectAddr12 *(volatile void (**)())0xFFFFF130
+#define VICVectAddr13 *(volatile void (**)())0xFFFFF134
+#define VICVectAddr14 *(volatile void (**)())0xFFFFF138
+#define VICVectAddr15 *(volatile void (**)())0xFFFFF13C
+#define VICVectAddr16 *(volatile void (**)())0xFFFFF140
+#define VICVectAddr17 *(volatile void (**)())0xFFFFF144
+#define VICVectAddr18 *(volatile void (**)())0xFFFFF148
+#define VICVectAddr19 *(volatile void (**)())0xFFFFF14C
+#define VICVectAddr20 *(volatile void (**)())0xFFFFF150
+#define VICVectAddr21 *(volatile void (**)())0xFFFFF154
+#define VICVectAddr22 *(volatile void (**)())0xFFFFF158
+#define VICVectAddr23 *(volatile void (**)())0xFFFFF15C
+#define VICVectAddr24 *(volatile void (**)())0xFFFFF160
+#define VICVectAddr25 *(volatile void (**)())0xFFFFF164
+#define VICVectAddr26 *(volatile void (**)())0xFFFFF168
+#define VICVectAddr27 *(volatile void (**)())0xFFFFF16C
+#define VICVectAddr28 *(volatile void (**)())0xFFFFF170
+#define VICVectAddr29 *(volatile void (**)())0xFFFFF174
+#define VICVectAddr30 *(volatile void (**)())0xFFFFF178
+#define VICVectAddr31 *(volatile void (**)())0xFFFFF17C
+
+#define VICVectPriority0 *(volatile unsigned int *)0xFFFFF200
+#define VICVectPriority1 *(volatile unsigned int *)0xFFFFF204
+#define VICVectPriority2 *(volatile unsigned int *)0xFFFFF208
+#define VICVectPriority3 *(volatile unsigned int *)0xFFFFF20C
+#define VICVectPriority4 *(volatile unsigned int *)0xFFFFF210
+#define VICVectPriority5 *(volatile unsigned int *)0xFFFFF214
+#define VICVectPriority6 *(volatile unsigned int *)0xFFFFF218
+#define VICVectPriority7 *(volatile unsigned int *)0xFFFFF21C
+#define VICVectPriority8 *(volatile unsigned int *)0xFFFFF220
+#define VICVectPriority9 *(volatile unsigned int *)0xFFFFF224
+#define VICVectPriority10 *(volatile unsigned int *)0xFFFFF228
+#define VICVectPriority11 *(volatile unsigned int *)0xFFFFF22C
+#define VICVectPriority12 *(volatile unsigned int *)0xFFFFF230
+#define VICVectPriority13 *(volatile unsigned int *)0xFFFFF234
+#define VICVectPriority14 *(volatile unsigned int *)0xFFFFF238
+#define VICVectPriority15 *(volatile unsigned int *)0xFFFFF23C
+#define VICVectPriority16 *(volatile unsigned int *)0xFFFFF240
+#define VICVectPriority17 *(volatile unsigned int *)0xFFFFF244
+#define VICVectPriority18 *(volatile unsigned int *)0xFFFFF248
+#define VICVectPriority19 *(volatile unsigned int *)0xFFFFF24C
+#define VICVectPriority20 *(volatile unsigned int *)0xFFFFF250
+#define VICVectPriority21 *(volatile unsigned int *)0xFFFFF254
+#define VICVectPriority22 *(volatile unsigned int *)0xFFFFF258
+#define VICVectPriority23 *(volatile unsigned int *)0xFFFFF25C
+#define VICVectPriority24 *(volatile unsigned int *)0xFFFFF260
+#define VICVectPriority25 *(volatile unsigned int *)0xFFFFF264
+#define VICVectPriority26 *(volatile unsigned int *)0xFFFFF268
+#define VICVectPriority27 *(volatile unsigned int *)0xFFFFF26C
+#define VICVectPriority28 *(volatile unsigned int *)0xFFFFF270
+#define VICVectPriority29 *(volatile unsigned int *)0xFFFFF274
+#define VICVectPriority30 *(volatile unsigned int *)0xFFFFF278
+#define VICVectPriority31 *(volatile unsigned int *)0xFFFFF27C
+
+#define VICAddress *(volatile void (**)())0xFFFFFF00
+
+
+
+#endif /* LPC2388_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388.ld	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+MEMORY
+  {
+    MEM_FLASH (X!W)	  : ORIGIN = 0x00000000, LENGTH = 512K
+    MEM_FIO (RW)	  : ORIGIN = 0x3FFF8000, LENGTH = 32K
+    MEM_SRAM (XW)     : ORIGIN = 0x40000040, LENGTH = 0xFFC0
+    MEM_USBSRAM (XW)  : ORIGIN = 0x7FD00000, LENGTH = 16K
+    MEM_ETHERSRAM (XW): ORIGIN = 0x7FE00000, LENGTH = 16K
+    MEM_EXTSRAM_0 (XW): ORIGIN = 0x80000000, LENGTH = 64K
+    MEM_EXTSRAM_1 (XW): ORIGIN = 0x81000000, LENGTH = 64K
+    MEM_MMR (RW)	  : ORIGIN = 0xE0000000, LENGTH = 1024M
+  }
+
+
+SECTIONS
+{
+    .text :
+    {
+        __text = . ; 	
+        start.o(.vector)
+	    start.o(.text)
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    } > MEM_FLASH
+    
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { 
+		*(.rodata) 
+		*(.rodata.str1.4) 
+	} > MEM_FLASH
+
+	__exidx_start = .;
+	.ARM.exidx : {
+		 *(.ARM.exidx* .gnu.linkonce.armexidx.*) 
+	} > MEM_FLASH
+
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } > MEM_SRAM
+    . = ALIGN(4);
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    
+	.bss.firmmr (NOLOAD) : { chip_mmr.o(.MMR0)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4000; chip_mmr.o(.MMR1)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4010; chip_mmr.o(.MMR2)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4030; chip_mmr.o(.MMR3)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4050; chip_mmr.o(.MMR4)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4070; chip_mmr.o(.MMR5)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4090; chip_mmr.o(.MMR6)} > MEM_FIO
+
+
+    
+	
+    .bss       :
+    {
+      . = ALIGN(4);
+      __bss_start = .	;		
+      *(.bss)
+      *(COMMON)
+    } > MEM_SRAM
+
+      . = ALIGN(4);
+     _end = .		;
+    __bss_end = __bss_start + SIZEOF(.bss);
+    PROVIDE (end = .)	;
+
+	.bss.sysmmr (NOLOAD) : { . = 0x00000000;  chip_mmr.o(.MMR7)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00004000;  chip_mmr.o(.MMR8)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00004070;  chip_mmr.o(.MMR9)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00008000;  chip_mmr.o(.MMR10)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00008070;  chip_mmr.o(.MMR11)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C000;  chip_mmr.o(.MMR12)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C014;  chip_mmr.o(.MMR17)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C01C;  chip_mmr.o(.MMR18)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C030;  chip_mmr.o(.MMR19)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010000;  chip_mmr.o(.MMR20)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010028;  chip_mmr.o(.MMR25)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010030;  chip_mmr.o(.MMR26)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00014000;  chip_mmr.o(.MMR27)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00014070;  chip_mmr.o(.MMR28)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00018000;  chip_mmr.o(.MMR29)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00018070;  chip_mmr.o(.MMR30)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0001C000;  chip_mmr.o(.MMR31)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00020000;  chip_mmr.o(.MMR32)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002001C;  chip_mmr.o(.MMR33)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00024000;  chip_mmr.o(.MMR34)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00024060;  chip_mmr.o(.MMR35)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00028000;  chip_mmr.o(.MMR36)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00028080;  chip_mmr.o(.MMR37)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x000280A4;  chip_mmr.o(.MMR38)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002C000;  chip_mmr.o(.MMR39)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002C040;  chip_mmr.o(.MMR40)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00030000;  chip_mmr.o(.MMR41)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00034000;  chip_mmr.o(.MMR42)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0003400C;  chip_mmr.o(.MMR43)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0003C000;  chip_mmr.o(.MMR44)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00040000;  chip_mmr.o(.MMR45)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00044000;  chip_mmr.o(.MMR46)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00048000;  chip_mmr.o(.MMR47)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0005C000;  chip_mmr.o(.MMR48)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00068000;  chip_mmr.o(.MMR49)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0006C000;  chip_mmr.o(.MMR50)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00070000;  chip_mmr.o(.MMR51)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00070070;  chip_mmr.o(.MMR52)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00074000;  chip_mmr.o(.MMR53)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00074070;  chip_mmr.o(.MMR54)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078000;  chip_mmr.o(.MMR55)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078014;  chip_mmr.o(.MMR60)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007801C;  chip_mmr.o(.MMR61)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078030;  chip_mmr.o(.MMR62)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C000;  chip_mmr.o(.MMR63)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C014;  chip_mmr.o(.MMR68)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C01C;  chip_mmr.o(.MMR69)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C030;  chip_mmr.o(.MMR70)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00080000;  chip_mmr.o(.MMR71)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00088000;  chip_mmr.o(.MMR72)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C000;  chip_mmr.o(.MMR73)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C048;  chip_mmr.o(.MMR74)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C080;  chip_mmr.o(.MMR75)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC000;  chip_mmr.o(.MMR76)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC040;  chip_mmr.o(.MMR77)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC080;  chip_mmr.o(.MMR78)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC0C0;  chip_mmr.o(.MMR79)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC104;  chip_mmr.o(.MMR80)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC140;  chip_mmr.o(.MMR81)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC180;  chip_mmr.o(.MMR82)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1A0;  chip_mmr.o(.MMR83)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1A8;  chip_mmr.o(.MMR84)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1C0;  chip_mmr.o(.MMR85)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00000;  chip_mmr.o(.MMR86)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00040;  chip_mmr.o(.MMR87)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00100;  chip_mmr.o(.MMR88)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00158;  chip_mmr.o(.MMR89)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00170;  chip_mmr.o(.MMR90)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00200;  chip_mmr.o(.MMR91)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00210;  chip_mmr.o(.MMR92)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FE0;  chip_mmr.o(.MMR93)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FF4;  chip_mmr.o(.MMR94)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FFC;  chip_mmr.o(.MMR95)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04000;  chip_mmr.o(.MMR96)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04100;  chip_mmr.o(.MMR97)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04120;  chip_mmr.o(.MMR98)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08000;  chip_mmr.o(.MMR99)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08020;  chip_mmr.o(.MMR100)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08030;  chip_mmr.o(.MMR101)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08080;  chip_mmr.o(.MMR102)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08100;  chip_mmr.o(.MMR103)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08120;  chip_mmr.o(.MMR104)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08140;  chip_mmr.o(.MMR105)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08160;  chip_mmr.o(.MMR106)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08200;  chip_mmr.o(.MMR107)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08220;  chip_mmr.o(.MMR108)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08240;  chip_mmr.o(.MMR109)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08260;  chip_mmr.o(.MMR110)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C000;  chip_mmr.o(.MMR111)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C100;  chip_mmr.o(.MMR112)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C110;  chip_mmr.o(.MMR113)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C200;  chip_mmr.o(.MMR114)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C280;  chip_mmr.o(.MMR115)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C2A0;  chip_mmr.o(.MMR116)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C300;  chip_mmr.o(.MMR117)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0CFF4;  chip_mmr.o(.MMR119)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF000;  chip_mmr.o(.MMR120)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF100;  chip_mmr.o(.MMR121)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF200;  chip_mmr.o(.MMR122)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFFF00;  chip_mmr.o(.MMR123)} > MEM_MMR
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388_sram.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388_sram.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/lpc2388_sram.ld	(revision 26)
@@ -0,0 +1,193 @@
+/*
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(__data_start = 0);	/* ãã®å¤ã¯chip_config.cã® init_vectorä¸­ã§ä½¿ã */
+PROVIDE(__data_end = 0);
+
+MEMORY
+  {
+    MEM_VECTOR (XW)   : ORIGIN = 0x00000000, LENGTH = 64
+    MEM_FIO (RW)	  : ORIGIN = 0x3FFF8000, LENGTH = 32K
+    MEM_SRAM (XW)     : ORIGIN = 0x40000040, LENGTH = 0xFFC0
+    MEM_USBSRAM (XW)  : ORIGIN = 0x7FD00000, LENGTH = 16K
+    MEM_ETHERSRAM (XW): ORIGIN = 0x7FE00000, LENGTH = 16K
+    MEM_EXTSRAM_0 (XW): ORIGIN = 0x80000000, LENGTH = 64K
+    MEM_EXTSRAM_1 (XW): ORIGIN = 0x81000000, LENGTH = 64K
+    MEM_MMR (RW)	  : ORIGIN = 0xE0000000, LENGTH = 1024M
+  }
+
+
+SECTIONS
+{
+		/* SRAMã§åä½ããå ´åããã¯ãã«ã®åæå¤ã¯ãªãããé åã«ãããã¬ãé
+ç½®ããã */
+    .vector : AT(0x40000000)
+    {
+        KEEP(start.o(.vector))
+    } > MEM_VECTOR
+    
+
+    
+	.bss.firmmr (NOLOAD) : { chip_mmr.o(.MMR0)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4000; chip_mmr.o(.MMR1)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4010; chip_mmr.o(.MMR2)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4030; chip_mmr.o(.MMR3)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4050; chip_mmr.o(.MMR4)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4070; chip_mmr.o(.MMR5)} > MEM_FIO
+	.bss.firmmr (NOLOAD) : { . = 0x4090; chip_mmr.o(.MMR6)} > MEM_FIO
+
+    .text :
+    {
+        __text = . ; 	
+	    start.o(.text)
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    } > MEM_SRAM
+
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { 
+		*(.rodata) 
+		*(.rodata.str1.4) 
+	} > MEM_SRAM
+
+	__exidx_start = .;
+	.ARM.exidx : {
+		 *(.ARM.exidx* .gnu.linkonce.armexidx.*) 
+	} > MEM_SRAM
+
+    . = ALIGN(4);
+    .data :
+    {
+        __data_start = . ;
+        *(.data)
+    } > MEM_SRAM
+    _edata  =  . ;
+    PROVIDE (edata = .);
+	
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+      *(.bss)
+      *(COMMON)
+   . = ALIGN(32 / 8);
+    } > MEM_SRAM
+
+   . = ALIGN(32 / 8);
+     _end = .		;
+    __bss_end = __bss_start + SIZEOF(.bss);
+    PROVIDE (end = .)	;
+
+	.bss.sysmmr (NOLOAD) : { . = 0x00000000;  chip_mmr.o(.MMR7)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00004000;  chip_mmr.o(.MMR8)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00004070;  chip_mmr.o(.MMR9)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00008000;  chip_mmr.o(.MMR10)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00008070;  chip_mmr.o(.MMR11)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C000;  chip_mmr.o(.MMR12)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C014;  chip_mmr.o(.MMR17)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C01C;  chip_mmr.o(.MMR18)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0000C030;  chip_mmr.o(.MMR19)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010000;  chip_mmr.o(.MMR20)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010028;  chip_mmr.o(.MMR25)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00010030;  chip_mmr.o(.MMR26)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00014000;  chip_mmr.o(.MMR27)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00014070;  chip_mmr.o(.MMR28)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00018000;  chip_mmr.o(.MMR29)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00018070;  chip_mmr.o(.MMR30)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0001C000;  chip_mmr.o(.MMR31)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00020000;  chip_mmr.o(.MMR32)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002001C;  chip_mmr.o(.MMR33)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00024000;  chip_mmr.o(.MMR34)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00024060;  chip_mmr.o(.MMR35)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00028000;  chip_mmr.o(.MMR36)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00028080;  chip_mmr.o(.MMR37)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x000280A4;  chip_mmr.o(.MMR38)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002C000;  chip_mmr.o(.MMR39)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0002C040;  chip_mmr.o(.MMR40)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00030000;  chip_mmr.o(.MMR41)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00034000;  chip_mmr.o(.MMR42)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0003400C;  chip_mmr.o(.MMR43)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0003C000;  chip_mmr.o(.MMR44)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00040000;  chip_mmr.o(.MMR45)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00044000;  chip_mmr.o(.MMR46)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00048000;  chip_mmr.o(.MMR47)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0005C000;  chip_mmr.o(.MMR48)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00068000;  chip_mmr.o(.MMR49)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0006C000;  chip_mmr.o(.MMR50)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00070000;  chip_mmr.o(.MMR51)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00070070;  chip_mmr.o(.MMR52)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00074000;  chip_mmr.o(.MMR53)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00074070;  chip_mmr.o(.MMR54)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078000;  chip_mmr.o(.MMR55)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078014;  chip_mmr.o(.MMR60)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007801C;  chip_mmr.o(.MMR61)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00078030;  chip_mmr.o(.MMR62)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C000;  chip_mmr.o(.MMR63)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C014;  chip_mmr.o(.MMR68)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C01C;  chip_mmr.o(.MMR69)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0007C030;  chip_mmr.o(.MMR70)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00080000;  chip_mmr.o(.MMR71)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x00088000;  chip_mmr.o(.MMR72)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C000;  chip_mmr.o(.MMR73)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C048;  chip_mmr.o(.MMR74)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x0008C080;  chip_mmr.o(.MMR75)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC000;  chip_mmr.o(.MMR76)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC040;  chip_mmr.o(.MMR77)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC080;  chip_mmr.o(.MMR78)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC0C0;  chip_mmr.o(.MMR79)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC104;  chip_mmr.o(.MMR80)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC140;  chip_mmr.o(.MMR81)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC180;  chip_mmr.o(.MMR82)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1A0;  chip_mmr.o(.MMR83)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1A8;  chip_mmr.o(.MMR84)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x001FC1C0;  chip_mmr.o(.MMR85)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00000;  chip_mmr.o(.MMR86)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00040;  chip_mmr.o(.MMR87)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00100;  chip_mmr.o(.MMR88)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00158;  chip_mmr.o(.MMR89)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00170;  chip_mmr.o(.MMR90)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00200;  chip_mmr.o(.MMR91)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00210;  chip_mmr.o(.MMR92)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FE0;  chip_mmr.o(.MMR93)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FF4;  chip_mmr.o(.MMR94)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE00FFC;  chip_mmr.o(.MMR95)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04000;  chip_mmr.o(.MMR96)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04100;  chip_mmr.o(.MMR97)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE04120;  chip_mmr.o(.MMR98)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08000;  chip_mmr.o(.MMR99)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08020;  chip_mmr.o(.MMR100)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08030;  chip_mmr.o(.MMR101)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08080;  chip_mmr.o(.MMR102)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08100;  chip_mmr.o(.MMR103)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08120;  chip_mmr.o(.MMR104)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08140;  chip_mmr.o(.MMR105)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08160;  chip_mmr.o(.MMR106)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08200;  chip_mmr.o(.MMR107)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08220;  chip_mmr.o(.MMR108)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08240;  chip_mmr.o(.MMR109)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE08260;  chip_mmr.o(.MMR110)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C000;  chip_mmr.o(.MMR111)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C100;  chip_mmr.o(.MMR112)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C110;  chip_mmr.o(.MMR113)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C200;  chip_mmr.o(.MMR114)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C280;  chip_mmr.o(.MMR115)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C2A0;  chip_mmr.o(.MMR116)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0C300;  chip_mmr.o(.MMR117)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FE0CFF4;  chip_mmr.o(.MMR119)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF000;  chip_mmr.o(.MMR120)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF100;  chip_mmr.o(.MMR121)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFF200;  chip_mmr.o(.MMR122)} > MEM_MMR
+	.bss.sysmmr (NOLOAD) : { . = 0x1FFFFF00;  chip_mmr.o(.MMR123)} > MEM_MMR
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.def	(revision 26)
@@ -0,0 +1,11 @@
+IRQ_Handler
+init_vector
+init_IRQ
+init_uart0
+vector_table
+undef_interrupt
+swi_exception
+irq_exception
+frq_exception
+data_abort_exception
+prefetch_exception
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_rename.h	(revision 26)
@@ -0,0 +1,33 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define IRQ_Handler		_kernel_IRQ_Handler
+#define init_vector		_kernel_init_vector
+#define init_IRQ		_kernel_init_IRQ
+#define init_uart0		_kernel_init_uart0
+#define vector_table		_kernel_vector_table
+#define undef_interrupt		_kernel_undef_interrupt
+#define swi_exception		_kernel_swi_exception
+#define irq_exception		_kernel_irq_exception
+#define frq_exception		_kernel_frq_exception
+#define data_abort_exception	_kernel_data_abort_exception
+#define prefetch_exception	_kernel_prefetch_exception
+
+#ifdef LABEL_ASM
+
+#define _IRQ_Handler		__kernel_IRQ_Handler
+#define _init_vector		__kernel_init_vector
+#define _init_IRQ		__kernel_init_IRQ
+#define _init_uart0		__kernel_init_uart0
+#define _vector_table		__kernel_vector_table
+#define _undef_interrupt	__kernel_undef_interrupt
+#define _swi_exception		__kernel_swi_exception
+#define _irq_exception		__kernel_irq_exception
+#define _frq_exception		__kernel_frq_exception
+#define _data_abort_exception	__kernel_data_abort_exception
+#define _prefetch_exception	__kernel_prefetch_exception
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/_common_lpc2388/sys_unrename.h	(revision 26)
@@ -0,0 +1,33 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef IRQ_Handler
+#undef init_vector
+#undef init_IRQ
+#undef init_uart0
+#undef vector_table
+#undef undef_interrupt
+#undef swi_exception
+#undef irq_exception
+#undef frq_exception
+#undef data_abort_exception
+#undef prefetch_exception
+
+#ifdef LABEL_ASM
+
+#undef _IRQ_Handler
+#undef _init_vector
+#undef _init_IRQ
+#undef _init_uart0
+#undef _vector_table
+#undef _undef_interrupt
+#undef _swi_exception
+#undef _irq_exception
+#undef _frq_exception
+#undef _data_abort_exception
+#undef _prefetch_exception
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armelf.ld	(revision 26)
@@ -0,0 +1,78 @@
+/*
+ *  @(#) $Id: armelf.ld,v 1.6 2003/07/01 15:59:15 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+	
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+    . = 0x00 ;    
+    .vector :
+    {
+    *(.vector)
+    }
+    
+    .text :	
+    {
+        __text = . ; 	
+        *(.text)
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { *(.rodata) }
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : {KEEP(*(.eh_frame))}
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        PROVIDE(__CTOR_BEGIN__ = .);
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+        PROVIDE(__CTOR_END__ = .);
+    }
+    . = ALIGN(4);
+    .dtors :
+    {
+        PROVIDE(__DTOR_BEGIN__ = .);
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+        PROVIDE(__DTOR_END__ = .);
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+	
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+
+      *(.bss)
+      *(COMMON)
+    }
+    _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armv4.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armv4.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/armv4.h	(revision 26)
@@ -0,0 +1,140 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: armv4.h,v 1.2 2003/12/01 06:47:05 honda Exp $
+ */
+
+/*
+ *    ARMv4ã®å®ç¾©
+ */
+
+#ifndef _ARMV4_H_
+#define _ARMV4_H_
+
+/*
+ *  ARM Exception Vector
+ */
+#define SVC_Vector    0x00
+#define UND_Vector    0x04
+#define SWI_Vector    0x08
+#define PRFA_Vector   0x0C
+#define DATAA_Vector  0x10
+#define IRQ_Vector    0x18
+#define FIQ_Vector    0x1C
+
+
+/*
+ * ARM Exception Vector Number
+ */
+#define SVC_Number    0
+#define UND_Number    1
+#define SWI_Number    2
+#define PRFA_Number   3
+#define DATAA_Number  4
+#define UNNOWN_Number 5
+#define IRQ_Number    6
+#define FIQ_Number    7
+
+/*
+ *  CPSR å²è¾¼ã¿ç¦æ­¢ããã
+ */
+#define CPSR_INT_MASK 0xC0
+#define CPSR_IRQ_BIT  0x80
+#define CPSR_FIQ_BIT  0x40
+
+/*
+ *  CPSR ã®ã¢ã¼ãããã
+ */
+#define CPSR_MODE_MASK   0x1f
+#define CPSR_USER        0x10
+#define CPSR_FIQ         0x11
+#define CPSR_IRQ         0x12
+#define CPSR_SVC         0x13
+#define CPSR_ABT         0x17
+#define CPSR_SYS         0x1F
+
+
+/*
+ * Stub Call
+ */
+#ifndef _MACRO_ONLY
+Inline void
+stub_exit(void){
+    Asm("swi 0xff");
+}
+
+Inline void
+stub_putc(char c)
+{
+    Asm("mov r0,#0x0; mov r4,%0; swi 0x123456"
+        :: "r"(c):"r0","r4");
+}
+
+Inline void
+stub_write(const char *string)
+{
+    int pos = 0;
+    
+    while(string[pos] !=0)
+        stub_putc(string[pos++]);
+}
+
+Inline void
+stub_set_inh(INHNO inhno, FP inthdr)
+{
+    Asm("mov r0,#0x1; mov r4,%0; mov r5,%1; swi 0x123456"
+        : /* no output */
+        : "r"(inhno),"r"(inthdr)
+        : "r0", "r4", "r5");
+    
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _ARMV4_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/Makefile.config	(revision 26)
@@ -0,0 +1,44 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2006/06/11 11:14:24 roi Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼AT91SAM7Sç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS) -mcpu=arm7tdmi -Wa,--gstabs 
+LDFLAGS  := $(LDFLAGS) -mcpu=arm7tdmi  -N 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o at91sam7s.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/at91sam7s.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  INTEGRATORç¨
+ifeq ($(AT91SAM7S_TYPE),at91sam7s128)
+COPTS   := $(COPTS) -D__AT91SAM7S128__ -mlittle-endian
+else
+COPTS   := $(COPTS) -D__AT91SAM7S256__ -mlittle-endian
+endif
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+TEXT_START_ADDRESS=0x00000040
+ifdef VECTOR_IN_ROM
+DATA_START_ADDRESS=0x00200000
+COPTS := $(COPTS) -DVECTOR_IN_ROM
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.c	(revision 26)
@@ -0,0 +1,395 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ *  
+ */
+
+/*
+ * At91sam7s å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <at91sam7s.h>
+
+#define BAUDRATE   115200
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+    {(VP)(TADR_DBGU_BASE),         (VP)(TADR_PIO_BASE+TOFF_PIO_PDR),
+     (VP)0,
+     (VW)((1<<9)|(1<<10)),         0
+    }
+#if TNUM_SIOP >= 2
+    ,
+    {(VP)(TADR_US_BASE+US_WINDOW), (VP)(TADR_PIO_BASE+TOFF_PIO_PDR),
+     (VP)(TADR_PMC_BASE+TOFF_PMC_PCER),
+     (VW)((1<<21)|(1<<22)),        1<<IRQ_US1_PID
+    }
+
+#endif /* TNUM_SIOP >= 2 */
+};
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return(((sil_rew_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_CSR)) & US_RXRDY)!=0));
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    return((sil_rew_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_CSR)) & US_TXEMPTY)!=0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_RHR)));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_THR),c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_IER), 1<<1);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_IDR), 1<<1);
+}
+
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_IER), 1<<0);
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_base+TOFF_US_IDR), 1<<0);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    unsigned int baud = ((MCK * 10) / (BAUDRATE * 16));
+
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /*
+     * Wait ãå
+¥ããï¼
+     */
+    sil_dly_nse(5000);
+
+    if(siopinib->pmc_pcer)
+        sil_wrw_mem((VP)siopinib->pmc_pcer, siopinib->irq_bit);
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_IDR), 0xFFFFFFFF);
+    sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_CR), (US_RSTRX|US_RSTTX|US_RXDIS|US_TXDIS));
+    sil_wrw_mem((VP)(siopinib->uart_base+TOFF_PDC_RCR), 0);
+    sil_wrw_mem((VP)(siopinib->uart_base+TOFF_PDC_TCR), 0);
+    sil_wrw_mem((VP)siopinib->linectrl_pdr, siopinib->pdr_bit);
+    /* 8Data, 1Stop, No Parity */
+    sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_MR), (US_CLKS_MCK|US_CHRL_8|US_PAR_NO|US_NBSTOP_1|US_CHMODE_NORMAL));
+    /* 115200bps */
+    if((baud % 10) >= 5)
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_BRGR), (baud/10)+1);
+    else
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_BRGR), (baud/10));
+
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    if(siopinib->pmc_pcer){
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_TTGR), 0);
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_CR), US_TXEN|US_RXEN);
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_IER), 1<<0);
+    }
+	else{
+        /* ã¯ã­ãã¯ã¤ãã¼ãã« */
+        sil_wrw_mem((VP)(TADR_PMC_BASE+TOFF_PMC_PCER), (1<<IRQ_TC2_PID));
+        /* ã¿ã¤ãåæ­¢ */
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_CCR), TC_CLKDIS);
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_IDR), 0xFFFFFFFF);
+        /* ã«ã¦ã³ãå¤ãã»ãã */
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_CMR), TC_CLKS_MCK8);	/* 47,923,200Hz/8=5,990,400Hz */
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_CMR), sil_rew_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_CMR)) | TC_WAVESEL10);
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_RC), 59900);			/* 10ms */
+        /* å²è¾¼ã¿ã®ã¯ãªã¢  */
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_IER), TC_CPCS);
+        /* ã«ã¦ã³ãã¹ã¿ã¼ã   */
+        sil_wrw_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_CCR), (TC_CLKEN|TC_SWTRG));
+
+        sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_CR), US_TXEN|US_RXEN);
+    }
+    sil_rew_mem((VP)(siopinib->uart_base+TOFF_US_RHR));
+
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    const SIOPINIB  *siopinib;
+
+    siopinib = siopcb->siopinib;
+	sil_wrw_mem((VP)(siopinib->uart_base+TOFF_US_CR), US_RSTRX|US_RSTTX|US_RXDIS|US_TXDIS);
+    siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if(siopcb->siopinib->pmc_pcer == 0){
+        while(!uart_putready(siopcb));
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    else if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+int_timer2()
+{
+    SIOPCB *siopcb = &(siopcb_table[0]);
+
+    sil_rew_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_SR));
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+}
+
+#if TNUM_SIOP >= 2
+void
+uart_isr1()
+{
+    uart_isr_siop(&(siopcb_table[1]));
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.h	(revision 26)
@@ -0,0 +1,745 @@
+/*
+ *  rommon Simple Monitor
+ * 
+ *  Copyright (C) 1999-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+#ifndef _AT91SAM7S_H_
+#define _AT91SAM7S_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include "armv4.h"
+#include "sys_config.h"
+#include "cpu_config.h"
+
+
+/*
+ *  ADVANCED INTERRUPT CONTROLLER
+ */
+#define TADR_AIC_BASE   0xFFFFF000	/* AIC base address */
+#define TOFF_AIC_SMR    0x0000		/* Source Mode Register0-31 (R/W) */
+  #define AIC_PRIOR                        (7<<0)	/* Priority Level */
+  #define AIC_PRIOR_LOWEST                 (0)		/* Lowest priority level */
+  #define AIC_PRIOR_HIGHEST                (7)		/* Highest priority level */
+  #define AIC_SRCTYPE                      (3<<5)	/* Interrupt Source Type */
+  #define AIC_SRCTYPE_INT_LEVEL_SENSITIVE  (0<<5)	/* Internal Sources Code Label Level Sensitive */
+  #define AIC_SRCTYPE_INT_EDGE_TRIGGERED   (1<<5)	/* Internal Sources Code Label Edge triggered */
+  #define AIC_SRCTYPE_EXT_HIGH_LEVEL       (2<<5)	/* External Sources Code Label High-level Sensitive */
+  #define AIC_SRCTYPE_EXT_POSITIVE_EDGE    (3<<5)	/* External Sources Code Label Positive Edge triggered */
+#define TOFF_AIC_SVR    0x0080		/* Source Vector Register0-31 (R/W) */
+#define TOFF_AIC_IVR    0x0100		/* Interrupt Vector Register (R) */
+#define TOFF_AIC_FVR    0x0104		/* Fast Interrupt Vector Register (R) */
+#define TOFF_AIC_ISR    0x0108		/* Interrupt Status Register (R) */
+#define TOFF_AIC_IPR    0x010C		/* Interrupt Pending Register (R) */
+#define TOFF_AIC_IMR    0x0110		/* Interrupt Mask Register (R) */
+#define TOFF_AIC_CISR   0x0114		/* Core Interrupt Status Register (R) */
+#define TOFF_AIC_IECR   0x0120		/* Interrupt Enable Command Register (W) */
+#define TOFF_AIC_IDCR   0x0124		/* Interruot Disable Command Register (W) */
+#define TOFF_AIC_ICCR   0x0128		/* Interrupt Clear Command Register (W) */
+#define TOFF_AIC_ISCR   0x012C		/* Interrupt Set Command Register (W) */
+#define TOFF_AIC_EOICR  0x0130		/* End of Interrupt Command Register (W) */
+#define TOFF_AIC_SPU    0x0134		/* Spurios Interrupt Vector Register (R/W */
+#define TOFF_AIC_DCR    0x0138		/* Debug Control Register (R/W) */
+#define TOFF_AIC_FFER   0x0140		/* Fast Forcing Enable Register (W) */
+#define TOFF_AIC_FFDR   0x0144		/* Fast Forcing Disable Register (W) */
+#define TOFF_AIC_FFSR   0x0148		/* Fast Forcing Status Register (R) */
+
+
+#define IRQ_FIQ_PID     0
+#define IRQ_SYSIRQ_PID  1
+#define IRQ_PIOA_PID    2
+#define IRQ_ADC_PID     4
+#define IRQ_SPI_PID     5
+#define IRQ_US0_PID     6
+#define IRQ_US1_PID     7
+#define IRQ_SSC_PID     8
+#define IRQ_TWI_PID     9
+#define IRQ_PWM_PID     10
+#define IRQ_UDP_PID     11
+#define IRQ_TC0_PID     12
+#define IRQ_TC1_PID     13
+#define IRQ_TC2_PID     14
+#define IRQ_IRQ0_PID    30
+#define IRQ_IRQ1_PID    31
+
+#ifndef SMR_US0
+#define SMR_US0         (AIC_SRCTYPE_INT_LEVEL_SENSITIVE|AIC_PRIOR_HIGHEST)
+#endif
+#ifndef SMR_US1
+#define SMR_US1         (AIC_SRCTYPE_INT_LEVEL_SENSITIVE|AIC_PRIOR_HIGHEST)
+#endif
+#ifndef SMR_TC0
+#define SMR_TC0         (AIC_SRCTYPE_INT_LEVEL_SENSITIVE|3)
+#endif
+#ifndef SMR_TC1
+#define SMR_TC1         (AIC_SRCTYPE_INT_LEVEL_SENSITIVE|3)
+#endif
+#ifndef SMR_TC2
+#define SMR_TC2         (AIC_SRCTYPE_INT_LEVEL_SENSITIVE|3)
+#endif
+
+/*
+ *  DEBUG UNIT Debug Unit
+ */
+#define TADR_DBGU_BASE  0xFFFFF200		/* Debug Unit BASE address */
+#define TOFF_DBGU_CR    0x0000			/* Control Register (W):TOFF_US_CR */
+#define TOFF_DBGU_MR    0x0004			/* Mode Register (R/W):TOFF_US_MR */
+#define TOFF_DBGU_IER   0x0008			/* Interrupt Enable Register (W):TOFF_US_IER */
+#define TOFF_DBGU_IDR   0x000C			/* Interrupt Disable Register (W):TOFF_US_IDR */
+#define TOFF_DBGU_IMR   0x0010			/* Interrupt Mask Regiser (R):TOFF_US_IMR */
+#define TOFF_DBGU_SR    0x0014			/* Status Register (R):TOFF_US_CSR */
+#define TOFF_DBGU_RHR   0x0018			/* Receive Holding Register (R):TOFF_US_RHR */
+#define TOFF_DBGU_THR   0x001C			/* Transmit Holding Register (W):TOFF_US_THR */
+#define TOFF_DBGU_BRGR  0x0020			/* Baud Rate Generator Register (R/W):TOFF_US_BRGR */
+#define TOFF_DBGU_CIDR  0x0040			/* Chip ID Register (R) */
+#define TOFF_DBGU_EXID  0x0044			/* Chip ID Extension Register (R) */
+#define TOFF_DBGU_FNR   0x0048			/* Force NTRST Register (R/W) */
+
+
+/*
+ *  PARALLEL INPUT/OUTPUT CONTROLLER
+ */
+#define TADR_PIO_BASE	0xFFFFF400		/* PIO BASE ADDRESS */
+#define TOFF_PIO_PER    0x0000			/* PIO Enable Register (W) */
+#define TOFF_PIO_PDR    0x0004			/* PIO Disable Register (W) */
+#define TOFF_PIO_PSR    0x0008			/* PIO Status Register (R) */
+#define TOFF_PIO_OER    0x0010			/* Output Enable Register (W) */
+#define TOFF_PIO_ODR    0x0014			/* Output Disable Register (W) */
+#define TOFF_PIO_OSR    0x0018			/* Output Status Register (R) */
+#define TOFF_PIO_IFER   0x0020			/* Glitch Input Filter Enable Register (W) */
+#define TOFF_PIO_IFDR   0x0024			/* Glitch Input Filter Disable Register (W) */
+#define TOFF_PIO_IFSR   0x0028			/* Glitch Input Filter Status Register (R) */
+#define TOFF_PIO_SODR   0x0030			/* Set Output Data Register (W) */
+#define TOFF_PIO_CODR   0x0034			/* Clear Output Data Register (W) */
+#define TOFF_PIO_ODSR   0x0038			/* Output Data Status Register (R) */
+#define TOFF_PIO_PDSR   0x003C			/* Pin Data Status Register (R) */
+#define TOFF_PIO_IER    0x0040			/* Interrupt Enable Register (W) */
+#define TOFF_PIO_IDR    0x0044			/* Interrupt Disable Register (W) */
+#define TOFF_PIO_IMR    0x0048			/* Interrupt Mask Register (R) */
+#define TOFF_PIO_ISR    0x004C			/* Interrupt Status Register (R) */
+#define TOFF_PIO_MDER   0x0050			/* Multi-driver Enable Register (W) */
+#define TOFF_PIO_MDDR   0x0054			/* Multi-driver Disable Register (W) */
+#define TOFF_PIO_MDSR   0x0058			/* Multi-driver Status Register (R) */
+#define TOFF_PIO_PUDR   0x0060			/* Pull-up Disable Register (W) */
+#define TOFF_PIO_PUER   0x0064			/* Pull-up Enable Register (W) */
+#define TOFF_PIO_PUSR   0x0068			/* Pad Pull-up Statuse Register (R) */
+#define TOFF_PIO_ASR    0x0070			/* Peripheral A Select Register (W) */
+#define TOFF_PIO_BSR    0x0074			/* Peripheral B Select Register (W) */
+#define TOFF_PIO_ABSR   0x0078			/* AB Status Register (R) */
+#define TOFF_PIO_OWER   0x00A0			/* Output Write Enable (W) */
+#define TOFF_PIO_OWDR   0x00A4			/* Output Write Disable (W) */
+#define TOFF_PIO_OWSR   0x00A8			/* Output Write Status Register (R) */
+
+/*
+ *  POWER MANAGMENT CONTROLLER
+ */
+#define TADR_PMC_BASE   0xFFFFFC00		/* PMC BASE ADDRESS */
+#define TOFF_PMC_SCER   0x0000			/* System Clock Enable Register (W) */
+#define TOFF_PMC_SCDR   0x0004			/* System Clock Disable Register (W) */
+#define TOFF_PMC_SCSR   0x0008			/* System Clock Status Register (R) */
+#define TOFF_PMC_PCER   0x0010			/* Peripheral Clock Enable Register (W) */
+#define TOFF_PMC_PCDR   0x0014			/* Peripheral Clock Disable Register (W) */
+#define TOFF_PMC_PCSR   0x0018			/* Peripheral Clock Status Register (W) */
+#define TOFF_CKGR_MOR   0x0020			/* Main Oscillator Register (W) */
+  #define CKGR_MOR_MOSCEN         (1<<0)
+  #define CKGR_MOR_OSCBYPASS      (1<<1)
+  #define CKGR_MOR_OSCOUNT_SHIFT  8
+#define TOFF_CKGR_MCFR  0x0024			/* Main Clock Frequency Register (R) */
+#define TOFF_CKGR_PLLR  0x002C			/* PLL Register (R/W) */
+  #define CKGR_PLLR_DIV_SHIFT      0
+  #define CKGR_PLLR_PLLCOUNT_SHIFT 8
+  #define CKGR_PLLR_MUL_SHIFT      16
+#define TOFF_PMC_MCKR   0x0030			/* Master Clock Register (R/W) */
+  #define PMC_MCKR_CSS_PLL_CLOCK  (3<<0)
+  #define PMC_MCKR_PRES_CLK_2     (1<<2)
+#define TOFF_PMC_PCK0   0x0040			/* Programmable Clock 0 Register (R/W) */
+#define TOFF_PMC_PCK1   0x0044			/* Programmable Clock 1 Register (R/W) */
+#define TOFF_PMC_IER    0x0060			/* Interrupt Enable Register (W) */
+#define TOFF_PMC_IDR    0x0064			/* Interrupt Disable Register (W) */
+#define TOFF_PMC_SR     0x0068			/* Status Register (R) */
+  #define PMC_SR_MOSCS            (1<<0)
+  #define PMC_SR_LOCK             (1<<2)
+#define TOFF_PMC_IMR    0x006C			/* Interrupt Mask Register (R) */
+
+/*
+ *  RESET CONTROLLER (RSTC)
+ */
+#define TADR_BASE_RSTC  0xFFFFFD00		/* RSTC BASE Address */
+#define TOFF_RSTC_CR    0x0000			/* Reset Controller Control Register (W) */
+#define TOFF_RSTC_SR    0x0004			/* Reset Controller Status Register (R) */
+#define TOFF_RSTC_MR    0x0008			/* Reset Controller Mode Register (R/W) */
+
+/*
+ *  REAL-TIME TIMER (RTT)
+ */
+#define TADR_RTT_BASE   0xFFFFFD20		/* Real-time Timer BASE address */
+#define TOFF_RTT_MR     0x0000			/* Mode Register (R/W) */
+#define TOFF_RTT_AR     0x0004			/* Alarm Register (R/W) */
+#define TOFF_RTT_VR     0x0008			/* Value Register (R) */
+#define TOFF_RTT_SR     0x000C			/* Status Register (R) */
+
+/*
+ *  PERIODIC INTERVAL TIMER (PIT)
+ */
+#define TADR_PIT_BASE    0xFFFFFD30		/* Periodic Interval Timer BASE Address */
+#define TOFF_PIT_MR      0x0000			/* Mode Register (R/W) */
+#define TOFF_PIT_SR      0x0004			/* Status Register (R) */
+#define TOFF_PIT_PIVR    0x0008			/* Periodic Interval Value Register (R) */
+#define TOFF_PIT_PIIR    0x000C			/* Periodic Interval Image Register (R) */
+
+/*
+ *  WATCHDOG TIMER (WDT)
+ */
+#define TADR_WDT_BASE    0xFFFFFD40		/* Watchdog Timer BASE address */
+#define TOFF_WDT_CR      0x0000			/* Watchdog Timer Control Register (W) */
+#define TOFF_WDT_MR      0x0004			/* Watchdog Timer Mode Register (R/W) */
+  #define WDT_MR_WDDIS           (1<<15)
+#define TOFF_WDT_SR      0x0008			/* Watchdog Timer Status Register (R) */
+
+/*
+ *  VOLTAGE REGULATOR POWER CONTROLLER (VREG)
+ */
+#define TADR_VREG_BASE   0xFFFFFD60		/* VREG BASE address */
+#define TOFF_VREG_MR     0x0000			/* Voltage Regulator Mode Register (R/W) */
+/*
+ *  MEMORY CONTROLLER (MC)
+ */
+#define TADR_MC_BASE     0xFFFFFF00		/* Memory Controller BASE address */
+#define TOFF_MC_RCR      0x0000			/* MC Remap Control Register (W) */
+#define TOFF_MC_ASR      0x0004			/* MC Abort Status Register (R) */
+#define TOFF_MC_AASR     0x0008			/* MC Abort Address Status Register (R) */
+#define TOFF_MC_FMR      0x0060			/* MC Flash Mode Register(R/W) */
+  #define MC_FMR_FWS_0FWS        (0<<8)
+  #define MC_FMR_FWS_1FWS        (1<<8)
+  #define MC_FMR_FWS_2FWS        (2<<8)
+  #define MC_FMR_FWS_3FWS        (3<<8)
+  #define MC_FMR_FMCN_SHIFT      16
+#define TOFF_MC_FCR      0x0064			/* MC Flash Command Register (W) */
+#define TOFF_MC_FSR      0x0068			/* MC Flash Status Register (R) */
+
+/*
+ *  TIMER COUNTER
+ */
+#define TADR_TC_BASE	0xFFFA0000		/* Timer Counter BASE ADDRESS */
+#define TC_WINDOW       0x0040			/* Timer Counter window size */
+#define TOFF_TC_CCR     0x0000			/* Channel Control Register (W) */
+  #define TC_CLKEN              (1<<0)	/* (TC) Counter Clock Enable Command */
+  #define TC_CLKDIS             (1<<1)	/* (TC) Counter Clock Disable Command */
+  #define TC_SWTRG              (1<<2)	/* (TC) Software Trigger Command */
+#define TOFF_TC_CMR     0x0004			/* Channel Mode Register (R/W) */
+  #define TC_CLKS               0x7
+  #define TC_CLKS_MCK2          0x0
+  #define TC_CLKS_MCK8          0x1
+  #define TC_CLKS_MCK32         0x2
+  #define TC_CLKS_MCK128        0x3
+  #define TC_CLKS_MCK1024       0x4
+  #define TC_WAVESEL00          (0<<13)	/* (TC) UP mode without atomatic trigger on RC Compare */
+  #define TC_WAVESEL01          (1<<13)	/* (TC) UPDOWN mode without automatic trigger on RC Compare */
+  #define TC_WAVESEL10          (2<<13)	/* (TC) UP mode with automatic trigger on RC Compare */
+  #define TC_WAVESEL11          (3<<13)	/* (TC) UPDOWN mode with automatic trigger on RC Compare */
+#define TOFF_TC_CV      0x0010			/* Counter Value (R) */
+#define TOFF_TC_RA      0x0014			/* Register A (R/W) */
+#define TOFF_TC_RB      0x0018			/* Register B (R/W) */
+#define TOFF_TC_RC      0x001C			/* Register C (R/W) */
+#define TOFF_TC_SR      0x0020			/* Statis Register (R) */
+  #define TC_COVFS              (1<<0)	/* (TC) Counter Overflow */
+  #define TC_LOVRS              (1<<1)	/* (TC) Load Overrun */
+  #define TC_CPAS               (1<<2)	/* (TC) RA Compare */
+  #define TC_CPBS               (1<<3)	/* (TC) RB Compare */
+  #define TC_CPCS               (1<<4)	/* (TC) RC Compare */
+  #define TC_LDRAS              (1<<5)	/* (TC) RA Loading */
+  #define TC_LDRBS              (1<<6)	/* (TC) RB Loading */
+  #define TC_ETRGS              (1<<7)	/* (TC) External Trigger */
+  #define TC_CLKSTA             (1<<16)	/* (TC) Clock Enabling */
+  #define TC_MTIOA              (1<<17)	/* (TC) TIOA Mirror */
+  #define TC_MTIOB              (1<<18)	/* (TC) TIOA Mirror */
+#define TOFF_TC_IER     0x0024			/* Interrupt Enable Register (W) */
+#define TOFF_TC_IDR     0x0028			/* Interrupt Disable Register (W) */
+#define TOFF_TC_IMR     0x002C			/* Interrupt Mask Register (R) */
+#define TOFF_TC_BCR     0x00C0			/* TC Block Control Register (W) */
+#define TOFF_TC_BMR     0x00C4			/* TC Block Mode Register (R/W) */
+
+/*
+ *  USB DEVICE PORT (UDP)
+ */
+#define TADR_UDP_BASE    0xFFFB0000		/* USB Device Port BASE Address */
+#define TOFF_UDP_FRM_NUM  0x0000		/* Frame Number Register (R) */
+  #define UDP_FRM_NUM     (0x7FF)		/* Frame Number as Defined in the Packet Field Formats */
+  #define UDP_FRM_ERR     (1<< 16)		/* Frame Error */
+  #define UDP_FRM_OK      (1<< 17)		/* Frame OK */
+#define TOFF_UDP_GLB_STAT 0x0004		/* Global State Register (R/W) */
+  #define UDP_FADDEN      (1<<0)		/* Function Address Enable */
+  #define UDP_CONFG       (1<<1)		/* Configured */
+  #define UDP_ESR         (1<<2)		/* Enable Send Resume */
+  #define UDP_RSMINPR     (1<<3)		/* A Resume Has Been Sent to the Host */
+  #define UDP_RMWUPE      (1<<4)		/* Remote Wake Up Enable */
+#define TOFF_UDP_FADDR    0x0008		/* Function Address Register (R/W) */
+  #define UDP_FADD        (0xFF<<0)		/* Function Address Value */
+  #define UDP_FEN         (   1<<8)		/* Function Enable */
+#define TOFF_UDP_IER      0x0010		/* Interrupt Enable Register (W) */
+  #define UDP_IEPINT0     (1<<0)		/* Endpoint 0 Interrupt */
+  #define UDP_IEPINT1     (1<<1)		/* Endpoint 0 Interrupt */
+  #define UDP_IEPINT2     (1<<2)		/* Endpoint 2 Interrupt */
+  #define UDP_IEPINT3     (1<<3)		/* Endpoint 3 Interrupt */
+  #define UDP_IEPINT4     (1<<4)		/* Endpoint 4 Interrupt */
+  #define UDP_IEPINT5     (1<<5)		/* Endpoint 5 Interrupt */
+  #define UDP_IEPINT6     (1<<6)		/* Endpoint 6 Interrupt */
+  #define UDP_IEPINT7     (1<<7)		/* Endpoint 7 Interrupt */
+  #define UDP_IRXSUSP     (1<<8)		/* USB Suspend Interrupt */
+  #define UDP_IRXRSM      (1<<9)		/* USB Resume Interrupt */
+  #define UDP_IEXTRSM     (1<<10)		/* USB External Resume Interrupt */
+  #define UDP_ISOFINT     (1<<11)		/* USB Start Of frame Interrupt */
+  #define UDP_IWAKEUP     (1<<13)		/* USB Walkup Interrupt */
+#define TOFF_UDP_IDR      0x0014		/* Interrupt Disable Register (W) */
+#define TOFF_UDP_IMR      0x0018		/* Interrupt Mask Register (R) */
+#define TOFF_UDP_ISR      0x001C		/* Interrupt Status Register (R) */
+  #define UDP_ENDBUSRES   (1<<12)		/* USB End Of Bus Reset Interrupt */
+#define TOFF_UDP_ICR      0x0020		/* Interrupt Clear Register (W) */
+#define TOFF_UDP_RST_EP   0x0028		/* Reset Endpoint Register (R/W) */
+  #define UDP_EP0         (1<<0)		/* Reset Endpoint 0 */
+  #define UDP_EP1         (1<<1)		/* Reset Endpoint 1 */
+  #define UDP_EP2         (1<<2)		/* Reset Endpoint 2 */
+  #define UDP_EP3         (1<<3)		/* Reset Endpoint 3 */
+  #define UDP_EP4         (1<<4)		/* Reset Endpoint 4 */
+  #define UDP_EP5         (1<<5)		/* Reset Endpoint 5 */
+  #define UDP_EP6         (1<<6)		/* Reset Endpoint 6 */
+  #define UDP_EP7         (1<<7)		/* Reset Endpoint 7 */
+#define TOFF_UDP_CSR      0x0030		/* Endpoint Control Status Register (R/W) */
+#define TOFF_UDP_CSR0     0x0030		/* Endpoint0 Control Status Register (R/W) */
+#define TOFF_UDP_CSR1     0x0034		/* Endpoint1 Control Status Register (R/W) */
+#define TOFF_UDP_CSR2     0x0038		/* Endpoint2 Control Status Register (R/W) */
+#define TOFF_UDP_CSR3     0x003C		/* Endpoint3 Control Status Register (R/W) */
+  #define UDP_TXCOMP      (1<<0)		/* Generates an IN packet with data previously written in the DPR */
+  #define UDP_RX_DATA_BK0 (1<<1)		/* Receive Data Bank 0 */
+  #define UDP_RXSETUP     (1<<2)		/* Sends STALL to the Host (Control endpoints) */
+  #define UDP_ISOERROR    (1<<3)		/* Isochronous error (Isochronous endpoints) */
+  #define UDP_TXPKTRDY    (1<<4)		/* Transmit Packet Ready */
+  #define UDP_FORCESTALL  (1<<5)		/* Force Stall (used by Control, Bulk and Isochronous endpoints). */
+  #define UDP_RX_DATA_BK1 (1<<6)		/* Receive Data Bank 1 (only used by endpoints with ping-pong attributes). */
+  #define UDP_DIR         (1<<7)		/* Transfer Direction */
+  #define UDP_EPTYPE      (7<<8)		/* Endpoint type */
+  #define UDP_EPTYPE_CTRL     (0<<8)	/* Control */
+  #define UDP_EPTYPE_ISO_OUT  (1<<8)	/* Isochronous OUT */
+  #define UDP_EPTYPE_BULK_OUT (2<<8)	/* Bulk OUT */
+  #define UDP_EPTYPE_INT_OUT  (3<<8)	/* Interrupt OUT */
+  #define UDP_EPTYPE_ISO_IN   (5<<8)	/* Isochronous IN */
+  #define UDP_EPTYPE_BULK_IN  (6<<8)	/* Bulk IN */
+  #define UDP_EPTYPE_INT_IN   (7<<8)	/* Interrupt IN */
+  #define UDP_DTGLE       (1<<11)		/* Data Toggle */
+  #define UDP_EPEDS       (1<<15)		/* Endpoint Enable Disable */
+  #define UDP_RXBYTECNT   (0x7FF<<16)	/* Number Of Bytes Available in the FIFO */
+#define TOFF_UDP_FDR      0x0050		/* Endpoint FIFO Data Register (R/W) */
+#define TOFF_UDP_FDR0     0x0050		/* Endpoint0 FIFO Data Register (R/W) */
+#define TOFF_UDP_FDR1     0x0054		/* Endpoint1 FIFO Data Register (R/W) */
+#define TOFF_UDP_FDR2     0x0058		/* Endpoint2 FIFO Data Register (R/W) */
+#define TOFF_UDP_FDR3     0x005C		/* Endpoint3 FIFO Data Register (R/W) */
+#define TOFF_UDP_TXVC     0x0074		/* Transmitter Control Register (R/W) */
+  #define UDP_TXVDIS      (1<<8)		/* */
+  #define UDP_PUON        (1<<9)		/* Pull-up ON */
+
+/*
+ * TWO-WIRE INTERFACE (TWI)
+ */
+#define TADR_TWI_BASE    0xFFFB8000		/* Two-wire Interface BASE address */
+#define TOFF_TWI_CR      0x0000			/* Control Register (W) */
+#define TOFF_TWI_MMR     0x0004			/* Master Mode Register (R/W) */
+#define TOFF_TWI_IADR    0x000C			/* Internal Address Register (R/W) */
+#define TOFF_TWI_CWGR    0x0010			/* Clock Wavefrom Generator Register (R/W) */
+#define TOFF_TWI_SR      0x0020			/* Status Register (R) */
+#define TOFF_TWI_IER     0x0024			/* Interrupt Enable Register (W) */
+#define TOFF_TWI_IDR     0x0028			/* Interrupt Disable Register (W) */
+#define TOFF_TWI_IMR     0x002C			/* Interrupt Mask Register (R) */
+#define TOFF_TWI_RHR     0x0030			/* Receive Holding Register (R) */
+#define TOFF_TWI_THR     0x0034			/* Transmit Holding Register (R/W) */
+
+/*
+ *  UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER(USART)
+ */
+#define TADR_US_BASE    0xFFFC0000		/* USART BASE address */
+#define US_WINDOW       0x4000			/* USART Window size */
+#define TOFF_US_CR      0x0000			/* Control Register (W) */
+  #define US_RSTRX      0x0004			/* Reset Receiver */
+  #define US_RSTTX      0x0008			/* Reset Transmitter */
+  #define US_RXEN       0x0010			/* Receiver Enable */
+  #define US_RXDIS      0x0020			/* Receiver Disable */
+  #define US_TXEN       0x0040			/* Transmitter Enable */
+  #define US_TXDIS      0x0080			/* Transmitter Disable */
+  #define US_RSTSTA     0x0100			/* Reset Status Bits */
+  #define US_STTBRK     0x0200			/* Start Break */
+  #define US_STPBRK     0x0400			/* Stop Break */
+  #define US_STTTO      0x0800			/* Start Time-out */
+  #define US_SENDA      0x1000			/* Send Address */
+#define TOFF_US_MR      0x0004			/* Mode Register (R/W) */
+  #define US_CLKS       0x0030			/* Clock Selection */
+  #define US_CLKS_MCK        0x0000		/* Master Clock */
+  #define US_CLKS_MCK8       0x0010		/* Master Clock divided by 8 */
+  #define US_CLKS_SCK        0x0020		/* External Clock */
+  #define US_CLKS_SLCK       0x0030		/* Slow Clock */
+  #define US_CHRL       0x00C0			/* Byte Length */
+  #define US_CHRL_5          0x0000		/* 5 bits */
+  #define US_CHRL_6          0x0040		/* 6 bits */
+  #define US_CHRL_7          0x0080		/* 7 bits */
+  #define US_CHRL_8          0x00C0		/* 8 bits */
+  #define US_PAR        0x0E00			/* Parity Mode */
+  #define US_PAR_EVEN         0x0000	/* Even Parity */
+  #define US_PAR_ODD          0x0200	/* Odd Parity */
+  #define US_PAR_SPACE        0x0400	/* Space Parity to 0 */
+  #define US_PAR_MARK         0x0600	/* Marked Parity to 1 */
+  #define US_PAR_NO           0x0800	/* No Parity */
+  #define US_PAR_MULTIDROP    0x0C00	/* Multi-drop Mode */
+  #define US_NBSTOP     0x3000			/* Stop Bit Number */
+  #define US_NBSTOP_1         0x0000	/* 1 Stop Bit */
+  #define US_NBSTOP_1_5       0x1000	/* 1.5 Stop Bits */
+  #define US_NBSTOP_2         0x2000	/* 2 Stop Bits */
+  #define US_CHMODE     0xC000			/* Channel Mode */
+  #define US_CHMODE_NORMAL          0x0000	/* Normal Mode */
+  #define US_CHMODE_AUTOMATIC_ECHO  0x4000  /* Automatic Echo */
+  #define US_CHMODE_LOCAL_LOOPBACK  0x8000  /* Local Loopback */
+  #define US_CHMODE_REMOTE_LOOPBACK 0xC000  /* Remote Loopback */
+#define TOFF_US_IER     0x0008			/* Interrupt Enable Register (W) */
+#define TOFF_US_IDR     0x000C			/* Interrupt Disable Register (W) */
+#define TOFF_US_IMR     0x0010			/* Interrupt Mask Register (R) */
+#define TOFF_US_CSR     0x0014			/* Channel Staus Register (R) */
+  #define US_RXRDY      0x0001			/* Receiver Ready */
+  #define US_TXRDY      0x0002			/* Transmitter Ready */
+  #define US_RXBRK      0x0004			/* Receiver Break */
+  #define US_ENDRX      0x0008			/* End of Receiver PDC Transfer */
+  #define US_ENDTX      0x0010			/* End of Transmitter PDC Transfer */
+  #define US_OVRE       0x0020			/* Overrun Error */
+  #define US_FRAME      0x0040			/* Framing Error */
+  #define US_PARE       0x0080			/* Parity Error */
+  #define US_TIMEOUT    0x0100			/* Receiver Timeout */
+  #define US_TXEMPTY    0x0200			/* Transmitter Empty */
+#define TOFF_US_RHR     0x0018			/* Receiver Holding Register (R) */
+#define TOFF_US_THR     0x001C			/* Transmitter Holding Register (W) */
+#define TOFF_US_BRGR    0x0020			/* Baud Rate Generator Register (R/W) */
+
+#define TOFF_US_RTOR    0x0024			/* Receiver Time-out Register (R/W) */
+#define TOFF_US_TTGR    0x0028			/* Transmitter Timeguard Register (R/W) */
+#define TOFF_US_FIDI    0x0040			/* FIDI Ratio Register (R/W) */
+#define TOFF_US_NER     0x0044			/* Number of Errors Register (R) */
+#define TOFF_US_IF      0x004C			/* IrDA Filter Register (R/W) */
+#define TOFF_US_MAN     0x0050			/* Manchester Encoder Decoder Register (R/W) */
+
+/*
+ *  PUSE WIDTH MODULATION CONTROLLER
+ */
+#define TADR_PWM_BASE   0xFFFCC000		/* Pluse Widh Modulation Controller BASE address */
+#define TOFF_PWM_MR     0x0000			/* PWM Mode Register (R/W) */
+#define TOFF_PWM_ENA    0x0004			/* PWM Enable Register (W) */
+#define TOFF_PWM_DIS    0x0008			/* PWM Disable Register (W) */
+#define TOFF_PWM_SR     0x000C			/* PWM Status Register (R) */
+#define TOFF_PWM_IER    0x0010			/* PWM Interrupt Enable Register (W) */
+#define TOFF_PWM_IDR    0x0014			/* PWM Interrupt Disable Register (W) */
+#define TOFF_PWM_IMR    0x0018			/* PWM Interrupt Mask Register (R) */
+#define TOFF_PWM_ISR    0x001C			/* PWM Interrupt Status Register (R) */
+#define TADR_PWMC_BASE  0xFFFCC200		/* PWM Channel0 BASE address */
+#define CN_WINDOW       0x0020			/* PWM Channel Window size */
+#define TADR_PWMC0_BASE (TADR_PWMC_BASE)
+#define TADR_PWMC1_BASE (TADR_PWMC_BASE+CN_WINDOW)
+#define TOFF_PWM_CMR    0x0000			/* PWM Channel Mode Register (R/W) */
+#define TOFF_PWM_CDTY   0x0004			/* PWM Channel Duty Cycle Register (R/W) */
+#define TOFF_PWM_CPRD   0x0008			/* PWM Channel Period Register (R/W) */
+#define TOFF_PWM_CCNT   0x000C			/* PWM Channel Counter Register (R) */
+#define TOFF_PWM_CUPD   0x0010			/* PWM Channel Update Register (W) */
+
+
+/*
+ *  SYNCHRONOUS SERIAL CONTROLLER (SSC)
+ */
+#define TADR_SSC_BASE    0xFFFD4000		/* Synchronous Serial Controller BASE Address */
+#define TOFF_SSC_CR      0x0000			/* Control Register (W) */
+#define TOFF_SSC_CMR     0x0004			/* Clock Mode Register (R/W) */
+#define TOFF_SSC_RCMR    0x0010			/* Receive Clock Mode Register (R/W) */
+#define TOFF_SSC_RFMR    0x0014			/* Receive Frame Mode Register (R/W) */
+#define TOFF_SSC_TCMR    0x0018			/* Transmit Clock Mode Register (R/W) */
+#define TOFF_SSC_TFMR    0x001C			/* Transmit Frame Mode Register (R/W) */
+#define TOFF_SSC_RHR     0x0020			/* Receive Holding Register (R) */
+#define TOFF_SSC_THR     0x0024			/* Transmit Holding Register (R) */
+#define TOFF_SSC_RSHR    0x0030			/* Receive Sync. Holding Register (R) */
+#define TOFF_SSC_TSHR    0x0034			/* Transmit Sync. Holding Register (R/W) */
+#define TOFF_SSC_RC0R    0x0038			/* Receive Compare 0 Register (R/W) */
+#define TOFF_SSC_RC1R    0x003C			/* Receive Compare 1 Register (R/W) */
+#define TOFF_SSC_SR      0x0040			/* Status Register (R) */
+#define TOFF_SSC_IER     0x0044			/* Interrupt Enable Register (W) */
+#define TOFF_SSC_IDR     0x0048			/* Interrupt Disable Register (W) */
+#define TOFF_SSC_IMR     0x004C			/* Interrupt Mask Register (R) */
+
+
+/*
+ *  ANALOG-TO-DIGITAL CONVERTER (ADC)
+ */
+#define TADR_ADC_BASE    0xFFFD8000		/* Analog-to-digital Converter BASE address */
+#define TOFF_ADC_CR      0x0000			/* Control Register (W) */
+#define TOFF_ADC_MR      0x0004			/* Mode Register (R/W) */
+#define TOFF_ADC_CHER    0x0010			/* Channel Enable Register (W) */
+#define TOFF_ADC_CHDR    0x0014			/* Channel Disable Register (W) */
+#define TOFF_ADC_CHSR    0x0018			/* Channel Status Register (R) */
+#define TOFF_ADC_SR      0x001C			/* Status Register (R) */
+#define TOFF_ADC_LCDR    0x0020			/* Last Converted Data Register (R) */
+#define TOFF_ADC_IER     0x0024			/* Interrupt Enable Register (W) */
+#define TOFF_ADC_IDR     0x0028			/* Interrupt Disable Register (W) */
+#define TOFF_ADC_IMR     0x002C			/* Interrupt Mask Register (R) */
+#define TOFF_ADC_CDR     0x0030			/* Channel Data Register (R) */
+#define TOFF_ADC_CDR0    0x0030			/* Channel Data Register0 (R) */
+#define TOFF_ADC_CDR1    0x0034			/* Channel Data Register1 (R) */
+#define TOFF_ADC_CDR2    0x0038			/* Channel Data Register2 (R) */
+#define TOFF_ADC_CDR3    0x003C			/* Channel Data Register3 (R) */
+#define TOFF_ADC_CDR4    0x0040			/* Channel Data Register4 (R) */
+#define TOFF_ADC_CDR5    0x0044			/* Channel Data Register5 (R) */
+#define TOFF_ADC_CDR6    0x0048			/* Channel Data Register6 (R) */
+#define TOFF_ADC_CDR7    0x004C			/* Channel Data Register7 (R) */
+
+
+/*
+ *  SERIAL PERIPHERAL INTERFACE (SPI)
+ */
+#define TADR_SPI_BASE    0xFFFE0000		/* Serial Peripheral Interfcae BASE Address */
+#define TOFF_SPI_CR      0x0000			/* Control Register (W) */
+#define TOFF_SPI_MR      0x0004			/* Mode Register (R/W) */
+#define TOFF_SPI_RDR     0x0008			/* Receive Data Register (R) */
+#define TOFF_SPI_TDR     0x000C			/* Transmit Data Register (W) */
+#define TOFF_SPI_SR      0x0010			/* Status Register (R) */
+#define TOFF_SPI_IER     0x0014			/* Interrupt Enable Register (W) */
+#define TOFF_SPI_IDR     0x0018			/* Interrupt Disable Register (W) */
+#define TOFF_SPI_IMR     0x001C			/* Interrupt Mask Register (R) */
+#define TOFF_SPI_CSR0    0x0030			/* Chip Select Register0 (R/W) */
+#define TOFF_SPI_CSR1    0x0034			/* Chip Select Register1 (R/W) */
+#define TOFF_SPI_CSR2    0x0038			/* Chip Select Register2 (R/W) */
+#define TOFF_SPI_CSR3    0x003C			/* Chip Select Register3 (R/W) */
+
+/*
+ *  PERIPHERAL DMA CONTROLLER (PDC)
+ */
+#define TOFF_PDC_RPR    0x0100			/* Receive Pointer Register (R/W) */
+#define TOFF_PDC_RCR    0x0104			/* Receive Counter Register (R/W) */
+#define TOFF_PDC_TPR    0x0108			/* Transmit Pointer Register (R/W) */
+#define TOFF_PDC_TCR    0x010C			/* Transmit Counter Register (R/W) */
+#define TOFF_PDC_RNPR   0x0110			/* Receive Next Pointer Register (R/W) */
+#define TOFF_PDC_RNCR   0x0114			/* Receive Next Counter Register (R/W) */
+#define TOFF_PDC_TNPR   0x0118			/* Transmit Next Pointer Register (R/W) */
+#define TOFF_PDC_TNCR   0x011C			/* Transmit Next Counter Register (R/W) */
+#define TOFF_PDC_PTCR   0x0120			/* PDC Transfar Control Register (W) */
+#define TOFF_PDC_PTSR   0x0124			/* PDC Transfar Status Register (R) */
+
+
+#if defined (__AT91SAM7S32__)
+// 32kbytes,256pages of 128bytes
+#define  FLASH_PAGE_NB          256
+#define  FLASH_PAGE_LOCK        32
+#define  FLASH_PAGE_SIZE        128
+#define  FLASH_PAGE_SIZE_BYTE   128
+#define  FLASH_PAGE_SIZE_LONG   32
+// 8lockbits, protecting 8sectors of 32pages
+#define  FLASH_LOCK_BITS_SECTOR 8
+#define  FLASH_SECTOR_PAGE      32
+#define  FLASH_LOCK_BITS        8
+
+#elif defined (__AT91SAM7S64__)
+// 64kbytes,512pages of 128bytes
+#define  FLASH_PAGE_NB          512
+#define  FLASH_PAGE_LOCK        32
+#define  FLASH_PAGE_SIZE        128
+#define  FLASH_PAGE_SIZE_BYTE   128
+#define  FLASH_PAGE_SIZE_LONG   32
+// 16lockbits, protecting 16sectors of 32pages
+#define  FLASH_LOCK_BITS_SECTOR 16
+#define  FLASH_SECTOR_PAGE      32
+#define  FLASH_LOCK_BITS        16
+
+#elif defined (__AT91SAM7S128__)
+// 128kbytes,512pages of 256bytes
+#define FLASH_PAGE_NB           512
+#define FLASH_PAGE_LOCK         64
+#define FLASH_PAGE_SIZE         256
+#define FLASH_PAGE_SIZE_BYTE    256
+#define FLASH_PAGE_SIZE_LONG    64
+// 8lockbits, protecting 8sectors of 64pages
+#define FLASH_LOCK_BITS_SECTOR  8
+#define FLASH_SECTOR_PAGE       64
+#define FLASH_LOCK_BITS         8
+
+#elif defined (__AT91SAM7S256__)
+// 256kbytes,1024pages of 256bytes
+#define  FLASH_PAGE_NB          1024
+#define  FLASH_PAGE_LOCK        65
+#define  FLASH_PAGE_SIZE        256
+#define  FLASH_PAGE_SIZE_BYTE   256
+#define  FLASH_PAGE_SIZE_LONG   64
+// 16lockbits, protecting 16sectors of 64pages
+#define  FLASH_LOCK_BITS_SECTOR 16
+#define  FLASH_SECTOR_PAGE      64
+#define  FLASH_LOCK_BITS        16
+
+#endif
+#define FLASH_BASE_ADDRESS      0x00100000
+
+#define MCK	                    48054857
+
+#ifndef _MACRO_ONLY
+
+/*
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void init_uart(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block 
+{
+    VP uart_base;
+    VP linectrl_pdr;
+    VP pmc_pcer;
+    VW pdr_bit;
+    VW irq_bit;
+}
+SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block 
+{
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;       /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;       /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;       /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;       /* æå­ãéä¿¡ã§ããç¶æ
+ */
+
+}SIOPCB;
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+Inline void
+uart_putc(char c)
+{
+	while (!(sil_rew_mem((VP)(TADR_DBGU_BASE+TOFF_US_CSR)) & US_TXEMPTY));
+	sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_THR), c);
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_in_isr(void);
+extern void uart_out_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _MACRO_ONLY */
+#endif /* _AT91SAM7S_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/at91sam7s.ld	(revision 26)
@@ -0,0 +1,91 @@
+/*
+ *  @(#) $Id: at91sam7s.ld,v 1.1 2006/06/11 12:18:56 roi Exp $
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+STARTUP(start.o)
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+	.vector :
+	{
+        *(.vector)
+	}
+    .text :
+    {
+        __text = . ; 	
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { 
+		*(.rodata) 
+	}
+
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+      *(.bss)
+      *(COMMON)
+   . = ALIGN(32 / 8);
+    }
+
+   . = ALIGN(32 / 8);
+     _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to 
+     the beginning of the section so we begin them at 0.  */
+
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.cfg	(revision 26)
@@ -0,0 +1,12 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2006/06/11 16:18:56 roi Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Integratorï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, int_timer2 });
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SIO2, { TA_HLNG, uart_isr1 });
+#endif /* TNUM_SIOP >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_serial.h	(revision 26)
@@ -0,0 +1,172 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼At91sam7srç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <at91sam7s.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO  IRQ_TC2_PID
+#define INHNO_SIO2 IRQ_US1_PID
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+      
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    /* Enable Interrupt Rx */
+    if(!openflag){
+#if 0
+        sil_wrw_mem((VP)IRQ0_ENABLESET,IRQ_UART1);
+#endif
+    }
+    
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+
+    /*
+     *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+     */
+    if (!uart_openflag()) {
+        /* Clear Rx Tx Pending bit */
+#if 0
+        sil_wrw_mem((VP)IRQ0_ENABLECLR,(IRQ_UART1));
+#endif
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler  uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/hw_timer.h	(revision 26)
@@ -0,0 +1,174 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by  Advanced Data Controls, Corp
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼At91sam7sç¨ï¼
+ *  TIMER1(24Mhzåºå®)ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <at91sam7s.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define INHNO_TIMER    IRQ_TC0_PID
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW    CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    CLOCK    cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+    /*
+     *  ã¿ã¤ãé¢é£ã®è¨­å®
+     */
+	/* ã¯ã­ãã¯ã¤ãã¼ãã« */
+    sil_wrw_mem((VP)(TADR_PMC_BASE+TOFF_PMC_PCER), (1<<IRQ_TC0_PID));
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_CCR), TC_CLKDIS);
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_IDR), 0xFFFFFFFF);
+    /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+    assert(cyc <= MAX_CLOCK);
+    /* ã«ã¦ã³ãå¤ãã»ãã */
+	sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_CMR), TC_CLKS_MCK8);	/* 47,923,200Hz/8=5,990,400Hz */
+	sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_CMR), sil_rew_mem((VP)(TADR_TC_BASE+TOFF_TC_CMR)) | TC_WAVESEL10);
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_RC), cyc);
+    /* å²è¾¼ã¿ã®ã¯ãªã¢  */
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_IER), TC_CPCS);
+    /* ã«ã¦ã³ãã¹ã¿ã¼ã   */
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_CCR), (TC_CLKEN|TC_SWTRG));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+    sil_rew_mem((VP)(TADR_TC_BASE+TOFF_TC_SR));
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+	sil_rew_mem((VP)(TADR_TC_BASE+TOFF_TC_SR));
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_EOICR), 0);
+    /* ã¿ã¤ãåæ­¢ */
+	sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_CCR), TC_CLKDIS);
+    /* å²è¾¼ã¿ä¸è¨±å¯*/
+    sil_wrw_mem((VP)(TADR_TC_BASE+TOFF_TC_IDR), TC_CPCS);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)TADR_TC_BASE+TOFF_TC_CV));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(sil_rew_mem((VP)(TADR_AIC_BASE+TOFF_AIC_IPR)) & (1<<IRQ_TC0_PID));
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.c	(revision 26)
@@ -0,0 +1,182 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼At91sam7sç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <at91sam7s.h>
+
+
+/*interrupt mask*/
+UW int_mode_table[MAX_INT_NUM]={
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    SMR_US0,
+    SMR_US1,
+    0,
+    0,
+    0,
+    0,
+    SMR_TC0,
+    SMR_TC1,
+    SMR_TC2,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0
+};
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    unsigned int  baud = ((MCK * 10) / (115200 * 16));
+    unsigned long brgr;
+
+#ifndef VECTOR_IN_ROM
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+#endif
+
+    /*
+     *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+     */
+    brgr = baud / 10;
+    if((baud % 10) >= 5)
+        brgr = (baud / 10) + 1;
+    sil_wrw_mem((VP)(TADR_PIO_BASE+TOFF_PIO_PDR), (1<<9)|(1<<10));
+    sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_IDR), 0xFFFFFFFF);
+    sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_CR), US_RSTRX|US_RSTTX|US_RXDIS|US_TXDIS);
+    sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_BRGR), brgr);
+    sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_MR), 4<<9);
+    sil_wrw_mem((VP)(TADR_DBGU_BASE+TOFF_US_CR), US_TXEN|US_RXEN);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    assert(inhno < MAX_INT_NUM);
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_IDCR), 1<<inhno);
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_SVR+inhno*4), (UW)inthdr);
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_SMR+inhno*4), int_mode_table[inhno]);
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_ICCR), 1<<inhno);
+	sil_wrw_mem((VP)(TADR_AIC_BASE+TOFF_AIC_IECR), 1<<inhno);
+}
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_config.h	(revision 26)
@@ -0,0 +1,168 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼At91sam7sç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 32
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define  SUPPORT_VXGET_TIM
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   2   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   2   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	CONSOLE_PORTID  1	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·   */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#ifdef ARM920T_CORE
+#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+#else
+#define WAIT_INTERRUPT  nop
+#endif
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+
+/*
+ *  å²è¾¼ã¿ç¨ã®ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+extern void FIQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_defs.h	(revision 26)
@@ -0,0 +1,158 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼At91sam7sç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define TARGET_NAME "ARM - AT91SAM7S"
+#define AT91SAM7S
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_SYS \
+"Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN\n"
+
+#ifdef VECTOR_IN_ROM
+#define RAM_START       0x00200000
+#else  /* VECTOR_IN_ROM */
+#define RAM_START       0x00000000
+#endif /* VECTOR_IN_ROM */
+
+#ifndef RAM_SIZE
+#if defined (__AT91SAM7S128__)
+#define RAM_SIZE        (32*1024)
+#elif defined (__AT91SAM7S256__)
+#define RAM_SIZE        (64*1024)
+#endif
+#endif
+
+#define FIQ_DATA_SIZE   256
+#define STACKTOP        (RAM_START+RAM_SIZE-FIQ_DATA_SIZE)  /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK     5990
+
+/*
+ *  VECTOR MODE
+ */
+//#define VECTOR_IN_ROM
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef    UINT        INTNO;        /* å²è¾¼ã¿çªå· */
+typedef    UINT        INHNO;        /* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef    UD  SYSUTIM;    /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define    TIC_NUME    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define    TIC_DENO    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define    SIL_DLY_TIM1     20
+#define    SIL_DLY_TIM2     10
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define    SIL_ENDIAN    SIL_ENDIAN_LITTLE    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+int_table
+int_mask_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_support.S	(revision 26)
@@ -0,0 +1,288 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include <at91sam7s.h>
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼
+ */
+
+        .text
+        .align 2
+        .global hardware_init_hook
+hardware_init_hook:
+        ldr     r10, =TADR_BASE_RSTC
+        ldr     r0, =0xA5000c01		/* NRST enable */
+        str     r0, [r10, #TOFF_RSTC_MR]
+									/* Set up FLASH wait state */
+        ldr     r10, =TADR_MC_BASE
+        ldr     r0, =(50<<MC_FMR_FMCN_SHIFT) | MC_FMR_FWS_1FWS
+        str     r0, [r10, #TOFF_MC_FMR]
+									/* Disable Watchdog */
+        ldr     r10, =TADR_WDT_BASE
+        ldr     r0, =WDT_MR_WDDIS
+        str     r0, [r10, #TOFF_WDT_MR]
+									/* Enable the main oscillator */
+        ldr     r10, =TADR_PMC_BASE
+        ldr     r0, =(6<<CKGR_MOR_OSCOUNT_SHIFT)|CKGR_MOR_MOSCEN
+        str     r0, [r10, #TOFF_CKGR_MOR]
+									/* Wait for main oscillator to stabilize */
+oscillator_wait:
+        ldr     r0, [r10, #TOFF_PMC_SR]
+        tst     r0, #PMC_SR_MOSCS
+        beq     oscillator_wait
+									/* Set up the PLL */
+									/* MCK=18.432[MHz]/(DIV=14)*((MUL=72)+1)/2=48054857[Hz] */
+        ldr     r0, =(14<<CKGR_PLLR_DIV_SHIFT) | (28<<CKGR_PLLR_PLLCOUNT_SHIFT) | (72<<CKGR_PLLR_MUL_SHIFT)
+        str     r0, [r10, #TOFF_CKGR_PLLR]
+									/* Wait for PLL to lock */
+PLLlock_wait:
+        ldr     r0, [r10, #TOFF_PMC_SR]
+        tst     r0, #PMC_SR_LOCK
+        beq     PLLlock_wait
+									/* Select PLL as clock source */
+        ldr     r0, =(PMC_MCKR_CSS_PLL_CLOCK|PMC_MCKR_PRES_CLK_2)
+        str     r0, [r10, #TOFF_PMC_MCKR]
+									/* Setup the stack for each mode */
+        mov     r0, sp
+        msr     cpsr_c, #(CPSR_FIQ|CPSR_IRQ_BIT|CPSR_FIQ_BIT)	/* Set up Fast Interrupt Mode and set FIQ Mode Stack */
+        ldr     r8, =TADR_AIC_BASE                      /* Init the FIQ register */
+
+        msr     cpsr_c, #(CPSR_IRQ|CPSR_IRQ_BIT|CPSR_FIQ_BIT)	/* Set up Interrupt Mode and set IRQ Mode Stack */
+        mov     r13, r0                                 /* Init stack IRQ */
+
+        msr     cpsr_c, #(CPSR_SVC|CPSR_IRQ_BIT|CPSR_FIQ_BIT)   /* Return Supervisor Mode and set Supervisor Mode */
+
+init_done:
+        mov     pc, lr
+
+
+        .text
+        .align 2
+        .global software_init_hook
+software_init_hook:
+        mov     pc, lr
+
+        .text
+        .align 2
+        .global software_term_hook
+software_term_hook:
+        mov     pc, lr
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *
+ */
+        .text
+        .align 4
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov     sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr     cpsr_all, sp
+        stmfd   sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+        mov     r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr     cpsr,r0
+        sub     r0,lr,#4
+        mrs     r1,spsr
+
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        and     r2,  r1, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr_all, r2
+        str     r0, [sp,#0x18] /* Store pc */
+        stmfd   sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+        /*
+         *  å²ãè¾¼ã¿è¦å ã®å¤å®ï¼
+         */
+        ldr     r3, =TADR_AIC_BASE
+        ldr     r0, [r3, #TOFF_AIC_IVR]
+        str     r3, [r3, #TOFF_AIC_IVR]
+
+        /*
+         * å²ãè¾¼ã¿è¨±å¯
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #~CPSR_IRQ_BIT /* å²è¾¼ã¿è¨±å¯ */
+        msr     cpsr,r2
+
+        /*
+         * Call Handler
+         */
+        mov     lr,  pc
+        mov     pc,  r0
+
+        /* 
+         * å²ãè¾¼ã¿ç¦æ­¢ 
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr,r2
+
+        /*
+         * å²è¾¼ã¿ã¯ãªã¢
+         */
+        ldr     r3, =TADR_AIC_BASE
+        mov     r0, #0
+        str     r0, [r3, #TOFF_AIC_EOICR]
+
+        /* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]
+        sub     r3, r1, #1
+        str     r3, [r2]
+        cmp     r3, #0x00
+        bne     return_to_task_irq
+
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}
+        mov     sp, r0
+
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        mrs     r2, cpsr           /* FIQãç¶æ¿            */
+        and     r2, r2, #CPSR_FIQ_BIT
+        and     r1, r1, #~CPSR_FIQ_BIT
+        orr     r1, r1, r2                 
+        msr     spsr, r1           /* å²ãè¾¼ã¿è¨±å¯   */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /*ã¿ã¹ã¯å¾©å¸° + å²è¾¼ã¿è¨±å¯ */
+
+        .text
+        .align 4
+        .global FIQ_Handler
+FIQ_Handler:
+         /* Switch in SVC/User Mode to allow User Stack access for C code */
+         /* because the FIQ is not yet acknowledged */
+         /* Save and r0 in FIQ_Register */
+         mov    r9, r0
+         ldr    r0, [r8, #TOFF_AIC_FVR]
+         msr    cpsr_c,#(CPSR_SVC|CPSR_IRQ_BIT|CPSR_FIQ_BIT)
+         /* Save scratch/used registers and LR in User Stack */
+         ldr    sp, =(STACKTOP+FIQ_DATA_SIZE)
+         stmfd  sp!, { r1-r3, r12, lr}
+         /* Branch to the routine pointed by the AIC_FVR */
+         mov    r14, pc
+         bx     r0
+         /* Restore scratch/used registers and LR from User Stack */
+         ldmia  sp!, { r1-r3, r12, lr}
+         /* Leave Interrupts disabled and switch back in FIQ mode */
+         msr    cpsr_c, #(CPSR_FIQ|CPSR_IRQ_BIT|CPSR_FIQ_BIT)
+         /* Restore the R0 ARM_MODE_SVC register */
+         mov    r0, r9
+         /* Restore the Program Counter using the LR_fiq directly in the PC */
+         subs   pc, lr, #4
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/at91sam7s/sys_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/Makefile.config	(revision 26)
@@ -0,0 +1,38 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2007/05/21 01:33:50 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼AZ9360 MB Boardç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS) -mcpu=arm9tdmi -Wa
+LDFLAGS  := $(LDFLAGS) -mcpu=arm9tdmi  -N
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o ns9360.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/ns9360.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  AZ9360MBç¨
+COPTS   := $(COPTS) -mbig-endian   
+CDEFS   := $(CDEFS) -DAZ9360MB
+LDFLAGS := $(LDFLAGS) -mbig-endian 
+TEXT_START_ADDRESS=0x0000003c
+#DATA_START_ADDRESS=0x000B0000
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.cfg	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2007/05/11 06:06:35 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼NS9360ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_BBB, { TA_HLNG, BBus_isr });
+DEF_INH(INHNO_SIO_TX, { TA_HLNG, sio_Tx_handler });
+DEF_INH(INHNO_SIO_RX, { TA_HLNG, sio_Rx_handler });
+DEF_INH(INHNO_SIO2_TX, { TA_HLNG, sio2_Tx_handler });
+DEF_INH(INHNO_SIO2_RX, { TA_HLNG, sio2_Rx_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_serial.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2007/05/21 01:33:50 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ã
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <ns9360.h>
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB  *siopcb;
+	BOOL    openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+	 */
+	openflag = uart_openflag(siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = uart_opn_por(siopid, exinf);
+	  
+	/*
+	 * å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+
+	if(!openflag){
+		/* å²è¾¼ã¿è¨±å¯ï¼BBus Bridge IE ã®TXEã¨RXEãONã«ãã */
+		uart_TxRx_Enable(siopid);
+	}
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	uart_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+	if (!uart_openflag(uart_get_id(siopcb))) {
+		/* å²è¾¼ã¿ç¦æ­¢ï¼BBus Bridge IE ã®TXEã¨RXEãOFFã«ãã */
+		uart_TxRx_Disable(uart_get_id(siopcb));
+	}
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+/*	#define sio_handler uart_isr	*/
+#define sio_Tx_handler uart_Tx_isr
+#define sio_Rx_handler uart_Rx_isr
+#define sio2_Tx_handler uart2_Tx_isr
+#define sio2_Rx_handler uart2_Rx_isr
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/hw_timer.h	(revision 26)
@@ -0,0 +1,176 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.1 2007/05/11 06:06:35 honda Exp $
+ */
+
+/*
+ *  ã¿ã¤ãã¢ã¸ã¥ã¼ã«
+ *  TIMER0ãä½¿ç¨
+ */
+
+#ifndef	_HW_TIMER_H_
+#define	_HW_TIMER_H_
+
+#include	<s_services.h>
+#ifndef	_NS9360_H_
+#include	<ns9360.h>
+#endif
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·(ã¿ã¤ãã¼ã«ã»ããããåªå
+åº¦)
+ */
+#define		INHNO_TIMER		INTLV_TIM0
+
+#ifndef	_MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef	UW		CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)			((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	CLOCK    cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+	    
+	sil_wrw_mem((VP)TIMER0_CR,0x00);  			/* ã¿ã¤ãåæ­¢,å²è¾¼ã¿ã¯ãªã¢,å²è¾¼ã¿ç¦æ­¢ */
+	assert(cyc <= MAX_CLOCK);					/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	sil_wrw_mem((VP)TIMER0_CR,0x00000007);		/* ã¿ã¤ãåæ­¢,å²è¾¼ã¿ã¯ãªã¢,å²è¾¼ã¿ç¦æ­¢ */
+	sil_wrw_mem((VP)TIMER0_RLC_REG,cyc);		/* ã«ã¦ã³ãå¤ã»ãã       */
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	/* å²è¾¼ã¿ãã¹ã¯ã¯ãªã¢å²è¾¼ã¿è¨±å¯ */
+	sil_wrw_mem((VP)INT_CFG4_7_REG,sil_rew_mem((VP)INT_CFG4_7_REG)|0x80000000);	/* IRQ4 IntEnable */
+
+	/* å²è¾¼ã¿è¨±å¯,ã¿ã¤ãã¹ã¿ã¼ã */
+	sil_wrw_mem((VP)TIMER0_CR,0x0000800f); 
+}
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+	UW	n;
+
+	n = (sil_rew_mem((VP)TIMER0_CR));
+	sil_wrw_mem((VP)TIMER0_CR, n | 0x200);
+	sil_wrw_mem((VP)TIMER0_CR, n & ~0x200);
+}
+
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+	/* ã¿ã¤ãåæ­¢,å²è¾¼ã¿ã¯ãªã¢,å²è¾¼ã¿ç¦æ­¢ */
+	sil_wrw_mem((VP)TIMER0_CR,0x00000107);
+	/* å²è¾¼ã¿ãã¹ã¯ã»ããå²è¾¼ã¿ç¦æ­¢ */
+	sil_wrw_mem((VP)INT_CFG4_7_REG,sil_rew_mem((VP)INT_CFG4_7_REG)&~(0x80000000));	/* IRQ4 IntDisable */
+}
+
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return(TO_CLOCK(TIC_NUME, TIC_DENO) -
+		sil_rew_mem((VP)TIMER0_RR));
+}
+
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return(sil_rew_mem((VP)TIS_REG) & 1);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.c	(revision 26)
@@ -0,0 +1,494 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ns9360.c,v 1.2 2007/05/21 01:33:50 honda Exp $
+ */
+
+/*
+ *    å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <ns9360.h>
+
+/*
+ * å
+é¨UARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{
+		/* UART Channel A */
+		 (VP)SC1SRA_REG , (VP)SC1FIFO_REG , (VP)SC1CRA_REG , (VP)SC1CRB_REG
+		,(VP)SC1RCT_REG , (VP)SC1RBT_REG , (VP)SC1BRG_REG
+		,(SCCRA_CE | SCCRA_WLS | SCCRA_DTR | SCCRA_RTS)
+		,0x08000000
+		,0x80000008
+		,0x80000008
+		,(0xC0140000 | 7)			/* 29.4912MHz /2/8 = 115200*16 */
+		,BBBI_S1TX , BBBI_S1RX
+	 }
+#if TNUM_SIOP >= 2
+    ,
+    {
+		/* UART Channel C */
+		 (VP)SC3SRA_REG , (VP)SC3FIFO_REG , (VP)SC3CRA_REG , (VP)SC3CRB_REG
+		,(VP)SC3RCT_REG ,(VP)SC3RBT_REG ,  (VP)SC3BRG_REG
+		,(SCCRA_CE | SCCRA_WLS | SCCRA_DTR | SCCRA_RTS)
+		,0x08000000
+		,0x80000008
+		,0x80000008
+		,(0xC0140000 | 7)			/* 29.4912MHz /2/8 = 115200*16 */
+		,BBBI_S3TX , BBBI_S3RX
+	}
+#endif
+ };
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+/*
+ * ã·ã¹ãã åºåç¨ã·ãªã¢ã«ãã¼ãæ
+å ±
+ */
+SIOPCB      *sys_siopcb;
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+	VW	dt;
+	
+	if(0 != siopcb->rxfdb)
+		return TRUE;
+	
+	dt = sil_rew_mem((VP)siopcb->siopinib->pSraReg);
+	return(dt &(SCSRA_RFS | SCSRA_RRDY));
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+	return(sil_rew_mem((VP)siopcb->siopinib->pSraReg)&(SCSRA_TRDY | SCSRA_THALF | SCSRA_TEMPTY));
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+	UW	dt;
+	
+	if(0 == siopcb->rxfdb)
+	{
+		siopcb->rxfdb = (sil_rew_mem((VP)siopcb->siopinib->pSraReg) >> 20) & 0x03;
+		if(0 == siopcb->rxfdb)
+			siopcb->rxfdb = 4;
+		
+		siopcb->rxbuf = sil_rew_mem((VP)siopcb->siopinib->pFifoReg);
+	}
+	--(siopcb->rxfdb);
+	dt = (siopcb->rxbuf >> 24) & 0xff;
+	siopcb->rxbuf <<= 8;
+	
+	return (UB)dt;
+
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrb_mem((VP)siopcb->siopinib->pFifoReg, (VB)c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+		sil_wrw_mem((VP)BBBIE_REG,sil_rew_mem((VP)BBBIE_REG) | siopcb->siopinib->BbbiTx);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+	sil_wrw_mem((VP)BBBIE_REG,sil_rew_mem((VP)BBBIE_REG) & ~siopcb->siopinib->BbbiTx);
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+	sil_wrw_mem((VP)BBBIE_REG,sil_rew_mem((VP)BBBIE_REG) | siopcb->siopinib->BbbiRx);
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+	sil_wrw_mem((VP)BBBIE_REG,sil_rew_mem((VP)BBBIE_REG) & ~siopcb->siopinib->BbbiRx);
+}
+
+
+
+/*
+ * ã«ã¼ãã«èµ·åæã®ã­ã°åºåç¨ã®åæå
+ */
+void
+uart_init(ID siopid){
+    SIOPCB      *siopcb;
+
+	uart_initialize();
+
+    siopcb = get_siopcb(siopid);
+
+	sys_siopcb = siopcb;
+
+    /* UART Initialize */
+    sil_wrw_mem((VP)siopcb->siopinib->pCraReg,(VW)siopcb->siopinib->CraData);
+	sil_wrw_mem((VP)siopcb->siopinib->pCrbReg,(VW)siopcb->siopinib->CrbData);
+	sil_wrw_mem((VP)siopcb->siopinib->pRctReg,(VW)0);
+	
+    /* Set bound rate */
+	sil_wrw_mem((VP)siopcb->siopinib->pBrgReg,siopcb->siopinib->BrgData);
+}
+
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+void
+uart_putc(char c)
+{
+    UW buf_level;
+    
+    do{
+        buf_level = sil_rew_mem((VP)sys_siopcb->siopinib->pSraReg) & SCSRA_TRDY;
+    }while(buf_level == 0);
+    
+    sil_wrb_mem((VP)sys_siopcb->siopinib->pFifoReg,(VW)c);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+        siopcb->rxfdb = 0;
+        siopcb->rxbuf = 0;
+        siopcb->siopid = i;
+    }
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(ID siopid)
+{
+    return(siopcb_table[siopid].openflag);
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+	UW		n;
+	
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /* UART Initialize */
+    sil_wrw_mem((VP)siopinib->pCraReg,(VW)siopinib->CraData);
+	sil_wrw_mem((VP)siopinib->pCrbReg,(VW)siopinib->CrbData);
+	sil_wrw_mem((VP)siopinib->pRctReg,(VW)siopinib->RctData);
+	sil_wrw_mem((VP)siopinib->pRbtReg,(VW)siopinib->RbtData);
+	
+    /* Set bound rate */
+	sil_wrw_mem((VP)siopinib->pBrgReg,siopinib->BrgData);
+
+    /* åä¿¡RcvRdy,FIFO=Halfãéä¿¡TxEmpty,FIFO-Halfå²è¾¼ã¿è¨±å¯ */
+	n = sil_rew_mem((VP)siopinib->pCraReg);
+	n &=  (~(SCCRA_RIE | SCCRA_TIC));
+	n |= (0xe00 | 0x0c);
+    sil_wrw_mem((VP)siopinib->pCraReg,(VW)n);
+	
+    /* BBUSå²è¾¼ã¿è¨±å¯ */
+	sil_wrw_mem((VP)BBBIE_REG,sil_rew_mem((VP)BBBIE_REG) | siopinib->BbbiRx);
+	sil_wrw_mem((VP)INT_CFG8_11_REG,sil_rew_mem((VP)INT_CFG8_11_REG)|0x80000000);
+	
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+    siopcb->rxfdb = 0;
+    siopcb->rxbuf = 0;
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+static void
+uart_Txisr_siop(SIOPCB *siopcb)
+{
+    /*
+     *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+     */
+    uart_ierdy_snd(siopcb->exinf);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+static void
+uart_Rxisr_siop(SIOPCB *siopcb)
+{
+    /*
+     *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+     *  æå¤§4æå­(32bit)åä¿¡ãã¦ããã®ã§ããã§å
+¨åä¿¡æå­ãå¦çãã
+     */
+    while(1)
+    {
+        uart_ierdy_rcv(siopcb->exinf);
+        if(0 == siopcb->rxfdb)
+            break;                           /* åä¿¡æ¸ã¿ã­ã£ã©ã¯ã¿ãªã */
+	}
+}
+
+
+/*
+ *  SIOã®Txå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_Tx_isr()
+{
+	uart_Txisr_siop(&(siopcb_table[0]));
+}
+
+/*
+ *  SIOã®Rxå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_Rx_isr()
+{
+	uart_Rxisr_siop(&(siopcb_table[0]));
+	sil_wrw_mem((VP)siopcb_table[0].siopinib->pSraReg , 
+					sil_rew_mem((VP)siopcb_table[0].siopinib->pSraReg) );
+}
+
+/*
+ *  SIO2ã®Txå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart2_Tx_isr()
+{
+	uart_Txisr_siop(&(siopcb_table[1]));
+}
+
+/*
+ *  SIO2ã®Rxå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart2_Rx_isr()
+{
+	uart_Rxisr_siop(&(siopcb_table[1]));
+	sil_wrw_mem((VP)siopcb_table[1].siopinib->pSraReg , 
+					sil_rew_mem((VP)siopcb_table[1].siopinib->pSraReg) );
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿è¨±å¯ã«ã¼ãã³
+ */
+void
+uart_TxRx_Enable(ID siopid)
+{
+	sil_wrw_mem((VP)BBBIE_REG,
+				sil_rew_mem((VP)BBBIE_REG) | siopcb_table[siopid].siopinib->BbbiTx 
+		                                   | siopcb_table[siopid].siopinib->BbbiRx);
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ç¦æ­¢ã«ã¼ãã³
+ */
+void
+uart_TxRx_Disable(ID siopid)
+{
+		sil_wrw_mem((VP)BBBIE_REG,
+				sil_rew_mem((VP)BBBIE_REG) & ~(siopcb_table[siopid].siopinib->BbbiTx
+												 | siopcb_table[siopid].siopinib->BbbiRx) );
+}
+
+/*
+ * ç¾å¨ã®ã·ãªã¢ã«ãã¼ãã®åå¾
+ */
+ID
+uart_get_id(SIOPCB *siopcb)
+{
+	return(siopcb->siopid);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.h	(revision 26)
@@ -0,0 +1,1072 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ns9360.h,v 1.1 2007/05/21 01:33:50 honda Exp $
+ */
+
+#ifndef _NS9360_H_
+#define _NS9360_H_
+
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+
+#include <armv4.h>
+
+/************************************************/
+/*			CPU(Compiler) value type			*/
+/************************************************/
+
+#define	ARM9_INPUT_FREQUENCY             29491200
+#define	MPMC_REFRESH_RATE 7812 /* nano-seconds */
+
+#define	STACKTOP	stack_end   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define INTLV_TIM0        4
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK          177000			/* Base clock = 177MHz */
+
+
+/*
+ *  ã­ã£ãã·ã¥é¢é£ã®è¨­å®
+ */
+
+/* 
+ * ã­ã£ãã·ã¥ã®è¨­å® CP5 No.1 ã«æ¸ãè¾¼ãå¤ 
+ * ICache ã®ã¿ON
+ */
+#define CP5_NO1_VAL         0x1078
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_BIG  /* Big */
+
+/*
+ *System Configuration Registers
+ */
+#define SYS_CONT_MODULE_BASE		0xa0900000					/*              1 M         */
+#define	AHB_ABT_CFG_REG		(SYS_CONT_MODULE_BASE+0x0000)		/* AHB Arbiter Gen Configuration									*/
+#define	BRC0_REG			(SYS_CONT_MODULE_BASE+0x0004)		/* BRC0																*/
+#define	BRC1_REG			(SYS_CONT_MODULE_BASE+0x0008)		/* BRC1																*/
+#define	BRC2_REG			(SYS_CONT_MODULE_BASE+0x000C)		/* BRC2																*/
+#define	BRC3_REG			(SYS_CONT_MODULE_BASE+0x0010)		/* BRC3																*/
+#define	BAT_BMT_REG			(SYS_CONT_MODULE_BASE+0x0014)		/* AHB Bus Arbiter Timeout Period AHB Bus Monitor Timeout Period	*/
+#define	AHB_ERR1_REG		(SYS_CONT_MODULE_BASE+0x0018)		/* AHB Error Detect Status 1										*/
+#define	AHB_ERR2_REG		(SYS_CONT_MODULE_BASE+0x001C)		/* AHB Error Detect Status 2										*/
+#define	AHB_ERRMON_REG		(SYS_CONT_MODULE_BASE+0x0020)		/* AHB Error Monitoring Configuration								*/
+#define	SWDT_CFG_REG		(SYS_CONT_MODULE_BASE+0x0174)		/* Software Watchdog Configuration									*/
+#define	SWDT_REG			(SYS_CONT_MODULE_BASE+0x0178)		/* Software Watchdog Timer											*/
+#define	CLK_CFG_REG			(SYS_CONT_MODULE_BASE+0x017C)		/* Clock Configuration register										*/
+#define	RS_CNT_REG			(SYS_CONT_MODULE_BASE+0x0180)		/* Reset and Sleep Control register									*/
+#define	MS_CFG_REG			(SYS_CONT_MODULE_BASE+0x0184)		/* Miscellaneous System Configuration register						*/
+#define	PLL_CFG_REG			(SYS_CONT_MODULE_BASE+0x0188)		/* PLL Configuration register										*/
+#define	GEMID_REG			(SYS_CONT_MODULE_BASE+0x0210)		/* GenID General purpose, user-defined ID register					*/
+#define	EXINT0_CR			(SYS_CONT_MODULE_BASE+0x0214)		/* External Interrupt 0 Control register							*/
+#define	EXINT1_CR			(SYS_CONT_MODULE_BASE+0x0218)		/* External Interrupt 1 Control register							*/
+#define	EXINT2_CR			(SYS_CONT_MODULE_BASE+0x021C)		/* External Interrupt 2 Control register							*/
+#define	EXINT3_CR			(SYS_CONT_MODULE_BASE+0x0220)		/* External Interrupt 3 Control register							*/
+
+#define	IVARV_REG			INT_VECT0_REG						/* Interrupt Vector Address Register base							*/
+#define	INT_CONFIG_REG		INT_CFG0_3_REG						/* Interrupt Configuration Register base							*/
+#define AHB_ABT_CFG_REG_debug    0x00000002						/* debuger flag 													*/
+#define AHB_ABT_CFG_REG_restart  0x00000004						/* Software Restart flag											*/
+#define SCM_PLL_REG_FSStatus     0x01800000						/* PLL FS Status													*/
+#define SCM_PLL_REG_NDStatus     0x001f0000						/* PLL ND Status													*/
+
+/*
+ * Interrupt Controller Registers
+ */
+#define	INT_VECT0_REG		(SYS_CONT_MODULE_BASE+0x00C4)		/* Interrupt Vector Address Register Level 0						*/
+#define	INT_VECT1_REG		(SYS_CONT_MODULE_BASE+0x00C8)		/* Interrupt Vector Address Register Level 1						*/
+#define	INT_VECT2_REG		(SYS_CONT_MODULE_BASE+0x00CC)		/* Interrupt Vector Address Register Level 2						*/
+#define	INT_VECT3_REG		(SYS_CONT_MODULE_BASE+0x00D0)		/* Interrupt Vector Address Register Level 3						*/
+#define	INT_VECT4_REG		(SYS_CONT_MODULE_BASE+0x00D4)		/* Interrupt Vector Address Register Level 4						*/
+#define	INT_VECT5_REG		(SYS_CONT_MODULE_BASE+0x00D8)		/* Interrupt Vector Address Register Level 5						*/
+#define	INT_VECT6_REG		(SYS_CONT_MODULE_BASE+0x00DC)		/* Interrupt Vector Address Register Level 6						*/
+#define	INT_VECT7_REG		(SYS_CONT_MODULE_BASE+0x00E0)		/* Interrupt Vector Address Register Level 7						*/
+#define	INT_VECT8_REG		(SYS_CONT_MODULE_BASE+0x00E4)		/* Interrupt Vector Address Register Level 8						*/
+#define	INT_VECT9_REG		(SYS_CONT_MODULE_BASE+0x00E8)		/* Interrupt Vector Address Register Level 9						*/
+#define	INT_VECT10_REG		(SYS_CONT_MODULE_BASE+0x00EC)		/* Interrupt Vector Address Register Level 10						*/
+#define	INT_VECT11_REG		(SYS_CONT_MODULE_BASE+0x00F0)		/* Interrupt Vector Address Register Level 11						*/
+#define	INT_VECT12_REG		(SYS_CONT_MODULE_BASE+0x00F4)		/* Interrupt Vector Address Register Level 12						*/
+#define	INT_VECT13_REG		(SYS_CONT_MODULE_BASE+0x00F8)		/* Interrupt Vector Address Register Level 13						*/
+#define	INT_VECT14_REG		(SYS_CONT_MODULE_BASE+0x00FC)		/* Interrupt Vector Address Register Level 14						*/
+#define	INT_VECT15_REG		(SYS_CONT_MODULE_BASE+0x0100)		/* Interrupt Vector Address Register Level 15						*/
+#define	INT_VECT16_REG		(SYS_CONT_MODULE_BASE+0x0104)		/* Interrupt Vector Address Register Level 16						*/
+#define	INT_VECT17_REG		(SYS_CONT_MODULE_BASE+0x0108)		/* Interrupt Vector Address Register Level 17						*/
+#define	INT_VECT18_REG		(SYS_CONT_MODULE_BASE+0x010C)		/* Interrupt Vector Address Register Level 18						*/
+#define	INT_VECT19_REG		(SYS_CONT_MODULE_BASE+0x0110)		/* Interrupt Vector Address Register Level 19						*/
+#define	INT_VECT20_REG		(SYS_CONT_MODULE_BASE+0x0114)		/* Interrupt Vector Address Register Level 20						*/
+#define	INT_VECT21_REG		(SYS_CONT_MODULE_BASE+0x0118)		/* Interrupt Vector Address Register Level 21						*/
+#define	INT_VECT22_REG		(SYS_CONT_MODULE_BASE+0x011C)		/* Interrupt Vector Address Register Level 22						*/
+#define	INT_VECT23_REG		(SYS_CONT_MODULE_BASE+0x0120)		/* Interrupt Vector Address Register Level 23						*/
+#define	INT_VECT24_REG		(SYS_CONT_MODULE_BASE+0x0124)		/* Interrupt Vector Address Register Level 24						*/
+#define	INT_VECT25_REG		(SYS_CONT_MODULE_BASE+0x0128)		/* Interrupt Vector Address Register Level 25						*/
+#define	INT_VECT26_REG		(SYS_CONT_MODULE_BASE+0x012C)		/* Interrupt Vector Address Register Level 26						*/
+#define	INT_VECT27_REG		(SYS_CONT_MODULE_BASE+0x0130)		/* Interrupt Vector Address Register Level 27						*/
+#define	INT_VECT28_REG		(SYS_CONT_MODULE_BASE+0x0134)		/* Interrupt Vector Address Register Level 28						*/
+#define	INT_VECT29_REG		(SYS_CONT_MODULE_BASE+0x0138)		/* Interrupt Vector Address Register Level 29						*/
+#define	INT_VECT30_REG		(SYS_CONT_MODULE_BASE+0x013C)		/* Interrupt Vector Address Register Level 30						*/
+#define	INT_VECT31_REG		(SYS_CONT_MODULE_BASE+0x0140)		/* Interrupt Vector Address Register Level 31						*/
+#define	INT_CFG0_3_REG		(SYS_CONT_MODULE_BASE+0x0144)		/* Int Config 0 Int Config 1 Int Config 2 Int Config 3				*/
+#define	INT_CFG4_7_REG		(SYS_CONT_MODULE_BASE+0x0148)		/* Int Config 4 Int Config 5 Int Config 6 Int Config 7				*/
+#define	INT_CFG8_11_REG		(SYS_CONT_MODULE_BASE+0x014C)		/* Int Config 8 Int Config 9 Int Config 10 Int Config 11			*/
+#define	INT_CFG12_15_REG	(SYS_CONT_MODULE_BASE+0x0150)		/* Int Config 12 Int Config 13 Int Config 14 Int Config 15			*/
+#define	INT_CFG16_19_REG	(SYS_CONT_MODULE_BASE+0x0154)		/* Int Config 16 Int Config 17 Int Config 18 Int Config 19			*/
+#define	INT_CFG20_23_REG	(SYS_CONT_MODULE_BASE+0x0158)		/* Int Config 20 Int Config 21 Int Config 22 Int Config 23			*/
+#define	INT_CFG24_27_REG	(SYS_CONT_MODULE_BASE+0x015C)		/* Int Config 24 Int Config 25 Int Config 26 Int Config 27			*/
+#define	INT_CFG28_31_REG	(SYS_CONT_MODULE_BASE+0x0160)		/* Int Config 28 Int Config 29 Int Config 30 Int Config 31			*/
+#define	ISRADDR_REG			(SYS_CONT_MODULE_BASE+0x0164)		/* ISRADDR															*/
+#define	ISA_REG				(SYS_CONT_MODULE_BASE+0x0168)		/* Interrupt Status Active											*/
+#define	ISRAW_REG			(SYS_CONT_MODULE_BASE+0x016C)		/* Interrupt Status Raw												*/
+#define	INT_ID_REG			(SYS_CONT_MODULE_BASE+0x018C)		/* Active Interrupt Level register									*/
+
+#define	INT_CFG_BIT_IE		0x80								/* IntConfigReg IE bit */
+#define	INT_CFG_BIT_INV		0x40								/* IntConfigReg INV bit */
+/* #define	INT_CFG_BIT_IT		0x20					*/			/* IntConfigReg IT bit */
+#define	INT_CFG_BIT_IT		0x0								/* IntConfigReg IT bit */
+
+#define	BBBIE_REG			0xa0401004							/* BBus Bridge Interrupt Enable register		*/
+#define	BBBIS_REG			0xa0401000							/* BBus Bridge Interrupt Status register		*/
+/* BBus Bridge Interrupt Enable/Status register bit define */
+#define	BBBI_GLBL			0x80000000
+#define	BBBI_DMA2			0x02000000
+#define	BBBI_DMA1			0x01000000
+#define	BBBI_1284			0x00000800
+#define	BBBI_I2C			0x00000400
+#define	BBBI_S4TX			0x00000200
+#define	BBBI_S4RX			0x00000100
+#define	BBBI_S3TX			0x00000080
+#define	BBBI_S3RX			0x00000040
+#define	BBBI_S1TX			0x00000020
+#define	BBBI_S1RX			0x00000010
+#define	BBBI_S2TX			0x00000008
+#define	BBBI_S2RX			0x00000004
+#define	BBBI_USB			0x00000002
+#define	BBBI_DMA			0x00000001
+
+#define	BBBIS_MASK			0x03000fff;							/* BBus Interrupt Status register Mask patern */
+
+
+/*
+ * Chip Select Registers
+ */
+#define	CS4B_REG			(SYS_CONT_MODULE_BASE+0x01D0)		/* System Memory Chip Select 4 Dynamic Memory Base					*/
+#define	CS4M_REG			(SYS_CONT_MODULE_BASE+0x01D4)		/* System Memory Chip Select 4 Dynamic Memory Mask					*/
+#define	CS5B_REG			(SYS_CONT_MODULE_BASE+0x01D8)		/* System Memory Chip Select 5 Dynamic Memory Base					*/
+#define	CS5M_REG			(SYS_CONT_MODULE_BASE+0x01DC)		/* System Memory Chip Select 5 Dynamic Memory Mask					*/
+#define	CS6B_REG			(SYS_CONT_MODULE_BASE+0x01E0)		/* System Memory Chip Select 6 Dynamic Memory Base					*/
+#define	CS6M_REG			(SYS_CONT_MODULE_BASE+0x01E4)		/* System Memory Chip Select 6 Dynamic Memory Mask					*/
+#define	CD7B_REG			(SYS_CONT_MODULE_BASE+0x01E8)		/* System Memory Chip Select 7 Dynamic Memory Base					*/
+#define	CS7M_REG			(SYS_CONT_MODULE_BASE+0x01EC)		/* System Memory Chip Select 7 Dynamic Memory Mask					*/
+#define	CS0B_REG			(SYS_CONT_MODULE_BASE+0x01F0)		/* System Memory Chip Select 0 Static Memory Base					*/
+#define	CS0M_REG			(SYS_CONT_MODULE_BASE+0x01F4)		/* System Memory Chip Select 0 Static Memory Mask					*/
+#define	CS1B_REG			(SYS_CONT_MODULE_BASE+0x01F8)		/* System Memory Chip Select 1 Static Memory Base					*/
+#define	CS1M_REG			(SYS_CONT_MODULE_BASE+0x01FC)		/* System Memory Chip Select 1 Static Memory Mask					*/
+#define	CS2B_REG			(SYS_CONT_MODULE_BASE+0x0200)		/* System Memory Chip Select 2 Static Memory Base					*/
+#define	CS2M_REG			(SYS_CONT_MODULE_BASE+0x0204)		/* System Memory Chip Select 2 Static Memory Mask					*/
+#define	CS3B_REG			(SYS_CONT_MODULE_BASE+0x0208)		/* System Memory Chip Select 3 Static Memory Base					*/
+#define	CS3M_REG			(SYS_CONT_MODULE_BASE+0x020C)		/* System Memory Chip Select 3 Static Memory Mask					*/
+
+/*
+ *Timer Registers
+ */
+#define	TIMER0_RLC_REG		(SYS_CONT_MODULE_BASE+0x0044)		/* Timer 0 Reload Count register									*/
+#define	TIMER1_RLC_REG		(SYS_CONT_MODULE_BASE+0x0048)		/* Timer 1 Reload Count register									*/
+#define	TIMER2_RLC_REG		(SYS_CONT_MODULE_BASE+0x004C)		/* Timer 2 Reload Count register									*/
+#define	TIMER3_RLC_REG		(SYS_CONT_MODULE_BASE+0x0050)		/* Timer 3 Reload Count register									*/
+#define	TIMER4_RLC_REG		(SYS_CONT_MODULE_BASE+0x0054)		/* Timer 4 Reload Count register									*/
+#define	TIMER5_RLC_REG		(SYS_CONT_MODULE_BASE+0x0058)		/* Timer 5 Reload Count register									*/
+#define	TIMER6_RLC_REG		(SYS_CONT_MODULE_BASE+0x005C)		/* Timer 6 Reload Count register									*/
+#define	TIMER7_RLC_REG		(SYS_CONT_MODULE_BASE+0x0060)		/* Timer 7 Reload Count register									*/
+#define	TIMER8_RLC_REG		(SYS_CONT_MODULE_BASE+0x0064)		/* Timer 8 Reload Count register									*/
+#define	TIMER9_RLC_REG		(SYS_CONT_MODULE_BASE+0x0068)		/* Timer 9 Reload Count register									*/
+#define	TIMER10_RLC_REG		(SYS_CONT_MODULE_BASE+0x006C)		/* Timer 10 Reload Count register									*/
+#define	TIMER11_RLC_REG		(SYS_CONT_MODULE_BASE+0x0070)		/* Timer 11 Reload Count register									*/
+#define	TIMER12_RLC_REG		(SYS_CONT_MODULE_BASE+0x0074)		/* Timer 12 Reload Count register									*/
+#define	TIMER13_RLC_REG		(SYS_CONT_MODULE_BASE+0x0078)		/* Timer 13 Reload Count register									*/
+#define	TIMER14_RLC_REG		(SYS_CONT_MODULE_BASE+0x007C)		/* Timer 14 Reload Count register									*/
+#define	TIMER15_RLC_REG		(SYS_CONT_MODULE_BASE+0x0080)		/* Timer 15 Reload Count register									*/
+#define	TIMER0_RR			(SYS_CONT_MODULE_BASE+0x0084)		/* Timer 0 Read register											*/
+#define	TIMER1_RR			(SYS_CONT_MODULE_BASE+0x0088)		/* Timer 1 Read register											*/
+#define	TIMER2_RR			(SYS_CONT_MODULE_BASE+0x008C)		/* Timer 2 Read register											*/
+#define	TIMER3_RR			(SYS_CONT_MODULE_BASE+0x0090)		/* Timer 3 Read register											*/
+#define	TIMER4_RR			(SYS_CONT_MODULE_BASE+0x0094)		/* Timer 4 Read register											*/
+#define	TIMER5_RR			(SYS_CONT_MODULE_BASE+0x0098)		/* Timer 5 Read register											*/
+#define	TIMER6_RR			(SYS_CONT_MODULE_BASE+0x009C)		/* Timer 6 Read register											*/
+#define	TIMER7_RR			(SYS_CONT_MODULE_BASE+0x00A0)		/* Timer 7 Read register											*/
+#define	TIMER8_RR			(SYS_CONT_MODULE_BASE+0x00A4)		/* Timer 8 Read register											*/
+#define	TIMER9_RR			(SYS_CONT_MODULE_BASE+0x00A8)		/* Timer 9 Read register											*/
+#define	TIMER10_RR			(SYS_CONT_MODULE_BASE+0x00AC)		/* Timer 10 Read register											*/
+#define	TIMER11_RR			(SYS_CONT_MODULE_BASE+0x00B0)		/* Timer 11 Read register											*/
+#define	TIMER12_RR			(SYS_CONT_MODULE_BASE+0x00B4)		/* Timer 12 Read register											*/
+#define	TIMER13_RR			(SYS_CONT_MODULE_BASE+0x00B8)		/* Timer 13 Read register											*/
+#define	TIMER14_RR			(SYS_CONT_MODULE_BASE+0x00BC)		/* Timer 14 Read register											*/
+#define	TIMER15_RR			(SYS_CONT_MODULE_BASE+0x00C0)		/* Timer 15 Read register											*/
+#define	TIS_REG				(SYS_CONT_MODULE_BASE+0x0170)		/* Timer Interrupt Status register									*/
+#define	TIMER0_CR			(SYS_CONT_MODULE_BASE+0x0190)		/* Timer 0 Control register											*/
+#define	TIMER1_CR			(SYS_CONT_MODULE_BASE+0x0194)		/* Timer 1 Control register											*/
+#define	TIMER2_CR			(SYS_CONT_MODULE_BASE+0x0198)		/* Timer 2 Control register											*/
+#define	TIMER3_CR			(SYS_CONT_MODULE_BASE+0x019C)		/* Timer 3 Control register											*/
+#define	TIMER4_CR			(SYS_CONT_MODULE_BASE+0x01A0)		/* Timer 4 Control register											*/
+#define	TIMER5_CR			(SYS_CONT_MODULE_BASE+0x01A4)		/* Timer 5 Control register											*/
+#define	TIMER6_CR			(SYS_CONT_MODULE_BASE+0x01A8)		/* Timer 6 Control register											*/
+#define	TIMER7_CR			(SYS_CONT_MODULE_BASE+0x01AC)		/* Timer 7 Control register											*/
+#define	TIMER8_CR			(SYS_CONT_MODULE_BASE+0x01B0)		/* Timer 8 Control register											*/
+#define	TIMER9_CR			(SYS_CONT_MODULE_BASE+0x01B4)		/* Timer 9 Control register											*/
+#define	TIMER10_CR			(SYS_CONT_MODULE_BASE+0x01B8)		/* Timer 10 Control register										*/
+#define	TIMER11_CR			(SYS_CONT_MODULE_BASE+0x01BC)		/* Timer 11 Control register										*/
+#define	TIMER12_CR			(SYS_CONT_MODULE_BASE+0x01C0)		/* Timer 12 Control register										*/
+#define	TIMER13_CR			(SYS_CONT_MODULE_BASE+0x01C4)		/* Timer 13 Control register										*/
+#define	TIMER14_CR			(SYS_CONT_MODULE_BASE+0x01C8)		/* Timer 14 Control register										*/
+#define	TIMER15_CR			(SYS_CONT_MODULE_BASE+0x01CC)		/* Timer 15 Control register										*/
+
+/* Defines for the SCM modules dynamic (RAM) chip selects */
+#define SCM_CS4_BASE_REG	(SYS_CONT_MODULE_BASE+0x01D0)
+#define SCM_CS4_MASK_REG	(SYS_CONT_MODULE_BASE+0x01D4)
+#define SCM_CS5_BASE_REG	(SYS_CONT_MODULE_BASE+0x01D8)
+#define SCM_CS5_MASK_REG	(SYS_CONT_MODULE_BASE+0x01DC)
+#define SCM_CS6_BASE_REG	(SYS_CONT_MODULE_BASE+0x01E0)
+#define SCM_CS6_MASK_REG	(SYS_CONT_MODULE_BASE+0x01E4)
+#define SCM_CS7_BASE_REG	(SYS_CONT_MODULE_BASE+0x01E8)
+#define SCM_CS7_MASK_REG	(SYS_CONT_MODULE_BASE+0x01EC)
+
+/* Defines for the SCM modules static chip selects */
+#define SCM_CS0_BASE_REG	(SYS_CONT_MODULE_BASE+0x01F0)
+#define SCM_CS0_MASK_REG	(SYS_CONT_MODULE_BASE+0x01F4)
+#define SCM_CS1_BASE_REG	(SYS_CONT_MODULE_BASE+0x01F8)
+#define SCM_CS1_MASK_REG	(SYS_CONT_MODULE_BASE+0x01FC)
+#define SCM_CS2_BASE_REG	(SYS_CONT_MODULE_BASE+0x0200)
+#define SCM_CS2_MASK_REG	(SYS_CONT_MODULE_BASE+0x0204)
+#define SCM_CS3_BASE_REG	(SYS_CONT_MODULE_BASE+0x0208)
+#define SCM_CS3_MASK_REG	(SYS_CONT_MODULE_BASE+0x020C)
+
+/*
+ *Interrupt ID
+ */
+#define	INT_ID_WDT			0									/* WDT Interrupt ID													*/
+#define	INT_ID_AHB_ER		1									/* AHB Bus Error Interrupt ID										*/
+#define	INT_ID_BBUS_INT		2									/* BBus Aggregate Interrupt ID										*/
+#define	INT_ID_ETH_RX		4									/* Ethernet Module Receive Interrupt ID								*/
+#define	INT_ID_ETH_TX		5									/* Ethernet Module Transmit Interrupt ID							*/
+#define	INT_ID_ETH_PHY		6									/* Ethernet Phy Interrupt ID										*/
+#define	INT_ID_LCD			7									/* LCD Module interrupt ID											*/
+#define	INT_ID_PCI_BRG		8									/* PCI Bridge Module Interrupt ID									*/
+#define	INT_ID_PCI_ABT		9									/* PCI Arbiter Module Interrupt ID									*/
+#define	INT_ID_PCI_EX0		10									/* PCI External Interrupt 0 ID										*/
+#define	INT_ID_PCI_EX1		11									/* PCI External Interrupt 1 ID										*/
+#define	INT_ID_PCI_EX2		12									/* PCI External Interrupt 2 ID										*/
+#define	INT_ID_PCI_EX3		13									/* PCI External Interrupt 3 ID										*/
+#define	INT_ID_I2C			14									/* I2C Interrupt ID													*/
+#define	INT_ID_BBUS_DMA		15									/* BBus DMA Interrupt ID											*/
+#define	INT_ID_TIMER0		16									/* Timer Interrupt 0 ID												*/
+#define	INT_ID_TIMER1		17									/* Timer Interrupt 1 ID												*/
+#define	INT_ID_TIMER2		18									/* Timer Interrupt 2 ID												*/
+#define	INT_ID_TIMER3		19									/* Timer Interrupt 3 ID												*/
+#define	INT_ID_TIMER4		20									/* Timer Interrupt 4 ID												*/
+#define	INT_ID_TIMER5		21									/* Timer Interrupt 5 ID												*/
+#define	INT_ID_TIMER6		22									/* Timer Interrupt 6 ID												*/
+#define	INT_ID_TIMER7		23									/* Timer Interrupt 7 ID												*/
+#define	INT_ID_TIMER89		24									/* Timer Interrupt 8 and 9 ID										*/
+#define	INT_ID_USB_HOST		25									/* USB HOST Interrupt ID											*/
+#define	INT_ID_USB_DEV		26									/* USB DEVIDE Interrupt ID											*/
+#define	INT_ID_TIMER1415	27									/* Timer Interrupt 14 and 15 ID										*/
+#define	INT_ID_EXT_INT0		28									/* External Interrupt 0 ID											*/
+#define	INT_ID_EXT_INT1		29									/* External Interrupt 1 ID											*/
+#define	INT_ID_EXT_INT2		30									/* External Interrupt 2 ID											*/
+#define	INT_ID_EXT_INT3		31									/* External Interrupt 3 ID											*/
+/* ããä»¥éã¯BBusã®å²è¾¼ã¿ID */          
+#define	INT_ID_BBUS_F		32									/* BBus Interrupt First ID											*/
+#define	INT_ID_BBUS_RFU30	33									/* BBus Interrupt RFU (bit30)										*/
+#define	INT_ID_BBUS_RFU29	34									/* BBus Interrupt RFU (bit29)										*/
+#define	INT_ID_BBUS_RFU28	35									/* BBus Interrupt RFU (bit28)										*/
+#define	INT_ID_BBUS_RFU27	36									/* BBus Interrupt RFU (bit27)										*/
+#define	INT_ID_BBUS_RFU26	37									/* BBus Interrupt RFU (bit26)										*/
+#define	INT_ID_AHB_DMA2		38									/* AHB_DMA2 Interrupt (BBus bit25)									*/
+#define	INT_ID_AHB_DMA1		39									/* AHB_DMA1 Interrupt (BBus bit24)									*/
+#define	INT_ID_BBUS_RFU23	40									/* BBus Interrupt RFU (bit23)										*/
+#define	INT_ID_BBUS_RFU22	41									/* BBus Interrupt RFU (bit22)										*/
+#define	INT_ID_BBUS_RFU21	42									/* BBus Interrupt RFU (bit21)										*/
+#define	INT_ID_BBUS_RFU20	43									/* BBus Interrupt RFU (bit20)										*/
+#define	INT_ID_BBUS_RFU19	44									/* BBus Interrupt RFU (bit19)										*/
+#define	INT_ID_BBUS_RFU18	45									/* BBus Interrupt RFU (bit18)										*/
+#define	INT_ID_BBUS_RFU17	46									/* BBus Interrupt RFU (bit17)										*/
+#define	INT_ID_BBUS_RFU16	47									/* BBus Interrupt RFU (bit16)										*/
+#define	INT_ID_BBUS_RFU15	48									/* BBus Interrupt RFU (bit15)										*/
+#define	INT_ID_BBUS_RFU14	49									/* BBus Interrupt RFU (bit14)										*/
+#define	INT_ID_BBUS_RFU13	50									/* BBus Interrupt RFU (bit13)										*/
+#define	INT_ID_BBUS_RFU12	51									/* BBus Interrupt RFU (bit12)										*/
+#define	INT_ID_1284			52									/* IEEE 1284 Module Interrupt (BBus bit11)							*/
+#define	INT_ID_BI2C			53									/* I2C Interrupt (BBus bit10)										*/
+#define	INT_ID_SERD_TX		54									/* SER D Tx Interrupt (BBus bit9)									*/
+#define	INT_ID_SERD_RX		55									/* SER D Rx Interrupt (BBus bit8)									*/
+#define	INT_ID_SERC_TX		56									/* SER C Tx Interrupt (BBus bit7)									*/
+#define	INT_ID_SERC_RX		57									/* SER C Rx Interrupt (BBus bit6)									*/
+#define	INT_ID_SERA_TX		58									/* SER A Tx Interrupt (BBus bit5)									*/
+#define	INT_ID_SERA_RX		59									/* SER A Rx Interrupt (BBus bit4)									*/
+#define	INT_ID_SERB_TX		60									/* SER B Tx Interrupt (BBus bit3)									*/
+#define	INT_ID_SERB_RX		61									/* SER B Rx Interrupt (BBus bit2)									*/
+#define	INT_ID_USB			62									/* USB module Interrupt (BBus bit1)									*/
+#define	INT_ID_DMAE			63									/* BBus DMA aggregate Interrupt (BBus bit0)							*/
+
+#define	INT_ID_NONE			0xff								/* unuse ID */
+#define	BBUS_IRQ_NUM		32									/* BBus IRQ start number											*/
+
+
+/*
+ * Serial Controller Registers
+ */
+#define	SC2CRA_REG		0x90200000		/* Channel B Control Register A */
+#define	SC2CRB_REG		0x90200004		/* Channel B Control Register B */
+#define	SC2SRA_REG		0x90200008		/* Channel B Status Register A */
+#define	SC2BRG_REG		0x9020000C		/* Channel B Bit-Rate register */
+#define	SC2FIFO_REG		0x90200010		/* Channel B FIFO Data register */
+#define	SC2RBT_REG		0x90200014		/* Channel B Receive Buffer Gap Timer */
+#define	SC2RCT_REG		0x90200018		/* Channel B Receive Character Gap Timer */
+#define	SC2RMR_REG		0x9020001C		/* Channel B Receive Match register */
+#define	SC2RMM_REG		0x90200020		/* Channel B Receive Match Mask register */
+#define	SC2FCR_REG		0x90200034		/* Channel B Flow Control register */
+#define	SC2FCF_REG		0x90200038		/* Channel B Flow Control Force register */
+
+#define	SC1CRA_REG		0x90200040		/* Channel A Control Register A */
+#define	SC1CRB_REG		0x90200044		/* Channel A Control Register B */
+#define	SC1SRA_REG		0x90200048		/* Channel A Status Register A */
+#define	SC1BRG_REG		0x9020004C		/* Channel A Bit-Rate register */
+#define	SC1FIFO_REG		0x90200050		/* Channel A FIFO Data register */
+#define	SC1RBT_REG		0x90200054		/* Channel A Receive Buffer Gap Timer */
+#define	SC1RCT_REG		0x90200058		/* Channel A Receive Character Gap Timer */
+#define	SC1RMR_REG		0x9020005C		/* Channel A Receive Match register */
+#define	SC1RMM_REG		0x90200060		/* Channel A Receive Match Mask register */
+#define	SC1FCR_REG		0x90200074		/* Channel A Flow Control register */
+#define	SC1FCF_REG		0x90200078		/* Channel A Flow Control Force register */
+
+#define	SC3CRA_REG		0x90300000		/* Channel C Control Register A */
+#define	SC3CRB_REG		0x90300004		/* Channel C Control Register B */
+#define	SC3SRA_REG		0x90300008		/* Channel C Status Register A */
+#define	SC3BRG_REG		0x9030000C		/* Channel C Bit-Rate register */
+#define	SC3FIFO_REG		0x90300010		/* Channel C FIFO Data register */
+#define	SC3RBT_REG		0x90300014		/* Channel C Receive Buffer Gap Timer */
+#define	SC3RCT_REG		0x90300018		/* Channel C Receive Character Gap Timer */
+#define	SC3RMR_REG		0x9030001C		/* Channel C Receive Match register */
+#define	SC3RMM_REG		0x90300020		/* Channel C Receive Match Mask register */
+#define	SC3FCR_REG		0x90300034		/* Channel C Flow Control register */
+#define	SC3FCF_REG		0x90300038		/* Channel C Flow Control Force register */
+
+#define	SC4CRA_REG		0x90300040		/* Channel D Control Register A */
+#define	SC4CRB_REG		0x90300044		/* Channel D Control Register B */
+#define	SC4SRA_REG		0x90300048		/* Channel D Status Register A */
+#define	SC4BRG_REG		0x9030004C		/* Channel D Bit-Rate register */
+#define	SC4FIFO_REG		0x90300050		/* Channel D FIFO Data register */
+#define	SC4RBT_REG		0x90300054		/* Channel D Receive Buffer Gap Timer */
+#define	SC4RCT_REG		0x90300058		/* Channel D Receive Character Gap Timer */
+#define	SC4RMR_REG		0x9030005C		/* Channel D Receive Match register */
+#define	SC4RMM_REG		0x90300060		/* Channel D Receive Match Mask register */
+#define	SC4FCR_REG		0x90300074		/* Channel D Flow Control register */
+#define	SC4FCF_REG		0x90300078		/* Channel D Flow Control Force register */
+
+/* Serial Channel Control Register bit define */
+#define	SCCRA_CE		0x80000000		/* 1... .... .... .... .... .... .... .... */
+#define	SCCRA_BRK		0x40000000		/* .1.. .... .... .... .... .... .... .... */
+#define	SCCRA_STICK		0x20000000		/* ..1. .... .... .... .... .... .... .... */
+#define	SCCRA_EPS		0x10000000		/* ...1 .... .... .... .... .... .... .... */
+#define	SCCRA_PE		0x08000000		/* .... 1... .... .... .... .... .... .... */
+#define	SCCRA_STOP		0x04000000		/* .... .1.. .... .... .... .... .... .... */
+#define	SCCRA_WLS		0x03000000		/* .... ..11 .... .... .... .... .... .... */
+#define	SCCRA_CTSTX		0x00800000		/* .... .... 1... .... .... .... .... .... */
+#define	SCCRA_RTSRX		0x00400000		/* .... .... .1.. .... .... .... .... .... */
+#define	SCCRA_RL		0x00200000		/* .... .... ..1. .... .... .... .... .... */
+#define	SCCRA_LL		0x00100000		/* .... .... ...1 .... .... .... .... .... */
+#define	SCCRA_DTR		0x00020000		/* .... .... .... ..1. .... .... .... .... */
+#define	SCCRA_RTS		0x00010000		/* .... .... .... ...1 .... .... .... .... */
+#define	SCCRA_RIE		0x00000e00		/* .... .... .... .... .... 111. .... .... */
+#define	SCCRA_ERXDMA	0x00000100		/* .... .... .... .... .... ...1 .... .... */
+#define	SCCRA_RIC		0x000000e0		/* .... .... .... .... .... .... 111. .... */
+#define	SCCRA_TIC		0x0000001e		/* .... .... .... .... .... .... ...1 111. */
+#define	SCCRA_ETXDMA	0x00000001		/* .... .... .... .... .... .... .... ...1 */
+#define	SCCRB_RDM		0xf0000000		/* 1111 .... .... .... .... .... .... .... */
+#define	SCCRB_RBGT		0x08000000		/* .... 1... .... .... .... .... .... .... */
+#define	SCCRB_RCGT		0x04000000		/* .... .1.. .... .... .... .... .... .... */
+#define	SCCRB_MODE		0x00300000		/* .... .... ..11 .... .... .... .... .... */
+#define	SCCRB_BITORDR	0x00080000		/* .... .... .... 1... .... .... .... .... */
+#define	SCCRB_RTSTX		0x00008000		/* .... .... .... .... 1... .... .... .... */
+
+/* Serial Channel Status Register bit define */
+#define	SCSRA_MATCH		0xf0000000		/* 1111 .... .... .... .... .... .... .... */
+#define	SCSRA_BGAP		0x08000000		/* .... 1... .... .... .... .... .... .... */
+#define	SCSRA_CGAP		0x04000000		/* .... .1.. .... .... .... .... .... .... */
+#define	SCSRA_RXFDB		0x00300000		/* .... .... ..11 .... .... .... .... .... */
+#define	SCSRA_DCD		0x00080000		/* .... .... .... 1... .... .... .... .... */
+#define	SCSRA_RI		0x00040000		/* .... .... .... .1.. .... .... .... .... */
+#define	SCSRA_DSR		0x00020000		/* .... .... .... ..1. .... .... .... .... */
+#define	SCSRA_CTS		0x00010000		/* .... .... .... ...1 .... .... .... .... */
+#define	SCSRA_RBRK		0x00008000		/* .... .... .... .... 1... .... .... .... */
+#define	SCSRA_RFE		0x00004000		/* .... .... .... .... .1.. .... .... .... */
+#define	SCSRA_RPE		0x00002000		/* .... .... .... .... ..1. .... .... .... */
+#define	SCSRA_ROVER		0x00001000		/* .... .... .... .... ...1 .... .... .... */
+#define	SCSRA_RRDY		0x00000800		/* .... .... .... .... .... 1... .... .... */
+#define	SCSRA_RHALF		0x00000400		/* .... .... .... .... .... .1.. .... .... */
+#define	SCSRA_RBC		0x00000200		/* .... .... .... .... .... ..1. .... .... */
+#define	SCSRA_RFS		0x00000100		/* .... .... .... .... .... ...1 .... .... */
+#define	SCSRA_DCDI		0x00000080		/* .... .... .... .... .... .... 1... .... */
+#define	SCSRA_RII		0x00000040		/* .... .... .... .... .... .... .1.. .... */
+#define	SCSRA_DSRI		0x00000020		/* .... .... .... .... .... .... ..1. .... */
+#define	SCSRA_CTSI		0x00000010		/* .... .... .... .... .... .... ...1 .... */
+#define	SCSRA_TRDY		0x00000008		/* .... .... .... .... .... .... .... 1... */
+#define	SCSRA_THALF		0x00000004		/* .... .... .... .... .... .... .... .1.. */
+#define	SCSRA_TEMPTY	0x00000001		/* .... .... .... .... .... .... .... ...1 */
+
+
+/*
+ *Memory Controller Registers
+ */
+#define MEM_CONTROLLER_BASE      0xA0700000 /* ARM MPMC Memory Controller Registers  Base Address */
+#define HIGHEST_HW     0xFFFEFFF0 /* Highest *hardware only* address, use for termination */
+#define CS_BASE_SHIFT_BITS                      12
+#define CS_MASK_SHIFT_BITS                      12
+
+
+#define MPMCControl_REG            ((UW volatile *) (MEM_CONTROLLER_BASE + 0x0))
+#define MPMCStatus_REG             ((UW volatile *) (MEM_CONTROLLER_BASE + 0x4))
+#define MPMCConfig_REG             ((UW volatile *) (MEM_CONTROLLER_BASE + 0x8))
+#define MPMCDynamicControl_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x20))    
+#define MPMCDynamicRefresh_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x24))
+#define MPMCDynamicReadConfig_REG  ((UW volatile *) (MEM_CONTROLLER_BASE + 0x28))
+#define MPMCDynamictRP_REG         ((UW volatile *) (MEM_CONTROLLER_BASE + 0x30))
+#define MPMCDynamictRAS_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x34))
+#define MPMCDynamictSREX_REG       ((UW volatile *) (MEM_CONTROLLER_BASE + 0x38))
+#define MPMCDynamictAPR_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x3C))
+#define MPMCDynamictDAL_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x40))
+#define MPMCDynamictWR_REG         ((UW volatile *) (MEM_CONTROLLER_BASE + 0x44))
+#define MPMCDynamictRC_REG         ((UW volatile *) (MEM_CONTROLLER_BASE + 0x48))
+#define MPMCDynamictRFC_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x4C))
+#define MPMCDynamictXSR_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x50))
+#define MPMCDynamictRRD_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x54))
+#define MPMCDynamictMRD_REG        ((UW volatile *) (MEM_CONTROLLER_BASE + 0x58))
+#define MPMCStaticExtendedWait_REG ((UW volatile *) (MEM_CONTROLLER_BASE + 0x80))
+#define MPMCDynamicConfig0_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x100))
+#define MPMCDynamicRasCas0_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x104))
+#define MPMCDynamicConfig1_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x120))
+#define MPMCDynamicRasCas1_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x124))
+#define MPMCDynamicConfig2_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x140))
+#define MPMCDynamicRasCas2_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x144))
+#define MPMCDynamicConfig3_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x160))
+#define MPMCDynamicRasCas3_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x164))
+#define MPMCStaticConfig0_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x200))
+#define MPMCStaticWaitWen0_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x204))
+#define MPMCStaticWaitOen0_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x208))
+#define MPMCStaticWaitRd0_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x20C))
+#define MPMCStaticWaitPage0_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x210))
+#define MPMCStaticWaitWr0_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x214))
+#define MPMCStaticWaitTurn0_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x218))
+#define MPMCStaticConfig1_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x220))
+#define MPMCStaticWaitWen1_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x224))
+#define MPMCStaticWaitOen1_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x228))
+#define MPMCStaticWaitRd1_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x22C))
+#define MPMCStaticWaitPage1_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x230))
+#define MPMCStaticWaitWr1_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x234))
+#define MPMCStaticWaitTurn1_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x238))
+#define MPMCStaticConfig2_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x240))
+#define MPMCStaticWaitWen2_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x244))
+#define MPMCStaticWaitOen2_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x248))
+#define MPMCStaticWaitRd2_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x24C))
+#define MPMCStaticWaitPage2_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x250))
+#define MPMCStaticWaitWr2_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x254))
+#define MPMCStaticWaitTurn2_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x258))
+#define MPMCStaticConfig3_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x260))
+#define MPMCStaticWaitWen3_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x264))
+#define MPMCStaticWaitOen3_REG    ((UW volatile *) (MEM_CONTROLLER_BASE + 0x268))
+#define MPMCStaticWaitRd3_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x26C))
+#define MPMCStaticWaitPage3_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x270))
+#define MPMCStaticWaitWr3_REG     ((UW volatile *) (MEM_CONTROLLER_BASE + 0x274))
+#define MPMCStaticWaitTurn3_REG   ((UW volatile *) (MEM_CONTROLLER_BASE + 0x278))
+
+
+/* PrimeCell MultiPort Memory Controller defines */
+    #define MPMC_DYNAMIC_REFRESH_refresh 10, 0
+    #define MPMC_DYNAMIC_CONFIG0_config    31, 0
+    #define MPMC_DYNAMIC_RASCAS0_rascas    31, 0
+    #define MPMC_DYNAMIC_CONFIG1_config   31, 0
+    #define MPMC_DYNAMIC_RASCAS1_rascas    31, 0
+    #define MPMC_DYNAMIC_CONFIG2_config  31, 0
+    #define MPMC_DYNAMIC_RASCAS2_rascas  31, 0
+    #define MPMC_DYNAMIC_CONFIG3_config   31, 0
+    #define MPMC_DYNAMIC_RASCAS3_rascas   31, 0
+
+    /* Defines for static memory */
+    #define MPMC_STATIC_CONFIG0_config     0x82
+    #define MPMC_STATIC_WAIT_WEN0_wen      0x02
+    #define MPMC_STATIC_WAIT_OEN0_oen      0x02
+    #define MPMC_STATIC_WAIT_RD0_rd        0x09
+    #define MPMC_STATIC_WAIT_PAGE0_page    0x02
+    #define MPMC_STATIC_WAIT_WR0_wr        0x09
+    #define MPMC_STATIC_WAIT_TURN0_turn    0x02
+
+    #define MPMC_STATIC_CONFIG1_config     0x81
+    #define MPMC_STATIC_WAIT_WEN1_wen      0x00
+    #define MPMC_STATIC_WAIT_OEN1_oen      0x00
+    #define MPMC_STATIC_WAIT_RD1_rd        0x08
+    #define MPMC_STATIC_WAIT_PAGE1_page    0x00
+    #define MPMC_STATIC_WAIT_WR1_wr        0x04
+    #define MPMC_STATIC_WAIT_TURN1_turn    0x00
+
+    #define MPMC_STATIC_CONFIG2_config     0x82
+    #define MPMC_STATIC_WAIT_WEN2_wen      0x02
+    #define MPMC_STATIC_WAIT_OEN2_oen      0x02
+    #define MPMC_STATIC_WAIT_RD2_rd        0x09
+    #define MPMC_STATIC_WAIT_PAGE2_page    0x02
+    #define MPMC_STATIC_WAIT_WR2_wr        0x09
+    #define MPMC_STATIC_WAIT_TURN2_turn    0x02
+
+    #define MPMC_STATIC_CONFIG3_config     0x82
+    #define MPMC_STATIC_WAIT_WEN3_wen      0x02
+    #define MPMC_STATIC_WAIT_OEN3_oen      0x02
+    #define MPMC_STATIC_WAIT_RD3_rd        0x09
+    #define MPMC_STATIC_WAIT_PAGE3_page    0x02
+    #define MPMC_STATIC_WAIT_WR3_wr        0x09
+    #define MPMC_STATIC_WAIT_TURN3_turn    0x02
+
+
+/*
+ * BBus Utility Control ans Status Registers
+ */
+
+/* address */
+#define BBUS_UTILITY_BASE              0x90600000      /* BBus Utility Control ans Status Registers  Base Address */
+
+#define BBUS_MAST_RESET_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x0))
+#define BBUS_INTERRUPT_STATUS_REG      ((UW volatile *) (BBUS_UTILITY_BASE + 0x4))
+#define BBUS_GPIO_CONFIG1_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x10))
+#define BBUS_GPIO_CONFIG2_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x14))
+#define BBUS_GPIO_CONFIG3_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x18))
+#define BBUS_GPIO_CONFIG4_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x1c))
+#define BBUS_GPIO_CONFIG5_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x20))
+#define BBUS_GPIO_CONFIG6_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x24))
+#define BBUS_GPIO_CONFIG7_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x28))
+#define BBUS_GPIO_CONT1_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x30))
+#define BBUS_GPIO_CONT2_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x34))
+#define BBUS_GPIO_STATUS1_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x40))
+#define BBUS_GPIO_STATUS2_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x44))
+#define BBUS_TIMEOUT_REG               ((UW volatile *) (BBUS_UTILITY_BASE + 0x50))
+#define BBUS_DMA_INT_STATUS_REG        ((UW volatile *) (BBUS_UTILITY_BASE + 0x60))
+#define BBUS_DMA_INT_ENABLE_REG        ((UW volatile *) (BBUS_UTILITY_BASE + 0x64))
+#define BBUS_USB_CONFIG_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x70))
+#define BBUS_ENDIAN_CONFIG_REG         ((UW volatile *) (BBUS_UTILITY_BASE + 0x80))
+#define BBUS_ARM_WAKEUP_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x90))
+#define BBUS_GPIO_CONFIG8_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x100))
+#define BBUS_GPIO_CONFIG9_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x104))
+#define BBUS_GPIO_CONFIG10_REG         ((UW volatile *) (BBUS_UTILITY_BASE + 0x108))
+#define BBUS_GPIO_CONT3_REG            ((UW volatile *) (BBUS_UTILITY_BASE + 0x120))
+#define BBUS_GPIO_STATUS3_REG          ((UW volatile *) (BBUS_UTILITY_BASE + 0x130))
+
+/* registers value */
+#define	BBUS_MAST_RESET_USBDEV		0x00001000					/* UDBDEV bit ON                                   */
+#define	BBUS_MAST_RESET_USBHST		0x00000800					/* UDBHST bit ON                                   */
+#define	BBUS_MAST_RESET_RTC2		0x00000400					/* RTC2 bit ON                                     */
+#define	BBUS_MAST_RESET_RTC1		0x00000200					/* RTC1 bit ON                                     */
+#define	BBUS_MAST_RESET_I2C 		0x00000080					/* I2C bit ON                                      */
+#define	BBUS_MAST_RESET_1284		0x00000040					/* IEEE 1284 bit ON                                */
+#define	BBUS_MAST_RESET_SerD		0x00000020					/* SerD bit ON                                     */
+#define	BBUS_MAST_RESET_SerC		0x00000010					/* SerC bit ON                                     */
+#define	BBUS_MAST_RESET_SerA		0x00000008					/* SerA bit ON                                     */
+#define	BBUS_MAST_RESET_SerB		0x00000004					/* SerB bit ON                                     */
+#define	BBUS_MAST_RESET_DMA			0x00000001					/* DMA bit ON 	                                  */
+
+#define	BBUS_INTERRUPT_RESET		0x00000001					/* Interrupt Reset                                 */
+
+#define	BBUS_GPIO_CONFIG1_GPIO0		0x00000000					/* GPIO[0] Configration   D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG1_GPIO1		0x00000000					/* GPIO[1] Configration   D07:04 : Func0           */
+#define	BBUS_GPIO_CONFIG1_GPIO2		0x00000b00					/* GPIO[2] Configration   D11:08 : Func3           */
+#define	BBUS_GPIO_CONFIG1_GPIO3		0x0000b000					/* GPIO[3] Configration   D15:12 : Func3           */
+#define	BBUS_GPIO_CONFIG1_GPIO4		0x000b0000					/* GPIO[4] Configration   D19:16 : Func3           */
+#define	BBUS_GPIO_CONFIG1_GPIO5		0x00b00000					/* GPIO[5] Configration   D23:20 : Func3           */
+#define	BBUS_GPIO_CONFIG1_GPIO6		0x00000000					/* GPIO[6] Configration   D27:24 : Func0           */
+#define	BBUS_GPIO_CONFIG1_GPIO7		0xb0000000					/* GPIO[7] Configration   D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG2_GPIO8		0x00000000					/* GPIO[8] Configration   D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO9		0x00000000					/* GPIO[9] Configration   D07:04 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO10	0x00000400					/* GPIO[10] Configration  D11:08 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO11	0x00004000					/* GPIO[11] Configration  D15:12 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO12	0x00040000					/* GPIO[12] Configration  D19:16 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO13	0x00400000					/* GPIO[13] Configration  D23:20 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO14	0x04000000					/* GPIO[14] Configration  D27:24 : Func0           */
+#define	BBUS_GPIO_CONFIG2_GPIO15	0x40000000					/* GPIO[15] Configration  D31:28 : Func0           */
+
+#define	BBUS_GPIO_CONFIG3_GPIO16	0x0000000b					/* GPIO[16] Configration  D03:00 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO17	0x000000b0					/* GPIO[17] Configration  D07:04 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO18	0x00000b00					/* GPIO[18] Configration  D11:08 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO19	0x0000b000					/* GPIO[19] Configration  D15:12 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO20	0x000b0000					/* GPIO[20] Configration  D19:16 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO21	0x00b00000				    /* GPIO[21] Configration  D23:20 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO22	0x0b000000					/* GPIO[22] Configration  D27:24 : Func3           */
+#define	BBUS_GPIO_CONFIG3_GPIO23	0xb0000000					/* GPIO[23] Configration  D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG4_GPIO24	0x0000000b					/* GPIO[24] Configration  D03:00 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO25	0x000000b0					/* GPIO[25] Configration  D07:04 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO26	0x00000b00					/* GPIO[26] Configration  D11:08 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO27	0x0000b000					/* GPIO[27] Configration  D15:12 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO28	0x000b0000					/* GPIO[28] Configration  D19:16 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO29	0x00b00000					/* GPIO[29] Configration  D23:20 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO30	0x0b000000					/* GPIO[30] Configration  D27:24 : Func3           */
+#define	BBUS_GPIO_CONFIG4_GPIO31	0xb0000000					/* GPIO[31] Configration  D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG5_GPIO32	0x00000003					/* GPIO[32] Configration  D03:00 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO33	0x00000030					/* GPIO[33] Configration  D07:04 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO34	0x00000300					/* GPIO[34] Configration  D11:08 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO35	0x00003000					/* GPIO[35] Configration  D15:12 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO36	0x000b0000					/* GPIO[36] Configration  D19:16 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO37	0x00b00000					/* GPIO[37] Configration  D23:20 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO38	0x0b000000					/* GPIO[38] Configration  D27:24 : Func3           */
+#define	BBUS_GPIO_CONFIG5_GPIO39	0xb0000000					/* GPIO[39] Configration  D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG6_GPIO40	0x00000000					/* GPIO[40] Configration  D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG6_GPIO41	0x00000000					/* GPIO[41] Configration  D07:04 : Func0           */
+#define	BBUS_GPIO_CONFIG6_GPIO42	0x00000200					/* GPIO[42] Configration  D11:08 : Func2           */
+#define	BBUS_GPIO_CONFIG6_GPIO43	0x00002000					/* GPIO[43] Configration  D15:12 : Func2           */
+#define	BBUS_GPIO_CONFIG6_GPIO44	0x00060000					/* GPIO[44] Configration  D19:16 : Func2           */
+#define	BBUS_GPIO_CONFIG6_GPIO45	0x00200000					/* GPIO[45] Configration  D23:20 : Func2           */
+#define	BBUS_GPIO_CONFIG6_GPIO46	0x0b000000					/* GPIO[46] Configration  D27:24 : Func3           */
+#define	BBUS_GPIO_CONFIG6_GPIO47	0x30000000					/* GPIO[47] Configration  D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG7_GPIO48	0x00000000					/* GPIO[48] Configration  D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO49	0x00000000					/* GPIO[49] Configration  D07:04 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO50	0x00000000					/* GPIO[50] Configration  D11:08 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO51	0x00000000					/* GPIO[51] Configration  D15:12 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO52	0x00000000					/* GPIO[52] Configration  D19:16 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO53	0x00000000					/* GPIO[53] Configration  D23:20 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO54	0x00000000					/* GPIO[54] Configration  D27:24 : Func0           */
+#define	BBUS_GPIO_CONFIG7_GPIO55	0x00000000					/* GPIO[55] Configration  D31:28 : Func0           */
+
+#define	BBUS_GPIO_CONFIG8_GPIO56	0x00000000					/* GPIO[56] Configration  D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO57	0x00000000					/* GPIO[57] Configration  D07:04 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO58	0x00000000					/* GPIO[58] Configration  D11:08 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO59	0x00000000					/* GPIO[59] Configration  D15:12 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO60	0x00000000					/* GPIO[60] Configration  D19:16 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO61	0x00000000					/* GPIO[61] Configration  D23:20 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO62	0x00000000					/* GPIO[62] Configration  D27:24 : Func0           */
+#define	BBUS_GPIO_CONFIG8_GPIO63	0x00000000					/* GPIO[63] Configration  D31:28 : Func0           */
+
+#define	BBUS_GPIO_CONFIG9_GPIO64	0x00000000					/* GPIO[64] Configration  D03:00 : Func0           */
+#define	BBUS_GPIO_CONFIG9_GPIO65	0x00000000					/* GPIO[65] Configration  D07:04 : Func3           */
+#define	BBUS_GPIO_CONFIG9_GPIO66	0x00000000					/* GPIO[66] Configration  D11:08 : Func3           */
+#define	BBUS_GPIO_CONFIG9_GPIO67	0x0000b000					/* GPIO[67] Configration  D15:12 : Func3           */
+#define	BBUS_GPIO_CONFIG9_GPIO68	0x00020000					/* GPIO[68] Configration  D19:16 : Func1           */
+#define	BBUS_GPIO_CONFIG9_GPIO69	0x00200000					/* GPIO[69] Configration  D23:20 : Func3           */
+#define	BBUS_GPIO_CONFIG9_GPIO70	0x03000000					/* GPIO[70] Configration  D27:24 : Func3           */
+#define	BBUS_GPIO_CONFIG9_GPIO71	0x30000000					/* GPIO[71] Configration  D31:28 : Func3           */
+
+#define	BBUS_GPIO_CONFIG10_GPIO72	0x00000003					/* GPIO[72] Configration  D03:00 : Func3           */
+
+
+#define	BBUS_GPIO_CONT_STS1_GPIO0		0x00000001				/* GPIO[0] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO1		0x00000002				/* GPIO[1] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO2		0x00000004				/* GPIO[2] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO3		0x00000008				/* GPIO[3] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO4		0x00000010				/* GPIO[4] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO5		0x00000020				/* GPIO[5] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO6		0x00000040				/* GPIO[6] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO7		0x00000080				/* GPIO[7] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO8		0x00000100				/* GPIO[8] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO9		0x00000200				/* GPIO[9] control/status bit                      */
+#define	BBUS_GPIO_CONT_STS1_GPIO10		0x00000400				/* GPIO[10] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO11		0x00000800				/* GPIO[11] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO12		0x00001000				/* GPIO[12] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO13		0x00002000				/* GPIO[13] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO14		0x00004000				/* GPIO[14] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO15		0x00008000				/* GPIO[15] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO16		0x00010000				/* GPIO[16] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO17		0x00020000				/* GPIO[17] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO18		0x00040000				/* GPIO[18] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO19		0x00080000				/* GPIO[19] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO20		0x00100000				/* GPIO[20] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO21		0x00200000				/* GPIO[21] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO22		0x00400000				/* GPIO[22] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO23		0x00800000				/* GPIO[23] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO24		0x01000000				/* GPIO[24] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO25		0x02000000				/* GPIO[25] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO26		0x04000000				/* GPIO[26] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO27		0x08000000				/* GPIO[27] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO28		0x10000000				/* GPIO[28] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO29		0x20000000				/* GPIO[29] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO30		0x40000000				/* GPIO[30] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS1_GPIO31		0x80000000				/* GPIO[31] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO32		0x00000001				/* GPIO[32] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO33		0x00000002				/* GPIO[33] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO34		0x00000004				/* GPIO[34] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO35		0x00000008				/* GPIO[35] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO36		0x00000010				/* GPIO[36] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO37		0x00000020				/* GPIO[37] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO38		0x00000040				/* GPIO[38] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO39		0x00000080				/* GPIO[39] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO40		0x00000100				/* GPIO[40] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO41		0x00000200				/* GPIO[41] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO42		0x00000400				/* GPIO[42] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO43		0x00000800				/* GPIO[43] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO44		0x00001000				/* GPIO[44] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO45		0x00002000				/* GPIO[45] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO46		0x00004000				/* GPIO[46] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO47		0x00008000				/* GPIO[47] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO48		0x00010000				/* GPIO[48] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO49		0x00020000				/* GPIO[49] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO50		0x00040000				/* GPIO[50] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO51		0x00080000				/* GPIO[51] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO52		0x00100000				/* GPIO[52] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO53		0x00200000				/* GPIO[53] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO54		0x00400000				/* GPIO[54] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO55		0x00800000				/* GPIO[55] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO56		0x01000000				/* GPIO[56] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO57		0x02000000				/* GPIO[57] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO58		0x04000000				/* GPIO[58] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO59		0x08000000				/* GPIO[59] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO60		0x10000000				/* GPIO[60] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO61		0x20000000				/* GPIO[61] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO62		0x40000000				/* GPIO[62] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS2_GPIO63		0x80000000				/* GPIO[63] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO64		0x00000001				/* GPIO[64] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO65		0x00000002				/* GPIO[65] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO66		0x00000004				/* GPIO[66] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO67		0x00000008				/* GPIO[67] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO68		0x00000010				/* GPIO[68] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO69		0x00000020				/* GPIO[69] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO70		0x00000040				/* GPIO[70] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO71		0x00000080				/* GPIO[71] control/status bit                     */
+#define	BBUS_GPIO_CONT_STS3_GPIO72		0x00000100				/* GPIO[72] control/status bit                     */
+
+#define	BBUS_DMA_INT_STS_CH0			0x00000001				/* BBus DMA channel #1 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH1			0x00000002				/* BBus DMA channel #2 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH2			0x00000004				/* BBus DMA channel #3 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH3			0x00000008				/* BBus DMA channel #4 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH4			0x00000010				/* BBus DMA channel #5 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH5			0x00000020				/* BBus DMA channel #6 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH6			0x00000040				/* BBus DMA channel #7 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH7			0x00000080				/* BBus DMA channel #8 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH8			0x00000100				/* BBus DMA channel #9 interrupt status bit        */
+#define	BBUS_DMA_INT_STS_CH9			0x00000200				/* BBus DMA channel #10 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH10			0x00000400				/* BBus DMA channel #11 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH11			0x00000800				/* BBus DMA channel #12 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH12			0x00001000				/* BBus DMA channel #13 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH13			0x00002000				/* BBus DMA channel #14 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH14			0x00004000				/* BBus DMA channel #14 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH15			0x00008000				/* BBus DMA channel #15 interrupt status bit       */
+#define	BBUS_DMA_INT_STS_CH16			0x00010000				/* BBus DMA channel #16 interrupt status bit       */
+
+#define	BBUS_DMA_INT_ENABLE_CH0			0x00000001				/* BBus DMA channel #1 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH1			0x00000002				/* BBus DMA channel #2 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH2			0x00000004				/* BBus DMA channel #3 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH3			0x00000008				/* BBus DMA channel #4 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH4			0x00000010				/* BBus DMA channel #5 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH5			0x00000020				/* BBus DMA channel #6 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH6			0x00000040				/* BBus DMA channel #7 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH7			0x00000080				/* BBus DMA channel #8 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH8			0x00000100				/* BBus DMA channel #9 interrupt enable bit        */
+#define	BBUS_DMA_INT_ENABLE_CH9			0x00000200				/* BBus DMA channel #10 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH10		0x00000400				/* BBus DMA channel #11 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH11		0x00000800				/* BBus DMA channel #12 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH12		0x00001000				/* BBus DMA channel #13 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH13		0x00002000				/* BBus DMA channel #14 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH14		0x00004000				/* BBus DMA channel #14 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH15		0x00008000				/* BBus DMA channel #15 interrupt enable bit       */
+#define	BBUS_DMA_INT_ENABLE_CH16		0x00010000				/* BBus DMA channel #16 interrupt enable bit       */
+
+
+/*
+ * Ethernet Control ans Status Registers
+ */
+
+/* address */
+#define ETH_CONTROL_BASE    0xa0600000			     		 /* Ethernet Control ans Status Registers Base Address */
+
+#define ETH_CONTROL_EGCR1	((UW volatile *) (ETH_CONTROL_BASE + 0x000))
+#define ETH_CONTROL_EGCR2	((UW volatile *) (ETH_CONTROL_BASE + 0x004))
+#define ETH_CONTROL_EGSR	((UW volatile *) (ETH_CONTROL_BASE + 0x008))
+#define ETH_CONTROL_ETSR	((UW volatile *) (ETH_CONTROL_BASE + 0x018))
+#define ETH_CONTROL_ERSR	((UW volatile *) (ETH_CONTROL_BASE + 0x01c))
+#define ETH_CONTROL_MAC1	((UW volatile *) (ETH_CONTROL_BASE + 0x400))
+#define ETH_CONTROL_MAC2	((UW volatile *) (ETH_CONTROL_BASE + 0x404))
+#define ETH_CONTROL_IPGT	((UW volatile *) (ETH_CONTROL_BASE + 0x408))
+#define ETH_CONTROL_IPGR	((UW volatile *) (ETH_CONTROL_BASE + 0x40c))
+#define ETH_CONTROL_CLRT	((UW volatile *) (ETH_CONTROL_BASE + 0x410))
+#define ETH_CONTROL_MAXF	((UW volatile *) (ETH_CONTROL_BASE + 0x414))
+#define ETH_CONTROL_SUPP	((UW volatile *) (ETH_CONTROL_BASE + 0x418))
+#define ETH_CONTROL_MCFG	((UW volatile *) (ETH_CONTROL_BASE + 0x420))
+#define ETH_CONTROL_MCMD	((UW volatile *) (ETH_CONTROL_BASE + 0x424))
+#define ETH_CONTROL_MADR	((UW volatile *) (ETH_CONTROL_BASE + 0x428))
+#define ETH_CONTROL_MWTD	((UW volatile *) (ETH_CONTROL_BASE + 0x42c))
+#define ETH_CONTROL_MRDD	((UW volatile *) (ETH_CONTROL_BASE + 0x430))
+#define ETH_CONTROL_MIND	((UW volatile *) (ETH_CONTROL_BASE + 0x434))
+#define ETH_CONTROL_SA1 	((UW volatile *) (ETH_CONTROL_BASE + 0x440))
+#define ETH_CONTROL_SA2 	((UW volatile *) (ETH_CONTROL_BASE + 0x444))
+#define ETH_CONTROL_SA3 	((UW volatile *) (ETH_CONTROL_BASE + 0x448))
+#define ETH_CONTROL_SAFR	((UW volatile *) (ETH_CONTROL_BASE + 0x500))
+#define ETH_CONTROL_HT1 	((UW volatile *) (ETH_CONTROL_BASE + 0x504))
+#define ETH_CONTROL_HT2 	((UW volatile *) (ETH_CONTROL_BASE + 0x508))
+#define ETH_CONTROL_STAT	((UW volatile *) (ETH_CONTROL_BASE + 0x680))
+#define ETH_CONTROL_RXAPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa00))
+#define ETH_CONTROL_RXBPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa04))
+#define ETH_CONTROL_RXCPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa08))
+#define ETH_CONTROL_RXDPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa0c))
+#define ETH_CONTROL_EINTR 	((UW volatile *) (ETH_CONTROL_BASE + 0xa10))
+#define ETH_CONTROL_EINTREN	((UW volatile *) (ETH_CONTROL_BASE + 0xa14))
+#define ETH_CONTROL_TXPTR 	((UW volatile *) (ETH_CONTROL_BASE + 0xa18))
+#define ETH_CONTROL_TXRPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa1c))
+#define ETH_CONTROL_TXERBD	((UW volatile *) (ETH_CONTROL_BASE + 0xa20))
+#define ETH_CONTROL_TXSPTR	((UW volatile *) (ETH_CONTROL_BASE + 0xa24))
+#define ETH_CONTROL_RXAOFF	((UW volatile *) (ETH_CONTROL_BASE + 0xa28))
+#define ETH_CONTROL_RXBOFF	((UW volatile *) (ETH_CONTROL_BASE + 0xa2c))
+#define ETH_CONTROL_RXCOFF	((UW volatile *) (ETH_CONTROL_BASE + 0xa30))
+#define ETH_CONTROL_RXDOFF	((UW volatile *) (ETH_CONTROL_BASE + 0xa34))
+#define ETH_CONTROL_TXOFF 	((UW volatile *) (ETH_CONTROL_BASE + 0xa38))
+#define ETH_CONTROL_RXFREE	((UW volatile *) (ETH_CONTROL_BASE + 0xa3c))
+#define ETH_CONTROL_TXBD 	((UW volatile *) (ETH_CONTROL_BASE + 0x1000))
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·(å²è¾¼ã¿åªå
+åº¦)
+ */
+/*#define INHNO_SIO   INTLV_UART */
+#define INHNO_SIO2_RX	57
+#define INHNO_SIO2_TX	56
+#define INHNO_SIO_RX	59
+#define INHNO_SIO_TX	58
+#define	INHNO_BBB		8
+#define	INHNO_ETH_RX	5
+#define	INHNO_ETH_TX	6
+#define	INHNO_ETH_LINK	7
+#define	INHNO_USB_HOST_D	25
+#define	INHNO_USBDEV	26
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void uart_init(ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+	
+	VP		pSraReg;           /* SRA Reg Address                 */
+	VP		pFifoReg;          /* FIFO Reg Address                */
+	VP		pCraReg;           /* CRA Reg Address                 */
+	VP		pCrbReg;           /* CRB Reg Address                 */
+	VP		pRctReg;           /* RCT Reg Address                 */
+	VP		pRbtReg;           /* RBT Reg Address                 */
+	VP		pBrgReg;           /* BRG Reg Address                 */
+	UW		CraData;           /* CRA Reg Set Data                */
+	UW		CrbData;           /* CRB Reg Set Data                */
+	UW		RctData;           /* RCT Reg Set Data                */
+	UW		RbtData;           /* RBT Reg Set Data                */
+	UW		BrgData;           /* BRG Reg Set Data                */
+	UW		BbbiTx;            /* BBUS Bridge TX INT Control      */
+	UW		BbbiRx;            /* BBUS Bridge RX INT Control      */
+
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+    const SIOPINIB  *siopinib; /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;     /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;          /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;          /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;          /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;          /* æå­ãéä¿¡ã§ããç¶æ
+ */
+    UW		rxfdb;             /* rxbufå
+ã®åä¿¡ãã¤ãæ° */
+    UW		rxbuf;             /* åä¿¡ãããã¡ */
+	ID		siopid;
+}SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+extern void uart_putc(char c);
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(ID siopid);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  SIOã®å²è¾¼ã¿è¨±å¯ã«ã¼ãã³
+ */
+extern	void uart_TxRx_Enable(ID siopid);
+
+/*
+ *  SIOã®å²è¾¼ã¿ç¦æ­¢ã«ã¼ãã³
+ */
+extern void uart_TxRx_Disable(ID siopid);
+
+/*
+ * ç¾å¨ã®ã·ãªã¢ã«ãã¼ãã®åå¾
+ */
+extern	ID uart_get_id(SIOPCB *siopcb);
+
+#endif /* _MACRO_ONLY */
+
+
+
+/*
+ *  ã­ã£ãã·ã¥é¢é£
+ */
+#ifndef _MACRO_ONLY
+
+#define CACHE_TAG_RAM 0x11000000 /* W */
+
+Inline void
+cache_on(void)
+{
+
+}
+
+
+Inline void
+cache_off(void)
+{
+
+}
+
+
+Inline void
+cache_purge(void)
+{
+
+}
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _NS9360_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/ns9360.ld	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ns9360.ld,v 1.1 2007/05/11 06:06:35 honda Exp $
+ */
+/*
+ * OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+*/
+OUTPUT_FORMAT("elf32-bigarm")
+OUTPUT_ARCH(arm)
+	
+PROVIDE(hardware_init_hook = 1);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+    . = 0x00 ;    
+    .vector :
+    {
+    *(.vector)
+    }
+    
+    .text :	
+    {
+        __text = . ; 	
+        *(.text)
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { *(.rodata) }
+    . = ALIGN(4);
+    .ctors :
+    {
+        PROVIDE(__CTOR_BEGIN__ = .);
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+        PROVIDE(__CTOR_END__ = .);
+    }
+    . = ALIGN(4);
+    .dtors :
+    {
+        PROVIDE(__DTOR_BEGIN__ = .);
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+        PROVIDE(__DTOR_END__ = .);
+       _endtext = .;
+    }
+    __idata_start = . ;
+  .data :AT (_endtext)
+  {
+    _etext = _endtext;
+    __data_start = .;
+    PROVIDE (data_start = .);
+    *(.data)
+    *(.gnu.linkonce.d*)
+    SORT(CONSTRUCTORS)
+    *(.data1)
+        *(.eh_frame)
+        *(.jcr)
+        *(.gcc_except_table)
+    . = ALIGN(0x10);
+  }
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    .bss  : AT (_endtext  + SIZEOF(.data))
+    {
+      __bss_start = . ;
+      *(.bss)
+      *(COMMON)
+      *(.stack)
+      . += 12K;
+      _stack_end = . ;
+      PROVIDE (stack_end  = .)	;
+    }
+
+    _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+ 
+   .ttb    : AT (__idata_end + SIZEOF(.bss))
+  {
+   . = ALIGN(0x4000);
+   ttb_start = . ;
+   *(.ttb)
+   . += 32K;
+   ttb_end = . ;
+  }
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+  .debug_info 0 : { *(.debug_info) }
+  .debug_abbrev 0 : { *(.debug_abbrev) }
+  .debug_line 0 : { *(.debug_line) }
+  .debug_frame 0 : { *(.debug_frame) }
+  .debug_str 0 : { *(.debug_str) }
+  .debug_loc 0 : { *(.debug_loc) }
+  .debug_macinfo 0 : { *(.debug_macinfo) }
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames 0 : { *(.debug_varnames) }
+  /* These must appear regardless of  .  */
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.c	(revision 26)
@@ -0,0 +1,542 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/05/21 01:33:50 honda Exp $
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include <ns9360.h>
+
+
+/*
+ * GPIO Setup 
+ */
+static void	cpuSetupGPIO(void);
+/*
+ * CS0 Setup
+ */
+static void	cpuSetupCS0(void);
+/*
+ * CS2 Setup
+ */
+static void	cpuSetupCS2(void);
+/*
+ * CS3 Setup
+ */
+static void	cpuSetupCS3(void);
+/*
+ * CS5 Setup
+ */
+static void	cpuSetupCS5(void);
+/*
+ * CS6 Setup
+ */
+static void	cpuSetupCS6(void);
+/*
+ * CS7 Setup
+ */
+static void	cpuSetupCS7(void);
+
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+FP   int_table[MAX_INT_NUM];
+UW   int_mask_table[MAX_INT_NUM];
+
+/*
+ * IRQã¨INT IDã®å¯¾å¿ãã¼ãã«ãIRQã«å¯¾å¿ããINT IDãè¨­å®ããã
+ * ãã®ãã¼ãã«ã®ãã¼ã¿ãããIntConfigRegistarãè¨­å®ããã
+ * æªä½¿ç¨ã®IRQã«ã¯INT_ID_NONEãã»ãããã
+ */
+const	UW	int_id_table[] = {
+	INT_ID_NONE,			/* IRQ0 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ1 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ2 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ3 INT ID  : unuse							*/
+	INT_ID_TIMER0,			/* IRQ4 INT ID  : TIMER 0 Interrupt				*/
+	INT_ID_NONE,			/* IRQ5 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ6 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ7 INT ID  : unuse							*/
+	INT_ID_BBUS_INT,		/* IRQ8 INT ID  : BBus Aggregate Interrupt		*/
+	INT_ID_NONE,			/* IRQ9 INT ID  : unuse							*/
+	INT_ID_NONE,			/* IRQ10 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ11 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ12 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ13 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ14 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ15 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ16 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ17 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ18 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ19 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ20 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ21 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ22 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ23 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ24 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ25 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ26 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ27 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ28 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ29 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ30 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ31 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ32 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ33 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ34 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ35 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ36 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ37 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ38 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ39 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ40 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ41 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ42 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ43 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ44 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ45 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ46 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ47 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ48 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ49 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ50 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ51 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ52 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ53 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ54 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ55 INT ID : unuse							*/
+	INT_ID_SERC_TX,			/* IRQ56 INT ID : SER C Tx Interrupt			*/
+	INT_ID_SERC_RX,			/* IRQ57 INT ID : SER C Rx Interrupt			*/
+	INT_ID_SERA_TX,			/* IRQ58 INT ID : SER A Tx Interrupt			*/
+	INT_ID_SERA_RX,			/* IRQ59 INT ID : SER A Rx Interrupt			*/
+	INT_ID_NONE,			/* IRQ60 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ61 INT ID : unuse							*/
+	INT_ID_NONE,			/* IRQ62 INT ID : unuse							*/
+	INT_ID_NONE				/* IRQ63 INT ID : unuse							*/
+};
+
+
+/*--- GPIO è¨­å®æ
+å ± ---*/
+/*
+ **** Control Registers ****
+ */
+/* Control Registers #1 (GPIO[0]ã[31]) */
+const	UW	BbusGpio_ContSts1 = (BBUS_GPIO_CONT_STS1_GPIO2 | BBUS_GPIO_CONT_STS1_GPIO16);
+
+/* Control Registers #2 (GPIO[32]ã[63]) */
+const	UW	BbusGpio_ContSts2 = (BBUS_GPIO_CONT_STS2_GPIO36 | BBUS_GPIO_CONT_STS2_GPIO37 
+                                            | BBUS_GPIO_CONT_STS2_GPIO38 | BBUS_GPIO_CONT_STS2_GPIO39);
+	
+/* Control Registers #3 (GPIO[64]ã[72]) */
+const	UW	BbusGpio_ContSts3 = 0;
+
+/*
+ **** Configration Registers ****
+ */
+
+/* Configration Registers #1 (GPIO[0]ã[7]) */
+const	UW	BbusGpio_Config1 = (BBUS_GPIO_CONFIG1_GPIO0 | BBUS_GPIO_CONFIG1_GPIO1
+                              | BBUS_GPIO_CONFIG1_GPIO2 | BBUS_GPIO_CONFIG1_GPIO3
+                              | BBUS_GPIO_CONFIG1_GPIO4 | BBUS_GPIO_CONFIG1_GPIO5
+                              | BBUS_GPIO_CONFIG1_GPIO6 | BBUS_GPIO_CONFIG1_GPIO7);
+
+/* Configration Registers #2 (GPIO[8]ã[15]) */
+const	UW	BbusGpio_Config2 = (BBUS_GPIO_CONFIG2_GPIO8 | BBUS_GPIO_CONFIG2_GPIO9
+                              | BBUS_GPIO_CONFIG2_GPIO10 | BBUS_GPIO_CONFIG2_GPIO11
+                              | BBUS_GPIO_CONFIG2_GPIO12 | BBUS_GPIO_CONFIG2_GPIO13
+                              | BBUS_GPIO_CONFIG2_GPIO14 | BBUS_GPIO_CONFIG2_GPIO15);
+
+/* Configration Registers #3 (GPIO[16]ã[23]) */
+const	UW	BbusGpio_Config3 = (BBUS_GPIO_CONFIG3_GPIO16 | BBUS_GPIO_CONFIG3_GPIO17
+                              | BBUS_GPIO_CONFIG3_GPIO18 | BBUS_GPIO_CONFIG3_GPIO19
+                              | BBUS_GPIO_CONFIG3_GPIO20 | BBUS_GPIO_CONFIG3_GPIO21
+                              | BBUS_GPIO_CONFIG3_GPIO22 | BBUS_GPIO_CONFIG3_GPIO23);
+
+/* Configration Registers #4 (GPIO[24]ã[31]) */
+const	UW	BbusGpio_Config4 = (BBUS_GPIO_CONFIG4_GPIO24 | BBUS_GPIO_CONFIG4_GPIO25
+                              | BBUS_GPIO_CONFIG4_GPIO26 | BBUS_GPIO_CONFIG4_GPIO27
+                              | BBUS_GPIO_CONFIG4_GPIO28 | BBUS_GPIO_CONFIG4_GPIO29
+                              | BBUS_GPIO_CONFIG4_GPIO30 | BBUS_GPIO_CONFIG4_GPIO31);
+
+/* Configration Registers #5 (GPIO[32]ã[39]) */
+const	UW	BbusGpio_Config5 = (BBUS_GPIO_CONFIG5_GPIO32 | BBUS_GPIO_CONFIG5_GPIO33
+                              | BBUS_GPIO_CONFIG5_GPIO34 | BBUS_GPIO_CONFIG5_GPIO35
+                              | BBUS_GPIO_CONFIG5_GPIO36 | BBUS_GPIO_CONFIG5_GPIO37
+                              | BBUS_GPIO_CONFIG5_GPIO38 | BBUS_GPIO_CONFIG5_GPIO39);
+
+/* Configration Registers #6 (GPIO[40]ã[47]) */
+const	UW	BbusGpio_Config6 = (BBUS_GPIO_CONFIG6_GPIO40 | BBUS_GPIO_CONFIG6_GPIO41
+                              | BBUS_GPIO_CONFIG6_GPIO42 | BBUS_GPIO_CONFIG6_GPIO43
+                              | BBUS_GPIO_CONFIG6_GPIO44 | BBUS_GPIO_CONFIG6_GPIO45
+                              | BBUS_GPIO_CONFIG6_GPIO46 | BBUS_GPIO_CONFIG6_GPIO47);
+
+/* Configration Registers #7 (GPIO[48]ã[55]) */
+const	UW	BbusGpio_Config7 = (BBUS_GPIO_CONFIG7_GPIO48 | BBUS_GPIO_CONFIG7_GPIO49
+                              | BBUS_GPIO_CONFIG7_GPIO50 | BBUS_GPIO_CONFIG7_GPIO51
+                              | BBUS_GPIO_CONFIG7_GPIO52 | BBUS_GPIO_CONFIG7_GPIO53
+                              | BBUS_GPIO_CONFIG7_GPIO54 | BBUS_GPIO_CONFIG7_GPIO55);
+
+/* Configration Registers #8 (GPIO[56]ã[63]) */
+const	UW	BbusGpio_Config8 = (BBUS_GPIO_CONFIG8_GPIO56 | BBUS_GPIO_CONFIG8_GPIO57
+                              | BBUS_GPIO_CONFIG8_GPIO58 | BBUS_GPIO_CONFIG8_GPIO59
+                              | BBUS_GPIO_CONFIG8_GPIO60 | BBUS_GPIO_CONFIG8_GPIO61
+                              | BBUS_GPIO_CONFIG8_GPIO62 | BBUS_GPIO_CONFIG8_GPIO63);
+
+/* Configration Registers #9 (GPIO[64]ã[71]) */
+const	UW	BbusGpio_Config9 = (BBUS_GPIO_CONFIG9_GPIO64 | BBUS_GPIO_CONFIG9_GPIO65
+                              | BBUS_GPIO_CONFIG9_GPIO66 | BBUS_GPIO_CONFIG9_GPIO67
+                              | BBUS_GPIO_CONFIG9_GPIO68 | BBUS_GPIO_CONFIG9_GPIO69
+                              | BBUS_GPIO_CONFIG9_GPIO70 | BBUS_GPIO_CONFIG9_GPIO71);
+
+/* Configration Registers #10 (GPIO[72]) */
+const	UW	BbusGpio_Config10 = (BBUS_GPIO_CONFIG10_GPIO72);
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+  
+    /*
+     *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+     */
+    uart_init(LOGTASK_PORTID);
+    /*
+     * BBusã®å²è¾¼ã¿è¨±å¯
+     */
+     sil_wrw_mem((VP)BBBIE_REG, sil_rew_mem((VP)BBBIE_REG) | BBBI_GLBL);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+  uart_putc(c);  
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+	VW	reg;
+	
+    assert(inhno < MAX_INT_NUM);
+    int_table[inhno] = inthdr;
+    
+    if(INT_ID_BBUS_F > inhno)
+    {
+		/*
+		 * BBusBridgeçµç±ã§ã¯ãªãå²è¾¼ã¿ã®ç»é²
+		 */
+	    sil_wrw_mem((VP)(IVARV_REG+inhno*4),(VW)inthdr);     /* Interruput Vector Reg ã®è¨­å® */
+	    
+	    /* IntConfigRegã®è¨­å® */
+	    reg = sil_rew_mem((VP)((INT_CONFIG_REG+inhno)&0xfffffffc));
+	    reg &= ~(0xff000000 >> (inhno%4)*8);
+	    reg |= ((int_id_table[inhno] | INT_CFG_BIT_IT)<<24) >> ((inhno%4)*8);
+	    sil_wrw_mem((VP)((INT_CONFIG_REG+inhno)&0xfffffffc), reg);
+	}
+}
+
+
+/*
+ * å²è¾¼ã¿ãã³ãã©èµ·åæã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¼ã«ã»ãããããã¹ã¯å¤ãè¨­å®ï¼
+ */
+void
+define_inh_mask(INHNO inhno, UW mask)
+{
+    assert(inhno < MAX_INT_NUM);
+    int_mask_table[inhno] = mask;
+}
+
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
+/*
+ *  BBuså²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+BBus_isr()
+{
+	UW	i;
+	UW	int_sts;
+	
+	int_sts = sil_rew_mem((VP)(BBBIS_REG)) & BBBIS_MASK;
+	for( i = INT_ID_BBUS_F ; i < MAX_INT_NUM ; ++i )
+	{
+		if(int_sts & 0x80000000)
+		{
+			if(0 == int_table[i])
+			{
+				 undef_interrupt();
+			}
+			else
+			{
+				int_table[i]();
+			}
+		}
+		int_sts <<= 1;
+	}
+}
+
+/*
+ *  CSãGPIOè¨­å®
+ */
+void cpu_CsGpioInit(void)
+{
+    BOOL    debugger, software_restart;
+	software_restart = 0;
+        cpuSetupGPIO();
+		*(UW*)(BBUS_GPIO_CONT1_REG) |= 0x10;
+
+	
+    /* ãªã¹ã¿ã¼ããã©ã°ã®åå¾ï¼ã»ãã */
+    software_restart = ((~AHB_ABT_CFG_REG_restart) & sil_rew_mem((VP)AHB_ABT_CFG_REG));
+    														/* Restart Flag get		*/
+	
+	sil_wrw_mem((VP)AHB_ABT_CFG_REG , (AHB_ABT_CFG_REG_restart | sil_rew_mem((VP)AHB_ABT_CFG_REG)));
+															/* Restart Flag set	*/
+
+	
+    /* ãããã°ãã©ã°ã®åå¾ */
+    debugger = ((~AHB_ABT_CFG_REG_debug) & sil_rew_mem((VP)AHB_ABT_CFG_REG));	/* Debug Flag get */
+ 
+    if (!software_restart)
+    {
+        /* Setup the GPIO ports. */
+        cpuSetupGPIO();
+
+		*(UW*)(BBUS_GPIO_CONT1_REG) |= 0x10;
+
+		/* Enable Instruction Cache */
+		cpuEnableICache();
+
+        /* Setup the Static chip selects */
+        cpuSetupCS0();							/* CS0 setup 			*/
+        cpuSetupCS2();							/* CS2 setup 			*/
+        cpuSetupCS3();							/* CS3 setup 			*/
+
+        /* Setup the Dynamic chip selects */
+        cpuSetupCS5();							/* CS5 setup 			*/
+        cpuSetupCS6();							/* CS6 setup 			*/
+        cpuSetupCS7();							/* CS7 setup 			*/
+
+    }
+    else
+    {
+        /* Setup the GPIO ports. */
+        cpuSetupGPIO();
+        ;
+        cpuEnableICache();
+    }
+    return;
+}
+
+
+/*
+ * CS0 Setup
+ */
+static void	cpuSetupCS0(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+/*
+ * CS2 Setup
+ */
+static void	cpuSetupCS2(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+/*
+ * CS3 Setup
+ */
+static void	cpuSetupCS3(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+/*
+ * CS5 Setup
+ */
+static void	cpuSetupCS5(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+/*
+ * CS6 Setup
+ */
+static void	cpuSetupCS6(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+/*
+ * CS7 Setup
+ */
+static void	cpuSetupCS7(void)
+{
+	/*
+	 * ã¿ã¼ã²ããã«åããã¦åæåå¦çãè¨è¿°ãã
+	 * Bootã­ã¼ãã¼ã«ã¦è¨­å®æ¸ã¿ã®å ´åãããã§ã®è¨­å®ã¯ä¸è¦
+	 */
+}
+
+/*
+ * GPIO Setup 
+ */
+static void	cpuSetupGPIO(void)
+{
+	UW config;
+
+	/*
+	 **** Control Registers ****
+	 */
+	/* è©²å½pinãGPIOåºåã«è¨­å®ããå ´åã«ããã©ã«ãåºåãæå®ãããå ´åã«ä»¥ä¸ãè¨è¿°ãã */
+	
+	/* Control Registers #1 (GPIO[0]ã[31]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONT1_REG , BbusGpio_ContSts1);
+
+	/* Control Registers #2 (GPIO[32]ã[63]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONT2_REG , BbusGpio_ContSts2);
+	
+	/* Control Registers #3 (GPIO[64]ã[72]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONT3_REG , BbusGpio_ContSts3);
+
+	/*
+	 **** Configration Registers ****
+	 */
+	/* Configration Registers #1 (GPIO[0]ã[7]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG1_REG , BbusGpio_Config1);
+
+	/* Configration Registers #2 (GPIO[8]ã[15]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG2_REG , BbusGpio_Config2);
+
+	/* Configration Registers #3 (GPIO[16]ã[23]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG3_REG , BbusGpio_Config3);
+
+	/* Configration Registers #4 (GPIO[24]ã[31]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG4_REG , BbusGpio_Config4);
+
+	/* Configration Registers #5 (GPIO[32]ã[39]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG5_REG , BbusGpio_Config5);
+
+	/* Configration Registers #6 (GPIO[40]ã[47]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG6_REG , BbusGpio_Config6);
+
+	/* Configration Registers #7 (GPIO[48]ã[55]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG7_REG , BbusGpio_Config7);
+
+	/* Configration Registers #8 (GPIO[56]ã[63]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG8_REG , BbusGpio_Config8);
+
+	/* Configration Registers #9 (GPIO[64]ã[71]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG9_REG , BbusGpio_Config9);
+
+	/* Configration Registers #10 (GPIO[72]) */
+	sil_wrw_mem((VP) BBUS_GPIO_CONFIG10_REG , BbusGpio_Config10);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_config.h	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.1 2007/05/11 06:06:35 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 63
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define    SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   2   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   2   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ãã¹ã¯ç»é²ç¨ãã¼ãã«
+ */
+extern UW   int_mask_table[MAX_INT_NUM];
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+/*
+ * å²è¾¼ã¿ãã³ãã©èµ·åæã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¼ã«ã»ãããããã¹ã¯å¤ãè¨­å®ï¼
+ */
+extern void define_inh_mask(INHNO inhno, UW mask);
+
+/*
+ * æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´å
+ */
+extern void undef_interrupt();
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_defs.h	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.1 2007/05/11 06:06:35 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define COPYRIGHT_SYS \
+"Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company\n"
+
+#define    TARGET_NAME    "AZ9360MB Board, NS9360(ARM926EJS)"
+
+
+#define	STACKTOP	stack_end   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef	UD  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim);
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	10u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 20
+#define	SIL_DLY_TIM2	 10
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort()
+{
+     while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+int_table
+int_mask_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_support.S	(revision 26)
@@ -0,0 +1,356 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005-2007 by Y.D.K.Co.,LTD Technologies company
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/05/21 01:33:50 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include <ns9360.h>
+
+/* ãã­ã»ããµã¢ã¼ã */
+Mode_SVC    =   0x13
+
+/* ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿å²ãè¾¼ã¿bit */
+I_Bit       =   0x80
+F_Bit       =   0x40
+
+/*  BBUS reset register */
+BBUS_RESET_BASE     = 0x90600000
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼          
+ */       
+
+        .text
+        .align 2
+        .global hardware_init_hook
+hardware_init_hook: 
+
+/*
+ * NS9360ä¾å­ã®åæå
+ */
+/*
+ * bbus_reset
+ */
+        mov     r0, #0x0
+        ldr     r0, =BBUS_RESET_BASE
+        mov     r1, #0x0
+        str     r1, [r0, #0]
+
+/*
+ * CSãGPIO Initial
+ */
+        stmfd sp!, {r4 - r11,lr}   /* ã¬ã¸ã¹ã¿ã®ä¿å­ */
+        bl      cpu_CsGpioInit
+        ldmfd sp!,{r4 - r11,lr}
+
+/*----*/
+init_done:
+        mov     pc, lr
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *         
+ */        
+        .text
+        .align 4    
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov     sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr     cpsr_all, sp
+        stmfd   sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+        mov     r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr     cpsr,r0
+        sub     r0,lr,#4
+        mrs     r1,spsr
+        
+
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */ 
+        and     r2,  r1, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr, r2
+        str     r0, [sp,#0x18] /* Store pc */
+        stmfd   sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+        /*
+         *  å²ãè¾¼ã¿è¦å ã®å¤å®ï¼
+         *  INT_IDã®èª­ã¿è¾¼ã¿ï¼(ããã«ããå¿
+è¦ã¯ãªãï¼)
+         */
+
+        ldr     r3, =ISRADDR_REG
+        ldr     r0, [r3]        /* å²ãè¾¼ã¿ãã¯ã¿ã®èª­ã¿åºã */
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ããã§ãã¯
+         */
+        cmp     r0, #0x00
+        beq     undefined_interrupt
+        
+        /* 
+         * å²ãè¾¼ã¿è¨±å¯ 
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #~CPSR_IRQ_BIT /* å²è¾¼ã¿è¨±å¯ */
+        msr     cpsr,r2
+
+        /* 
+         * Call Handler  
+         */        
+        mov     lr,  pc   
+        mov     pc,  r0
+
+        /* 
+         * å²ãè¾¼ã¿ç¦æ­¢ 
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */         
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr,r2
+
+        /* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]        
+        sub     r3, r1, #1                        
+        str     r3, [r2]
+        cmp     r3, #0x00        
+        bne     return_to_task_irq
+        
+        /*
+         * å²è¾¼ã¿ãã¹ããç¡ãã®ã§ãå
+¨ã¦ã®ãã¹ã¯ãã¯ãªã¢
+         */
+        ldr     r2,  =ISRADDR_REG
+        str     r0,  [r2]       /* å²è¾¼ã¿ãã¹ã¯ã¯ãªã¢ */
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}         
+        mov     sp, r0        
+                
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        mrs     r2, cpsr           /* FIQãç¶æ¿            */
+        and     r2, r2, #CPSR_FIQ_BIT
+        and     r1, r1, #~CPSR_FIQ_BIT
+        orr     r1, r1, r2            
+        msr     spsr, r1           
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /*ã¿ã¹ã¯å¾©å¸° + å²è¾¼ã¿è¨±å¯ */
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */    
+undefined_interrupt:
+         b      undef_interrupt
+    
+
+/*
+ * ã­ã£ãã·ã¥å¶å¾¡é¢ä¿
+ * UW       cpuEnableICache( void );
+ * UW       cpuEnableDCache( void );
+ * UW       cpuEnableMMU( UW tlbaddr );
+ * UW       cpuDCache_Line_Invalid( UW mva );
+ * UW       cpuDCache_Line_Flush( UW mva );
+ * UW       cpuDCache_Line_FlushInalid( UW mva );
+ * UW       cpuDCache_DrainWriteBuffer( void );
+ */
+
+
+        .global cpuEnableICache, cpuEnableDCache
+        .global cpuEnableMMU
+        .global cpuDCache_Line_Invalid, cpuDCache_Line_Flush
+        .global cpuDCache_Line_FlushInvalid, cpuDCache_DrainWriteBuffer
+
+
+#define CP15_ICACHE     0x1000
+#define CP15_DCACHE     0x0004
+#define CP15_MMU        0x0001
+
+
+/*
+ * CP15-R1ã®I-cache bit(b12)=1 ã«ããã
+ * å¼æ°ãªã
+ */
+cpuEnableICache:
+        mcr     p15, 0, r0, c7, c5, 0       /* ICache invalidate                */
+        nop
+        nop
+        nop
+        nop
+        nop
+        nop
+        nop
+        nop
+        mrc     p15, 0, r0, c1, c0, 0       /* CP15 R1                          */
+        orr     r0, r0, #CP15_ICACHE        /* I-Cache enable                   */
+        mcr     p15, 0, r0, c1, c0, 0       /* Set CP15 R1 I-cache              */
+        mov     pc, lr
+
+
+/*
+ * CP15-R7ã§Dcache invalidate å®æ½å¾ã«CP15-R1ã®D-cache bit(b2)=1ã«ããã
+ * å¼æ°ãªãã
+ */
+cpuEnableDCache:
+        mcr     p15, 0, r0, c7, c6, 0       /* DC all invalidate                */
+        mrc     p15, 0, r0, c1, c0, 0       /* CP15 R1                          */
+        orr     r0, r0, #CP15_DCACHE        /* D-Cache enable                   */
+        mcr     p15, 0, r0, c1, c0, 0       /* Set CP15 R1 D-cache              */
+        mov     pc,lr
+
+
+/*
+ * CP15-R1ã®MMU bit(bit0)=1ã«ãããTLBè¨­å®å¾ã«TBLã¢ãã¬ã¹ãå¼æ°ã«ã³ã¼ã«ããã
+ * r0:TLB address
+ */
+cpuEnableMMU:
+        mcr     p15, 0, r0, c2, c0, 0       /* Set CP15 R2 TLB pointer          */
+        mov     r0, #0                      /*                                  */
+        mvn     r0, r0                      /* all domain is manager            */
+        mcr     p15, 0, r0, c3, c0, 0       /* set Domain access (CP15 R3)      */
+
+        mrc     p15, 0, r0, c1, c0, 0       /* CP15 R1                          */
+        orr     r0, r0, #CP15_MMU           /* MMU enable                       */
+        mcr     p15, 0, r0, c1, c0, 0       /* Set CP15 R1 MMU enable           */
+        mov     pc,lr
+
+
+/*
+ * CP15-R7ã®Invalidate DCache single entry(MVA)ãå®è¡ããã
+ * r0:MVA
+ */
+cpuDCache_Line_Invalid:
+        mcr     p15, 0, r0, c7, c6, 1       /* DC invalidate single entry(MVA)  */
+        mov     pc,lr
+
+
+/*
+ * CP15-R7ã®Clean DCache single entry(MVA)ãå®è¡ããã
+ * r0:MVA
+ */
+cpuDCache_Line_Flush:
+        mcr     p15, 0, r0, c7, c10, 1      /* DC clean single entry(MVA)       */
+        mov     pc,lr
+
+
+/*
+ * CP15-R7ã®Clean & Invalidate DCache single entry(MVA)ãå®è¡ããã
+ * r0:MVA
+ */
+cpuDCache_Line_FlushInvalid:
+        mcr     p15, 0, r0, c7, c14, 1      /* DC clean single entry(MVA)       */
+        mov     pc,lr
+
+
+/*
+ * CP15-R7ã®Drain write bufferãå®è¡ããã
+ */
+cpuDCache_DrainWriteBuffer:
+        mcr     p15, 0, r0, c7, c10, 4      /* Drain write buffer               */
+        mov     pc,lr
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/az9360mb/sys_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.c	(revision 26)
@@ -0,0 +1,187 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.14 2004/09/17 09:58:17 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM4vTç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include <armv4.h>
+#include "task.h"
+
+/*
+ * ä¾å¤ãã¯ã¿ã«æ¸ãè¾¼ã¾ããã¸ã£ã³ãå½ä»¤ãåç
+§ããã¢ãã¬ã¹
+ * 
+ */
+UW *arm_vector_add[8];
+
+
+/*
+ * ä¾å¤ã«å¿ãããã³ãã©ã®èµ·åçªå°
+ */
+UW arm_handler_add[8];
+
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+UW interrupt_count;
+
+
+/*
+ * CPU/å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã§ä¸æçã«ä½¿ç¨ããã¹ã¿ãã¯
+ */
+UW int_stack[INT_STACK_SIZE];
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+void
+define_exc(EXCNO excno, FP exchdr)
+{
+    arm_install_handler(excno,exchdr);
+}
+
+
+/*
+ *  æªå®ç¾©ã®ä¾å¤ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. UNDEF");
+    while(1);
+}
+
+void
+swi_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. SWI");
+  while(1);
+}
+
+void
+prefetch_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. PREFETCH");
+  while(1);
+}
+
+void
+data_abort_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. DATA ABORT");
+  while(1);
+}
+
+
+void
+irq_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. IRQ");
+  while(1);
+}
+
+void
+fiq_exception(){
+  syslog(LOG_EMERG, "Unregistered Exception occurs. FIQ");
+  while(1);
+}
+
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+
+    UW i,vector_value;
+
+	interrupt_count = 1;
+	
+    /*
+     * ä¾å¤ãã¯ã¿ã«ç»é²ããã¦ããå½ä»¤ããåç
+§ãããã¢ãã¬ã¹ã¨ï¼
+     *ãã®ã¢ãã¬ã¹ã®å
+å®¹(ãã³ãã©ã®å®è¡å
+)ãä¿å­ããï¼
+     */
+    for(i = 0; i <=7; i++){
+        vector_value = *(volatile UW *)(i*4);
+        vector_value &= 0x00000fff;
+        arm_vector_add[i] =  (UW *)(vector_value + 8) + i;
+        arm_handler_add[i] = *(arm_vector_add[i]);
+    }
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+
+	/*
+	 * LPC2388ã¯ãªã»ããæã«ä½¿ç¨ããã¢ãã¿ãæã£ã¦ããªãã®ã§ãcpu_terminateã§ã¯ä½ãããªãã
+	 * æ¬æ¥ä»¥ä¸ã®å¦çã¯ã·ã¹ãã ä¾å­é¨ã«ããã¹ãã ã¨æãããã
+	 */
+#ifndef _COMMON_LPC2388
+    UW i;
+    /*  ãã¯ã¿ãã¼ãã«ãå
+ã«æ»ãï¼*/
+    for(i = 0; i <=7; i++)
+        *arm_vector_add[i] = arm_handler_add[i];
+#endif
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_config.h	(revision 26)
@@ -0,0 +1,359 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.19 2004/09/17 13:45:55 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM4vTç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include "cpu_rename.h"
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define    TBIT_TCB_TSTAT       8    /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define    TBIT_TCB_PRIORITY    8    /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+    VP    sp;        /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+    FP    pc;        /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+extern UW interrupt_count;
+
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+Inline UB
+current_mode()
+{
+    return(current_sr() & CPSR_MODE_MASK);
+}
+
+Inline BOOL
+sense_context()
+{
+    return(interrupt_count > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+    return(current_sr() & CPSR_IRQ_BIT);
+}
+
+#define t_sense_lock    sense_lock
+#define i_sense_lock    sense_lock
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ */
+
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+
+Inline void
+lock_cpu()
+{
+    disint();
+}
+
+Inline void
+unlock_cpu()
+{
+    enaint();
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    dispatch(void);
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    exit_and_dispatch(void);
+
+
+/*
+ * ä¾å¤ãã¯ã¿ã«æ¸ãè¾¼ã¾ããã¸ã£ã³ãå½ä»¤ãåç
+§ããã¢ãã¬ã¹
+ */
+extern UW * arm_vector_add[8];
+
+
+/*
+ * ä¾å¤ã«å¿ãããã³ãã©ã®èµ·åçªå°
+ */
+extern UW arm_handler_add[8];
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+extern void define_exc(EXCNO excno, FP exchdr);
+
+
+Inline void
+arm_install_handler(EXCNO excno, FP exchdr)
+{
+    *arm_vector_add[excno] = (UW)exchdr;
+}
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define __EXCHDR_ENTRY(exchdr, stacktop)    \
+extern void exchdr##_entry(VP sp);          \
+asm(".text                             \n"  \
+#exchdr "_entry:                       \n"  \
+"       ldr   sp,.int_stack_"#exchdr"  \n"  /* ã¹ã¿ãã¯ã®åãæ¿ã        */\
+"       sub   lr,lr,#4                 \n"  /* undefã§ãããã§ããã?    */\
+"       stmfd sp!, {r0 - r2,lr}        \n"  /* ä¸æçã«int_stackã«å¾
+é¿   */ \
+"       mrs   r1, spsr                 \n"  /* SVCã¢ã¼ãã«åãæ¿ãããã */ \
+"       mov   r0, sp                   \n"  /* ä¿å­ãã                  */ \
+"       mov   r2,#0xd3                 \n"  /* CPSRã®æ¸ãæã(SVCã¢ã¼ãã¸)*/ \
+"       msr   cpsr,r2                  \n" \
+"       ldr   r2,[r0,#0x0C]            \n"     /* load  PC            */\
+"       stmfd sp!,{r2}                 \n"     /* Store PC            */\
+"       stmfd sp!,{r3,ip,lr}           \n"     /* Store r3,ip,lr      */\
+"       ldmfd r0!,{r2,ip,lr}           \n"     /* load  r0,r1,r2      */\
+"       stmfd sp!,{r1,r2,ip,lr}        \n"     /* SPSR,Store r0,r1,r2 */\
+"       ldr   r2, .interrupt_count_"#exchdr"\n" /* å¤éå²ãè¾¼ã¿ãå¤å®  */\
+"       ldr   r3, [r2]                 \n" \
+"       add   r0,r3,#1                 \n" \
+"       str   r0, [r2]                 \n" \
+"       mov   r0,sp                    \n" /* ä¾å¤ãã³ãã©ã¸ã®å¼æ° */\
+"       cmp   r3, #0x00                \n" \
+"       ldreq   sp,stack_"#exchdr"     \n" /* ã¹ã¿ãã¯ã®å¤æ´       */\
+"       stmeqfd sp!,{r0}               \n" /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */\
+"       and   r2, r1, #0xc0            \n" /* ä¾å¤çºçæã®CPUã­ãã¯ç¶æ
+(IRQ) */\
+"       orr   r2, r2, #0x13            \n" /* ã¨FIQãç¶æ¿. SVCã¢ã¼ã */\
+"       msr   cpsr,r2                  \n" \
+"       bl    "#exchdr"                \n" /* ãã³ãã©å¼ã³åºã     */\
+"       mrs   r2, cpsr                 \n" /* FIQãç¶æ¿            */\
+"       and   r2, r2, #0x40            \n" /*                      */\
+"       orr   r2, r2, #0x93            \n" /* å²ãè¾¼ã¿ç¦æ­¢         */\
+"       msr   cpsr,r2                  \n" \
+"       ldr   r2,.interrupt_count_"#exchdr" \n"/* å²ãè¾¼ã¿åæ°ã   */\
+"       ldr   r1, [r2]                 \n"     /* ãã¯ãªã¡ã³ã     */\
+"       sub   r3,r1,#1                 \n"\
+"       str   r3, [r2]                 \n"\
+"       cmp   r3,#0x00                 \n" /* å²ãè¾¼ã¿ãã¹ãæ°?    */\
+"       bne   return_to_task_"#exchdr" \n" \
+"       ldmfd sp!,{r0}                 \n" /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° */\
+"       mov   sp, r0                   \n"\
+"       ldr   r1, reqflg_"#exchdr"     \n" /* Check reqflg         */\
+"       ldr   r0,[r1]                  \n"\
+"       cmp   r0,#0                    \n"\
+"       beq   return_to_task_"#exchdr" \n"\
+"       mov   r0,#0                    \n"\
+"       str   r0,[r1]                  \n" /* Clear reqflg   */\
+"       b     _kernel_ret_exc          \n" /* ret_intã¸      */\
+"return_to_task_"#exchdr":             \n" \
+"       ldmfd sp!,{r1}                 \n" /* CPSRã®å¾©å¸°å¦ç r1 <- cpsr*/\
+"       mrs   r2, cpsr                 \n" /* FIQãç¶æ¿            */\
+"       and   r2, r2, #0x40            \n" /*                      */\
+"       and   r1, r1, #~0x40           \n" /*                      */\
+"       orr   r1, r1, r2               \n" /*                      */\
+"       msr   spsr, r1                 \n" /* å²ãè¾¼ã¿è¨±å¯   */\
+"       ldmfd sp!,{r0-r3,ip,lr,pc}^    \n"\
+"       .align 4                       \n"\
+".int_stack_"#exchdr":                 \n"\
+"       .long _kernel_int_stack + 6 * 4 \n"\
+"reqflg_"#exchdr":                     \n"\
+"       .long     _kernel_reqflg       \n"\
+"stack_"#exchdr":                      \n"\
+"       .long   " #stacktop "          \n"\
+".interrupt_count_"#exchdr":            \n"\
+"       .long   _kernel_interrupt_count \n")
+
+
+#define _EXCHDR_ENTRY(exchdr, stacktop)    __EXCHDR_ENTRY(exchdr, stacktop)
+
+#define EXCHDR_ENTRY(exchdr)    _EXCHDR_ENTRY(exchdr, STACKTOP)
+
+#define EXC_ENTRY(exchdr) exchdr##_entry
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ããã
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    return(interrupt_count > 1);    
+}
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+    return((*((UW *)p_excinf) & CPSR_IRQ_BIT) == CPSR_IRQ_BIT );
+}
+
+
+/*
+ * æªå®ç¾©ã®ä¾å¤ãå
+¥ã£ãå ´å
+ */
+extern void undef_exception();
+extern void swi_exception();
+extern void prefetch_exception();
+extern void data_abort_exception();
+extern void irq_abort_exception();
+extern void fiq_abort_exception();
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void    cpu_initialize(void);
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void    cpu_terminate(void);
+
+
+/*
+ * CPU/å²è¾¼ã¿ãã³ãã©ã®åºå
+¥ãå£å¦çã§ä¸æçã«ä½¿ç¨ããã¹ã¿ãã¯
+ */
+#define INT_STACK_SIZE 6
+extern UW int_stack[INT_STACK_SIZE];
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_context.h	(revision 26)
@@ -0,0 +1,125 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.6 2003/12/01 06:47:05 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼ARMv4ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *  
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+    sp = (VW *)(((SIZE) tcb->tinib->stk) + tcb->tinib->stksz);
+	*--sp = (VW)(tcb->tinib->task);    
+	*--sp = (VW)(tcb->tinib->exinf);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *  
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 2)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_defs.h	(revision 26)
@@ -0,0 +1,85 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.8 2003/12/19 10:21:45 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼ARMv4ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define ARMV4
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©(ARMV4)
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_insn.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.8 2003/12/11 00:44:27 honda Exp $
+ */
+
+/*
+ *   ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼ARMv4ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#include <armv4.h>
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼CPSRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_sr(void)
+{
+    UW	sr;
+    Asm("mrs  %0,CPSR" : "=r"(sr));
+    return(sr);
+}
+
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼CPSRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UW sr)
+{
+    Asm("msr CPSR, %0" : : "r"(sr) );
+}
+
+
+/*
+ *  IRQå²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+    set_sr(current_sr() | CPSR_IRQ_BIT);
+}
+
+
+/*
+ *  IRQå²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+    set_sr(current_sr() & ~CPSR_IRQ_BIT);
+}
+
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.def	(revision 26)
@@ -0,0 +1,7 @@
+activate_r
+ret_int
+ret_exc
+interrupt_count
+arm_vector_add
+arm_handler_add
+int_stack
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_rename.h	(revision 26)
@@ -0,0 +1,28 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define interrupt_count		_kernel_interrupt_count
+#define arm_vector_add		_kernel_arm_vector_add
+#define arm_handler_add		_kernel_arm_handler_add
+#define int_stack		_kernel_int_stack
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _interrupt_count	__kernel_interrupt_count
+#define _arm_vector_add		__kernel_arm_vector_add
+#define _arm_handler_add	__kernel_arm_handler_add
+#define _int_stack		__kernel_int_stack
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_support.S	(revision 26)
@@ -0,0 +1,242 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.27 2007/01/05 01:02:31 honda Exp $
+ */
+
+/*
+ *    ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼ARMv4ç¨ï¼
+ */
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <armv4.h>
+#include <t_config.h>
+        
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatch ã¯ï¼ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°
+ *  ãªããªãï¼
+ *  _exit_and_dispatch ãï¼ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºã
+ *  ã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼IRQã¢ã¼ãã§å¼ã³åºãã
+ *  å ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+
+        .text
+        .align 4    
+        .globl dispatch
+        .globl exit_and_dispatch
+dispatch:
+        stmfd sp!, {r4 - r11,lr}   /* ã¬ã¸ã¹ã¿ã®ä¿å­ */
+        ldr   r0, =runtsk          /* runtskãèª­ã¿è¾¼ã */
+        ldr   r1, [r0]
+        str   sp, [r1,#TCB_sp]      /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+        adr   r2, dispatch_r
+        str   r2, [r1,#TCB_pc]      /* å®è¡åéçªå°ãä¿å­ */
+        ldr   r6, =interrupt_count  /* r6 <-interrupt_count */
+        mov   r5, #(CPSR_SVC|CPSR_IRQ_BIT)  /* å²ãè¾¼ã¿ç¦æ­¢(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã) */
+        mov   r4, #(CPSR_SVC)               /* å²ãè¾¼ã¿è¨±å¯(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã) */
+        b     dispatcher_1
+
+dispatch_r:
+        ldmfd sp!,{r4 - r11,lr}
+        /*
+         * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+         * dispatch_r ã¯ dispatcher_1 ããå¼ã³åºãããããï¼
+         * tcbã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+         */
+        ldrb  r0,[r1,#TCB_enatex]
+        tst   r0,#TCB_enatex_mask
+        beq   dispatch_r_1          /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        ldr   r0,[r1,#TCB_texptn]   /* texptnãã­ã¼ã               */
+        tst   r0,r0                 /* texptn ã0ã§ç¡ããã°         */
+        bne   call_texrtn           /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+dispatch_r_1:   
+        mov   pc,lr        
+
+
+
+exit_and_dispatch:
+        ldr   r6, =interrupt_count /* interrupt_countã0ã¯ãªã¢ */
+        mov   r3, #0        
+        str   r3, [r6]                                        
+        /*
+         *  FIQã¯å¸¸ã«ç¦æ­¢ããï¼
+         */
+        mov   r5, #(CPSR_SVC|CPSR_IRQ_BIT) /* å²ãè¾¼ã¿ç¦æ­¢(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã) */
+        mov   r4, #(CPSR_SVC)              /* å²ãè¾¼ã¿è¨±å¯(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã) */
+        mrs   r0, cpsr                     /* FIQãç¶æ¿            */
+        and   r0, r0, #CPSR_FIQ_BIT
+        orr   r0, r0, r5
+        msr   cpsr, r0          /* ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã */
+dispatcher_1:
+        /*
+         *  ããã§ã¯ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ãªããã°ãªããªãï¼
+         */
+        ldr   r0, =schedtsk   /* schedtsk ãèª­ã¿è¾¼ã */
+        ldr   r1, [r0]
+        ldr   r2, =runtsk     /* schedtsk ã runtskã« */
+        str   r1, [r2]        /* schedtsk ãããªãå ´åã¯runtskãNULLã« */
+        cmp   r1, #0
+        beq   dispatcher_2        
+dispatcher_3:           
+        ldr   sp, [r1,#TCB_sp] /* ã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+        ldr   pc, [r1,#TCB_pc] /* å®è¡åéçªå°ãå¾©å¸°   */
+dispatcher_2:
+        mov   r3,#1
+        str   r3, [r6]         /* interupt_count = 1 */
+        ldr   sp, =STACKTOP
+        /* sleepã¢ã¼ããæã¤CPUãªãæ¸ãæãã */
+        mrs   r0, cpsr        /* FIQãç¶æ¿           */
+        and   r0, r0, #CPSR_FIQ_BIT
+        orr   r0, r0, r4
+        msr   cpsr, r0        /* å²è¾¼ã¿å¾
+ã¡          */
+        WAIT_INTERRUPT
+        mrs   r0, cpsr        /* FIQãç¶æ¿           */
+        and   r0, r0, #CPSR_FIQ_BIT
+        orr   r0, r0, r5
+        msr   cpsr, r0        /* å²è¾¼ã¿ç¦æ­¢          */        
+        mov   r3,#0
+        str   r3, [r6]        /* interrupt_count = 0 */   
+        b     dispatcher_1
+
+
+                
+/*
+ *  ã¿ã¹ã¯èµ·åæå¦ç
+ */
+        .text
+        .globl activate_r
+activate_r:
+        mov   r1,#(CPSR_SVC|CPSR_FIQ_BIT) /* å²ãè¾¼ã¿è¨±å¯(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã) */
+        mrs   r2, cpsr         /* FIQãç¶æ¿   */
+        and   r2, r2, #CPSR_FIQ_BIT
+        orr   r1, r1, r2            
+        msr   cpsr, r1         /* å²è¾¼ã¿è¨±å¯ */
+        ldr   lr, =ext_tsk     /* æ»ãçªå°è¨­å® */
+        ldmfd sp!, {r0,pc}     /* å¼æ°,PCè¨­å®  */
+
+
+        
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ *  ret_int ã¯ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã»IRQå²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãï¼
+ */
+        .text
+        .globl ret_int
+        .globl ret_exc 
+ret_int:
+ret_exc:                
+        /*
+         *   ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã§æ¥ããã¨
+         */
+        ldr   r2, =runtsk       /* runtsk ãèª­ã¿è¾¼ã */
+        ldr   r1, [r2]
+        ldr   r2, =enadsp
+        ldr   r0, [r2]
+        cmp   r0, #0
+        beq   ret_int_1
+        ldr   r2, =schedtsk
+        ldr   r0, [r2]
+        cmp   r0, r1            /* schedtsk ã¨ runtsk ãæ¯è¼ */
+        beq   ret_int_1
+        stmfd sp!, {r4-r11}     /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+        str   sp, [r1,#TCB_sp]  /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+        adr   r0, ret_int_r     /* å®è¡åéçªå°ãä¿å­   */
+        str   r0, [r1,#TCB_pc]
+        b     dispatcher_1
+ret_int_r:
+        ldmfd sp!, {r4-r11}     /* ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+ret_int_1:
+        /*
+         * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+         * dispatch_r ã¯ dispatcher_1 ããå¼ã³åºãããããï¼
+         * tcbã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+         * ret_int_1 ã¯ ret_exe ããå¼ã³åºããã
+         */
+        ldrb  r0, [r1,#TCB_enatex]
+        tst   r0, #TCB_enatex_mask
+        beq   ret_int_2              /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        ldr   r0, [r1,#TCB_texptn]   /* texptnãã­ã¼ã               */
+        tst   r0, r0                 /* texptn ã0ã§ç¡ããã°         */
+        blne  call_texrtn            /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */        
+ret_int_2:              
+        ldmfd sp!, {r0}       /* spsr ãå¾©å¸° */
+        mrs   r2, cpsr        /* FIQãç¶æ¿            */
+        and   r2, r2, #CPSR_FIQ_BIT
+        and   r0, r0, #~CPSR_FIQ_BIT
+        orr   r0, r0, r2              
+        msr     spsr, r0              /* æ»ãå
+ã®cpsrãspsrã«è¨­å® */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /* ã¿ã¹ã¯ã«å¾©å¸° ^ä»ããªã®ã§ãcpsr <- spsr */
+        
+        /*
+         *  å¾®å°æéå¾
+ã¡
+         */
+	.globl sil_dly_nse
+sil_dly_nse:
+        sub   r0, r0, #SIL_DLY_TIM1
+        cmp   r0, #0
+        bgt   _sil_dly_nse1
+        movle pc, lr
+_sil_dly_nse1:
+        sub   r0, r0, #SIL_DLY_TIM2
+        cmp   r0, #0
+        bgt   _sil_dly_nse1
+        movle pc, lr
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cpu_unrename.h	(revision 26)
@@ -0,0 +1,28 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef interrupt_count
+#undef arm_vector_add
+#undef arm_handler_add
+#undef int_stack
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _interrupt_count
+#undef _arm_vector_add
+#undef _arm_handler_add
+#undef _int_stack
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/Makefile.config	(revision 26)
@@ -0,0 +1,40 @@
+#
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼CQ-FRK-NXP-ARMç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+	-I$(CONFIGDIR)/$(CPU)/_common_lpc2388 \
+	-I$(SRCDIR)/pdic/simple_sio
+COPTS    := $(COPTS) -mcpu=arm9tdmi 
+LDFLAGS  := $(LDFLAGS) -mcpu=arm9tdmi  -N 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS) \
+	:$(CONFIGDIR)/$(CPU)/_common_lpc2388 \
+	:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) chip_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) chip_config.o sys_config.o chip_mmr.o lpc2388uart.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/_common_lpc2388/lpc2388.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  LPC2388ç¨
+COPTS   := $(COPTS) -mlittle-endian   
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.c	(revision 26)
@@ -0,0 +1,174 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMï¼
+ */
+
+#include "jsp_kernel.h"
+#include <lpc2388.h>
+
+
+
+/*
+ * OSCã®åæå(ã·ã¹ãã åºæ). 4MHz ã®å
+é¨ãªã·ã¬ã¼ã¿ãä½¿ã
+ */
+static void
+init_clock()
+{
+	/* 1. ããPLLãä½¿ç¨ãã¦ãããªãããã£ã¹ã³ãã¯ããããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ã */
+	PLLCON &= 0xFFFFFFFD;	/* Clear bit 1, PLL bypassed */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 2. PLLããã£ã»ã¼ãã«ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ãã */
+	PLLCON = 0;		/* Disable PLL */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 3. CPUã¯ã­ãã¯ã»ãã£ãã¤ãã®è¨­å®ããPLLãªãã§ãé
+ããªããããªãããã«è¨­å®ããã */
+	CCLKCFG = 0;	/* CCLK = PCLK / 1 */
+
+	/* 4. PLLã®ã¯ã­ãã¯ã½ã¼ã¹ãå¤æ´ããã */
+	CLKSRCSEL = 0;	/* Select 4MHz internal oscillator*/
+//	CLKSRCSEL = 1;	/* Select 12MHz main oscillator*/
+
+	/* 5. PLLCFGã¸ã®æ¸ãè¾¼ã¿ãè¡ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ãã§æå¹åããã
+	 * PLLCFGã¯ãPLLããã£ã»ã¼ãã«ã®ã¨ãã«ã ãå¤æ´ã§ããã */
+	PLLCFG = 35;	/* Divide by 1, Multiply by 72, PCLK = 4*72 = 288MHz */
+//	PLLCFG = 11;	/* Divide by 1, Multiply by 24, PCLK = 12*24 = 288MHz */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 6. PLLãã¤ãã¼ãã«ã«ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ã. */
+	PLLCON = 1;		/* Enable PLL */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 7. CPUã¯ã­ãã¯ã»ãã£ãã¤ãã®å¤ããPLLåä½ç¨ã«å¤æ´ããã
+	 * ããã¯å¿
+ããPLLãã¯ã­ãã¯æºã¨ãã¦æ¥ç¶ããåã«è¡ãã */
+	CCLKCFG = 3;	/* CCLK = PCLK/4 = 288/4 = 72MHz */
+
+	/* 8. PLLSTATã¬ã¸ã¹ã¿ã®PLOCK bitãèª¿ã¹ã¦ãPLLãã­ãã¯ããã¾ã§å¾
+ã¤ã
+	 * ãããã¯PLOCKå²ãè¾¼ã¿ãä½¿ç¨ãã¦ãããããããã¯ãPLLã®å
+¥åã¯ã­ãã¯ãå°ãã(32kHzãªã©)ãªãã
+	 * åç´ã«ã¦ã§ã¤ãã»ã«ã¼ããåãã¦ãããã*/
+	while ( !(PLLSTAT & (1<<26)))
+		;
+
+	/* 9. PLLãã·ã¹ãã ã«æ¥ç¶ãããã£ã¼ãã·ã¼ã±ã³ã¹ãå®è¡ãã */
+	PLLCON = 3;		/* Select PLL as CPU clock source */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+}
+
+
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    init_vector();			/* SRAMã®ãªããããLPC2388å
+±é */
+
+    init_clock();			/* PLLã®è¨­å®ãã·ã¹ãã åºæ */
+
+    init_uart0();			/* UART0ã®åæåãã·ã¹ãã åºæ */
+
+    init_IRQ();				/* VICãåæåãããLPC2388å
+±é */
+
+    		/* å¿
+è¦ãªããªãã§ã©ã«ã®é»æºãå
+¥ãã(ã·ã¹ãã åºæ) */
+			/* ãªããUART0ã¨TIMER3ã¯LPC2388å
+±éã§å¿
+è¦ */
+	PCONP |= 0x00800008;	/* bit3:UART0, bit23:TIMER3 */
+
+			/* UART0ã®ãã³ãè¨­å® (LPC2388å
+±é) */
+	PINSEL0 &= ~0xF0;			/* bit 4-7ã ããã¯ãªã¢ */
+	PINSEL0 |= 0x50;			/* UARTå
+¥åºåãå²ãå½ã¦ */
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²ï¼ã©ã®ARMv4ã·ã¹ãã ã§ãè¦æ±ãããï¼
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+
+    /*
+     * Memory Acceleration Moduleã®è¨­å® ( NXPç¤¾ UM10211 chapter 7 )
+     * Flashã¡ã¢ãªã®ããªãã§ãããä½¿ã£ã¦ãã­ã°ã©ã å®è¡ãé«éåãã
+     */
+    MAMCR = 0;		/* å¿µã®ããMAMããªãã«ãã */
+    MAMTIM = 4;		/* UM10211ã«ããã°ã60MHzä»¥ä¸ã§åä½ããã¨ãã¯4ã«è¨­å®ãã */
+    MAMCR = 2;		/* MAMæ©è½ããªã³ã«ãã */
+
+}
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_config.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ * ã·ã¹ãã ä¾å­é¨ã®èä½æ¨©è¡¨ç¤ºãprint_banner()ããåç
+§ãããã
+ */
+#define COPYRIGHT_SYS "Copyright (C) 2009-2010 by TOPPERS/JSP for LPC2388 project\n"\
+"            http://sourceforge.jp/projects/toppersjsp4lpc/\n"
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * LPC2388å
+±éé¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãèª­ã¿è¾¼ã
+ */
+#include <chip_config.h>
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ *  LPC2388çã§ã¯ãU0, U2, U3ãä½¿ããU1ã¯ä½¿ããªãã
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ°. æå¤§3 */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ * LP2388ã®ã¯ã­ãã¯è¨­å®
+ */
+#define LP2388_CCLK (72000000)	/* 72MHz */
+#define LP2388_SYSTEM_TIMER3_CLOCK (LP2388_CCLK/4)
+#define LP2388_SYSTEM_UART0_CLOCK (LP2388_CCLK/4)
+
+#define UART0_BAUD_RATE 57600
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm/sys_defs.h	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ * å
+±éãããä¾å­é¨ã®èª­ã¿è¾¼ã¿
+ */
+#include <chip_defs.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define    TARGET_NAME    "CQ-FRK-NXP-ARM"
+
+/*
+ *  ã¿ã¼ã²ããè­å¥å­
+ */
+#define CQ_FRK_NXP_ARM
+
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/Makefile.config	(revision 26)
@@ -0,0 +1,45 @@
+#
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼CQ-FRK-NXP-ARMç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+	-I$(CONFIGDIR)/$(CPU)/_common_lpc2388 \
+	-I$(SRCDIR)/pdic/simple_sio
+COPTS    := $(COPTS) -mcpu=arm9tdmi -D__RUN_ON_SRAM
+LDFLAGS  := $(LDFLAGS) -mcpu=arm9tdmi  -N 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS) \
+	:$(CONFIGDIR)/$(CPU)/_common_lpc2388 \
+	:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) chip_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) chip_config.o sys_config.o chip_mmr.o lpc2388uart.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+# Flash ROMã§å®è¡ããã³ã¼ã
+#LDSCRIPT = $(CPU)/_common_lpc2388/lpc2388.ld
+
+SRAMã§å®è¡ããã³ã¼ããã­ã¼ãããåã«	MEMMAP = 0x02;ã§SRAMããã¯ãã«é åã«ããããããã¨
+LDSCRIPT = $(CPU)/_common_lpc2388/lpc2388_sram.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  LPC2388ç¨
+COPTS   := $(COPTS) -mlittle-endian   
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.c	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMï¼
+ */
+
+#include "jsp_kernel.h"
+#include <lpc2388.h>
+
+
+
+/*
+ * OSCã®åæå(ã·ã¹ãã åºæ). 4MHz ã®å
+é¨ãªã·ã¬ã¼ã¿ãä½¿ã
+ */
+static void
+init_clock()
+{
+	/* 1. ããPLLãä½¿ç¨ãã¦ãããªãããã£ã¹ã³ãã¯ããããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ã */
+	PLLCON &= 0xFFFFFFFD;	/* Clear bit 1, PLL bypassed */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 2. PLLããã£ã»ã¼ãã«ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ãã */
+	PLLCON = 0;		/* Disable PLL */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 3. CPUã¯ã­ãã¯ã»ãã£ãã¤ãã®è¨­å®ããPLLãªãã§ãé
+ããªããããªãããã«è¨­å®ããã */
+	CCLKCFG = 0;	/* CCLK = PCLK / 1 */
+
+	/* 4. PLLã®ã¯ã­ãã¯ã½ã¼ã¹ãå¤æ´ããã */
+	CLKSRCSEL = 0;	/* Select 4MHz internal oscillator*/
+//	CLKSRCSEL = 1;	/* Select 12MHz main oscillator*/
+
+	/* 5. PLLCFGã¸ã®æ¸ãè¾¼ã¿ãè¡ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ãã§æå¹åããã
+	 * PLLCFGã¯ãPLLããã£ã»ã¼ãã«ã®ã¨ãã«ã ãå¤æ´ã§ããã */
+	PLLCFG = 35;	/* Divide by 1, Multiply by 72, PCLK = 4*72 = 288MHz */
+//	PLLCFG = 11;	/* Divide by 1, Multiply by 24, PCLK = 12*24 = 288MHz */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 6. PLLãã¤ãã¼ãã«ã«ãããã£ã¼ãã»ã·ã¼ã±ã³ã¹ãè¸ã. */
+	PLLCON = 1;		/* Enable PLL */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+
+	/* 7. CPUã¯ã­ãã¯ã»ãã£ãã¤ãã®å¤ããPLLåä½ç¨ã«å¤æ´ããã
+	 * ããã¯å¿
+ããPLLãã¯ã­ãã¯æºã¨ãã¦æ¥ç¶ããåã«è¡ãã */
+	CCLKCFG = 3;	/* CCLK = PCLK/4 = 288/4 = 72MHz */
+
+	/* 8. PLLSTATã¬ã¸ã¹ã¿ã®PLOCK bitãèª¿ã¹ã¦ãPLLãã­ãã¯ããã¾ã§å¾
+ã¤ã
+	 * ãããã¯PLOCKå²ãè¾¼ã¿ãä½¿ç¨ãã¦ãããããããã¯ãPLLã®å
+¥åã¯ã­ãã¯ãå°ãã(32kHzãªã©)ãªãã
+	 * åç´ã«ã¦ã§ã¤ãã»ã«ã¼ããåãã¦ãããã*/
+	while ( !(PLLSTAT & (1<<26)))
+		;
+
+	/* 9. PLLãã·ã¹ãã ã«æ¥ç¶ãããã£ã¼ãã·ã¼ã±ã³ã¹ãå®è¡ãã */
+	PLLCON = 3;		/* Select PLL as CPU clock source */
+	PLLFEED = 0xAA;
+	PLLFEED = 0x55;
+}
+
+
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    init_vector();			/* SRAMã®ãªããããLPC2388å
+±é */
+
+    init_clock();			/* PLLã®è¨­å®ãã·ã¹ãã åºæ */
+
+    init_uart0();			/* UART0ã®åæåãã·ã¹ãã åºæ */
+
+    init_IRQ();				/* VICãåæåãããLPC2388å
+±é */
+
+    		/* å¿
+è¦ãªããªãã§ã©ã«ã®é»æºãå
+¥ãã(ã·ã¹ãã åºæ) */
+			/* ãªããUART0ã¨TIMER3ã¯LPC2388å
+±éã§å¿
+è¦ */
+	PCONP |= 0x00800008;	/* bit3:UART0, bit23:TIMER3 */
+
+			/* UART0ã®ãã³ãè¨­å® (LPC2388å
+±é) */
+	PINSEL0 &= ~0xF0;			/* bit 4-7ã ããã¯ãªã¢ */
+	PINSEL0 |= 0x50;			/* UARTå
+¥åºåãå²ãå½ã¦ */
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²ï¼ã©ã®ARMv4ã·ã¹ãã ã§ãè¦æ±ãããï¼
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+
+}
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_config.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ * ã·ã¹ãã ä¾å­é¨ã®èä½æ¨©è¡¨ç¤ºãprint_banner()ããåç
+§ãããã
+ */
+#define COPYRIGHT_SYS "Copyright (C) 2009-2010 by TOPPERS/JSP for LPC2388 project\n"\
+"            http://sourceforge.jp/projects/toppersjsp4lpc/\n"
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * LPC2388å
+±éé¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãèª­ã¿è¾¼ã
+ */
+#include <chip_config.h>
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ *  LPC2388çã§ã¯ãU0, U2, U3ãä½¿ããU1ã¯ä½¿ããªãã
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ°. æå¤§3 */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ * LP2388ã®ã¯ã­ãã¯è¨­å®
+ */
+#define LP2388_CCLK (72000000)	/* 72MHz */
+#define LP2388_SYSTEM_TIMER3_CLOCK (LP2388_CCLK/4)
+#define LP2388_SYSTEM_UART0_CLOCK (LP2388_CCLK/4)
+
+#define UART0_BAUD_RATE 57600
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/cq_frk_nxp_arm_sram/sys_defs.h	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *                2009 by Suikan
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼CQ-FRK-NXP-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ * å
+±éãããä¾å­é¨ã®èª­ã¿è¾¼ã¿
+ */
+#include <chip_defs.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define    TARGET_NAME    "CQ-FRK-NXP-ARM-SRAM"
+
+/*
+ *  ã¿ã¼ã²ããè­å¥å­
+ */
+#define CQ_FRK_NXP_ARM_SRAM
+
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/Makefile.config	(revision 26)
@@ -0,0 +1,34 @@
+#
+#  @(#) $Id: Makefile.config,v 1.6 2003/12/01 06:29:15 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼Optimize EZARM7ãã¼ãç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS) -mcpu=arm7tdmi
+LDFLAGS  := $(LDFLAGS) -mcpu=arm7tdmi  -N
+DBGENV   := 
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o lpc2214.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/ezarm7.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+COPTS   := $(COPTS) -mlittle-endian
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+TEXT_START_ADDRESS=0x0000003c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005- by Monami software, LP.
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id$
+ */
+
+/*
+ *   Optimizeè£½EZARM7ç¨ã®å®ç¾©
+ *   sys_config.hããã¤ã³ã¯ã«ã¼ãããã
+ */
+
+#ifndef _EZARM7_H_
+#define _EZARM7_H_
+
+#include <lpc2214.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define    TARGET_NAME    "Optimize EZARM7"
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ *
+ *  ã·ã¹ãã ã¡ã¢ãªããã
+ *
+ *  On-Chip Non-volatile Memory : 0x00000000 - 0x0001FFFF   (128KB)
+ *  On-chip SRAM0               : 0x40000000 - 0x40003fff   ( 16KB)
+ *
+ *  JSPã§ã®å²ãå½ã¦
+ *  0x00000000 - 0x0001ffff ã³ã¼ãé å(128Kbyte)
+ *  0x40000000 -            ãã¼ã¿é å( 64Kbyte)
+ *             - 0x4003ffff ã¿ã¹ã¯ç¬ç«é¨ã¹ã¿ãã¯
+ */
+
+#define   STACKTOP 0x40003ffc   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  UARTã®ãã¼ã¬ã¼ã
+ */
+#define UART_BPS      115200
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK          1000
+
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _EZARM7_H_ */
+
+
+
+ 
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/ezarm7.ld	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  @(#) $Id: excalibur.ld,v 1.4 2003/07/01 15:59:15 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+	
+MEMORY {
+	/*  0x00000000 -> 0x0001FFFF */
+	rom1		: o = 0x00000000, l = 0x20000
+
+	rom2		: o = 0x00020000, l = 0x20000
+
+	/* use 16k for .stack, .data and .bss */
+	in_ram		: o = 0x40000000, l = 0x4000
+
+	ex_ram		: o = 0x80000000, l = 0x50000000
+
+}
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE (software_term_hook = 0);
+/*PROVIDE(sbi_data_start = 0);*/
+
+SECTIONS
+{
+    . = 0x0;
+    .vector : {
+        *(.vector)
+    } >in_ram AT>rom1
+    .text :	
+    {
+        __text = . ; 	
+	    start.o(.text)
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    } >rom1
+
+    _etext = .	;
+    PROVIDE (etext = .)	;
+
+    .rodata : { 
+	*(.rodata) 
+        *(.rodata*)
+
+    } >rom1
+
+	. = ALIGN(4);
+    __idata_start = . ;
+    .data  : {
+        __data_start = .;
+        *(.data)
+	*(.sbi)
+    }  >in_ram AT>rom1
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    _edata  =  . ;
+    PROVIDE (edata = .);
+
+    .bss ALIGN(4) :
+    {
+    __bss_start = .;
+      *(.bss)
+   . = ALIGN(32 / 8);
+    } >in_ram
+
+   . = ALIGN(32 / 8);
+     _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to 
+     the beginning of the section so we begin them at 0.  */
+
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/03/13 17:53:51 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Excaliburç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_serial.h	(revision 26)
@@ -0,0 +1,171 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼EZARM7ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <ezarm7.h>
+
+
+/*
+ *  ã·ãªã¢ã«ã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO   6
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+    UW	    wbits;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+      
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+ 
+    if(!openflag){
+	/*
+	 *  å²ãè¾¼ã¿ã¬ãã«è¨­å®
+	 */
+	define_ipm(INHNO_SIO, -15);
+
+	sil_wrw_mem(UART_MCR, 0x3 | 0x8);
+    }
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    UW	    wbits;
+
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+
+    /*
+     *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+     */
+    if (!uart_openflag) {
+	define_ipm(INHNO_SIO, 0);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/hw_timer.h	(revision 26)
@@ -0,0 +1,183 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyritht (C) 2005- by Monami software, LP.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã¿ã¤ãã¢ã¸ã¥ã¼ã« ï¼LPC2214ç¨ï¼
+ *  TIMER0ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <lpc2214.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define    INHNO_TIMER    4
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW    CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno)    (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    UW	        wbits;
+    CLOCK	cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+    /*
+     *  å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+
+    /* å²ãè¾¼ã¿ã¬ãã«è¨­å®(ã½ããã¦ã§ã¢) */
+    define_ipm(INHNO_TIMER,-15);
+
+    
+    /* å²è¾¼ã¿ã¤ãã¼ãã« */
+    sil_wrw_mem((VP)TIMER_T0TCR, 0);
+    sil_wrw_mem((VP)TIMER_T0IR, 0xff);
+    sil_wrw_mem((VP)TIMER_T0TC, 0);
+    sil_wrw_mem(TIMER_T0PR, 0);
+    sil_wrw_mem(TIMER_T0PC, 0);
+    sil_wrw_mem(TIMER_T0MCR, (MCR_INT_MR0 | MCR_RST_MR0 | MCR_STP_MR0));
+    sil_wrw_mem(TIMER_T0MR0, 3675);
+
+    /* counter enabled. */
+    sil_wrw_mem((VP)TIMER_T0TCR, 1);
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+    UW wbits;
+
+    /* å²è¾¼ã¿ã¯ãªã¢ */
+    sil_wrw_mem((VP)TIMER_T0IR, 0xff);
+    /* counter enabled. */
+    sil_wrw_mem((VP)TIMER_T0TCR, 1);
+}
+
+
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    UW wbits;
+
+    /* å²è¾¼ã¿ãã£ã»ã¼ãã« */
+    /* TODO */
+
+    sil_wrw_mem((VP)TIMER_T0IR, 0xff);
+}
+
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(TO_CLOCK(TIC_NUME, TIC_DENO) -
+           sil_rew_mem((VP)TIMER_T0TC));
+}
+
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+  return sil_rew_mem((VP)TIMER_T0IR) & 1;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.c	(revision 26)
@@ -0,0 +1,416 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005- by Monami software, LP.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *    LPC2214 å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <lpc2214.h>
+
+/*
+ * å
+é¨UARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+struct sio_port_control_block {
+    const SIOPINIB  *siopinib; /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;     /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;          /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;          /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;          /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;          /* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {{}};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return (sil_rew_mem(UART_LSR) & 0x01) != 0;
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    return (sil_rew_mem(UART_LSR) & 0x20) != 0;
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return (UB)sil_rew_mem(UART_RBR);  
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem(UART_THR, (VW)c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    VW wbits;
+    wbits = sil_rew_mem(UART_IER);
+    wbits |= UART_INT_T;
+    sil_wrw_mem(UART_IER,wbits);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    VW wbits;
+    wbits = sil_rew_mem(UART_IER);
+    wbits &= ~UART_INT_T;
+    sil_wrw_mem(UART_IER,wbits);
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    VW wbits;
+    wbits = sil_rew_mem(UART_IER);
+    wbits |= UART_INT_R;
+    sil_wrw_mem(UART_IER,wbits);
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+    VW wbits;
+    wbits = sil_rew_mem(UART_IER);
+    wbits &= ~UART_INT_R;
+    sil_wrw_mem(UART_IER,wbits);
+}
+
+
+
+/*
+ * ã«ã¼ãã«èµ·åæã®ã­ã°åºåç¨ã®åæå
+ */
+void
+uart_init(void){
+    UW wbits;
+    UH devisor;
+
+#if 0
+    /*
+     *  GP34ã41 ã FFUART ã¨ãã¦å©ç¨
+     */
+    wbits = sil_rew_mem(GPIO_GAFR0_y);
+    wbits = (wbits & 0xfff0000f) | 0x000a9550;
+    sil_wrw_mem(GPIO_GAFR0_y, wbits);
+
+    /*
+     *  TXD, RTS/RTS ãåºåã«ãã
+     */
+    wbits = sil_rew_mem(GPIO_GPDR_y);
+    wbits = (wbits & 0xfffffc7f) | 0x00000380;
+    sil_wrw_mem(GPIO_GPDR_y, wbits);
+    
+    /*
+     * RS232C ãã©ã¤ããã¼ãã¦ã§ã¢ã®ã¤ãã¼ãã«
+     */
+    wbits = sil_rew_mem(CQ_PXA250_CONFIG);
+    wbits |= 0x200;
+    sil_wrw_mem(CQ_PXA250_CONFIG, wbits);
+#endif
+
+    /*
+     *  UART_BPS ã14ä»¥ä¸ã®ã¨ãã
+     *  æ¼ç®çµæããªã¼ããã­ã¼ããã
+     *  å®éã«ãããªæ°å¤ã«ãããã¨ã¯
+     *  ããããªããå¿µã®ããã
+     */
+#if (UART_BPS < 15)
+#error UART_BPS is too small or undefined.
+#endif
+
+    devisor = 921600 / UART_BPS;
+
+    sil_wrw_mem(UART_LCR, 0x80);
+    sil_wrw_mem(UART_DLL, devisor & 0xff);
+    sil_wrw_mem(UART_DLH, (devisor >> 8) & 0xff);
+    sil_wrw_mem(UART_LCR, 0x3);
+    sil_wrw_mem(UART_FCR, 0x1);
+    sil_wrw_mem(UART_MCR, 0x3);
+    sil_wrw_mem(UART_IER, 0x40);
+}
+
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+void
+uart_putc(char c)
+{
+    UW buf_level;
+    
+    while((sil_rew_mem(UART_LSR) & 0x20) == 0) {
+	/* spin lock */
+    }
+    
+    sil_wrw_mem(UART_THR,(VW)c);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    uart_init();
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    /* clear FIFO  TxThr = 0 RxThr = 1*/
+    sil_wrw_mem(UART_FCR,(VW)(UART_FCR_TC | UART_FCR_RC));
+  
+    /* set interrupt */
+    sil_wrw_mem(UART_IER, 0x42);
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_isr()
+{
+	sil_wrw_mem((VP *)0xe002800c, 0x40000000);
+
+    uart_isr_siop(&(siopcb_table[0]));
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/lpc2214.h	(revision 26)
@@ -0,0 +1,291 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005- by Monami software, LP.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+#ifndef _LPC2214_H_
+#define _LPC2214_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include <armv4.h>
+
+/*
+ *  Device Registers
+ */
+
+/*
+ * PXA250 RTC
+ */
+#define	RTC_RCNR	((VP)0x40900000)
+#define	RTC_RTAR	((VP)0x40900004)
+#define	RTC_RTSR	((VP)0x40900008)
+#define	RTC_RTTR	((VP)0x4090000c)
+
+/*
+ * LPC2214 TIMER0/TIMER1
+ */
+#define TIMER_T0IR	((VP)0xe0004000)
+#define TIMER_T0TCR	((VP)0xe0004004)
+#define TIMER_T0TC	((VP)0xe0004008)
+#define TIMER_T0PR	((VP)0xe000400c)
+#define TIMER_T0PC	((VP)0xe0004010)
+#define TIMER_T0MCR	((VP)0xe0004014)
+#define TIMER_T0MR0	((VP)0xe0004018)
+#define TIMER_T0MR1	((VP)0xe000401c)
+#define TIMER_T0MR2	((VP)0xe0004020)
+#define TIMER_T0MR3	((VP)0xe0004024)
+#define TIMER_T0CCR	((VP)0xe0004028)
+#define TIMER_T0CR0	((VP)0xe000402c)
+#define TIMER_T0CR1	((VP)0xe0004030)
+#define TIMER_T0CR2	((VP)0xe0004034)
+#define TIMER_T0CR3	((VP)0xe0004038)
+#define TIMER_T0EMR	((VP)0xe000403c)
+
+#define TIMER_T1IR	((VP)0xe0008000)
+#define TIMER_T1TCR	((VP)0xe0008004)
+#define TIMER_T1TC	((VP)0xe0008008)
+#define TIMER_T1PR	((VP)0xe000800c)
+#define TIMER_T1PC	((VP)0xe0008010)
+#define TIMER_T1MCR	((VP)0xe0008014)
+#define TIMER_T1MR0	((VP)0xe0008018)
+#define TIMER_T1MR1	((VP)0xe000801c)
+#define TIMER_T1MR2	((VP)0xe0008020)
+#define TIMER_T1MR3	((VP)0xe0008024)
+#define TIMER_T1CCR	((VP)0xe0008028)
+#define TIMER_T1CR0	((VP)0xe000802c)
+#define TIMER_T1CR1	((VP)0xe0008030)
+#define TIMER_T1CR2	((VP)0xe0008034)
+#define TIMER_T1CR3	((VP)0xe0008038)
+#define TIMER_T1EMR	((VP)0xe000803c)
+
+#define MCR_INT_MR0 (1u)
+#define MCR_RST_MR0 (2u)
+#define MCR_STP_MR0 (4u)
+
+/*
+ * intrrupt control
+ */
+#define INTC_ICIP	0x40d00000
+#define INTC_ICMR	0x40d00004
+#define INTC_ICFP	0x40d0000c /* should not be used in the kenrel. */
+#define INTC_ICPR	0x40d00010
+#define INTC_ICLR	((VP)0x40d00008)
+#define INTC_ICCR	((VP)0x40d00014)
+#define INT_MASK_UA     (1<<22)
+#define INT_MASK_T0     (1<<26)
+
+
+/*
+ *  SCI Registers
+ */
+#define	UART_BASE	(0xE0010000)
+#define	UART_RBR	(VP)(UART_BASE+ 0)
+#define	UART_THR	(VP)(UART_BASE+ 0)
+#define	UART_IER	(VP)(UART_BASE+ 4)
+#define	UART_IIR	(VP)(UART_BASE+ 8)
+#define	UART_FCR	(VP)(UART_BASE+ 8)
+#define	UART_LCR	(VP)(UART_BASE+ 0xc)
+#define	UART_MCR	(VP)(UART_BASE+ 0x10)
+#define	UART_LSR	(VP)(UART_BASE+ 0x14)
+#define	UART_MSR	(VP)(UART_BASE+ 0x18)
+#define	UART_SPR	(VP)(UART_BASE+ 0x1c)
+#define	UART_DLL	(VP)(UART_BASE+ 0)
+#define	UART_DLH	(VP)(UART_BASE+ 4)
+/* #define	UART_ISR	(VP)(UART_BASE+ 0x20) -- LP2214 doesn't have ISR register. */
+
+#define	GPIO_GPLR_x	(VP)(0x40e00000)
+#define	GPIO_GPLR_y	(VP)(0x40e00004)
+#define	GPIO_GPLR_z	(VP)(0x40e00008)
+#define	GPIO_GPDR_x	(VP)(0x40e0000c)
+#define	GPIO_GPDR_y	(VP)(0x40e00010)
+#define	GPIO_GPDR_z	(VP)(0x40e00014)
+#define	GPIO_GPSR_x	(VP)(0x40e00018)
+#define	GPIO_GPSR_y	(VP)(0x40e0001c)
+#define	GPIO_GPSR_z	(VP)(0x40e00020)
+#define	GPIO_GPCR_x	(VP)(0x40e00024)
+#define	GPIO_GPCR_y	(VP)(0x40e00028)
+#define	GPIO_GPCR_z	(VP)(0x40e0002c)
+#define	GPIO_GRER_x	(VP)(0x40e00030)
+#define	GPIO_GRER_y	(VP)(0x40e00034)
+#define	GPIO_GRER_z	(VP)(0x40e00038)
+#define	GPIO_GFER_x	(VP)(0x40e0003c)
+#define	GPIO_GFER_y	(VP)(0x40e00040)
+#define	GPIO_GFER_z	(VP)(0x40e00044)
+#define	GPIO_GEDR_x	(VP)(0x40e00048)
+#define	GPIO_GEDR_y	(VP)(0x40e0004c)
+#define	GPIO_GEDR_z	(VP)(0x40e00050)
+#define	GPIO_GAFR0_x	(VP)(0x40e00054)
+#define	GPIO_GAFR1_x	(VP)(0x40e00058)
+#define	GPIO_GAFR0_y	(VP)(0x40e0005c)
+#define	GPIO_GAFR1_y	(VP)(0x40e00060)
+#define	GPIO_GAFR0_z	(VP)(0x40e00064)
+#define	GPIO_GAFR1_z	(VP)(0x40e00068)
+
+#define CQ_PXA250_CONFIG	(VP)(0x0a000000)
+
+/*
+ *  SCI Registers
+ */
+#define CAL_BPS(bps,clk) ((clk)/(16*(bps)))
+
+#define UART_FCR_TC        0x01
+#define UART_FCR_RC        0x02
+
+#define UART_INT_R        0x01
+#define UART_INT_T        0x02 
+#define UART_INT_TI       0x04
+#define UART_INT_M        0x08
+
+#ifndef _MACRO_ONLY
+/*
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void uart_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block   SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+extern void uart_putc(char c);
+
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+#endif /* _MACRO_ONLY */
+
+
+#endif  /*  _LPC2214_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.c	(revision 26)
@@ -0,0 +1,192 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼EZARM7ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <lpc2214.h>
+
+
+
+void
+hardware_init_hook()
+{
+    extern int __ivector_end;
+    int i;
+    VB *sram;
+
+    sram = (VB *)0x40000000;
+    /*
+     *  Remap vector to Static RAM.
+     */
+    for(i = 0; i < 0x40; i++) {
+      sram[i] = *((VB *)i);
+    }
+    sil_wrw_mem((VP)(0xe01fc040), 2);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    sil_wrw_mem((VP *)(0xfffff034), undef_interrupt);
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+  
+    /*
+     *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+     */
+    uart_init();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+  uart_putc(c);  
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    VW *base;
+    assert(inhno < MAX_INT_NUM);
+
+    base = (VW *)(0xfffff100);
+    sil_wrw_mem((VP *)(&base[inhno]), inthdr);
+    sil_wrw_mem((VP *)0xfffff010, 1 << inhno);
+
+    base = (VW*)0xfffff200;
+    sil_wrw_mem((VP *)&(base[inhno]), inhno | 0x20);
+}
+
+
+/*
+ * å²è¾¼ã¿åªå
+åº¦ãè¨­å®ï¼
+ */
+void
+define_ipm(INHNO inhno, PRI pri)
+{
+    VW *base;
+
+    assert(inhno < MAX_INT_NUM);
+#if 0
+    base = (VW*)0xfffff200;
+    if (pri == 0) {
+	sil_wrw_mem((VP *)&(base[inhno]), 0);
+    } else {
+	pri = 16 + pri;
+	assert(0 <= pri && pri <= 15);
+	sil_wrw_mem((VP *)&(base[inhno]), pri | 0x20);
+    }
+#endif
+}
+
+
+void
+dis_int(INHNO inhno)
+{
+  sil_wrw_mem((VP *)0xfffff014, 1 << inhno);
+}
+
+void
+ena_int(INHNO inhno)
+{
+  sil_wrw_mem((VP *)0xfffff010, 1 << inhno);
+}
+
+
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_config.h	(revision 26)
@@ -0,0 +1,167 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Excalibur-ARMç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 32
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define    SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#define WAIT_INTERRUPT  mcr p14, 0, r3, c7, c0, 0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ãã¹ã¯ç»é²ç¨ãã¼ãã«
+ */
+extern UW   int_mask_table[MAX_INT_NUM];
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void);
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+/*
+ * å²è¾¼ã¿åªå
+åº¦ãè¨­å®ï¼
+ */
+extern void define_ipm(INHNO inhno, PRI pri);
+
+/*
+ * æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´å
+ */
+extern void undef_interrupt();
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_defs.h	(revision 26)
@@ -0,0 +1,119 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005- by Monami software, LP.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼EZARM7ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef	UD  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim);
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 20
+#define	SIL_DLY_TIM2	 10
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort()
+{
+     while(1);
+}
+
+/*
+ * ã¿ã¼ã²ãããã¼ãæ¯ã®è¨­å®ãèª­è¾¼ã
+ */
+#include <ezarm7.h>
+
+
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+int_table
+int_mask_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_support.S	(revision 26)
@@ -0,0 +1,208 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include <ezarm7.h>
+        
+
+
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *         
+ */        
+        .text
+        .align 4    
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+	mov   sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr   cpsr_all, sp
+        stmfd sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+
+  
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+	mov   r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr,r0
+        sub   r0,lr,#4
+        mrs   r1,spsr
+   
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        msr   cpsr_all, sp
+        str   r0, [sp,#0x18] /* Store pc */
+        stmfd sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+	moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+	
+	/*
+         *  å²è¾¼ã¿ãã³ãã©ã¢ãã¬ã¹åå¾ã¨ã®ä¿å­
+         */
+	ldr	r2, vic_vect_addr
+	ldr	r0, [r2]
+	ldr	r2, =handler_address
+	str	r0, [r2]
+	
+	/* 
+         * å²ãè¾¼ã¿è¨±å¯ 
+         */                
+        mov     r2,#(CPSR_SVC|CPSR_FIQ_BIT)
+        msr     cpsr,r2
+
+        /* 
+         * Call Handler  
+         */
+	mov     lr, pc
+        mov     pc, r0
+
+        /* 
+         * å²ãè¾¼ã¿ç¦æ­¢ 
+         */
+        mov     r2,#(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT) 
+        msr     cpsr,r2
+
+	/*
+         *  EOIçºè¡
+         */
+	ldr	r2, =handler_address
+	ldr	r0, [r2]
+	ldr	r2, vic_vect_addr
+	str	r0, [r2]
+
+	/* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]        
+        sub     r3, r1, #1                        
+        str     r3, [r2]
+        cmp     r3, #0x00        
+        bne     return_to_task_irq
+        
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}         
+        mov     sp, r0        
+                
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        msr     spsr, r1           /* å²ãè¾¼ã¿è¨±å¯   */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /*ã¿ã¹ã¯å¾©å¸° + å²è¾¼ã¿è¨±å¯ */
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */    
+undefined_interrupt:
+         b      undef_interrupt
+    
+vic_int_enable:
+	.long	0xfffff010
+vic_inten_clear:
+	.long	0xfffff014
+vic_vect_addr:
+	.long	0xfffff030
+vic_vect_def_addr:
+	.long	0xfffff034
+vic_vect_addr_15:
+	.long	0xfffff13c
+
+	.section .bss
+handler_address:
+	.long	0
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/ezarm7/sys_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/Makefile.config	(revision 26)
@@ -0,0 +1,84 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+#
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)?(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼FRK_ADuCç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+#COPTS    := $(COPTS) -mcpu=arm7tdmi -Wa,--gstabs 
+COPTS    := $(COPTS) -mcpu=arm7tdmi
+LDFLAGS  := $(LDFLAGS) -mcpu=arm7tdmi  -N 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o frk_aduc.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/frk_aduc.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  FRK_ADuCç¨
+COPTS   := $(COPTS) -mlittle-endian -nodefaultlibs -nostartfiles
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.c	(revision 26)
@@ -0,0 +1,377 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ * FRK_ADuC å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "frk_aduc.h"
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{(VP)COMRX, (VP)COMDIV0, (VP)COMDIV1,
+	 (VP)COMIEN0, (VP)COMIID0, (VP)COMCON0,
+	 (VP)COMSTA0, IRQ_UART}
+};
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+	return(((sil_rew_mem((VP)(siopcb->siopinib->line_status)) & COMSTA0_DR)!=0));
+}
+
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+	return((sil_rew_mem((VP)(siopcb->siopinib->line_status)) & COMSTA0_TEMT)!=0);
+}
+
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+	return(sil_rew_mem((VP)(siopcb->siopinib->uart_data)));
+}
+
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_data), c);
+}
+
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->int_enable),
+            (sil_rew_mem((VP)(siopcb->siopinib->int_enable)) | COMIEN0_ETBEI));
+}
+
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->int_enable),
+        (sil_rew_mem((VP)(siopcb->siopinib->int_enable)) & ~COMIEN0_ETBEI));
+}
+
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->int_enable),
+        (sil_rew_mem((VP)(siopcb->siopinib->int_enable)) | COMIEN0_ERBFI));
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->int_enable),
+        (sil_rew_mem((VP)(siopcb->siopinib->int_enable)) & ~COMIEN0_ERBFI));
+}
+
+
+
+/*
+ * ã«ã¼ãã«èµ·åæã®ã­ã°åºåç¨ã®åæå
+ */
+void
+init_uart(void){
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)COMIEN0, 0);
+    /* 9600bps */
+    sil_wrw_mem((VP)COMCON0, COMCON0_DLAB);
+    sil_wrw_mem((VP)COMDIV0, COMDIV0_BR9600); 
+    sil_wrw_mem((VP)COMDIV1, COMDIV1_BR9600);
+    /* 8Data, 1Stop, No Parity */
+    sil_wrw_mem((VP)COMCON0, (COMCON0_STOP|COMCON0_WLS_8b));
+    /* Enabel Receive Interrupt */
+    sil_wrw_mem((VP)COMIEN0, (COMIEN0_ERBFI|COMIEN0_ETBEI));      
+}
+
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+void
+uart_putc(char c)
+{
+    int i;
+
+    while((sil_rew_mem((VP)COMSTA0) & COMSTA0_TEMT)!=COMSTA0_TEMT);
+  
+    sil_wrw_mem((VP)COMTX, (VW)c);
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    int i;
+    
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)siopinib->int_enable, 0);
+    /* 9600bps */
+    sil_wrw_mem((VP)siopinib->line_control, COMCON0_DLAB);
+    sil_wrw_mem((VP)siopinib->divisor_lo, COMDIV0_BR9600); 
+    sil_wrw_mem((VP)siopinib->divisor_hi, COMDIV1_BR9600);
+    
+    /* 8Data, 1Stop, No Parity */
+    sil_wrw_mem((VP)siopinib->line_control, (COMCON0_STOP|COMCON0_WLS_8b));
+
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    sil_wrw_mem((VP)siopinib->int_enable, (COMIEN0_ERBFI|COMIEN0_ETBEI));	/* Enable Interrupt */
+    sil_wrw_mem((VP)IRQEN, siopinib->irq_bit);	/*Enable interrupt register*/
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);    
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->line_control),
+        (sil_rew_mem((VP)(siopcb->siopinib->line_control))|COMCON0_BRK)); /* Disable Interrupt */
+    
+    siopcb->openflag = FALSE;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+	volatile UW	iid;
+
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+		iid = sil_rew_mem((VP)COMIID0);
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_isr()
+{
+    uart_isr_siop(&(siopcb_table[0]));
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.h	(revision 26)
@@ -0,0 +1,496 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#ifndef _FRK_ADUC_H_
+#define _FRK_ADUC_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include <armv4.h>
+#include "sys_config.h"
+#include "cpu_config.h"
+
+
+
+/*
+ * GPIO
+ */
+/* GPIO Register address */
+#define GPIO_BASE	0xFFFFF400		/* GPIO base-address */
+#define GP0CON		(GPIO_BASE | 0x00)		/* GPIO port0 condition register */
+#define GP1CON		(GPIO_BASE | 0x04)		/* GPIO port1 condition register */
+#define GP2CON		(GPIO_BASE | 0x08)		/* GPIO port2 condition register */
+#define GP4CON		(GPIO_BASE | 0x10)		/* GPIO port4 condition register */
+#define GP4DAT		(GPIO_BASE | 0x60)		/* GPIO data register */
+#define GP4SET		(GPIO_BASE | 0x64)		/* GPIO SET feild */
+#define GP4CLR		(GPIO_BASE | 0x68)		/* GPIO CLEAR feild */
+
+/* Port4 data */
+#define P47_DIR	0x80000000		/* Port4 pin7 Direction - Output */
+#define LED		0x00800000			/* Port4 pin7 data */
+
+/* Serial mode */
+#define	GP07_SIN	0x20000000
+#define	GP10_SIN	0x00000001
+#define	GP11_SOUT	0x00000010
+#define	GP12_RTS	0x00000100
+#define	GP13_CTS	0x00001000
+#define	GP14_RI		0x00010000
+#define	GP15_DCD	0x00100000
+#define	GP16_DSR	0x01000000
+#define	GP17_DTR	0x10000000
+#define	GP20_SOUT	0x00000002
+
+
+
+
+/*
+ * PLL
+ */
+/* PLL Registers */
+#define	PLL_BASE		0xFFFF0400	/* PLL base-address */
+#define	POWKEY1_VCT		0x04
+#define	POWCON_VCT		0x08
+#define	POWKEY2_VCT		0x0C
+#define	PLLKEY1_VCT		0x10
+#define	PLLCON_VCT		0x14
+#define	PLLKEY2_VCT		0x18
+
+#define	POWKEY1		(PLL_BASE|POWKEY1_VCT)	/* POWKEY1 address */
+#define	POWCON		(PLL_BASE|POWCON_VCT)	/* POWCOM address */
+#define	POWKEY2		(PLL_BASE|POWKEY2_VCT)	/* POWKEY2 address */
+#define	PLLKEY1		(PLL_BASE|PLLKEY1_VCT)	/* PLLKEY1 address */
+#define	PLLCON		(PLL_BASE|PLLCON_VCT)	/* PLLCON address */
+#define	PLLKEY2		(PLL_BASE|PLLKEY2_VCT)	/* PLLKEY2 address */
+
+
+
+/* KEY's offset */
+#define	POWKEY1_DATA	0x01		/* POWKEY1 data */
+#define	POWKEY2_DATA	0xF4		/* POWKEY2 data */
+#define	PLLKEY1_DATA	0xAA		/* PLLKEY1 data */
+#define	PLLKEY2_DATA	0x55		/* PLLKEY2 data */
+
+/* POWCON bits */
+#define	POWCON_PC_STP	0x40		/* Stop mode */
+#define	POWCON_PC_SLP	0x30		/* Sleep mode */
+#define	POWCON_PC_NAP	0x20		/* Nap. */
+#define	POWCON_PC_PAU	0x10		/* Pause mode */
+#define	POWCON_PC_ACT	0x00		/* Active mode */
+
+#define	POWCON_CD_326K	0x07		/* Core Clock = 326KHz */
+#define	POWCON_CD_653K	0x06		/* Core Clock = 653KHz */
+#define	POWCON_CD_1M	0x05		/* Core Clock = 1.31MHz */
+#define	POWCON_CD_2M	0x04		/* Core Clock = 2.61MHz */
+#define	POWCON_CD_5M	0x03		/* Core Clock = 5.22MHz */
+#define	POWCON_CD_10M	0x02		/* Core Clock = 10.44MHz */
+#define	POWCON_CD_20M	0x01		/* Core Clock = 20.89MHz */
+#define	POWCON_CD_41M	0x00		/* Core Clock = 41.78MHz */
+
+/* PLLCON bits */
+#define	PLLCON_OSEL			0x20	/* 1:internal oscillator, 0:external crystal */
+
+#define	PLLCON_MDCLK_EXT	0x03	/* External Clock on P0.7 pin */
+#define	PLLCON_MDCLK_PLL	0x01	/* PLL */
+
+
+
+/*
+ * FRK_ADuC Peripheral Base Address
+ */
+#define	IRQ_BASE	0xFFFF0000			/* IRQ base-address */
+#define	TIMER_BASE	0xFFFF0300		/* Timer base-address */
+#define	UART_BASE	0xFFFF0700
+
+
+
+/*
+ * Remap Register
+ */
+#define REMAP	0xFFFF0220
+
+#define REMAP_SRAM	0x01	/* remap the sram to address to 0 */
+
+
+
+/*
+ * IRQ
+ */
+/* IRQ Registers */
+#define	IRQSTA		(IRQ_BASE | 0x00)	/* IRQ Status Register */
+#define	IRQSIG		(IRQ_BASE | 0x04)	/* IRQ Signal Register */
+#define	IRQEN		(IRQ_BASE | 0x08)	/* IRQ enable Register */
+#define	IRQCLR		(IRQ_BASE | 0x0C)	/* IRQ Clear Register */
+#define SWICFG		(IRQ_BASE | 0x10)
+
+#define	IRQ_PWMTRIP_BIT		23
+#define IRQ_EXT3_BIT		22
+#define IRQ_EXT2_BIT		21
+#define IRQ_PLA1_BIT		20
+#define IRQ_PLA0_BIT		19
+#define IRQ_EXT1_BIT		18
+#define IRQ_PSM_BIT			17
+#define IRQ_COMP_BIT		16
+#define IRQ_EXT0_BIT		15
+#define IRQ_UART_BIT		14
+#define IRQ_SPIM_BIT		13
+#define IRQ_SPIS_BIT		12
+#define IRQ_I2C1M_BIT		11
+#define IRQ_I2C0M_BIT		10
+#define IRQ_I2C0S_BIT		 9
+#define IRQ_PLLL_BIT		 8
+#define IRQ_ADCC_BIT		 7
+#define IRQ_FLAC_BIT		 6
+#define IRQ_TIM3_BIT		 5
+#define IRQ_TIM2_BIT		 4
+#define IRQ_TIM1_BIT		 3
+#define IRQ_TIM0_BIT		 2
+#define IRQ_SWI_BIT			 1
+#define ALL_INT_OR			 0
+
+#define IRQ_PWM_TRIP	(1 << IRQ_PWMT_BIT)
+#define IRQ_EXT_IRQ3	(1 << IRQ_EXT3_BIT)
+#define IRQ_EXT_IRQ2	(1 << IRQ_EXT2_BIT)
+#define IRQ_PLA_IRQ1	(1 << IRQ_PLA1_BIT)
+#define IRQ_PLA_IRQ0	(1 << IRQ_PLA0_BIT)
+#define IRQ_EXT_IRQ1	(1 << IRQ_EXT1_BIT)
+#define IRQ_PSM			(1 << IRQ_PSM_BIT)
+#define IRQ_COMP		(1 << IRQ_COMP_BIT)
+#define IRQ_EXT_IRQ0	(1 << IRQ_EXT0_BIT)
+#define IRQ_UART		(1 << IRQ_UART_BIT)
+#define IRQ_SPI_MST		(1 << IRQ_SPIM_BIT)
+#define IRQ_SPI_SLV		(1 << IRQ_SPIS_BIT)
+#define IRQ_I2C1_MST	(1 << IRQ_I2C1M_BIT)
+#define IRQ_I2C0_MST	(1 << IRQ_I2C0M_BIT)
+#define IRQ_I2C0_SLV	(1 << IRQ_I2C0S_BIT)
+#define IRQ_PLL_LOCK	(1 << IRQ_PLLL_BIT)
+#define IRQ_ADC_CH		(1 << IRQ_ADCC_BIT)
+#define IRQ_FLA_CTRL	(1 << IRQ_FLAC_BIT)
+#define IRQ_TIMER3		(1 << IRQ_TIM3_BIT)
+#define IRQ_TIMER2		(1 << IRQ_TIM2_BIT)
+#define	IRQ_TIMER1		(1 << IRQ_TIM1_BIT)
+#define	IRQ_TIMER0		(1 << IRQ_TIM0_BIT)
+#define IRQ_SWI			(1 << IRQ_SWI_BIT)
+#define ALL_INT			(1 << ALL_INT_OR)
+
+#define MASK_IRQ_TIMER3		0xFFFFFF
+#define MASK_IRQ_TIMER2		0xFFFFDF
+#define	MASK_IRQ_TIMER1		0xFFFFCF
+#define	MASK_IRQ_TIMER0		0xFFFFC7
+#define MASK_IRQ_UART		0xFFFFC3
+#define MASK_IRQ_SWI		0xFFBFC3
+
+#define MASK_IRQ_PWM_TRIP	0xFFBFC1
+#define MASK_IRQ_EXT_IRQ3	0x7FBFC1
+#define MASK_IRQ_EXT_IRQ2	0x3FBFC1
+#define MASK_IRQ_PLA_IRQ1	0x1FBFC1
+#define MASK_IRQ_PLA_IRQ0	0x0FBFC1
+#define MASK_IRQ_EXT_IRQ1	0x07BFC1
+#define MASK_IRQ_PSM		0x03BFC1
+#define MASK_IRQ_COMP		0x01BFC1
+#define MASK_IRQ_EXT_IRQ0	0x00BFC1
+#define MASK_IRQ_SPI_MST	0x003FC1
+#define MASK_IRQ_SPI_SLV	0x001FC1
+#define MASK_IRQ_I2C1_MST	0x000FC1
+#define MASK_IRQ_I2C0_MST	0x0007C1
+#define MASK_IRQ_I2C0_SLV	0x0003C1
+#define MASK_IRQ_PLL_LOCK	0x0001C1
+#define MASK_IRQ_ADC_CH		0x0000C1
+#define MASK_IRQ_FLA_CTRL	0x000041
+#define MASK_ALL_INT		0x000001
+
+#define INT_DISABLE_ALL		0xFFFFFF
+
+/*
+ * Timer0
+ */
+/* Timer0 Register address */
+#define T0LD		(TIMER_BASE | 0x00)	/* Timer0 Load Register */
+#define T0VAL		(TIMER_BASE | 0x04)	/* Timer0 Value Register */
+#define T0CON		(TIMER_BASE | 0x08)	/* Timer0 Control Register */
+#define T0CLRI		(TIMER_BASE | 0x0C)	/* Timer0 Clear Register */
+
+/* Timer0 Control Register bits */
+#define	T0CON_ENA		0x80		/* Timer0 enable */
+#define	T0CON_MOD		0x40		/* 1:periodic mode, 0:free-running mode */
+#define T0CON_PSC_UDF	0x0C		/* Prescale: undefined, equal 0x00 */
+#define	T0CON_PSC_256	0x08		/* Prescale: 1/256 */
+#define	T0CON_PSC_16	0x04		/* Prescale: 1/16 */
+#define	T0CON_PSC_1		0x00		/* Prescale: 1/1 */
+
+/* Timer0 count number */
+#define	TIM0_COUNT_MAX		0xFFFF	/* 16 bit */
+#define	TIM0_COUNT			0x55FF	/* 16 bit */
+
+
+
+/*
+ * Timer1
+ */
+/* Timer1 Register address */
+#define T1LD		(TIMER_BASE | 0x20)	/* Timer1 Load Register */
+#define T1VAL		(TIMER_BASE | 0x24)	/* Timer1 Value Register */
+#define T1CON		(TIMER_BASE | 0x28)	/* Timer1 Control Register */
+#define T1CLRI		(TIMER_BASE | 0x2C)	/* Timer1 Clear Register */
+#define T1CAP		(TIMER_BASE | 0x30)	/* Timer1 Capture Register */
+
+/* Timer1 Control Register bits */
+#define T1CON_CAP		0x20000		/* capture */
+
+#define	T1CON_CLS_P0_6	0x0600		/* Clock source from Port0 pin6 */
+#define	T1CON_CLS_P1_0	0x0400		/* Clock source from Port1 pin0 */
+#define	T1CON_CLS_OSCI	0x0200		/* Clock source from oscillator */
+#define	T1CON_CLS_CORE	0x0000		/* Clock source from core clock */
+
+#define T1CON_CUP		0x0100		/* 1:count up, 0:count down */
+#define	T1CON_ENA		0x0080		/* Timer1 enable */
+#define	T1CON_MOD		0x0040		/* 1:periodic mode, 0:free-running mode */
+
+#define T1CON_FMT_BIN	0x0000		/* Format: binary */
+#define T1CON_FMT_23H	0x0020		/* Format: hr:min:sec:hundredths -23h to 0h */
+#define T1CON_FMT_255H	0x0030		/* Format: hr:min:sec:hundredths -255h to 0h */
+
+#define T1CON_PSC_32768	0x000F		/* Prescale: 1/32768 */
+#define	T1CON_PSC_256	0x0008		/* Prescale: 1/256 */
+#define	T1CON_PSC_16	0x0004		/* Prescale: 1/16 */
+#define	T1CON_PSC_1		0x0000		/* Prescale: 1/1 */
+
+
+/* Timer1 count number */
+//#define	TIM1_CNT_1S		41780000	/* 1s (41.78MHz) */
+//#define	TIM1_CNT_1mS	41780	/* 1ms (41.78MHz) */
+//#define	TIM1_CNT_OSC	32768		/* 1s (32.768kHz) */
+
+
+
+/*
+ * UART
+ */
+/* UART Registers */
+#define	COMTX		(UART_BASE | 0x00)	/* Transmit */
+#define	COMRX		(UART_BASE | 0x00)	/* Receive */
+#define	COMDIV0		(UART_BASE | 0x00)	/* Low-byte divisor latch */
+#define	COMIEN0		(UART_BASE | 0x04)	/* Interrupt Enable */
+#define	COMDIV1		(UART_BASE | 0x04)	/* High-byte divisor latch */
+#define	COMIID0		(UART_BASE | 0x08)	/* Interrupt identification */
+#define	COMCON0		(UART_BASE | 0x0C)	/* Line control */
+#define	COMSTA0		(UART_BASE | 0x14)	/* Line status */
+#define	COMSCR		(UART_BASE | 0x1C)	/* Scratch register */
+
+
+/* COMIEN0 bits */
+#define	COMIEN0_EDSSI	0x08	/* Modem status interrupt-enable */
+#define	COMIEN0_ELSI	0x04	/* RX status interrupt-enable */
+#define	COMIEN0_ETBEI	0x02	/* Enable Transmit buffer empty interrupt */
+#define	COMIEN0_ERBFI	0x01	/* Enable Receive buffer full interrupt */
+
+/* COMIID0 bits */
+#define	COMIID0_NOINT	0x01	/* No Interrutp */
+#define	COMIID0_RXLINT	0x06	/* Recieve line status Interrupt */
+#define	COMIID0_RXFINT	0x06	/* Recieve buffer full Interrupt */
+#define	COMIID0_TXEINT	0x02	/* Transmit buffer empty Interrupt */
+#define	COMIID0_MODINT	0x00	/* Modem status Interrupt */
+
+/* COMCON0 bits */
+#define	COMCON0_DLAB	0x80	/* Set: Enable access COMDIV0 and COMDIV1 */
+								/* Clear: Enable access COMRX and COMTX */
+#define	COMCON0_BRK		0x40	/* Force SOUT to 0 */
+#define	COMCON0_SP		0x20	/* Stick Parity (?) */
+#define	COMCON0_EPS		0x10	/* Even Parity Select bit */
+#define	COMCON0_PEN		0x08	/* Parity Enable bit */
+#define	COMCON0_STOP	0x04	/* Stop bit */
+
+#define COMCON0_WLS_8b	0x03	/* Word length is 8 bits */
+#define COMCON0_WLS_7b	0x02	/* Word length is 7 bits */
+#define COMCON0_WLS_6b	0x01	/* Word length is 6 bits */
+#define COMCON0_WLS_5b	0x00	/* Word length is 5 bits */
+
+/* COMSTA0 bits */
+#define COMSTA0_TEMT	0x40	/* COMTX empty */
+#define COMSTA0_THRE	0x20	/* COMTX and COMRX empty */
+#define COMSTA0_BI		0x10	/* Break error */
+#define COMSTA0_FE		0x08	/* Framing error */
+#define COMSTA0_PE		0x04	/* parity error */
+#define COMSTA0_OE		0x02	/* Overrun error */
+#define COMSTA0_DR		0x01	/* Data ready (COMRX is full) */
+
+/* COMDIVx bits : Baud Rate = 9600 */
+#define COMDIV0_BR9600	0x88		/* Low byte */
+#define COMDIV1_BR9600	0x00		/* High byte */
+
+/*
+ * SRAM
+ */
+#define VCT_TB_SRAM	0x10000
+#define VCT_TB		0x00000
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void init_uart(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block 
+{
+    VP uart_data;
+	VP divisor_lo;
+	VP divisor_hi;
+    VP int_enable;
+    VP int_identifier;
+    VP line_control;
+    VP line_status;
+	VW irq_bit;
+}
+SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block 
+{
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;       /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;       /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;       /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;       /* æå­ãéä¿¡ã§ããç¶æ
+ */
+
+}SIOPCB;
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+extern void uart_putc(char c);
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_in_isr(void);
+extern void uart_out_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _FRK_ADUC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/frk_aduc.ld	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *  FRK_ADuC
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+STARTUP(start.o);
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+MEMORY
+{
+	flash : ORIGIN = 0x00080000, LENGTH = 0x0000F7FF
+	sram : ORIGIN = 0x00010000, LENGTH = 0x00001FFF
+}
+
+SECTIONS
+{
+    .text :
+    {
+        __text = . ; 	
+        start.o(.vector)
+	    start.o(.text)
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    } > flash
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { 
+		*(.rodata)
+		*(.rodata.str1.4)
+	} > flash
+
+
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data.vctsram)
+        *(.data)
+    } > sram
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+      *(.bss)
+      *(COMMON)
+   . = ALIGN(32 / 8);
+    } > sram
+
+   . = ALIGN(32 / 8);
+     _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to 
+     the beginning of the section so we begin them at 0.  */
+
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+
+  /* DWARF 2 */
+  .debug_info     : { *(.debug_info) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}	
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.cfg	(revision 26)
@@ -0,0 +1,59 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, uart_isr });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_serial.h	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼FRK_ADuCç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <frk_aduc.h>
+
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO  IRQ_UART_BIT
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+      
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    /* Enable Interrupt Rx */
+    if(!openflag){
+        sil_wrw_mem((VP)IRQEN, IRQ_UART);
+    }
+    
+    return(siopcb);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+
+    /*
+     *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+     */
+    if (!uart_openflag) {
+        /* Clear Rx Tx Pending bit */
+        sil_wrw_mem((VP)IRQCLR, IRQ_UART_BIT);
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler  uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/hw_timer.h	(revision 26)
@@ -0,0 +1,178 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼FRK_ADuCç¨ï¼
+ *  TIMER1(41.78MHzåºå®)ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include "frk_aduc.h"
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define    INHNO_TIMER    IRQ_TIM1_BIT
+
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW    CLOCK;
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    CLOCK    cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+        
+    /*
+     *  ã¿ã¤ãé¢é£ã®è¨­å®
+     */
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)T1CON, 0);
+    /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+    assert(cyc <= MAX_CLOCK);       
+    /* å²è¾¼ã¿ã®ã¯ãªã¢  */
+    sil_wrw_mem((VP)T1CLRI, 0x01);
+    /* ã«ã¦ã³ãå¤ãã»ãã */
+    sil_wrw_mem((VP)T1LD,cyc);
+    /* ã«ã¦ã³ãã¹ã¿ã¼ã   */
+    sil_wrw_mem((VP)T1CON, (T1CON_CLS_CORE|T1CON_ENA|
+							T1CON_MOD|T1CON_FMT_BIN|T1CON_PSC_1));
+    /* å²è¾¼ã¿è¨±å¯ */        
+    sil_wrw_mem((VP)IRQEN, IRQ_TIMER1);
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+  sil_wrw_mem((VP)T1CLRI, 0x01);
+}
+
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+    sil_wrw_mem((VP)T1CLRI, 0x01);    
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)T1CON, (sil_rew_mem((VP)T1CON)&~T1CON_ENA));
+    /* å²è¾¼ã¿ä¸è¨±å¯*/
+    sil_wrw_mem((VP)IRQEN, (sil_rew_mem((VP)IRQEN)&~IRQ_TIMER1));
+}
+
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)T1VAL));
+}
+
+
+/*
+ * ã¿ã¤ãå²è¾¼ã¿ãçºçãã¦ãããã®å¤å®
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(sil_rew_mem((VP)IRQSTA) & IRQ_TIMER1);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.c	(revision 26)
@@ -0,0 +1,257 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼FRK_ADuCç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "frk_aduc.h"
+
+
+/*interrupt mask*/
+const UW int_mask_table[MAX_INT_NUM]={
+	MASK_ALL_INT,
+	MASK_IRQ_SWI,
+	MASK_IRQ_TIMER0,
+	MASK_IRQ_TIMER1,
+	MASK_IRQ_TIMER2,
+	MASK_IRQ_TIMER3,
+	MASK_IRQ_FLA_CTRL,
+	MASK_IRQ_ADC_CH,
+	MASK_IRQ_PLL_LOCK,
+	MASK_IRQ_I2C0_SLV,
+	MASK_IRQ_I2C0_MST,
+	MASK_IRQ_I2C1_MST,
+	MASK_IRQ_SPI_SLV,
+	MASK_IRQ_SPI_MST,
+	MASK_IRQ_UART,
+	MASK_IRQ_EXT_IRQ0,
+	MASK_IRQ_COMP,
+	MASK_IRQ_PSM,
+	MASK_IRQ_EXT_IRQ1,
+	MASK_IRQ_PLA_IRQ0,
+	MASK_IRQ_PLA_IRQ1,
+	MASK_IRQ_EXT_IRQ2,
+	MASK_IRQ_EXT_IRQ3,
+	MASK_IRQ_PWM_TRIP
+};
+
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+FP   int_table[MAX_INT_NUM];
+
+
+/*
+ * OSCã®åæå
+ */
+void
+init_clock(void)
+{
+    UW    reg;
+
+    /* POWCON key1 */
+    sil_wrw_mem((VP)POWKEY1, POWKEY1_DATA);
+
+    /* Core Clock 41.78MHz , Active mode*/
+    reg = (POWCON_PC_ACT | POWCON_CD_41M);
+    sil_wrw_mem((VP)POWCON, reg);
+
+    /* POWCON key2 */
+    sil_wrw_mem((VP)POWKEY2, POWKEY2_DATA);
+}
+
+
+/*
+ * GPIOã®åæå
+ */
+void
+init_gpio(void)
+{
+	/* LED port */
+	sil_wrw_mem((VP)GP4CON, 0);			/* GPIO mode */
+	sil_wrw_mem((VP)GP4DAT, P47_DIR);	/* Output */
+	sil_wrw_mem((VP)GP4SET, LED);		/* LED off */
+
+	/* UART port */
+	sil_wrw_mem((VP)GP0CON, GP07_SIN);
+	sil_wrw_mem((VP)GP1CON, (GP10_SIN|GP11_SOUT|GP12_RTS|
+							 GP13_CTS|GP14_RI|GP15_DCD|
+							 GP16_DSR|GP17_DTR));
+	sil_wrw_mem((VP)GP2CON, GP20_SOUT);
+
+}
+
+
+/*
+ *  å²è¾¼ã¿é¢é£ã®åæå
+ */
+void
+init_IRQ(void)
+{
+    int i;
+    
+    /* IRQå²è¾¼ã¿ç¦æ­¢ */
+    sil_wrw_mem((VP)IRQCLR, INT_DISABLE_ALL);
+    
+    /*
+     *  å²è¾¼ã¿ãã¼ãã«ã®åæå
+     */
+    for(i = 0; i < MAX_INT_NUM; i++){
+        int_table[i] = 0x00;        /* ãªã»ãã */   
+    }
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    init_clock();
+
+	init_gpio();
+
+    init_IRQ();
+
+	/*
+	 * SRAM
+	 */
+    for(i = 0; i <=7; i++){
+        arm_vector_add[i] = arm_vector_add[i] + VCT_TB_SRAM/4;
+    }
+
+  	for(i=0; i <=14; i++) {
+		*((volatile UW *)VCT_TB_SRAM + i) = *((volatile UW *)VCT_TB + i);
+	}
+
+ 	sil_wrw_mem((VP)REMAP, REMAP_SRAM);
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number, IRQ_Handler);
+
+    /*
+     *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+     */
+    init_uart();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    assert(inhno < MAX_INT_NUM);
+    int_table[inhno] = inthdr;
+
+}
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
+
+/*IRQã¬ã¸ã¹ã¿ãã¯ãªã¢ãããã¾ã§å¾
+ã¤*/
+#define INT_CLEAR_DELAY  0x70
+void poll_intreg(int int_mask)
+{
+    int i;
+    
+    //while(*IRQEN & int_mask);
+    for(i=0;i<INT_CLEAR_DELAY;i++);
+    enaint();
+
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼FRK_ADuCç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 24
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define  SUPPORT_VXGET_TIM
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+//#ifdef ARM920T_CORE
+//#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+//#else
+#define WAIT_INTERRUPT  nop
+//#endif
+
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+
+/*
+ *  å²è¾¼ã¿ç¨ã®ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_defs.h	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼FRK_ADuCç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define    TARGET_NAME    "ARM7TDMI - FRK_ADuC"
+
+#define    STACKTOP 0x00011FE0   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK 41780
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef    UINT        INTNO;        /* å²è¾¼ã¿çªå· */
+typedef    UINT        INHNO;        /* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef    UD  SYSUTIM;    /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define    TIC_NUME    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define    TIC_DENO    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define    SIL_DLY_TIM1     20
+#define    SIL_DLY_TIM2     10
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define    SIL_ENDIAN    SIL_ENDIAN_LITTLE    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+
+#ifndef _MACRO_ONLY
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+int_table
+int_mask_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table	__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_support.S	(revision 26)
@@ -0,0 +1,290 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2006 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005-2006 by Logic Research Co., Ltd.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "frk_aduc.h"
+
+
+        /*
+         * Vectorãã¼ãã«ã¨ã¸ã£ã³ããã¼ãã«
+         * ãµã¤ãºã¯åè¨0x3c
+         */
+        .section .data.vctsram,"a"
+        .code 32
+        .align 0
+        .global vct_tb_sram
+vct_tb_sram:
+        ldr pc, reset_vector       /* ãªã»ãã             */
+        ldr pc, undef_vector       /* æªå®ç¾©å½ä»¤           */
+        ldr pc, swi_vector         /* ã½ããã¦ã§ã¢å²è¾¼ã¿   */
+        ldr pc, prefech_vector     /* ããªãã§ããã¢ãã¼ã */
+        ldr pc, data_abort_vector  /* ãã¼ã¿ã¢ãã¼ã       */
+         nop
+        ldr pc, irq_vector         /* IRQ                  */
+        ldr pc, fiq_vector         /* IRQ                  */
+
+/*
+ *  ãã¯ã¿ã¼ãã¼ãã«
+ */
+reset_vector:
+        .long   start
+undef_vector:
+        .long   undef_exception
+swi_vector:
+        .long   swi_exception
+prefech_vector:
+        .long   prefetch_exception
+data_abort_vector:
+        .long   data_abort_exception
+irq_vector:
+        .long   irq_exception
+fiq_vector:
+        .long   fiq_exception
+
+
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼          
+ */       
+
+        .text
+        .align 2
+        .global hardware_init_hook
+hardware_init_hook: 
+        mov     pc, lr
+
+
+        .text
+        .align 2
+        .global software_init_hook
+software_init_hook:
+        mov     pc, lr
+
+        .text
+        .align 2
+        .global software_term_hook
+software_term_hook:
+        mov     pc, lr
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *         
+ */        
+        .text
+        .align 4    
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov   sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr   cpsr_all, sp
+        stmfd sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+ 
+  
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+        mov   r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr,r0
+        sub   r0,lr,#4
+        mrs   r1,spsr
+   
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        and   r2,  r1, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr   r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)        
+        msr   cpsr_all, r2
+        str   r0, [sp,#0x18] /* Store pc */
+        stmfd sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+
+        /*
+         *  å²ãè¾¼ã¿è¦å ã®å¤å®ï¼
+         */
+        ldr     r1, =IRQSTA
+
+		ldr     r0, =IRQEN
+		ldr     r2, [r0]
+		stmfd   sp!, {r2}			/* ãã¹ã¯ãããã®éé¿ */
+
+        ldr     r2, [r1]
+        mov     r0, #1
+		mov		r3, #1
+find_bit_loop:
+        mov     r1, r3, lsl r0
+        tst     r2, r1
+        bne     find_bit_end   
+        add     r0, r0, #1
+        bpl     find_bit_loop
+find_bit_end:
+        mov     r3, r0
+        ldr     r0,=int_mask_table    /* å²è¾¼ã¿ãã¹ã¯ãã¼ãã«ã®å¼ã³åºã*/
+        ldr     r0,[r0,r3,lsl #2]     /* r0<-å²è¾¼ã¿ãã¹ã¯              */    
+        ldr     r1, =IRQCLR			  /* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã¸ã®ã»ãã      */
+        str     r0,[r1]
+
+        ldr     r0,  =int_table       /* å²è¾¼ã¿çä¼¼ãã¼ãã«ã®èª­ã¿åºã  */
+        ldr     r0,  [r0,r3,lsl #2]   /* r0<-å²è¾¼ã¿ãã³ãã©            */    
+
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ããã§ãã¯
+         */
+        cmp     r0, #0x00
+        beq     undefined_interrupt
+        
+        /* 
+         * å²ãè¾¼ã¿è¨±å¯ 
+         */                
+        mrs     r2, cpsr
+        and     r2,  r2, #~CPSR_IRQ_BIT /* å²è¾¼ã¿è¨±å¯ */
+        msr     cpsr,r2
+
+        /* 
+         * Call Handler  
+         */        
+        mov     lr,  pc   
+        bx      r0
+
+        /* 
+         * å²ãè¾¼ã¿ç¦æ­¢ 
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */         
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr,r2
+
+        ldmfd   sp!, {r0}                /* ãã¹ã¯ãããã®å¾©å¸° */
+        ldr     r1,  =IRQEN        /*å²ãè¾¼ã¿è¨±å¯*/
+        str     r0,  [r1]
+
+        /* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]        
+        sub     r3, r1, #1                        
+        str     r3, [r2]
+        cmp     r3, #0x00        
+        bne     return_to_task_irq
+        
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}         
+        mov     sp, r0        
+                
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        mrs     r2, cpsr           /* FIQãç¶æ¿            */
+        and     r2, r2, #CPSR_FIQ_BIT
+        and     r1, r1, #~CPSR_FIQ_BIT
+        orr     r1, r1, r2                 
+        msr     spsr, r1           /* å²ãè¾¼ã¿è¨±å¯   */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /*ã¿ã¹ã¯å¾©å¸° + å²è¾¼ã¿è¨±å¯ */
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */    
+undefined_interrupt:
+         b      undef_interrupt
+    
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/frk_aduc/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/Makefile.config	(revision 26)
@@ -0,0 +1,41 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2004/05/26 19:14:24 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼INTEGRATORç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS) -mcpu=arm9tdmi -Wa,--gstabs 
+LDFLAGS  := $(LDFLAGS) -mcpu=arm9tdmi  -N 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o integrator.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/integrator.ld
+
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+#  INTEGRATORç¨
+COPTS   := $(COPTS) -DINTEGRATOR -mlittle-endian   
+LDFLAGS := $(LDFLAGS) -mlittle-endian 
+#TEXT_START_ADDRESS=0x1000003c
+TEXT_START_ADDRESS=0x10800000
+DATA_START_ADDRESS=0x10810000
+
+#TEXT_START_ADDRESS=0x00000000
+#DATA_START_ADDRESS=0x00810000
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.cfg	(revision 26)
@@ -0,0 +1,12 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2004/05/23 12:18:56 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Integratorï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, uart_isr0 });
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SIO2, { TA_HLNG, uart_isr1 });
+#endif /* TNUM_SIOP >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_serial.h	(revision 26)
@@ -0,0 +1,167 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2004/05/27 07:32:22 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Integratorç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <integrator.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO  IRQ_UART1_BIT
+#define INHNO_SIO2 IRQ_UART0_BIT
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = uart_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+      
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    /* Enable Interrupt Rx */
+    if(!openflag){
+        sil_wrw_mem((VP)IRQ0_ENABLESET,IRQ_UART1);
+    }
+    
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    uart_cls_por(siopcb);
+
+    /*
+     *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+     */
+    if (!uart_openflag) {
+        /* Clear Rx Tx Pending bit */
+        sil_wrw_mem((VP)IRQ0_ENABLECLR,(IRQ_UART1));
+    }
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler  uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/hw_timer.h	(revision 26)
@@ -0,0 +1,171 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by  Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.4 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ *  TIMER1(24Mhzåºå®)ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <integrator.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define    INHNO_TIMER    IRQ_TM1_BIT
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW    CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    CLOCK    cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+        
+    /*
+     *  ã¿ã¤ãé¢é£ã®è¨­å®
+     */
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)TM1_CTRL,TCTRL_STOP);
+    /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+    assert(cyc <= MAX_CLOCK);       
+    /* å²è¾¼ã¿ã®ã¯ãªã¢  */
+    sil_wrw_mem((VP)TM1_CTRL,TCLR_CLEAR);
+    sil_wrw_mem((VP)TM1_LOAD,cyc);
+    /* ã«ã¦ã³ãå¤ãã»ãã */
+    sil_wrw_mem((VP)TM1_VAL,cyc);
+    /* ã«ã¦ã³ãã¹ã¿ã¼ã   */
+    sil_wrw_mem((VP)TM1_CTRL,TCTRL_START|TCTRL_PERIODIC);
+    /* å²è¾¼ã¿è¨±å¯ */        
+    sil_wrw_mem((VP)IRQ0_ENABLESET,IRQ_TM1);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+  sil_wrw_mem((VP)TM1_CLR,0x01);    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ãã³ãã£ã³ã°ããããã¯ãªã¢ */
+    sil_wrw_mem((VP)TM1_CLR,0x01);    
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)TM1_CTRL,TCTRL_STOP);
+    /* å²è¾¼ã¿ä¸è¨±å¯*/
+    sil_wrw_mem((VP)IRQ0_ENABLECLR,
+                sil_rew_mem((VP)IRQ0_ENABLECLR)&~IRQ_TM1);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)TM1_VAL));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(sil_rew_mem((VP)IRQ0_STATUS) & IRQ_TM1);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.c	(revision 26)
@@ -0,0 +1,389 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: integrator.c,v 1.4 2004/05/27 07:32:22 honda Exp $
+ *  
+ */
+
+/*
+ * Integrator å
+é¨æ©è½ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <integrator.h>
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+    {(VP)UART1_DR,(VP)UART1_CR,(VP)UART1_LCRL,
+     (VP)UART1_LCRM,(VP)UART1_LCRH,(VP)UART1_IIR,
+     (VP)UART1_FR,IRQ_UART1
+    }
+#if TNUM_SIOP >= 2
+    ,
+    {(VP)UART0_DR,(VP)UART0_CR,(VP)UART0_LCRL,
+     (VP)UART0_LCRM,(VP)UART0_LCRH,(VP)UART0_IIR,
+     (VP)UART0_FR,IRQ_UART0
+    }
+
+#endif /* TNUM_SIOP >= 2 */
+};
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return(((sil_rew_mem((VP)(siopcb->siopinib->flag_register)) & UFR_RXFE)==0));
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    return((sil_rew_mem((VP)(siopcb->siopinib->flag_register)) & UFR_TXFF)==0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->uart_data)));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_data),c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+            (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) | UCR_TIE));
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+        (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) & ~UCR_TIE));
+}
+
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+        (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) | UCR_RIE));
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+        (sil_rew_mem((VP)(siopcb->siopinib->uart_control)) & ~UCR_RIE));
+}
+
+/*
+ * ã«ã¼ãã«èµ·åæã®ã­ã°åºåç¨ã®åæå
+ */
+void
+init_uart(void){
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)UART1_CR, 0);
+    /* 115200bps */
+    sil_wrw_mem((VP)UART1_LCRL, ULCRL_115200); 
+    sil_wrw_mem((VP)UART1_LCRM, ULCRM_115200);
+    /* 8Data, 1Stop, No Parity */
+    sil_wrw_mem((VP)UART1_LCRH, ULCRH_WLEN_8BIT);
+    /* Clear Error Flag */
+    sil_wrw_mem((VP)UART1_ECR,(URSR_OVERRUN|URSR_BREAK|URSR_PARITY|URSR_FRAMING));
+    /* Enabel UART0 */
+    sil_wrw_mem((VP)UART1_CR, UCR_UARTEN|UCR_RIE);      
+}
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+void
+uart_putc(char c)
+{
+    int i;
+
+    while((sil_rew_mem((VP)(UART1_FR)) & UFR_TXFF));
+  
+    sil_wrw_mem((VP)UART1_DR,(VW)c);
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    int i;
+    
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /* Disable Interrupt */
+    sil_wrw_mem((VP)siopinib->uart_control, 0);
+    /* 115200bps */
+    sil_wrw_mem((VP)siopinib->linectrl_lo, ULCRL_115200); 
+    sil_wrw_mem((VP)siopinib->linectrl_mid, ULCRM_115200);
+    
+    /* 8Data, 1Stop, No Parity */
+//    sil_wrw_mem((VP)siopinib->linectrl_hi, ULCRH_WLEN_8BIT|ULCRH_FEN);
+    sil_wrw_mem((VP)siopinib->linectrl_hi, ULCRH_WLEN_8BIT);
+
+    /*
+     * Wait ãå
+¥ããªãã¨ç´å¾ã«bpsããããããªãï¼
+     */
+    for(i = 0; i < 1000; i++);
+
+    /*
+     * å²è¾¼ã¿é¢é£ã®è¨­å®
+     */
+    sil_wrw_mem((VP)siopinib->uart_control, UCR_UARTEN|UCR_RIE); /* Enable Interrupt */
+    sil_wrw_mem((VP)IRQ0_ENABLESET,siopinib->irq_bit);/*Enable interrupt register*/
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);    
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->uart_control),
+        (sil_rew_mem((VP)(siopcb->siopinib->uart_control))&~UCR_UARTEN)); /* Disable Interrupt */
+    
+    siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_isr0()
+{
+    uart_isr_siop(&(siopcb_table[0]));
+}
+
+#if TNUM_SIOP >= 2
+void
+uart_isr1()
+{
+    uart_isr_siop(&(siopcb_table[1]));
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.h	(revision 26)
@@ -0,0 +1,553 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: integrator.h,v 1.2 2004/05/26 19:14:24 honda Exp $
+ */
+
+#ifndef _INTEGRATOR_H_
+#define _INTEGRATOR_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include "armv4.h"
+#include "sys_config.h"
+#include "cpu_config.h"
+
+
+
+
+/*
+ * CMxx Base Address
+ */
+#define CM_BASE  0x10000000
+
+/*
+ * CM Registers
+ */
+#define CM_ID           (CM_BASE)
+#define CM_PROC         (CM_BASE + 0004)
+#define CM_OSC          (CM_BASE + 0x008)
+#define CM_CTRL         (CM_BASE + 0x00c)
+#define CM_STAT         (CM_BASE + 0x010)
+#define CM_LOCK         (CM_BASE + 0x014)
+#define CM_SDRAM        (CM_BASE + 0x020)
+#define CM_IRQ_STAT     (CM_BASE + 0x040)
+#define CM_IRQ_RSTAT    (CM_BASE + 0x044)
+#define CM_IRQ_ENSET    (CM_BASE + 0x048)
+#define CM_IRQ_ENCLR    (CM_BASE + 0x04c)
+#define CM_SOFT_INTSET  (CM_BASE + 0x050)
+#define CM_SOFT_INTCLR  (CM_BASE + 0x054)
+#define CM_FIR_STAT     (CM_BASE + 0x060)
+#define CM_FIR_RSTAT    (CM_BASE + 0x064)
+#define CM_FIR_ENSET    (CM_BASE + 0x068)
+#define CM_FIR_ENCLR    (CM_BASE + 0x06c)
+#define CM_SPD          (CM_BASE + 0x100)
+
+
+/*
+ * Core module oscillator register : CM_OSC
+ */
+#define L_OD_MASK        (0x7 << 20)
+#define L_OD_DIV10       (0x0 << 20)
+#define L_OD_DIV2        (0x1 << 20)
+#define L_OD_DIV8        (0x2 << 20)
+#define L_OD_DIV4        (0x3 << 20)
+#define L_OD_DIV5        (0x4 << 20)
+#define L_OD_DIV7        (0x5 << 20)
+#define L_OD_DIV9        (0x6 << 20)
+#define L_OD_DIV6        (0x7 << 20)
+
+#define L_VDW_MASK       (0xff << 12)
+#define L_VDW(x)         ((x) << 12)
+
+#define LCLK_MASK        (L_OD_MASK | L_VDW_MASK)
+#define LCLK_20MHZ       (L_OD_DIV2 | L_VDW( 0x20))
+#define LCLK_33MHZ       (L_OD_DIV2 | L_VDW( 0x3a))
+#define LCLK_50MHZ       (L_OD_DIV2 | L_VDW( 0x5c))
+#define LCLK_66MHZ       (L_OD_DIV2 | L_VDW( 0x7c))
+
+#define C_OD_MASK        (0x7 << 8)
+#define C_OD_DIV10       (0x0 << 8)
+#define C_OD_DIV2        (0x1 << 8)
+#define C_OD_DIV8        (0x2 << 8)
+#define C_OD_DIV4        (0x3 << 8)
+#define C_OD_DIV5        (0x4 << 8)
+#define C_OD_DIV7        (0x5 << 8)
+#define C_OD_DIV9        (0x6 << 8)
+#define C_OD_DIV6        (0x7 << 8)
+
+#define C_VDW_MASK       (0xff << 0)
+#define C_VDW(x)         ((x) << 0)
+
+#define CORECLK_MASK     (C_OD_MASK | C_VDW_MASK)
+#define CORECLK_50MHZ    (C_OD_DIV2 | C_VDW( 0x2a))
+#define CORECLK_66MHZ    (C_OD_DIV2 | C_VDW( 0x3a))
+#define CORECLK_100MHZ   (C_OD_DIV2 | C_VDW( 0x5c))
+#define CORECLK_133MHZ   (C_OD_DIV2 | C_VDW( 0x7d))
+#define CORECLK_150MHZ   (C_OD_DIV2 | C_VDW( 0x8e))
+#define CORECLK_160MHZ   (C_OD_DIV2 | C_VDW( 0x98))
+
+
+/*
+ * Core module control register : CM_CTRL
+ */
+#define CM_CTRL_RESET 0x08
+#define CM_CTRL_REMAP 0x04
+#define CM_CTRL_LED   0x01
+
+
+/*
+ * Core modeule lock register : CM_LOCK
+ */
+#define CM_LOCK_LOCKED   0x0100
+#define LOCKVAL_LOCK     0x0000
+#define LOCKVAL_UNLOCK   0xa05f
+
+
+/*
+ * Integrator AP Peripheral Base Address 
+ * 
+ */
+#define IRQ_BASE_REG      0x14000000
+#define TIMER_BASE_REG    0x13000000
+#define UART0_BASE_REG    0x16000000
+#define UART1_BASE_REG    0x17000000
+
+
+/*
+ * Interrupt Control Registers
+ */
+#define IRQ0_STATUS     (IRQ_BASE_REG)
+#define IRQ0_RAWSTAT    (IRQ_BASE_REG + 0x04)
+#define IRQ0_ENABLESET  (IRQ_BASE_REG + 0x08)
+#define IRQ0_ENABLECLR  (IRQ_BASE_REG + 0x0c)
+
+#define IRQ_EXTINT_BIT      0x15
+#define IRQ_PCILBINT_BIT    0x14
+#define IRQ_ENUMINT_BIT     0x13
+#define IRQ_DEGINT_BIT      0x12
+#define IRQ_LINT_BIT        0x11
+#define IRQ_PCIINT3_BIT     0x10
+#define IRQ_PCIINT2_BIT     0x0f
+#define IRQ_PCIINT1_BIT     0x0e
+#define IRQ_PCIINT0_BIT     0x0d
+#define IRQ_EXPINT3_BIT     0x0c
+#define IRQ_EXPINT2_BIT     0x0b
+#define IRQ_EXPINT1_BIT     0x0a
+#define IRQ_EXPINT0_BIT     0x09
+#define IRQ_RTCINT_BIT      0x08
+#define IRQ_TM2_BIT         0x07
+#define IRQ_TM1_BIT         0x06
+#define IRQ_TM0_BIT         0x05
+#define IRQ_MOUSEINT_BIT    0x04
+#define IRQ_KBDINT_BIT      0x03
+#define IRQ_UART1_BIT       0x02
+#define IRQ_UART0_BIT       0x01
+#define IRQ_SOFTINT_BIT     0x00
+
+#define IRQ_EXTINT     (1 << IRQ_EXTINT_BIT)
+#define IRQ_PCILBIN    (1 << IRQ_PCILBIN_BIT)
+#define IRQ_ENUMINT    (1 << IRQ_ENUMINT_BIT)
+#define IRQ_DEGINT     (1 << IRQ_DEGINT_BIT)
+#define IRQ_LINT       (1 << IRQ_LINT_BIT)
+#define IRQ_PCIINT3    (1 << IRQ_PCIINT3_BIT)
+#define IRQ_PCIINT2    (1 << IRQ_PCIINT2_BIT)
+#define IRQ_PCIINT1    (1 << IRQ_PCIINT1_BIT)
+#define IRQ_PCIINT0    (1 << IRQ_PCIINT0_BIT)
+#define IRQ_EXPINT3    (1 << IRQ_EXPINT3_BIT)
+#define IRQ_EXPINT2    (1 << IRQ_EXPINT2_BIT)
+#define IRQ_EXPINT1    (1 << IRQ_EXPINT1_BIT)
+#define IRQ_EXPINT0    (1 << IRQ_EXPINT0_BIT)
+#define IRQ_RTCINT     (1 << IRQ_RTCINT_BIT)
+#define IRQ_TM2        (1 << IRQ_TM2_BIT)
+#define IRQ_TM1        (1 << IRQ_TM1_BIT)
+#define IRQ_TM0        (1 << IRQ_TM0_BIT)
+#define IRQ_MOUSEINT   (1 << IRQ_MOUSEINT_BIT)
+#define IRQ_KBDINT     (1 << IRQ_KBDINT_BIT)
+#define IRQ_UART1      (1 << IRQ_UART1_BIT)
+#define IRQ_UART0      (1 << IRQ_UART0_BIT)
+#define IRQ_SOFTINT    (1 << IRQ_SOFTINT_BIT)
+
+
+/*
+ * Interrupt Mask
+ * Timer2ã¯æé«åªå
+åº¦ããã¤ ??
+ */
+
+#define MASK_IRQ_TM2         0x3FFFFF
+#define MASK_IRQ_TM1         0x3FFF7F
+#define MASK_IRQ_TM0         0x3FFF3F
+#define MASK_IRQ_MOUSEINT    0x3FFF1F
+#define MASK_IRQ_KBDINT      0x3FFF0F
+#define MASK_IRQ_UART1       0x3FFF07
+#define MASK_IRQ_UART0       0x3FFF03
+#define MASK_IRQ_SOFTINT     0x3FFF01
+
+#define MASK_IRQ_EXTINT      0x3FFF00
+#define MASK_IRQ_PCILBINT    0x1FFF00
+#define MASK_IRQ_ENUMINT     0x0FFF00
+#define MASK_IRQ_DEGINT      0x07FF00
+#define MASK_IRQ_LINT        0x03FF00
+#define MASK_IRQ_PCIINT3     0x01FF00
+#define MASK_IRQ_PCIINT2     0x00FF00
+#define MASK_IRQ_PCIINT1     0x007F00
+#define MASK_IRQ_PCIINT0     0x003F00
+#define MASK_IRQ_EXPINT3     0x001F00
+#define MASK_IRQ_EXPINT2     0x000F00
+#define MASK_IRQ_EXPINT1     0x000700
+#define MASK_IRQ_EXPINT0     0x000300
+#define MASK_IRQ_RTCINT      0x000100
+
+#define INT_DISABLE_ALL      0x3FFFFF
+
+
+
+/*
+ * UART0 Control Registers
+ */
+#define UART0_DR    (UART0_BASE_REG)
+#define UART0_RSR   (UART0_BASE_REG + 0x04)
+#define UART0_ECR   (UART0_BASE_REG + 0x04)
+#define UART0_LCRH  (UART0_BASE_REG + 0x08)
+#define UART0_LCRM  (UART0_BASE_REG + 0x0C)
+#define UART0_LCRL  (UART0_BASE_REG + 0x10)
+#define UART0_CR    (UART0_BASE_REG + 0x14)
+#define UART0_FR    (UART0_BASE_REG + 0x18)
+#define UART0_IIR   (UART0_BASE_REG + 0x1C)
+#define UART0_ICR   (UART0_BASE_REG + 0x1C)
+
+
+/*
+ * UART1 Control Registers
+ */
+#define UART1_DR    (UART1_BASE_REG)
+#define UART1_RSR   (UART1_BASE_REG + 0x04)
+#define UART1_ECR   (UART1_BASE_REG + 0x04)
+#define UART1_LCRH  (UART1_BASE_REG + 0x08)
+#define UART1_LCRM  (UART1_BASE_REG + 0x0C)
+#define UART1_LCRL  (UART1_BASE_REG + 0x10)
+#define UART1_CR    (UART1_BASE_REG + 0x14)
+#define UART1_FR    (UART1_BASE_REG + 0x18)
+#define UART1_IIR   (UART1_BASE_REG + 0x1C)
+#define UART1_ICR   (UART1_BASE_REG + 0x1C)
+
+/*
+ * Receive Error Constants : UARTx_RSR
+ */
+#define URSR_OVERRUN  0x8
+#define URSR_BREAK    0x4
+#define URSR_PARITY   0x2
+#define URSR_FRAMING  0x1
+
+/*
+ * Line Control Constants: UARTx_LCRH
+ */
+/*[6:5] Word Length*/
+#define ULCRH_WLEN_8BIT   0x60
+#define ULCRH_WLEN_7BIT   0x40
+#define ULCRH_WLEN_6BIT   0x20
+#define ULCRH_WLEN_5BIT   0x00
+/*[4] FIFO*/
+#define ULCRH_FEN     0x10
+/*[3] Stop Bit*/
+#define ULCRH_STP2    0x08
+/*[2] Even Parity Select*/
+#define ULCRH_EPS     0x04
+/*[1] Parity Enable*/
+#define ULCRH_PEN     0x02
+/*[0] Send Break*/
+#define ULCRH_BRK     0x01
+
+
+/*
+ * Line Control Constants: UARTx_LCRM
+ */
+/*[7:0] Baud Rate*/
+#define ULCRM_460800    0x00
+#define ULCRL_460800    0x01
+
+#define ULCRM_230400    0x00
+#define ULCRL_230400    0x03
+
+#define ULCRM_115200    0x00
+#define ULCRL_115200    0x07
+
+#define ULCRM_76800     0x00
+#define ULCRL_76800     0x0B
+
+#define ULCRM_57600     0x00
+#define ULCRL_57600     0x0F
+
+#define ULCRM_38400     0x0
+#define ULCRL_38400     0x17
+
+#define ULCRM_19200     0x00
+#define ULCRL_19200     0x2F
+
+#define ULCRM_14400     0x00
+#define ULCRL_14400     0x3F
+
+#define ULCRM_9600      0x0
+#define ULCRL_9600      0x5F
+
+#define ULCRM_2400      0x00
+#define ULCRL_2400      0x7F
+
+#define ULCRM_1200      0x00
+#define ULCRL_1200      0xFF
+
+
+/*
+ * Control Register Constants : UARTx_CR
+ */
+/*[7] Loop Back Enable*/
+#define UCR_LBE     0x80
+/*[6] Receive Timeout Interrupt Enable*/
+#define UCR_RTIE    0x40
+/*[5] Transmit Interrupt Enable*/
+#define UCR_TIE     0x20
+/*[4] Receive Interrupt Enable*/
+#define UCR_RIE     0x10
+/*[3] Modem Status Interrupt Enable*/
+#define UCR_MSIE    0x08
+/*[0] UART Enable*/
+#define UCR_UARTEN  0x01
+
+/*
+ * Flag Register Constants : UARTx_FR
+ */
+/*[7] Transmit FIFO Empty*/
+#define UFR_TXFE    0x80
+/*[6] Receive FIFO Full*/
+#define UFR_RXFF    0x40
+/*[5] Transmit FIFO Full*/
+#define UFR_TXFF    0x20
+/*[4] Receive FIFO Empty*/
+#define UFR_RXFE    0x10
+/*[3] UART Busy*/
+#define UFR_BUSY    0x08
+/*[2] Data Carrier Detect*/
+#define UFR_DCD     0x04
+/*[1] Data Set Ready*/
+#define UFR_DSR     0x02
+/*[0] Clear To Send*/
+#define UFR_CTS     0x01
+
+/*
+ * Interrupt Identifier Constantse: UARTx_IIR
+ */
+/*[3] Receive Timeout Interrupt Status*/
+#define IIR_TRIS    0x08
+/*[2] Transmit Interrupt Status*/
+#define IIR_TIS     0x04
+/*[1] Receive Interrupt Status*/
+#define IIR_RIS     0x02
+/*[0] Modem Interrupt Status*/
+#define IIR_MIS     0x01
+
+
+/*
+ * Timer 1 Control Registers
+ */
+#define TM1_LOAD  (TIMER_BASE_REG + 0x100)
+#define TM1_VAL   (TIMER_BASE_REG + 0x104)
+#define TM1_CTRL  (TIMER_BASE_REG + 0x108)
+#define TM1_CLR   (TIMER_BASE_REG + 0x10c)
+
+/*
+ * Timer 0 Control Registers
+ */
+#define TM2_LOAD   (TIMER_BASE_REG + 0x200)
+#define TM2_VAL    (TIMER_BASE_REG + 0x204)
+#define TM2_CTRL   (TIMER_BASE_REG + 0x208)
+#define TM2_CLR    (TIMER_BASE_REG + 0x20C)
+
+/*
+ * Timer Constants : TMx_CTRL and TMx_CLR
+ */
+#define TCTRL_STOP 0x0 
+/*
+ * start bit (7th bit) enabled
+ * periodic bit (6th bit) enabled
+ */
+#define TCTRL_START 0x80
+#define TCLR_CLEAR  0x01
+
+#define TCTRL_PERIODIC 0x40
+
+#define TCTRL_D016 0x04
+#define TCTRL_D256 0x08
+
+/*disable timer1 interrupt*/
+#define TCLR_DISABLE 0x20
+
+#ifndef _MACRO_ONLY
+
+/*
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã
+ */
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void init_uart(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block 
+{
+    VP uart_data;
+    VP uart_control;
+    VP linectrl_lo;
+    VP linectrl_mid;
+    VP linectrl_hi;
+    VP int_identifier;
+    VP flag_register;
+    VW irq_bit;
+}
+SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block 
+{
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;       /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;       /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;       /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;       /* æå­ãéä¿¡ã§ããç¶æ
+ */
+
+}SIOPCB;
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ãªã³ãããã®UARTããã®ãã¼ãªã³ã°åºå
+ */
+extern void uart_putc(char c);
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart_in_isr(void);
+extern void uart_out_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /*  _INTEGRATOR_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/integrator.ld	(revision 26)
@@ -0,0 +1,88 @@
+/*
+ *  @(#) $Id: integrator.ld,v 1.1 2004/05/23 12:18:56 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") 
+OUTPUT_ARCH(arm)
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+    .text :
+    {
+        __text = . ; 	
+        start.o(.vector)
+	    start.o(.text)
+        *(.text)
+        *(.glue_7t)
+        *(.glue_7)
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { 
+		*(.rodata) 
+	}
+
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+      *(.bss)
+      *(COMMON)
+   . = ALIGN(32 / 8);
+    }
+
+   . = ALIGN(32 / 8);
+     _end = .		;
+    __bss_end = .;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to 
+     the beginning of the section so we begin them at 0.  */
+
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}	
+
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.c	(revision 26)
@@ -0,0 +1,229 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.1 2004/05/23 12:18:56 honda Exp $
+ */
+
+/*
+ *    ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <integrator.h>
+
+
+/*interrupt mask*/
+UW int_mask_table[MAX_INT_NUM]={
+    MASK_IRQ_SOFTINT,
+    MASK_IRQ_UART0,
+    MASK_IRQ_UART1,
+    MASK_IRQ_KBDINT,
+    MASK_IRQ_MOUSEINT,
+    MASK_IRQ_TM0,
+    MASK_IRQ_TM1,
+    MASK_IRQ_TM2,
+    MASK_IRQ_RTCINT,
+    MASK_IRQ_EXPINT0,
+    MASK_IRQ_EXPINT1,
+    MASK_IRQ_EXPINT2,
+    MASK_IRQ_EXPINT3,
+    MASK_IRQ_PCIINT0,
+    MASK_IRQ_PCIINT1,
+    MASK_IRQ_PCIINT2,
+    MASK_IRQ_PCIINT3,
+    MASK_IRQ_LINT,
+    MASK_IRQ_DEGINT,
+    MASK_IRQ_ENUMINT,
+    MASK_IRQ_PCILBINT,
+    MASK_IRQ_EXTINT
+};
+
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ç»é²ç¨ãã¼ãã«
+ */
+FP   int_table[MAX_INT_NUM];
+
+/*
+ * OSCã®åæå
+ */
+void
+init_clock(){
+    UW    reg;
+
+    /* CM_OSCã®ã¢ã³ã­ãã¯ */
+    sil_wrw_mem((VP)CM_LOCK, LOCKVAL_UNLOCK);
+
+    reg = sil_rew_mem((VP)CM_OSC);
+
+    reg &= ~( LCLK_MASK | CORECLK_MASK);
+    /* ãã¼ã¹ã¯ã­ãã¯ 50MHz CPUã³ã¢ã¯ã­ãã¯ 133MHzã«è¨­å® */
+    reg |= LCLK_50MHZ | CORECLK_133MHZ;
+
+    sil_wrw_mem((VP)CM_OSC, reg);
+
+    /* CM_OSCã®ã­ãã¯ */
+    sil_wrw_mem((VP)CM_LOCK, LOCKVAL_LOCK);
+}
+
+
+/*
+ *  å²è¾¼ã¿é¢é£ã®åæå
+ */
+void
+init_IRQ(){
+    int i;
+    
+    /* IRQå²è¾¼ã¿ç¦æ­¢ */
+    sil_wrw_mem((VP)IRQ0_ENABLECLR,INT_DISABLE_ALL);
+    
+    /*
+     *  å²è¾¼ã¿ãã¼ãã«ã®åæå
+     */
+    for(i = 0; i < MAX_INT_NUM; i++){
+        int_table[i] = 0x00;        /* ãªã»ãã */   
+    }
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    int i;
+
+    init_clock();
+
+    init_IRQ();
+
+    /*
+     *  SSRAM ã 0x00000000ã«ãããã³ã°
+     */
+    sil_wrw_mem((VP)CM_CTRL,CM_CTRL_REMAP);
+
+    /*
+     *  ARMã®ãã¯ã¿ãã¼ãã«ã¸å²è¾¼ã¿ãã³ãã©ãç»é²
+     */
+    arm_install_handler(IRQ_Number,IRQ_Handler);
+     
+    /*
+     *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+     */
+    init_uart();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+    assert(inhno < MAX_INT_NUM);
+    int_table[inhno] = inthdr;
+
+}
+
+/*
+ *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®å¦ç
+ */
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
+
+
+/*IRQã¬ã¸ã¹ã¿ãã¯ãªã¢ãããã¾ã§å¾
+ã¤*/
+#define INT_CLEAR_DELAY  0x70
+void poll_intreg(int int_mask)
+{
+    int i;
+    
+    //while(*IRQ0_ENABLESET & int_mask);
+    for(i=0;i<INT_CLEAR_DELAY;i++);
+    enaint();
+
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2004/09/04 16:38:40 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Integratorç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ * å²è¾¼ã¿ãã³ãã©ã®æå¤§æ°
+ */
+#define MAX_INT_NUM 22
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define  SUPPORT_VXGET_TIM
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   2   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   2   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å²è¾¼ã¿å¾
+ã¡ç¶æ
+ã§ã®å®è¡ã«ã¼ãã³
+ */
+#ifdef ARM920T_CORE
+#define WAIT_INTERRUPT  mcr p15, 0, r3, c7, c0, 4
+#else
+#define WAIT_INTERRUPT  nop
+#endif
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void    sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void    sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void    sys_putc(char c);
+
+
+/*
+ *  å²è¾¼ã¿ç¨ã®ãã¼ãã«
+ */
+extern FP   int_table[MAX_INT_NUM];
+
+
+/*
+ *  IRQãã³ãã©(sys_support.S)
+ */
+extern void IRQ_Handler(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_defs.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2005/07/27 11:06:36 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Integrator/APç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define    TARGET_NAME    "ARM - INTEGRATOR/AP"
+
+#define    STACKTOP 0x11000000   /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK 24000
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef    UINT        INTNO;        /* å²è¾¼ã¿çªå· */
+typedef    UINT        INHNO;        /* å²è¾¼ã¿ãã³ãã©çªå· */
+
+
+typedef    UD  SYSUTIM;    /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define    TIC_NUME    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define    TIC_DENO    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define    SIL_DLY_TIM1     20
+#define    SIL_DLY_TIM2     10
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define    SIL_ENDIAN    SIL_ENDIAN_LITTLE    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+int_table
+int_mask_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+
+#ifdef LABEL_ASM
+
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_support.S	(revision 26)
@@ -0,0 +1,255 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003      by Advanced Data Controls, Corp
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.3 2006/02/02 00:50:32 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include <integrator.h>
+        
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼          
+ */       
+
+        .text
+        .align 2
+        .global hardware_init_hook
+hardware_init_hook: 
+
+init_done:
+        mov     pc, lr
+
+
+        .text
+        .align 2
+        .global software_init_hook
+software_init_hook:
+        mov     pc, lr
+
+        .text
+        .align 2
+        .global software_term_hook
+software_term_hook:
+        mov     pc, lr
+
+
+
+
+
+/*
+ *
+ *  å²è¾¼ã¿ã®åºå
+¥ãå£å¦ç
+ *         
+ */        
+        .text
+        .align 4    
+        .global IRQ_Handler
+IRQ_Handler:
+
+        /* 
+         * å²è¾¼ã¿ã¢ã¼ã 
+         * 
+         * cpsrãspsr_irqã«å¾©å¸°å
+ãr14_irq(lp)ã«å
+¥ãï¼
+         * spsr_irqã¨r14_irqã¨r13(sp)_irqã r14,r13ã¨ãªãï¼
+         */
+
+        /* 
+         *  ã¿ã¹ã¯ã®åä½æã¢ã¼ã(ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ã)ã¸
+         */
+        mov   sp,#(CPSR_SVC | CPSR_FIQ_BIT | CPSR_IRQ_BIT) 
+        msr   cpsr_all, sp
+        stmfd sp!, {r0-r3,ip,lr,pc} /* pcã¯ããã¼ */
+
+ 
+  
+        /*
+         * spsrã¨æ»ãçªå°ãåå¾ããããã«IRQã¢ã¼ãã¸
+         */
+        mov   r0,#(CPSR_IRQ | CPSR_FIQ_BIT | CPSR_IRQ_BIT)
+        msr   cpsr,r0
+        sub   r0,lr,#4
+        mrs   r1,spsr
+   
+        /*
+         *  ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã«
+         */
+        and   r2,  r1, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */
+        orr   r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)        
+        msr   cpsr_all, r2
+        str   r0, [sp,#0x18] /* Store pc */
+        stmfd sp!,{r1}       /* spsr */
+
+
+        /*
+         *  å¤éå²ãè¾¼ã¿ãå¤å®
+         */
+        ldr     r2, =interrupt_count
+        ldr     r3, [r2]
+        add     r0,r3,#1
+        str     r0, [r2]
+        cmp     r3, #0x00
+
+        moveq   r2,sp            /* ãã¹ãå²ãè¾¼ã¿ã§ãªãå ´å */
+        ldreq   sp,=STACKTOP     /* ã¹ã¿ãã¯ã®å¤æ´    */
+        stmeqfd sp!,{r2}         /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­ */
+
+
+        /*
+         *  å²ãè¾¼ã¿è¦å ã®å¤å®ï¼
+         */
+        ldr     r1, =IRQ0_STATUS
+        ldr     r2, [r1]
+        mov     r0, #31
+find_bit_loop:
+        mov     r3, r2, asr r0
+        tst     r3, #1
+        bne     find_bit_end   
+        subs    r0, r0, #1
+        bpl     find_bit_loop
+find_bit_end:
+        mov     r3, r0
+        ldr     r0,=int_mask_table    /* å²è¾¼ã¿ãã¹ã¯ãã¼ãã«ã®å¼ã³åºã*/
+        ldr     r0,[r0,r3,lsl #2]     /* r0<-å²è¾¼ã¿ãã¹ã¯              */    
+        ldr     r1, =IRQ0_ENABLECLR   /* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã¸ã®ã»ãã      */
+        str     r0,[r1]
+
+        stmfd   sp!, {r0}             /* ãã¹ã¯ããããä¿å­            */
+
+        
+        ldr     r0,  =int_table       /* å²è¾¼ã¿çä¼¼ãã¼ãã«ã®èª­ã¿åºã  */
+        ldr     r0,  [r0,r3,lsl #2]   /* r0<-å²è¾¼ã¿ãã³ãã©            */    
+
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ããã§ãã¯
+         */
+        cmp     r0, #0x00
+        beq     undefined_interrupt
+        
+        /* 
+         * å²ãè¾¼ã¿è¨±å¯ 
+         */                
+        mrs     r2, cpsr
+        and     r2,  r2, #~CPSR_IRQ_BIT /* å²è¾¼ã¿è¨±å¯ */
+        msr     cpsr,r2
+
+        /* 
+         * Call Handler  
+         */        
+        mov     lr,  pc   
+        mov     pc,  r0
+
+        /* 
+         * å²ãè¾¼ã¿ç¦æ­¢ 
+         */
+        mrs     r2, cpsr
+        and     r2,  r2, #CPSR_FIQ_BIT /* FIQãããã®ç¶æ¿ */         
+        orr     r2,  r2, #(CPSR_SVC|CPSR_IRQ_BIT)
+        msr     cpsr,r2
+
+        ldmfd   sp!, {r0}                /* ãã¹ã¯ãããã®å¾©å¸° */
+        ldr     r1,  =IRQ0_ENABLESET        /*å²ãè¾¼ã¿è¨±å¯*/
+        str     r0,  [r1]
+
+        /* 
+         * å²è¾¼ã¿ãã¹ãåæ°(interrupt_count) ãã¯ãªã¡ã³ã 
+         */
+        ldr     r2, =interrupt_count
+        ldr     r1, [r2]        
+        sub     r3, r1, #1                        
+        str     r3, [r2]
+        cmp     r3, #0x00        
+        bne     return_to_task_irq
+        
+        /* 
+         * ã¿ã¹ã¯ã¹ã¿ãã¯ã®å¾©å¸° 
+         */
+        ldmfd   sp!,{r0}         
+        mov     sp, r0        
+                
+        ldr     r1, =reqflg    /* Check reqflg */
+        ldr     r0, [r1]
+        cmp     r0, #0
+        beq     return_to_task_irq
+        mov     r0, #0
+        str     r0, [r1]       /* Clear reqflg */
+        b       ret_int
+
+return_to_task_irq:
+        /*
+         *  å¾©å¸°å¦ç
+         *  å²ãè¾¼ã¿è¨±å¯ã¨ãªããã¿ã¹ã¯ã³ã³ãã­ã¹ãä¸ã«ä¿å­ãã¦ããããï¼
+         *  åé¡ã¯ãªã
+         */
+        ldmfd   sp!,{r1}           /* CPSRã®å¾©å¸°å¦ç */
+        mrs     r2, cpsr           /* FIQãç¶æ¿            */
+        and     r2, r2, #CPSR_FIQ_BIT
+        and     r1, r1, #~CPSR_FIQ_BIT
+        orr     r1, r1, r2                 
+        msr     spsr, r1              /* æ»ãå
+ã®cpsrãspsrã«è¨­å® */
+        ldmfd   sp!,{r0-r3,ip,lr,pc}^ /* ã¿ã¹ã¯ã«å¾©å¸° ^ä»ããªã®ã§ãcpsr <- spsr */        
+
+        /*
+         *  æªå®ç¾©ã®å²è¾¼ã¿ãå
+¥ã£ãã¨ãã«å¼ã³åºã
+         */    
+undefined_interrupt:
+         b      undef_interrupt
+    
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/integrator/sys_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef int_table
+#undef int_mask_table
+
+#ifdef LABEL_ASM
+
+#undef _int_table
+#undef _int_mask_table
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/makeoffset.c	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.7 2004/09/06 16:00:15 hiro Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+    OFFSET_DEF(TCB, texptn);
+    OFFSET_DEF2(TCB, tskctxb.sp, sp);
+    OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#ifdef __ARMEL__
+TCB	BIT_LB_TCB_enatex = {
+#else
+TCB	BIT_BB_TCB_enatex = {
+#endif /* __ARMEL__ */
+               { NULL, NULL }, NULL, 0, 0,
+               FALSE, FALSE, TRUE,
+               0, NULL, {NULL, NULL }
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/start.S	(revision 26)
@@ -0,0 +1,182 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.19 2007/01/05 02:02:38 honda Exp $
+ */
+                
+/*
+ *    ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(ARMv4ç¨)
+ */
+#define _MACRO_ONLY
+#include <armv4.h>
+#include <sys_defs.h>
+        
+#include <t_config.h>
+ 
+
+
+        /*
+         * Vectorãã¼ãã«ã¨ã¸ã£ã³ããã¼ãã«
+         * ãµã¤ãºã¯åè¨0x3c
+         */
+        .section .vector,"a"
+        .code 32
+        .align 0
+        .global vector_table
+vector_table:
+        ldr pc, reset_vector       /* ãªã»ãã             */
+        ldr pc, undef_vector       /* æªå®ç¾©å½ä»¤           */
+        ldr pc, swi_vector         /* ã½ããã¦ã§ã¢å²è¾¼ã¿   */
+        ldr pc, prefech_vector     /* ããªãã§ããã¢ãã¼ã */
+        ldr pc, data_abort_vector  /* ãã¼ã¿ã¢ãã¼ã       */
+        ldr pc, reset_vector
+        ldr pc, irq_vector         /* IRQ                  */
+        ldr pc, fiq_vector         /* IRQ                  */
+
+/*
+ *  ãã¯ã¿ã¼ãã¼ãã«
+ */
+reset_vector:
+        .long   start
+undef_vector:
+        .long   undef_exception
+swi_vector:
+        .long   swi_exception
+prefech_vector:
+        .long   prefetch_exception
+data_abort_vector:
+        .long   data_abort_exception
+irq_vector:
+        .long   irq_exception
+fiq_vector:
+        .long   fiq_exception
+
+
+
+
+        .text
+        .code 32
+        .align     0
+        .global    start
+start:
+        mov  r1,  #(CPSR_SVC|CPSR_FIQ_BIT|CPSR_IRQ_BIT) /* To System mode */
+		msr  cpsr, r1
+
+        /*
+         * ã¹ã¿ãã¯ãã¤ã³ã¿ã¨ï¼ãã¬ã¼ã ãã¤ã³ã¿ã®åæå
+         * SL(ã¹ã¿ãã¯ä¸éã¬ã¸ã¹ã¿r10)ã¯è¨­å®ããå¿
+è¦ãããã?
+         * gccã¯ãã£ãã©ã«ãã§ã¯-mapcsãªã®ã§å¿
+è¦ãªã
+         */
+        ldr  r3, =STACKTOP
+        mov  sp, r3
+        mov  r11, #0        /* Armã¢ã¼ãç¨ãã¬ã¼ã ãã¤ã³ã¿   */         
+        mov  r7, #0         /* Thubmã¢ã¼ãç¨ãã¬ã¼ã ãã¤ã³ã¿ */
+
+        /*
+         * hardware_init_hookã®å¼ã³åºã ï¼0ã§ãªãå ´åï¼
+         *
+         * ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+         * ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æãã
+         */
+        ldr  r0, =hardware_init_hook
+        cmp  r0, #0x00
+        blne hardware_init_hook
+
+
+        /*
+         *  bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
+         */        
+start_1:
+        ldr  r1, =__bss_start
+        ldr  r2, =__bss_end
+        cmp  r1,r2
+        bhs  start_3
+        mov  r0,#0
+start_2:
+        str  r0,[r1],#4
+        cmp  r1, r2
+        blo  start_2
+        
+        /*
+         *  dataã»ã¯ã·ã§ã³ã®åæå(ROMåå¯¾å¿)
+         *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+         *  ã³ãã¼ãã
+         */
+start_3:
+#ifndef __RUN_ON_SRAM
+        ldr  r1, =__idata_start
+        ldr  r3, =__idata_end
+        cmp  r1, r3
+        bhs  start_5
+        ldr  r2, =__data_start
+start_4:        
+        ldr  r0, [r1],#4
+        str  r0, [r2],#4
+        cmp  r1, r3
+        blo  start_4
+#endif
+        
+        /*
+         *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+         *
+         *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+         *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+         *  ããï¼
+         */
+start_5:
+        ldr   r0, =software_init_hook
+        cmp   r0, #0x00
+        blne  software_init_hook
+
+start_6:        
+        bl    kernel_start
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.5 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/armv4/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/07/21 10:25:00 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/Makefile.config	(revision 26)
@@ -0,0 +1,37 @@
+#
+#  @(#) $Id: Makefile.config,v 1.9 2003/06/18 15:13:33 hiro Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼COLFIREç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = m68k-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(SRCDIR)/config/$(CPU)
+COPTS := $(COPTS) -Wall -g -O1 -m528x
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(SRCDIR)/config/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o vector_table.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.c	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.10 2005/11/12 14:57:17 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼COLDFIREç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UH	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UH	int_intmask;
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+UW      intnest;
+
+extern void board_leds_display (unsigned char number);
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+	task_intmask = 0x0000;
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®åæå
+	 */
+	intnest = 1u;
+        
+	/*
+	 *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®åæå
+	 */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+        if ((UW)&vector_table != current_vbr()) {
+	     set_vbr(vector_table);
+        }
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+  if ((UW)&vector_table != EXCVT_ORIG) {  
+	set_vbr(EXCVT_ORIG);
+  }
+#endif /* EXCVT_KERNEL */
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã 7ï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«å¤æ´
+ *  ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ã§ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ããããã¨ã«
+ *  ãã£ã¦ï¼æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿
+ *  ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= 6);
+
+	t_lock_cpu();
+	task_intmask = (ipm << 8);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 8);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void cpu_experr(EXCSTACK *sp)
+{
+    syslog(LOG_EMERG, "Exception error occurs.");
+    
+    syslog(LOG_EMERG, "PC = 0x%08x SR = 0x%08x",
+    			sp->pc, sp->sr);
+    
+    syslog(LOG_EMERG, "d0 = 0x%08x d1 = 0x%08x d2 = 0x%08x",
+    			sp->d0, sp->d1, sp->d2);
+    syslog(LOG_EMERG, "d3 = 0x%08x d4 = 0x%08x d5 = 0x%08x",
+    			sp->d3, sp->d4, sp->d5);
+    syslog(LOG_EMERG, "d6 = 0x%08x d7 = 0x%08x a0 = 0x%08x",
+    			sp->d6, sp->d7, sp->a0);
+    syslog(LOG_EMERG, "a2 = 0x%08x a3 = 0x%08x a3 = 0x%08x",
+    			sp->a1, sp->a2, sp->a3);
+    syslog(LOG_EMERG, "a4 = 0x%08x a5 = 0x%08x a6 = 0x%08x",
+    			sp->a4, sp->a5, sp->a6);
+    			/*  ä¾å¤çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤  */
+    syslog(LOG_EMERG, "a7 = 0x%08x", (sp->a7)+2*4);
+
+    while(1);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_config.h	(revision 26)
@@ -0,0 +1,540 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.14 2003/07/08 14:57:12 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼CFV2ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  è¨­å®å¯è½ãªæé«åªå
+åº¦
+ */
+#ifdef GDB_STUB
+#define MAX_IPM  0x6	/* ã¹ã¿ãããã®å ´åã¯åªå
+åº¦6ã§CPUã­ãã¯   */
+#else
+#define MAX_IPM  0x7	/* ã¹ã¿ããªãã®å ´åã¯æé«åªå
+åº¦ã§CPUã­ãã¯ */
+#endif /*  GDB_STUB  */
+
+#define str_MAX_IPM  		TO_STRING(MAX_IPM)
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	VP	msp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã8ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UH
+current_intmask()
+{
+	return(current_sr() & 0x0700);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UH intmask)
+{
+	set_sr((current_sr() & ~0x0700) | intmask);
+}
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern UW	intnest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+	return(intnest > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+	return(current_intmask() == (MAX_IPM << 8));
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UH	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu()
+{
+	disint();
+}
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UH	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+	UH	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask() ãå¼
+	 *  ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+Inline void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+#endif  /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+extern FP vector_table[];	/*  ä¾å¤ãã¯ã¿ãã¼ãã«  */
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+typedef struct exc_vector_entry {
+	FP	exchdr;			/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+#ifdef GDB_STUB
+        Asm("moveq.l #0x8,%%d0;  move.l %0,%%d2; move.l %1,%%d3; trap #0xf"
+	    : /* no output */
+	    : "r"(inhno), "r"(inthdr)
+	    : "%%d0", "%%d2", "%%d3");
+#else	/*  GDB_STUB  */
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+/* SIO_RESERVEDã¯ä½¿ç¨ããªããsys_config.hã§ã³ã¡ã³ãã«ãã¦ãã */
+/*#ifdef SIO_RESERVED	*//*  ã·ãªã¢ã«å²ãè¾¼ã¿ã¯é¿ãã  */
+/*	if ((inhno != RXI0) && (inhno != TXI0))*/
+/*#endif *//* SIO_RESERVED */ 
+	vector_table[inhno] = inthdr;
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#endif	/*  GDB_STUB  */
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+	define_inh(excno, exchdr);
+}
+
+/*  Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ  
+ *     kernel_cfg.cã§ä½¿ç¨
+ */
+#define	INT_ENTRY(inthdr)	_kernel_##inthdr##_entry
+#define	EXC_ENTRY(exchdr)	_kernel_##exchdr##_entry
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®å
+±éé¨å
+ *
+ *	ColdFireã§ã¯ãå²è¾¼ã¿ã¨CPUä¾å¤ã®æ±ããã»ã¨ãã©åããªã®ã§ã
+ *	å
+¥å£å¦çã®ãã¯ã­ãå
+±éã«å®ç¾©ãã¦ãã
+ *
+ *ããå¼æ°
+ *	labelï¼å
+¥å£å¦çã®ã©ãã«
+ *	inthdrï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *	common_routineï¼cpu_support.Så
+ã®åå²å
+ã¢ãã¬ã¹
+ *			interrupt_entryï¼å²è¾¼ã¿ã®å ´å
+ *			cpu_exception_entryï¼CPUä¾å¤ã®å ´å
+ *
+ *ããã¬ã¸ã¹ã¿å²å½
+ *ããããd1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããa0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *	å²è¾¼ã¿ã¨CPUä¾å¤ã®ç¸éç¹
+ *	ããã»CPUä¾å¤ãã³ãã©ã«å¼æ°ãä¸ãã
+ *	ããã»CPUä¾å¤ã§ã¯ãä¾å¤çºçæã®IPMã¨åãå¤ã§å²è¾¼ã¿ãè¨±å¯ãã
+ *		ï¼CPUä¾å¤ã«ãããIPMãå¤åãããªãï¼
+ *
+ *	ããã»å²è¾¼ã¿ãã³ãã©ã®å ´å				
+ *	ãã  	å²è¾¼ã¿åä»æã«ãã¼ãã¦ã§ã¢ãIPMãè¨­å®ãã	
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯ãã®IPMã®å¤ãç¨ãã		
+ *	ããã»CPUä¾å¤ãã³ãã©ã®å ´å				
+ *	ãã  	CPUä¾å¤åä»æã«IPMã®å¤ã¯å¤åããªã		
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯CPUä¾å¤çºçæã®IPMã®å¤ãç¨ãã	
+ */
+#define	HANDLER_ENTRY_PROC(label, handler, common_routine)		   \
+asm(".text								\n"\
+"	.align 2							\n"\
+"	.global "#label"						\n"\
+#label":								\n"\
+"	lea.l   -16(%sp), %sp		\n"                                \
+"	movem.l %d0-%d1/%a0-%a1, (%sp)	\n" /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+				/*  å²è¾¼ã¿ç¦æ­¢ã¨SRå¾©å
+ã®æºå  		*/ \
+"	move.w	%sr,%d1							\n"\
+	/*  å²è¾¼ã¿ç¦æ­¢  						*/ \
+	/*     å²è¾¼ã¿ãç¦æ­¢ããåã«å¥ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®æ³¨æç¹ã¯ 	*/ \
+	/*     cpu_suppourt.Sã®ret_intãåç
+§ 				*/ \
+"	move.l	#("str_MAX_IPM" << 8),%d0	                        \n"\
+"	ori.l	#0x00002000,%d0	                                        \n"\
+"	move.w	%d0,%sr	                                                \n"\
+"	move.l	#"#handler", %a0				                \n"\
+"	jbra	_kernel_"#common_routine"        \n" /* Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹*/\
+)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)	INTHDR_ENTRY2(INT_ENTRY(inthdr), inthdr)
+
+#define INTHDR_ENTRY2(entry, inthdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, inthdr, interrupt_entry)
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ */
+#define	EXCHDR_ENTRY(exchdr)	EXCHDR_ENTRY2(EXC_ENTRY(exchdr), exchdr)
+
+#define EXCHDR_ENTRY2(entry, exchdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, exchdr, cpu_exception_entry)
+	/*
+	 *  void entry()ã¯åãªãã¨ã³ããªã®ã©ãã«ãªã®ã§ã
+	 *  å¼æ°ã¯ä»ããªã
+	 */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* 
+	 *  ï¼ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®å
+	 *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã 	
+	 *  
+	 *  CPUä¾å¤ã®å
+¥å£å¦çä¸­ã«å¥ã®CPUä¾å¤ã¯çºçããªãã¨ä»®å®
+	 *  ãã¦ãã
+	 */
+	return(intnest > 0);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x0700) == 0x0700);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+/*
+ *  ä¸è¨ã®ã­ã°åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+typedef struct exc_stack {
+	VW	d0;
+	VW	d1;
+	VW	d2;
+	VW	d3;
+	VW	d4;
+	VW	d5;
+	VW	d6;
+	VW	d7;
+	VW	a0;
+	VW	a1;
+	VW	a2;
+	VW	a3;
+	VW	a4;
+	VW	a5;
+	VW	a6;
+	VW	a7;
+	VW	sr;	/*  ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿  	*/
+	VW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+} EXCSTACK;
+
+
+/*
+ * ä¾å¤çºçæã®ã­ã°åºå (cpu_config.c, cpu_support.S)
+ */
+extern void     cpu_experr(EXCSTACK *);
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ã«è¨­å®ããããã©ã«ãã®å¤
+ *  	ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *	ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+#define RESET_VECTOR 	start		/*  ãªã»ãããã¯ã¿  */
+#define INIT_STACK  	STACKTOP	/*  ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+
+#define RESERVED_VECTOR	RESET_VECTOR	/*  ã·ã¹ãã äºç´ã®ãªã»ãããã¯ã¿  */
+					/*  å®éã«ã¯ä½¿ç¨ãããªã  */
+
+#ifndef ACC_VECTOR	/*  ã¢ã¯ã»ã¹ã¨ã©ã¼  */
+#define ACC_VECTOR	RESET_VECTOR
+#endif /* ACC_VECTOR */
+
+#ifndef ADD_VECTOR	/*  ã¢ã¯ã»ã¹ã¨ã©ã¼  */
+#define ADD_VECTOR	RESET_VECTOR
+#endif /* ACC_VECTOR */
+
+#ifndef II_VECTOR	/*  ä¸å½å½ä»¤  */
+#define II_VECTOR	RESET_VECTOR
+#endif /* II_VECTOR */
+
+#ifndef PV_VECTOR	/*  ã¹ã­ããä¸å½å½ä»¤  */
+#define PV_VECTOR	RESET_VECTOR
+#endif /* SII_VECTOR */
+
+#ifndef CAE_VECTOR	/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+#define CAE_VECTOR	RESET_VECTOR
+#endif /* CAE_VECTOR */
+
+#ifndef DAE_VECTOR	/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+#define DAE_VECTOR	RESET_VECTOR
+#endif /* DAE_VECTOR */
+
+#ifndef NMI_VECTOR	/*  NMI  */
+#define NMI_VECTOR	RESET_VECTOR
+#endif /* NMI_VECTOR */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_context.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.8 2003/12/10 16:58:27 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼M68040ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)((SIZE)(tcb->tinib->stk) + tcb->tinib->stksz);
+  
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW) ext_tsk;
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.msp = sp; 
+	tcb->tskctxb.pc = activate_r;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_defs.h	(revision 26)
@@ -0,0 +1,173 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2007 by Kurusugawa-Electronics Technology Inc
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.13 2005/11/12 14:58:24 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼COLDFIREç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>	/*  SUPPORT_VXGET_TIMãã¯ã­ã®å®ç¾©  */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2007 by Kurusugawa-Electronics Industory Inc\n" \
+"Copyright (C) 2008 by Takahisa Yokota\n" \
+"   \n\n"
+
+#define CFV2		/* ãã­ã»ããµç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+typedef	UINT	IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+/*
+ *  SILé¢é£ã®å®ç¾©
+ */
+
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+#define _current_intmask_	current_intmask
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+#define _set_intmask_		set_intmask
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ *  ãdisint()ãã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®ã¿ãç¦æ­¢ããã®ã«å¯¾ãã¦
+ *  ã_disint_()ã¯ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãå«ãã¦ç¦æ­¢ããã
+ *  ãå
+·ä½çã«ã¯GDB stubã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ã®æ±ããç°ãªãã
+ */
+Inline void
+_disint_()
+{
+	UW sr;
+
+	Asm("move.w  %%sr, %0" : "=d"(sr));
+	sr |= 0x0700;
+	Asm("move.w %0, %%sr" : : "d"(sr) );
+}
+
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define	SIL_PRE_LOC	UW _intmask_ = _current_intmask_()
+#define	SIL_LOC_INT()	_disint_()
+#define	SIL_UNL_INT()	_set_intmask_(_intmask_)
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+Inline void
+sil_dly_nse(UINT dlytim)
+{
+	register VW d0 asm("d0") = (VW) dlytim;
+	Asm("jsr _sil_dly_nse" : "=g"(d0) : "0"(d0));
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+
+#ifdef SUPPORT_VXGET_TIM
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /*  SUPPORT_VXGET_TIM  */
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_insn.h	(revision 26)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Kurusugawa-Electronics Technology Inc
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.9 2003/06/04 01:51:39 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼COLDFIREç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UH
+current_sr()
+{
+	UH	sr;
+
+	Asm("move.w %%sr, %0" : "=d"(sr));
+	return(sr);
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UH sr)
+{
+         Asm("move.w %0, %%sr" : : "d"(sr) : "cc");
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint()
+{
+  set_sr((current_sr() | 0x0700));
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+  set_sr((current_sr() & ~0x0700));
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ *
+ *  ColdFireã¯movec vbr, dxããµãã¼ãããªããã
+ *  ãã®ãããªæ±ãã«ãªã
+ *
+ */
+extern VP current_vbr();
+
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+extern void set_vbr(VP vbr);
+
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *  ããããããã®ä¸ä½16ããããä½¿ç¨ãï¼æä¸ä½ããããæä½åªå
+åº¦ã«å¯¾å¿
+ *  ãããï¼
+ */
+#define	CPU_BITMAP_SEARCH
+#define	PRIMAP_BIT(pri)		(0x8000u >> (pri))
+
+Inline UINT
+bitmap_search(UINT bitmap)
+{
+        UINT offset;
+	/*
+	 *  ãã®ã³ã¼ãã¯ï¼bitmapï¼UINTåï¼ã32ãããã§ãããã¨ãä»®å®ã
+	 *  ã¦ããï¼
+	 */
+        Asm("ff1.l %0" : "=d"(offset): "d"(bitmap & 0x0000FFFF));
+	return(offset - 16);
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+activate_r
+ret_int
+ret_exc
+task_intmask
+int_intmask
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_rename.h	(revision 26)
@@ -0,0 +1,23 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define interrupt_entry		_kernel_interrupt_entry
+#define cpu_exception_entry	_kernel_cpu_exception_entry
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define intnest			_kernel_intnest
+
+#ifdef LABEL_ASM
+
+#define _activate_r		_kernel_activate_r
+#define _interrupt_entry	_kernel_interrupt_entry
+#define _cpu_exception_entry	_kernel_cpu_exception_entry
+#define _task_intmask		_kernel_task_intmask
+#define _int_intmask		_kernel_int_intmask
+#define _intnest		_kernel_intnest
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_support.S	(revision 26)
@@ -0,0 +1,406 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.16 2005/11/12 14:58:46 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼MCF52235ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatch ã¯ï¼ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããª
+ *  ãï¼exit_and_dispatch ãï¼ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®
+ *  ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ã¢ã¼ãã§å¼ã³åº
+ *  ããå ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+	.text
+	.globl dispatch
+	.globl exit_and_dispatch
+dispatch:
+	lea  -44(%sp), %sp
+	movem.l %d2-%d7/%a2-%a6, (%sp)	/* ã¬ã¸ã¹ã¿ãä¿å­ */
+	move.l runtsk, %a0		/* A0 ã runtsk ã« */
+	move.l %sp, TCB_msp(%a0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	move.l #dispatch_r, %d2
+	move.l %d2, TCB_pc(%a0)	/* å®è¡åéçªå°ãä¿å­ */
+	jbra dispatcher
+
+dispatch_r:
+	movem.l (%sp), %d2-%d7/%a2-%a6	/* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	lea 44(%sp), %sp
+	btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+	jbeq dispatch_r_1		/* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	tst.l TCB_texptn(%a0)		/* texptn ã 0 ã§ãªããã°           */
+	jbne call_texrtn		/*   ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã */
+dispatch_r_1:
+	rts
+
+exit_and_dispatch:
+	clr.l	intnest
+
+dispatcher:
+	/*
+	 *  ããã§ã¯ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ãªããã°ãªããªãï¼
+	 */
+	move.l schedtsk, %a0
+	move.l %a0, runtsk		/* schedtsk ã runtsk ã« */
+	jbeq   dispatcher_1		/* runtsk ããããï¼ */
+	move.l TCB_msp(%a0), %sp	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+	move.l TCB_pc(%a0),  %a1	/* å®è¡åéçªå°ãå¾©å¸° */
+	jmp (%a1)
+dispatcher_1:
+	addq.l  #1, intnest
+	move.l  #STACKTOP, %sp
+	stop #0x2000			/* å²è¾¼ã¿å¾
+ã¡ï¼å²è¾¼ã¿ã¢ã¼ãï¼ */
+	/*
+	 *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+	 *
+	 *  ãã® stopå½ä»¤ã¯ï¼IPM ã 0 ã«ãããï¼æ¬æ¥ã¯ task_intmask ã«
+	 *  è¨­å®ãã¹ãã§ããï¼M68040 ã§ã¯ï¼stop å½ä»¤ã®ãã©ã¡ã¼ã¿ã«å®æ°
+	 *  ããã¨ããªãããï¼ããããã 0 ã«ãã¦ããï¼stop å½ä»¤ã 8ã¤
+	 *  ä¸¦ã¹ã¦ï¼task_intmask ã®å¤ã§é£ã³åããæã¯ãããï¼ããã¾ã§
+	 *  ããæç¾©ã¯ãªãã¨èããï¼ï¼
+	 *
+	 *  ãã­ã»ããµãå¾
+ã¡ã¢ã¼ãã«ç§»è¡ãããå¦çã¨ï¼å²è¾¼ã¿è¨±å¯ã¨ã¯ï¼
+	 *  ä¸å¯åã«è¡ãªãå¿
+è¦ãããï¼M68040 ã§ã¯ stopå½ä»¤ã§ä¸¡æ¹è¡ãªã
+	 *  ã®ã§åé¡ãªãï¼ï¼ãããä¸å¯åã«è¡ãªããªãå ´åï¼å²è¾¼ã¿ãè¨±å¯
+	 *  ããç´å¾ã«å²è¾¼ã¿ãå
+¥ãï¼ãã®ä¸­ã§ã¿ã¹ã¯ãå®è¡å¯è½ç¶æ
+ã«ãªã
+	 *  ã¨ï¼å®è¡ãã¹ãã¿ã¹ã¯ãããã«ãããããããã­ã»ããµãå¾
+ã¡ã¢ã¼
+	 *  ãã«ãªã£ã¦ãã¾ãï¼
+	 *
+	 *  å²è¾¼ã¿ãå¾
+ã¤éã¯ï¼runtsk ã NULLï¼=0ï¼ã«è¨­å®ããªããã°ãªã
+	 *  ãªãï¼ãã®ããã«è¨­å®ããªãã¨ï¼å²è¾¼ã¿ãã³ãã©ãã iget_tid 
+	 *  ãå¼ã³åºããéã®åä½ãä»æ§ã«åè´ããªããªãï¼
+	 */
+	move.w #0x2700, %sr		/* å²è¾¼ã¿ç¦æ­¢ */
+	clr.l intnest
+	tst.l reqflg			/* reqflg ã FALSE ãªã */
+	jbeq dispatcher_1		/*      dispatcher_1 ã¸ */
+	clr.l reqflg			/* reqflg ã FALSE ã« */
+	jbra dispatcher
+
+/*
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  ä¾å¤ãçºçããæç¹ã®pc,sr,pr,r0ã15ãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ */
+	.text
+	.align 2
+	.globl no_reg_exception
+no_reg_exception:
+	move.l  %a7, %sp@-
+	move.l  %a6, %sp@-
+	move.l  %a5, %sp@-
+	move.l  %a4, %sp@-
+	move.l  %a3, %sp@-
+	move.l  %a2, %sp@-
+	move.l  %a1, %sp@-
+	move.l  %a0, %sp@-
+	move.l  %d7, %sp@-
+	move.l  %d6, %sp@-
+	move.l  %d5, %sp@-
+	move.l  %d4, %sp@-
+	move.l  %d3, %sp@-
+	move.l  %d2, %sp@-
+	move.l  %d1, %sp@-
+	move.l  %d0, %sp@-
+	move.l %sp, %sp@-
+	jbsr  cpu_experr
+
+/*
+ *  ã¿ã¹ã¯èµ·åæå¦ç
+ */
+	.text
+	.globl activate_r
+activate_r:
+	/*
+	 *  ã¿ã¹ã¯èµ·åç´å¾ã¯ã¿ã¹ã¯ä¾å¤å¦çãç¦æ­¢ããã¦ããããï¼ããã§ã¿
+	 *  ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãæ¡ä»¶ã¯æãç«ããªãï¼
+	 */
+#ifdef SUPPORT_CHG_IPM			/* t_unlock_cpu ç¸å½ã®å¦ç */
+	move.w %sr, %d0			/* å²è¾¼ã¿ãã¹ã¯ã task_intmask ã« */
+	and.l  #~0x00000700, %d0
+	clr.l	%d1
+	move.w task_intmask, %d1
+	or.l   %d1, %d0
+	move.w %d0, %sr
+#else /* SUPPORT_CHG_IPM */
+	move.w %sr, %d0			
+	and.l #~0x00000700, %d0		/* å²è¾¼ã¿è¨±å¯ */
+	move.w %d0, %sr
+#endif /* SUPPORT_CHG_IPM */
+	move.l (%sp)+, %a0		/* ã¿ã¹ã¯ã®èµ·åçªå°ã a0 ã« */
+	jmp (%a0)
+
+/**
+ *
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®ç¶ã
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ *  ã
+ *  ä¸è¬ä¸å½å½ä»¤ã®å ´åã¯æ»ãçªå°ã2ãã¤ãé²ããå¿
+è¦ãããã
+ *  å¯¾å¿ãã¦ããªã
+ *  ï¼GDB stubããã¬ã¼ã¯ãã¤ã³ãã¨ãã¦ä½¿ç¨ãããï¼
+ *  ã
+ * ããCPUä¾å¤è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããd1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããa0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr4ï¼Cè¨èªã«ã¼ãã³ã®å¼æ°
+ * ãããããã¹ã¿ãã¯ä¸ã«ç©ã¾ããSRã®ã¢ãã¬ã¹
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl cpu_exception_entry
+cpu_exception_entry:
+	/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	tst.l	intnest         /* CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããå¤å®  	*/
+	bne	_exc_from_int   /* å¤éä¾å¤ãªãã¸ã£ã³ã   		*/
+	addq.l  #1, intnest
+
+        /* 	åæ®µã®CPUä¾å¤ã®å ´å					*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	move.l  %sp, %a1
+				/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	move.l  #STACKTOP, %sp
+	move.l	%a1,-(%sp) 	/*       ã  			*/
+	move.w 	%d1, %sr	/*  å²è¾¼ã¿è¨±å¯                          */
+				/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+	jsr	(%a0)		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+									
+        move.l  #(MAX_IPM << 8), %d0 /*  å²è¾¼ã¿ç¦æ­¢		*/
+        ori.l   #0x00003000, %d0
+	move.w	%d0, %sr
+				/* å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ */
+	clr.l	intnest
+	move.l	(%sp),%sp	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	tst.l	reqflg
+	jbne	ret_exc
+	movem.l (%sp), %d0-%d1/%a0-%a1
+	adda.l  #16,%sp
+	rte
+
+/*
+ *  å²è¾¼ã¿ã®å£å¦çã®ç¶ã
+ *
+ * ããå²è¾¼ã¿è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããd1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããa0:Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl interrupt_entry
+interrupt_entry:
+	/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	tst.l	intnest		/* å¤éå²è¾¼ã¿ãªãã¸ã£ã³ã   		*/
+	bne	_interrupt_from_int
+	addq.l	#1, intnest	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+
+                                /* åæ®µã®å²è¾¼ã¿ã®å ´å		*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	move.l  %sp, %a1	/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	move.l  #STACKTOP, %sp 
+	move.l	%a1,-(%sp) 	/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+	move.w  %d1, %sr	/*  å²è¾¼ã¿è¨±å¯  */
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+	jsr	(%a0)		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+				/*  å²è¾¼ã¿ç¦æ­¢		*/
+        move.l  #(MAX_IPM << 8), %d0
+        ori.l   #0x00002000, %d0
+	move.w	%d0, %sr	/*  å²è¾¼ã¿ç¦æ­¢			*/
+				/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢*/
+	clr.l	intnest
+	move.l	(%sp),%sp	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	tst.l	reqflg
+	jbne	ret_int
+	movem.l (%sp), %d0-%d1/%a0-%a1
+	adda.l  #16,%sp
+	rte
+
+/* å¤éå²è¾¼ã¿ã®å ´å 							*/
+/* 	å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å¥å¾ã 				*/
+/*   		å²è¾¼ã¿ç¦æ­¢ 						*/
+/*   		a0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹				*/
+/*   		d0ï¼å²ãè¾¼ã¿ãã¹ãåæ°			                */
+/*ãããã      d1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼                          */
+/* 	ã®ç¶æ
+ã§ããã«é£ãã§ãã 					*/
+_exc_from_int:
+_interrupt_from_int:
+	addq.l	#1, intnest		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+	move.w	%d1,%sr			/*  å²è¾¼ã¿è¨±å¯	*/
+	
+	jsr	(%a0)			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã 	*/
+	
+        move.l  #(MAX_IPM << 8), %d0
+        ori.l   #0x00002000, %d0
+	move.w	%d0, %sr	/*  å²è¾¼ã¿ç¦æ­¢			*/
+	/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ããã£ã¯ãªã¡ã³ã	*/
+	subq.l	#1, intnest
+	movem.l (%sp), %d0-%d1/%a0-%a1
+	adda.l  #16,%sp
+	rte
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ *  ret_int ã¯å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ï¼ret_exc ã¯ãã¹ã¿ã¢ã¼ãã»
+ *  å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼ã¾ã ret_exc ã¯ï¼ã¹ã¯ã©ã
+ *  ãã¬ã¸ã¹ã¿ãä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ï¼
+ */
+	.text
+	.align 2
+ret_int:
+ret_exc:
+	clr.l reqflg			/* reqflg ã FALSE ã« */
+	move.l runtsk, %a0		/* A0 â runtsk */
+	tst.l enadsp			/* enadsp ã FALSE ãªã */
+	jbeq  ret_int_1			/*         ret_int_1 ã¸ */
+	cmp.l schedtsk, %a0		/* runtsk ã¨ schedtsk ãåããªã */
+	jbeq ret_int_1			/*                  ret_int_1 ã¸ */
+	lea	-44(%sp), %sp
+	movem.l %d2-%d7/%a2-%a6, (%sp)	/* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+	move.l %sp, TCB_msp(%a0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	move.l #ret_int_r, %d2
+	move.l %d2, TCB_pc(%a0)	/* å®è¡åéçªå°ãä¿å­ */
+	jbra dispatcher
+ret_int_r:
+	movem.l (%sp), %d2-%d7/%a2-%a6	/* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	lea  44(%sp), %sp
+ret_int_1:
+	btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+	jbeq ret_int_2			/* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	tst.l TCB_texptn(%a0)		/* texptn ã 0 ãªããªã¿ã¼ã³ */
+	jbeq ret_int_2
+	jsr call_texrtn			/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã */
+ret_int_2:
+#ifdef SUPPORT_CHG_IPM
+	move.l  16(%sp),  %d0	               /* æ»ãå
+ã®å²è¾¼ã¿ãã¹ã¯ã */
+	and.l   #~0x00000700, %d0		/*        task_intmask ã« */
+	clr.l	%d1
+	move.w	task_intmask, %d1
+	or.l	%d1, %d0
+	move.l  %d0, 16(%sp)
+#endif /* SUPPORT_CHG_IPM */
+	movem.l (%sp), %d0-%d1/%a0-%a1	/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+	adda.l  #16, %sp
+	rte
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+	subi.l #SIL_DLY_TIM1, %d0	/* D0 ãã SIL_DLY_TIM1 ãå¼ã */
+	jbhi _sil_dly_nse_1		/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+	rts
+_sil_dly_nse_1:
+	subi.l #SIL_DLY_TIM2, %d0	/* D0 ãã SIL_DLY_TIM2 ãå¼ã */
+	jbhi _sil_dly_nse_1		/* çµæã 0 ããå¤§ãããã°ã«ã¼ã */
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/cpu_unrename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef task_intmask
+#undef int_intmask
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _task_intmask
+#undef _int_intmask
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235.h	(revision 26)
@@ -0,0 +1,158 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m52235.h,v 1.8 2003/06/18 12:40:08 hiro Exp $
+ */
+
+/*
+ *	M52235 CPUãã¼ãã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _M52235_H_
+#define _M52235_H_
+
+#include <sil.h>
+
+#define	MCF_UART0    77
+#define	MCF_UART1    78
+#define	MCF_UART2    79
+#define MCF_PIT0     119
+
+#define TBIT_GP0     (13)
+#define TBIT_GP1     (14)
+
+#define TBIT_GP2     (15)
+
+#define TBIT_TT0     (55 - 32)
+#define TBIT_TT1     (56 - 32)
+
+#define REF_CLK_MHZ         (25)
+#define SYS_CLK_MHZ         (60)
+#define REF_CLK_KHZ         (REF_CLK_MHZ * 1000)
+#define SYS_CLK_KHZ         (SYS_CLK_MHZ * 1000)
+#define SYSTEM_CLOCK        SYS_CLK_MHZ
+
+#define IPSBAR       (0x40000000)
+
+#define MCF_SCM_RAMBAR            (IPSBAR + 0x000008)
+#define MCF_SCM_RAMBAR_BDE        (0x00000200)
+#define MCF_SCM_RAMBAR_BA(x)      ((x)&0xFFFF0000)
+
+#define MCF_CLK_SYNCR  (IPSBAR + 0x00120000)
+#define MCF_CLK_SYNSR  (IPSBAR + 0x00120002)
+
+#define MCF_CLK_SYNCR_PLLEN     (0x0001)
+#define MCF_CLK_SYNCR_PLLMODE   (0x0002)
+#define MCF_CLK_SYNCR_CLKSRC    (0x0004)
+#define MCF_CLK_SYNCR_FWKUP     (0x0020)
+#define MCF_CLK_SYNCR_DISCLK    (0x0040)
+#define MCF_CLK_SYNCR_LOCEN     (0x0080)
+#define MCF_CLK_SYNCR_RFD(x)    (((x)&0x0007)<<8)
+#define MCF_CLK_SYNCR_LOCRE     (0x0800)
+#define MCF_CLK_SYNCR_MFD(x)    (((x)&0x0007)<<12)
+#define MCF_CLK_SYNCR_LOLRE     (0x8000)
+
+#define MCF_CLK_SYNSR_LOCS      (0x04)
+#define MCF_CLK_SYNSR_LOCK      (0x08)
+#define MCF_CLK_SYNSR_LOCKS     (0x10)
+#define MCF_CLK_SYNSR_CRYOSC    (0x20)
+#define MCF_CLK_SYNSR_OCOSC     (0x40)
+#define MCF_CLK_SYNSR_EXTOSC    (0x80)
+
+#define MCF_CLK_LPCR_LPD(x)     (((x)&0x0F)<<0)
+
+#define MCF_CLK_CCHR_PFD(x)     (((x)&0x07)<<0)
+
+#define MCF_CLK_RTCDR_RTCDF(x)  (((x)&0xFFFFFFFF)<<0)
+
+/* 
+ * PLL min/max specifications
+ */
+#define MAX_FVCO    60000   /* KHz */
+#define MAX_FSYS    60000   /* KHz */
+#define MAX_FREF    48000   /* KHz */
+#define MIN_FREF    1000    /* KHz */
+#define MAX_MFD     18      /* Multiplier (not encoded) */
+#define MIN_MFD     4       /* Multiplier (not encoded) */
+#define MAX_RFD     128     /* Divider (not encoded) */
+#define MIN_RFD     1       /* Divider (not encoded) */
+
+/*
+ * Low Power Divider specifications
+ */
+#define MIN_LPD     (1 << 0)    /* Divider (not encoded) */
+#define MAX_LPD     (1 << 15)   /* Divider (not encoded) */
+
+#define MCF_CLK_LPCR            (IPSBAR + 0x120007)
+#define MCF_CLK_CCHR            (IPSBAR + 0x120008)
+#define MCF_CLK_RTCDR           (IPSBAR + 0x12000C)
+
+#define MCF_INTC0    (IPSBAR + 0x0C00)
+#define MCF_INTC1    (IPSBAR + 0x0D00)
+
+#define MCF_INTC_IMRL(ch)  (ch + 0x0c)
+#define MCF_INTC_IMRH(ch)  (ch + 0x08)
+#define MCF_INTC_ICR(ch, n)  (ch + 0x40 + n)
+
+#define MCF_INTC_IMRH_ALL  (0x00000000)
+#define MCF_INTC_IMRL_ALL  (0x00000001)
+
+#define MCF_GPIO_PUAPAR     (IPSBAR + 0x100071)
+#define MCF_GPIO_PUBPAR     (IPSBAR + 0x100072)
+#define MCF_GPIO_PUCPAR     (IPSBAR + 0x100073)
+#define MCF_GPIO_PUBPAR_TXD1_TXD1      (0x01)
+#define MCF_GPIO_PUBPAR_RXD1_RXD1      (0x04)
+#define MCF_GPIO_PUCPAR_TXD2_TXD2      (0x01)
+#define MCF_GPIO_PUCPAR_RXD2_RXD2      (0x02)
+#define MCF_GPIO_PUAPAR_TXD0_TXD0      (0x01)
+#define MCF_GPIO_PUAPAR_RXD0_RXD0      (0x04)
+
+#endif /* _M52235_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.config	(revision 26)
@@ -0,0 +1,68 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2003/06/04 05:41:16 hiro Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼M52235EVBç¨ï¼
+#
+#
+
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+
+#DBGENV = ROM
+#DBGENV = MULTI_STACK
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(SRCDIR)/config/$(CPU)/$(SYS) 
+COPTS := $(COPTS) 
+LDFLAGS := $(LDFLAGS) 
+CDEFS := $(CDEFS) -DM52235
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(SRCDIR)/config/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o mcfuart.o
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+ifeq ($(DBGENV),GDB_STUB)
+# ãã¯ã¿ãã¼ãã«ã®å¾ã
+    TEXT_START_ADDRESS=0x00005000
+# RAMé åã®å
+é ­ã¢ãã¬ã¹
+    DATA_START_ADDRESS=0x20003000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã
+    TEXT_START_ADDRESS=0x00000430
+# RAMé åã®å
+é ­ã¢ãã¬ã¹
+    DATA_START_ADDRESS=0x20000000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+    LDSCRIPT = $(CPU)/$(SYS)/cfv2elf.stub.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/cfv2elf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.tinet
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.tinet	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/Makefile.tinet	(revision 26)
@@ -0,0 +1,50 @@
+#
+#   TINET (TCP/IP Protocol Stack)
+#  
+#   Copyright (C) 2001-2006 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#   Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+# 
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#  
+#   @(#) $Id: $
+#
+
+#
+#  Makefile.tinet ã®ã·ã¹ãã ä¾å­é¨åï¼M52235EVBç¨ï¼
+#
+TINET_COBJS := $(TINET_COBJS) tinet_sys_config.o
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2.h	(revision 26)
@@ -0,0 +1,65 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m52235.h,v 1.8 2003/06/18 12:40:08 hiro Exp $
+ */
+
+
+#ifndef _CFV2_H_
+#define _CFV2_H_
+
+#include "m52235.h"
+#include "m52235evb.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+#endif /* _MACRO_ONLY */
+#endif /* _M52235_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.ld	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m68k","elf32-m68k","elf32-m68k")
+OUTPUT_ARCH(m68k)
+
+PROVIDE (__stack = 0) ;
+PROVIDE (hardware_init_hook = 0) ;
+PROVIDE (software_init_hook = 0) ;
+PROVIDE (software_term_hook = 0) ;
+SECTIONS
+{
+    .vector : AT(0)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+	vector_table = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.stub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.stub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/cfv2elf.stub.ld	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.stub.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m68k","elf32-m68k","elf32-m68k")
+OUTPUT_ARCH(m68k)
+
+PROVIDE (__stack = 0) ;
+PROVIDE (hardware_init_hook = 0) ;
+PROVIDE (software_init_hook = 0) ;
+PROVIDE (software_term_hook = 0) ;
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.cfg	(revision 26)
@@ -0,0 +1,17 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.3 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼M52235EVBç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL, { TA_HLNG, sio_handler });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2,  { TA_HLNG, sio_handler2 });
+
+#endif /* TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_serial.h	(revision 26)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Technology Inc
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.9 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/MCFUART)ãã©ã¤ãï¼M52235EVBç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "mcfuart.h"
+
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯mcfuart.c */
+
+#ifndef GDB_STUB
+
+#define INHNO_SERIAL	 MCF_UART0
+#if TNUM_PORT >= 2
+#define INHNO_SERIAL2	 MCF_UART1
+#endif /* TNUM_PORT >= 2 */
+
+#else	/*  GDB_STUB  */
+
+#define INHNO_SERIAL	 MCF_UART0
+
+#endif	/*  GDB_STUB  */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	mcfuart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+        /*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = mcfuart_openflag(siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = mcfuart_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	if (!openflag) {
+            if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000200)) {
+                sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, 13), siopcb->siopinib->int_level);
+            } else if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000240)) {
+                sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, 14), siopcb->siopinib->int_level);
+            }
+        }
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	mcfuart_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+        if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000200)) {
+          sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, 13), 0);
+        } else if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000240)) {
+          sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, 14), 0);
+        }
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler	mcfuart_isr
+#if TNUM_PORT >= 2
+#define	sio_handler2	mcfuart_isr2
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	mcfuart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	mcfuart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	mcfuart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	mcfuart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	mcfuart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	mcfuart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/hw_timer.h	(revision 26)
@@ -0,0 +1,126 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN  
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Technology Inc
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.9 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7145ç¨ï¼
+ *  PITãä½¿ç¨
+ *ãã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯mcfpit.hã«è¨è¿°ãã
+ */
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "mcfpit.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	MCF_PIT0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	mcf_timer_int_clear
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	mcf_timer_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	/* å²ãè¾¼ã¿ã¬ãã«è¨­å®   */
+        /* Set tic for timers	*/
+        sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, 55), ((TIMER_INTLVL) << 3) | (TIMER_INTPRI));
+        sil_wrw_mem (MCF_INTC_IMRH(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRH(MCF_INTC0)) & (~(1 << (TBIT_TT0))));
+        mcf_timer_int_clear();
+        mcf_timer_start();
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		mcf_timer_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+#define hw_timer_get_current		mcf_timer_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt        mcf_timer_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/m52235evb.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/m52235evb.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/m52235evb.h	(revision 26)
@@ -0,0 +1,116 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m52235evb.h,v 1.2 2003/06/04 01:52:23 hiro Exp $
+ */
+
+/*
+ *  ããªã¼ã¹ã±ã¼ã«ã»ã»ãã³ã³ãã¯ã¿ M52235EVB
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _M52235EVB_H_
+#define _M52235EVB_H_
+#include "m52235.h"
+/*
+ *  å²è¾¼ã¿ã¬ãã«è¨­å®ã®ããã®å®ç¾©
+ */
+#define	TIRQ_NMI	0x7u		/* ãã³ãã¹ã«ãã«å²è¾¼ã¿ */
+#define	TIRQ_LEVEL6	0x6u		/* å²è¾¼ã¿ã¬ãã«6 */
+#define	TIRQ_LEVEL5	0x5u		/* å²è¾¼ã¿ã¬ãã«5 */
+#define	TIRQ_LEVEL4	0x4u		/* å²è¾¼ã¿ã¬ãã«4 */
+#define	TIRQ_LEVEL3	0x3u		/* å²è¾¼ã¿ã¬ãã«3 */
+#define	TIRQ_LEVEL2	0x2u		/* å²è¾¼ã¿ã¬ãã«2 */
+#define	TIRQ_LEVEL1	0x1u		/* å²è¾¼ã¿ã¬ãã«1 */
+
+#ifndef _MACRO_ONLY
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+
+extern void mcfuart_putc_pol(ID portid, char c);	/*  mcfuart.c  */
+
+#ifdef GDB_STUB
+
+#define cfv2_exit	gdb_stub_exit
+#define cfv2_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit (void)
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trap #3"::);
+}
+
+Inline int
+gdb_stub_putc (ID portid, int c)
+{
+	mcfuart_putc_pol (portid, c);
+	return(c);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+cfv2_exit ()
+{
+	while (1);
+}
+
+Inline void
+cfv2_putc (ID portid, char c)
+{
+	mcfuart_putc_pol (portid, c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _M52235EVB_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.c	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.7 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MCF52235EVBç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "mcfuart.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    SIOPCB *siopcb;
+
+    sil_wrb_mem (MCF_GPIO_PUAPAR, (MCF_GPIO_PUAPAR_RXD0_RXD0|MCF_GPIO_PUAPAR_TXD0_TXD0));
+    sil_wrb_mem (MCF_GPIO_PUBPAR, (MCF_GPIO_PUBPAR_RXD1_RXD1|MCF_GPIO_PUBPAR_TXD1_TXD1));
+    mcfuart_initialize ();
+    siopcb = mcfuart_opn_por (LOGTASK_PORTID, 0);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+	cfv2_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		cfv2_putc(LOGTASK_PORTID, '\r');
+	}
+	cfv2_putc(LOGTASK_PORTID, c);
+}
+
+/* ãã¼ãã¦ã§ã¢ã®è¨­å® */
+#ifndef GDB_STUB
+
+
+static void init_clock_config (void)
+{
+    sil_wrb_mem ((VP)MCF_CLK_CCHR,  (UB)MCF_CLK_CCHR_PFD(0x4));
+    
+    sil_wrh_mem ((VP)MCF_CLK_SYNCR,  (UH)0x4103);
+    while (!(sil_reb_mem((VP)MCF_CLK_SYNSR) & 0x08));
+    
+    sil_wrh_mem ((VP)MCF_CLK_SYNCR,  (UH)0x4003);
+    
+    while (!(sil_reb_mem((VP)MCF_CLK_SYNSR) & 0x08));
+    
+    sil_wrh_mem ((VP)MCF_CLK_SYNCR,  (UH)0x4007);
+}
+
+void
+hardware_init_hook (void)
+{
+  init_clock_config ();
+  sil_wrw_mem ((VP) MCF_INTC_IMRH(MCF_INTC0), ~MCF_INTC_IMRH_ALL);
+  sil_wrw_mem ((VP) MCF_INTC_IMRL(MCF_INTC0), ~MCF_INTC_IMRL_ALL);
+  sil_wrw_mem ((VP) MCF_INTC_IMRH(MCF_INTC1), ~MCF_INTC_IMRH_ALL);
+  sil_wrw_mem ((VP) MCF_INTC_IMRL(MCF_INTC1), ~MCF_INTC_IMRL_ALL);
+  sil_wrw_mem ((VP) MCF_SCM_RAMBAR, (MCF_SCM_RAMBAR_BA(0x20000000) | MCF_SCM_RAMBAR_BDE));  
+  return;
+}
+#else
+void
+hardware_init_hook (void)
+{
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_config.h	(revision 26)
@@ -0,0 +1,163 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.10 2003/12/06 09:47:04 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M52235EVBç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "m52235evb.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"M52235EVB"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+
+/*
+ *ãåæã®ä¾å¤å¦çãã¯ã¿
+ */
+#define EXCVT_ORIG   (0x00000000)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1   120
+#define	SIL_DLY_TIM2	80
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿ï¼GDB STUBå¼åºãã§å®ç¾ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿ï¼GDB STUBå¼åºãã§å®
+ *  ç¾ããï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+//#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_defs.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.12 2003/06/18 12:41:39 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼M52235EVBç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define M52235EVB			/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/* ãã¹ããã¦ããªã */
+        Asm("trap #4");
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+         while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_rename.h	(revision 26)
@@ -0,0 +1,9 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_support.S	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.6 2003/06/04 01:52:23 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼DVE68K/40ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+
+#if 0
+	.text
+	.globl __udivsi3
+__udivsi3:
+	move.l	4(%sp),%d0
+	.word 0x4C6F
+	.word 0x0000
+	.word 0x0008
+	rts
+
+	.globl __divsi3
+__divsi3:
+	move.l	4(%sp),%d0
+	.word 0x4C6F
+	.word 0x0800
+	.word 0x0008
+	rts
+
+	.globl	__umodsi3
+__umodsi3:
+	move.l	(%sp)+, %a0	| pop the return address
+	jbsr	__udivsi3
+	mulu.l	4(%sp), %d0
+	move.l	(%sp), %d1
+	sub.l	%d0, %d1
+	move.l	%d1, %d0	| move the modulus into %d0
+	jmp	%a0@		| return
+
+	.globl	__modsi3
+__modsi3:
+	move.l	(%sp)+, %a0	| pop the return address
+	jbsr	__divsi3
+	muls.l	4(%sp), %d0
+	move.l	(%sp), %d1
+	sub.l	%d0, %d1
+	move.l	%d1, %d0	| move the modulus into %d0
+	jmp	%a0@		| return
+
+	.globl __mulsi3
+__mulsi3:
+	move.l	4(%sp),%d0
+	muls.l	8(%sp),%d0
+	rts
+
+	.globl __mului3
+__mului3:
+	move.l	4(%sp),%d0
+	mulu.l	8(%sp),%d0
+	rts
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/sys_unrename.h	(revision 26)
@@ -0,0 +1,9 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.c	(revision 26)
@@ -0,0 +1,159 @@
+/*
+ *  TINET (TCP/IP Protocol Stack)
+ * 
+ *  Copyright (C) 2001-2006 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: $
+ */
+
+/*
+ *  JSP-1.4.2 ä»¥éã§å¤æ´ãããå²è¾¼ã¿ãã³ãã©ã¸ã®å¯¾å¿
+ */
+
+#include <s_services.h>
+#include <t_services.h>
+#include "kernel_id.h"
+
+#include <tinet_defs.h>
+#include <tinet_config.h>
+
+/*
+ *  fec_inter_init -- ã¿ã¼ã²ããä¾å­é¨ã®å²è¾¼ã¿ã®åæå
+ */
+
+int
+memcmp(const void* s1, const void* s2, int n) {
+  char* a1 = (char*)s1;
+  char* a2 = (char*)s2;
+  
+  while (n--)
+    if (*a1++ != *a2++)
+      return *(a1 - 1) - *(a2 - 1);
+  return 0;
+}
+
+
+void*
+memset(char *s, int c, int n) 
+{
+  char* p = s;
+  while (n--) {
+    *p++=c;
+  }
+  return s;
+}
+
+
+void*
+memcpy(void* dest, void* src, int n) {
+  char *p1 = dest;
+  const char *p2 = src;
+  int i;
+
+  for (i = 0; i < n; i++) {
+    *(p1++) = *(p2++);
+  }
+
+  return dest;
+}
+
+void *
+memmove (void *d, void *s, int n)
+{
+    char *dst = d;
+    char *src = s;
+    void *ret = dst;
+
+    if (src < dst) {
+	src += n;
+	dst += n;
+	while (n--)
+	    *--dst = *--src;
+    }
+    else if (dst < src)
+	while (n--)
+	    *dst++ = *src++;
+    return ret;
+}
+
+#if TKERNEL_PRVER >= 0x1042u	/* JSP-1.4.2 ä»¥é */
+
+/*
+ * fec_dis_inter -- å²è¾¼ã¿ãç¦æ­¢ããã
+ */
+IPM
+fec_dis_inter(void)
+{
+  IPM	ipm;
+  
+  syscall(get_ipm(&ipm));
+  syscall(chg_ipm(if_fec_handler_intmask));
+  return ipm;
+}
+
+/*
+ *  fec_bus_init -- ã¿ã¼ã²ããä¾å­é¨ã®ãã¹ã®åæå
+ */
+
+void
+fec_bus_init (void)
+{
+}
+
+/*
+ *  fec_inter_init -- ã¿ã¼ã²ããä¾å­é¨ã®å²è¾¼ã¿ã®åæå
+ */
+
+void
+fec_inter_init (void)
+{
+  int i;
+  /* NIC ã®å²ãè¾¼ã¿ãè¨±å¯ããã*/
+  for (i = TBIT_FEC_XINF; i <= TBIT_FEC_BABR; i++) {
+    sil_wrb_mem (MCF_INTC_ICR(MCF_INTC0, i), ((FEC_INT_LEVEL) << 3) | (FEC_INT_PRI));
+    if (i < 32)
+      sil_wrw_mem (MCF_INTC_IMRL(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRL(MCF_INTC0)) & (~(1 << i)));
+    else
+      sil_wrw_mem (MCF_INTC_IMRH(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRH(MCF_INTC0)) & (~(1 << (i-32))));
+  }
+}
+
+#endif	/* of #if TKERNEL_PRVER >= 0x1042u */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/tinet_sys_config.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TINET (TCP/IP Protocol Stack)
+ * 
+ *  Copyright (C) 2001-2006 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: $
+ */
+
+#ifndef _TINET_SYS_CONFIG_H_
+#define _TINET_SYS_CONFIG_H_
+
+/*
+ *  ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  NIC (NE2000 äºæ) ã«é¢ããå®ç¾©
+ */
+
+#define NUM_IF_FEC_TXBUF		2	/* éä¿¡ãããã¡æ°			*/
+#define NUM_IF_FEC_RXBUF		1	/* éä¿¡ãããã¡æ°			*/
+
+
+#define TMO_IF_FEC_GET_NET_BUF	1	/* [ms]ãåä¿¡ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+					/* [s]ã éä¿¡ã¿ã¤ã ã¢ã¦ã			*/
+#define TMO_IF_FEC_XMIT		(2*IF_TIMER_HZ)
+
+/*#define IF_ED_CFG_ACCEPT_ALL		 ãã«ãã­ã£ã¹ããã¨ã©ã¼ãã¬ã¼ã ãåä¿¡ããã¨ãã¯ã³ã¡ã³ããå¤ãã*/
+
+/*
+ *  ã¤ã¼ãµãããåºåæã«ãNIC ã§ net_buf ãéæ¾ããå ´åã«æå®ããã
+ *
+ *  æ³¨æ: ä»¥ä¸ã®æå®ã¯ãæå®ä¾ã§ãããif_ed ã§ã¯ã
+ *        éæ¾ããªãã®ã§ãä»¥ä¸ã®ã³ã¡ã³ããå¤ãã¦ã¯ãªããªãã
+ */
+
+/*#define ETHER_NIC_CFG_RELEASE_NET_BUF*/
+
+/*
+ *  FEC ã«é¢ããå®ç¾©
+ */
+#define FEC_BASE_ADDRESS	(IPSBAR + 0x001000)	/* FECã®ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define PHY_BASE_ADDRESS	(IPSBAR + 0x1E0000)	/* EPHYã®ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define FEC_PHY0                (0x00)
+
+#define INHNO_FEC_XINF     87
+#define INHNO_FEC_XINB     88
+#define INHNO_FEC_UN       89
+#define INHNO_FEC_RL       90
+#define INHNO_FEC_RINF     91
+#define INHNO_FEC_RINB     92
+#define INHNO_FEC_MII      93
+#define INHNO_FEC_LC       94
+#define INHNO_FEC_HBERR    95
+#define INHNO_FEC_GRA      96
+#define INHNO_FEC_EBERR    97
+#define INHNO_FEC_BABT     98
+#define INHNO_FEC_BABR     99
+#define INHNO_EPHY         100
+
+#define TBIT_FEC_XINF     23
+#define TBIT_FEC_XINB     24
+#define TBIT_FEC_UN       25
+#define TBIT_FEC_RL       26
+#define TBIT_FEC_RINF     27
+#define TBIT_FEC_RINB     28
+#define TBIT_FEC_MII      29
+#define TBIT_FEC_LC       30
+#define TBIT_FEC_HBERR    31
+#define TBIT_FEC_GRA      32
+#define TBIT_FEC_EBERR    33
+#define TBIT_FEC_BABT     34
+#define TBIT_FEC_BABR     35
+#define TBIT_EPHY         36
+
+/*
+ *  JSP-1.4.2 ä»¥éã§ã¯ãå²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãå¤æ´ããã
+ *  å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«ãè¨­å®ããå¿
+è¦ãããã
+ */
+#define FEC_INT_LEVEL			5
+#define FEC_INT_PRI			7
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#define if_fec_handler_intmask		(FEC_INT_LEVEL+1)
+
+#ifndef _MACRO_ONLY
+
+#if TKERNEL_PRVER < 0x1042u	/* JSP-1.4.2 ä»¥å */
+
+/*
+ *  JSP-1.4.2 ä»¥åã§ã¯ãIPM ãã¨ã©ã¼ãçºçããªãããã«å®ç¾©ããã
+ */
+
+typedef UINT	IPM;
+
+#else	/* of #if TKERNEL_PRVER < 0x1042u */
+
+#define fec_ena_inter(ipm)	chg_ipm(ipm)
+
+#endif	/* of #if TKERNEL_PRVER < 0x1042u */
+
+/*
+ *  é¢æ°
+ */
+
+#if TKERNEL_PRVER < 0x1042u	/* JSP-1.4.2 ä»¥å */
+
+extern void fec_ena_inter (IPM ipm);
+
+#endif	/* of #if TKERNEL_PRVER < 0x1042u */
+
+extern IPM fec_dis_inter (void);
+extern void fec_bus_init (void);
+extern void fec_inter_init (void);
+
+#endif	/* of #ifndef _MACRO_ONLY */
+
+#endif /* _TINET_SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/m52235evb/user_config.h	(revision 26)
@@ -0,0 +1,196 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ *
+ *	00000000 - 0000ffff	ROMã¢ãã¿ï¼ã¹ã¿ãã¯ã¼ã¯ã¨ãªã¢ (64KB)
+ *	00010000 - 000fffff	ã³ã¼ãé å (ç´1MB)
+ *	00100000 -		ãã¼ã¿é å (ç´3MB)
+ *		 - 003fffff	éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+ */
+#define	STACKTOP 0x20008000	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	TIRQ_LEVEL3
+#define TIMER_INTPRI	7
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+//#define	INNER_RAM_ADDRESS
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/makeoffset.c	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.9 2004/09/06 15:09:19 hiro Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define	offsetof(structure, field) \
+			((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.msp, msp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfpit.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfpit.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfpit.h	(revision 26)
@@ -0,0 +1,230 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7615frt.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *  FRTãä½¿ç¨
+ */
+
+#ifndef _MCFPIT_H_
+#define _MCFPIT_H_
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *   	f/8ã§ã«ã¦ã³ã
+ */
+#define TCR_CKS         0x0
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *      60MHz/2 = 30MHz
+ */
+#define	TIMER_CLOCK		(25000)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100		/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼ */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+#define MCF_PIT_PCSR_EN   (0x0001u)
+#define MCF_PIT_PCSR_RLD  (0x0002u)
+#define MCF_PIT_PCSR_PIF  (0x0004u)
+#define MCF_PIT_PCSR_PIE  (0x0008u)
+#define MCF_PIT_PCSR_OVW  (0x0010u)
+#define MCF_PIT_PCSR_DBG  (0x0020u)
+#define MCF_PIT_PCSR_DOZE (0x0040u)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+#define MCF_PIT0_PCSR   (VH*)(IPSBAR + 0x00150000)
+#define MCF_PIT0_PMR    (VH*)(IPSBAR + 0x00150002)
+#define MCF_PIT0_PCNTR  (VH*)(IPSBAR + 0x00150004)
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+mcf_timer_start ()
+{
+     sil_wrh_mem (MCF_PIT0_PCSR, sil_reh_mem (MCF_PIT0_PCSR) | MCF_PIT_PCSR_EN);
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+mcf_timer_stop ()
+{
+    	/* ã¿ã¤ããåæ­¢ 	  */
+	sil_wrh_mem (MCF_PIT0_PCSR, sil_reh_mem (MCF_PIT0_PCSR) & ~MCF_PIT_PCSR_EN);
+}
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+mcf_timer_int_clear ()
+{
+	/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢     */
+	sil_wrh_mem (MCF_PIT0_PCSR, sil_reh_mem (MCF_PIT0_PCSR));
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+mcf_timer_initialize ()
+{
+	CLOCK cyc = TO_CLOCK (TIC_NUME, TIC_DENO);
+
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	mcf_timer_stop ();			/* ã¿ã¤ãåæ­¢ */
+	/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert (cyc <= MAX_CLOCK);
+       /*
+         *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼è¦æ±ãã¯ãªã¢ããå¾ï¼
+         *  ãã¹ã¯ãè§£é¤ããï¼
+         */
+        sil_wrh_mem (MCF_PIT0_PCSR, (VH)(MCF_PIT_PCSR_OVW | MCF_PIT_PCSR_PIF | MCF_PIT_PCSR_RLD));
+        sil_wrh_mem (MCF_PIT0_PMR, (VH)CLOCK_PER_TICK);
+        sil_wrh_mem (MCF_PIT0_PCNTR,0x0000);
+        sil_wrh_mem (MCF_PIT0_PCSR, sil_reh_mem(MCF_PIT0_PCSR) | MCF_PIT_PCSR_PIE);	//å²ãè¾¼ã¿è¨±å¯
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+mcf_timer_terminate ()
+{
+	/*
+	 *  ã¿ã¤ãã®åä½ãåæ­¢ããï¼
+	 */
+	mcf_timer_stop();
+        mcf_timer_int_clear ();
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ããã¹ã¯ãï¼è¦æ±ãã¯ãªã¢ããï¼
+	 */
+	sil_wrh_mem (MCF_PIT0_PCSR, sil_reh_mem(MCF_PIT0_PCSR) & ~MCF_PIT_PCSR_PIE);	//å²ãè¾¼ã¿ä¸è¨±å¯
+	sil_wrh_mem (MCF_PIT0_PCNTR,0x0000);
+	sil_wrh_mem (MCF_PIT0_PMR,0x0000); 
+        sil_wrw_mem (MCF_INTC_IMRH(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRH(MCF_INTC0)) | (1 << (TBIT_TT0)));
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+mcf_timer_get_current ()
+{
+	CLOCK	clk;
+        
+	clk = TO_CLOCK(TIC_NUME, TIC_DENO) - sil_reh_mem(MCF_PIT0_PCNTR);
+	return (clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+mcf_timer_fetch_interrupt ()
+{
+        return (sil_reh_mem (MCF_PIT0_PCSR) & MCF_PIT_PCSR_PIF);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _MCFPIT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.c	(revision 26)
@@ -0,0 +1,347 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mcfuart.c,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   COLDFIREå
+èµUARTç¨ ç°¡æãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "mcfuart.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯mcfuart.c */
+
+#ifndef GDB_STUB
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{IPSBAR + 0x00000200, BRR9600, 0x0, 0x27}, /* UART0 */
+#if TNUM_PORT >= 2
+	{IPSBAR + 0x00000240, BRR9600, 0x0, 0x27}, /* UART1 */
+#endif /* TNUM_PORT >= 2 */
+};
+
+#else /* GDB_STUB */
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{IPSBAR + 0x00000200, BRR9600, 0x0, 6}, /* SCIF2 */
+};
+
+#endif /* GDB_STUB */
+
+#if defined(TTM)
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæå¤ç¨ã®ãã¼ã¿ãå«ãã
+ */
+struct sio_port_control_block
+{
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+#endif
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+mcfuart_getready (SIOPCB * siopcb)
+{
+  return (sil_reb_mem((VB *) (siopcb->siopinib->reg_base + MCF_UART_USR)) & MCF_UART_USR_RXRDY);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+mcfuart_putready (SIOPCB * siopcb)
+{
+  /* Wait until space is available in the FIFO */
+  return (sil_reb_mem((VB*)(siopcb->siopinib->reg_base + MCF_UART_USR)) & MCF_UART_USR_TXRDY);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+mcfuart_getchar (SIOPCB * siopcb)
+{
+	VB data;
+        data = sil_reb_mem ((VB*)(siopcb->siopinib->reg_base + MCF_UART_URB));
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+mcfuart_putchar (SIOPCB * siopcb, char c)
+{
+    /* Send the character */
+    sil_wrb_mem ((VB*)(siopcb->siopinib->reg_base + MCF_UART_UTB), c);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+mcfuart_initialize ()
+{
+	SIOPCB *siopcb;
+	UINT i;
+        /*
+	 *  ã·ã«ã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+		siopcb->siopinib = (&siopinib_table[i]);
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+mcfuart_openflag (ID siopid)
+{
+	return (siopcb_table[siopid -1].openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+mcfuart_opn_por (ID siopid, VP_INT exinf)
+{
+        volatile int i;
+	SIOPCB *siopcb = get_siopcb(siopid);
+        // éä¿¡åæ­¢
+  	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCR), (VB) (MCF_UART_UCR_MISC_RR));
+    	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCR), (VB) (MCF_UART_UCR_MISC_RT));
+      	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCR), (VB) (MCF_UART_UCR_MISC_RRC));
+
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UMR1), 0x93);
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UMR2), 0x07);
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCSR), 0xDD);
+
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UBG1), (VB) (siopcb->siopinib->brr >> 8));
+    	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UBG2), (VB) (siopcb->siopinib->brr & 0x00ff));
+
+         /*  å²è¾¼ã¿è¨±å¯  */
+        siopcb->imr = (VB)MCF_UART_UIMR_RXRDY;
+    	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UIMR), (VB) (siopcb->imr));
+
+        /*  éåä¿¡è¨±å¯  */
+  	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCR), (VB) (MCF_UART_UCR_TC_EN | MCF_UART_UCR_RC_EN));
+
+	siopcb->exinf = exinf;
+        siopcb->openflag = TRUE;
+        if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000200)) {  
+          sil_wrw_mem ((VW*)MCF_INTC_IMRL(MCF_INTC0), sil_rew_mem((VW*)MCF_INTC_IMRL(MCF_INTC0)) & (~(1 << (TBIT_GP0))));
+        } else if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000240)) {
+          sil_wrw_mem ((VW*)MCF_INTC_IMRL(MCF_INTC0), sil_rew_mem((VW*)MCF_INTC_IMRL(MCF_INTC0)) & (~(1 << (TBIT_GP1))));
+        }
+        for (i = 0; i < 1000;i++);
+	return (siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+mcfuart_cls_por (SIOPCB * siopcb)
+{
+	/*  éåä¿¡ç¦æ­¢  */
+  	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UCSR),
+				 (VB) (MCF_UART_UCR_TC_DIS | MCF_UART_UCR_RC_DIS));
+	/*  å²è¾¼ã¿ç¦æ­¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UIMR), 0);
+        if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000200)) {    
+          sil_wrw_mem (MCF_INTC_IMRL(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRL(MCF_INTC0)) | (1 << TBIT_GP0));
+        }  else if (siopcb->siopinib->reg_base == (IPSBAR + 0x00000240)) {
+          sil_wrw_mem (MCF_INTC_IMRL(MCF_INTC0), sil_rew_mem(MCF_INTC_IMRL(MCF_INTC0)) | (1 << TBIT_GP1));
+        }
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+mcfuart_snd_chr (SIOPCB * siopcb, char c)
+{
+	if (mcfuart_putready (siopcb)) {
+		mcfuart_putchar (siopcb, c);
+		return (TRUE);
+	}
+	return (FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+mcfuart_rcv_chr (SIOPCB * siopcb)
+{
+	if (mcfuart_getready (siopcb)) {
+		return ((INT) (UB) mcfuart_getchar (siopcb));
+	}
+	return (-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+mcfuart_ena_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+                siopcb->imr |= MCF_UART_UIMR_TXRDY;
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+                siopcb->imr |= MCF_UART_UIMR_RXRDY;
+		break;
+	}
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UIMR), siopcb->imr);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+mcfuart_dis_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+                siopcb->imr &= ~MCF_UART_UIMR_TXRDY;
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+                siopcb->imr &= ~MCF_UART_UIMR_RXRDY;
+		break;
+	}
+        sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UIMR), siopcb->imr);
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+mcfuart_putc_pol (ID portid, char c)
+{
+	while (!mcfuart_putready (&siopcb_table[portid - 1]));
+	mcfuart_putchar (&siopcb_table[portid - 1], c);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+mcfuart_isr_siop (SIOPCB * siopcb)
+{
+	VB uisr = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + MCF_UART_UISR));
+        uisr &= siopcb->imr;
+	if ((uisr & MCF_UART_UISR_TXRDY) && mcfuart_putready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		mcfuart_ierdy_snd (siopcb->exinf);
+	}
+	else if ((uisr & MCF_UART_UISR_RXRDY) && mcfuart_getready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		mcfuart_ierdy_rcv (siopcb->exinf);
+        }
+}
+
+/* å²ãè¾¼ã¿æ¤åº */
+void
+mcfuart_isr (void)
+{
+  if (siopcb_table[0].openflag) {
+    mcfuart_isr_siop (get_siopcb (1));
+  }
+}
+
+#if TNUM_PORT >= 2
+/* å²ãè¾¼ã¿æ¤åº */
+void
+mcfuart_isr2 (void)
+{
+
+  if (siopcb_table[1].openflag) {
+    mcfuart_isr_siop (get_siopcb (2));
+  }
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.h	(revision 26)
@@ -0,0 +1,222 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mcfuart.h,v 1.1 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   COLDFIREå
+èµUARTç¨ ç°¡æãã©ã¤ã
+ */
+
+#ifndef _MCFUART_H_
+#define _MCFUART_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block
+{
+	UW reg_base;				/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UH brr;					/* ãã¼ã¬ã¼ãã®è¨­å®å¤   */
+	UB smr;					/* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å®å¤   */
+	UB int_level;				/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®å¤   */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block
+{
+	const SIOPINIB *siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL getready;				/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL putready;				/* æå­ãéä¿¡ã§ããç¶æ
+ */
+	VB   imr;				/* å²è¾¼ã¿ãã¹ã¯ã®ç¶æ
+ */
+} SIOPCB;
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ãªãã»ãã 
+ */
+#define MCF_UART_UMR1	0x00
+#define MCF_UART_UMR2	0x00
+#define MCF_UART_USR	0x04
+#define MCF_UART_UCSR	0x04
+#define MCF_UART_UCR	0x08
+#define MCF_UART_URB	0x0c
+#define MCF_UART_UTB	0x0c
+#define MCF_UART_UIPCR	0x10
+#define MCF_UART_UACR	0x10
+#define MCF_UART_UISR	0x14
+#define MCF_UART_UIMR	0x14
+#define MCF_UART_UBG1	0x18
+#define MCF_UART_UBG2	0x1c
+#define MCF_UART_UIP	0x34
+#define MCF_UART_UOP1	0x38
+#define MCF_UART_UOP0	0x3c
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+/*  FIFOã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCFCRã®ããã  */
+#define MCF_UART_UCR_RC_MASK  0x03
+#define MCF_UART_UCR_RC_EN   0x01
+#define MCF_UART_UCR_RC_DIS  0x02
+#define MCF_UART_UCR_TC_MASK  0x0C
+#define MCF_UART_UCR_TC_EN   0x04
+#define MCF_UART_UCR_TC_DIS  0x08
+#define MCF_UART_UCR_MISC_MASK 0x70
+#define MCF_UART_UCR_MISC_RRC  0x10
+#define MCF_UART_UCR_MISC_RR   0x20
+#define MCF_UART_UCR_MISC_RT   0x30
+#define MCF_UART_UCR_MISC_RE   0x40
+#define MCF_UART_UCR_MISC_RBK  0x50
+#define MCF_UART_UCR_MISC_SBK  0x60
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿UIMRã®ããã  */
+#define MCF_UART_UIMR_TXRDY 0x01
+#define MCF_UART_UIMR_RXRDY 0x02
+#define MCF_UART_UIMR_DB    0x04
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿UISRã®ããã  */
+#define MCF_UART_UISR_TXRDY 0x01
+#define MCF_UART_UISR_RXRDY 0x02
+#define MCF_UART_UISR_DB    0x04
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SC1SSRã®ããã  */
+#define MCF_UART_USR_RXRDY (0x01)	/* åä¿¡ã¬ãã£ */
+#define MCF_UART_USR_FULL  (0x02)	/* FIFOãã«   */
+#define MCF_UART_USR_TXRDY (0x04)	/* éä¿¡ã¬ãã£ */
+#define MCF_UART_USR_TEMP  (0x08)	/* ãã©ã³ã¹ããã¿ã¨ã³ããã£ */
+#define MCF_UART_USR_OE    (0x10)	/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼ */
+#define MCF_UART_USR_RE    (0x20)	/* ããªãã£ã¨ã©ã¼ */
+#define MCF_UART_USR_FE    (0x40)	/* ãã¬ã¼ãã³ã°ã¨ã©ã¼ */
+#define MCF_UART_USR_RB    (0x80)	/* ãã¬ã¼ã¯åä¿¡ */
+
+/*
+ *  UBGã®è¨­å®
+ */
+#define SMR_CKS 	0x0			/*  åå¨æ¯          */
+#define BRR9600 	195 			/*  9600 ãããã¬ã¼ã    */
+#define BRR19200	97			/*  19200 ãããã¬ã¼ã    */
+#define BRR38400	48			/*  38400 ãããã¬ã¼ã    */
+#define BRR57600 	32			/*  57600 ãããã¬ã¼ã 	*/
+#define BRR115200 	16			/*  115200 ãããã¬ã¼ã */
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void mcfuart_initialize (void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL mcfuart_openflag (ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *mcfuart_opn_por (ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void mcfuart_cls_por (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL mcfuart_snd_chr (SIOPCB * siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT mcfuart_rcv_chr (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void mcfuart_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void mcfuart_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void mcfuart_isr (void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void mcfuart_ierdy_snd (VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void mcfuart_ierdy_rcv (VP_INT exinf);
+
+#endif /* _MCFUART_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/start.S	(revision 26)
@@ -0,0 +1,362 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.6 2003/06/04 01:51:39 hiro Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼COLDFIREç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include <t_config.h>
+/*
+ *ããä¾å¤ãã¯ã¿ã®å®ç¾©ï¼COLDFIREç¨ï¼
+ *ãããããã§ã¯ãªã»ããæã«å¿
+è¦ãªæä½éã®ãã¯ã¿ããç¨æããªã
+ *ãããcpu_initialize()ã§ä¾å¤ãã¯ã¿ã®ç§»åï¼VBRã®æ¸ãæãï¼ãè¡ã
+ */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+/*
+ *   ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *   ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+	.section ".vector","ax"
+	.align 2
+	.long INIT_STACK		/*   0:ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+        .long TO_ASM(RESET_VECTOR)	/*   1:ãã¯ã¼ãªã³ãªã»ãã  */
+	.long TO_ASM(ACC_VECTOR)	/*   2:ã¢ã¯ã»ã¹ã¨ã©ã¼      */
+  	.long TO_ASM(ADD_VECTOR)	/*   3:ã¢ãã¬ã¹ã¨ã©ã¼      */
+  	.long TO_ASM(II_VECTOR)		/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	.long TO_ASM(RESERVED_VECTOR)	/*   5:d zero              */
+	.long TO_ASM(RESERVED_VECTOR)   /*   6:äºç´                */
+        .long TO_ASM(II_VECTOR)         /*   7:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*   8:pvã·ã¹ãã äºç´        */
+        .long TO_ASM(RESERVED_VECTOR)   /*   9:trace               */
+	.long TO_ASM(RESERVED_VECTOR)	/*  10:line a emulator     */
+	.long TO_ASM(RESERVED_VECTOR)	/*  11:line f emulator     */
+	.long TO_ASM(RESERVED_VECTOR)	/*  12:ã·ã¹ãã äºç´        */
+        .long TO_ASM(RESERVED_VECTOR)   /*  13:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  14:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  15:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  16:ã·ã¹ãã äºç´        */
+        .long TO_ASM(RESERVED_VECTOR)   /*  17:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  18:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  19:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  20:ã·ã¹ãã äºç´        */
+        .long TO_ASM(RESERVED_VECTOR)   /*  21:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  22:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  23:ã·ã¹ãã äºç´        */
+	.long TO_ASM(RESERVED_VECTOR)	/*  24:ã¹ããªã¢ã¹å²ãè¾¼ã¿  */
+	.long TO_ASM(RESERVED_VECTOR)	/*  æ®ãã¯ããã©ã«ãã®ä¾å¤å¦ç  */
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+	.long TO_ASM(RESERVED_VECTOR)	
+        .long TO_ASM(RESERVED_VECTOR)   
+	.long TO_ASM(RESERVED_VECTOR)
+
+	/* CF-Flash Protection Field */
+	.org 0x400
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0x00000000
+	.long 0x00000000
+	.long 0x00000000
+	.long 0xFFFFFFFF
+	
+#endif  /* KERNEL_HAS_A_VECTOR_TABLE */
+	.text
+	.globl start
+	.align 2
+start:
+	/*
+	 *  ãã­ã»ããµã¢ã¼ãã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+	 */
+	move.l #0x2700, %d0
+	move.w  %d0, %sr
+
+	/* SRAMãã¼ã¹ã¢ãã¬ã¹ã®åæå */
+	move.l	#0x20000000, %d0
+	add.l   #0x21, %d0
+	.long   0x4e7b0C05  /* movec   %d0, %rambar1 */
+	
+	/* ROMãã¼ã¹ã¢ãã¬ã¹ã®åæå */
+	move.l	#0x00000000, %d0
+	add.l   #0x21, %d0
+	.long   0x4e7b0C04  /* movec   %d0, %flashbar */
+	
+	movea.l #INIT_STACK, %sp	/* ãã¬ã¼ã ãã¤ã³ã¿ã®åæå */
+	movea.l #0, %fp	
+	/*
+	 *  hardware_init_hook ã®å¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+	 *  ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+	lea hardware_init_hook, %a0
+	tst.l %a0
+	jbeq start_1
+	jsr %a0@
+start_1:
+	move.l #__bss_start, %a0
+	move.l #_end, %d0
+	sub.l %a0, %d0
+	jbeq start_3
+start_2:
+	clr.b (%a0)+
+	subq.l	#1, %d0
+	bne start_2
+	clr.w %d0
+	subq.l #1, %d0
+	jbcc start_2
+	
+	/*
+	 *  dataã»ã¯ã·ã§ã³ã®åæåï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 */
+start_3:
+	move.l #__idata_end, %d0
+	sub.l #__idata_start, %d0
+	jbls start_5
+	move.l #__idata_start, %a0
+	move.l #__data_start, %a1
+start_4:
+	move.b (%a0)+, (%a1)+
+	subq.l	#1, %d0
+	bne start_4
+	clr.w %d0
+	subq.l #1, %d0
+	jbcc start_4
+	
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:
+	lea software_init_hook, %a0
+	tst.l %a0
+	jbeq start_6
+	jsr %a0@
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åããï¼
+	 */
+start_6:
+	jmp kernel_start
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_config.h	(revision 26)
@@ -0,0 +1,413 @@
+/*
+ *  TINET (TCP/IP Protocol Stack)
+ * 
+ *  Copyright (C) 2001-2006 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: $
+ */
+
+#ifndef _TINET_CPU_CONFIG_H_
+#define _TINET_CPU_CONFIG_H_
+
+/*
+ *  TCP/IP ã«é¢ããå®ç¾©
+ */
+
+/* TCP ã«é¢ããå®ç¾© */
+
+/*
+ *  MAX_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤
+ *
+ *    ç¸æãã MSS ãªãã·ã§ã³ã§ã»ã°ã¡ã³ããµã¤ãºãæå®ããã¦ãã
+ *    ãã®å¤ã§ãã»ã°ã¡ã³ããµã¤ãºãå¶éã§ããã
+ */
+
+#ifndef MAX_TCP_SND_SEG
+#define MAX_TCP_SND_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+#endif	/* of #ifndef MAX_TCP_SND_SEG */
+
+/*
+ *  DEF_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤
+ */
+
+#ifndef DEF_TCP_RCV_SEG
+#define DEF_TCP_RCV_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+#endif	/* of #ifndef DEF_TCP_RCV_SEG */
+
+/* 
+ *  ã»ã°ã¡ã³ãã®é çªãå
+¥ãæ¿ããã¨ãã«æ°ãã«ãããã¯ã¼ã¯ãããã¡ãå²å½ã¦ã¦ã
+ *  ãã¼ã¿ãã³ãã¼ãããµã¤ãºã®ãããå¤
+ */
+#define MAX_TCP_REALLOC_SIZE	1024	
+
+#define TCP_CFG_OPT_MSS		/* ã³ãã¯ã·ã§ã³éè¨­æã«ãã»ã°ã¡ã³ããµã¤ãºãªãã·ã§ã³ãã¤ãã¦éä¿¡ããã*/
+#define TCP_CFG_DELAY_ACK	/* ACK ãé
+ãããã¨ãã¯ã³ã¡ã³ããå¤ãã			*/
+#define TCP_CFG_ALWAYS_KEEP	/* å¸¸ã«ã­ã¼ãã¢ã©ã¤ãããæã¯ã³ã¡ã³ããå¤ãã		*/
+
+/* UDP ã«é¢ããå®ç¾© */
+
+#define UDP_CFG_IN_CHECKSUM	/* UDP ã®å
+¥åãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+#define UDP_CFG_OUT_CHECKSUM	/* UDP ã®åºåãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+
+/* ICMPv4/v6 ã«é¢ããå®ç¾© */
+
+#define ICMP_REPLY_ERROR		/* ICMP ã¨ã©ã¼ã¡ãã»ã¼ã¸ãéä¿¡ããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+/* IPv4 ã«é¢ããå®ç¾© */
+
+//#define IP4_CFG_FRAGMENT		/* ãã¼ã¿ã°ã©ã ã®åå²ã»åæ§æè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã*/
+#define NUM_IP4_FRAG_QUEUE	2	/* ãã¼ã¿ã°ã©ã åæ§æã­ã¥ã¼ãµã¤ãº			*/
+#define IP4_CFG_FRAG_REASSM_SIZE	4096	/* åæ§æãããã¡ãµã¤ãº				*/
+
+/* IPv6 ã«é¢ããå®ç¾© */
+
+#define NUM_IP6_DAD_COUNT	1	/* éè¤ã¢ãã¬ã¹æ¤åºã§éä¿¡ããè¿é£è¦è«ã®åæ°ã		*/
+					/*  0 ãæå®ããã¨ãéè¤ã¢ãã¬ã¹æ¤åºãè¡ããªãã	*/
+#define NUM_ND6_CACHE_ENTRY	10	/* è¿é£ã­ã£ãã·ã¥ã®ã¨ã³ããªæ°			*/
+
+#ifdef SUPPORT_ETHER
+
+#define IP6_CFG_AUTO_LINKLOCAL		/* ãªã³ã¯ã­ã¼ã«ã«ã¢ãã¬ã¹ã®èªåè¨­å®ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+/*
+ *  ãã£ãã©ã«ãã«ã¼ã¿ãªã¹ãã®ã¨ã³ããªæ°ã
+ *  0 ãæå®ããã¨ã«ã¼ã¿éç¥ãåä¿¡ããªãã
+ */
+#define NUM_ND6_DEF_RTR_ENTRY	2
+
+/*
+ *  èµ·åæã®ã«ã¼ã¿è¦è«åºååæ°ã
+ *  0 ãæå®ããã¨ã«ã¼ã¿è¦è«ãåºåããªãã
+ */
+#define NUM_ND6_RTR_SOL_RETRY	3	
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+/*
+ *  ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  PPPãã¢ãã ã«é¢ããå®ç¾©
+ */
+
+#define MODEM_CFG_DIAL		"ATD"	/* ãã¤ã¢ã«ã³ãã³ãæå­å			*/
+#define MODEM_CFG_RETRY_CNT	3	/* ãã¤ã¢ã«ãªãã©ã¤åæ°			*/
+#define MODEM_CFG_RETRY_WAIT	10000	/* ãã¤ã¢ã«ãªãã©ã¤ã¾ã§ã®å¾
+ã¡æé [ms]	*/
+
+/*
+ *  PPPãHDLC ã«é¢ããå®ç¾©
+ */
+
+#define DEF_LOCAL_ACCM		0x000a0000	/* èªåã® ACCMãXON ã¨ XOFF ã®ã¿å¤æ	*/
+#define DEF_REMOTE_ACCM		0xffffffff	/* ç¸æã® ACCMãåæå¤ã¯å
+¨ã¦å¤æ		*/
+
+/*
+ *  PPPãLCP ã«é¢ããå®ç¾©
+ */
+
+#define LCP_CFG_MRU		0x0001	/* MRU					*/
+#define LCP_CFG_ACCM		0x0002	/* ACCM					*/
+#define LCP_CFG_MAGIC		0x0004	/* ãã¸ãã¯çªå·				*/
+#define LCP_CFG_PCOMP		0x0008	/* ãã­ãã³ã«é¨å§ç¸®æ©è½			*/
+#define LCP_CFG_ACCOMP		0x0010	/* ã¢ãã¬ã¹ã»å¶å¾¡é¨å§ç¸®			*/
+#define LCP_CFG_PAP		0x0020	/* PAP					*/
+/*#define LCP_CFG_CHAP		0x0040	   CHAP ã¯å®è£
+äºå®			*/
+
+#ifdef LCP_CFG_MAGIC
+
+#define LCP_ECHO_INTERVAL	(20*NET_TIMER_HZ)	/* ã¤ã³ã¿ã¼ãã«æé		*/
+#define LCP_ECHO_FAILS		9			/* å¤±æé¾å¤			*/
+
+#endif	/* of #ifdef LCP_CFG_MAGIC */
+
+/*
+ *  PPPãPAP ã«é¢ããå®ç¾©
+ */
+
+#define DEF_PAP_TIMEOUT		(3*NET_TIMER_HZ)
+#define DEF_PAP_REQTIME		(30*NET_TIMER_HZ)	/* ã¿ã¤ã ã¢ã¦ãå¦çãè¡ãã¨ãã¯ã³ã¡ã³ããå¤ãã*/
+#define MAX_PAP_REXMT		10			/* èªè¨¼è¦æ±ã®æå¤§åéåæ°	*/
+
+/*
+ *  ARP ã«é¢ããå®ç¾©
+ */
+
+#define NUM_ARP_ENTRY		10			/* ARP ã­ã£ãã·ã¥ã¨ã³ããªæ°	*/
+
+/*
+ *  DHCP ã«é¢ããå®ç¾©
+ *
+ *    ã»æ³¨æ: TINET ã¯ãDHCP ãå®è£
+ãã¦ããªããå¿ç¨ãã­ã°ã©ã ã§ã
+ *            DHCP ã¡ãã»ã¼ã¸ãåä¿¡ããããã®å®ç¾©ã§ããã
+ *            ã¾ããç¾å¨ã¯ IPv4 ã®ã¿æå¹ã§ããã
+ */
+
+/*#define DHCP_CFG					 DHCP ãå¦çããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+/*
+ *  Ethernet ã«é¢ããå®ç¾©
+ */
+
+/*#define ETHER_CFG_ACCEPT_ALL		 ãã«ãã­ã£ã¹ããã¨ã©ã¼ãã¬ã¼ã ãåä¿¡ããã¨ãã¯ã³ã¡ã³ããå¤ãã	*/
+/*#define ETHER_CFG_UNEXP_WARNING	 éãµãã¼ããã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_802_WARNING		 IEEE 802.3 ãã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_MCAST_WARNING	 ãã«ãã­ã£ã¹ãã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+
+/*
+ *  æ±ç¨ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/* ãããã¯ã¼ã¯ãããã¡æ° */
+
+#ifdef SUPPORT_PPP
+
+/*
+ *  PPP ã§ã¯ãåä¿¡ç¨ã® ãããã¯ã¼ã¯ãããã¡ã¯ PDU (1502) ãµã¤ãºãå¸¸ã«
+ *  å²ãå½ã¦ãªããã°ãªããªãã®ã§ PDU ãµã¤ãºãå¤ãã«ç¢ºä¿ããã
+ */
+
+#ifndef NUM_MPF_NET_BUF_CSEG
+#define NUM_MPF_NET_BUF_CSEG	2	/* IF + IP + TCPã2 ä»¥ä¸*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_CSEG */
+
+#ifndef NUM_MPF_NET_BUF_64
+#define NUM_MPF_NET_BUF_64	0	/* 64 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_64 */
+
+#ifndef NUM_MPF_NET_BUF_128
+#define NUM_MPF_NET_BUF_128	0	/* 128 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_128 */
+
+#ifndef NUM_MPF_NET_BUF_256
+#define NUM_MPF_NET_BUF_256	0	/* 256 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_256 */
+
+#ifndef NUM_MPF_NET_BUF_512
+#define NUM_MPF_NET_BUF_512	0	/* 512 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_512 */
+
+#ifndef NUM_MPF_NET_BUF_1024
+#define NUM_MPF_NET_BUF_1024	0	/* 1024 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_1024 */
+
+#ifndef NUM_MPF_NET_BUF_IF_PDU
+#define NUM_MPF_NET_BUF_IF_PDU	2	/* IF æå¤§ PDU ãµã¤ãº	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
+
+#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
+
+#ifndef NUM_MPF_NET_BUF_REASSM
+#define NUM_MPF_NET_BUF_REASSM	2	/* åæ§æãããã¡ãµã¤ãº	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_REASSM */
+
+#endif	/* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+/*
+ *  ã¤ã¼ãµãããã®å ´åã®ãããã¯ã¼ã¯ãããã¡æ°ã®å²ãå½ã¦
+ */
+
+/*
+ *  æ³¨æ!!
+ *
+ *  NE2000 äºæ NIC ã®ãã£ãã¤ã¹ãã©ã¤ãï¼if_edï¼ã®æä½å²å½ã¦é·ã¯
+ *  60ï¼ã¢ã©ã¤ã³ãã¦ 62ï¼ãªã¯ãããã®ãã IF + IP +TCP ããã¯
+ *  64 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã®æ¹ãæé©ã§ããã
+ */
+
+#ifndef NUM_MPF_NET_BUF_CSEG
+#define NUM_MPF_NET_BUF_CSEG	0	/* IF + IP + TCP	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_CSEG */
+
+#ifndef NUM_MPF_NET_BUF_64
+#define NUM_MPF_NET_BUF_64	2	/* 64 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_64 */
+
+#ifndef NUM_MPF_NET_BUF_128
+#define NUM_MPF_NET_BUF_128	0	/* 128 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_128 */
+
+#ifndef NUM_MPF_NET_BUF_256
+#define NUM_MPF_NET_BUF_256	0	/* 256 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_256 */
+
+#ifndef NUM_MPF_NET_BUF_512
+#define NUM_MPF_NET_BUF_512	0	/* 512 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_512 */
+
+#if defined(SUPPORT_INET4)
+
+#ifndef NUM_MPF_NET_BUF_IP_MSS
+#define NUM_MPF_NET_BUF_IP_MSS	0	/* IF + 576 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IP_MSS */
+
+#endif	/* of #if defined(SUPPORT_INET4) */
+
+#ifndef NUM_MPF_NET_BUF_1024
+#define NUM_MPF_NET_BUF_1024	0	/* 1024 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_1024 */
+
+#if defined(SUPPORT_INET6)
+
+#ifndef NUM_MPF_NET_BUF_IPV6_MMTU
+#define NUM_MPF_NET_BUF_IPV6_MMTU	0	/* IF + 1280	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IPV6_MMTU */
+
+#endif	/* of #if defined(SUPPORT_INET6) */
+
+#ifndef NUM_MPF_NET_BUF_IF_PDU
+#define NUM_MPF_NET_BUF_IF_PDU	4	/* IF æå¤§ PDU ãµã¤ãº	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
+
+#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
+
+#ifndef NUM_MPF_NET_BUF_REASSM
+#define NUM_MPF_NET_BUF_REASSM	2	/* åæ§æãããã¡ãµã¤ãº	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_REASSM */
+
+#endif	/* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#ifndef NUM_MPF_NET_BUF_CSEG
+#define NUM_MPF_NET_BUF_CSEG	2	/* IF + IP + TCP	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_CSEG */
+
+#ifndef NUM_MPF_NET_BUF_64
+#define NUM_MPF_NET_BUF_64	0	/* 64 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_64 */
+
+#ifndef NUM_MPF_NET_BUF_128
+#define NUM_MPF_NET_BUF_128	0	/* 128 ãªã¯ãããã2 ä»¥ä¸	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_128 */
+
+#ifndef NUM_MPF_NET_BUF_256
+#define NUM_MPF_NET_BUF_256	0	/* 256 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_256 */
+
+#ifndef NUM_MPF_NET_BUF_512
+#define NUM_MPF_NET_BUF_512	0	/* 512 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_512 */
+
+#ifndef NUM_MPF_NET_BUF_1024
+#define NUM_MPF_NET_BUF_1024	0	/* 1024 ãªã¯ããã	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_1024 */
+
+#ifndef NUM_MPF_NET_BUF_IF_PDU
+#define NUM_MPF_NET_BUF_IF_PDU	4	/* IF æå¤§ PDU ãµã¤ãº	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+/*
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬
+ *
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬ãè¡ãå ´åã¯ãtinet/include/net/net.h
+ *  ã§å®ç¾©ããã¦ãããã­ãã³ã«è­å¥ãã©ã°ãæå®ããã
+ */
+
+#if 1
+
+#ifdef SUPPORT_INET4
+
+#define NET_COUNT_ENABLE	(0			\
+				| PROTO_FLG_PPP_HDLC	\
+				| PROTO_FLG_PPP_PAP	\
+				| PROTO_FLG_PPP_LCP	\
+				| PROTO_FLG_PPP_IPCP	\
+				| PROTO_FLG_PPP		\
+				| PROTO_FLG_LOOP	\
+				| PROTO_FLG_ETHER_NIC	\
+				| PROTO_FLG_ETHER	\
+				| PROTO_FLG_ARP		\
+				| PROTO_FLG_IP4		\
+				| PROTO_FLG_ICMP4	\
+				| PROTO_FLG_UDP		\
+				| PROTO_FLG_TCP		\
+				| PROTO_FLG_NET_BUF	\
+				)
+
+#endif	/* of #ifdef SUPPORT_INET4 */
+
+#ifdef SUPPORT_INET6
+
+#define NET_COUNT_ENABLE	(0			\
+				| PROTO_FLG_PPP_HDLC	\
+				| PROTO_FLG_PPP_PAP	\
+				| PROTO_FLG_PPP_LCP	\
+				| PROTO_FLG_PPP_IPCP	\
+				| PROTO_FLG_PPP		\
+				| PROTO_FLG_LOOP	\
+				| PROTO_FLG_ETHER_NIC	\
+				| PROTO_FLG_ETHER	\
+				| PROTO_FLG_IP6		\
+				| PROTO_FLG_ICMP6	\
+				| PROTO_FLG_ND6		\
+				| PROTO_FLG_UDP		\
+				| PROTO_FLG_TCP		\
+				| PROTO_FLG_NET_BUF	\
+				)
+
+#endif	/* of #ifdef SUPPORT_INET6 */
+
+#else	/* of #if 0 */
+
+#define NET_COUNT_ENABLE	(0			\
+				)
+
+#endif	/* of #if 0 */
+
+#endif /* _TINET_CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tinet_cpu_defs.h	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TINET (TCP/IP Protocol Stack)
+ * 
+ *  Copyright (C) 2001-2006 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: $
+ */
+
+#ifndef _TINET_CPU_DEFS_H_
+#define _TINET_CPU_DEFS_H_
+
+/*
+ *  ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  CPU ã®ã¢ã©ã¤ã¡ã³ãã«é¢ããå®ç¾©
+ *
+ *  4 ãªã¯ãããåä½ã§ãã¢ã©ã¤ã³ããå¿
+è¦ãããå ´åã¯ 4 ãæå®ããã
+ */
+
+#define CPU_NET_ALIGN		2
+
+#endif /* _TINET_CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_config.h	(revision 26)
@@ -0,0 +1,284 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.8 2006/05/30 08:24:15 hiro Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_CHG_IPM_LEAVE(ercd)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_ENTER(p_ipm)	/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)	/* ãã­ã»ããµä¾å­é¨ */
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/tool_defs.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.5 2003/06/18 12:42:57 hiro Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/util.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: util.h,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  ã¦ã¼ãã£ãªãã£ã»ãã¯ã­ã®å®ç¾©
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+/*
+ *  Cè¨èªã®ã·ã³ãã«åãã¢ã»ã³ãã©ã®ã·ã³ãã«åã«å¤æãããã¯ã­
+ */
+#define _TO_ASM(arg)	arg
+#define TO_ASM(arg)	_TO_ASM(arg)
+
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/vector_table.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/vector_table.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/vector_table.c	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ *  Copyright (C) 2008 by Takahisa Yokota
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vector_table.c,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ä¾å¤ãã¯ã¿ã®å®ç¾©ï¼COLDFIREç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+static VP _current_vbr = EXCVT_ORIG;
+
+extern void start(void);		/*  start.S  */
+extern void no_reg_exception(void);	/*  cpu_support.S  */
+
+VP
+current_vbr()
+{
+        return _current_vbr;
+}
+
+void
+set_vbr(VP vbr)
+{
+        _current_vbr = vbr;
+	Asm("movec %0, %%vbr" : : "r"(vbr));
+}
+
+FP vector_table [192] = {
+	(FP)INIT_STACK,		/*   0:ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+        RESET_VECTOR,		/*   1:ãã¯ã¼ãªã³ãªã»ãã  */
+	ACC_VECTOR,		/*   2:ã¢ã¯ã»ã¹ã¨ã©ã¼      */
+  	ADD_VECTOR,		/*   3:ã¢ãã¬ã¹ã¨ã©ã¼      */
+  	II_VECTOR,		/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	RESERVED_VECTOR,	/*   5:d zero              */
+	RESERVED_VECTOR,        /*   6:äºç´                */
+        II_VECTOR,              /*   7:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*   8:pvã·ã¹ãã äºç´        */
+        RESERVED_VECTOR,        /*   9:trace               */
+	RESERVED_VECTOR,	/*  10:line a emulator     */
+	RESERVED_VECTOR,	/*  11:line f emulator     */
+	RESERVED_VECTOR,	/*  12:ã·ã¹ãã äºç´        */
+        RESERVED_VECTOR,        /*  13:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  14:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  15:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  16:ã·ã¹ãã äºç´        */
+        RESERVED_VECTOR,        /*  17:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  18:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  19:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  20:ã·ã¹ãã äºç´        */
+        RESERVED_VECTOR,        /*  21:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  22:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  23:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*  24:ã¹ããªã¢ã¹å²ãè¾¼ã¿  */
+				/*  æ®ãã¯ããã©ã«ãã®ä¾å¤å¦ç  */
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+};
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.c	(revision 26)
@@ -0,0 +1,305 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Katsuhiro Amano
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_config.c,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *ãããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "sil.h"
+#include <hw_serial.h>  /*  SCI_putchar_pol()  */
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+volatile UB      task_intmask = 0;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+volatile UB      int_intmask = 0;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+volatile UB      intnest = 0;
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ */
+volatile BOOL    iscpulocked = TRUE;
+
+/*
+ *  ã¿ã¤ãã®ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿
+ *      æ¬æ¥ã¯hw_timer.hã«è¨è¿°ããã¹ãã ããããããã¨
+ *      hw_timer.hãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã§ãã¹ã¦å®ä½åããã¦
+ *ãããã¡ã¢ãªé åãå æãã¦ãã¾ããããå®ä½ã¯ããã«è¨è¿°ããã
+ */
+const IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
+                        SYSTEM_TIMER_IP_BIT,
+                        SYSTEM_TIMER_IPM
+};
+
+/*
+ *  SYSCRã®åæå¤
+ *      $CPUãã£ã¬ã¯ããªã§å®ç¾©ããå
+å®¹
+ *      ãããã7 SSBY=0ï¼sleepå½ä»¤ã§ã¹ãªã¼ãã¢ã¼ãã¸ç§»è¡
+ *      ãããã3 UE=1ï¼CCR.UIãå²è¾¼ã¿ãã¹ã¯ãããã¨ãã¦å©ç¨
+ *      ãããã1 1ï¼ãªã¶ã¼ãããã
+ *      ãããã0 RAME=1ï¼å
+èµRAMæå¹
+ *      $SYSãã£ã¬ã¯ããªã§SYSCR_SYSã¨ãã¦å®ç¾©ããå
+å®¹
+ *      ãããã6-4 STSï¼ã¹ã¿ã³ãã¤ã»ã¿ã¤ãã»ã»ã¬ã¯ã
+ *      ãããã2 NMIEGï¼NMIã¨ãã¸
+ */
+#define SYSCR_INI	(H8SYSCR_UE | BIT1 | H8SYSCR_RAME | SYSCR_SYS)
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+        /*
+         *  ä»¥ä¸ã®ï¼ã¤ã¯ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§åæåãæ¸ãã§ããã
+         *  ããã»å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ intnest
+         *  ããã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯ int_intmask
+         *  ããã»ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯ task_intmask
+         *  ããããï¼chg_ipmããµãã¼ãããå ´åï¼
+         */
+
+        /*
+         *  SYSCRã®è¨­å®
+         */
+        sil_wrb_mem((VP)H8SYSCR, (VB)SYSCR_INI);
+         
+        /*  æªå®æ  */
+        /*  sleepå½ä»¤ã§é·ç§»ããçé»åç¶æ
+ã®è¨­å®  */
+
+        /*  ä½ã¬ãã«åºåç¨ã·ãªã¢ã«ãã¼ãã®åæå  */
+        SCI_initialize(SCI_LOW_PORTID);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+}
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *ãIPMã«è¨­å®ã§ããå¤ã¨ãã¦IPM_LEVEL0ãIPM_LEVEL1ããã¯ã­å®ç¾©ããã¦ããã
+ *
+ *
+ *ãIPM_LEVEL0ï¼ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ *ãIPM_LEVEL1ï¼ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ã
+ *ããããããããããããåãä»ãã
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ãã¬ãã«2ï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«
+ *  å¤æ´ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´å
+ *  ã«ã¯ï¼loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ãï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨
+ *  æãããï¼
+ *ãIPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dspã
+ *  ä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_CHG_IPM_ENTER(ipm);
+        CHECK_TSKCTX_UNL();
+        CHECK_PAR( (ipm == IPM_LEVEL0) || (ipm == IPM_LEVEL1) || (ipm == IPM_LEVEL2));
+
+        t_lock_cpu();
+        task_intmask = ipm;
+        t_unlock_cpu();
+
+    exit:
+        LOG_CHG_IPM_LEAVE(ercd)
+        return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_GET_IPM_ENTER(p_ipm);
+        CHECK_TSKCTX_UNL();
+
+        t_lock_cpu();
+        *p_ipm = task_intmask;
+        t_unlock_cpu();
+
+    exit:
+        LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+        return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ * å¾®å°æéå¾
+ã¡
+ * ããæ³¨æäºé 
+ï¼
+ * ãããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+ * ãããUWåã«å¤æ´ãã¦ããã
+ * ãããsil_dly_nse()ã¯å
+é¨ã§sil_dly_nse2()ãå¼ã³åºãã
+ */
+void sil_dly_nse(UINT dlytim) {
+	sil_dly_nse_long((UW)dlytim);
+}
+
+/*****ä»¥ä¸ãå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªãé¨å*********/
+
+/*
+ * ç»é²ããã¦ããªãå²ãè¾¼ã¿ã®ããã©ã«ãå¦ç
+ */
+
+/*
+ * ã¹ã¿ãã¯ã®å
+é ­ããåã¬ã¸ã¹ã¿ã®ã¾ã§ã®ãªãã»ãã
+ * 
+ * ãã¹ã¿ãã¯æ§é 
+ *ãã +0:er0
+ *ãã +4:er1
+ *ãã +8:er2
+ *ãã+12:er3
+ *ãã+16:er4
+ *ãã+20:er5
+ *ãã+24:er6
+ *ãã+28:crr
+ *ãã+29:pc
+ *ãã+32ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+ */
+
+/*
+ * å²è¾¼ã¿çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã¾ã§ã®ãªãã»ãã
+ */
+#define OFFSET_SP	32
+
+/*
+ * ç»é²ããã¦ããªãå²ãè¾¼ã¿ãçºçããã¨å¼ã³åºããã
+ */
+void 
+cpu_experr(EXCSTACK *sp)
+{
+    UW sp2, pc, ccr, tmp;
+    
+    sp2 = (UW)sp + OFFSET_SP;
+    tmp = sp->pc;
+    ccr = (tmp >> 24U) & 0xff;	/*  ä¸ä½1ãã¤ã  */
+    pc = tmp & 0x00ffffffUL;	/*  ä¸ä½3ãã¤ã  */
+    
+	/*
+	 *  %xï¼æ´æ°åï¼ã§ã¯2ãã¤ãããè¡¨ç¤ºã§ããªãã®ã§
+	 *  %pï¼ãã¤ã³ã¿åï¼ãç¨ãã¦4ãã¤ãè¡¨ç¤ºãã¦ããã
+	 */
+    syslog(LOG_EMERG, "Unexpected interrupt.");
+    syslog(LOG_EMERG, "PC  = 0x%08p SP  = 0x%08p CCR  = 0x%02x",
+                       (VP)pc, (VP)sp2, (INT)ccr);
+    syslog(LOG_EMERG, "ER0 = 0x%08p ER1 = 0x%08p ER2 = 0x%08p ER3 = 0x%08p",
+           (VP)(sp->er0), (VP)(sp->er1), (VP)(sp->er2), (VP)(sp->er3));
+    syslog(LOG_EMERG, "ER4 = 0x%08p ER5 = 0x%08p ER6 = 0x%08p",
+                       (VP)(sp->er4), (VP)(sp->er5), (VP)(sp->er6));
+    while(1)
+    	;
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+void
+cpu_putc(char c)
+{
+    if (c == '\n') {
+        SCI_putchar_pol('\r');
+    }
+    SCI_putchar_pol((UB)c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config.h	(revision 26)
@@ -0,0 +1,417 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_config.h,v 1.8 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *      ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#include <h8.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define TBIT_TCB_TSTAT          8       /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define TBIT_TCB_PRIORITY       8       /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+
+typedef struct task_context_block {
+        VP      sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP      pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UB
+current_intmask(void)
+{
+        UB ccr = current_ccr();
+        
+        ccr &= (UB)CCR_DISINT_ALL;
+        return(ccr);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UB intmask)
+{
+        UB ccr = current_ccr();
+        
+        /*
+         *ãand_ccr(),or_ccr()ãç¨ããã«ã­ã¼ã«ã«å¤æ°ccrã«ä¸åº¦ãä»£å
+¥
+         *ãããçç±
+         *
+         *ãã»unloc_cou()ããå¼ã°ããã®ã§ãintmaskã®å¤ãåæ ãããã¾ã§
+         *ããå²è¾¼ã¿è¨±å¯ã«ãªã£ã¦ã¯ãããªãã
+         *  ã»ã³ã³ãã¤ã©ã®è­¦åãæå¶ãããããã­ã£ã¹ããã¦ããã 
+         */
+        ccr = (UB)((ccr & CCR_ENAINT_ALL) | intmask);
+        set_ccr(ccr);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+
+extern volatile UB       intnest;
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨
+ *  ãã«ã¯ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+Inline BOOL
+sense_context(void)
+{
+	BOOL ret;
+	
+	ret = (intnest != 0) ? TRUE : FALSE;
+	return(ret);
+}
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ */
+extern volatile BOOL     iscpulocked;
+
+#define sense_lock()    iscpulocked
+#define t_sense_lock    sense_lock
+#define i_sense_lock    sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ãchg_ipm ããµãã¼ãããããã®å¤æ°ãchg_ipm ããµãã¼ã
+ *  ããªãå ´åã«ã¯ãt_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦ããã
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern volatile UB       task_intmask;   /* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu(void)
+{
+        disint();
+        iscpulocked = TRUE;
+}
+
+Inline void
+t_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+#ifdef SUPPORT_CHG_IPM
+        /*
+         *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããããã
+         *  å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãã
+         */
+        set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+        enaint();               /* cpu_insn.h */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern volatile UB       int_intmask;    /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu(void)
+{
+        UB      intmask = current_intmask();
+        /*
+         *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask()ãå¼ã
+         *  ã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+         *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+         */
+
+        disint();
+        int_intmask = intmask;
+        iscpulocked = TRUE;
+}
+
+Inline void
+i_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+        set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void     dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void     exit_and_dispatch(void);
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *
+ *ãH8çã§ã¯ä½ãå¦çãããªã
+ *ãï¼ãã¯ã¿ãã¼ãã«ãããã¥ã¢ã«ã§ç·¨éããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *ããH8çã§ã¯ä½¿ç¨ãããªã
+ */
+
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ *ããH8Cç¨H8ä¾å­é¨ã§ã¯å²è¾¼ã¿ã®åºå
+¥å£å¦çãã¢ã»ã³ãã©ã½ã¼ã¹å
+ã«
+ *ããçæãããããæ¬æ¥ã¯Cè¨èªä¸­ã§å®ç¾©ããå¿
+è¦ããªãã
+ *ããããã§ã¯å
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåãããããã
+ *ããå¿
+è¦ãªãã¯ã­å®ç¾©ã®ã¿ãã¦ããã
+ */
+
+/*
+ *  Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ
+ *ããH8Cç¨H8ä¾å­é¨ã§ã¯å
+¥å£å¦çãvector.srcå
+ã®ã­ã¼ã«ã«ã»ã·ã³ãã«ã«
+ *ããã§ããã®ã§ãã°ã­ã¼ãã«ã«å
+¬éããå¿
+è¦ããªãã
+ *ããããã§ã¯å
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåãããããã
+ *ããããã¼ã®ã©ãã«ãä¸ãã¦ããã
+ */
+#define INT_ENTRY(inthdr) _kernel_common_interrupt_process
+#define EXC_ENTRY(exchdr) _kernel_common_interrupt_process
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *ãããCè¨èªä¸ã§ã¯ãã¾ãçæã§ããªããããã¢ã»ã³ãã©ã½ã¼ã¹å
+ã§
+ *ãããå¥éç¨æããã
+ */
+#define INTHDR_ENTRY(inthdr) extern void INT_ENTRY(inthdr)(void) throw()
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define EXCHDR_ENTRY(exchdr) extern void EXC_ENTRY(exchdr)(void) throw()
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+        /* H8çã§ã¯å¼ã°ããªãã */
+        return(TRUE);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+        /* H8çã§ã¯å¼ã°ããªãã */
+        return(TRUE);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+
+extern void     cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+
+extern void     cpu_terminate(void);
+
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+
+typedef struct exc_stack {
+	UW	er0;
+	UW	er1;
+	UW	er2;
+	UW	er3;
+	UW	er4;
+	UW	er5;
+	UW	er6;
+	UW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+} EXCSTACK;
+
+/*
+ * æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºå (cpu_config.c, cpu_support.S)
+ */
+
+extern void     cpu_experr(EXCSTACK *sp);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void cpu_putc(char c);
+
+#endif /* _MACRO_ONLY_ */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_config_asm.inc	(revision 26)
@@ -0,0 +1,96 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_config_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+;       ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼H8ç¨ï¼
+;ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+
+ .AIFDEF _CPU_CONFIG_ASM_H_
+ .AELSE
+
+_CPU_CONFIG_ASM_H_: .DEFINE ""
+
+        .INCLUDE "cpu_rename_asm.inc"
+        .INCLUDE "util_asm.inc"
+
+;
+;  CCRã¬ã¸ã¹ã¿ã®å®ç¾©
+;    CCRã®I,UIããããå²ãè¾¼ã¿ãã¹ã¯ãããã¨ãã¦ä½¿ç¨ããã
+;
+CCR_I                   .DEFINE         "BIT7"
+CCR_UI                  .DEFINE         "BIT6"
+
+CCR_DISINT_ALL          .DEFINE         "(CCR_I | CCR_UI)"
+CCR_ENAINT_ALL          .DEFINE         "(H'ff & ~CCR_DISINT_ALL)"
+
+;
+;  å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤ã®å®ç¾©
+;
+
+;  ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+IPM_LEVEL0              .DEFINE         "H'0"
+
+;  ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ãåãä»ãã
+IPM_LEVEL1              .DEFINE         "CCR_I"
+
+;  ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+IPM_LEVEL2              .DEFINE         "(CCR_I|CCR_UI)"
+                        ;ãã¹ãã¼ã¹ãå
+¥ãã¨ãã¯ã­å¼æ°ã¨ãã¦æ¸¡ããªã
+
+
+ .AENDI ; _CPU_CONFIG_ASM_H_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_context.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_context.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ *
+ */
+extern void activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+        VW      *sp;
+
+        sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+        tcb->tskctxb.sp = sp;
+        tcb->tskctxb.pc = (FP)activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *
+ *  ãH8çã§ã¯ããã¼é åãç¢ºä¿ããå¿
+è¦ããªãã®ã§
+ *ããACTIVATED_STACK_SIZEãã¯ã­ãå®ç¾©ããªã
+ */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_defs.h	(revision 26)
@@ -0,0 +1,279 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_defs.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *      ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼H8ç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>        /*  SUPPORT_VXGET_TIMãã¯ã­ã®å®ç¾©  */
+
+#include <h8.h>
+
+#define H8
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2007 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n" \
+"Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering,\n" \
+"                 Tomakomai National College of Technology, JAPAN\n"
+
+/*
+ *  CPU ã®ãã¤ãé ã«é¢ããå®ç¾©
+ */
+
+#define SIL_ENDIAN              SIL_ENDIAN_BIG
+
+#ifndef _MACRO_ONLY
+
+typedef UINT    INHNO;                  /* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef UINT    EXCNO;                  /* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+typedef UB              IPM;            /* å²è¾¼ã¿ãã¹ã¯ */
+
+#endif /* _MACRO_ONLY */
+/*
+ *  ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ */
+#define IPM_LEVEL0      0u
+
+/*
+ *  ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ãåãä»ãã
+ */
+#define IPM_LEVEL1      CCR_I
+
+/*
+ *  ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+ */
+#define IPM_LEVEL2      (CCR_I | CCR_UI)
+
+#ifndef _MACRO_ONLY
+
+#ifdef SUPPORT_CHG_IPM
+extern ER       chg_ipm(IPM ipm) throw();
+extern ER       get_ipm(IPM *p_ipm) throw();
+#endif  /*  SUPPORT_CHG_IPM  */
+
+
+/*
+ *  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿æ§é 
+ */
+typedef struct {
+        UB *ipr;        /* è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå° */
+        UB bit;         /* IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå· */
+        IPM ipm;        /* è¨­å®ããå²è¾¼ã¿ã¬ãã« */
+                        /* IPM_LEVEL0,IPM_LEVEL1ã®ãããã */
+} IRC;                  /* IRC:Interrupt Request Controller */
+
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»è¨æ¸¬æ©è½
+ */
+#ifdef SUPPORT_VXGET_TIM
+
+typedef UW  SYSUTIM;    /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif  /*  SUPPORT_VXGET_TIM  */
+
+/*
+ *  ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort(void)
+{
+        while (1) {}
+}
+
+/*
+ * å¾®å°æéå¾
+ã¡
+ * ããæ³¨æäºé 
+ï¼
+ * ãããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+ * ãããUWåã«å¤æ´ãã¦ããã
+ * ãããsil_dly_nse()ã¯å
+é¨ã§sil_dly_nse_long()ãå¼ã³åºãã
+ */
+extern void sil_dly_nse_long(UW dlytim) throw();
+
+
+/*
+ *  ã¨ã³ãã£ã¢ã³ã®åè»¢
+ */
+#define	SIL_REV_ENDIAN_H(data) \
+	((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+
+#define	SIL_REV_ENDIAN_W(data) \
+	((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
+		| (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+
+/*
+ *  ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
+ *  
+ *  ã³ã³ãã¤ã©ã®è­¦åãåé¿ãããããæ©ç¨®ä¾å­é¨ã§ã¢ã¯ã»ã¹é¢æ°ãç¨æããã
+ *  å¦çå
+å®¹ã¯jsp/include/sil.hã¨ã¾ã£ããåãã
+ *  å®ç¾©ããé çªã®é½åä¸ãä¸è¨ã®ãã¨ã³ãã£ã¢ã³ã®åè»¢ããããã£ã¦å®ç¾©ãã¦ããã
+ */
+#define OMIT_SIL_ACCESS
+
+/*
+ *  8ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VB
+sil_reb_mem(VP mem)
+{
+	VB data = *((volatile VB *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrb_mem(VP mem, VB data)
+{
+	*((volatile VB *) mem) = data;
+}
+
+/*
+ *  16ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VH
+sil_reh_mem(VP mem)
+{
+	VH data = *((volatile VH *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrh_mem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = data;
+}
+
+#define	sil_reh_bem(mem)	sil_reh_mem(mem)
+#define	sil_wrh_bem(mem, data)	sil_wrh_mem(mem, data)
+
+Inline VH
+sil_reh_lem(VP mem)
+{
+	VH data = *((volatile VH *) mem);
+	return(SIL_REV_ENDIAN_H(data));
+}
+
+Inline void
+sil_wrh_lem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = SIL_REV_ENDIAN_H(data);
+}
+
+/*
+ *  32ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VW
+sil_rew_mem(VP mem)
+{
+	VW data = *((volatile VW *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrw_mem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = data;
+}
+
+#define	sil_rew_bem(mem)	sil_rew_mem(mem)
+#define	sil_wrw_bem(mem, data)	sil_wrw_mem(mem, data)
+
+Inline VW
+sil_rew_lem(VP mem)
+{
+	VW data= *((volatile VW *) mem);
+	return(SIL_REV_ENDIAN_W(data));
+}
+
+Inline void
+sil_wrw_lem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = SIL_REV_ENDIAN_W(data);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_insn.h	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_insn.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _CPU_INSN_H_
+#define _CPU_INSN_H_
+
+/*
+ *      ãã­ã»ããµã®ç¹æ®å½ä»¤ã®é¢æ°å®ç¾©ï¼H8ç¨ï¼
+ */
+
+#include <machine.h>	/*  å¦çç³»ã®çµã¿è¾¼ã¿é¢æ°  */
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®èª­åºã
+ *ããUB current_ccr(void);
+ *ãããâãunsigned char get_ccr(void);
+ */
+#define current_ccr	get_ccr
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®å¤æ´
+ *ããçµã¿è¾¼ã¿é¢æ°ã®set_ccr()ããã®ã¾ã¾ä½¿ãã
+ *ããvoid set_ccr(unsigned char ccr);
+ */
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+#define disint()	or_ccr(CCR_DISINT_ALL)
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+#define enaint()	and_ccr(CCR_ENAINT_ALL)
+
+/*
+ * ãããã»ããã¨ãããã¯ãªã¢
+ */
+
+/*
+ * ããããã¿ã¼ã³ã¨ãã¹ã¯ãã¿ã¼ã³
+ */
+#define H8BIT2PATTERN(bit)	(0x1u << (UINT)(bit))
+#define H8BIT2MASK(bit)		((~H8BIT2PATTERN(bit)) & 0xffu)
+
+/*
+ * ããããã»ãã
+ */
+#define bitset(p, bit)	((*(volatile UB *)(p)) |= (UB)H8BIT2PATTERN(bit))
+
+/*
+ * ããããã¯ãªã¢
+ */
+#define bitclr(p, bit)	((*(volatile UB *)(p)) &= (UB)H8BIT2MASK(bit))
+
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.def	(revision 26)
@@ -0,0 +1,25 @@
+#cpu_config.c
+intnest
+iscpulocked
+task_intmask
+int_intmask
+cpu_experr
+cpu_putc
+TIMER_ICU
+
+#cpu_support.src
+activate_r
+no_reg_exception
+
+#start.src
+start
+start_1
+
+#hw_serial.c
+siopcb_table
+SCI_cls_por
+SCI_ierdy_rcv
+SCI_ierdy_snd
+SCI_in_handler
+SCI_initialize
+SCI_out_handler
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename.h	(revision 26)
@@ -0,0 +1,77 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#define intnest			_kernel_intnest
+#define iscpulocked		_kernel_iscpulocked
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define cpu_experr		_kernel_cpu_experr
+#define cpu_putc		_kernel_cpu_putc
+#define TIMER_ICU		_kernel_TIMER_ICU
+
+/*
+ * cpu_support.src
+ */
+#define activate_r		_kernel_activate_r
+#define no_reg_exception	_kernel_no_reg_exception
+
+/*
+ * start.src
+ */
+#define start			_kernel_start
+#define start_1			_kernel_start_1
+
+/*
+ * hw_serial.c
+ */
+#define siopcb_table		_kernel_siopcb_table
+#define SCI_cls_por		_kernel_SCI_cls_por
+#define SCI_ierdy_rcv		_kernel_SCI_ierdy_rcv
+#define SCI_ierdy_snd		_kernel_SCI_ierdy_snd
+#define SCI_in_handler		_kernel_SCI_in_handler
+#define SCI_initialize		_kernel_SCI_initialize
+#define SCI_out_handler		_kernel_SCI_out_handler
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#define _intnest		__kernel_intnest
+#define _iscpulocked		__kernel_iscpulocked
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _cpu_experr		__kernel_cpu_experr
+#define _cpu_putc		__kernel_cpu_putc
+#define _TIMER_ICU		__kernel_TIMER_ICU
+
+/*
+ * cpu_support.src
+ */
+#define _activate_r		__kernel_activate_r
+#define _no_reg_exception	__kernel_no_reg_exception
+
+/*
+ * start.src
+ */
+#define _start			__kernel_start
+#define _start_1		__kernel_start_1
+
+/*
+ * hw_serial.c
+ */
+#define _siopcb_table		__kernel_siopcb_table
+#define _SCI_cls_por		__kernel_SCI_cls_por
+#define _SCI_ierdy_rcv		__kernel_SCI_ierdy_rcv
+#define _SCI_ierdy_snd		__kernel_SCI_ierdy_snd
+#define _SCI_in_handler		__kernel_SCI_in_handler
+#define _SCI_initialize		__kernel_SCI_initialize
+#define _SCI_out_handler	__kernel_SCI_out_handler
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_rename_asm.inc	(revision 26)
@@ -0,0 +1,113 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_rename_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+ .AIFDEF _CPU_RENAME_ASM_H_
+ .AELSE
+
+_CPU_RENAME_ASM_H_: .DEFINE ""
+
+
+;
+;ãã·ã³ãã«ã®ãªãã¼ã 
+;
+
+;
+;ãå
+±éé¨
+;
+
+;ãããå¤æ°
+_runtsk:                .DEFINE         "__kernel_runtsk"
+_schedtsk:              .DEFINE         "__kernel_schedtsk"
+_reqflg:                .DEFINE         "__kernel_reqflg"
+_enadsp:                .DEFINE         "__kernel_enadsp"
+;ãããé¢æ°
+_call_texrtn            .DEFINE         "__kernel_call_texrtn"
+
+;
+;ãcpu_config.c
+;
+
+;ãããå¤æ°
+_intnest:               .DEFINE         "__kernel_intnest"
+_iscpulocked:           .DEFINE         "__kernel_iscpulocked"
+_task_intmask:          .DEFINE         "__kernel_task_intmask"
+;ãããé¢æ°
+_cpu_experr:            .DEFINE         "__kernel_cpu_experr"
+
+;
+;ãcpu_support.src
+;
+
+;ãããé¢æ°
+_dispatch:              .DEFINE         "__kernel_dispatch"
+_exit_and_dispatch:     .DEFINE         "__kernel_exit_and_dispatch"
+_activate_r:            .DEFINE         "__kernel_activate_r"
+_no_reg_exception       .DEFINE         "__kernel_no_reg_exception"
+_current_ccr            .DEFINE         "__kernel_current_ccr"
+_set_ccr                .DEFINE         "__kernel_set_ccr"
+_disint                 .DEFINE         "__kernel_disint"
+_enaint                 .DEFINE         "__kernel_enaint"
+;ãããã®ä»
+_common_interrupt_process .DEFINE       "__kernel_common_interrupt_process"
+
+;
+;ãstart.src
+;
+start                   .DEFINE         "__kernel_start"
+start_1                 .DEFINE         "__kernel_start_1"
+
+ .AENDI ;  _CPU_RENAME_ASM_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_support.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_support.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_support.src	(revision 26)
@@ -0,0 +1,524 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_support.src,v 1.8 2007/03/23 07:58:33 honda Exp $
+;
+
+;       ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼H8ç¨ï¼
+;ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+
+        .CPU 300HA
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config_asm.inc"
+        .INCLUDE "cpu_config_asm.inc"
+        .INCLUDE "offset.inc"
+
+;ããå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹
+;ãããå¤æ°
+        .IMPORT _runtsk
+        .IMPORT _schedtsk
+        .IMPORT _reqflg
+        .IMPORT _enadsp
+;ãããé¢æ°
+        .IMPORT _ext_tsk
+        .IMPORT _call_texrtn
+
+;ããH8ä¾å­é¨ç¬èª
+;ãããå¤æ°
+        .IMPORT _intnest
+        .IMPORT _iscpulocked
+        .IMPORT _task_intmask
+;ãããé¢æ°
+        .IMPORT _cpu_experr
+
+;
+;  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+;
+DISINT: .DEFINE         "orc.b  #CCR_DISINT_ALL, ccr"
+
+;
+;  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+;
+ENAINT: .DEFINE         "andc.b #CCR_ENAINT_ALL, ccr"
+
+
+;
+;  ã¿ã¹ã¯ãã£ã¹ãããã£
+;
+;    ã_dispatch ã¯ãå²è¾¼ã¿å¤ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+
+;    ã§å¼ã³åºããªããã°ãªããªãï¼_exit_and_dispatch ãï¼å²è¾¼ã¿ãã¹ã
+;    ã«ã¦ã³ã¿ = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«
+;    èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1ã§å¼ã³åºããå ´åã«
+;    ãå¯¾å¿ãã¦ããï¼
+
+        .GLOBAL _dispatch
+_dispatch:
+        push.l  er2                     ; er2ã6ãä¿å­
+        push.l  er3
+        push.l  er4
+        push.l  er5
+        push.l  er6
+        mov.l   @_runtsk, er0           ; er0 <- runtsk
+        mov.l   sp, @(TCB_sp, er0)      ; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­
+        mov.l   #dispatch_r, er1        ; å®è¡åéçªå°ãä¿å­
+        mov.l   er1, @(TCB_pc, er0)
+        bra     dispatcher
+
+
+; ã¿ã¹ã¯ã¹ã¤ããã®çµæããããå®è¡ãåéããã
+
+dispatch_r:
+        pop.l   er6                     ; er2ã6ãå¾©å
+
+        pop.l   er5
+        pop.l   er4
+        pop.l   er3
+        pop.l   er2
+                                ; ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã®ãã§ãã¯
+        mov.l   @_runtsk, er0           ; er0âruntsk
+        mov.b   @(TCB_enatex,er0),r1l
+        btst   #TCB_enatex_bit,r1l      ; TCB.enatex=0->CCR.Z=1
+        beq    _dispatch_r_1    ;ãã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ãªãã¸ã£ã³ã
+
+                                ; ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯
+        mov.w   @(TCB_texptn,er0),r1
+        beq     _dispatch_r_1   ; ä¿çä¾å¤è¦å ããªããã°ã¸ã£ã³ã
+
+        jmp     @_call_texrtn   ; ã¿ã¹ã¯ä¾å¤å¦çå¦çã«ã¼ãã³ã®å¼ã³åºã
+                                ;ãã_call_texrtnããããã«ã¯æ»ãã
+                                ;ããdispatch()ã®å¼ã³åºãå
+ã¸æ»ã
+_dispatch_r_1:
+        rts     ;ãdispatch()ã®å¼ã³åºãå
+ã¸ãªã¿ã¼ã³
+
+
+
+        .GLOBAL _exit_and_dispatch
+_exit_and_dispatch:
+        ; å²ãè¾¼ã¿ç¦æ­¢ã§å¼ã°ããã
+        mov.b   #0, r0l         ; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢
+        mov.b   r0l, @_intnest
+
+;
+;  ãã£ã¹ãããã£æ¬ä½
+;
+dispatcher:
+        ; ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+
+        ; ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+        ; ã(1) schedtsk != NULLã®å ´å
+        ; ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+        ; ã(2) schedtsk == NULLã®å ´å
+        ; ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+        ; ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+        ; ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+        ; ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+        ; ãããããããå¿
+è¦ããããï¼
+
+        mov.l   @_schedtsk, er0         ; er0 <- schedtsk
+        mov.l   er0, @_runtsk
+        beq     dispatcher_1            ; schedtskãç¡ããã°ã¸ã£ã³ã
+        mov.l   @(TCB_sp, er0), sp
+        mov.l   @(TCB_pc, er0), er0     ; å®è¡åéçªå°ãå¾©å¸°
+        jmp     @er0
+
+        ;
+        ;ãå®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡
+        ;
+        ;  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+        ;  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+        ;  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+dispatcher_1:
+
+        mov.l   #STACKTOP, sp   ; ã¹ã¿ãã¯ãå²ãè¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ã
+        mov.b   #1, r0l         ;  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãï¼ã«ãã
+        mov.b   r0l, @_intnest
+
+        ;ãr1lï¼å²è¾¼ã¿è¨±å¯æã«ccrã«è¨­å®ããå¤
+        ;ããããå²è¾¼ã¿ãã³ãã©å
+ã§ã¯chg_ipmãä½¿ç¨ã§ããªãã®ã§ã
+        ;ããããtask_intmaskã¯1åèª­ã¿è¾¼ãã§ããã°ãOK
+ .AIFDEF SUPPORT_CHG_IPM
+        mov.b     @_task_intmask, r1l
+ .AELSE ; SUPPORT_CHG_IPM
+        mov.b     #CCR_ENAINT_ALL, r1l
+ .AENDI ; SUPPORT_CHG_IPM
+
+ .AIFDEF EXCLUSIVE_BUS
+        ;ãä¸è¨ã®èª¬æãåç
+§
+        mov.l   H8BRCR, er2
+ .AENDI ; EXCLUSIVE_BUS
+
+        ;  CPUã­ãã¯ãã©ã°ãã¯ãªã¢
+        mov.w   #0, r3
+        mov.w   r3, @_iscpulocked
+
+dispatcher_2_enable_interrupt:
+ .AIFDEF EXCLUSIVE_BUS
+        ;ãsleepãã¦ããéã«ãã¹æ¨©è¦æ±ãç«¶åããªãããã«ãã¹æ¨©ã®
+        ;ãå¤é¨ã¸ã®è§£æ¾ãç¦æ­¢ããã
+        ;ããã¼ãã¦ã§ã¢ã»ããã¥ã¢ã«ã6.4.4 ã½ããã¦ã§ã¢ã»ã¹ã¿ã³ãã¤ã»
+        ;ãã¢ã¼ãã¸ã®é·ç§»ãåç
+§
+        bclr    H8BRCR_BRLE_BIT, @er2
+ .AENDI ; EXCLUSIVE_BUS
+
+        ;ãldcå½ä»¤ç´å¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ã¦ã
+        ;ãæ¬¡ã®å½ä»¤ãå®è¡ãããã
+        ;ãï¼å²è¾¼ã¿ããæ»ã£ã¦ãã¦sleepããã±ã¼ã¹ã¯ãªãï¼
+        ldc.b     r1l, ccr              ; å²ãè¾¼ã¿è¨±å¯
+        sleep                           ; å²è¾¼ã¿å¾
+ã¡
+        DISINT                          ; å²ãè¾¼ã¿ç¦æ­¢
+
+ .AIFDEF EXCLUSIVE_BUS
+        bset    H8BRCR_BRLE_BIT, @er2
+ .AENDI ; EXCLUSIVE_BUS
+
+        mov.w   @_reqflg, r0            ; reqflgã®ãã§ãã¯
+                                        ;  reqflgã¯BOOLå -> intå(16bits)
+        beq     dispatcher_2_enable_interrupt
+        mov.w   #0,r0
+        mov.w   r0, @_reqflg            ; reqflgã®ã¯ãªã¢
+        mov.b   r0l, @_intnest          ; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢
+        bra     dispatcher
+
+
+;
+;  å²è¾¼ã¿ãã³ãã©å
+¥å£å¦ç
+;ããå²è¾¼ã¿è¦å ã«ä¾ãããå
+±éãªé¨å
+;ããï¼vector.srcã®INTHDR_ENTRYããã®ç¶ãï¼
+;
+;ããããä»¥ä¸ã®ç¶æ
+ã§ããã«ãã£ã¦ãã
+;ãããããã»å²è¾¼ã¿ç¦æ­¢
+;ãããããã»er0ãer3éé¿æ¸ã¿
+;ãããããã»er2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+;ãããããã»r3lï¼å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+
+        .GLOBAL _common_interrupt_process
+_common_interrupt_process:
+        mov.b   @_intnest, r0l          ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯
+        bne     _interrupt_from_int     ;ãå¤éå²è¾¼ã¿ã®å¦çã¸
+
+        ;
+        ;ãåæ®µã®å²è¾¼ã¿ã®å ´å
+        ;
+        mov.b   #1, r1l                 ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿âï¼
+        mov.b   r1l, @_intnest
+        mov.l   sp, er0
+        mov.l   #STACKTOP, sp           ;ãã¹ã¿ãã¯åæ¿
+        push.l  er0                     ;ãã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®éé¿
+        ldc.b   r3l, ccr                ;ãå²è¾¼ã¿è¨±å¯
+        jsr     @er2                    ;ãCè¨èªã«ã¼ãã³å¼ã³åºã
+        DISINT                          ;ãå²è¾¼ã¿ç¦æ­¢
+        mov.b   #0, r0l                 ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¯ãªã¢
+        mov.b   r0l, @_intnest
+        mov.l   @sp, sp                 ;ãã¹ã¿ãã¯åæ¿
+        mov.w   @_reqflg, e0            ;ãreqflgã®ãã§ãã¯
+        beq     _ret_to_task_int        ;ãreqflgãFALSEãªãret_to_task_intã«é£ã¶
+        mov.w   #0, e0
+        mov.w   e0, @_reqflg            ;ãreqflgãã¯ãªã¢
+        bra     ret_int                 ;ãåºå£å¦çã¸ã¸ã£ã³ã
+
+        ;
+        ;ãå¤éå²è¾¼ã¿ã®å ´å;
+        ;ããå²è¾¼ã¿ç¦æ­¢ã§ããã«ãã£ã¦ãã
+        ;
+        ;ããå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯ä»¥ä¸ã®çç±ã§
+        ;ããçç¥ãã¦ãã
+        ;ãããã»å²è¾¼ã¿ã2ã¬ãã«ãããªã
+        ;ãããã»CPUä¾å¤ããµãã¼ãããªã
+        ;ãããããexc_sense_context()ã®ãã¨ãèæ
+®ããªãã¦ãè¯ã
+        ;
+_interrupt_from_int:
+        ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯çç¥
+        ldc.b   r3l, ccr                ;ãå²è¾¼ã¿è¨±å¯
+        jsr     @er2                    ;ãCè¨èªã«ã¼ãã³å¼ã³åºã
+        DISINT                          ;ãå²è¾¼ã¿ç¦æ­¢
+        ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã£ã¯ãªã¡ã³ãã¯çç¥
+
+        ;ãæ¬æ¥ã¯ããã§æ»ãå
+ããå²è¾¼ã¿å¾
+ã¡ã®sleepå½ä»¤ãã©ããã®ãã§ã
+        ;ãã¯ãå¿
+è¦ã§ãããï¼ãããå²è¾¼ã¿ãã³ãã©å
+ã§reqflg=TRUEã«ãã¦
+        ;ãããã£ã¹ãããã£ãå¼ã°ããªãï¼ã¿ã¹ã¯ãå®è¡ãããªãï¼
+        ;ãH8ã®å ´åãsleepå½ä»¤ã®ç´åã«ããå²è¾¼ã¿è¨±å¯ã®ldcå½ä»¤ã®å®è¡ç´
+        ;ãå¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ãã¨ãã¦ãå²è¾¼ã¿ã¯å
+        ;ããä»ããªãã§ãsleepå½ä»¤ãå®è¡ãããããã®ãããå²è¾¼ã¿ãã
+        ;ãæ»ã£ãç´å¾ã«sleepå½ä»¤ãå®è¡ãããã±ã¼ã¹ã¯èæ
+®ããªãã¦è¯ãã
+
+        ;
+        ;ããã£ã¹ãããã£ãå¼ã°ãã«ãå²è¾¼ã¿å
+ã«æ»ãå ´å
+        ;
+_ret_to_task_int:
+        pop.l   er3                     ;ãã¬ã¸ã¹ã¿ãå¾©å
+
+        pop.l   er2
+        pop.l   er1
+        pop.l   er0
+        rte                             ;ãå²è¾¼ã¿å
+ã¸ãªã¿ã¼ã³
+
+
+; åºå£å¦çã«ããã¦ã¹ã¿ãã¯ãã¤ã³ã¿ãæãã¦ããçªå°ããCCRã¬ã¸ã¹ã¿ã
+; ç©ã¾ãã¦ããçªå°ã¾ã§ã®ãªãã»ããã®å®ç¾©
+;
+;ã +0:er3
+;ã +4:er2
+;ã +8:er1
+;ã+12:er0
+;  +16:ccr âãããspç¸å¯¾ã¢ã¯ã»ã¹ãã
+
+OFFSET_CCR:             .DEFINE         "16"
+
+;
+;  å²è¾¼ã¿ãã³ãã©åºå£å¦ç
+;
+; æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã
+; ä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+
+ret_int:
+                                        ; enadspã®ãã§ãã¯
+        mov.w   @_enadsp, r0            ;  enadspã¯BOOLå -> intå(16bits)
+        beq     ret_int_1               ;  ãã£ã¹ãããç¦æ­¢ãªãret_int_1ã¸
+
+        mov.l   @_runtsk, er0           ; er0 <- runtsk
+        mov.l   @_schedtsk, er1         ; er1 <- schedtsk
+        cmp.l   er0, er1                ; runtsk ã¨ schedtsk ãæ¯è¼
+        beq     ret_int_1               ; åããªãret_int_1ã¸
+
+        push.l  er4                     ;ãã¬ã¸ã¹ã¿éé¿
+        push.l  er5
+        push.l  er6
+        mov.l   sp, @(TCB_sp, er0)      ; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­
+        mov.l   #ret_int_r, er1         ; å®è¡åéçªå°ãä¿å­
+        mov.l   er1, @(TCB_pc, er0)
+        bra     dispatcher
+
+        ;
+        ;  å²è¾¼ã¿ã®åºå£ã§ãã£ã¹ãããã£ããããã«æ»ã£ã¦ãã
+        ;
+ret_int_r:
+        pop.l   er6                     ;ãã¬ã¸ã¹ã¿å¾©å
+
+        pop.l   er5
+        pop.l   er4
+
+        ;
+        ;ãã¿ã¹ã¯ã¹ã¤ããããªãå ´åã¯ããããåæµãã
+        ;
+ret_int_1:
+                                        ; ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã®ãã§ãã¯
+        mov.l   @_runtsk, er0           ; er0âruntsk
+        mov.b   @(TCB_enatex,er0),r1l
+        btst   #TCB_enatex_bit,r1l      ; TCB.enatex=0->CCR.Z=1
+        beq    ret_int_2                ;ãã¿ã¹ã¯ä¾å¤ç¦æ­¢ç¶æ
+ãªãã¸ã£ã³ã
+
+                                        ; ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯
+        mov.w   @(TCB_texptn,er0),r1
+        beq     ret_int_2               ; ä¿çä¾å¤è¦å ããªããã°ã¸ã£ã³ã
+        jsr     @_call_texrtn           ; ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å
+
+ret_int_2:
+        ;  CPUã­ãã¯ãã©ã°ãã¯ãªã¢
+        mov.w   #0, r0
+        mov.w   r0, @_iscpulocked
+
+ .AIFDEF SUPPORT_CHG_IPM
+        ;  ã¹ã¿ãã¯ã«ç©ãã§ããccrï¼æ»ãå
+ã®å²è¾¼ã¿ãã¹ã¯ï¼ã
+        ;ãtask_intmaskã«ãããï¼ä¸è¨åç
+§ï¼
+        mov.b   @(OFFSET_CCR, sp), r0l
+        mov.b   @_task_intmask, r1l
+        and.b   #CCR_ENAINT_ALL, r0l
+        or.b    r1l, r0l
+        mov.b   r0l, @(OFFSET_CCR, sp)
+ .AENDI ;SUPPORT_CHG_IPM
+                                        ; ã¬ã¸ã¹ã¿ãå¾©å
+
+        pop.l   er3                     ;ã +0:er3
+        pop.l   er2                     ;ã +4:er2
+        pop.l   er1                     ;ã +8:er1
+        pop.l   er0                     ;ã+12:er0
+                                        ;  +16:ccr âãããæ¸ãæãã
+        rte                             ;ãå²è¾¼ã¿å
+ã«ãªã¿ã¼ã³
+
+;
+;  ã¿ã¹ã¯èµ·åå¦ç
+;
+;ããããCPUã­ãã¯ç¶æ
+ã§å¼ã³åºãããã
+;
+;ããããã¿ã¹ã¯å®è¡éå§ç´å¾ã¯ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã«ãªã£ã¦ããã®ã§ã
+;ãããã_activate_rã§ã¯ä¿çä¾å¤è¦å ã®ãã§ãã¯ãããå¿
+è¦ããªãã
+;
+
+        .GLOBAL _activate_r
+_activate_r:
+        ;ãt_unlock_cpu ç¸å½ã®å¦ç
+        mov.w   #0, r0               ;  CPUã­ãã¯ãã©ã°ãã¯ãªã¢
+        mov.w   r0, @_iscpulocked
+ .AIFDEF SUPPORT_CHG_IPM
+        mov.b   @_task_intmask, r0l  ;  å²è¾¼ã¿ãã¹ã¯ãtask_intmaskã«
+        ldc.b   r0l, ccr
+ .AELSE         ; SUPPORT_CHG_IPM
+        ENAINT                       ;  å²è¾¼ã¿è¨±å¯
+ .AENDI ;SUPPORT_CHG_IPM
+
+        mov.l   #_ext_tsk, er0
+        push.l  er0             ;  ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å®
+
+        ;  ããã§å²è¾¼ã¿ãçºçãã¦ã¿ã¹ã¯ã¹ã¤ãããèµ·ãã£ãã¨ãã¦ãã
+        ;  ããã«æ»ããã¨ãã«ã¯ãruntskã®å¤ã¯å
+ã«æ»ã£ã¦ããã
+
+        mov.l   @_runtsk, er2
+        mov.l   @(TCB_tinib, er2), er2
+        mov.l   @(TINIB_task, er2), er1 ;  ã¿ã¹ã¯èµ·åçªå°ãè¨­å®
+
+                                ;  æ¡å¼µæ
+å ±ï¼ã¿ã¹ã¯ã¸ã®å¼æ°ï¼ãè¨­å®
+        mov.l   @(TINIB_exinf, er2), er0
+        jmp     @er1
+
+;
+;  å¾®å°æéå¾
+ã¡
+;    void sil_dly_nse_long(UW dlytim)
+;
+;ãããæ³¨æäºé 
+ï¼
+;ããããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+;ããããUWåã«å¤æ´ãã¦ããã
+;
+        .GLOBAL _sil_dly_nse_long
+_sil_dly_nse_long:
+        sub.l   #SIL_DLY_TIM1, er0
+        ble     sil_dly_nse_2
+                ;  dlytim < SIL_DLY_TIM1 ãªãã«ã¼ãçµäº
+sil_dly_nse_1:
+        sub.l   #SIL_DLY_TIM2, er0
+        bgt     sil_dly_nse_1
+                ;  dlytim > SIL_DLY_TIM2 ãªãã«ã¼ãç¶è¡
+sil_dly_nse_2:
+        rts
+
+
+;**************************************************************
+;  ä»¥ä¸ãå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¯å«ã¾ããªãç¬èªã®é¨å
+;**************************************************************
+
+;
+;  no_reg_exception()
+;  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºãããã
+;  ä¾å¤ãçºçããæç¹ã®PC,ER0ã7ãåºåãã¦ã«ã¼ãã«
+;  ãåæ­¢ããã
+        .GLOBAL _no_reg_exception
+_no_reg_exception:
+
+                        ;  er0ã6ãä¿å­
+        push.l  er6     ;ãã +0:er0
+        push.l  er5     ;ãã +4:er1
+        push.l  er4     ;ãã +8:er2
+        push.l  er3     ;ãã+12:er3
+        push.l  er2     ;ãã+16:er4
+        push.l  er1     ;ãã+20:er5
+        push.l  er0     ;ãã+24:er6
+                        ;ãã+25:crr
+                        ;ãã+26:pc
+                        ;ãã+28ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+
+        mov.l   sp, er0         ;  å¼æ°è¨­å®
+                                ;    SPã¯+28ã§ãçºçæç¹ã®å¤
+        jsr     @_cpu_experr    ;  cpu_experr()ã®å¼ã³åºã
+
+
+        .END
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/cpu_unrename.h	(revision 26)
@@ -0,0 +1,77 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#undef intnest
+#undef iscpulocked
+#undef task_intmask
+#undef int_intmask
+#undef cpu_experr
+#undef cpu_putc
+#undef TIMER_ICU
+
+/*
+ * cpu_support.src
+ */
+#undef activate_r
+#undef no_reg_exception
+
+/*
+ * start.src
+ */
+#undef start
+#undef start_1
+
+/*
+ * hw_serial.c
+ */
+#undef siopcb_table
+#undef SCI_cls_por
+#undef SCI_ierdy_rcv
+#undef SCI_ierdy_snd
+#undef SCI_in_handler
+#undef SCI_initialize
+#undef SCI_out_handler
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#undef _intnest
+#undef _iscpulocked
+#undef _task_intmask
+#undef _int_intmask
+#undef _cpu_experr
+#undef _cpu_putc
+#undef _TIMER_ICU
+
+/*
+ * cpu_support.src
+ */
+#undef _activate_r
+#undef _no_reg_exception
+
+/*
+ * start.src
+ */
+#undef _start
+#undef _start_1
+
+/*
+ * hw_serial.c
+ */
+#undef _siopcb_table
+#undef _SCI_cls_por
+#undef _SCI_ierdy_rcv
+#undef _SCI_ierdy_snd
+#undef _SCI_in_handler
+#undef _SCI_initialize
+#undef _SCI_out_handler
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _H8_H_
+#define _H8_H_
+
+#include <util.h>
+
+/*
+ *  H8 ç¨å®ç¾©
+ */
+
+/* Condition Code Register (CCR) */
+
+#define CCR_I                   BIT7
+#define CCR_UI                  BIT6
+
+/* CCR ã® I,UIããããå²ãè¾¼ã¿ãã¹ã¯ãããã¨ãã¦ä½¿ç¨ããã*/
+
+#define CCR_DISINT_ALL          (CCR_I | CCR_UI)
+#define CCR_ENAINT_ALL          (0xffu & ~CCR_DISINT_ALL)
+
+
+#endif /* _H8_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f.h	(revision 26)
@@ -0,0 +1,640 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8_3048f.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _H8_3048F_H_
+#define _H8_3048F_H_
+
+/*
+ *  H8/3048Fç¨å®ç¾©
+ *     H8/3048F-ONEã¨å
+±ç¨ã§ããã
+ *     ä¸¡è
+ã®éãã¯ããã©ãã·ã¥ROMé¢é£ã®å¶å¾¡ã¬ã¸ã¹ã¿ç¾¤ã®æ±ãã§ãããã
+ *     ãã®ãã¡ã¤ã«ã«ã¯ãã©ãã·ã¥ROMé¢é£ã®å¶å¾¡ã¬ã¸ã¹ã¿ç¾¤ã¯å®ç¾©ãã¦ããªã
+ *     ï¼å®è¡ä¸­ã«ãã©ãã·ã¥ROMãæ¸ãæããä½¿ãæ¹ã¯æ³å®ãã¦ããªãï¼
+ *
+ *     intåã16ãããã®ãããã¢ãã¬ã¹å¤ã«ã¯ãã¹ã¦Lãä»å ãã¦ããã
+ */
+
+/* Interrupt numbers */
+
+#define IRQ_NMI                 7u               /* NMI */
+
+#define IRQ_EXT0                12u              /* IRQ0 */
+#define IRQ_EXT1                13u              /* IRQ1 */
+#define IRQ_EXT2                14u              /* IRQ2 */
+#define IRQ_EXT3                15u              /* IRQ3 */
+#define IRQ_EXT4                16u              /* IRQ4 */
+#define IRQ_EXT5                17u              /* IRQ5 */
+
+#define IRQ_WOVI                20u              /* Watch Doc Timer */
+
+#define IRQ_CMI                 21u              /* Compare Match */
+
+#define IRQ_IMIA0               24u              /* ITU0 IMIA0 */
+#define IRQ_IMIB0               25u              /* ITU0 IMIB0 */
+#define IRQ_OVI0                26u              /* ITU0 OVI0  */
+
+#define IRQ_IMIA1               28u              /* ITU1 IMIA1 */
+#define IRQ_IMIB1               29u              /* ITU1 IMIB1 */
+#define IRQ_OVI1                30u              /* ITU1 OVI1  */
+
+#define IRQ_IMIA2               32u              /* ITU2 IMIA2 */
+#define IRQ_IMIB2               33u              /* ITU2 IMIB2 */
+#define IRQ_OVI2                34u              /* ITU2 OVI2  */
+
+#define IRQ_IMIA3               36u              /* ITU3 IMIA3 */
+#define IRQ_IMIB3               37u              /* ITU3 IMIB3 */
+#define IRQ_OVI3                38u              /* ITU3 OVI3  */
+
+#define IRQ_IMIA4               40u              /* ITU4 IMIA4 */
+#define IRQ_IMIB4               41u              /* ITU4 IMIB4 */
+#define IRQ_OVI4                42u              /* ITU4 OVI4  */
+
+#define IRQ_DEND0A              44u              /* DMAC */
+#define IRQ_DEND0B              45u              /* DMAC */
+#define IRQ_DEND1A              46u              /* DMAC */
+#define IRQ_DEND1B              47u              /* DMAC */
+
+#define IRQ_ERI0                52u              /* SCI0 ERI */
+#define IRQ_RXI0                53u              /* SCI0 RXI */
+#define IRQ_TXI0                54u              /* SCI0 TXI */
+#define IRQ_TEI0                55u              /* SCI0 TEI */
+
+#define IRQ_ERI1                56u              /* SCI1 ERI */
+#define IRQ_RXI1                57u              /* SCI1 RXI */
+#define IRQ_TXI1                58u              /* SCI1 TXI */
+#define IRQ_TEI1                59u              /* SCI1 TEI */
+
+#define IRQ_ADI                 60u              /* A/D */
+
+/* register address */
+
+/* I/O ports */
+
+/* port1: A0  - A7  */
+
+#define H8P1DDR                 0xffffc0ul
+#define H8P1DR                  0xffffc2ul
+
+/* port2: A8  - A15 */
+
+#define H8P2DDR                 0xffffc1ul
+#define H8P2DR                  0xffffc3ul
+#define H8P2PCR                 0xffffd8ul
+
+/* port3: D8  - D15 */
+
+#define H8P3DDR                 0xffffc4ul
+#define H8P3DR                  0xffffc6ul
+
+/* port4: D0  - D7  */
+
+#define H8P4DDR                 0xffffc5ul
+#define H8P4DR                  0xffffc7ul
+#define H8P4PCR                 0xffffdaul
+
+/* port5: A16 - A19 */
+
+#define H8P5DDR                 0xffffc8ul
+#define H8P5DR                  0xffffcaul
+#define H8P5PCR                 0xffffdbul
+
+#define H8P5DDR_A19_BIT         3u
+#define H8P5DDR_A18_BIT         2u
+#define H8P5DDR_A17_BIT         1u
+#define H8P5DDR_A16_BIT         0u
+
+#define H8P5DDR_A19             (1u<<H8P5DDR_A19_BIT)
+#define H8P5DDR_A18             (1u<<H8P5DDR_A18_BIT)
+#define H8P5DDR_A17             (1u<<H8P5DDR_A17_BIT)
+#define H8P5DDR_A16             (1u<<H8P5DDR_A16_BIT)
+
+/* port6 */
+
+#define H8P6DDR                 0xffffc9ul
+#define H8P6DR                  0xffffcbul
+
+#define H8P6DDR_HWR_BIT         6u
+#define H8P6DDR_LWR_BIT         5u
+#define H8P6DDR_RD_BIT          4u
+#define H8P6DDR_AS_BIT          3u
+#define H8P6DDR_BACK_BIT        2u
+#define H8P6DDR_BREQ_BIT        1u
+#define H8P6DDR_WAIT_BIT        0u
+
+#define H8P6DDR_HWR             (1u<<H8P6DDR_HWR_BIT)
+#define H8P6DDR_LWR             (1u<<H8P6DDR_LWR_BIT)
+#define H8P6DDR_RD              (1u<<H8P6DDR_RD_BIT)
+#define H8P6DDR_AS              (1u<<H8P6DDR_AS_BIT)
+#define H8P6DDR_BACK            (1u<<H8P6DDR_BACK_BIT)
+#define H8P6DDR_BREQ            (1u<<H8P6DDR_BREQ_BIT)
+#define H8P6DDR_WAIT            (1u<<H8P6DDR_WAIT_BIT)
+
+/* port7 */
+
+#define H8P7DR                  0xffffceul
+
+/* port8 */
+
+#define H8P8DDR                 0xffffcdul
+#define H8P8DR                  0xffffcful
+
+#define H8P8DDR_CS0_BIT         4u
+#define H8P8DDR_CS1_BIT         3u
+#define H8P8DDR_CS2_BIT         2u
+#define H8P8DDR_CS3_BIT         1u
+#define H8P8DDR_RFSH_BIT        0u
+
+#define H8P8DDR_CS0             (1u<<H8P8DDR_CS0_BIT)
+#define H8P8DDR_CS1             (1u<<H8P8DDR_CS1_BIT)
+#define H8P8DDR_CS2             (1u<<H8P8DDR_CS2_BIT)
+#define H8P8DDR_CS3             (1u<<H8P8DDR_CS3_BIT)
+#define H8P8DDR_RFSH            (1u<<H8P8DDR_RFSH_BIT)
+
+#define H8P8DDR_IRQ3_BIT        3u
+#define H8P8DDR_IRQ2_BIT        2u
+#define H8P8DDR_IRQ1_BIT        1u
+#define H8P8DDR_IRQ0_BIT        0u
+
+#define H8P8DDR_IRQ3            (1u<<H8P8DDR_IRQ3_BIT)
+#define H8P8DDR_IRQ2            (1u<<H8P8DDR_IRQ2_BIT)
+#define H8P8DDR_IRQ1            (1u<<H8P8DDR_IRQ1_BIT)
+#define H8P8DDR_IRQ0            (1u<<H8P8DDR_IRQ0_BIT)
+
+/* port9 (SCI) */
+
+#define H8P9DDR                 0xffffd0ul
+#define H8P9DR                  0xffffd2ul
+
+#define H8P9DDR_SCK1_BIT        5u
+#define H8P9DDR_SCK0_BIT        4u
+#define H8P9DDR_RXD1_BIT        3u
+#define H8P9DDR_RXD0_BIT        2u
+#define H8P9DDR_TXD1_BIT        1u
+#define H8P9DDR_TXD0_BIT        0u
+
+#define H8P9DDR_SCK1            (1u<<H8P9DDR_SCK1_BIT)
+#define H8P9DDR_SCK0            (1u<<H8P9DDR_SCK0_BIT)
+#define H8P9DDR_RXD1            (1u<<H8P9DDR_RXD1_BIT)
+#define H8P9DDR_RXD0            (1u<<H8P9DDR_RXD0_BIT)
+#define H8P9DDR_TXD1            (1u<<H8P9DDR_TXD1_BIT)
+#define H8P9DDR_TXD0            (1u<<H8P9DDR_TXD0_BIT)
+
+#define H8P9DDR_IRQ5_BIT        5u
+#define H8P9DDR_IRQ4_BIT        4u
+
+#define H8P9DDR_IRQ5            (1u<<H8P9DDR_IRQ5_BIT)
+#define H8P9DDR_IRQ4            (1u<<H8P9DDR_IRQ4_BIT)
+
+/* portA (TPC/ITU/DMA) */
+
+#define H8PADDR                 0xffffd1ul
+#define H8PADR                  0xffffd3ul
+
+#define H8PADDR_TP7_BIT         7u
+#define H8PADDR_TP6_BIT         6u
+#define H8PADDR_TP5_BIT         5u
+#define H8PADDR_TP4_BIT         4u
+#define H8PADDR_TP3_BIT         3u
+#define H8PADDR_TP2_BIT         2u
+#define H8PADDR_TP1_BIT         1u
+#define H8PADDR_TP0_BIT         0u
+
+#define H8PADDR_TP7             (1u<<H8PADDR_TP7_BIT)
+#define H8PADDR_TP6             (1u<<H8PADDR_TP6_BIT)
+#define H8PADDR_TP5             (1u<<H8PADDR_TP5_BIT)
+#define H8PADDR_TP4             (1u<<H8PADDR_TP4_BIT)
+#define H8PADDR_TP3             (1u<<H8PADDR_TP3_BIT)
+#define H8PADDR_TP2             (1u<<H8PADDR_TP2_BIT)
+#define H8PADDR_TP1             (1u<<H8PADDR_TP1_BIT)
+#define H8PADDR_TP0             (1u<<H8PADDR_TP0_BIT)
+
+#define H8PADDR_TIOCB2_BIT      7u
+#define H8PADDR_TIOCA2_BIT      6u
+#define H8PADDR_TIOCB1_BIT      5u
+#define H8PADDR_TIOCA1_BIT      4u
+#define H8PADDR_TIOCB0_BIT      3u
+#define H8PADDR_TIOCA0_BIT      2u
+
+#define H8PADDR_TIOCB2          (1u<<H8PADDR_TIOCB2_BIT)
+#define H8PADDR_TIOCA2          (1u<<H8PADDR_TIOCA2_BIT)
+#define H8PADDR_TIOCB1          (1u<<H8PADDR_TIOCB1_BIT)
+#define H8PADDR_TIOCA1          (1u<<H8PADDR_TIOCA1_BIT)
+#define H8PADDR_TIOCB0          (1u<<H8PADDR_TIOCB0_BIT)
+#define H8PADDR_TIOCA0          (1u<<H8PADDR_TIOCA0_BIT)
+
+#define H8PADDR_TEND1_BIT       1u
+#define H8PADDR_TEND0_BIT       0u
+
+#define H8PADDR_TEND1           (1u<<H8PADDR_TEND1_BIT)
+#define H8PADDR_TEND0           (1u<<H8PADDR_TEND0_BIT)
+
+#define H8PADDR_A20_BIT         7u
+#define H8PADDR_A21_BIT         6u
+#define H8PADDR_A22_BIT         5u
+#define H8PADDR_A23_BIT         4u
+
+#define H8PADDR_A20             (1u<<H8PADDR_A20_BIT)
+#define H8PADDR_A21             (1u<<H8PADDR_A21_BIT)
+#define H8PADDR_A22             (1u<<H8PADDR_A22_BIT)
+#define H8PADDR_A23             (1u<<H8PADDR_A23_BIT)
+
+#define H8PADDR_CS4_BIT         6u
+#define H8PADDR_CS5_BIT         5u
+#define H8PADDR_CS6_BIT         4u
+
+#define H8PADDR_CS4             (1u<<H8PADDR_CS4_BIT)
+#define H8PADDR_CS5             (1u<<H8PADDR_CS5_BIT)
+#define H8PADDR_CS6             (1u<<H8PADDR_CS6_BIT)
+
+#define H8PADDR_TCLKD_BIT       3u
+#define H8PADDR_TCLKC_BIT       2u
+#define H8PADDR_TCLKB_BIT       1u
+#define H8PADDR_TCLKA_BIT       0u
+
+#define H8PADDR_TCLKD           (1u<<H8PADDR_TCLKD_BIT)
+#define H8PADDR_TCLKC           (1u<<H8PADDR_TCLKC_BIT)
+#define H8PADDR_TCLKB           (1u<<H8PADDR_TCLKB_BIT)
+#define H8PADDR_TCLKA           (1u<<H8PADDR_TCLKA_BIT)
+
+/* portB (TP/ITU/DMA/AD) */
+
+#define H8PBDDR                 0xffffd4ul
+#define H8PBDR                  0xffffd6ul
+
+#define H8PBDDR_TP15_BIT        7u
+#define H8PBDDR_TP14_BIT        6u
+#define H8PBDDR_TP13_BIT        5u
+#define H8PBDDR_TP12_BIT        4u
+#define H8PBDDR_TP11_BIT        3u
+#define H8PBDDR_TP10_BIT        2u
+#define H8PBDDR_TP9_BIT         1u
+#define H8PBDDR_TP8_BIT         0u
+
+#define H8PBDDR_TP15            (1u<<H8PBDDR_TP15_BIT)
+#define H8PBDDR_TP14            (1u<<H8PBDDR_TP14_BIT)
+#define H8PBDDR_TP13            (1u<<H8PBDDR_TP13_BIT)
+#define H8PBDDR_TP12            (1u<<H8PBDDR_TP12_BIT)
+#define H8PBDDR_TP11            (1u<<H8PBDDR_TP11_BIT)
+#define H8PBDDR_TP10            (1u<<H8PBDDR_TP10_BIT)
+#define H8PBDDR_TP9             (1u<<H8PBDDR_TP9_BIT)
+#define H8PBDDR_TP8             (1u<<H8PBDDR_TP8_BIT)
+
+#define H8PBDDR_DREQ1_BIT       7u
+#define H8PBDDR_DREQ0_BIT       6u
+
+#define H8PBDDR_DREQ1           (1u<<H8PBDDR_DREQ1_BIT)
+#define H8PBDDR_DREQ0           (1u<<H8PBDDR_DREQ0_BIT)
+
+#define H8PBDDR_TOCXB4_BIT      5u
+#define H8PBDDR_TOCXA4_BIT      4u
+#define H8PBDDR_TIOCB4_BIT      3u
+#define H8PBDDR_TIOCA4_BIT      2u
+#define H8PBDDR_TIOCB3_BIT      1u
+#define H8PBDDR_TIOCA3_BIT      0u
+
+#define H8PBDDR_TOCXB4          (1u<<H8PBDDR_TOCXB4_BIT)
+#define H8PBDDR_TOCXA4          (1u<<H8PBDDR_TOCXA4_BIT)
+#define H8PBDDR_TIOCB4          (1u<<H8PBDDR_TIOCB4_BIT)
+#define H8PBDDR_TIOCA4          (1u<<H8PBDDR_TIOCA4_BIT)
+#define H8PBDDR_TIOCB3          (1u<<H8PBDDR_TIOCB3_BIT)
+#define H8PBDDR_TIOCA3          (1u<<H8PBDDR_TIOCA3_BIT)
+
+#define H8PBDDR_ADTRG_BIT       7u
+
+#define H8PBDDR_ADTRG           (1u<<H8PBDDR_ADTRG_BIT)
+
+#define H8PBDDR_CS7_BIT         6u
+
+#define H8PBDDR_CS7             (1u<<H8PBDDR_CS7_BIT)
+
+/* Interrupt Contolller */
+
+#define H8SYSCR                 0xfffff2ul
+#define H8IPRA                  0xfffff8ul
+#define H8IPRB                  0xfffff9ul
+
+/* System Control Register */
+
+#define H8SYSCR_SSBY_BIT        7u
+#define H8SYSCR_STS2_BIT        6u
+#define H8SYSCR_STS1_BIT        5u
+#define H8SYSCR_STS0_BIT        4u
+#define H8SYSCR_UE_BIT          3u
+#define H8SYSCR_NMIEG_BIT       2u
+#define H8SYSCR_RAME_BIT        0u
+
+#define H8SYSCR_SSBY            (1u<<(H8SYSCR_SSBY_BIT))
+#define H8SYSCR_STS2            (1u<<(H8SYSCR_STS2_BIT))
+#define H8SYSCR_STS1            (1u<<(H8SYSCR_STS1_BIT))
+#define H8SYSCR_STS0            (1u<<(H8SYSCR_STS0_BIT))
+#define H8SYSCR_UE              (1u<<(H8SYSCR_UE_BIT))
+#define H8SYSCR_NMIEG           (1u<<(H8SYSCR_NMIEG_BIT))
+#define H8SYSCR_RAME            (1u<<(H8SYSCR_RAME_BIT))
+
+/* Interrupt Priority Register A */
+
+#define H8IPR_IRQ0_BIT          7u       /* IRQ0         */
+#define H8IPR_IRQ1_BIT          6u       /* IRQ1         */
+#define H8IPR_IRQ2_BIT          5u       /* IRQ2         */
+#define H8IPR_IRQ3_BIT          5u       /* IRQ3         */
+#define H8IPR_IRQ4_BIT          4u       /* IRQ4         */
+#define H8IPR_IRQ5_BIT          4u       /* IRQ5         */
+#define H8IPR_WDT_BIT           3u       /* WDT          */
+#define H8IPR_CMI_BIT           3u       /* CMI          */
+#define H8IPR_ITU0_BIT          2u       /* ITU0         */
+#define H8IPR_ITU1_BIT          1u       /* ITU1         */
+#define H8IPR_ITU2_BIT          0u       /* ITU2         */
+
+#define H8IPR_IRQ0              (1u<<(H8IPR_IRQ0_BIT))
+#define H8IPR_IRQ1              (1u<<(H8IPR_IRQ1_BIT))
+#define H8IPR_IRQ2              (1u<<(H8IPR_IRQ2_BIT))
+#define H8IPR_IRQ3              (1u<<(H8IPR_IRQ3_BIT))
+#define H8IPR_IRQ4              (1u<<(H8IPR_IRQ4_BIT))
+#define H8IPR_IRQ5              (1u<<(H8IPR_IRQ5_BIT))
+#define H8IPR_WDT               (1u<<(H8IPR_WDT_BIT))
+#define H8IPR_CMI               (1u<<(H8IPR_CMI_BIT))
+#define H8IPR_ITU0              (1u<<(H8IPR_ITU0_BIT))
+#define H8IPR_ITU1              (1u<<(H8IPR_ITU1_BIT))
+#define H8IPR_ITU2              (1u<<(H8IPR_ITU2_BIT))
+
+/* Interrupt Priority Register B */
+
+#define H8IPR_ITU3_BIT          7u       /* ITU3         */
+#define H8IPR_ITU4_BIT          6u       /* ITU4         */
+#define H8IPR_DMAC_BIT          5u       /* DMAC (CH0,1) */
+#define H8IPR_SCI0_BIT          3u       /* SCI0         */
+#define H8IPR_SCI1_BIT          2u       /* SCI1         */
+#define H8IPR_AD_BIT            1u       /* A/D          */
+
+#define H8IPR_ITU3              (1u<<(H8IPR_ITU3_BIT))
+#define H8IPR_ITU4              (1u<<(H8IPR_ITU4_BIT))
+#define H8IPR_DMAC              (1u<<(H8IPR_DMAC_BIT))
+#define H8IPR_SCI0              (1u<<(H8IPR_SCI0_BIT))
+#define H8IPR_SCI1              (1u<<(H8IPR_SCI1_BIT))
+#define H8IPR_AD                (1u<<(H8IPR_AD_BIT))
+
+/*      Bus Release Control Regisger    */
+
+#define H8BRCR                  0xfffff3ul
+
+/*      Control bit in BRCR             */
+
+#define H8BRCR_A23E_BIT         7u
+#define H8BRCR_A22E_BIT         6u
+#define H8BRCR_A21E_BIT         5u
+#define H8BRCR_BRLE_BIT         1u
+
+#define H8BRCR_A23E             (1u<<(H8BRCR_A23E_BIT))
+#define H8BRCR_A22E             (1u<<(H8BRCR_A22E_BIT))
+#define H8BRCR_A21E             (1u<<(H8BRCR_A21E_BIT))
+#define H8BRCR_BRLE             (1u<<(H8BRCR_BRLE_BIT))
+
+/* Integrated Timer Unit (ITU) */
+
+#define H8ITU_TSTR              0xffff60ul
+#define H8ITU_TSNC              0xffff61ul
+#define H8ITU_TMDR              0xffff62ul
+#define H8ITU_TFCR              0xffff63ul
+#define H8ITU_TOER              0xffff90ul
+#define H8ITU_TOCR              0xffff91ul
+
+#define H8ITU0                  0xffff64ul       /* base address */
+#define H8ITU1                  0xffff6eul
+#define H8ITU2                  0xffff78ul
+#define H8ITU3                  0xffff82ul
+#define H8ITU4                  0xffff92ul
+
+/* Integrated Timer Unit (ITU) */
+
+/* address offset */
+
+#define H8TCR                   0ul
+#define H8TIOR                  1ul
+#define H8TIER                  2ul
+#define H8TSR                   3ul
+#define H8TCNT                  4ul
+#define H8TCNTH                 4ul
+#define H8TCNTL                 5ul
+#define H8GRA                   6ul
+#define H8GRAH                  6ul
+#define H8GRAL                  7ul
+#define H8GRB                   8ul
+#define H8GRBH                  8ul
+#define H8GRBL                  9ul
+#define H8BRA                   10ul
+#define H8BRAH                  10ul
+#define H8BRAL                  11ul
+#define H8BRB                   12ul
+#define H8BRBH                  12ul
+
+/* ITU Timer Start Register (TSTR) */
+
+#define H8TSTR_STR4_BIT         4u
+#define H8TSTR_STR3_BIT         3u
+#define H8TSTR_STR2_BIT         2u
+#define H8TSTR_STR1_BIT         1u
+#define H8TSTR_STR0_BIT         0u
+
+#define H8TSTR_STR4             (1u<<H8TSTR_STR4_BIT)
+#define H8TSTR_STR3             (1u<<H8TSTR_STR3_BIT)
+#define H8TSTR_STR2             (1u<<H8TSTR_STR2_BIT)
+#define H8TSTR_STR1             (1u<<H8TSTR_STR1_BIT)
+#define H8TSTR_STR0             (1u<<H8TSTR_STR0_BIT)
+
+/* ITU Timer Control Register (TCR) */
+
+#define H8TCR_CCLR1_BIT         6u
+#define H8TCR_CCLR0_BIT         5u
+#define H8TCR_CKEG1_BIT         4u
+#define H8TCR_CKEG0_BIT         3u
+#define H8TCR_TPSC2_BIT         2u
+#define H8TCR_TPSC1_BIT         1u
+#define H8TCR_TPSC0_BIT         0u
+
+#define H8TCR_CCLR1             (1u<<H8TCR_CCLR1_BIT)
+#define H8TCR_CCLR0             (1u<<H8TCR_CCLR0_BIT)
+#define H8TCR_CKEG1             (1u<<H8TCR_CKEG1_BIT)
+#define H8TCR_CKEG0             (1u<<H8TCR_CKEG0_BIT)
+#define H8TCR_TPSC2             (1u<<H8TCR_TPSC2_BIT)
+#define H8TCR_TPSC1             (1u<<H8TCR_TPSC1_BIT)
+#define H8TCR_TPSC0             (1u<<H8TCR_TPSC0_BIT)
+
+/* ITU Timer Status Register (TSR) */
+
+#define H8TSR_OVIF_BIT          2u
+#define H8TSR_IMIFB_BIT         1u
+#define H8TSR_IMIFA_BIT         0u
+
+#define H8TSR_OVIF              (1u<<H8TSR_OVIF_BIT)
+#define H8TSR_IMIFB             (1u<<H8TSR_IMIFB_BIT)
+#define H8TSR_IMIFA             (1u<<H8TSR_IMIFA_BIT)
+
+/* ITU Timer Intrrupt Enable Register (TIER) */
+
+#define H8TIER_OVIE_BIT         2u
+#define H8TIER_IMIEB_BIT        1u
+#define H8TIER_IMIEA_BIT        0u
+
+#define H8TIER_OVIE             (1u<<H8TIER_OVIE_BIT)
+#define H8TIER_IMIEB            (1u<<H8TIER_IMIEB_BIT)
+#define H8TIER_IMIEA            (1u<<H8TIER_IMIEA_BIT)
+
+/* ITU Timer I/O Control Register (TIOR) */
+
+#define H8TIOR_IOB2_BIT         6u
+#define H8TIOR_IOB1_BIT         5u
+#define H8TIOR_IOB0_BIT         4u
+#define H8TIOR_IOA2_BIT         2u
+#define H8TIOR_IOA1_BIT         1u
+#define H8TIOR_IOA0_BIT         0u
+
+#define H8TIOR_IOB2             (1u<<H8TIOR_IOB2_BIT)
+#define H8TIOR_IOB1             (1u<<H8TIOR_IOB1_BIT)
+#define H8TIOR_IOB0             (1u<<H8TIOR_IOB0_BIT)
+#define H8TIOR_IOA2             (1u<<H8TIOR_IOA2_BIT)
+#define H8TIOR_IOA1             (1u<<H8TIOR_IOA1_BIT)
+#define H8TIOR_IOA0             (1u<<H8TIOR_IOA0_BIT)
+
+/* Serial Communication Interface (SCI) */
+
+#define H8SCI0                  0xffffb0ul       /* base address */
+#define H8SCI1                  0xffffb8ul
+
+/* address offset */
+
+#define H8SMR                   0ul
+#define H8BRR                   1ul
+#define H8SCR                   2ul
+#define H8TDR                   3ul
+#define H8SSR                   4ul
+#define H8RDR                   5ul
+
+/* SCI Serial Mode Register (SMR) */
+
+#define H8SMR_CA_BIT            7u
+#define H8SMR_CHR_BIT           6u
+#define H8SMR_PE_BIT            5u
+#define H8SMR_OE_BIT            4u
+#define H8SMR_STOP_BIT          3u
+#define H8SMR_MP_BIT            2u
+#define H8SMR_CKS1_BIT          1u
+#define H8SMR_CKS0_BIT          0u
+
+#define H8SMR_CA                (1u<<H8SMR_CA_BIT)
+#define H8SMR_CHR               (1u<<H8SMR_CHR_BIT)
+#define H8SMR_PE                (1u<<H8SMR_PE_BIT)
+#define H8SMR_OE                (1u<<H8SMR_OE_BIT)
+#define H8SMR_STOP              (1u<<H8SMR_STOP_BIT)
+#define H8SMR_MP                (1u<<H8SMR_MP_BIT)
+#define H8SMR_CKS1              (1u<<H8SMR_CKS1_BIT)
+#define H8SMR_CKS0              (1u<<H8SMR_CKS0_BIT)
+#define H8SMR_CKS_MASK          (H8SMR_CKS1|H8SMR_CKS0)
+
+/* SCI Serial Control Register (SCR) */
+
+#define H8SCR_TIE_BIT           7u
+#define H8SCR_RIE_BIT           6u
+#define H8SCR_TE_BIT            5u
+#define H8SCR_RE_BIT            4u
+#define H8SCR_MPIE_BIT          3u
+#define H8SCR_TEIE_BIT          2u
+#define H8SCR_CKE1_BIT          1u
+#define H8SCR_CKE0_BIT          0u
+
+#define H8SCR_TIE               (1u<<H8SCR_TIE_BIT)
+#define H8SCR_RIE               (1u<<H8SCR_RIE_BIT)
+#define H8SCR_TE                (1u<<H8SCR_TE_BIT)
+#define H8SCR_RE                (1u<<H8SCR_RE_BIT)
+#define H8SCR_MPIE              (1u<<H8SCR_MPIE_BIT)
+#define H8SCR_TEIE              (1u<<H8SCR_TEIE_BIT)
+#define H8SCR_CKE1              (1u<<H8SCR_CKE1_BIT)
+#define H8SCR_CKE0              (1u<<H8SCR_CKE0_BIT)
+#define H8SCR_CKE_MASK          (H8SCR_CKE1|H8SCR_CKE0)
+#define H8SCR_IE                (H8SCR_TIE|H8SCR_RIE|H8SCR_MPIE|H8SCR_TEIE)
+
+/* SCI Serial Status Register (SSR) */
+
+#define H8SSR_TDRE_BIT          7u
+#define H8SSR_RDRF_BIT          6u
+#define H8SSR_ORER_BIT          5u
+#define H8SSR_FER_BIT           4u
+#define H8SSR_PER_BIT           3u
+#define H8SSR_TEND_BIT          2u
+#define H8SSR_MPB_BIT           1u
+#define H8SSR_MPBT_BIT          0u
+
+#define H8SSR_TDRE              (1u<<H8SSR_TDRE_BIT)
+#define H8SSR_RDRF              (1u<<H8SSR_RDRF_BIT)
+#define H8SSR_ORER              (1u<<H8SSR_ORER_BIT)
+#define H8SSR_FER               (1u<<H8SSR_FER_BIT)
+#define H8SSR_PER               (1u<<H8SSR_PER_BIT)
+#define H8SSR_TEND              (1u<<H8SSR_TEND_BIT)
+#define H8SSR_MPB               (1u<<H8SSR_MPB_BIT)
+#define H8SSR_MPBT              (1u<<H8SSR_MPBT_BIT)
+
+/*
+ *  å
+èµã¡ã¢ãªã®å®ç¾©
+ */
+
+#define H8IN_ROM_BASE           0x000000ul
+#define H8IN_ROM_SIZE           0x020000ul
+#define H8IN_RAM_BASE           0xffef10ul
+#define H8IN_RAM_SIZE           0x001000ul
+
+#endif /* _H8_3048F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f_asm.inc	(revision 26)
@@ -0,0 +1,121 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: h8_3048f_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+;  H8/3048Fç¨å®ç¾©ï¼ã¢ã»ã³ãã©ç¨ï¼
+
+ .AIFDEF _H8_3048F_ASM_H_
+ .AELSE
+
+_H8_3048F_ASM_H_: .DEFINE ""
+
+        .INCLUDE "util_asm.inc"
+
+;
+;  å
+é¨ã¬ã¸ã¹ã¿ã®å®ç¾©
+;
+
+;
+;  ã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+;
+H8MDCR:                 .DEFINE         "H'fffff1"
+
+;
+;  I/Oãã¼ã
+;
+
+;
+;  ãã¼ã1
+;
+H8P1DDR:                .DEFINE         "H'ffffc0"
+
+;
+;  ãã¼ã2
+;
+H8P2DDR:                .DEFINE         "H'ffffc1"
+
+;
+;  ãã¼ã5
+;
+H8P5DDR:                .DEFINE         "H'ffffc8"
+
+;
+;  ãã¼ã8
+;
+H8P8DDR:                .DEFINE         "H'ffffcd"
+H8P8DDR_CS1:            .DEFINE         "BIT3"
+
+
+;
+;  ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©
+;
+
+;ããã¹å¹
+ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+H8ABWCR:                .DEFINE         "H'ffffec"
+H8ABWCR_ABW1_BIT:       .DEFINE         "1"
+
+;ãã¢ã¯ã»ã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿
+H8ASTCR:                .DEFINE         "H'ffffed"
+H8ASTCR_AST1_BIT:       .DEFINE         "1"
+
+;ããã¹ã»ãªãªã¼ã¹ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿
+H8BRCR:                 .DEFINE         "H'fffff3"
+H8BRCR_BRLE_BIT:        .DEFINE         "0"
+H8BRCR_A21E_BIT:        .DEFINE         "5"
+
+ .AENDI ; _H8_3048F_ASM_H_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.c	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Katsuhiro Amano
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8_sil.c,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ * ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼è¿½å é¨åï¼
+ *ããI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ *ããH8ã®DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããããã®ã¾ã¾ã§ã¯ææã®ãããã ãã
+ *ããå¤æ´ãããã¨ãã§ããªããï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ *ãããã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®
+ *ããç¾å¨å¤ãä¿æããæ¹æ³ãæ¡ã£ã¦ããã
+ *ãã
+ *ãããã¼ã7ã¯å
+¥åå°ç¨ã®ãããçç¥ãã¦ããã
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <h8_sil.h>
+
+/*  ã¡ã¢ãªä¸ã®ãã³ãã©ãªé å  */
+static UB ddr_tmp[] = {
+	/* 1         2         3         4         5      */
+	H8P1DDR0, H8P2DDR0, H8P3DDR0, H8P4DDR0, H8P5DDR0, 
+	/* 6         8         9         A         B      */
+	H8P6DDR0, H8P8DDR0, H8P9DDR0, H8PADDR0, H8PBDDR0
+};
+
+/*  åãã¼ãã®ã¢ãã¬ã¹  */
+static const VP ddr_adr[] = {
+	/*    1            2            3            4            5    */
+	(VP)H8P1DDR, (VP)H8P2DDR, (VP)H8P3DDR, (VP)H8P4DDR, (VP)H8P5DDR, 
+	/*    6            8            9            A            B    */
+	(VP)H8P6DDR, (VP)H8P8DDR, (VP)H8P9DDR, (VP)H8PADDR, (VP)H8PBDDR
+};
+
+
+/*
+ *      DDRã®èª­ã¿åºã
+ */
+UB sil_reb_ddr(IO_PORT port)
+{
+	assert((IO_PORT1 <= port) && (port <= IO_PORTB));
+	return ddr_tmp[port];
+}
+
+/*
+ *      DDRã®æ¸ãè¾¼ã¿
+ */
+void sil_wrb_ddr(IO_PORT port, UB data)
+{
+	assert((IO_PORT1 <= port) && (port <= IO_PORTB));
+	ddr_tmp[port] = data;
+	sil_wrb_mem(ddr_adr[port], (VB)data);
+}
+
+/*
+ *      DDRã®ANDæ¼ç®
+ */
+void sil_anb_ddr(IO_PORT port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+	
+	ddr &= data;
+	sil_wrb_ddr(port, ddr);
+}
+
+/*
+ *      DDRã®ORæ¼ç®
+ */
+void sil_orb_ddr(IO_PORT port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+
+	ddr |= data;
+	sil_wrb_ddr(port, ddr);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_sil.h	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8_sil.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *  H8åãSILã®æ¡å¼µï¼ãããæ¼ç®ï¼
+ *
+ *  h8.hã«è¨è¿°ããã®ãã¨ã¬ã¬ã³ãã ããsil.hã¨ã®ã¤ã³ã¯ã«ã¼ãã®
+ *  é çªã®é¢ä¿ã§ç¬ç«ãããã¡ã¤ã«ã¨ãã
+ *  t_config.hãç´æ¥ã¤ã³ã¯ã«ã¼ãããã¨ãã«sil.hããå
+ã«ãã®
+ *  ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããããå¯è½æ§ãããã
+ *
+ *  ã³ã³ãã¤ã©ã®åãã§ãã¯æ©è½ãæå¹ã«ããããããã¤ã³ã¿åã¯
+ *  UB *ãUH *ãUW *ãç¨ãã¦ããã
+ *
+ */
+
+#ifndef _SIL_H8_H_
+#define _SIL_H8_H_
+
+#ifndef _MACRO_ONLY
+
+#include <sil.h>
+#include <cpu_insn.h>	/*  bitset(), bitclr()  */
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anb_reg(UB *mem, UB data)
+{
+        UB reg = sil_reb_mem((VP)mem);
+        reg &= data;
+        sil_wrb_mem((VP)mem, (VB)reg);
+}
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orb_reg(UB *mem, UB data)
+{
+        UB reg = sil_reb_mem((VP)mem);
+        reg |= data;
+        sil_wrb_mem((VP)mem, (VB)reg);
+}
+
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anh_reg(UH *mem, UH data)
+{
+        UH reg = sil_reh_mem((VP)mem);
+        reg &= data;
+        sil_wrh_mem((VP)mem, (VH)reg);
+}
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orh_reg(UH *mem, UH data)
+{
+        UH reg = sil_reh_mem((VP)mem);
+        reg |= data;
+        sil_wrh_mem((VP)mem, (VH)reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anw_reg(UW *mem, UW data)
+{
+        UW reg = sil_rew_mem((VP)mem);
+        reg &= data;
+        sil_wrw_mem((VP)mem, (VW)reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orw_reg(UW *mem, UW data)
+{
+        UW reg = sil_rew_mem((VP)mem);
+        reg |= data;
+        sil_wrw_mem((VP)mem, (VW)reg);
+}
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«ã®è¨­å®
+ *
+ *  ãirc  ï¼IRCãã¼ã¿ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *  ããUB *iprï¼è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå°
+ *  ããUB bit ï¼IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå·
+ *  ããIPM ipmï¼è¨­å®ããå²è¾¼ã¿ã¬ãã«
+ *  ãããããããIPM_LEVEL0,IPM_LEVEL1ã®ãããã
+ */
+Inline void
+define_int_plevel(const IRC *irc)
+{
+        UB *ipr = irc->ipr;
+        UB bit = irc->bit;
+        IPM ipm = irc->ipm;
+
+        switch(ipm) {
+                case IPM_LEVEL0:        /*  ãã©ã¤ãªãªãã£ã¬ãã«0ã«è¨­å®  */
+                        bitclr(ipr, bit);
+                        break;
+                case IPM_LEVEL1:        /*  ãã©ã¤ãªãªãã£ã¬ãã«1ã«è¨­å®  */
+                        bitset(ipr, bit);
+                        break;
+                default:
+                        assert(FALSE);
+        }
+}
+
+/*
+ *ãI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ *ã
+ *ããH8ã®DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããããã®ã¾ã¾ã§ã¯ææã®ãããã ãã
+ *ããå¤æ´ãããã¨ãã§ããªããï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ *ãããã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®
+ *ããç¾å¨å¤ãä¿æããæ¹æ³ãæ¡ã£ã¦ããã
+ */
+/*
+ *ãDDRã®çªå·å®ç¾©
+ *ã
+ *ããé
+åã®ã¤ã³ããã¯ã¹ã«ç¨ããã
+ *ãããã¼ã7ã¯å
+¥åå°ç¨ã®ãããçç¥ãã¦ããã
+ */
+typedef enum {
+	IO_PORT1,
+	IO_PORT2,
+	IO_PORT3,
+	IO_PORT4,
+	IO_PORT5,
+	IO_PORT6,
+	IO_PORT8,
+	IO_PORT9,
+	IO_PORTA,
+	IO_PORTB
+} IO_PORT;
+
+extern UB sil_reb_ddr(IO_PORT port) throw();
+extern void sil_wrb_ddr(IO_PORT port, UB data) throw();
+extern void sil_anb_ddr(IO_PORT port, UB data) throw();
+extern void sil_orb_ddr(IO_PORT port, UB data) throw();
+
+#endif /* _MACRO_ONLY */
+#endif  /*  _SIL_H8_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/intmask.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/intmask.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/intmask.inc	(revision 26)
@@ -0,0 +1,88 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: intmask.inc,v 1.4 2007/03/23 07:58:33 honda Exp $
+;
+
+;
+;  å²è¾¼ã¿ãã¹ã¯ã®å®ç¾©
+;
+;ãããã®ãã¡ã¤ã«ã¯vecter.srcããã¤ã³ã¯ã«ã¼ããããå²è¾¼ã¿ã®å
+¥å£å¦çã®
+;ããçæã®ç¨ããããã
+;ããå²è¾¼ã¿ãã³ãã©ãè¿½å ããéã¯ããã®ãã¡ã¤ã«ãç·¨éããã
+;
+;ããå²è¾¼ã¿ãã³ãã©ï¼Cè¨èªã«ã¼ãã³ï¼å¼ã³åºãç´åã«è¨­å®ããå²è¾¼ã¿è¨±å¯æ
+;ããã®å²è¾¼ã¿ãã¹ã¯ã®å¤ãå®ç¾©ããã
+;ããIPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨ã
+;ããCè¨èªã«ã¼ãã³åxxxxã«å¯¾ãã¦ãå²è¾¼ã¿ãã¹ã¯åã¯xxxx_intmaskã¨ããã
+;
+;ããæ³¨æ
+;ãããåãä»ããå²è¾¼ã¿ã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ãããããIPMã«ã¯
+;ãããï¼ã¤ä¸ã®ã¬ãã«ãè¨­å®ããã
+;
+
+; ã¿ã¤ããã³ãã©
+timer_handler_intmask:         .DEFINE         "IPM_LEVEL2"
+
+; ã·ãªã¢ã«ãã³ãã©
+SCI_MASK:                      .DEFINE         "IPM_LEVEL1"
+; ã·ãªã¢ã« 1chç®
+sio_err_handler_intmask:       .DEFINE         "SCI_MASK"
+sio_in_handler_intmask:        .DEFINE         "SCI_MASK"
+sio_out_handler_intmask:       .DEFINE         "SCI_MASK"
+; ã·ãªã¢ã« 2chç®
+sio_err2_handler_intmask:      .DEFINE         "SCI_MASK"
+sio_in2_handler_intmask:       .DEFINE         "SCI_MASK"
+sio_out2_handler_intmask:      .DEFINE         "SCI_MASK"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/ram.sub
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/ram.sub	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/ram.sub	(revision 26)
@@ -0,0 +1,8 @@
+start=V,P,C,D/200000, R,B/240000
+cpu=ROM=200000-23ffff,RAM=240000-27ffff
+rom=D=R
+define=_software_term_hook=0
+form=absolute
+debug
+nologo
+exit
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/rom.sub
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/rom.sub	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/rom.sub	(revision 26)
@@ -0,0 +1,8 @@
+start=V,P,C,D/0, R,B/200000
+cpu=ROM=0-01ffff,RAM=200000-27ffff
+rom=D=R
+define=_software_term_hook=0
+form=absolute
+debug
+nologo
+exit
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.c	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sys_config.c,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *      ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼åæé»å­ HSB8F3048BF25ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1) {}
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+void     
+sys_putc(char c) {
+	cpu_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config.h	(revision 26)
@@ -0,0 +1,252 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sys_config.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼åæé»å­ HSB8F3048BF25ç¨ï¼
+ *ãããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+ */
+#include <user_config.h>
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#include <h8_3048f.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+
+#define TARGET_NAME     "Hokuto Electronic H8/3048F-ONE STARTER KIT"
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void     sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void     sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void     sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SOFTWARE_TERM_HOOKãã¯ã­ï¼atexitã®å¦ç
+ *  ãå¦çé¢æ°ã®å¤é¨å®ç¾©ãããã°ããã®é¢æ°åãSOFTWARE_TERM_HOOK
+ *ãããã¯ã­ã¨ãã¦å®ç¾©ããã
+ */
+/*  ä»åã¯å®ç¾©ãªã  */
+
+
+/*
+ *  (1) ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ *  (2) ã¿ã¤ãã¼ã®è¨­å®
+ *  (3) å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*
+ *  SCI å
+±éå®æ°ããã¯ã­
+ */
+
+        /* SCI ãã¯ã­ã¼ãºããåã®å¾
+ã¡æéã®è¨ç®ã«ä½¿ç¨ããã*/
+#define H8_MIN_BAUD_RATE        9600ul
+
+/*
+ *  SYSTEM ç¨ SCI ã®è¨­å®å¤
+ */
+                                /* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·     */
+#define LOGTASK_PORTID          SYSTEM_PORTID   /*  user_config.h  */
+
+/*  è¨­å®ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹  */
+#define SCI_PORT1_BASE          H8SCI0
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+#define SCI_PORT1_IPR          H8IPRB
+#define SCI_PORT1_IPR_BIT      H8IPR_SCI0_BIT
+
+#define SCI_PORT1_SMR          0u
+                        /* éåä¿¡ãã©ã¼ããã                   */
+                        /* èª¿æ­©åæå¼                           */
+                        /* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã          */
+                        /* ããªãã£ãªã                         */
+                        /* ã¹ããããããã¬ã³ã°ã¹ï¼1            */
+                        /* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1         */
+
+#define INHNO_SERIAL_IN         IRQ_RXI0
+#define INHNO_SERIAL_OUT        IRQ_TXI0
+#define INHNO_SERIAL_ERR        IRQ_ERI0
+
+
+#if TNUM_PORT == 2
+
+#define SCI_PORT2_BASE          H8SCI1
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+#define SCI_PORT2_IPR          H8IPRB
+#define SCI_PORT2_IPR_BIT      H8IPR_SCI1_BIT
+
+#define SCI_PORT2_SMR          0u
+                        /* éåä¿¡ãã©ã¼ããã                   */
+                        /* èª¿æ­©åæå¼                           */
+                        /* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã          */
+                        /* ããªãã£ãªã                         */
+                        /* ã¹ããããããã¬ã³ã°ã¹ï¼1            */
+                        /* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1         */
+
+#define INHNO_SERIAL2_IN        IRQ_RXI1
+#define INHNO_SERIAL2_OUT       IRQ_TXI1
+#define INHNO_SERIAL2_ERR       IRQ_ERI1
+
+#endif  /* of #if TNUM_PORT == 2u */
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+#define SYSTEM_TIMER            H8ITU0
+
+#define SYSTEM_TIMER_CNT        (SYSTEM_TIMER + H8TCNT)
+#define SYSTEM_TIMER_TCR        (SYSTEM_TIMER + H8TCR)
+#define SYSTEM_TIMER_TIOR       (SYSTEM_TIMER + H8TIOR)
+#define SYSTEM_TIMER_IER        (SYSTEM_TIMER + H8TIER)
+#define SYSTEM_TIMER_IFR        (SYSTEM_TIMER + H8TSR)
+#define SYSTEM_TIMER_TSTR       H8ITU_TSTR
+#define SYSTEM_TIMER_GR         (SYSTEM_TIMER + H8GRA)
+
+#define SYSTEM_TIMER_STR        H8TSTR_STR0
+#define SYSTEM_TIMER_STR_BIT    H8TSTR_STR0_BIT
+#define SYSTEM_TIMER_IE         H8TIER_IMIEA            /* interrupt mask */
+#define SYSTEM_TIMER_IE_BIT     H8TIER_IMIEA_BIT
+#define SYSTEM_TIMER_IF         H8TSR_IMIFA             /* match flag */
+#define SYSTEM_TIMER_IF_BIT     H8TSR_IMIFA_BIT
+
+#define INHNO_TIMER             IRQ_IMIA0
+
+#define SYSTEM_TIMER_TCR_BIT    (H8TCR_CCLR0 | H8TCR_TPSC1 | H8TCR_TPSC0)
+#define SYSTEM_TIMER_TIOR_BIT   (0u)
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+#define SYSTEM_TIMER_IPR                H8IPRA
+#define SYSTEM_TIMER_IP_BIT             H8IPR_ITU0_BIT
+
+/*
+ *  I/Oãã¼ã DDRã®åæå¤
+ *      h8_sil.cã®DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã§ä½¿ç¨ããã
+ *      ãã¼ãï¼ã¯å
+¥åå°ç¨ã®ãããçç¥ãã¦ããã
+ */
+#define H8P1DDR0        0xffu	/*  ã¢ãã¬ã¹ã»ãã¹  */
+#define H8P2DDR0        0xffu	/*  ã¢ãã¬ã¹ã»ãã¹  */
+#define H8P3DDR0        0u	    /*  ãã¼ã¿ã»ãã¹ã  */
+#define H8P4DDR0        0u      /*  ãã¼ã¿ã»ãã¹ã  */
+#define H8P5DDR0        0x0fu	/*  ã¢ãã¬ã¹ã»ãã¹  */
+#define H8P6DDR0        0u
+#define H8P8DDR0        H8P8DDR_CS1     /*  P83ãCS1ã«è¨­å®  */
+#define H8P9DDR0        0u
+#define H8PADDR0        0u
+#define H8PBDDR0        0u
+
+/*
+ *  SYSCRã®åæå¤
+ *      $SYSãã£ã¬ã¯ããªã§SYSCR_SYSã¨ãã¦å®ç¾©ããå
+å®¹
+ *      ãããã6-4 STSï¼ã¹ã¿ã³ãã¤ã»ã¿ã¤ãã»ã»ã¬ã¯ã
+ *      ãããã2 NMIEGï¼NMIã¨ãã¸
+ */
+#define SYSCR_SYS	0u
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_config_asm.inc	(revision 26)
@@ -0,0 +1,83 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: sys_config_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+ .AIFDEF _SYS_CONFIG_ASM_H_
+ .AELSE
+
+_SYS_CONFIG_ASM_H_: .DEFINE ""
+
+        .INCLUDE "user_config_asm.inc"
+        .INCLUDE "..\h8_3048f_asm.inc"
+           ; -Iãªãã·ã§ã³ãæå®ãã¦ããªããã¤ã³ã¯ã«ã¼ãã§ããªãã®ã§
+           ; ä»æ¹ãªããã½ã¼ã¹ã³ã¼ãä¸­ã«ç¸å¯¾ãã¹ãåãè¾¼ãã§ããã
+
+;
+; sil_dly_nse_longsã§ç¨ããå®æ°
+; æªå®æ
+SIL_DLY_TIM1:           .DEFINE         "4390"
+SIL_DLY_TIM2:           .DEFINE          "430"
+
+; ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å
+é ­ã¢ãã¬ã¹
+HARDWARE_INIT_HOOK:     .DEFINE         "_hardware_init_hook"
+
+; ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªã®ï¼åæåé¢æ°ã®å
+é ­ã¢ãã¬ã¹
+; ãä½¿ç¨ããå ´åã¯ã³ã¡ã³ããå¤ã
+; SOFTWARE_INIT_HOOK:   .DEFINE         "_software_init_hook"
+
+ .AENDI ;  _SYS_CONFIG_ASM_H_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_defs.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sys_defs.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼åæé»å­ HSB8F3048BF25ç¨ï¼
+ *ãããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  H8ã®ãã­ã»ããµã¿ã¤ã
+ */
+
+#define H8_3048F
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+#sys_config.h
+cpu_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_rename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.h
+ */
+#define cpu_putc                _kernel_cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#define _cpu_putc               __kernel_cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_support.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_support.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_support.src	(revision 26)
@@ -0,0 +1,139 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: sys_support.src,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+;       ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+;       ï¼åæé»å­ HSB8F3048BF25ç¨ï¼
+
+        .CPU 300HA
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config_asm.inc"
+        .INCLUDE "cpu_config_asm.inc"
+
+;
+;ãããã®ãã¼ãã®å ´åã¯å
+èµRAMãã¹ã¿ãã¯ã«ãã¦ã
+;ãã_hardware_init_hookãå¼ã³åºãããã
+;
+        .GLOBAL _hardware_init_hook
+_hardware_init_hook:
+
+ .AIFDEF RAM
+        ;ããããã°æã«RAMä¸ã«ãã¦ã³ã­ã¼ãããå ´åã¯
+        ;ããã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®è¨­å®ãè¡ããªãã
+ .AELSE
+
+;
+;ããã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®è¨­å®
+;ãããã¢ã¼ãï¼
+;ããããã¨ãªã¢ï¼ã«SRAMãæ¥ç¶
+;ãããããã»ã¢ãã¬ã¹ãã¹ï¼A0-A21
+;ãããããã»ãã¼ã¿ãã¹ï¼16ãããå¹
+
+;ãããããã»ãã³ã¦ã§ã¼ã
+;
+;ãããå
+èµã¡ã¢ãªã«ã¤ãã¦ã¯è¨­å®ä¸è¦
+;
+
+        ;ãenable A0-A7
+        ;ããP1DDRâ0xff
+        mov.b   #H'ff, r1l
+        mov.l   #H8P1DDR, er0
+        mov.b   r1l, @er0
+
+        ;ãenable A8-A15
+        ;ããP2DDRâ0xff
+        mov.b   r1l, @((H8P2DDR-H8P1DDR), er0)
+
+        ;ãenable A16-A19
+        ;ããP5DDR[3-0]â0xf
+        mov.b   #H'0f, r1l
+        mov.b   r1l, @((H8P5DDR-H8P1DDR), er0)
+
+        ;ãA20ï¼ã¢ã¼ã6ã§ã¯å¸¸ã«enable
+
+        ;ãenable A21
+        ;ããBRCR.A21Eâ0
+        mov.l   #H8BRCR, er2
+        bclr    #H8BRCR_A21E_BIT, @er2
+
+        ;ãD15-D8ï¼ã¢ã¼ã6ã§ã¯ãã¼ã3ãå¸¸ã«ãã¼ã¿ãã¹ã«ãªã
+        ;ãD7 -D0ï¼16ããããã¹ã¢ã¼ãã«ããã¨ãã¼ã4ããã¼ã¿ãã¹ã«ãªã
+
+        ;ãã¨ãªã¢ï¼ã16ãããã¢ã¯ã»ã¹ç©ºéã«è¨­å®
+        ;ããABWCR.ABW1â0
+        ;ãããã®è¨­å®ã§ãã¼ã4ããã¼ã¿ãã¹D7-D0ã«ãªã
+        mov.l   #H8ABWCR, er2
+        bclr    #H8ABWCR_ABW1_BIT, @er2
+
+        ;ãã¨ãªã¢ï¼ã2ã¹ãã¼ãã¢ã¯ã»ã¹ã«è¨­å®
+        ;ããASTCR.AST1â0
+        mov.l   #H8ASTCR, er2
+        bclr    #H8ASTCR_AST1_BIT, @er2
+
+        ;ãenable CS1ï¼P83ãCS1ã«è¨­å®ï¼
+        ;ããP8DDR.P83DDRâ1
+        ;ãããP8DDRã¯èª­ã¿åºãã¦ãå¤ãä¸å®ãªã®ã§ããããæ¼ç®ãè¡ããã
+        ;ãããåãªãä¸æ¸ãããã
+        mov.b   #H8P8DDR_CS1, r1l
+        mov.b   r1l, @((H8P8DDR-H8P1DDR), er0)
+
+ .AENDI ;  RAM
+
+        rts
+
+        .END
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/sys_unrename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+/*
+ * sys_config.h
+ */
+#undef cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#undef _cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config.h	(revision 26)
@@ -0,0 +1,179 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: user_config.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+ */
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ *ããã¢ã»ã³ãã©ç¨ã®user_config_asm.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_timããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_VXGET_TIM
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ° [Hz]
+ *ãããuser_config_asm.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#define CPU_CLOCK               24576000ul
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ */
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ããã¤ã¹ã®æ°ï¼æå¤§ 2ï¼
+ *ããuser_config_asm.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#define TNUM_PORT               1u
+
+/*
+ *  ãã¼ãçªå·
+ *
+ *  ãæ¬æ¥ã¯hw_serial.hã§å®ç¾©ãã¹ãã ãããµã³ãã«ãã­ã°ã©ã ãã
+ *  ãåç
+§ãããããããã§å®ç¾©ããã
+ */
+#define SCI_PORTID1				1		/*  å¤æ´ç¦æ­¢  */
+#define SCI_PORTID2				2		/*  åä¸  */
+
+/*
+ *  ãã¼ãçªå·ã®å²ãå½ã¦
+ *
+ *  ãE10T-USBã§ãããã°ãè¡ãéã«ã¯ãSCI1ãå æãããããã
+ *  ãã¦ã¼ã¶ã¼ãã­ã°ã©ã ã¯SCI0ã®ã¿ãä½¿ç¨ããã
+ *
+ *ãããã¼ãæ°ï¼ã®ã¨ã
+ *ãããããã¼ãï¼(SCI0)ï¼ã·ã¹ãã ãã¼ãï¼åºå®ï¼
+ *ãããã¼ãæ°ï¼ã®ã¨ã
+ *ãããããã¼ãï¼(SCI0)ï¼ã·ã¹ãã ãã¼ãï¼ã¦ã¼ã¶ã¼ãã¼ãé¸æå¯è½
+ *ãããããã¼ãï¼(SCI1)ï¼åä¸
+ */
+#if TNUM_PORT == 1u
+
+#define SYSTEM_PORTID           SCI_PORTID1		/*  åºå®  */
+
+#elif TNUM_PORT == 2u    /* of #if TNUM_PORT == 1u */
+
+#define SYSTEM_PORTID           SCI_PORTID1		/*  äº¤æå¯è½  */
+#define USER_PORTID             SCI_PORTID2
+
+#else   /* of #if TNUM_PORT == 1u || TNUM_PORT == 2u */
+
+#error TNUM_PORT <= 2u
+
+#endif  /* of #if TNUM_PORT == 1u */
+
+/*
+ *  ä½ã¬ãã«åºåã«ç¨ããã·ãªã¢ã«ãã¼ãã®ãã¼ãçªå·
+ */
+#define SCI_LOW_PORTID			SYSTEM_PORTID
+
+/*  ãã¼ã¬ã¼ãã¨ãã©ã¤ãªãªãã£ã»ã¬ãã«  */
+#define SCI_PORT1_BAUD_RATE     38400ul		/* ãã¼ã¬ã¼ã [bps]     */
+#define SCI_PORT1_IPM           IPM_LEVEL0	/* ãã©ã¤ãªãªãã£ã¬ãã«  */
+
+#if TNUM_PORT == 2u
+
+#define SCI_PORT2_BAUD_RATE     38400ul		/* ãã¼ã¬ã¼ã [bps]     */
+#define SCI_PORT2_IPM           IPM_LEVEL0	/* ãã©ã¤ãªãªãã£ã¬ãã«  */
+
+#endif  /* of #if TNUM_PORT == 2u */
+
+
+/*
+ * ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããå¤ãã
+ *ããuser_config_asm.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#if 0
+#define H8_CFG_SCI_ERR_HANDLER
+#endif
+
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+
+#define TIC_NUME        1u               /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define TIC_DENO        1u               /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*  ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [kHz]  */
+#define TIMER_CLOCK     ((CPU_CLOCK)/8000ul)     /* 8åå¨ */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«  */
+#define SYSTEM_TIMER_IPM                IPM_LEVEL1
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hsb8f3048bf25/user_config_asm.inc	(revision 26)
@@ -0,0 +1,100 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: user_config_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+;
+;ãã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+;
+
+ .AIFDEF _USER_CONFIG_ASM_H_
+ .AELSE
+
+_USER_CONFIG_ASM_H_: .DEFINE ""
+
+;  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
+STACKTOP:               .DEFINE         "H'ffff0c" ; å
+èµRAM
+
+;ãchg_ipmããµãã¼ããããã©ããã®å®ç¾©
+;ããCè¨èªç¨ã®user_config.hã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+;
+SUPPORT_CHG_IPM:        .DEFINE         " "
+
+;ãã¯ã­ãã¯å¨æ³¢æ° [Hz]
+;ããCè¨èªç¨ã®user_config.hã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+;
+CPU_CLOCK:              .DEFINE         "24576000"
+
+;
+;ãã·ãªã¢ã«ã«é¢ããå®ç¾©
+;
+
+;  ãµãã¼ãããã·ãªã¢ã«ããã¤ã¹ã®æ°ï¼æå¤§ 2ï¼
+;ããCè¨èªç¨ã®user_config.hã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+TNUM_PORT:              .DEFINE         "1"
+
+; ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããå¤ãã
+;ããuser_config_asm.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+;
+;H8_CFG_SCI_ERR_HANDLER:                .DEFINE         " "
+
+ .AENDI ;  _USER_CONFIG_ASM_H_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.c	(revision 26)
@@ -0,0 +1,385 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.c,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *    ã»ãã¼ãã 1æ¬ã®å ´åã¯ HWPORT1_ADDRã«æå®ããããã¼ããä½¿ç¨ãã
+ *      2æ¬ã®å ´åã¯ãHWPORT1_ADDRãã¦ã¼ã¶ç¨ãHWPORT2_ADDRãã³ã³ã½ã¼ã«
+ *      åºåã¨ãã¦ä½¿ç¨ããã
+ *      HWPORTx_ADDRã¯ ã¿ã¼ã²ããä¾å­ã® sys_config.hä¸­ã§æå®ããã
+ *    ã»å
+±éé¨ã®ã¢ã¸ã¥ã¼ã«ã«ãã£ã¦ãXON/XOFFãã­ã¼å¶å¾¡ãè¡ã
+ *      ãã¦ããã®ã§ãä¿¡å·ç·ã¯TxDã¨RxDã®2æ¬ã§ãã
+ */
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+static const SIOPINIB siopinib_table[TNUM_PORT] = {
+        {
+                (UB*)SCI_PORT1_BASE,
+                SCI_PORT1_BAUD_RATE,
+                {
+                        (UB*)SCI_PORT1_IPR,
+                        SCI_PORT1_IPR_BIT,
+                        SCI_PORT1_IPM
+                },
+                SCI_PORT1_SMR
+        }
+
+#if TNUM_PORT == 2u
+        ,{
+                (UB*)SCI_PORT2_BASE,
+                SCI_PORT2_BAUD_RATE,
+                {
+                        (UB*)SCI_PORT2_IPR,
+                        SCI_PORT2_IPR_BIT,
+                        SCI_PORT2_IPM
+                },
+                SCI_PORT2_SMR
+        }
+#endif  /* of #if TNUM_PORT == 2u */
+
+};
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æ
+ */
+Inline SIOPINIB*
+get_siopinib(ID sioid)
+{
+	UINT index = INDEX_SIO(sioid);
+	
+	assert(index < TNUM_PORT);
+	
+    return(&(siopinib_table[index]));
+}
+
+/*
+ *  ãã¼ã¬ã¼ãããBRRã¬ã¸ã¹ã¿ã®è¨­å®å¤ã¸ã®å¤æ
+ *  ãæ¼ç®ã®éä¸­ã§ãªã¼ãã¼ãã­ã¼ããªãããUWåãç¨ãã¦ãã
+ */
+Inline UB 
+baud_to_brr(UW baud)
+{
+	UB brr;
+	
+	if (baud > 38400ul) {
+		brr = (UB)(((CPU_CLOCK+(16ul*baud)) / (32ul*baud))-1ul);
+	} else {
+		brr = (UB)((CPU_CLOCK / (32ul*baud))-1ul);
+	}
+	return brr;
+}
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ã®å¾
+ã¡æé[nsec]ãæ±ãããã¯ã­
+ *  ãæ¼ç®ã®éä¸­ã§ãªã¼ãã¼ãã­ã¼ããªãããUWåã«ã­ã£ã¹ããã¦ãã
+ */
+#define SCI_SETUP_TIME(b)       (((1000000ul / (b)) + 1ul) * 1000ul)
+
+/*
+ *  SCI ã®åæå
+ */
+void
+SCI_initialize (ID sioid)
+{
+        const SIOPINIB  *inib = get_siopinib(sioid);
+        
+        assert(inib != (SIOPINIB*)NULL);
+        SCI_cls_por(inib->base);
+
+        sil_wrb_mem((VP)(inib->base + H8SMR), (VB)(inib->smr_init));
+
+                                        /*  ãã¼ã¬ã¼ãè¨­å®      */
+        sil_wrb_mem((VP)(inib->base + H8BRR), (VB)baud_to_brr(inib->baudrate));
+
+                        /* å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹ã®é¸æ     */
+        h8_anb_reg(inib->base + H8SCR,
+                     (UB)~(H8SCR_TIE  | H8SCR_RIE  | H8SCR_MPIE | H8SCR_TEIE |
+                                                              H8SCR_CKE1 | H8SCR_CKE0 ));
+
+        /* ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ãããåå¾
+ããªããã°ãªããªãã*/
+        sil_dly_nse_long(SCI_SETUP_TIME(inib->baudrate));
+
+                                        /* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢         */
+        h8_anb_reg(inib->base + H8SSR, (UB)~(H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+
+        /*
+         *  ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+         *      æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+         */
+        define_int_plevel(&(inib->irc));
+
+        /* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å²è¾¼ã¿ã®è¨±å¯ã¯ã·ãªã¢ã« I/O ã§è¡ã */
+        /* éåä¿¡è¨±å¯ */
+
+        h8_orb_reg(inib->base + H8SCR, (UB)(H8SCR_TE | H8SCR_RE));
+}
+
+/*
+ *  SCI ã®ã¯ã­ã¼ãº
+ */
+void
+SCI_cls_por (UB *base)
+{
+	    UB ssr;
+	    
+        /* TDRE ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+        do {
+			ssr = sil_reb_mem((VP)(base + H8SSR));
+			ssr &= H8SSR_TDRE;
+        } while(ssr == 0u);
+
+        /* 11ãããéä¿¡åå¾
+ã¤ã*/
+        /*
+         * è¦æ¤è¨ï¼ç´1.2msecç©ºåãããã®ã§ãä»ã®å¦çã«CPUã
+         * ããããè­²ã£ãæ¹ãå¾ç­ã ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+         * ããããå¼ã°ããå¯è½æ§ãããã®ã§ããã®ã¾ã¾ã«ãã¦ããã
+         */
+        sil_dly_nse_long(SCI_SETUP_TIME(H8_MIN_BAUD_RATE)*11ul);
+
+                                        /* éåä¿¡åæ­¢           */
+        h8_anb_reg(base + H8SCR,
+                    (UB)(~(H8SCR_TIE | H8SCR_RIE | H8SCR_TE | H8SCR_RE)));
+}
+
+/*
+ *  SCI_in_handler -- SCI å
+¥åå²è¾¼ã¿ãã³ãã©
+ */
+void
+SCI_in_handler(ID sioid)
+{
+        SIOPCB  *pcb = get_siopcb(sioid);
+        UB      status = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+		UB      flag = (UB)(status & (H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+
+        if (flag != 0) {
+
+                /* ã¨ã©ã¼å¦ç           */
+
+                /* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+                sil_wrb_mem((VP)(pcb->inib->base + H8SSR),
+                            (VB)(status & ~(H8SSR_ORER | H8SSR_FER | H8SSR_PER)));
+        }
+
+		flag = (UB)(status & H8SSR_RDRF);
+        if (flag != 0) {
+                if (pcb->openflag == TRUE) {
+                        /* åä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+                        SCI_ierdy_rcv(pcb->exinf);
+                } else {
+                        sil_wrb_mem((VP)(pcb->inib->base + H8SSR), (VB)(status & ~H8SSR_RDRF));
+                }
+        }
+}
+
+/*
+ *  SCI_out_handler -- SCI åºåå²è¾¼ã¿ãã³ãã©
+ */
+void
+SCI_out_handler(ID sioid)
+{
+        SIOPCB  *pcb;
+
+        pcb = get_siopcb(sioid);
+        if (pcb->openflag == TRUE) {
+                /* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+                SCI_ierdy_snd(pcb->exinf);
+        }
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+/*
+ *  SCI_err_handler -- SCI ã¨ã©ã¼å
+¥åå²è¾¼ã¿ãã³ãã©
+ */
+void
+SCI_err_handler(ID sioid)
+{
+        SIOPCB  *pcb;
+        UB      status;
+
+        pcb = get_siopcb(sioid);
+        status = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+        if (status & (H8SSR_ORER | H8SSR_FER | H8SSR_PER)) {
+
+                /* ã¨ã©ã¼å¦ç           */
+
+                /* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+                sil_wrb_mem((VP)(pcb->inib->base + H8SSR),
+                            status & ~(H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+        }
+}
+
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+void
+sio_initialize(void)
+{
+        INT ix;
+
+        /* SIO ç®¡çãã­ãã¯ã®åæå */
+        for (ix = 0; ix < TNUM_PORT; ix++) {
+                siopcb_table[ix].inib     = &siopinib_table[ix];
+                siopcb_table[ix].openflag = FALSE;
+        }
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+        switch (cbrtn) {
+        case SIO_ERDY_SND:
+                SCI_enable_send(pcb);
+                break;
+        case SIO_ERDY_RCV:
+                SCI_enable_recv(pcb);
+                break;
+        default:
+                assert(FALSE);
+        }
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+        switch (cbrtn) {
+        case SIO_ERDY_SND:
+                SCI_disable_send(pcb);
+                break;
+        case SIO_ERDY_RCV:
+                SCI_disable_recv(pcb);
+                break;
+        default:
+                assert(FALSE);
+        }
+}
+
+/*
+ *  SCI å²ãè¾¼ã¿
+ */
+void
+sio_in_handler (void)
+{
+        SCI_in_handler(SCI_PORTID1);
+}
+
+void
+sio_out_handler (void)
+{
+        SCI_out_handler(SCI_PORTID1);
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+void
+sio_err_handler (void)
+{
+        SCI_err_handler(SCI_PORTID1);
+}
+
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#if TNUM_PORT >= 2u
+
+void
+sio_in2_handler (void)
+{
+        SCI_in_handler(SCI_PORTID2);
+}
+
+void
+sio_out2_handler (void)
+{
+        SCI_out_handler(SCI_PORTID2);
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+void
+sio_err2_handler (void)
+{
+        SCI_err_handler(SCI_PORTID2);
+}
+
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif  /* of #if TNUM_PORT >= 2u */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.cfg	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.cfg,v 1.4 2005/11/12 14:54:47 honda Exp $
+ */
+
+/*
+ * SCI ãã©ã¤ã (H8 ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+DEF_INH(INHNO_SERIAL_ERR,  { TA_HLNG, sio_err_handler  });
+
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#if TNUM_PORT >= 2u
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_in2_handler  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_out2_handler });
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+DEF_INH(INHNO_SERIAL2_ERR, { TA_HLNG, sio_err2_handler });
+
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif  /* of #if TNUM_PORT >= 2u */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_serial.h	(revision 26)
@@ -0,0 +1,367 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *    ã»ãã¼ãã 1æ¬ã®å ´åã¯ HWPORT1_ADDRã«æå®ããããã¼ããä½¿ç¨ãã
+ *      2æ¬ã®å ´åã¯ãHWPORT1_ADDRãã¦ã¼ã¶ç¨ãHWPORT2_ADDRãã³ã³ã½ã¼ã«
+ *      åºåã¨ãã¦ä½¿ç¨ããã
+ *      HWPORTx_ADDRã¯ ã¿ã¼ã²ããä¾å­ã® sys_config.hä¸­ã§æå®ããã
+ *    ã»å
+±éé¨ã®ã¢ã¸ã¥ã¼ã«ã«ãã£ã¦ãXON/XOFFãã­ã¼å¶å¾¡ãè¡ã
+ *      ãã¦ããã®ã§ãä¿¡å·ç·ã¯TxDã¨RxDã®2æ¬ã§ãã
+ */
+
+#include <s_services.h>
+#include <h8_sil.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+        UB      *base;          /* SCI ã®ãã¼ã¹ã¢ãã¬ã¹ */
+        UW      baudrate;       /* ãã¼ã¬ã¤ã           */
+        IRC     irc;            /* å²è¾¼ã¿ã¬ãã«è¨­å®æ
+å ± */
+        UB      smr_init;       /* SMR ã®è¨­å®å¤         */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+
+typedef struct sio_port_control_block {
+        const SIOPINIB  *inib;          /* åæåãã­ãã¯       */
+        VP_INT          exinf;          /* æ¡å¼µæ
+å ±             */
+        BOOL            openflag;       /* ãªã¼ãã³æ¸ã¿ãã©ã°   */
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æ
+ */
+#define INDEX_SIO(sioid)        ((UINT)(sioid) - 1u)
+
+Inline SIOPCB*
+get_siopcb(ID sioid)
+{
+	UINT index = INDEX_SIO(sioid);
+	
+	assert(index < TNUM_PORT);
+	
+    return(&(siopcb_table[index]));
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND            1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯                 */
+#define SIO_ERDY_RCV            2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯                 */
+
+/*
+ *  SCI é¢æ°ã®åç
+§
+ */
+extern void     SCI_initialize (ID sioid);      /* SCI ã®åæå                         */
+extern void     SCI_cls_por(UB *base);          /* SCI ã®ã¯ã­ã¼ãº                       */
+extern void     SCI_in_handler(ID sioid);       /* SCI å
+¥åå²ãè¾¼ã¿ãã³ãã©             */
+extern void     SCI_out_handler(ID sioid);      /* SCI åºåå²ãè¾¼ã¿ãã³ãã©             */
+extern void     SCI_err_handler(ID sioid);      /* SCI å
+¥åã¨ã©ã¼å²ãè¾¼ã¿ãã³ãã©       */
+extern void     SCI_ierdy_snd(VP_INT exinf);    /* ã·ãªã¢ã« I/O ããã®éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+extern void     SCI_ierdy_rcv(VP_INT exinf);    /* ã·ãªã¢ã« I/O ããã®åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SCI ã¬ãã«ã®é¢æ°
+ */
+
+/*
+ *  SCI ã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+SCI_opn_por (ID sioid)
+{
+        SCI_initialize(sioid);
+        return get_siopcb(sioid);
+}
+
+/*
+ *  SCI_putchar -- éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+SCI_putchar(const SIOPCB *p, UB c)
+{
+        UB *base_addr = p->inib->base;
+
+        sil_wrb_mem((VP)(base_addr + H8TDR), (VB)c);
+        bitclr(base_addr + H8SSR, (UB)H8SSR_TDRE_BIT);
+}
+
+
+/*
+ *  ä½ã¬ãã«åºåã«ç¨ããã·ãªã¢ã«ãã¼ãã
+ *  å¶å¾¡ããã¬ã¸ã¹ã¿ç¾¤ã®å
+é ­ã¢ãã¬ã¹
+ */
+#if SCI_LOW_PORTID == SCI_PORTID1
+#define SCI_LOW_BASE			SCI_PORT1_BASE
+#else /* SCI_LOW_PORTID == SCI_PORTID1 */
+#define SCI_LOW_BASE			SCI_PORT2_BASE
+#endif
+
+/*
+ *  SCI_putchar_pol -- ãã¼ãªã³ã°æ¹å¼ã«ããä½ã¬ãã«åºå
+ */
+Inline void
+SCI_putchar_pol(UB c)
+{
+        UB *base = (UB*)SCI_LOW_BASE;
+        UB *addr = base + H8SSR;
+        UB tdre = 0;
+
+        /* TDREãã»ãããããã¾ã§å¾
+ã¤ */
+        while (tdre == 0) {
+			/*  ã³ã³ãã¤ã©ã®è­¦åãæå¶ãããããã­ã£ã¹ããã¦ãã  */
+			tdre = (UB)((UB)sil_reb_mem((VP)addr) & H8SSR_TDRE);
+		}
+        sil_wrb_mem((VP)(base + H8TDR), (VB)c);
+        bitclr(addr, (UB)H8SSR_TDRE_BIT);
+}
+
+/*
+ *  SCI_getchar -- åä¿¡ããæå­ã®èª­ã¿åºã
+ */
+Inline INT
+SCI_getchar(const SIOPCB *p)
+{
+        UB      *base_addr = p->inib->base;
+        INT     ch = (UB)sil_reb_mem((VP)(base_addr + H8RDR));
+                /* UB ã®ã­ã£ã¹ãã¯ãç¬¦å·æ¡å¼µãé²æ­¢ãããã */
+
+        bitclr(base_addr + H8SSR, (UB)H8SSR_RDRF_BIT);
+        return ch;
+}
+
+/*
+ *  SCI_putready -- éä¿¡å¯è½ã
+ */
+Inline BOOL
+SCI_putready(const SIOPCB *pcb)
+{
+        BOOL ret = TRUE;
+        UB ssr = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+        
+        ssr &= (UB)H8SSR_TDRE;
+        if (ssr == 0) {
+			ret = FALSE;
+		}
+        return(ret);
+}
+
+/*
+ *  SCI_getready -- åä¿¡å¯è½ã
+ */
+Inline BOOL
+SCI_getready(const SIOPCB *pcb)
+{
+        BOOL ret = TRUE;
+        UB ssr = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+
+        ssr &= (UB)H8SSR_RDRF;
+        if (ssr == 0) {
+			ret = FALSE;
+		}
+        return(ret);
+}
+
+/*
+ *  éä¿¡å²ãè¾¼ã¿å¶å¾¡é¢æ°
+ */
+Inline void
+SCI_enable_send(const SIOPCB *p)
+{
+        UB *addr = p->inib->base + H8SCR;
+        bitset(addr, (UB)H8SCR_TIE_BIT);
+}
+
+Inline void
+SCI_disable_send(const SIOPCB *p)
+{
+        UB *addr = p->inib->base + H8SCR;
+        bitclr(addr, (UB)H8SCR_TIE_BIT);
+}
+
+/*
+ *  åä¿¡å²ãè¾¼ã¿å¶å¾¡é¢æ°
+ */
+Inline void
+SCI_enable_recv(const SIOPCB *p)
+{
+        UB *addr = p->inib->base + H8SCR;
+        bitset(addr, (UB)H8SCR_RIE_BIT);
+}
+
+Inline void
+SCI_disable_recv(const SIOPCB *p)
+{
+        UB *addr = p->inib->base + H8SCR;
+        bitclr(addr, (UB)H8SCR_RIE_BIT);
+}
+
+/*
+ *  SIO é¢æ°ã®åç
+§
+ */
+                                /* SCI ã®åæå                         */
+extern void     sio_initialize(void);
+                                /* ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯è¨±å¯  */
+extern void     sio_ena_cbr(SIOPCB *pcb, UINT cbrtn);
+                                /* ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ç¦æ­¢  */
+extern void     sio_dis_cbr(SIOPCB *pcb, UINT cbrtn);
+
+/*
+ *  é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã­
+ */
+                        /* ã·ãªã¢ã« I/O ããã®éä¿¡å¯è½ã³ã¼ã«ããã¯      */
+#define sio_ierdy_snd(e)        SCI_ierdy_snd(e)
+                        /* ã·ãªã¢ã« I/O ããã®åä¿¡éç¥ã³ã¼ã«ããã¯      */
+#define sio_ierdy_rcv(e)        SCI_ierdy_rcv(e)
+
+/*
+ *  SIO ã¬ãã«ã®é¢æ°
+ */
+
+extern void sio_in_handler (void);
+extern void sio_out_handler (void);
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+extern void sio_err_handler (void);
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#if TNUM_PORT >= 2u
+extern void sio_in2_handler (void);
+extern void sio_out2_handler (void);
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+extern void sio_err2_handler (void);
+#endif  /* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif  /* of #if TNUM_PORT >= 2u */
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+        SIOPCB  *pcb = SCI_opn_por(sioid);
+
+        pcb->exinf    = exinf;
+        pcb->openflag = TRUE;
+        return pcb;
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+        SCI_cls_por(pcb->inib->base);
+        pcb->openflag = FALSE;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(const SIOPCB *pcb, char chr)
+{
+        BOOL ret = FALSE;
+        if (SCI_putready(pcb) == TRUE) {
+                SCI_putchar(pcb, (UB)chr);
+                ret = TRUE;
+        }
+        return ret;
+}
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+Inline INT
+sio_rcv_chr(const SIOPCB *pcb)
+{
+        INT ret = 0;
+        if (SCI_getready(pcb) == TRUE) {
+                ret = SCI_getchar(pcb);
+        } else {
+                ret = -1;
+        }
+        return(ret);
+}
+
+#endif  /* of #ifndef _MACRO_ONLY */
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/hw_timer.h	(revision 26)
@@ -0,0 +1,212 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_timer.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <h8_sil.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+
+typedef UH      CLOCK;
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æããããã®ãã¯ã­
+ *  ããTIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®
+ */
+#define TO_CLOCK(nume, deno)    (TIMER_CLOCK * (nume) / (deno))
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã1Î¼ç§åä½ã«å¤æããããã®ãã¯ã­
+ *      jsp/kernel/time_manage.cã§ãä½¿ç¨
+ */
+#define TO_USEC(clock)          ((clock) * 1000L / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ */
+
+#define CLOCK_PER_TICK  ((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+
+#define MAX_CLOCK       ((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤
+ *      ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ *      æ³¨æï¼æ¬å½ã¯åå¨ã¯ã­ãã¯ã«ä¾å­ï¼
+ */
+
+#define GET_TOLERANCE   100
+#define BEFORE_IREQ(clock) \
+                ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ *  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿
+ *      æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+ *
+ *      æ¬æ¥ã¯hw_timer.hã«å®ä½ãè¨è¿°ããã¹ãã ããããããã¨
+ *      hw_timer.hãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã§ãã¹ã¦å®ä½åããã¦
+ *ãããã¡ã¢ãªé åãå æãã¦ãã¾ããããå®ä½ã¯cpu_config.cã«è¨è¿°ããã
+ */
+extern const IRC TIMER_IRC;
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *      TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+    /* GRAã³ã³ãã¢ãããã®å²ãè¾¼ã¿è¦æ±ãã©ã°ãã¯ãªã¢ */
+    bitclr((UB*)SYSTEM_TIMER_IFR, (UB)SYSTEM_TIMER_IF_BIT);
+}
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+    /* ã¿ã¤ãåæ­¢ */
+    bitclr((UB*)SYSTEM_TIMER_TSTR, (UB)SYSTEM_TIMER_STR_BIT);
+
+    /*  GRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢ãåå¨æ¯è¨­å® */
+    sil_wrb_mem((VP)SYSTEM_TIMER_TCR, SYSTEM_TIMER_TCR_BIT);
+
+    /*  GRAã³ã³ãã¢ãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+    sil_wrb_mem((VP)SYSTEM_TIMER_IER, SYSTEM_TIMER_IE);
+
+    /*  GRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+    sil_wrb_mem((VP)SYSTEM_TIMER_TIOR, SYSTEM_TIMER_TIOR_BIT);
+
+    /*  GRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼       */
+    sil_wrh_mem((VP)SYSTEM_TIMER_GR, CLOCK_PER_TICK);
+
+    sil_wrh_mem((VP)SYSTEM_TIMER_CNT, 0);       /* ã«ã¦ã³ã¿ãã¯ãªã¢     */
+
+    hw_timer_int_clear();                       /*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+    /*
+     *  ãã©ã¤ãªãªãã£ã»ã¬ãã«ã®è¨­å®
+     *  æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+     */
+    define_int_plevel(&TIMER_IRC);
+
+    /* ã¿ã¤ãã¹ã¿ã¼ã */
+    bitset((UB*)SYSTEM_TIMER_TSTR, (UB)SYSTEM_TIMER_STR_BIT);
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate(void)
+{
+    /* ã¿ã¤ãåæ­¢ */
+    bitclr((UB*)SYSTEM_TIMER_TSTR, (UB)SYSTEM_TIMER_STR_BIT);
+
+    hw_timer_int_clear();               /* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+        return((CLOCK)(sil_reh_mem((VP)SYSTEM_TIMER_CNT)));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+        UB ifr = sil_reb_mem((VP)SYSTEM_TIMER_IFR);
+        
+        ifr &= SYSTEM_TIMER_IF;
+        return(ifr != 0);
+}
+
+#endif  /* of #ifndef _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/makeoffset.c	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: makeoffset.c,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#define OFFSETOF(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+/*  OFFSET_DEF()ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define INTERFACE1(TYPE, FIELD)                                         \
+          INT JOINT4(OFFSET_DEF_,TYPE,_,FIELD)(void)
+
+#define OFFSET_DEF(TYPE, FIELD)                                         \
+          extern INTERFACE1(TYPE, FIELD);                               \
+          INTERFACE1(TYPE, FIELD)                                       \
+          {                                                             \
+                return OFFSETOF(TYPE, FIELD);                           \
+          }
+
+/*  OFFSET_DEF2()ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define INTERFACE2(TYPE, FIELD, FIELDNAME)                              \
+          INT JOINT4(OFFSET_DEF_,TYPE,_,FIELDNAME)(void)
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)                             \
+          extern INTERFACE2(TYPE, FIELD, FIELDNAME);                    \
+          INTERFACE2(TYPE, FIELD, FIELDNAME)                            \
+          {                                                             \
+                return OFFSETOF(TYPE, FIELD);                           \
+          }
+
+#define BIT_LABEL(TYPE, FIELD)  JOINT4(BIT_FIELD_OFFSET_,TYPE,_,FIELD)
+
+
+OFFSET_DEF (TCB, tinib)
+OFFSET_DEF2(TCB, tskctxb.sp, sp)
+OFFSET_DEF2(TCB, tskctxb.pc, pc)
+OFFSET_DEF (TINIB, task)
+OFFSET_DEF (TINIB, exinf)
+OFFSET_DEF (TCB, texptn)
+
+
+TCB     BIT_LABEL(TCB, enatex) = {
+                { NULL, NULL }, NULL, 0, 0,
+                FALSE, FALSE, TRUE,
+                0, NULL, { NULL, NULL }
+        };
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/start.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/start.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/start.src	(revision 26)
@@ -0,0 +1,214 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: start.src,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+;   H8ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+;   ãã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ããã®ã§ã
+;   ããã®ã¢ã¸ã¥ã¼ã«ã¯JSPã«ã¼ãã«èµ·åæã®ã¿ä½¿ç¨ããã
+
+        .CPU 300HA
+
+        ; STARTOFæ¼ç®å­ãSIZEOFæ¼ç®å­ãæå¹ã«ããããã®ã»ã¯ã·ã§ã³å®£è¨
+        .SECTION D,DATA,ALIGN=2
+        .SECTION R,DATA,ALIGN=2
+        .SECTION B,DATA,ALIGN=2
+
+        .SECTION P,CODE,ALIGN=2
+
+        .INCLUDE "sys_config_asm.inc"
+        .INCLUDE "cpu_config_asm.inc"
+
+        .IMPORT _kernel_start
+
+ .AIFDEF HARDWARE_INIT_HOOK
+        .IMPORT HARDWARE_INIT_HOOK
+ .AENDI ; HARDWARE_INIT_HOOK
+
+ .AIFDEF SOFTWARE_INIT_HOOK
+        .IMPORT SOFTWARE_INIT_HOOK
+ .AENDI ; SOFTWARE_INIT_HOOK
+
+ .AIFDEF WITHOUT_INNER_RAM
+        .GLOBAL start_1
+ .AENDI ; WITHOUT_INNER_RAM
+
+
+        .GLOBAL _start
+_start:
+        ;
+        ; éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯ãã¤ã³ã¿ãSTACKTOPã«åæåãã
+        ; ãH8ã§ã¯ãªã»ããæã«ã¹ã¿ãã¯ãã¤ã³ã¿ãåæåãããªãããã
+        ; ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã§åæåããå¿
+è¦ããã
+        ; ãï¼STACKTOPã¯ãuser_config_asm.incã§å®ç¾©ï¼
+        ;
+        mov.l   #STACKTOP, sp
+
+        ;
+        ; ã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿MDCRã®èª­ã¿åºã
+        ; ãE10Tä¸ã§å®è¡ããéã«å¿
+è¦ãªåæåå¦ç
+        ;
+ .AIFDEF E10T
+        mov.b   @H8MDCR, er0
+ .AENDI ; E10T
+
+        ;
+        ;  CCRãåæåãããï¼å²è¾¼ã¿ç¦æ­¢ï¼
+        ;
+        orc.b   #CCR_DISINT_ALL, ccr
+
+        ;
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å¼ã³åºã
+        ;
+        ;  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ãç¨æãããã®å
+é ­ã¢ãã¬ã¹ã
+        ;  HARDWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+        ;  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+        ;  ãã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å®è£
+ã¯sys_support.src å
+ã§è¡ãã
+        ;ãHARDWARE_INIT_HOOKãã¯ã­ãsys_config_asm.incã§å®ç¾©ãã
+        ;ãã®ãæ¨æºã¨ããã
+
+ .AIFDEF HARDWARE_INIT_HOOK
+start_0:
+ .AIFDEF WITHOUT_INNER_RAM
+         ;ãå
+èµRAMãä½¿ç¨ããªãå ´åã¯ãå¤é¨RAMãæå¹ã«ãªããªãã¨ã¹ã¿ã
+         ;ãã¯ã¨ãªã¢ãä½¿ããªãããã®ãããæ»ãçªå°ãã¹ã¿ãã¯ã«ç©ãH8ã
+         ;ãã­ã»ããµã®é¢æ°å¼ã³åºãã¯ï¼ã¢ã»ã³ãã©ã§ãã£ã¦ãï¼ãã®ã¿ã¤ã
+         ;ãã³ã°ã§ã¯ã¾ã ã§ããªããã¤ã¾ããHARDWARE_INIT_HOOKããã¯ç¡
+         ;ãæ¡ä»¶åå²å½ä»¤ã§æ»ã£ã¦ããã
+         ;ãï¼ã©ãã«start_1ãã¨ã¯ã¹ãã¼ããããï¼
+
+        jmp     @HARDWARE_INIT_HOOK
+ .AELSE ; WITHOUT_INNER_RAM
+        jsr     @HARDWARE_INIT_HOOK
+ .AENDI ; WITHOUT_INNER_RAM
+
+ .AENDI ; HARDWARE_INIT_HOOK
+
+
+         ; Bã»ã¯ã·ã§ã³ãã¯ãªã¢
+start_1:
+        mov.l   @_bss_start_k, er0
+        mov.l   @_end_k, er1
+        sub.l   er2, er2
+start_2:
+        mov.l   er2, @er0
+        add.l   #4, er0
+        cmp.l   er1, er0
+        blo     start_2         ; er1 > er0
+
+        ;
+        ;  Dã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+        ;
+        ;  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+        ;  ã³ãã¼ããï¼
+        ;  
+        ;  eepmov.wå½ä»¤ãä½¿ãæ¹ãå¹ççã ããæå¤§è»¢éãã¤ãæ°ã
+        ;  65,535ãã¤ãã«å¶éããããããä½¿ç¨ãã¦ããªãã
+start_3:
+        mov.l   @__idata_start_k, er0
+        mov.l   @__idata_end_k, er1
+        mov.l   @__data_start_k, er2
+start_4:
+        mov.l   @er0+, er4      ; *er2++ = *er0 ++;
+        mov.l   er4, @er2
+        add.l   #4, er2
+        cmp.l   er1, er0
+        blo     start_4         ; er1 > er0
+
+        ;
+        ;  ã½ããã¦ã§ã¢ç°å¢åæåé¢æ°ã®å¼ã³åºã
+        ;
+        ;  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+        ;  çãããå ´åã¯ï¼ã½ããã¦ã§ã¢ç°å¢åæåé¢æ°ãç¨æãããã®å
+é ­
+        ;  ã¢ãã¬ã¹ãSOFTWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+        ;  software_init_hooké¢æ°ã®å®è£
+ã¯sys_support.src å
+ã§è¡ãã
+        ;ãSOFTWARE_INIT_HOOKãã¯ã­ãuser_config_asm.incã§å®ç¾©ãã
+        ;ãã®ãæ¨æºã¨ããã
+ .AIFDEF SOFTWARE_INIT_HOOK
+start_5:
+        jsr     @SOFTWARE_INIT_HOOK
+ .AENDI ; SOFTWARE_INIT_HOOK
+
+        ;  ã«ã¼ãã«ãèµ·åãã
+
+start_6:
+        jmp     @_kernel_start
+
+
+        .ALIGN 4
+_bss_start_k:
+        .DATA.L   STARTOF B
+_end_k:
+        .DATA.L   STARTOF B   +   SIZEOF B
+__idata_start_k:
+        .DATA.L   STARTOF D
+__idata_end_k:
+        .DATA.L   STARTOF D   +   SIZEOF D
+__data_start_k:
+        .DATA.L   STARTOF R
+
+        .END
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_config.h	(revision 26)
@@ -0,0 +1,288 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: tool_config.h,v 1.6 2005/11/13 14:05:01 honda Exp $
+ */
+
+/*
+ *ãéçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ *ããLABEL_ALIASãã¯ã­ã®å®ç¾©ã¯çç¥
+ */
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+
+/*
+ *  å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­
+ */
+#define __EMPTY_LABEL(x,y) x y[1]
+
+/*
+ *  atexitã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  GNU ldã®PROVIDEå½ä»¤ã¨åç­ã®æ©è½ããªãããã#ifdefã§å¦çãã¦ããã
+ *  å¤é¨å®ç¾©ã®å¦çãããã°ãé¢æ°åãSOFTWARE_TERM_HOOKãã¯ã­ã¨ãã¦
+ *  å®ç¾©ãããsys_config.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
+ *  ããã»å¤é¨å®ç¾©ãããã°ããããå¼ã³åºã
+ *  ããã»å¤é¨å®ç¾©ããªããã°ãä½ãããªãï¼ç©ºã®å®ç¾©ï¼
+ */
+#ifdef SOFTWARE_TERM_HOOK
+extern void SOFTWARE_TERM_HOOK(void);
+#define call_atexit SOFTWARE_TERM_HOOK
+
+#else	/*  SOFTWARE_TERM_HOOK  */
+#define call_atexit()
+
+#endif	/*  SOFTWARE_TERM_HOOK  */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define LOG_INH_ENTER(inhno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_INH_LEAVE(inhno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_ISR_ENTER(intno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_ISR_LEAVE(intno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_CYC_ENTER(cyccb)
+#define LOG_CYC_LEAVE(cyccb)
+
+#define LOG_EXC_ENTER(excno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_EXC_LEAVE(excno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_TEX_ENTER(texptn)
+#define LOG_TEX_LEAVE(texptn)
+
+#define LOG_TSKSTAT(tcb)
+
+#define LOG_DSP_ENTER(tcb)              /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_DSP_LEAVE(tcb)              /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_ACT_TSK_ENTER(tskid)
+#define LOG_ACT_TSK_LEAVE(ercd)
+#define LOG_IACT_TSK_ENTER(tskid)
+#define LOG_IACT_TSK_LEAVE(ercd)
+#define LOG_CAN_ACT_ENTER(tskid)
+#define LOG_CAN_ACT_LEAVE(ercd)
+#define LOG_EXT_TSK_ENTER()
+#define LOG_TER_TSK_ENTER(tskid)
+#define LOG_TER_TSK_LEAVE(ercd)
+#define LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define LOG_CHG_PRI_LEAVE(ercd)
+#define LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define LOG_SLP_TSK_ENTER()
+#define LOG_SLP_TSK_LEAVE(ercd)
+#define LOG_TSLP_TSK_ENTER(tmout)
+#define LOG_TSLP_TSK_LEAVE(ercd)
+#define LOG_WUP_TSK_ENTER(tskid)
+#define LOG_WUP_TSK_LEAVE(ercd)
+#define LOG_IWUP_TSK_ENTER(tskid)
+#define LOG_IWUP_TSK_LEAVE(ercd)
+#define LOG_CAN_WUP_ENTER(tskid)
+#define LOG_CAN_WUP_LEAVE(ercd)
+#define LOG_REL_WAI_ENTER(tskid)
+#define LOG_REL_WAI_LEAVE(ercd)
+#define LOG_IREL_WAI_ENTER(tskid)
+#define LOG_IREL_WAI_LEAVE(ercd)
+#define LOG_SUS_TSK_ENTER(tskid)
+#define LOG_SUS_TSK_LEAVE(ercd)
+#define LOG_RSM_TSK_ENTER(tskid)
+#define LOG_RSM_TSK_LEAVE(ercd)
+#define LOG_FRSM_TSK_ENTER(tskid)
+#define LOG_FRSM_TSK_LEAVE(ercd)
+#define LOG_DLY_TSK_ENTER(dlytim)
+#define LOG_DLY_TSK_LEAVE(ercd)
+#define LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define LOG_RAS_TEX_LEAVE(ercd)
+#define LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define LOG_IRAS_TEX_LEAVE(ercd)
+#define LOG_DIS_TEX_ENTER()
+#define LOG_DIS_TEX_LEAVE(ercd)
+#define LOG_ENA_TEX_ENTER()
+#define LOG_ENA_TEX_LEAVE(ercd)
+#define LOG_SNS_TEX_ENTER()
+#define LOG_SNS_TEX_LEAVE(state)
+#define LOG_SIG_SEM_ENTER(semid)
+#define LOG_SIG_SEM_LEAVE(ercd)
+#define LOG_ISIG_SEM_ENTER(semid)
+#define LOG_ISIG_SEM_LEAVE(ercd)
+#define LOG_WAI_SEM_ENTER(semid)
+#define LOG_WAI_SEM_LEAVE(ercd)
+#define LOG_POL_SEM_ENTER(semid)
+#define LOG_POL_SEM_LEAVE(ercd)
+#define LOG_TWAI_SEM_ENTER(semid, tmout)
+#define LOG_TWAI_SEM_LEAVE(ercd)
+#define LOG_SET_FLG_ENTER(flgid, setptn)
+#define LOG_SET_FLG_LEAVE(ercd)
+#define LOG_ISET_FLG_ENTER(flgid, setptn)
+#define LOG_ISET_FLG_LEAVE(ercd)
+#define LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define LOG_CLR_FLG_LEAVE(ercd)
+#define LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_SND_DTQ_ENTER(dtqid, data)
+#define LOG_SND_DTQ_LEAVE(ercd)
+#define LOG_PSND_DTQ_ENTER(dtqid, data)
+#define LOG_PSND_DTQ_LEAVE(ercd)
+#define LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define LOG_IPSND_DTQ_LEAVE(ercd)
+#define LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define LOG_TSND_DTQ_LEAVE(ercd)
+#define LOG_FSND_DTQ_ENTER(dtqid, data)
+#define LOG_FSND_DTQ_LEAVE(ercd)
+#define LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define LOG_IFSND_DTQ_LEAVE(ercd)
+#define LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_RCV_DTQ_LEAVE(ercd, data)
+#define LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define LOG_SND_MBX_LEAVE(ercd)
+#define LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define LOG_GET_MPF_LEAVE(ercd, blk)
+#define LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define LOG_PGET_MPF_LEAVE(ercd, blk)
+#define LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define LOG_TGET_MPF_LEAVE(ercd, blk)
+#define LOG_REL_MPF_ENTER(mpfid, blk)
+#define LOG_REL_MPF_LEAVE(ercd)
+#define LOG_SET_TIM_ENTER(p_systim)
+#define LOG_SET_TIM_LEAVE(ercd)
+#define LOG_GET_TIM_ENTER(p_systim)
+#define LOG_GET_TIM_LEAVE(ercd, systim)
+#define LOG_ISIG_TIM_ENTER()
+#define LOG_ISIG_TIM_LEAVE(ercd)
+#define LOG_STA_CYC_ENTER(cycid)
+#define LOG_STA_CYC_LEAVE(ercd)
+#define LOG_STP_CYC_ENTER(cycid)
+#define LOG_STP_CYC_LEAVE(ercd)
+#define LOG_ROT_RDQ_ENTER(tskpri)
+#define LOG_ROT_RDQ_LEAVE(ercd)
+#define LOG_IROT_RDQ_ENTER(tskpri)
+#define LOG_IROT_RDQ_LEAVE(ercd)
+#define LOG_GET_TID_ENTER(p_tskid)
+#define LOG_GET_TID_LEAVE(ercd, tskid)
+#define LOG_IGET_TID_ENTER(p_tskid)
+#define LOG_IGET_TID_LEAVE(ercd, tskid)
+#define LOG_LOC_CPU_ENTER()
+#define LOG_LOC_CPU_LEAVE(ercd)
+#define LOG_ILOC_CPU_ENTER()
+#define LOG_ILOC_CPU_LEAVE(ercd)
+#define LOG_UNL_CPU_ENTER()
+#define LOG_UNL_CPU_LEAVE(ercd)
+#define LOG_IUNL_CPU_ENTER()
+#define LOG_IUNL_CPU_LEAVE(ercd)
+#define LOG_DIS_DSP_ENTER()
+#define LOG_DIS_DSP_LEAVE(ercd)
+#define LOG_ENA_DSP_ENTER()
+#define LOG_ENA_DSP_LEAVE(ercd)
+#define LOG_SNS_CTX_ENTER()
+#define LOG_SNS_CTX_LEAVE(state)
+#define LOG_SNS_LOC_ENTER()
+#define LOG_SNS_LOC_LEAVE(state)
+#define LOG_SNS_DSP_ENTER()
+#define LOG_SNS_DSP_LEAVE(state)
+#define LOG_SNS_DPN_ENTER()
+#define LOG_SNS_DPN_LEAVE(state)
+#define LOG_VSNS_INI_ENTER()
+#define LOG_VSNS_INI_LEAVE(state)
+#define LOG_VXSNS_CTX_ENTER(p_excinf)
+#define LOG_VXSNS_CTX_LEAVE(state)
+#define LOG_VXSNS_LOC_ENTER(p_excinf)
+#define LOG_VXSNS_LOC_LEAVE(state)
+#define LOG_VXSNS_DSP_ENTER(p_excinf)
+#define LOG_VXSNS_DSP_LEAVE(state)
+#define LOG_VXSNS_DPN_ENTER(p_excinf)
+#define LOG_VXSNS_DPN_LEAVE(state)
+#define LOG_VXSNS_TEX_ENTER(p_excinf)
+#define LOG_VXSNS_TEX_LEAVE(state)
+#define LOG_VXGET_TIM_ENTER(p_sysutim)
+#define LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define LOG_CHG_IPM_ENTER(ipm)
+#define LOG_CHG_IPM_LEAVE(ercd)
+#define LOG_GET_IPM_ENTER(p_ipm)
+#define LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/tool_defs.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: tool_defs.h,v 1.7 2007/03/23 07:58:33 honda Exp $
+ */
+
+/*
+ *ãéçºç°å¢ã«ä¾å­ããå®ç¾©
+ *ããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define _int8_          char            /* 8ãããã®æ´æ°å      */
+#define _int16_         int             /* 16ãããã®æ´æ°å     */
+#define _int32_         long            /* 32ãããã®æ´æ°å     */
+/* 64ãããã®æ´æ°åã¯æªãµãã¼ã */
+
+/*
+ * _bool_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§BOOLåâintåï¼16ãããï¼
+ *
+ * _vp_int_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§VP_INTåâVPåâvoid *å
+ * ãã32ããããªã®ã§ãintåããã¤ã³ã¿åãæ ¼ç´ã§ãã
+ *
+ * _intptr_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§longãä½¿ç¨ãããã®ã§ãintåããã¤ã³ã¿åãæ ¼ç´ã§ãã
+ */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus                     /* C++ ã«ã¯ inline ããã */
+#ifdef __STDC_VERSION__
+#if __STDC_VERSION__ < 199901L          /* C99 ã«ã¯ inline ããã */
+#define inline          __inline
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __STDC_VERSION__ */
+#endif /* __cplusplus */
+
+#define Inline          static inline
+
+/*
+ *  ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã¯#pragma inline_asmå®£è¨ãããªãã¨
+ *ãä½¿ããªããããasm,Asmãã¯ã­ã®å®ç¾©ã¯çç¥ãã
+ *ãï¼é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ã«ã­ã¼ã¯ã¼ããè¿½å ãã¦ãã ãªï¼
+ */
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  ãããçªå·ã®å®ç¾©
+ */
+#define BIT0              0x1u
+#define BIT1              0x2u
+#define BIT2              0x4u
+#define BIT3              0x8u
+#define BIT4             0x10u
+#define BIT5             0x20u
+#define BIT6             0x40u
+#define BIT7             0x80u
+#define BIT8            0x100u
+#define BIT9            0x200u
+#define BIT10           0x400u
+#define BIT11           0x800u
+#define BIT12          0x1000u
+#define BIT13          0x2000u
+#define BIT14          0x4000u
+#define BIT15          0x8000u
+#define BIT16         0x10000ul
+#define BIT17         0x20000ul
+#define BIT18         0x40000ul
+#define BIT19         0x80000ul
+#define BIT20        0x100000ul
+#define BIT21        0x200000ul
+#define BIT22        0x400000ul
+#define BIT23        0x800000ul
+#define BIT24       0x1000000ul
+#define BIT25       0x2000000ul
+#define BIT26       0x4000000ul
+#define BIT27       0x8000000ul
+#define BIT28      0x10000000ul
+#define BIT29      0x20000000ul
+#define BIT30      0x40000000ul
+#define BIT31      0x80000000ul
+
+
+/*
+ *  ã·ã³ãã«åã®çµå
+ */
+#define JOINT(a,b)      _JOINT(a,b)
+#define _JOINT(a,b)     a##b
+
+#define JOINT3(a,b,c)   _JOINT3(a,b,c)
+#define _JOINT3(a,b,c)  JOINT(a,JOINT(b,c))
+
+#define JOINT4(a,b,c,d)   _JOINT4(a,b,c,d)
+#define _JOINT4(a,b,c,d)  JOINT(a,JOINT3(b,c,d))
+
+#define HI2(data)	(UH)(data >> 16)
+#define LO2(data)	(UH)(data)
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/util_asm.inc	(revision 26)
@@ -0,0 +1,74 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: util_asm.inc,v 1.7 2007/03/23 07:58:33 honda Exp $
+;
+
+ .AIFDEF _UTIL_ASM_H_
+ .AELSE
+
+_UTIL_ASM_H_:           .DEFINE         " "
+
+;
+;  ãããçªå·ã®å®ç¾©
+;
+BIT0:                   .DEFINE         "H'01"
+BIT1:                   .DEFINE         "H'02"
+BIT2:                   .DEFINE         "H'04"
+BIT3:                   .DEFINE         "H'08"
+BIT4:                   .DEFINE         "H'10"
+BIT5:                   .DEFINE         "H'20"
+BIT6:                   .DEFINE         "H'40"
+BIT7:                   .DEFINE         "H'80"
+
+ .AENDI ; _UTIL_ASM_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/vector_header.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/vector_header.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/vector_header.src	(revision 26)
@@ -0,0 +1,131 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: vector_header.src,v 1.5 2007/03/23 07:58:33 honda Exp $
+;
+
+;
+; ãã¯ã¿ãã¼ãã«ã¨å²è¾¼ã¿ã®å
+¥å£å¦ç
+;
+        .CPU 300HA
+
+;
+;ããå²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®å®ç¾©
+;ãããï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+;
+;ããããã©ã¡ã¼ã¿
+;ãããããC_ROUTINEï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+;ãããããINTMASKï¼ãå²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+;ãããããããããããIPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨
+;
+;ãããH8ã§ã¯å²è¾¼ã¿åä»ç´å¾ã¯ãã¼ãã¦ã§ã¢çã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ãã
+;
+;ããããã¬ã¸ã¹ã¿å²ãå½ã¦
+;ãããããã»er0ãer3ï¼éé¿
+;ãããããã»er2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+;ãããããã»r3lï¼å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+;
+;ãåèãä»æ©ç¨®ã§ã®æ³¨æäºé 
+
+;ããreqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯
+;ããå¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼
+;ãããã£ã¹ããããããªãï¼
+;
+ .MACRO INTHDR_ENTRY C_ROUTINE, INTMASK
+        .IMPORT _\C_ROUTINE
+__kernel_\C_ROUTINE'_entry:
+        push.l  er0                             ;ãã¬ã¸ã¹ã¿ã®éé¿
+        push.l  er1
+        push.l  er2
+        push.l  er3
+        mov.l   #_\C_ROUTINE, er2               ;ãCè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+        mov.b   #\INTMASK, r3l                  ;ãå²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«
+                                                ;ãè¨­å®ããå¤
+        jmp     @_common_interrupt_process
+
+ .ENDM
+
+
+; ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config_asm.inc"
+        .INCLUDE "cpu_config_asm.inc"
+        .INCLUDE "intmask.inc"
+
+        .IMPORT _start
+        .IMPORT _no_reg_exception
+        .IMPORT _common_interrupt_process
+
+;
+; å²è¾¼ã¿ãã¯ã¿ã®å®ç¾©
+;  ï¼ãã¯ã¿ãã¼ãã«ã¯åºå®ãªã®ã§ãå²è¾¼ã¿ã®åºå
+¥ãå£å¦çã®ã©ãã«ã¯
+;   ä»¥ä¸ã®ãã¯ã¿ãã¼ãã«ã«ç´æ¥æ¸ãè¾¼ãå¿
+è¦ãããã)
+;
+        .SECTION V, CODE, ALIGN=4
+
+        .GLOBAL _vectors
+_vectors:
+;******************************************************
+;ãããããä¸ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«èªåçæããã
+;******************************************************
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/Makefile.config	(revision 26)
@@ -0,0 +1,131 @@
+#
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#
+#   Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2001-2010 by Industrial Technology Institute,
+#                               Miyagi Prefectural Government, JAPAN
+#   Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#       ã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#         å ±åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+#  @(#) $Id: Makefile.config,v 1.20 2007/04/02 02:59:11 honda Exp $
+#
+ 
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (H8ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = h8300-hms
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS		:= $(COPTS) -mh -mint32 -mrelax -O2 -g
+CDEFS       := $(CDEFS) -DLABEL_ASM -DVECTOR_SIZE=$(VECTOR_SIZE)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) cpu_config.o hw_serial.o h8_sil.o
+
+#
+#  HEWã®ã·ãã¥ã¬ã¼ã¿ä¸ã§å®è¡ããå ´åã¯ HEW_SIMULATORãtrueã«å®ç¾©ãã
+#
+ifeq ($(HEW_SIMULATOR),true)
+	CDEFS := $(CDEFS) -DHEW_SIMULATOR -DNO_SLEEP
+endif
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o vector.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ãã¯ã¿ãã¼ãã«ã®çæè¦å
+#ããå¤§æ¬ã®Makefileã«ããkernel_cfg.cã®çæè¦åã¨ä¸ç·ã«è¨è¿°ããæ¹ã
+#ããå¹ççã ããMakefileãæ©ç¨®ä¾å­ã«ããªããããããã«è¨è¿°ãã¦ããã
+#
+
+#  vector.Sãæ¯åãä¸æ¸ããããªãããã«ããã«ã¯ãã®è¡ãã³ã¡ã³ãã¢ã¦ããã
+.PHONY: vector.S
+
+vector.S:
+	rm -f vector.S
+	@echo "Generating vector.S !"
+	$(CC) -E $(INCLUDES) $(CDEFS) -x c-header $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)/cfg/cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	$(PERL) $(SRCDIR)/utils/h8/grep_def_inh.pl tmpfile1 > tmp_script.pl
+	$(PERL) $(SRCDIR)/utils/h8/cat.pl $(CONFIGDIR)/$(CPU)/vector_header.S \
+			> vector.S
+	$(PERL) $(SRCDIR)/utils/h8/genvector.pl \
+			$(Z_OPT) -s $(VECTOR_SIZE) >> vector.S
+	rm -f tmpfile1 tmp_script.pl
+
+#
+#  ãã¯ã¿ãã¼ãã«çæã®ãªãã·ã§ã³æå®
+#ããå®è¡ç°å¢ãã¢ãã¿ã®å ´åã¯æªç»é²ã®å²è¾¼ã¿ãã¯ã¿ã«0ãæ¸ãè¾¼ãããã
+#ããgentable.plã¹ã¯ãªããå®è¡æã«-zãªãã·ã§ã³ãæå®ããã
+#
+ifeq ($(DBGENV),TNCT_MONITOR)
+    Z_OPT = -z
+else
+ifeq ($(DBGENV),GDB_STUB)
+    Z_OPT = -z
+endif
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/Makefile.config	(revision 26)
@@ -0,0 +1,98 @@
+#
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#
+#   Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2001-2007 by Industrial Technology Institute,
+#                               Miyagi Prefectural Government, JAPAN
+#   Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#       ã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#         å ±åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+#  @(#) $Id: Makefile.config,v 1.14 2007/03/23 07:22:15 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼AKI-H8/3048Fç¨ï¼
+#ãããä¸è¨ã®ä¸­ã®ã©ããï¼ã¤ã ããæå¹ã«ãããã®ä»ã¯ã³ã¡ã³ãã¢ã¦ããã
+#
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+
+# è«å°ç§é«å°è£½ ç°¡æã¢ãã¿ãã¾ãã¯ç§æé»å­è£½ã¢ãã¿
+#DBGENV := TNCT_MONITOR
+
+# ROMå
+DBGENV := ROM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+CDEFS		:= $(CDEFS) -DCPU_CLOCK=16000000
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+ifeq ($(DBGENV),TNCT_MONITOR)
+    LDSCRIPT = $(CPU)/$(SYS)/debug.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/release.ld
+endif
+
+#
+#  ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºã®å®ç¾©
+#
+VECTOR_SIZE = 61
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/debug.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/debug.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/debug.ld	(revision 26)
@@ -0,0 +1,119 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x00000 -> 0xfffff */
+        vectors		: o = 0xff000, l = 0x00100	/* for debug */
+
+	/* use 384k as the main ram size.  */
+	ram		: o = 0x20000, l = 0x60000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	.rodata : {
+		*(.rodata)
+	} >ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+	  *(.bss)
+	  *(COMMON)
+	} >ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/release.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/release.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/release.ld	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x00000 -> 0xfffff */
+        vectors		: o = 0x00000, l = 0x00100
+
+	/* use 128k - 100 as the main ROM size.  */
+	rom		: o = 0x00100, l = 0x1ff00
+
+	/* use 384k as the main RAM size.  */
+	ram		: o = 0x20000, l = 0x60000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	.rodata : {
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+	  *(.bss)
+	  *(COMMON)
+	} >ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.c	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.13 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_config.h	(revision 26)
@@ -0,0 +1,408 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <h8.h>
+#include <h8_3048f.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+
+#define	TARGET_NAME	"AKI-H8/3048F"
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+
+			/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤ */
+#define STACKTOP    	(H8IN_RAM_BASE + H8IN_RAM_SIZE)	
+#define str_STACKTOP	_TO_STRING(STACKTOP)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void cpu_putc(char c);
+
+Inline void
+sys_putc(char c)
+{
+	cpu_putc(c);
+};
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  (1) ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ *  (2) ã¿ã¤ãã¼ã®è¨­å®
+ *  (3) å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ *  
+ *  ãµã³ãã«ãã­ã°ã©ã ãåããå ´åã¯
+ *  sys_defs.hã«ããTASK_PORTIDã®å®ç¾©ã«ãæ³¨æ
+ */
+#define TNUM_PORT		2
+
+/*
+ *  SCI å
+±éå®æ°ããã¯ã­
+ */
+
+#define	CONSOLE_PORTID		SYSTEM_PORTID	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·		*/
+#define	LOGTASK_PORTID		SYSTEM_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#define H8_MIN_BAUD_RATE	9600		/* SCI ãã¯ã­ã¼ãºããåã®å¾
+ã¡æéã®è¨ç®ã«ä½¿ç¨ããã*/
+
+/* ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããã¯ããã*/
+/*#define H8_CFG_SCI_ERR_HANDLER*/
+
+/*
+ *  SYSTEM ç¨ SCI ã®è¨­å®å¤
+ */
+
+#define SYSTEM_SCI		H8SCI1
+
+#define SYSTEM_SCI_IPR		H8IPRB
+#define SYSTEM_SCI_IP_BIT	H8IPR_SCI1_BIT
+
+#define SYSTEM_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#if TNUM_PORT == 1
+
+#define SYSTEM_BAUD_RATE	38400			/* bps	*/
+
+#define	SYSTEM_PORTID		1
+
+#define INHNO_SERIAL_IN		IRQ_RXI1
+#define INHNO_SERIAL_OUT	IRQ_TXI1
+#define INHNO_SERIAL_ERR	IRQ_ERI1
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+
+#define USER_SCI		H8SCI0
+
+#define USER_SCI_IPR		H8IPRB
+#define USER_SCI_IP_BIT		H8IPR_SCI0_BIT
+
+#define USER_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#ifdef SUPPORT_PPP
+
+#define USER_BAUD_RATE		9600			/* bps	*/
+
+#else	/* of #ifdef SUPPORT_PPP */
+
+#define USER_BAUD_RATE		38400			/* bps	*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#define SYSTEM_BAUD_RATE	38400			/* bps	*/
+
+#define	USER_PORTID		1
+#define	SYSTEM_PORTID		2
+
+#define INHNO_SERIAL_IN		IRQ_RXI0
+#define INHNO_SERIAL_OUT	IRQ_TXI0
+#define INHNO_SERIAL_ERR	IRQ_ERI0
+
+#define INHNO_SERIAL2_IN	IRQ_RXI1
+#define INHNO_SERIAL2_OUT	IRQ_TXI1
+#define INHNO_SERIAL2_ERR	IRQ_ERI1
+
+#else	/* of #if TNUM_PORT == 1 */
+
+#error TNUM_PORT <= 2
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_SCI_IPM			IPM_LEVEL0
+#define USER_SCI_IPM			IPM_LEVEL0
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if TNUM_PORT == 1	/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+			/*  ãã¼ãï¼ï¼ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+			/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+/*  ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+#if USER_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif USER_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* USER_SCI_IPM == IPM_LEVEL0 */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in2_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in2_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+#define sio_out_handler_intmask		sio_in_handler_intmask
+#define sio_err_handler_intmask		sio_in_handler_intmask
+#define sio_out2_handler_intmask	sio_in2_handler_intmask
+#define sio_err2_handler_intmask	sio_in2_handler_intmask
+
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+#define SYSTEM_TIMER		H8ITU0
+
+#define SYSTEM_TIMER_CNT	(SYSTEM_TIMER + H8TCNT)
+#define SYSTEM_TIMER_TCR	(SYSTEM_TIMER + H8TCR)
+#define SYSTEM_TIMER_TIOR	(SYSTEM_TIMER + H8TIOR)
+#define SYSTEM_TIMER_IER	(SYSTEM_TIMER + H8TIER)
+#define SYSTEM_TIMER_IFR	(SYSTEM_TIMER + H8TSR)
+#define SYSTEM_TIMER_TSTR	H8ITU_TSTR
+#define SYSTEM_TIMER_GR		(SYSTEM_TIMER + H8GRA)
+
+#define SYSTEM_TIMER_STR	H8TSTR_STR0
+#define SYSTEM_TIMER_STR_BIT	H8TSTR_STR0_BIT
+#define SYSTEM_TIMER_IE		H8TIER_IMIEA		/* interrupt mask */
+#define SYSTEM_TIMER_IE_BIT	H8TIER_IMIEA_BIT
+#define SYSTEM_TIMER_IF		H8TSR_IMIFA		/* match flag */
+#define SYSTEM_TIMER_IF_BIT	H8TSR_IMIFA_BIT
+
+#define INHNO_TIMER		IRQ_IMIA0
+
+#define SYSTEM_TIMER_TCR_BIT	(H8TCR_CCLR0 | H8TCR_TPSC1 | H8TCR_TPSC0)
+#define SYSTEM_TIMER_TIOR_BIT	(0)
+
+#define TIMER_CLOCK		((CPU_CLOCK)/8000)
+				/* 16MHz / 8 = 2MHz = 2000KHz */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_TIMER_IPR                H8IPRA
+#define SYSTEM_TIMER_IP_BIT             H8IPR_ITU0_BIT
+#define SYSTEM_TIMER_IPM                IPM_LEVEL1
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if SYSTEM_TIMER_IPM == IPM_LEVEL0
+#define timer_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
+#define timer_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
+
+
+
+/*
+ *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+#if 0
+#define ENABLE_LOWER_DATA
+#define ENABLE_P8_CS	(H8P8DDR_CS0|H8P8DDR_CS1|H8P8DDR_CS2|H8P8DDR_CS3)
+#define ENABLE_PA_CS	(H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)
+#define ENABLE_PB_CS 	H8PBDDR_CS7
+
+#define ENABLE_PA_A21_A23	(H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
+
+#endif
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+
+#ifdef ROM
+
+#define	SIL_DLY_TIM1	 9400
+#define	SIL_DLY_TIM2	  701
+
+#else	/* of #ifdef ROM */
+
+#define	SIL_DLY_TIM1	24900
+#define	SIL_DLY_TIM2	 5260
+
+#endif	/* of #ifdef ROM */
+
+/*
+ *  DDRã®åæå¤ã®å®ç¾©
+ */
+#define	H8P1DDR0        0xff				/*  ãã¼ã1  */
+#define	H8P2DDR0        0xff				/*  ãã¼ã2  */
+#define	H8P3DDR0        0xff				/*  ãã¼ã3  */
+
+#ifdef ENABLE_LOWER_DATA
+#define	H8P4DDR0        0xff				/*  ãã¼ã4  */
+#else	/* #if ENABLE_LOWER_DATA */
+#define	H8P4DDR0        DUMMY				/*  ãã¼ã4  */
+#endif	/* #if ENABLE_LOWER_DATA */
+
+#define	H8P5DDR0        0xff				/*  ãã¼ã5  */
+#define	H8P6DDR0        DUMMY				/*  ãã¼ã6  */
+
+/*  ãã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã  */
+
+#ifdef ENABLE_P8_CS
+#define	H8P8DDR0        ENABLE_P8_CS			/*  ãã¼ã8  */
+#else	/* #ifdef ENABLE_P8_CS */
+#define	H8P8DDR0        DUMMY				/*  ãã¼ã8  */
+#endif	/* #ifdef ENABLE_P8_CS */
+
+#define	H8P9DDR0        DUMMY				/*  ãã¼ã9  */
+
+#ifdef ENABLE_PA_CS
+#define	H8PADDR0        ENABLE_PA_CS			/*  ãã¼ãA  */
+#elif defined(ENABLE_PA_A21_A23)
+#define	H8PADDR0        ENABLE_PA_A21_A23		/*  ãã¼ãA  */
+#else
+#define	H8PADDR0        DUMMY				/*  ãã¼ãA  */
+#endif	/* #ifdef ENABLE_PA_CS */
+
+#ifdef ENABLE_PB_CS
+#define	H8PBDDR0        ENABLE_PB_CS			/*  ãã¼ãB  */
+#else	/* #ifdef ENABLE_PB_CS */
+#define	H8PBDDR0        DUMMY				/*  ãã¼ãB  */
+#endif	/* #ifdef ENABLE_PB_CS */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_defs.h	(revision 26)
@@ -0,0 +1,88 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.15 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  H8ã®ãã­ã»ããµã¿ã¤ã
+ */
+
+#define H8_3048F
+
+/**************************************************************
+ * ãµã³ãã«ãã­ã°ã©ã ç¨ã®å®ç¾©
+ *
+ *ããæ¬æ¥ã¯sample1.hã«è¨è¿°ãã¹ãã ããsample1.hã®ç®¡çãç
+©éã«ãªã
+ *ãããããä¾¿å®çã«ãã®ãã¡ã¤ã«ã«è¨è¿°ãã¦ããã
+ **************************************************************/
+
+#define	STACK_SIZE	1024		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	100000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+#sys_config.c(cpu_config.c)
+cpu_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_rename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define cpu_putc		_kernel_cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define _cpu_putc		__kernel_cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_support.S	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.14 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåã«ã¼ãã³
+ */
+	.h8300h
+	.text
+	.align 2
+
+	.global	_hardware_init_hook
+_hardware_init_hook:
+	/*
+	 *  ãªãªã¼ã¹ã§ã¯ãå¤é¨DRAMãæå¹ã«ããã
+	 */
+#ifdef ROM
+	mov.l	#H8P1DDR, er0
+	mov.b	#0xff, r1l
+	mov.b	r1l, @er0	/* enable A0  - A7  */
+
+	add.b	#(H8P2DDR - H8P1DDR), r0l
+	mov.b	r1l, @er0	/* enable A8  - A15 */
+
+	add.b	#(H8P3DDR - H8P2DDR), r0l
+	mov.b	r1l, @er0	/* enable D8  - D15 */
+
+	add.b	#(H8P5DDR - H8P3DDR), r0l
+	mov.b	r1l, @er0	/* enable A16 - A19 */
+
+#ifdef ENABLE_LOWER_DATA
+
+	mov.l	#H8P4DDR, er0
+	mov.b	r1l, @er0	/* enable D0  - D7  */
+
+#endif	/* #if ENABLE_LOWER_DATA */
+
+#ifdef ENABLE_P8_CS
+
+	mov.l	#H8P8DDR, er0
+	mov.b	#ENABLE_P8_CS, r1l
+	mov.b	r1l, @er0	/* enable CS0 - CS3 */
+
+#endif	/* #ifdef ENABLE_P8_CS */
+
+#ifdef ENABLE_PA_CS
+
+	mov.l	#H8PADDR, er0
+	mov.b	#ENABLE_PA_CS, r1l
+	mov.b	r1l, @er0	/* enable CS4 - CS6 */
+
+#elif defined(ENABLE_PA_A21_A23)
+
+	mov.l	#H8PADDR, er0
+	mov.b	#ENABLE_PA_A21_A23, r1l
+	mov.b	r1l, @er0	/* enable A21 - A23 */
+
+#endif	/* #ifdef ENABLE_PA_CS */
+
+#ifdef ENABLE_PB_CS
+
+	mov.l	#H8PBDDR, er0
+	mov.b	#ENABLE_PB_CS, r1l
+	mov.b	r1l, @er0	/* enable CS7 */
+
+#endif	/* #ifdef ENABLE_PB_CS */
+#endif	/*  #ifdef ROM  */
+
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3048f/sys_unrename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef _cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/Makefile.config	(revision 26)
@@ -0,0 +1,99 @@
+#
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#
+#   Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2001-2007 by Industrial Technology Institute,
+#                               Miyagi Prefectural Government, JAPAN
+#   Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#       ã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#         å ±åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+#  @(#) $Id: Makefile.config,v 1.13 2007/03/23 07:22:15 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼AKI-H8/3052Fç¨ï¼
+#
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#ãããä¸è¨ã®ä¸­ã®ã©ããï¼ã¤ã ããæå¹ã«ãããã®ä»ã¯ã³ã¡ã³ãã¢ã¦ããã
+#
+
+# è«å°ç§é«å°è£½ ç°¡æã¢ãã¿ãã¾ãã¯ç§æé»å­è£½ã¢ãã¿
+DBGENV := TNCT_MONITOR
+
+# ROMå
+#DBGENV := ROM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+CDEFS		:= $(CDEFS) -DCPU_CLOCK=25000000
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+ifeq ($(DBGENV),TNCT_MONITOR)
+    LDSCRIPT = $(CPU)/$(SYS)/debug.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/release.ld
+endif
+
+
+#
+#  ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºã®å®ç¾©
+#
+VECTOR_SIZE = 61
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/debug.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/debug.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/debug.ld	(revision 26)
@@ -0,0 +1,119 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 6: 0x000000 -> 0xffffff */
+        vectors		: o = 0xffe000, l = 0x000100	/* for debug */
+
+	/* use 128k as the main ram size.  */
+	ram		: o = 0x220000, l = 0x020000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	.rodata : {
+		*(.rodata)
+	} >ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+	  *(.bss)
+	  *(COMMON)
+	} >ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/release.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/release.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/release.ld	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 6: 0x000000 -> 0xffffff */
+        vectors		: o = 0x000000, l = 0x000100
+
+	/* use 512k - 100 as the main ROM size.  */
+	rom		: o = 0x000100, l = 0x07ff00
+
+	/* use 128k as the main RAM size.  */
+	ram		: o = 0x220000, l = 0x020000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	.rodata : {
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+	  *(.bss)
+	  *(COMMON)
+	} >ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.c	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.11 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_config.h	(revision 26)
@@ -0,0 +1,399 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.14 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <h8.h>
+#include <h8_3052f.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+
+#define	TARGET_NAME	"AKI-H8/3052F"
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+
+			/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤ */
+#define STACKTOP    	(H8IN_RAM_BASE + H8IN_RAM_SIZE)
+#define str_STACKTOP	_TO_STRING(STACKTOP)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void cpu_putc(char c);
+
+Inline void
+sys_putc(char c)
+{
+	cpu_putc(c);
+};
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  (1) ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ *  (2) ã¿ã¤ãã¼ã®è¨­å®
+ *  (3) å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ */
+#define TNUM_PORT		1
+
+/*
+ *  SCI å
+±éå®æ°ããã¯ã­
+ */
+
+#define	CONSOLE_PORTID		SYSTEM_PORTID	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·		*/
+#define	LOGTASK_PORTID		SYSTEM_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#define H8_MIN_BAUD_RATE	9600		/* SCI ãã¯ã­ã¼ãºããåã®å¾
+ã¡æéã®è¨ç®ã«ä½¿ç¨ããã*/
+
+/* ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããã¯ããã*/
+#if 0
+#define H8_CFG_SCI_ERR_HANDLER
+#endif
+
+/*
+ *  SYSTEM ç¨ SCI ã®è¨­å®å¤
+ */
+
+#define SYSTEM_SCI		H8SCI1
+
+#define SYSTEM_SCI_IPR		H8IPRB
+#define SYSTEM_SCI_IP_BIT	H8IPR_SCI1_BIT
+
+#define SYSTEM_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define SYSTEM_BAUD_RATE	38400			/* bps	*/
+
+#if TNUM_PORT == 1
+
+#define	SYSTEM_PORTID		1
+
+#define INHNO_SERIAL_IN		IRQ_RXI1
+#define INHNO_SERIAL_OUT	IRQ_TXI1
+#define INHNO_SERIAL_ERR	IRQ_ERI1
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+
+#define USER_SCI		H8SCI0
+
+#define USER_SCI_IPR		H8IPRB
+#define USER_SCI_IP_BIT		H8IPR_SCI0_BIT
+
+#define USER_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define USER_BAUD_RATE		38400			/* bps	*/
+
+#define	USER_PORTID		1
+#define	SYSTEM_PORTID		2
+
+#define INHNO_SERIAL_IN		IRQ_RXI0
+#define INHNO_SERIAL_OUT	IRQ_TXI0
+#define INHNO_SERIAL_ERR	IRQ_ERI0
+
+#define INHNO_SERIAL2_IN	IRQ_RXI1
+#define INHNO_SERIAL2_OUT	IRQ_TXI1
+#define INHNO_SERIAL2_ERR	IRQ_ERI1
+
+#else	/* of #if TNUM_PORT == 1 */
+
+#error TNUM_PORT <= 2
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_SCI_IPM			IPM_LEVEL0
+#define USER_SCI_IPM			IPM_LEVEL0
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if TNUM_PORT == 1	/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+			/*  ãã¼ãï¼ï¼ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+			/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+/*  ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+#if USER_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif USER_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* USER_SCI_IPM == IPM_LEVEL0 */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in2_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in2_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+#define sio_out_handler_intmask		sio_in_handler_intmask
+#define sio_err_handler_intmask		sio_in_handler_intmask
+#define sio_out2_handler_intmask	sio_in2_handler_intmask
+#define sio_err2_handler_intmask	sio_in2_handler_intmask
+
+
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+#define SYSTEM_TIMER		H8ITU0
+
+#define SYSTEM_TIMER_CNT	(SYSTEM_TIMER + H8TCNT)
+#define SYSTEM_TIMER_TCR	(SYSTEM_TIMER + H8TCR)
+#define SYSTEM_TIMER_TIOR	(SYSTEM_TIMER + H8TIOR)
+#define SYSTEM_TIMER_IER	(SYSTEM_TIMER + H8TIER)
+#define SYSTEM_TIMER_IFR	(SYSTEM_TIMER + H8TSR)
+#define SYSTEM_TIMER_TSTR	H8ITU_TSTR
+#define SYSTEM_TIMER_GR		(SYSTEM_TIMER + H8GRA)
+
+#define SYSTEM_TIMER_STR	H8TSTR_STR0
+#define SYSTEM_TIMER_STR_BIT	H8TSTR_STR0_BIT
+#define SYSTEM_TIMER_IE		H8TIER_IMIEA		/* interrupt mask */
+#define SYSTEM_TIMER_IE_BIT	H8TIER_IMIEA_BIT
+#define SYSTEM_TIMER_IF		H8TSR_IMIFA		/* match flag */
+#define SYSTEM_TIMER_IF_BIT	H8TSR_IMIFA_BIT
+
+#define INHNO_TIMER		IRQ_IMIA0
+
+#define SYSTEM_TIMER_TCR_BIT	(H8TCR_CCLR0 | H8TCR_TPSC1 | H8TCR_TPSC0)
+#define SYSTEM_TIMER_TIOR_BIT	(0)
+
+#define TIMER_CLOCK		((CPU_CLOCK)/8000)
+				/* 25MHz / 8 = 2MHz = 3125KHz */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_TIMER_IPR                H8IPRA
+#define SYSTEM_TIMER_IP_BIT             H8IPR_ITU0_BIT
+#define SYSTEM_TIMER_IPM                IPM_LEVEL1
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if SYSTEM_TIMER_IPM == IPM_LEVEL0
+#define timer_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
+#define timer_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
+
+
+/*
+ *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*#define ENABLE_LOWER_DATA*/
+
+#define ENABLE_P8_CS	(H8P8DDR_CS0|H8P8DDR_CS1|H8P8DDR_CS2|H8P8DDR_CS3)
+
+#if 0
+#define ENABLE_PA_CS	(H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)
+#define ENABLE_PB_CS 	H8PBDDR_CS7
+#endif
+
+#define ENABLE_PA_A21_A23	(H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+
+#ifdef ROM
+
+
+#define	SIL_DLY_TIM1	 5750
+#define	SIL_DLY_TIM2	  430
+
+#else	/* of #ifdef ROM */
+
+#define	SIL_DLY_TIM1	13910
+#define	SIL_DLY_TIM2	 2940
+
+#endif	/* of #ifdef ROM */
+
+/*
+ *  DDRã®åæå¤ã®å®ç¾©
+ */
+#define	H8P1DDR0        0xff				/*  ãã¼ã1  */
+#define	H8P2DDR0        0xff				/*  ãã¼ã2  */
+#define	H8P3DDR0        0xff				/*  ãã¼ã3  */
+
+#ifdef ENABLE_LOWER_DATA
+#define	H8P4DDR0        0xff				/*  ãã¼ã4  */
+#else	/* #if ENABLE_LOWER_DATA */
+#define	H8P4DDR0        DUMMY				/*  ãã¼ã4  */
+#endif	/* #if ENABLE_LOWER_DATA */
+
+#define	H8P5DDR0        0xff				/*  ãã¼ã5  */
+#define	H8P6DDR0        DUMMY				/*  ãã¼ã6  */
+
+/*  ãã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã  */
+
+#ifdef ENABLE_P8_CS
+#define	H8P8DDR0        ENABLE_P8_CS			/*  ãã¼ã8  */
+#else	/* #ifdef ENABLE_P8_CS */
+#define	H8P8DDR0        DUMMY				/*  ãã¼ã8  */
+#endif	/* #ifdef ENABLE_P8_CS */
+
+#define	H8P9DDR0        DUMMY				/*  ãã¼ã9  */
+
+#ifdef ENABLE_PA_CS
+#define	H8PADDR0        ENABLE_PA_CS			/*  ãã¼ãA  */
+#elif defined(ENABLE_PA_A21_A23)
+#define	H8PADDR0        ENABLE_PA_A21_A23		/*  ãã¼ãA  */
+#else
+#define	H8PADDR0        DUMMY				/*  ãã¼ãA  */
+#endif	/* #ifdef ENABLE_PA_CS */
+
+#ifdef ENABLE_PB_CS
+#define	H8PBDDR0        ENABLE_PB_CS			/*  ãã¼ãB  */
+#else	/* #ifdef ENABLE_PB_CS */
+#define	H8PBDDR0        DUMMY				/*  ãã¼ãB  */
+#endif	/* #ifdef ENABLE_PB_CS */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_defs.h	(revision 26)
@@ -0,0 +1,88 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.12 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  H8ã®ãã­ã»ããµã¿ã¤ã
+ */
+
+#define H8_3052F
+
+/**************************************************************
+ * ãµã³ãã«ãã­ã°ã©ã ç¨ã®å®ç¾©
+ *
+ *ããæ¬æ¥ã¯sample1.hã«è¨è¿°ãã¹ãã ããsample1.hã®ç®¡çãç
+©éã«ãªã
+ *ãããããä¾¿å®çã«ãã®ãã¡ã¤ã«ã«è¨è¿°ãã¦ããã
+ **************************************************************/
+
+#define	STACK_SIZE	1024		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	100000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+#sys_config.c(cpu_config.c)
+cpu_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_rename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define cpu_putc		_kernel_cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define _cpu_putc		__kernel_cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_support.S	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.11 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåã«ã¼ãã³
+ */
+	.h8300h
+	.text
+	.align 2
+
+	.global	_hardware_init_hook
+_hardware_init_hook:
+	/*
+	 *  ãªãªã¼ã¹ã§ã¯ãå¤é¨DRAMãæå¹ã«ããã
+	 */
+#ifdef ROM
+	mov.l	#H8P1DDR, er0
+	mov.b	#0xff, r1l
+	mov.b	r1l, @er0	/* enable A0  - A7  */
+
+	add.b	#(H8P2DDR - H8P1DDR), r0l
+	mov.b	r1l, @er0	/* enable A8  - A15 */
+
+	add.b	#(H8P3DDR - H8P2DDR), r0l
+	mov.b	r1l, @er0	/* enable D8  - D15 */
+
+	add.b	#(H8P5DDR - H8P3DDR), r0l
+	mov.b	r1l, @er0	/* enable A16 - A19 */
+
+#ifdef ENABLE_LOWER_DATA
+
+	mov.l	#H8P4DDR, er0
+	mov.b	r1l, @er0	/* enable D0  - D7  */
+
+#endif	/* #if ENABLE_LOWER_DATA */
+
+#ifdef ENABLE_P8_CS
+
+	mov.l	#H8P8DDR, er0
+	mov.b	#ENABLE_P8_CS, r1l
+	mov.b	r1l, @er0	/* enable CS0 - CS3 */
+
+#endif	/* #ifdef ENABLE_P8_CS */
+
+#ifdef ENABLE_PA_CS
+
+	mov.l	#H8PADDR, er0
+	mov.b	#ENABLE_PA_CS, r1l
+	mov.b	r1l, @er0	/* enable CS4 - CS6 */
+
+#elif defined(ENABLE_PA_A21_A23)
+
+	mov.l	#H8PADDR, er0
+	mov.b	#ENABLE_PA_A21_A23, r1l
+	mov.b	r1l, @er0	/* enable A21 - A23 */
+
+#endif	/* #ifdef ENABLE_PA_CS */
+
+#ifdef ENABLE_PB_CS
+
+	mov.l	#H8PBDDR, er0
+	mov.b	#ENABLE_PB_CS, r1l
+	mov.b	r1l, @er0	/* enable CS7 */
+
+#endif	/* #ifdef ENABLE_PB_CS */
+
+#endif	/*  #ifdef ROM  */
+
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3052f/sys_unrename.h	(revision 26)
@@ -0,0 +1,19 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef cpu_putc
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef _cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/Makefile.config	(revision 26)
@@ -0,0 +1,128 @@
+#
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#
+#   Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2001-2010 by Industrial Technology Institute,
+#                               Miyagi Prefectural Government, JAPAN
+#   Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#   Copyright (C) 2001-2004 by Kunihiko Ohnaka
+#   Copyright (C) 2004 by Katsuhiro Amano
+#
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#       ã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#         å ±åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+#  @(#) $Id: Makefile.config,v 1.12 2007/03/23 07:22:15 honda Exp $
+#
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼AKI-H8/3069Fç¨ï¼
+#
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#ãããä¸è¨ã®ä¸­ã®ã©ããï¼ã¤ã ããæå¹ã«ãããã®ä»ã¯ã³ã¡ã³ãã¢ã¦ããã
+#
+
+# è«å°ç§é«å°è£½ ç°¡æã¢ãã¿ãã¾ãã¯ç§æé»å­è£½ã¢ãã¿
+DBGENV := TNCT_MONITOR
+
+# ROMå å¤é¨RAMä½¿ç¨
+#DBGENV := ROM
+
+# ROMå å¤é¨RAMæªä½¿ç¨
+#DBGENV := INMEM_ONLY
+
+# Redboot
+#DBGENV := REDBOOT
+
+#
+#  HEWã®ã·ãã¥ã¬ã¼ã¿ä¸ã§å®è¡ããå ´åã¯trueã«
+#
+#ããHEWã§ã¯ãæ¬ä¼¼ãã¯ã¿ãã¼ãã«ãç¨æãã¦ããªãããã
+#ããROMåããç¶æ
+ã®ã¡ã¢ãªãããã§ãªãã¨å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®
+#ããèª­ã¿åããæ­£å¸¸ã«åä½ããªãã
+#ããå¾ã£ã¦ãHEW_SIMULATOR = trueã¨ããéã«ã¯ãDBGENV=ROM
+#ããã¾ãã¯DBGENV=INMEM_ONLYã¨ãããã¨
+#
+HEW_SIMULATOR = false
+#HEW_SIMULATOR = true
+
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+CDEFS		:= $(CDEFS) -DCPU_CLOCK=20000000
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+ifeq ($(DBGENV),TNCT_MONITOR)
+    LDSCRIPT = $(CPU)/$(SYS)/debug.ld
+else
+ifeq ($(DBGENV),REDBOOT)
+    LDSCRIPT = $(CPU)/$(SYS)/debug_redboot.ld
+else
+ifeq ($(DBGENV),INMEM_ONLY)
+    LDSCRIPT = $(CPU)/$(SYS)/release_inmem.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/release.ld
+endif
+endif
+endif
+
+#
+#  ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºã®å®ç¾©
+#
+VECTOR_SIZE = 64
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug.ld	(revision 26)
@@ -0,0 +1,138 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0xffc000, l = 0x000100	/* for debug */
+
+	/* use 1M for .text and .rodata */
+	ex_ram		: o = 0x400000, l = 0x100000
+
+	/* use 1M for .data and .bss  */
+	ex_ram5		: o = 0x500000, l = 0x100000
+
+	/* use 15.5k for .stack  */
+	/*  (in back of vectors) */
+	in_ram		: o = 0xffc100, l = 0x003e20
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >ex_ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >ex_ram
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >ex_ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram5
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram5
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug_redboot.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug_redboot.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/debug_redboot.ld	(revision 26)
@@ -0,0 +1,75 @@
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x4fff00, l = 0x000100 	/* for debug */
+
+	/* use 1M for .text and .rodata */
+	ex_ram		: o = 0x400000, l = 0x050000
+
+	/* use 1M for .data and .bss  */
+	ex_ram5		: o = 0x450000, l = 0x0Aff00
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0x500000, l = 0x010000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >ex_ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >ex_ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram5
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram5
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(_memcpy = _local_memcpy);
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x000000, l = 0x000100
+
+	/* use 512k - 100 for .text and .rodata  */
+	rom		: o = 0x000100, l = 0x07ff00
+
+	/* use 1M for .data and .bss  */
+	ex_ram		: o = 0x400000, l = 0x200000
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0xffbf20, l = 0x004000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >rom
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release_inmem.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release_inmem.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/release_inmem.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x000000, l = 0x000100
+
+	/* use 512k - 100 for .text and .rodata  */
+	rom		: o = 0x000100, l = 0x07ff00
+
+	/* use 15k for .data and .bss  */
+	in_ram1		: o = 0xffbf20, l = 0x003c00
+
+	/* use 1k for .stack  */
+	in_ram2		: o = 0xfffb20, l = 0x000400
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >rom
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >in_ram1
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >in_ram1
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.c	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.12 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
+
+#ifdef REDBOOT
+/*
+ *  Redbootãä½¿ç¨ããå²è¾¼ã¿ãã¯ã¿ã®éé¿ã¨å¾©å
+
+ */
+/*  å²è¾¼ã¿ãã¯ã¿ã®éé¿  */
+void
+load_vector(TMP_VECTOR *p) {
+	UW *redboot_trap_vector = (UW *)VECTOR_TABLE_ADDR + TRAP8;
+	UW *pirq5 = (UW *)VECTOR_TABLE_ADDR + IRQ_EXT5;
+	
+	/* ãã¯ã¿ãã¼ãã«ã®å
+ãtrapaå½ä»¤åãéé¿ */
+	memcpy(&(p->trap_vector), redboot_trap_vector, TRAP_VECTOR_SIZE*4);
+
+	/*  IRQ5:Ethernetå²è¾¼ã¿ã®å
+é ­ã¢ãã¬ã¹ãéé¿  */
+	p->irq5 = sil_rew_mem((VP)pirq5);		
+}
+
+/*  å²è¾¼ã¿ãã¯ã¿ã®å¾©å
+  */
+void
+save_vector(TMP_VECTOR *p) {
+	UW *redboot_trap_vector = (UW *)VECTOR_TABLE_ADDR + TRAP8;
+	UW *pirq5 = (UW *)VECTOR_TABLE_ADDR + IRQ_EXT5;
+	
+	/*  IRQ5:Ethernetå²è¾¼ã¿ã®å
+é ­ã¢ãã¬ã¹ãå¾©å
+  */
+	sil_wrw_mem((VP)pirq5, p->irq5);		
+
+	/* ãã¯ã¿ãã¼ãã«ã®å
+ãtrapaå½ä»¤åãå¾©å
+ */
+	memcpy(redboot_trap_vector, &(p->trap_vector), TRAP_VECTOR_SIZE*4);
+}
+
+#endif	/* of #ifdef REDBOOT */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_config.h	(revision 26)
@@ -0,0 +1,473 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#include <h8.h>
+#include <h8_3069f.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+
+#define	TARGET_NAME	"AKI-H8/3069F"
+
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+
+			/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤ */
+#ifdef REDBOOT
+#define STACKTOP    	(0x50fff0)
+#else	/*  REDBOOT  */
+#define STACKTOP    	(H8IN_RAM_BASE + H8IN_RAM_SIZE)
+#endif	/*  #ifdef REDBOOT  */
+
+#define str_STACKTOP	_TO_STRING(STACKTOP)
+
+/* RedbootãRAMä¸ã«æã¤ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ */
+#define VECTOR_TABLE_ADDR 	0x00fffd20
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void cpu_putc(char c);
+
+Inline void
+sys_putc(char c)
+{
+	cpu_putc(c);
+};
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  (1) ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ *  (2) ã¿ã¤ãã¼ã®è¨­å®
+ *  (3) å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 3ã
+ *  
+ *  ãµã³ãã«ãã­ã°ã©ã ãåããå ´åã¯
+ *  sys_defs.hã«ããTASK_PORTIDã®å®ç¾©ã«ãæ³¨æ
+ */
+#define TNUM_PORT	2
+
+#define	CONSOLE_PORTID		SYSTEM_PORTID	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·     */
+#define	LOGTASK_PORTID		SYSTEM_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+#define H8_MIN_BAUD_RATE	9600		/* SCI ãã¯ã­ã¼ãºããåã®å¾
+ã¡æéã®è¨ç®ã«ä½¿ç¨ããã*/
+
+/* ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããã¯ããã*/
+#if 0
+#define H8_CFG_SCI_ERR_HANDLER
+#endif
+
+/*
+ *  SYSTEM ç¨ SCI ã®è¨­å®å¤
+ */
+
+#define SYSTEM_SCI		H8SCI1
+
+#define SYSTEM_SCI_IPR		H8IPRB
+#define SYSTEM_SCI_IP_BIT	H8IPR_SCI1_BIT
+
+#define SYSTEM_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define SYSTEM_BAUD_RATE	38400			/* bps	*/
+
+#define	SYSTEM_PORTID		1
+
+#define INHNO_SERIAL_IN		IRQ_RXI1
+#define INHNO_SERIAL_OUT	IRQ_TXI1
+#define INHNO_SERIAL_ERR	IRQ_ERI1
+
+#if TNUM_PORT >= 2
+
+#define USER_SCI			H8SCI0
+
+#define USER_SCI_IPR		H8IPRB
+#define USER_SCI_IP_BIT		H8IPR_SCI0_BIT
+
+#define USER_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define USER_BAUD_RATE		38400			/* bps	*/
+
+#define	USER_PORTID		2
+
+#define INHNO_SERIAL2_IN	IRQ_RXI0
+#define INHNO_SERIAL2_OUT	IRQ_TXI0
+#define INHNO_SERIAL2_ERR	IRQ_ERI0
+
+#endif	/* of #if TNUM_PORT >= 2 */
+
+
+#if TNUM_PORT >= 3
+
+#define USER2_SCI			H8SCI2
+
+#define USER2_SCI_IPR		H8IPRB
+#define USER2_SCI_IP_BIT	H8IPR_SCI2_BIT
+
+#define USER2_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define USER2_BAUD_RATE		38400			/* bps	*/
+
+#define	USER2_PORTID		3
+
+#define INHNO_SERIAL3_IN	IRQ_RXI2
+#define INHNO_SERIAL3_OUT	IRQ_TXI2
+#define INHNO_SERIAL3_ERR	IRQ_ERI2
+
+#endif	/* of #if TNUM_PORT >= 3 */
+
+
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_SCI_IPM			IPM_LEVEL0
+#define USER_SCI_IPM			IPM_LEVEL0
+#define USER2_SCI_IPM			IPM_LEVEL0
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+
+/*  ãã¼ã1ï¼ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+
+/*  ãã¼ã2ï¼ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+#if TNUM_PORT >= 2
+#if USER_SCI_IPM == IPM_LEVEL0
+#define sio_in2_handler_intmask		IPM_LEVEL1
+#elif USER_SCI_IPM == IPM_LEVEL1
+#define sio_in2_handler_intmask		IPM_LEVEL2
+#endif 	/* USER_SCI_IPM == IPM_LEVEL0 */
+#endif	/* of #if TNUM_PORT >= 2 */
+
+/*  ãã¼ã3ï¼ã¦ã¼ã¶ã¼ã»ãã¼ã2  */
+#if TNUM_PORT >= 3
+#if USER2_SCI_IPM == IPM_LEVEL0
+#define sio_in3_handler_intmask		IPM_LEVEL1
+#elif USER2_SCI_IPM == IPM_LEVEL1
+#define sio_in3_handler_intmask		IPM_LEVEL2
+#endif 	/* USER2_SCI_IPM == IPM_LEVEL0 */
+#endif	/* of #if TNUM_PORT >= 3 */
+
+
+#define sio_out_handler_intmask		sio_in_handler_intmask
+#define sio_err_handler_intmask		sio_in_handler_intmask
+#define sio_out2_handler_intmask	sio_in2_handler_intmask
+#define sio_err2_handler_intmask	sio_in2_handler_intmask
+#define sio_out3_handler_intmask	sio_in3_handler_intmask
+#define sio_err3_handler_intmask	sio_in3_handler_intmask
+
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+#define SYSTEM_TIMER		H816TU0
+
+#define SYSTEM_TIMER_CNT	(SYSTEM_TIMER + H8TCNT)
+#define SYSTEM_TIMER_TCR	(SYSTEM_TIMER + H8TCR)
+#define SYSTEM_TIMER_TIOR	(SYSTEM_TIMER + H8TIOR)
+#define SYSTEM_TIMER_IER	H816TU_TISRA
+#define SYSTEM_TIMER_IFR	H816TU_TISRA
+#define SYSTEM_TIMER_TSTR	H816TU_TSTR
+#define SYSTEM_TIMER_GR		(SYSTEM_TIMER + H8GRA)
+
+#define SYSTEM_TIMER_STR	H8TSTR_STR0
+#define SYSTEM_TIMER_STR_BIT	H8TSTR_STR0_BIT
+#define SYSTEM_TIMER_IE		H8TISRA_IMIEA0		/* interrupt mask */
+#define SYSTEM_TIMER_IE_BIT	H8TISRA_IMIEA0_BIT
+#define SYSTEM_TIMER_IF		H8TISRA_IMFA0		/* match flag */
+#define SYSTEM_TIMER_IF_BIT	H8TISRA_IMFA0_BIT
+
+#define INHNO_TIMER		IRQ_IMIA0
+
+#define SYSTEM_TIMER_TCR_BIT	(H8TCR_CCLR0 | H8TCR_TPSC1 | H8TCR_TPSC0)
+#define SYSTEM_TIMER_TIOR_BIT	(0)
+
+#define TIMER_CLOCK		((CPU_CLOCK)/8000)	
+				/* 20MHz / 8 = 2.5MHz = 2500KHz */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_TIMER_IPR                H8IPRA
+#define SYSTEM_TIMER_IP_BIT             H8IPR_ITU0_BIT
+#define SYSTEM_TIMER_IPM                IPM_LEVEL1
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if SYSTEM_TIMER_IPM == IPM_LEVEL0
+#define timer_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
+#define timer_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
+
+
+/*
+ *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+#define	ENABLE_P8_CS	(H8P8DDR_CS0|H8P8DDR_CS1|H8P8DDR_CS2|H8P8DDR_CS3)
+
+#if 0
+
+#define	ENABLE_LOWER_DATA
+#define	ENABLE_PB_CS	(H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6|H8PBDDR_CS7)
+
+#endif	/* of #if 0 */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+
+#if defined(ROM)
+
+/*  ROMåï¼å¤é¨RAMä½¿ç¨ï¼  */
+#define	SIL_DLY_TIM1	 2350
+#define	SIL_DLY_TIM2	  530
+
+#elif defined(INMEM_ONLY)
+
+/*  ROMåï¼å
+èµã¡ã¢ãªã®ã¿ä½¿ç¨ï¼ */
+#define	SIL_DLY_TIM1	 1668
+#define	SIL_DLY_TIM2	  519
+
+#else	/* of #if defined(ROM) */
+
+/*  ç°¡æã¢ãã¿ï¼ã¦ã¼ã¶ã¼ãã­ã°ã©ã ã¯å¤é¨RAMä¸ã«ãã¦ã³ã­ã¼ãï¼  */
+#define	SIL_DLY_TIM1	3914
+#define	SIL_DLY_TIM2	1110
+
+#endif	/* of #if defined(ROM) */
+
+
+/*
+ *  DDRã®åæå¤ã®å®ç¾©
+ */
+#ifdef INMEM_ONLY	/*  ROMåãã¤å¤é¨DRAMãªã  */
+
+/*  ã¢ã¼ãã«ãã£ã¦ã¯DDRã®åæå¤ãç°ãªãã®ã§ãæ³¨æ  */
+#define	H8P1DDR0        0x00				/*  ãã¼ã1  */
+#define	H8P2DDR0        0x00				/*  ãã¼ã2  */
+#define	H8P3DDR0        0x00				/*  ãã¼ã3  */
+#define	H8P4DDR0        0x00				/*  ãã¼ã4  */
+#define	H8P5DDR0        0x00				/*  ãã¼ã5  */
+#define	H8P6DDR0        0x00				/*  ãã¼ã6  */
+
+/*  ãã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã  */
+
+#ifdef SUPPORT_ETHER
+#define	H8P8DDR0        (H8P8DDR_CS1 | H8P8DDR_CS2)	/*  ãã¼ã8  */
+#else 	/* SUPPORT_ETHER */
+#define	H8P8DDR0        0x00				/*  ãã¼ã8  */
+#endif 	/* SUPPORT_ETHER */
+
+#define	H8P9DDR0        0x00				/*  ãã¼ã9  */
+#define	H8PADDR0        0x00				/*  ãã¼ãA  */
+#define	H8PBDDR0        0x00				/*  ãã¼ãB  */
+
+#else 	/*  of #ifdef INMEM_ONLY  */
+
+#define	H8P1DDR0        0xff				/*  ãã¼ã1  */
+#define	H8P2DDR0        0xff				/*  ãã¼ã2  */
+#define	H8P3DDR0        0xff				/*  ãã¼ã3  */
+#define	H8P4DDR0        DUMMY				/*  ãã¼ã4  */
+#define	H8P5DDR0        H8P5DDR_A16			/*  ãã¼ã5  */
+#define	H8P6DDR0        DUMMY				/*  ãã¼ã6  */
+
+/*  ãã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã  */
+
+#define	H8P8DDR0        (H8P8DDR_CS1 | H8P8DDR_CS2)	/*  ãã¼ã8  */
+#define	H8P9DDR0        DUMMY				/*  ãã¼ã9  */
+#define	H8PADDR0        DUMMY				/*  ãã¼ãA  */
+#define	H8PBDDR0        H8PBDDR_UCAS			/*  ãã¼ãB  */
+
+#endif 	/*  of #ifdef INMEM_ONLY  */
+
+
+#ifdef REDBOOT
+/*
+ *  å²è¾¼ã¿ãã©ã¤ãªãªãã£ã®åæå¤ã®å®ç¾©
+ *ããRedbootã®å ´åãIRQ5ãä½¿ç¨ããã
+ */
+#define H8IPRA_INI	H8IPR_IRQ5_BIT
+
+/*
+ *  Redbootãä½¿ç¨ããå²è¾¼ã¿ãã¯ã¿ã®éé¿ã¨å¾©å
+
+ */
+
+/* ãã¯ã¿ãã¼ãã«ã®å
+ãtrapaå½ä»¤ç¨ã«ç¢ºä¿ãã¦ãããã£ãã«æ° */
+#define TRAP_VECTOR_SIZE	4
+
+#ifndef _MACRO_ONLY
+/*  éé¿ã¹ãã¼ã¹ã®ãã¼ã¿åå®ç¾©  */
+typedef struct {
+	UW trap_vector[TRAP_VECTOR_SIZE];
+	UW irq5;
+} TMP_VECTOR;
+
+/*  å²è¾¼ã¿ãã¯ã¿ã®éé¿  */
+extern void load_vector(TMP_VECTOR *p);
+/*  å²è¾¼ã¿ãã¯ã¿ã®å¾©å
+  */
+extern void save_vector(TMP_VECTOR *p);
+
+#endif	/*  _MACRO_ONLY  */
+
+#endif	/* of #ifdef REDBOOT */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_defs.h	(revision 26)
@@ -0,0 +1,101 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.13 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *ãã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  H8ã®ãã­ã»ããµã¿ã¤ã
+ */
+
+#define H8_3069F
+
+/**************************************************************
+ * ãµã³ãã«ãã­ã°ã©ã ç¨ã®å®ç¾©
+ *
+ *ããæ¬æ¥ã¯sample1.hã«è¨è¿°ãã¹ãã ããsample1.hã®ç®¡çãç
+©éã«ãªã
+ *ãããããä¾¿å®çã«ãã®ãã¡ã¤ã«ã«è¨è¿°ãã¦ããã
+ **************************************************************/
+
+		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#ifdef REDBOOT
+#define	STACK_SIZE	2048
+#else	/* of #ifdef REDBOOT */
+#define	STACK_SIZE	1024
+#endif	/* of #ifdef REDBOOT */
+
+#ifdef HEW_SIMULATOR
+#define TASK_LOOP	100000	/* æéå¾
+ã¡ã®ã«ã¼ãåæ° */
+#endif	/*  HEW_SIMULATOR  */
+
+#define LOOP_REF	100000	/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+
+#endif /* of #ifndef _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.def	(revision 26)
@@ -0,0 +1,7 @@
+#sys_config.c
+load_vector
+save_vector
+
+#sys_config.c(cpu_config.c)
+cpu_putc
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_rename.h	(revision 26)
@@ -0,0 +1,33 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.c
+ */
+#define load_vector		_kernel_load_vector
+#define save_vector		_kernel_save_vector
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define cpu_putc		_kernel_cpu_putc
+
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#define _load_vector		__kernel_load_vector
+#define _save_vector		__kernel_save_vector
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#define _cpu_putc		__kernel_cpu_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_support.S	(revision 26)
@@ -0,0 +1,163 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.13 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåã«ã¼ãã³
+ */
+	.h8300h
+	.text
+	.align 2
+
+	.global	_hardware_init_hook
+_hardware_init_hook:
+	/*
+	 *  ãªãªã¼ã¹ã§ã¯ãå¤é¨DRAMãæå¹ã«ããã
+	 *ããï¼å¤é¨DRAMãä½¿ç¨ããå ´åï¼
+	 */
+#ifdef ROM
+	mov.b	#0xff, r1l
+	mov.l	#H8P1DDR, er0
+	mov.b	r1l, @er0	/* enable A0  - A7  */
+
+	add.b	#(H8P2DDR - H8P1DDR), r0l
+	mov.b	r1l, @er0	/* enable A8  - A15 */
+
+	add.b	#(H8P3DDR - H8P2DDR), r0l
+	mov.b	r1l, @er0	/* enable D8  - D15 */
+
+	mov.b	#H8P5DDR_A16, r0h
+	mov.b	r0h, @H8P5DDR	/*  Enable A16		*/
+#endif	/*  #ifdef ROM  */
+
+	/*
+	 *  Ethernetããã¤ã¹ãä½¿ç¨ããå ´åãããã§CS1ãè¨­å®ããªãã¨
+	 *ãããã¤ã¹ãèª¤åä½ããã
+	 */
+#if defined(ROM) || defined(INMEM_ONLY)
+	mov.b	#H8P8DDR0, r0h
+	mov.b	r0h, @H8P8DDR	/*  Enable CS1/CS2	*/
+#endif /* defined(ROM) || defined(INMEM_ONLY) */
+
+
+#ifdef ROM
+	mov.b	#H8PBDDR_UCAS, r0h
+	mov.b	r0h, @H8PBDDR	/*  Enable UCAS		*/
+
+		/*  DRAM: 2,048/32ms: 32ms / 2,048 = 15.625us	*/
+		/*  20MHz / 8 / 39 = 1 / 15.6us			*/
+	mov.b	#((32*(CPU_CLOCK/1000))/(8*2048)), r0h
+	mov.b	r0h, @H8RTCOR
+
+	mov.b	#H8RTMCSR_CKS1, r0h
+	mov.b	r0h, @H8RTMCSR	/*  clock / 8			*/
+
+	mov.b	#(H8DRCRB_RCYCE | H8DRCRB_MXC1), r0h
+	mov.b	r0h, @H8DRCRB	/*  column address: 10 bit, A23 - A10	*/
+
+	/*
+	 *ãã­ããã«ããä½¿ç¨ããã¦ããå¤é¨RAMãç°ãªã
+	 *ããã»æ¥ç«è£½ HM5117800
+	 *ããã»OKIè£½  M5117805D
+	 *
+	 *ãä¸¡å¯¾å¿ã«ããããã
+	 *ããã»BE ãããï¼ï¼
+	 *ããã»RDMãããï¼ï¼
+	 *
+	 *ãè©³ç´°ã¯(toppers-users 1375)ãåç
+§
+	 *
+	 */
+	mov.b	#(H8DRCRA_BE | H8DRCRA_DRAS0), r0h
+	mov.b	r0h, @H8DRCRA
+
+	mov.l	#(CPU_CLOCK / 1000), er0    /*  Wait for DRAM stable	*/
+_hw_init_hock_1:
+	dec.l	#1, er0
+	bne	_hw_init_hock_1
+
+#endif	/*  #ifdef ROM  */
+
+	/*
+	 *  ãã¹ã®ã¦ã§ã¤ãè¨­å®
+	 *  ããã¹ã»ã¦ã§ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿
+	 *
+	 *  CS1(RTL8019AS):	2WAIT
+	 *  CS2(DRAM):		NOWAIT
+	 *  CS3(å¢è¨­DRAM):	NOWAIT
+	 *  OTHER		3WAIT
+	 */
+	mov.b	#0xff, r0h
+	mov.b	r0h, @H8WCRH
+
+	mov.b	#(H8WCRL_W3_NOWAIT | H8WCRL_W2_NOWAIT | H8WCRL_W1_2WAIT | H8WCRL_W0_3WAIT), r0h
+	mov.b	r0h, @H8WCRL
+
+	/*
+	 * ãã¹ã®ã¢ã¯ã»ã¹ã¹ãã¼ãã®è¨­å®
+	 * ããã¹ã»ã¢ã¯ã»ã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿
+	 */
+	mov.b	#~(H8ASTCR_AST3 | H8ASTCR_AST2):8, r0h
+	mov.b	r0h, @H8ASTCR	
+	rts
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/akih8_3069f/sys_unrename.h	(revision 26)
@@ -0,0 +1,33 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.c
+ */
+#undef load_vector
+#undef save_vector
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef cpu_putc
+
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#undef _load_vector
+#undef _save_vector
+
+/*
+ * sys_config.c(cpu_config.c)
+ */
+#undef _cpu_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.c	(revision 26)
@@ -0,0 +1,393 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Katsuhiro Amano
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.18 2007/03/23 07:22:15 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+#include <hw_serial.h>
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+volatile UB task_intmask = 0;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+
+volatile UB int_intmask = 0;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+
+volatile UB intnest = 0;
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ *ããTRUE ï¼CPUã­ãã¯ç¶æ
+
+ *ããFALSEï¼CPUã­ãã¯è§£é¤ç¶æ
+
+ */
+volatile BOOL iscpulocked = TRUE;
+
+/*
+ *  ã¿ã¤ãã®ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿
+ *      æ¬æ¥ã¯hw_timer.hã«è¨è¿°ããã¹ãã ããããããã¨
+ *      hw_timer.hãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã§ãã¹ã¦å®ä½åããã¦
+ *ãããã¡ã¢ãªé åãå æãã¦ãã¾ããããå®ä½ã¯ããã«è¨è¿°ããã
+ */
+const IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
+                        SYSTEM_TIMER_IP_BIT,
+                        SYSTEM_TIMER_IPM
+                      };
+
+/*
+ *  ãã¯ã¿ãã¼ãã«ã®åæåï¼for RedBootï¼
+ */
+#ifdef REDBOOT
+
+/*  VECTOR_TABLE_ADDRã¯sys_config.hã§å®ç¾©ãã  */
+extern void	vector(void);
+
+static void
+copy_vector_table(void)
+{
+	UW n;
+	UW *dst = (UW *)VECTOR_TABLE_ADDR;	/* ãã¯ã¿ãã¼ãã«ã³ãã¼å
+ */
+	UW *src = (UW *)vector;			/* ãã¯ã¿ãã¼ãã«ã³ãã¼å
+ */
+	TMP_VECTOR tmp_vector;
+
+	load_vector(&tmp_vector);
+	for (n = 0; n < VECTOR_SIZE; n++) {
+		*dst = JMP_OPECODE | (*src);	/* jmpå½ä»¤ã®ä»å  */
+		++dst;
+		++src;
+	}
+	save_vector(&tmp_vector);
+}
+#endif	/* of #ifdef REDBOOT */
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+
+#ifndef H8IPRA_INI
+#define H8IPRA_INI	0
+#endif  /*  H8IPRA_INI  */
+
+#ifndef H8IPRB_INI
+#define H8IPRB_INI	0
+#endif  /*  H8IPRB_INI  */
+
+void
+cpu_initialize(void)
+{
+	/* 
+	 *ãCCR ã®UIããããå²ãè¾¼ã¿ãã¹ã¯ãããã¨ãã¦ä½¿ç¨ããã
+	 *ããSYSCR.UEâ0
+	 */
+	bitclr((UB*)H8SYSCR, H8SYSCR_UE_BIT);
+	
+	/* 
+	 *ããã¹ã¦ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ãã¬ãã«ï¼ã«ãã
+	 *
+	 *ããã»ã¢ãã¿ãã¹ã¿ããå²è¾¼ã¿ãä½¿ç¨ããå ´å
+	 *ããããH8IPRA_INIã¨H8IPRB_INIãå®ç¾©ãã¦ãè¨­å®å
+å®¹ãä¿æããã
+	 *ããããIERã¬ã¸ã¹ã¿ã¯ã«ã¼ãã«å´ã§å¤æ´ãã¦ããªãã®ã§ããã®ã¾ã¾ã§
+	 *ããããããã
+	 */
+	sil_wrb_mem((VP)H8IPRA, H8IPRA_INI);
+	sil_wrb_mem((VP)H8IPRB, H8IPRB_INI);
+	
+	SCI_initialize(SYSTEM_PORTID);
+
+#ifdef REDBOOT
+	copy_vector_table();
+#endif	/* of #ifdef REDBOOT */
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+
+void
+cpu_terminate(void)
+{
+}
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *ãIPMã«è¨­å®ã§ããå¤ã¨ãã¦IPM_LEVEL0ãIPM_LEVEL1ãIPM_LEVEL2ããã¯ã­
+ *ãå®ç¾©ããã¦ããã
+ *
+ *
+ *ãIPM_LEVEL0ï¼ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ *ãIPM_LEVEL1ï¼ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ã
+ *ããããããããããããåãä»ãã
+ *ãIPM_LEVEL2ï¼ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+ *
+ *  IPM ãã¬ãã«0ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ã§ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ããããã¨ã«
+ *  ãã£ã¦ï¼æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿
+ *  ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_CHG_IPM_ENTER(ipm);
+        CHECK_TSKCTX_UNL();
+        CHECK_PAR( (ipm == IPM_LEVEL0) || (ipm == IPM_LEVEL1) || (ipm == IPM_LEVEL2) );
+
+        t_lock_cpu();
+        task_intmask = ipm;
+        t_unlock_cpu();
+        
+    exit:
+        LOG_CHG_IPM_LEAVE(ercd)
+        return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_GET_IPM_ENTER(p_ipm);
+        CHECK_TSKCTX_UNL();
+
+        t_lock_cpu();
+        *p_ipm = task_intmask;
+        t_unlock_cpu();
+
+    exit:
+        LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+        return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*****ä»¥ä¸ãå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªãé¨å*********/
+
+/*
+ * æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºå
+ * ããç»é²ããã¦ããªãå²è¾¼ã¿ãçºçããã¨å¼ã³åºããã
+ * 
+ * ãã¹ã¿ãã¯æ§é 
+ *ãã +0:er0
+ *ãã +4:er1
+ *ãã +8:er2
+ *ãã+12:er3
+ *ãã+16:er4
+ *ãã+20:er5
+ *ãã+24:er6
+ *ãã+28:crr
+ *ãã+29:pc
+ *ãã+32ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+ */
+
+/*
+ * å²è¾¼ã¿çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã¾ã§ã®ãªãã»ãã
+ */
+#define OFFSET_SP	32u
+
+void cpu_experr(EXCSTACK *sp)
+{
+    UW sp2, pc, ccr, tmp;
+    
+    sp2 = (UW)sp + OFFSET_SP;
+    tmp = sp->pc;
+    ccr = (tmp >> 24u) & 0xffu;	/*  ä¸ä½1ãã¤ã  */
+    pc = tmp & 0x00ffffffu;	/*  ä¸ä½3ãã¤ã  */
+    
+    syslog(LOG_EMERG, "Unexpected interrupt.");
+    syslog(LOG_EMERG, "PC  = 0x%08x SP  = 0x%08x CCR  = 0x%02x",
+                       pc, sp2, ccr);
+    syslog(LOG_EMERG, "ER0 = 0x%08x ER1 = 0x%08x ER2 = 0x%08x ER3 = 0x%08x",
+                       sp->er0, sp->er1, sp->er2, sp->er3);
+    syslog(LOG_EMERG, "ER4 = 0x%08x ER5 = 0x%08x ER6 = 0x%08x",
+                       sp->er4, sp->er5, sp->er6);
+    while(1)
+    	;
+}
+
+
+/*
+ *   HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³
+ *   ãè¦æ¤è¨ï¼ã¢ãã¬ã¹å¹
+ã«ä¾å­ãç¾ç¶ã¯24ãããã¢ãã¬ã¹ãæ³å®ãã¦å®è£
+
+ */
+#ifdef HEW_SIMULATOR
+
+/*  æ©è½ã³ã¼ãï¼2ãã¤ãï¼  */
+#define GETC	0x0111
+#define PUTC	0x0112
+
+/*  HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³æ©è½å¼ã³åºã  */
+void hew_io_sim(UH code, void *adr);
+
+void hew_io_sim_putc(char c)
+{
+	UB buf = (UB)c;			/*  ãããã¡  */
+	UB *parmblk = &buf;		/*  ãã©ã¡ã¼ã¿ãã­ãã¯  */
+	UB **p = &parmblk;		/*  ããã»ãã®å
+é ­ã¢ãã¬ã¹  */
+	UH code = PUTC;			/*  æ©è½ã³ã¼ã  */
+	
+	hew_io_sim(code, p);
+}
+
+extern BOOL hew_io_sim_snd_chr(char c);
+
+BOOL hew_io_sim_snd_chr(char c)
+{
+	hew_io_sim_putc(c);
+	return TRUE;
+}
+
+extern INT hew_io_sim_rcv_chr(void);
+
+INT hew_io_sim_rcv_chr(void) {
+	UB buf;					/*  ãããã¡  */
+	UB *parmblk = &buf;		/*  ãã©ã¡ã¼ã¿ãã­ãã¯  */
+	UB **p = &parmblk;		/*  ããã»ãã®å
+é ­ã¢ãã¬ã¹  */
+	UH code = GETC;			/*  æ©è½ã³ã¼ã  */
+	
+	hew_io_sim(code, p);
+	return(buf);
+}
+
+#endif /* HEW_SIMULATOR */
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+#ifdef HEW_SIMULATOR
+#define CPU_PUT_CHAR(c) hew_io_sim_putc(c)
+
+#else	/* HEW_SIMULATOR */
+#define CPU_PUT_CHAR(c) SCI_wait_putchar(SYSTEM_SCI, c)
+
+#endif	/* HEW_SIMULATOR */
+
+void
+cpu_putc(char c)
+{
+    if (c == '\n') {
+        CPU_PUT_CHAR('\r');
+    }
+    CPU_PUT_CHAR(c);
+}
+
+/*
+ *  local_memcpy
+ *
+ *    æ¨æº C ã©ã¤ãã©ãªã® memcpy ã¨åããä½æ°´æºã³ãã¼é¢æ°
+ *    ãªã³ã¯æã«ã¨ã©ã¼ãçºçãããããååãå¤ãã¦ããã
+ *    ã¾ãããªã³ã¯ã¹ã¯ãªããã®æå¾ã®è¡ã«
+ *
+ *       PROVIDE(_memcpy = _local_memcpy);
+ *
+ *    ãè¿½å ããã
+ *
+ *    eepmov.wå½ä»¤ãä½¿ãæ¹ãå¹ççã ãããã¼ã¿è»¢éä¸­ã¯ï¼é·ãæéï¼
+ *    å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ãã¾ãã®ã§ãä½¿ç¨ãã¦ããªãã
+ */
+
+void *
+local_memcpy (void *out, const void *in, size_t n)
+{
+    char *o = out;
+    const char *i = in;
+
+    while (n > 0) {
+        *o = *i;
+        ++o;
+        ++i;
+        --n;
+    }
+    return out;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_config.h	(revision 26)
@@ -0,0 +1,449 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.18 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#include <h8.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+
+typedef struct task_context_block {
+	VP	sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+
+Inline UB
+current_intmask(void)
+{
+	return(current_ccr() & H8INT_MASK_ALL);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+
+Inline void
+set_intmask(UB intmask)
+{
+	set_ccr((current_ccr() & ~H8INT_MASK_ALL) | intmask);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+
+extern volatile UB intnest;
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨
+ *  ãã«ã¯ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+
+Inline BOOL
+sense_context(void)
+{
+	BOOL ret;
+	
+	ret = (intnest != 0) ? TRUE : FALSE;
+	return(ret);
+}
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ */
+extern volatile BOOL    iscpulocked;
+
+#define sense_lock()    iscpulocked
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ãchg_ipm ããµãã¼ãããããã®å¤æ°ãchg_ipm ããµãã¼ã
+ *  ããªãå ´åã«ã¯ãt_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦ããã
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern volatile UB       task_intmask;   /* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu(void)
+{
+        disint();
+    	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+    	Asm("":::"memory");
+        iscpulocked = TRUE;
+}
+
+Inline void
+t_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+    	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+    	Asm("":::"memory");
+#ifdef SUPPORT_CHG_IPM
+        /*
+         *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããããã
+         *  å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãã
+         */
+        set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+        enaint();               /* cpu_insn.h */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern volatile UB int_intmask;    /* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu(void)
+{
+        UB      intmask = current_intmask();
+        /*
+         *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask()ãå¼ã
+         *  ã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+         *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+         */
+
+        disint();
+    	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+    	Asm("":::"memory");
+        int_intmask = intmask;
+        iscpulocked = TRUE;
+}
+
+Inline void
+i_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+    	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+    	Asm("":::"memory");
+        set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void	exit_and_dispatch(void);
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *
+ */
+
+#define JMP_OPECODE		0x5a000000u
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+#ifdef REDBOOT
+   UW *addr = (UW *)VECTOR_TABLE_ADDR;
+   addr[inhno] = JMP_OPECODE | (UW)inthdr;
+#endif	/*  #ifdef REDBOOT  */
+}
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+#endif	/*  _MACRO_ONLY  */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ *
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *		ï¼ä¸»ã«å
+¥å£å¦çï¼
+ */
+
+/*  
+ * Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ ãããã¯ã­
+ */
+
+/*  Cè¨èªç¨ã®ã©ãã«çæ  */
+#define	INT_ENTRY(inthdr)	_kernel_##inthdr##_entry
+#define	EXC_ENTRY(exchdr)	INT_ENTRY(exchdr)
+
+/*  ã¢ã»ã³ãã©ç¨ã®ã©ãã«çæ  */
+#define	INT_ENTRY_ASM(inthdr)	__kernel_##inthdr##_entry
+
+
+
+/*
+ *ããå²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®å®ç¾©
+ *ãããï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+ *
+ *ããããã©ã¡ã¼ã¿
+ *	ããentryï¼å
+¥å£å¦çã®ã©ãã«
+ *ãããããinthdrï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+ *ãããããintmaskï¼ãå²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+ *ãããããããããããIPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨
+ *
+ *ãããH8ã§ã¯å²è¾¼ã¿åä»ç´å¾ã¯ãã¼ãã¦ã§ã¢çã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ãã
+ *
+ *ããããã¬ã¸ã¹ã¿å²ãå½ã¦
+ *ãããããã»er0ãer3ï¼éé¿
+ *ãããããã»er2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *ãããããã»r3lï¼å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+ *
+ */
+#define	INTHDR_ENTRY2(entry, inthdr, intmask)	 \
+	_INTHDR_ENTRY2(entry, inthdr, intmask)
+
+#define	_INTHDR_ENTRY2(entry, inthdr, intmask)	 \
+asm(".text					\n"\
+"	.align 2				\n"\
+"	.global "#entry"			\n"\
+#entry":					\n"\
+	/*  å¿
+è¦æå°éã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«å¾
+é¿  */\
+"	push.l	er0				\n"\
+"	push.l	er1				\n"\
+"	push.l	er2				\n"\
+"	push.l	er3				\n"\
+	/*  Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹  */	 \
+"	mov.l   #_"#inthdr", er2		\n"\
+	/*  å²è¾¼ã¿è¨±å¯æã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®å¤  */\
+"	mov.b   #"#intmask", r3l		\n"\
+"	jmp	@__kernel_common_interrupt_process"\
+)
+
+/*  _INTHDR_ENTRY()ãã¯ã­ãããã¾ã§  */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+
+#define INTHDR_ENTRY(inthdr)				\
+	extern void INT_ENTRY(inthdr)(void) throw();	\
+	INTHDR_ENTRY2(INT_ENTRY_ASM(inthdr), inthdr, inthdr##_intmask)
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define	EXCHDR_ENTRY(exchdr)	INTHDR_ENTRY(exchdr)
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+        /* H8çã§ã¯å¼ã°ããªãã */
+        return(TRUE);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+        /* H8çã§ã¯å¼ã°ããªãã */
+        return(TRUE);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+
+extern void	cpu_terminate(void);
+
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+
+typedef struct exc_stack {
+	UW	er0;
+	UW	er1;
+	UW	er2;
+	UW	er3;
+	UW	er4;
+	UW	er5;
+	UW	er6;
+	UW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+} EXCSTACK;
+
+/*
+ * æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºå (cpu_config.c, cpu_support.S)
+ */
+
+extern void     cpu_experr(EXCSTACK *sp) throw();
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+
+extern void cpu_putc(char c);
+
+#endif /* _MACRO_ONLY_ */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_context.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ *  
+ */
+
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *  
+ *  ãH8ä¾å­é¨ã§ã¯ãcreate_context(),activate_context()ã¨ãã«ã¿ã¹ã¯
+ *ããã¹ã¿ãã¯ã®åºãæ¸ãæããªãã®ã§,ACTIVATED_STACK_SIZEã®å®ç¾©ã¯
+ *ããå¿
+è¦ãªãã
+ */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_defs.h	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼H8ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#include <h8.h>		/*  IPM_LEVEL0,1,2ã®å®ç¾©  */
+#define H8
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2010 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n" \
+"Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering\n" \
+"                 Tomakomai National College of Technology, JAPAN\n" \
+"Copyright (C) 2003-2004 by Katsuhiro Amano\n"
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  CPU ã®ãã¤ãé ã«é¢ããå®ç¾©
+ */
+
+#define SIL_ENDIAN		SIL_ENDIAN_BIG
+
+#ifndef _MACRO_ONLY
+typedef	UINT	INHNO;			/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;			/* CPUä¾å¤ãã³ãã©çªå· */
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ *
+ * cpu_defs.hã¨sys_defs.hãã¤ã³ã¯ã«ã¼ãããé çªã®é¢ä¿ã§
+ * SUPPORT_CHG_IPMãã¯ã­ãSUPPORT_VXGET_TIMãã¯ã­ã§ã¯å²ã¾ãªã
+ * ï¼_MACRO_ONLYãã¯ã­ã§å²ãã°ãååï¼
+ */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+#ifndef _MACRO_ONLY
+typedef UB              IPM;            /* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER       chg_ipm(IPM ipm) throw();
+extern ER       get_ipm(IPM *p_ipm) throw();
+
+
+/*
+ *  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿æ§é 
+ */
+typedef struct {
+        UB *ipr;        /* è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå° */
+        UB bit;         /* IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå· */
+        IPM ipm;        /* è¨­å®ããå²è¾¼ã¿ã¬ãã« */
+                        /* IPM_LEVEL0,IPM_LEVEL1ã®ãããã */
+} IRC;                  /* IRC:Interrupt Request Controller */
+
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»è¨æ¸¬æ©è½
+ */
+
+/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+#ifdef _int64_		/*  64ãããæ´æ°ãæ±ãã  */
+typedef	UD  SYSUTIM;
+#else 	/*  _int64_  */
+typedef	UW  SYSUTIM;
+#endif	/*  _int64_  */
+
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+/*
+ *  ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort (void)
+{
+	while (1)
+		;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_insn.h	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼H8ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UB
+current_ccr(void)
+{
+    UB	ccr;
+    Asm("stc.b ccr,%0l" : "=r"(ccr));
+    return(ccr);
+}
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_ccr(UB ccr)
+{
+	Asm("ldc.b %0l, ccr" : : "r"(ccr) );
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+    Asm("orc #"str_H8INT_DIS_ALL",ccr");
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint(void)
+{
+    Asm("andc #"str_H8INT_ENA_ALL",ccr");
+}
+
+/*
+ * ããããã¯ãªã¢
+ */
+Inline void
+bitclr (UB *addr, UB bit)
+{
+    Asm("bclr %1l, @%0" : : "r"(addr), "r"(bit));
+}
+
+/*
+ * ããããã»ãã
+ */
+Inline void
+bitset (UB *addr, UB bit)
+{
+    Asm("bset %1l, @%0" : : "r"(addr), "r"(bit));
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.def	(revision 26)
@@ -0,0 +1,24 @@
+#cpu_config.c
+intnest
+iscpulocked
+task_intmask
+int_intmask
+TIMER_IRC
+cpu_experr
+
+#cpu_support.S
+activate_r
+no_reg_exception
+common_interrupt_process
+
+#hw_serial.c
+siopcb_table
+SCI_cls_por
+SCI_ierdy_rcv
+SCI_ierdy_snd
+SCI_in_handler
+SCI_initialize
+SCI_out_handler
+
+#vector.S
+vector
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_rename.h	(revision 26)
@@ -0,0 +1,75 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#define intnest			_kernel_intnest
+#define iscpulocked		_kernel_iscpulocked
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define TIMER_IRC		_kernel_TIMER_IRC
+#define cpu_experr		_kernel_cpu_experr
+
+/*
+ * cpu_support.S
+ */
+#define activate_r		_kernel_activate_r
+#define no_reg_exception	_kernel_no_reg_exception
+#define common_interrupt_process	_kernel_common_interrupt_process
+
+/*
+ * hw_serial.c
+ */
+#define siopcb_table		_kernel_siopcb_table
+#define SCI_cls_por		_kernel_SCI_cls_por
+#define SCI_ierdy_rcv		_kernel_SCI_ierdy_rcv
+#define SCI_ierdy_snd		_kernel_SCI_ierdy_snd
+#define SCI_in_handler		_kernel_SCI_in_handler
+#define SCI_initialize		_kernel_SCI_initialize
+#define SCI_out_handler		_kernel_SCI_out_handler
+
+/*
+ * vector.S
+ */
+#define vector			_kernel_vector
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#define _intnest		__kernel_intnest
+#define _iscpulocked		__kernel_iscpulocked
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _TIMER_IRC		__kernel_TIMER_IRC
+#define _cpu_experr		__kernel_cpu_experr
+
+/*
+ * cpu_support.S
+ */
+#define _activate_r		__kernel_activate_r
+#define _no_reg_exception	__kernel_no_reg_exception
+#define _common_interrupt_process	__kernel_common_interrupt_process
+
+/*
+ * hw_serial.c
+ */
+#define _siopcb_table		__kernel_siopcb_table
+#define _SCI_cls_por		__kernel_SCI_cls_por
+#define _SCI_ierdy_rcv		__kernel_SCI_ierdy_rcv
+#define _SCI_ierdy_snd		__kernel_SCI_ierdy_snd
+#define _SCI_in_handler		__kernel_SCI_in_handler
+#define _SCI_initialize		__kernel_SCI_initialize
+#define _SCI_out_handler	__kernel_SCI_out_handler
+
+/*
+ * vector.S
+ */
+#define _vector			__kernel_vector
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_support.S	(revision 26)
@@ -0,0 +1,497 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.17 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼H8ç¨ï¼
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+#define DISINT	orc.b  #H8INT_DIS_ALL, ccr
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+#define ENAINT	andc.b #H8INT_ENA_ALL, ccr
+
+
+	.h8300h
+
+	.text
+	.align 2
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *    ã_dispatch ã¯ãå²è¾¼ã¿å¤ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+
+ *    ã§å¼ã³åºããªããã°ãªããªãï¼exit_and_dispatch ãï¼å²è¾¼ã¿ãã¹ã
+ *    ã«ã¦ã³ã¿ = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«
+ *    èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1ã§å¼ã³åºããå ´åã«
+ *    ãå¯¾å¿ãã¦ããï¼
+ */
+
+	.global _dispatch
+_dispatch:
+	push.l	er4			/*  er4ã6ãä¿å­		*/
+	push.l	er5
+	push.l	er6
+	mov.l	@_runtsk, er0		/* er0 <- runtsk		*/
+	mov.l	sp, @(TCB_sp, er0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­	*/
+	mov.l	#dispatch_r, er1	/* å®è¡åéçªå°			*/
+	mov.l	er1, @(TCB_pc, er0)
+	bra     dispatcher
+
+dispatch_r:
+	pop.l	er6			/*  er4ã6ãå¾©å
+		*/
+	pop.l	er5
+	pop.l	er4
+	mov.l	@_runtsk, er0
+	mov.b	@(TCB_enatex, er0), r1l	/* runtsk->enatex ã®ãã§ãã¯	*/
+	btst	#TCB_enatex_bit, r1l
+	beq	dispatch_r_1
+	mov.l	@(TCB_texptn, er0), er1	/* runtsk->texptn ã®ãã§ãã¯	*/
+	beq	dispatch_r_1
+	jmp	@_call_texrtn
+
+dispatch_r_1:
+	rts			/*  dispatch()ã®å¼ã³åºãå
+ã¸ãªã¿ã¼ã³  */
+
+	.global	_exit_and_dispatch
+_exit_and_dispatch:
+	/* å²ãè¾¼ã¿ç¦æ­¢ã§å¼ã°ãã */
+	mov.b   #0, r0l         	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢	*/
+	mov.b   r0l, @_intnest
+
+/*  
+ *ããã£ã¹ãããã£æ¬ä½
+ */
+dispatcher:
+	/*
+	 * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+	 */
+
+	/*
+	 * ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+	 * ã(1) schedtsk != NULLã®å ´å
+	 * ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+	 * ã(2) schedtsk == NULLã®å ´å
+	 * ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+	 * ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+	 * ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+	 * ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+	 * ãããããããå¿
+è¦ããããï¼
+	 */
+	mov.l	@_schedtsk, er0		/* er0 <- schedtsk		*/
+	mov.l	er0, @_runtsk		/* schedtskãruntskã«		*/
+			/*  å®è¡ãã¹ãã¿ã¹ã¯ããªããã°ãå²è¾¼ã¿å¾
+ã¡ã¸åå²  */
+	beq	dispatcher_1
+	mov.l	@(TCB_sp, er0), sp
+	mov.l	@(TCB_pc, er0), er0	/* å®è¡åéçªå°ãå¾©å¸°		*/
+	jmp	@er0
+
+
+	/*
+	 *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡
+	 *  
+	 *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+	 *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+	 */
+dispatcher_1:
+	    			/* ã¹ã¿ãã¯ãå²ãè¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ã	*/
+	mov.l	#STACKTOP, sp
+					/*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãï¼ã«ãã	*/
+	mov.b   #1, r0l
+	mov.b   r0l, @_intnest
+
+	/*
+	 * r1lï¼å²è¾¼ã¿è¨±å¯æã«ccrã«è¨­å®ããå¤
+	 *ãããå²è¾¼ã¿ãã³ãã©å
+ã§ã¯chg_ipmãä½¿ç¨ã§ããªãã®ã§ã
+	 *ãããtask_intmaskã¯1åèª­ã¿è¾¼ãã§ããã°ãOK
+	 */
+#ifdef SUPPORT_CHG_IPM
+	mov.b     @_task_intmask, r1l
+#else	/* SUPPORT_CHG_IPM */
+	mov.b     #H8INT_ENA_ALL, r1l
+#endif	/* SUPPORT_CHG_IPM */
+
+	/* CPUã­ãã¯ãã©ã°ãã¯ãªã¢ */
+	sub.l	er0, er0
+	mov.l   er0, @_iscpulocked
+
+
+dispatcher_2_enable_interrupt:
+	/*
+	 *ãldcå½ä»¤ç´å¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ã¦ã
+	 *ãæ¬¡ã®å½ä»¤ãå®è¡ãããã
+	 *ãï¼å²è¾¼ã¿ããæ»ã£ã¦ãã¦sleepããã±ã¼ã¹ã¯ãªãï¼
+	 */
+	ldc.b     r1l, ccr              /* å²ãè¾¼ã¿è¨±å¯ */
+#ifndef NO_SLEEP
+	sleep                           /* å²è¾¼ã¿å¾
+ã¡ */
+#else /* NO_SLEEP */
+	nop
+#endif /* NO_SLEEP */
+	DISINT                          /* å²ãè¾¼ã¿ç¦æ­¢ */
+
+	mov.l   @_reqflg, er0           /* reqflgã®ãã§ãã¯ */
+			/* reqflgã¯BOOLå -> intå(32bits) */
+			/*  reqflg==NULLãªãã°ããã1åº¦å²è¾¼ã¿å¾
+ã¡  */
+	beq     dispatcher_2_enable_interrupt
+	sub.l	er0, er0
+	mov.l   er0, @_reqflg		/* reqflgã®ã¯ãªã¢ */
+			/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢	*/
+	mov.b   r0l, @_intnest
+	bra	dispatcher
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©å
+¥å£å¦ç
+ *ããå²è¾¼ã¿è¦å ã«ä¾ãããå
+±éãªé¨å
+ *ããï¼cpu_config.hã®INTHDR_ENTRYããã®ç¶ãï¼
+ *
+ *ããããä»¥ä¸ã®ç¶æ
+ã§ããã«ãã£ã¦ãã
+ *ãããããã»å²è¾¼ã¿ç¦æ­¢
+ *ãããããã»er0ãer3éé¿æ¸ã¿
+ *ãããããã»er2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *ãããããã»r3lï¼å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+ */
+	.global _common_interrupt_process
+_common_interrupt_process:
+	push.l	er4			/*  æé©åå¯¾ç­ã§er4ãéé¿  */
+	mov.b   @_intnest, r0l          /* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ */
+	bne     _interrupt_from_int     /*  intnetã0ã§ãªããã°ã*/
+									/*  å¤éå²è¾¼ã¿ã®å¦çã¸  */
+
+	/*
+	 *ãåæ®µã®å²è¾¼ã¿ã®å ´å
+	 */
+	mov.b   #1, r1l                 /* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿âï¼ */
+	mov.b   r1l, @_intnest
+	mov.l   sp, er0
+	mov.l   #STACKTOP, sp           /* ã¹ã¿ãã¯åæ¿ */
+	push.l  er0                     /* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®éé¿ */
+	ldc.b   r3l, ccr                /* å²è¾¼ã¿è¨±å¯ */
+	jsr     @er2                    /* Cè¨èªã«ã¼ãã³å¼ã³åºã */
+	DISINT                          /* å²è¾¼ã¿ç¦æ­¢ */
+	mov.b   #0, r0l                 /* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¯ãªã¢ */
+	mov.b   r0l, @_intnest
+	mov.l   @sp, sp                 /* ã¹ã¿ãã¯åæ¿ */
+	mov.l   @_reqflg, er0           /* reqflgã®ãã§ãã¯ */
+	beq     _ret_to_task_int        /* reqflgãFALSEãªã */
+									/* ret_to_task_intã«é£ã¶ */
+	sub.l	er0, er0
+	mov.l   er0, @_reqflg           /* reqflgãã¯ãªã¢ */
+	bra     ret_int                 /* åºå£å¦çã¸ã¸ã£ã³ã */
+
+	/*
+	 *ãå¤éå²è¾¼ã¿ã®å ´å
+	 *ããå²è¾¼ã¿ç¦æ­¢ã§ããã«ãã£ã¦ãã
+	 *
+	 *ããå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯ä»¥ä¸ã®çç±ã§
+	 *ããçç¥ãã¦ãã
+	 *ãããã»å²è¾¼ã¿ã2ã¬ãã«ãããªã
+	 *ãããã»CPUä¾å¤ããµãã¼ãããªã
+	 *ãããããexc_sense_context()ã®ãã¨ãèæ
+®ããªãã¦ãè¯ã
+	 */
+_interrupt_from_int:
+	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯çç¥ */
+	ldc.b   r3l, ccr                /* å²è¾¼ã¿è¨±å¯ */
+	jsr     @er2                    /* Cè¨èªã«ã¼ãã³å¼ã³åºã */
+	DISINT                          /* å²è¾¼ã¿ç¦æ­¢ */
+	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã£ã¯ãªã¡ã³ãã¯çç¥ */
+
+	/*
+	 *ãæ¬æ¥ã¯ããã§æ»ãå
+ããå²è¾¼ã¿å¾
+ã¡ã®sleepå½ä»¤ãã©ããã®ãã§ã
+	 *ãã¯ãå¿
+è¦ã§ãããï¼ãããå²è¾¼ã¿ãã³ãã©å
+ã§reqflg=TRUEã«ãã¦
+	 *ãããã£ã¹ãããã£ãå¼ã°ããªãï¼ã¿ã¹ã¯ãå®è¡ãããªãï¼
+	 *ãH8ã®å ´åãsleepå½ä»¤ã®ç´åã«ããå²è¾¼ã¿è¨±å¯ã®ldcå½ä»¤ã®å®è¡ç´
+	 *ãå¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ãã¨ãã¦ãå²è¾¼ã¿ã¯å
+	 *ããä»ããªãã§ãsleepå½ä»¤ãå®è¡ãããããã®ãããå²è¾¼ã¿ãã
+	 *ãæ»ã£ãç´å¾ã«sleepå½ä»¤ãå®è¡ãããã±ã¼ã¹ã¯èæ
+®ããªãã¦è¯ãã
+	 */
+
+	/*
+	 *ããã£ã¹ãããã£ãå¼ã°ãã«ãå²è¾¼ã¿å
+ã«æ»ãå ´å
+	 */
+_ret_to_task_int:
+					/* ã¬ã¸ã¹ã¿ãå¾©å
+ */
+	pop.l	er4			/*  er4ã¯æé©åå¯¾ç­  */
+	pop.l   er3
+	pop.l   er2
+	pop.l   er1
+	pop.l   er0
+	rte                             /* å²è¾¼ã¿å
+ã¸ãªã¿ã¼ã³ */
+
+/*
+ * åºå£å¦çã«ããã¦ã¹ã¿ãã¯ãã¤ã³ã¿ãæãã¦ããçªå°ããCCRã¬ã¸ã¹ã¿ã
+ * ç©ã¾ãã¦ããçªå°ã¾ã§ã®ãªãã»ããã®å®ç¾©
+ *
+ *ã +0:er4
+ *ã +4:er3
+ *ã +8:er2
+ *ã+12:er1
+ *ã+16:er0
+ *  +20:ccr âãããspç¸å¯¾ã¢ã¯ã»ã¹ãã
+ */
+#define OFFSET_CCR	20
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã
+ * ä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+ *
+ */
+
+ret_int:
+	mov.l	@_enadsp, er0		/* enadspã®ãã§ãã¯		*/
+	beq	ret_int_1	/* ãã£ã¹ãããç¦æ­¢ãªãret_int_1ã¸	*/
+
+	mov.l	@_runtsk, er0		/* er0 <- runtsk		*/
+	mov.l	@_schedtsk, er1		/* er1 <- schedtsk		*/
+	cmp.l	er0, er1			/* runtsk ã¨ schedtsk ãæ¯è¼	*/
+	beq	ret_int_1				/* åããªãret_int_1ã¸		*/
+
+	push.l  er5					/* ã¬ã¸ã¹ã¿éé¿ */
+	push.l  er6
+
+	mov.l	sp, @(TCB_sp, er0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­	*/
+	mov.l	#ret_int_r, er1  	/* å®è¡åéçªå°			*/
+	mov.l	er1, @(TCB_pc, er0)
+	bra	dispatcher:16
+		/*  8ãããPCç¸å¯¾åå²ã§ã¯å±ããªãããã16ãããæå®  */
+
+/*
+ *  å²è¾¼ã¿ã®åºå£ã§ãã£ã¹ãããã£ããããã«æ»ã£ã¦ãã
+ */
+ret_int_r:
+	pop.l   er6                     /* ã¬ã¸ã¹ã¿å¾©å
+ */
+	pop.l   er5
+
+	/*
+	 *ãã¿ã¹ã¯ã¹ã¤ããããªãå ´åã¯ããããåæµãã
+	 */
+ret_int_1:
+					/*  ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã®ãã§ãã¯ */
+	mov.l	@_runtsk, er0
+	mov.b	@(TCB_enatex, er0), r1l
+	btst	#TCB_enatex_bit, r1l	/*  TCB.enatex=0 -> CCR.Z=1  */
+	beq	ret_int_2	/*  ã¿ã¹ã¯ä¾å¤ç¦æ­¢ç¶æ
+ãªãã¸ã£ã³ã  */
+	
+					/*  ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯ */
+	mov.l	@(TCB_texptn, er0), er1
+	beq	ret_int_2	/*  ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããªããã°ã¸ã£ã³ã */
+	jsr	@_call_texrtn		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å	*/
+
+ret_int_2:
+	/* CPUã­ãã¯ãã©ã°ãã¯ãªã¢ */
+	sub.l   er0, er0
+	mov.l   er0, @_iscpulocked
+
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  ã¹ã¿ãã¯ã«ç©ãã§ããccrï¼æ»ãå
+ã®å²è¾¼ã¿ãã¹ã¯ï¼ã
+	 *ãtask_intmaskã«ãããï¼ä¸è¨åç
+§ï¼
+	 */
+	mov.b   @(OFFSET_CCR, sp), r0l
+	mov.b   @_task_intmask, r1l
+	and.b   #H8INT_ENA_ALL, r0l
+	or.b    r1l, r0l
+	mov.b   r0l, @(OFFSET_CCR, sp)
+#endif 	/* SUPPORT_CHG_IPM */
+	                                /* ã¬ã¸ã¹ã¿ãå¾©å
+ */
+	pop.l   er4                     /* ã +0:er4 */
+	pop.l   er3                     /* ã +4:er3 */
+	pop.l   er2                     /* ã +8:er2 */
+	pop.l   er1                     /* ã+12:er1 */
+	pop.l   er0                     /* ã+16:er0 */
+	                                /*   +20:ccr âãããæ¸ãæãã */
+	rte
+
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ */
+
+	.globl _activate_r
+_activate_r:
+	/* CPUã­ãã¯ãã©ã°ãã¯ãªã¢ */
+	sub.l   er0, er0
+	mov.l   er0, @_iscpulocked
+
+	/*  å²è¾¼ã¿è¨±å¯  */
+#ifdef SUPPORT_CHG_IPM
+	mov.b   @_task_intmask, r0l
+	ldc.b   r0l, ccr
+#else 	/* SUPPORT_CHG_IPM */
+	ENAINT
+#endif 	/* SUPPORT_CHG_IPM */
+
+	mov.l	#_ext_tsk, er2
+	push.l	er2
+	mov.l	@_runtsk, er2
+	mov.l	@(TCB_tinib, er2), er2
+	mov.l	@(TINIB_task, er2), er1	/*  ã¿ã¹ã¯èµ·åçªå°		*/
+					/*  æ¡å¼µæ
+å ±ï¼ã¿ã¹ã¯ã¸ã®å¼æ°ï¼	*/
+	mov.l	@(TINIB_exinf, er2), er0
+	jmp	@er1
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ *  ããã­ãã¿ã¤ãå®£è¨ã¯sil.hå
+ã«ãã
+ *  ã  void sil_dly_nse(UINT dlytim);
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+	/* er0 = dlytim */
+	sub.l	#SIL_DLY_TIM1, er0
+	ble		sil_dly_nse_2
+				/* dlytim < SIL_DLY_TIM1 ãªãã«ã¼ãçµäº */
+sil_dly_nse_1:
+	sub.l	#SIL_DLY_TIM2, er0
+	bgt		sil_dly_nse_1
+	/* dlytim > SIL_DLY_TIM2 ãªãã«ã¼ãç¶è¡ */
+sil_dly_nse_2:
+	rts
+
+
+/**************************************************************
+ *  ä»¥ä¸ãå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¯å«ã¾ããªãç¬èªã®é¨å
+ **************************************************************/
+
+/*
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºãããã
+ *  ä¾å¤ãçºçããæç¹ã®PC,ER0ã7ãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ * 
+ * ãã¹ã¿ãã¯æ§é 
+ *ãã +0:er0
+ *ãã +4:er1
+ *ãã +8:er2
+ *ãã+12:er3
+ *ãã+16:er4
+ *ãã+20:er5
+ *ãã+24:er6
+ *ãã+28:crr
+ *ãã+29:pc
+ *ãã+32ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+ */
+	.globl _no_reg_exception
+_no_reg_exception:
+
+	push.l	er6		/*  ER0ã6ãä¿å­			*/
+	push.l	er5
+	push.l	er4
+	push.l	er3
+	push.l	er2
+	push.l	er1
+	push.l	er0
+
+	mov.l	sp, er0		/*  å¼æ°è¨­å®				*/
+						/*  SP ã¯ +32 ã§ãçºçæç¹ã®å¤		*/
+	jsr	@_cpu_experr	/*  cpu_experr()ã®å¼ã³åºã		*/
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/cpu_unrename.h	(revision 26)
@@ -0,0 +1,75 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#undef intnest
+#undef iscpulocked
+#undef task_intmask
+#undef int_intmask
+#undef TIMER_IRC
+#undef cpu_experr
+
+/*
+ * cpu_support.S
+ */
+#undef activate_r
+#undef no_reg_exception
+#undef common_interrupt_process
+
+/*
+ * hw_serial.c
+ */
+#undef siopcb_table
+#undef SCI_cls_por
+#undef SCI_ierdy_rcv
+#undef SCI_ierdy_snd
+#undef SCI_in_handler
+#undef SCI_initialize
+#undef SCI_out_handler
+
+/*
+ * vector.S
+ */
+#undef vector
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#undef _intnest
+#undef _iscpulocked
+#undef _task_intmask
+#undef _int_intmask
+#undef _TIMER_IRC
+#undef _cpu_experr
+
+/*
+ * cpu_support.S
+ */
+#undef _activate_r
+#undef _no_reg_exception
+#undef _common_interrupt_process
+
+/*
+ * hw_serial.c
+ */
+#undef _siopcb_table
+#undef _SCI_cls_por
+#undef _SCI_ierdy_rcv
+#undef _SCI_ierdy_snd
+#undef _SCI_in_handler
+#undef _SCI_initialize
+#undef _SCI_out_handler
+
+/*
+ * vector.S
+ */
+#undef _vector
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: h8.h,v 1.11 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _H8_H_
+#define _H8_H_
+
+/*
+ *  H8 ç¨å®ç¾©
+ */
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+
+#define TO_STRING(arg)	#arg
+#define _TO_STRING(arg)	TO_STRING(arg)
+
+/* Condition Code Register (CCR) */
+
+#define H8CCR_I_BIT		7
+#define H8CCR_UI_BIT		6
+#define H8CCR_H_BIT		5
+#define H8CCR_U_BIT		4
+#define H8CCR_N_BIT		3
+#define H8CCR_Z_BIT		2
+#define H8CCR_V_BIT		1
+#define H8CCR_C_BIT		0
+
+#define H8CCR_I			(1<<H8CCR_I_BIT)
+#define H8CCR_UI		(1<<H8CCR_UI_BIT)
+#define H8CCR_H			(1<<H8CCR_H_BIT)
+#define H8CCR_U			(1<<H8CCR_U_BIT)
+#define H8CCR_N			(1<<H8CCR_N_BIT)
+#define H8CCR_Z			(1<<H8CCR_Z_BIT)
+#define H8CCR_V			(1<<H8CCR_V_BIT)
+#define H8CCR_C			(1<<H8CCR_C_BIT)
+
+/* CCR ã® Iãããã¨UIããããå²ãè¾¼ã¿ãã¹ã¯ãããã¨ãã¦ä½¿ç¨ããã*/
+
+#define H8INT_MASK_ALL		(H8CCR_I | H8CCR_UI)
+
+#define H8INT_DIS_ALL		H8INT_MASK_ALL
+#define H8INT_ENA_ALL		(0xff & ~(H8INT_MASK_ALL))
+
+#define str_H8INT_DIS_ALL	_TO_STRING(H8INT_DIS_ALL)
+#define str_H8INT_ENA_ALL	_TO_STRING(H8INT_ENA_ALL)
+
+/*
+ *  ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ */
+#define IPM_LEVEL0      0
+
+/*
+ *  ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ãåãä»ãã
+ */
+#define IPM_LEVEL1      H8CCR_I
+
+/*
+ *  ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+ */
+#define IPM_LEVEL2      (H8CCR_I | H8CCR_UI)
+
+
+#endif /* _H8_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3048f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3048f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3048f.h	(revision 26)
@@ -0,0 +1,633 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: h8_3048f.h,v 1.4 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _H8_3048F_H_
+#define _H8_3048F_H_
+
+/*
+ *  H8/3048F ç¨å®ç¾©
+ */
+
+/* Interrupt numbers */
+
+#define IRQ_NMI			7		/* NMI */
+
+#define IRQ_EXT0		12		/* IRQ0 */
+#define IRQ_EXT1		13		/* IRQ1 */
+#define IRQ_EXT2		14		/* IRQ2 */
+#define IRQ_EXT3		15		/* IRQ3 */
+#define IRQ_EXT4		16		/* IRQ4 */
+#define IRQ_EXT5		17		/* IRQ5 */
+
+#define IRQ_WOVI		20		/* Watch Doc Timer */
+
+#define IRQ_CMI			21		/* Compare Match */
+
+#define IRQ_IMIA0		24		/* ITU0 IMIA0 */
+#define IRQ_IMIB0		25		/* ITU0 IMIB0 */
+#define IRQ_OVI0		26		/* ITU0 OVI0  */
+
+#define IRQ_IMIA1		28		/* ITU1 IMIA1 */
+#define IRQ_IMIB1		29		/* ITU1 IMIB1 */
+#define IRQ_OVI1		30		/* ITU1 OVI1  */
+
+#define IRQ_IMIA2		32		/* ITU2 IMIA2 */
+#define IRQ_IMIB2		33		/* ITU2 IMIB2 */
+#define IRQ_OVI2		34		/* ITU2 OVI2  */
+
+#define IRQ_IMIA3		36		/* ITU3 IMIA3 */
+#define IRQ_IMIB3		37		/* ITU3 IMIB3 */
+#define IRQ_OVI3		38		/* ITU3 OVI3  */
+
+#define IRQ_IMIA4		40		/* ITU4 IMIA4 */
+#define IRQ_IMIB4		41		/* ITU4 IMIB4 */
+#define IRQ_OVI4		42		/* ITU4 OVI4  */
+
+#define IRQ_DEND0A		44		/* DMAC */
+#define IRQ_DEND0B		45		/* DMAC */
+#define IRQ_DEND1A		46		/* DMAC */
+#define IRQ_DEND1B		47		/* DMAC */
+
+#define IRQ_ERI0		52		/* SCI0 ERI */
+#define IRQ_RXI0		53		/* SCI0 RXI */
+#define IRQ_TXI0		54		/* SCI0 TXI */
+#define IRQ_TEI0		55		/* SCI0 TEI */
+
+#define IRQ_ERI1		56		/* SCI1 ERI */
+#define IRQ_RXI1		57		/* SCI1 RXI */
+#define IRQ_TXI1		58		/* SCI1 TXI */
+#define IRQ_TEI1		59		/* SCI1 TEI */
+
+#define IRQ_ADI			60		/* A/D */
+
+/* register address */
+
+/* I/O ports */
+
+/* port1: A0  - A7  */
+
+#define H8P1DDR			0xffffc0
+#define H8P1DR			0xffffc2
+
+/* port2: A8  - A15 */
+
+#define H8P2DDR			0xffffc1
+#define H8P2DR			0xffffc3
+#define H8P2PCR			0xffffd8
+
+/* port3: D8  - D15 */
+
+#define H8P3DDR			0xffffc4
+#define H8P3DR			0xffffc6
+
+/* port4: D0  - D7  */
+
+#define H8P4DDR			0xffffc5
+#define H8P4DR			0xffffc7
+#define H8P4PCR			0xffffda
+
+/* port5: A16 - A19 */
+
+#define H8P5DDR			0xffffc8
+#define H8P5DR			0xffffca
+#define H8P5PCR			0xffffdb
+
+#define H8P5DDR_A19_BIT		3
+#define H8P5DDR_A18_BIT		2
+#define H8P5DDR_A17_BIT		1
+#define H8P5DDR_A16_BIT		0
+
+#define H8P5DDR_A19		(1<<H8P5DDR_A19_BIT)
+#define H8P5DDR_A18		(1<<H8P5DDR_A18_BIT)
+#define H8P5DDR_A17		(1<<H8P5DDR_A17_BIT)
+#define H8P5DDR_A16		(1<<H8P5DDR_A16_BIT)
+
+/* port6 */
+
+#define H8P6DDR			0xffffc9
+#define H8P6DR			0xffffcb
+
+#define H8P6DDR_HWR_BIT		6
+#define H8P6DDR_LWR_BIT		5
+#define H8P6DDR_RD_BIT		4
+#define H8P6DDR_AS_BIT		3
+#define H8P6DDR_BACK_BIT	2
+#define H8P6DDR_BREQ_BIT	1
+#define H8P6DDR_WAIT_BIT	0
+
+#define H8P6DDR_HWR		(1<<H8P6DDR_HWR_BIT)
+#define H8P6DDR_LWR		(1<<H8P6DDR_LWR_BIT)
+#define H8P6DDR_RD		(1<<H8P6DDR_RD_BIT)
+#define H8P6DDR_AS		(1<<H8P6DDR_AS_BIT)
+#define H8P6DDR_BACK		(1<<H8P6DDR_BACK_BIT)
+#define H8P6DDR_BREQ		(1<<H8P6DDR_BREQ_BIT)
+#define H8P6DDR_WAIT		(1<<H8P6DDR_WAIT_BIT)
+
+/* port7 */
+
+#define H8P7DR			0xffffce
+
+/* port8 */
+
+#define H8P8DDR			0xffffcd
+#define H8P8DR			0xffffcf
+
+#define H8P8DDR_CS0_BIT		4
+#define H8P8DDR_CS1_BIT		3
+#define H8P8DDR_CS2_BIT		2
+#define H8P8DDR_CS3_BIT		1
+#define H8P8DDR_RFSH_BIT	0
+
+#define H8P8DDR_CS0		(1<<H8P8DDR_CS0_BIT)
+#define H8P8DDR_CS1		(1<<H8P8DDR_CS1_BIT)
+#define H8P8DDR_CS2		(1<<H8P8DDR_CS2_BIT)
+#define H8P8DDR_CS3		(1<<H8P8DDR_CS3_BIT)
+#define H8P8DDR_RFSH		(1<<H8P8DDR_RFSH_BIT)
+
+#define H8P8DDR_IRQ3_BIT	3
+#define H8P8DDR_IRQ2_BIT	2
+#define H8P8DDR_IRQ1_BIT	1
+#define H8P8DDR_IRQ0_BIT	0
+
+#define H8P8DDR_IRQ3		(1<<H8P8DDR_IRQ3_BIT)
+#define H8P8DDR_IRQ2		(1<<H8P8DDR_IRQ2_BIT)
+#define H8P8DDR_IRQ1		(1<<H8P8DDR_IRQ1_BIT)
+#define H8P8DDR_IRQ0		(1<<H8P8DDR_IRQ0_BIT)
+
+/* port9 (SCI) */
+
+#define H8P9DDR			0xffffd0
+#define H8P9DR			0xffffd2
+
+#define H8P9DDR_SCK1_BIT	5
+#define H8P9DDR_SCK0_BIT	4
+#define H8P9DDR_RXD1_BIT	3
+#define H8P9DDR_RXD0_BIT	2
+#define H8P9DDR_TXD1_BIT	1
+#define H8P9DDR_TXD0_BIT	0
+
+#define H8P9DDR_SCK1		(1<<H8P9DDR_SCK1_BIT)
+#define H8P9DDR_SCK0		(1<<H8P9DDR_SCK0_BIT)
+#define H8P9DDR_RXD1		(1<<H8P9DDR_RXD1_BIT)
+#define H8P9DDR_RXD0		(1<<H8P9DDR_RXD0_BIT)
+#define H8P9DDR_TXD1		(1<<H8P9DDR_TXD1_BIT)
+#define H8P9DDR_TXD0		(1<<H8P9DDR_TXD0_BIT)
+
+#define H8P9DDR_IRQ5_BIT	5
+#define H8P9DDR_IRQ4_BIT	4
+
+#define H8P9DDR_IRQ5		(1<<H8P9DDR_IRQ5_BIT)
+#define H8P9DDR_IRQ4		(1<<H8P9DDR_IRQ4_BIT)
+
+/* portA (TPC/ITU/DMA) */
+
+#define H8PADDR			0xffffd1
+#define H8PADR			0xffffd3
+
+#define H8PADDR_TP7_BIT		7
+#define H8PADDR_TP6_BIT		6
+#define H8PADDR_TP5_BIT		5
+#define H8PADDR_TP4_BIT		4
+#define H8PADDR_TP3_BIT		3
+#define H8PADDR_TP2_BIT		2
+#define H8PADDR_TP1_BIT		1
+#define H8PADDR_TP0_BIT		0
+
+#define H8PADDR_TP7		(1<<H8PADDR_TP7_BIT)
+#define H8PADDR_TP6		(1<<H8PADDR_TP6_BIT)
+#define H8PADDR_TP5		(1<<H8PADDR_TP5_BIT)
+#define H8PADDR_TP4		(1<<H8PADDR_TP4_BIT)
+#define H8PADDR_TP3		(1<<H8PADDR_TP3_BIT)
+#define H8PADDR_TP2		(1<<H8PADDR_TP2_BIT)
+#define H8PADDR_TP1		(1<<H8PADDR_TP1_BIT)
+#define H8PADDR_TP0		(1<<H8PADDR_TP0_BIT)
+
+#define H8PADDR_TIOCB2_BIT	7
+#define H8PADDR_TIOCA2_BIT	6
+#define H8PADDR_TIOCB1_BIT	5
+#define H8PADDR_TIOCA1_BIT	4
+#define H8PADDR_TIOCB0_BIT	3
+#define H8PADDR_TIOCA0_BIT	2
+
+#define H8PADDR_TIOCB2		(1<<H8PADDR_TIOCB2_BIT)
+#define H8PADDR_TIOCA2		(1<<H8PADDR_TIOCA2_BIT)
+#define H8PADDR_TIOCB1		(1<<H8PADDR_TIOCB1_BIT)
+#define H8PADDR_TIOCA1		(1<<H8PADDR_TIOCA1_BIT)
+#define H8PADDR_TIOCB0		(1<<H8PADDR_TIOCB0_BIT)
+#define H8PADDR_TIOCA0		(1<<H8PADDR_TIOCA0_BIT)
+
+#define H8PADDR_TEND1_BIT	1
+#define H8PADDR_TEND0_BIT	0
+
+#define H8PADDR_TEND1		(1<<H8PADDR_TEND1_BIT)
+#define H8PADDR_TEND0		(1<<H8PADDR_TEND0_BIT)
+
+#define H8PADDR_A20_BIT		7
+#define H8PADDR_A21_BIT		6
+#define H8PADDR_A22_BIT		5
+#define H8PADDR_A23_BIT		4
+
+#define H8PADDR_A20		(1<<H8PADDR_A20_BIT)
+#define H8PADDR_A21		(1<<H8PADDR_A21_BIT)
+#define H8PADDR_A22		(1<<H8PADDR_A22_BIT)
+#define H8PADDR_A23		(1<<H8PADDR_A23_BIT)
+
+#define H8PADDR_CS4_BIT		6
+#define H8PADDR_CS5_BIT		5
+#define H8PADDR_CS6_BIT		4
+
+#define H8PADDR_CS4		(1<<H8PADDR_CS4_BIT)
+#define H8PADDR_CS5		(1<<H8PADDR_CS5_BIT)
+#define H8PADDR_CS6		(1<<H8PADDR_CS6_BIT)
+
+#define H8PADDR_TCLKD_BIT	3
+#define H8PADDR_TCLKC_BIT	2
+#define H8PADDR_TCLKB_BIT	1
+#define H8PADDR_TCLKA_BIT	0
+
+#define H8PADDR_TCLKD		(1<<H8PADDR_TCLKD_BIT)
+#define H8PADDR_TCLKC		(1<<H8PADDR_TCLKC_BIT)
+#define H8PADDR_TCLKB		(1<<H8PADDR_TCLKB_BIT)
+#define H8PADDR_TCLKA		(1<<H8PADDR_TCLKA_BIT)
+
+/* portB (TP/ITU/DMA/AD) */
+
+#define H8PBDDR			0xffffd4
+#define H8PBDR			0xffffd6
+
+#define H8PBDDR_TP15_BIT	7
+#define H8PBDDR_TP14_BIT	6
+#define H8PBDDR_TP13_BIT	5
+#define H8PBDDR_TP12_BIT	4
+#define H8PBDDR_TP11_BIT	3
+#define H8PBDDR_TP10_BIT	2
+#define H8PBDDR_TP9_BIT		1
+#define H8PBDDR_TP8_BIT		0
+
+#define H8PBDDR_TP15		(1<<H8PBDDR_TP15_BIT)
+#define H8PBDDR_TP14		(1<<H8PBDDR_TP14_BIT)
+#define H8PBDDR_TP13		(1<<H8PBDDR_TP13_BIT)
+#define H8PBDDR_TP12		(1<<H8PBDDR_TP12_BIT)
+#define H8PBDDR_TP11		(1<<H8PBDDR_TP11_BIT)
+#define H8PBDDR_TP10		(1<<H8PBDDR_TP10_BIT)
+#define H8PBDDR_TP9		(1<<H8PBDDR_TP9_BIT)
+#define H8PBDDR_TP8		(1<<H8PBDDR_TP8_BIT)
+
+#define H8PBDDR_DREQ1_BIT	7
+#define H8PBDDR_DREQ0_BIT	6
+
+#define H8PBDDR_DREQ1		(1<<H8PBDDR_DREQ1_BIT)
+#define H8PBDDR_DREQ0		(1<<H8PBDDR_DREQ0_BIT)
+
+#define H8PBDDR_TOCXB4_BIT	5
+#define H8PBDDR_TOCXA4_BIT	4
+#define H8PBDDR_TIOCB4_BIT	3
+#define H8PBDDR_TIOCA4_BIT	2
+#define H8PBDDR_TIOCB3_BIT	1
+#define H8PBDDR_TIOCA3_BIT	0
+
+#define H8PBDDR_TOCXB4		(1<<H8PBDDR_TOCXB4_BIT)
+#define H8PBDDR_TOCXA4		(1<<H8PBDDR_TOCXA4_BIT)
+#define H8PBDDR_TIOCB4		(1<<H8PBDDR_TIOCB4_BIT)
+#define H8PBDDR_TIOCA4		(1<<H8PBDDR_TIOCA4_BIT)
+#define H8PBDDR_TIOCB3		(1<<H8PBDDR_TIOCB3_BIT)
+#define H8PBDDR_TIOCA3		(1<<H8PBDDR_TIOCA3_BIT)
+
+#define H8PBDDR_ADTRG_BIT	7
+
+#define H8PBDDR_ADTRG		(1<<H8PBDDR_ADTRG_BIT)
+
+#define H8PBDDR_CS7_BIT		6
+
+#define H8PBDDR_CS7		(1<<H8PBDDR_CS7_BIT)
+
+/* Interrupt Contolller */
+
+#define H8SYSCR			0xfffff2
+#define H8IPRA			0xfffff8
+#define H8IPRB			0xfffff9
+
+/* System Control Register */
+
+#define H8SYSCR_SSBY_BIT	7
+#define H8SYSCR_STS2_BIT	6
+#define H8SYSCR_STS1_BIT	5
+#define H8SYSCR_STS0_BIT	4
+#define H8SYSCR_UE_BIT		3
+#define H8SYSCR_NMIEG_BIT	2
+#define H8SYSCR_RAME_BIT	0
+
+#define H8SYSCR_SSBY		(1<<(H8SYSCR_SSBY_BIT))
+#define H8SYSCR_STS2		(1<<(H8SYSCR_STS2_BIT))
+#define H8SYSCR_STS1		(1<<(H8SYSCR_STS1_BIT))
+#define H8SYSCR_STS0		(1<<(H8SYSCR_STS0_BIT))
+#define H8SYSCR_UE		(1<<(H8SYSCR_UE_BIT))
+#define H8SYSCR_NMIEG		(1<<(H8SYSCR_NMIEG_BIT))
+#define H8SYSCR_RAME		(1<<(H8SYSCR_RAME_BIT))
+
+/* Interrupt Priority Register A */
+
+#define H8IPR_IRQ0_BIT		7	/* IRQ0		*/
+#define H8IPR_IRQ1_BIT		6	/* IRQ1		*/
+#define H8IPR_IRQ2_BIT		5	/* IRQ2		*/
+#define H8IPR_IRQ3_BIT		5	/* IRQ3		*/
+#define H8IPR_IRQ4_BIT		4	/* IRQ4		*/
+#define H8IPR_IRQ5_BIT		4	/* IRQ5		*/
+#define H8IPR_WDT_BIT		3	/* WDT		*/
+#define H8IPR_CMI_BIT		3	/* CMI		*/
+#define H8IPR_ITU0_BIT		2	/* ITU0		*/
+#define H8IPR_ITU1_BIT		1	/* ITU1		*/
+#define H8IPR_ITU2_BIT		0	/* ITU2		*/
+
+#define H8IPR_IRQ0		(1<<(H8IPR_IRQ0_BIT))
+#define H8IPR_IRQ1		(1<<(H8IPR_IRQ1_BIT))
+#define H8IPR_IRQ2		(1<<(H8IPR_IRQ2_BIT))
+#define H8IPR_IRQ3		(1<<(H8IPR_IRQ3_BIT))
+#define H8IPR_IRQ4		(1<<(H8IPR_IRQ4_BIT))
+#define H8IPR_IRQ5		(1<<(H8IPR_IRQ5_BIT))
+#define H8IPR_WDT		(1<<(H8IPR_WDT_BIT))
+#define H8IPR_CMI		(1<<(H8IPR_CMI_BIT))
+#define H8IPR_ITU0		(1<<(H8IPR_ITU0_BIT))
+#define H8IPR_ITU1		(1<<(H8IPR_ITU1_BIT))
+#define H8IPR_ITU2		(1<<(H8IPR_ITU2_BIT))
+
+/* Interrupt Priority Register B */
+
+#define H8IPR_ITU3_BIT		7	/* ITU3		*/
+#define H8IPR_ITU4_BIT		6	/* ITU4		*/
+#define H8IPR_DMAC_BIT		5	/* DMAC (CH0,1)	*/
+#define H8IPR_SCI0_BIT		3	/* SCI0		*/
+#define H8IPR_SCI1_BIT		2	/* SCI1		*/
+#define H8IPR_AD_BIT		1	/* A/D		*/
+
+#define H8IPR_ITU3		(1<<(H8IPR_ITU3_BIT))
+#define H8IPR_ITU4		(1<<(H8IPR_ITU4_BIT))
+#define H8IPR_DMAC		(1<<(H8IPR_DMAC_BIT))
+#define H8IPR_SCI0		(1<<(H8IPR_SCI0_BIT))
+#define H8IPR_SCI1		(1<<(H8IPR_SCI1_BIT))
+#define H8IPR_AD		(1<<(H8IPR_AD_BIT))
+
+/*	Bus Release Control Regisger	*/
+
+#define H8BRCR			0xfffff3
+
+/*	Control bit in BRCR		*/
+
+#define H8BRCR_A23E_BIT		7
+#define H8BRCR_A22E_BIT		6
+#define H8BRCR_A21E_BIT		5
+#define H8BRCR_BRLE_BIT		1
+
+#define H8BRCR_A23E		(1<<(H8BRCR_A23E_BIT))
+#define H8BRCR_A22E		(1<<(H8BRCR_A22E_BIT))
+#define H8BRCR_A21E		(1<<(H8BRCR_A21E_BIT))
+#define H8BRCR_BRLE		(1<<(H8BRCR_BRLE_BIT))
+
+/* Integrated Timer Unit (ITU) */
+
+#define H8ITU_TSTR		0xffff60
+#define H8ITU_TSNC		0xffff61
+#define H8ITU_TMDR		0xffff62
+#define H8ITU_TFCR		0xffff63
+#define H8ITU_TOER		0xffff90
+#define H8ITU_TOCR		0xffff91
+
+#define H8ITU0			0xffff64	/* base address */
+#define H8ITU1			0xffff6e
+#define H8ITU2			0xffff78
+#define H8ITU3			0xffff82
+#define H8ITU4			0xffff92
+
+/* Integrated Timer Unit (ITU) */
+
+/* address offset */
+
+#define H8TCR			0
+#define H8TIOR			1
+#define H8TIER			2
+#define H8TSR			3
+#define H8TCNT			4
+#define H8TCNTH			4
+#define H8TCNTL			5
+#define H8GRA			6
+#define H8GRAH			6
+#define H8GRAL			7
+#define H8GRB			8
+#define H8GRBH			8
+#define H8GRBL			9
+#define H8BRA			10
+#define H8BRAH			10
+#define H8BRAL			11
+#define H8BRB			12
+#define H8BRBH			12
+#define H8BRBL			13
+
+/* ITU Timer Start Register (TSTR) */
+
+#define H8TSTR_STR4_BIT		4
+#define H8TSTR_STR3_BIT		3
+#define H8TSTR_STR2_BIT		2
+#define H8TSTR_STR1_BIT		1
+#define H8TSTR_STR0_BIT		0
+
+#define H8TSTR_STR4		(1<<H8TSTR_STR4_BIT)
+#define H8TSTR_STR3		(1<<H8TSTR_STR3_BIT)
+#define H8TSTR_STR2		(1<<H8TSTR_STR2_BIT)
+#define H8TSTR_STR1		(1<<H8TSTR_STR1_BIT)
+#define H8TSTR_STR0		(1<<H8TSTR_STR0_BIT)
+
+/* ITU Timer Control Register (TCR) */
+
+#define H8TCR_CCLR1_BIT		6
+#define H8TCR_CCLR0_BIT		5
+#define H8TCR_CKEG1_BIT		4
+#define H8TCR_CKEG0_BIT		3
+#define H8TCR_TPSC2_BIT		2
+#define H8TCR_TPSC1_BIT		1
+#define H8TCR_TPSC0_BIT		0
+
+#define H8TCR_CCLR1		(1<<H8TCR_CCLR1_BIT)
+#define H8TCR_CCLR0		(1<<H8TCR_CCLR0_BIT)
+#define H8TCR_CKEG1		(1<<H8TCR_CKEG1_BIT)
+#define H8TCR_CKEG0		(1<<H8TCR_CKEG0_BIT)
+#define H8TCR_TPSC2		(1<<H8TCR_TPSC2_BIT)
+#define H8TCR_TPSC1		(1<<H8TCR_TPSC1_BIT)
+#define H8TCR_TPSC0		(1<<H8TCR_TPSC0_BIT)
+
+/* ITU Timer Status Register (TSR) */
+
+#define H8TSR_OVIF_BIT		2
+#define H8TSR_IMIFB_BIT		1
+#define H8TSR_IMIFA_BIT		0
+
+#define H8TSR_OVIF		(1<<H8TSR_OVIF_BIT)
+#define H8TSR_IMIFB		(1<<H8TSR_IMIFB_BIT)
+#define H8TSR_IMIFA		(1<<H8TSR_IMIFA_BIT)
+
+/* ITU Timer Intrrupt Enable Register (TIER) */
+
+#define H8TIER_OVIE_BIT		2
+#define H8TIER_IMIEB_BIT	1
+#define H8TIER_IMIEA_BIT	0
+
+#define H8TIER_OVIE		(1<<H8TIER_OVIE_BIT)
+#define H8TIER_IMIEB		(1<<H8TIER_IMIEB_BIT)
+#define H8TIER_IMIEA		(1<<H8TIER_IMIEA_BIT)
+
+/* ITU Timer I/O Control Register (TIOR) */
+
+#define H8TIOR_IOB2_BIT		6
+#define H8TIOR_IOB1_BIT		5
+#define H8TIOR_IOB0_BIT		4
+#define H8TIOR_IOA2_BIT		2
+#define H8TIOR_IOA1_BIT		1
+#define H8TIOR_IOA0_BIT		0
+
+#define H8TIOR_IOB2		(1<<H8TIOR_IOB2_BIT)
+#define H8TIOR_IOB1		(1<<H8TIOR_IOB1_BIT)
+#define H8TIOR_IOB0		(1<<H8TIOR_IOB0_BIT)
+#define H8TIOR_IOA2		(1<<H8TIOR_IOA2_BIT)
+#define H8TIOR_IOA1		(1<<H8TIOR_IOA1_BIT)
+#define H8TIOR_IOA0		(1<<H8TIOR_IOA0_BIT)
+
+/* Serial Communication Interface (SCI) */
+
+#define H8SCI0			0xffffb0	/* base address */
+#define H8SCI1			0xffffb8
+
+/* address offset */
+
+#define H8SMR			0
+#define H8BRR			1
+#define H8SCR			2
+#define H8TDR			3
+#define H8SSR			4
+#define H8RDR			5
+
+/* SCI Serial Mode Register (SMR) */
+
+#define H8SMR_CA_BIT		7
+#define H8SMR_CHR_BIT		6
+#define H8SMR_PE_BIT		5
+#define H8SMR_OE_BIT		4
+#define H8SMR_STOP_BIT		3
+#define H8SMR_MP_BIT		2
+#define H8SMR_CKS1_BIT		1
+#define H8SMR_CKS0_BIT		0
+
+#define H8SMR_CA		(1<<H8SMR_CA_BIT)
+#define H8SMR_CHR		(1<<H8SMR_CHR_BIT)
+#define H8SMR_PE		(1<<H8SMR_PE_BIT)
+#define H8SMR_OE		(1<<H8SMR_OE_BIT)
+#define H8SMR_STOP		(1<<H8SMR_STOP_BIT)
+#define H8SMR_MP		(1<<H8SMR_MP_BIT)
+#define H8SMR_CKS1		(1<<H8SMR_CKS1_BIT)
+#define H8SMR_CKS0		(1<<H8SMR_CKS0_BIT)
+#define H8SMR_CKS_MASK		(H8SMR_CKS1|H8SMR_CKS0)
+
+/* SCI Serial Control Register (SCR) */
+
+#define H8SCR_TIE_BIT		7
+#define H8SCR_RIE_BIT		6
+#define H8SCR_TE_BIT		5
+#define H8SCR_RE_BIT		4
+#define H8SCR_MPIE_BIT		3
+#define H8SCR_TEIE_BIT		2
+#define H8SCR_CKE1_BIT		1
+#define H8SCR_CKE0_BIT		0
+
+#define H8SCR_TIE		(1<<H8SCR_TIE_BIT)
+#define H8SCR_RIE		(1<<H8SCR_RIE_BIT)
+#define H8SCR_TE		(1<<H8SCR_TE_BIT)
+#define H8SCR_RE		(1<<H8SCR_RE_BIT)
+#define H8SCR_MPIE		(1<<H8SCR_MPIE_BIT)
+#define H8SCR_TEIE		(1<<H8SCR_TEIE_BIT)
+#define H8SCR_CKE1		(1<<H8SCR_CKE1_BIT)
+#define H8SCR_CKE0		(1<<H8SCR_CKE0_BIT)
+#define H8SCR_CKE_MASK		(H8SCR_CKE1|H8SCR_CKE0)
+#define H8SCR_IE		(H8SCR_TIE|H8SCR_RIE|H8SCR_MPIE|H8SCR_TEIE)
+
+/* SCI Serial Status Register (SSR) */
+
+#define H8SSR_TDRE_BIT		7
+#define H8SSR_RDRF_BIT		6
+#define H8SSR_ORER_BIT		5
+#define H8SSR_FER_BIT		4
+#define H8SSR_PER_BIT		3
+#define H8SSR_TEND_BIT		2
+#define H8SSR_MPB_BIT		1
+#define H8SSR_MPBT_BIT		0
+
+#define H8SSR_TDRE		(1<<H8SSR_TDRE_BIT)
+#define H8SSR_RDRF		(1<<H8SSR_RDRF_BIT)
+#define H8SSR_ORER		(1<<H8SSR_ORER_BIT)
+#define H8SSR_FER		(1<<H8SSR_FER_BIT)
+#define H8SSR_PER		(1<<H8SSR_PER_BIT)
+#define H8SSR_TEND		(1<<H8SSR_TEND_BIT)
+#define H8SSR_MPB		(1<<H8SSR_MPB_BIT)
+#define H8SSR_MPBT		(1<<H8SSR_MPBT_BIT)
+
+/*
+ *  å
+èµã¡ã¢ãªã®å®ç¾©
+ */
+
+#define H8IN_ROM_BASE		0x000000
+#define H8IN_ROM_SIZE		0x020000
+#define H8IN_RAM_BASE		0xffef10
+#define H8IN_RAM_SIZE		0x001000
+
+#endif /* _H8_3048F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3052f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3052f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3052f.h	(revision 26)
@@ -0,0 +1,632 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: h8_3052f.h,v 1.4 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _H8_3052F_H_
+#define _H8_3052F_H_
+
+/*
+ *  H8/3052F ç¨å®ç¾©
+ */
+
+/* Interrupt numbers */
+
+#define IRQ_NMI			7		/* NMI */
+
+#define IRQ_EXT0		12		/* IRQ0 */
+#define IRQ_EXT1		13		/* IRQ1 */
+#define IRQ_EXT2		14		/* IRQ2 */
+#define IRQ_EXT3		15		/* IRQ3 */
+#define IRQ_EXT4		16		/* IRQ4 */
+#define IRQ_EXT5		17		/* IRQ5 */
+
+#define IRQ_WOVI		20		/* Watch Doc Timer */
+
+#define IRQ_CMI			21		/* Compare Match */
+
+#define IRQ_IMIA0		24		/* ITU0 IMIA0 */
+#define IRQ_IMIB0		25		/* ITU0 IMIB0 */
+#define IRQ_OVI0		26		/* ITU0 OVI0  */
+
+#define IRQ_IMIA1		28		/* ITU1 IMIA1 */
+#define IRQ_IMIB1		29		/* ITU1 IMIB1 */
+#define IRQ_OVI1		30		/* ITU1 OVI1  */
+
+#define IRQ_IMIA2		32		/* ITU2 IMIA2 */
+#define IRQ_IMIB2		33		/* ITU2 IMIB2 */
+#define IRQ_OVI2		34		/* ITU2 OVI2  */
+
+#define IRQ_IMIA3		36		/* ITU3 IMIA3 */
+#define IRQ_IMIB3		37		/* ITU3 IMIB3 */
+#define IRQ_OVI3		38		/* ITU3 OVI3  */
+
+#define IRQ_IMIA4		40		/* ITU4 IMIA4 */
+#define IRQ_IMIB4		41		/* ITU4 IMIB4 */
+#define IRQ_OVI4		42		/* ITU4 OVI4  */
+
+#define IRQ_DEND0A		44		/* DMAC */
+#define IRQ_DEND0B		45		/* DMAC */
+#define IRQ_DEND1A		46		/* DMAC */
+#define IRQ_DEND1B		47		/* DMAC */
+
+#define IRQ_ERI0		52		/* SCI0 ERI */
+#define IRQ_RXI0		53		/* SCI0 RXI */
+#define IRQ_TXI0		54		/* SCI0 TXI */
+#define IRQ_TEI0		55		/* SCI0 TEI */
+
+#define IRQ_ERI1		56		/* SCI1 ERI */
+#define IRQ_RXI1		57		/* SCI1 RXI */
+#define IRQ_TXI1		58		/* SCI1 TXI */
+#define IRQ_TEI1		59		/* SCI1 TEI */
+
+#define IRQ_ADI			60		/* A/D */
+
+/* register address */
+
+/* I/O ports */
+
+/* port1: A0  - A7  */
+
+#define H8P1DDR			0xffffc0
+#define H8P1DR			0xffffc2
+
+/* port2: A8  - A15 */
+
+#define H8P2DDR			0xffffc1
+#define H8P2DR			0xffffc3
+#define H8P2PCR			0xffffd8
+
+/* port3: D8  - D15 */
+
+#define H8P3DDR			0xffffc4
+#define H8P3DR			0xffffc6
+
+/* port4: D0  - D7  */
+
+#define H8P4DDR			0xffffc5
+#define H8P4DR			0xffffc7
+#define H8P4PCR			0xffffda
+
+/* port5: A16 - A19 */
+
+#define H8P5DDR			0xffffc8
+#define H8P5DR			0xffffca
+#define H8P5PCR			0xffffdb
+
+#define H8P5DDR_A19_BIT		3
+#define H8P5DDR_A18_BIT		2
+#define H8P5DDR_A17_BIT		1
+#define H8P5DDR_A16_BIT		0
+
+#define H8P5DDR_A19		(1<<H8P5DDR_A19_BIT)
+#define H8P5DDR_A18		(1<<H8P5DDR_A18_BIT)
+#define H8P5DDR_A17		(1<<H8P5DDR_A17_BIT)
+#define H8P5DDR_A16		(1<<H8P5DDR_A16_BIT)
+
+/* port6 */
+
+#define H8P6DDR			0xffffc9
+#define H8P6DR			0xffffcb
+
+#define H8P6DDR_HWR_BIT		6
+#define H8P6DDR_LWR_BIT		5
+#define H8P6DDR_RD_BIT		4
+#define H8P6DDR_AS_BIT		3
+#define H8P6DDR_BACK_BIT	2
+#define H8P6DDR_BREQ_BIT	1
+#define H8P6DDR_WAIT_BIT	0
+
+#define H8P6DDR_HWR		(1<<H8P6DDR_HWR_BIT)
+#define H8P6DDR_LWR		(1<<H8P6DDR_LWR_BIT)
+#define H8P6DDR_RD		(1<<H8P6DDR_RD_BIT)
+#define H8P6DDR_AS		(1<<H8P6DDR_AS_BIT)
+#define H8P6DDR_BACK		(1<<H8P6DDR_BACK_BIT)
+#define H8P6DDR_BREQ		(1<<H8P6DDR_BREQ_BIT)
+#define H8P6DDR_WAIT		(1<<H8P6DDR_WAIT_BIT)
+
+/* port7 */
+
+#define H8P7DR			0xffffce
+
+/* port8 */
+
+#define H8P8DDR			0xffffcd
+#define H8P8DR			0xffffcf
+
+#define H8P8DDR_CS0_BIT		4
+#define H8P8DDR_CS1_BIT		3
+#define H8P8DDR_CS2_BIT		2
+#define H8P8DDR_CS3_BIT		1
+#define H8P8DDR_RFSH_BIT	0
+
+#define H8P8DDR_CS0		(1<<H8P8DDR_CS0_BIT)
+#define H8P8DDR_CS1		(1<<H8P8DDR_CS1_BIT)
+#define H8P8DDR_CS2		(1<<H8P8DDR_CS2_BIT)
+#define H8P8DDR_CS3		(1<<H8P8DDR_CS3_BIT)
+#define H8P8DDR_RFSH		(1<<H8P8DDR_RFSH_BIT)
+
+#define H8P8DDR_IRQ3_BIT	3
+#define H8P8DDR_IRQ2_BIT	2
+#define H8P8DDR_IRQ1_BIT	1
+#define H8P8DDR_IRQ0_BIT	0
+
+#define H8P8DDR_IRQ3		(1<<H8P8DDR_IRQ3_BIT)
+#define H8P8DDR_IRQ2		(1<<H8P8DDR_IRQ2_BIT)
+#define H8P8DDR_IRQ1		(1<<H8P8DDR_IRQ1_BIT)
+#define H8P8DDR_IRQ0		(1<<H8P8DDR_IRQ0_BIT)
+
+/* port9 (SCI) */
+
+#define H8P9DDR			0xffffd0
+#define H8P9DR			0xffffd2
+
+#define H8P9DDR_SCK1_BIT	5
+#define H8P9DDR_SCK0_BIT	4
+#define H8P9DDR_RXD1_BIT	3
+#define H8P9DDR_RXD0_BIT	2
+#define H8P9DDR_TXD1_BIT	1
+#define H8P9DDR_TXD0_BIT	0
+
+#define H8P9DDR_SCK1		(1<<H8P9DDR_SCK1_BIT)
+#define H8P9DDR_SCK0		(1<<H8P9DDR_SCK0_BIT)
+#define H8P9DDR_RXD1		(1<<H8P9DDR_RXD1_BIT)
+#define H8P9DDR_RXD0		(1<<H8P9DDR_RXD0_BIT)
+#define H8P9DDR_TXD1		(1<<H8P9DDR_TXD1_BIT)
+#define H8P9DDR_TXD0		(1<<H8P9DDR_TXD0_BIT)
+
+#define H8P9DDR_IRQ5_BIT	5
+#define H8P9DDR_IRQ4_BIT	4
+
+#define H8P9DDR_IRQ5		(1<<H8P9DDR_IRQ5_BIT)
+#define H8P9DDR_IRQ4		(1<<H8P9DDR_IRQ4_BIT)
+
+/* portA (TPC/ITU/DMA) */
+
+#define H8PADDR			0xffffd1
+#define H8PADR			0xffffd3
+
+#define H8PADDR_TP7_BIT		7
+#define H8PADDR_TP6_BIT		6
+#define H8PADDR_TP5_BIT		5
+#define H8PADDR_TP4_BIT		4
+#define H8PADDR_TP3_BIT		3
+#define H8PADDR_TP2_BIT		2
+#define H8PADDR_TP1_BIT		1
+#define H8PADDR_TP0_BIT		0
+
+#define H8PADDR_TP7		(1<<H8PADDR_TP7_BIT)
+#define H8PADDR_TP6		(1<<H8PADDR_TP6_BIT)
+#define H8PADDR_TP5		(1<<H8PADDR_TP5_BIT)
+#define H8PADDR_TP4		(1<<H8PADDR_TP4_BIT)
+#define H8PADDR_TP3		(1<<H8PADDR_TP3_BIT)
+#define H8PADDR_TP2		(1<<H8PADDR_TP2_BIT)
+#define H8PADDR_TP1		(1<<H8PADDR_TP1_BIT)
+#define H8PADDR_TP0		(1<<H8PADDR_TP0_BIT)
+
+#define H8PADDR_TIOCB2_BIT	7
+#define H8PADDR_TIOCA2_BIT	6
+#define H8PADDR_TIOCB1_BIT	5
+#define H8PADDR_TIOCA1_BIT	4
+#define H8PADDR_TIOCB0_BIT	3
+#define H8PADDR_TIOCA0_BIT	2
+
+#define H8PADDR_TIOCB2		(1<<H8PADDR_TIOCB2_BIT)
+#define H8PADDR_TIOCA2		(1<<H8PADDR_TIOCA2_BIT)
+#define H8PADDR_TIOCB1		(1<<H8PADDR_TIOCB1_BIT)
+#define H8PADDR_TIOCA1		(1<<H8PADDR_TIOCA1_BIT)
+#define H8PADDR_TIOCB0		(1<<H8PADDR_TIOCB0_BIT)
+#define H8PADDR_TIOCA0		(1<<H8PADDR_TIOCA0_BIT)
+
+#define H8PADDR_TEND1_BIT	1
+#define H8PADDR_TEND0_BIT	0
+
+#define H8PADDR_TEND1		(1<<H8PADDR_TEND1_BIT)
+#define H8PADDR_TEND0		(1<<H8PADDR_TEND0_BIT)
+
+#define H8PADDR_A20_BIT		7
+#define H8PADDR_A21_BIT		6
+#define H8PADDR_A22_BIT		5
+#define H8PADDR_A23_BIT		4
+
+#define H8PADDR_A20		(1<<H8PADDR_A20_BIT)
+#define H8PADDR_A21		(1<<H8PADDR_A21_BIT)
+#define H8PADDR_A22		(1<<H8PADDR_A22_BIT)
+#define H8PADDR_A23		(1<<H8PADDR_A23_BIT)
+
+#define H8PADDR_CS4_BIT		6
+#define H8PADDR_CS5_BIT		5
+#define H8PADDR_CS6_BIT		4
+
+#define H8PADDR_CS4		(1<<H8PADDR_CS4_BIT)
+#define H8PADDR_CS5		(1<<H8PADDR_CS5_BIT)
+#define H8PADDR_CS6		(1<<H8PADDR_CS6_BIT)
+
+#define H8PADDR_TCLKD_BIT	3
+#define H8PADDR_TCLKC_BIT	2
+#define H8PADDR_TCLKB_BIT	1
+#define H8PADDR_TCLKA_BIT	0
+
+#define H8PADDR_TCLKD		(1<<H8PADDR_TCLKD_BIT)
+#define H8PADDR_TCLKC		(1<<H8PADDR_TCLKC_BIT)
+#define H8PADDR_TCLKB		(1<<H8PADDR_TCLKB_BIT)
+#define H8PADDR_TCLKA		(1<<H8PADDR_TCLKA_BIT)
+
+/* portB (TP/ITU/DMA/AD) */
+
+#define H8PBDDR			0xffffd4
+#define H8PBDR			0xffffd6
+
+#define H8PBDDR_TP15_BIT	7
+#define H8PBDDR_TP14_BIT	6
+#define H8PBDDR_TP13_BIT	5
+#define H8PBDDR_TP12_BIT	4
+#define H8PBDDR_TP11_BIT	3
+#define H8PBDDR_TP10_BIT	2
+#define H8PBDDR_TP9_BIT		1
+#define H8PBDDR_TP8_BIT		0
+
+#define H8PBDDR_TP15		(1<<H8PBDDR_TP15_BIT)
+#define H8PBDDR_TP14		(1<<H8PBDDR_TP14_BIT)
+#define H8PBDDR_TP13		(1<<H8PBDDR_TP13_BIT)
+#define H8PBDDR_TP12		(1<<H8PBDDR_TP12_BIT)
+#define H8PBDDR_TP11		(1<<H8PBDDR_TP11_BIT)
+#define H8PBDDR_TP10		(1<<H8PBDDR_TP10_BIT)
+#define H8PBDDR_TP9		(1<<H8PBDDR_TP9_BIT)
+#define H8PBDDR_TP8		(1<<H8PBDDR_TP8_BIT)
+
+#define H8PBDDR_DREQ1_BIT	7
+#define H8PBDDR_DREQ0_BIT	6
+
+#define H8PBDDR_DREQ1		(1<<H8PBDDR_DREQ1_BIT)
+#define H8PBDDR_DREQ0		(1<<H8PBDDR_DREQ0_BIT)
+
+#define H8PBDDR_TOCXB4_BIT	5
+#define H8PBDDR_TOCXA4_BIT	4
+#define H8PBDDR_TIOCB4_BIT	3
+#define H8PBDDR_TIOCA4_BIT	2
+#define H8PBDDR_TIOCB3_BIT	1
+#define H8PBDDR_TIOCA3_BIT	0
+
+#define H8PBDDR_TOCXB4		(1<<H8PBDDR_TOCXB4_BIT)
+#define H8PBDDR_TOCXA4		(1<<H8PBDDR_TOCXA4_BIT)
+#define H8PBDDR_TIOCB4		(1<<H8PBDDR_TIOCB4_BIT)
+#define H8PBDDR_TIOCA4		(1<<H8PBDDR_TIOCA4_BIT)
+#define H8PBDDR_TIOCB3		(1<<H8PBDDR_TIOCB3_BIT)
+#define H8PBDDR_TIOCA3		(1<<H8PBDDR_TIOCA3_BIT)
+
+#define H8PBDDR_ADTRG_BIT	7
+
+#define H8PBDDR_ADTRG		(1<<H8PBDDR_ADTRG_BIT)
+
+#define H8PBDDR_CS7_BIT		6
+
+#define H8PBDDR_CS7		(1<<H8PBDDR_CS7_BIT)
+
+/* Interrupt Contolller */
+
+#define H8SYSCR			0xfffff2
+#define H8IPRA			0xfffff8
+#define H8IPRB			0xfffff9
+
+/* System Control Register */
+
+#define H8SYSCR_SSBY_BIT	7
+#define H8SYSCR_STS2_BIT	6
+#define H8SYSCR_STS1_BIT	5
+#define H8SYSCR_STS0_BIT	4
+#define H8SYSCR_UE_BIT		3
+#define H8SYSCR_NMIEG_BIT	2
+#define H8SYSCR_RAME_BIT	0
+
+#define H8SYSCR_SSBY		(1<<(H8SYSCR_SSBY_BIT))
+#define H8SYSCR_STS2		(1<<(H8SYSCR_STS2_BIT))
+#define H8SYSCR_STS1		(1<<(H8SYSCR_STS1_BIT))
+#define H8SYSCR_STS0		(1<<(H8SYSCR_STS0_BIT))
+#define H8SYSCR_UE		(1<<(H8SYSCR_UE_BIT))
+#define H8SYSCR_NMIEG		(1<<(H8SYSCR_NMIEG_BIT))
+#define H8SYSCR_RAME		(1<<(H8SYSCR_RAME_BIT))
+
+/* Interrupt Priority Register A */
+
+#define H8IPR_IRQ0_BIT		7	/* IRQ0		*/
+#define H8IPR_IRQ1_BIT		6	/* IRQ1		*/
+#define H8IPR_IRQ2_BIT		5	/* IRQ2		*/
+#define H8IPR_IRQ3_BIT		5	/* IRQ3		*/
+#define H8IPR_IRQ4_BIT		4	/* IRQ4		*/
+#define H8IPR_IRQ5_BIT		4	/* IRQ5		*/
+#define H8IPR_WDT_BIT		3	/* WDT		*/
+#define H8IPR_CMI_BIT		3	/* CMI		*/
+#define H8IPR_ITU0_BIT		2	/* ITU0		*/
+#define H8IPR_ITU1_BIT		1	/* ITU1		*/
+#define H8IPR_ITU2_BIT		0	/* ITU2		*/
+
+#define H8IPR_IRQ0		(1<<(H8IPR_IRQ0_BIT))
+#define H8IPR_IRQ1		(1<<(H8IPR_IRQ1_BIT))
+#define H8IPR_IRQ2		(1<<(H8IPR_IRQ2_BIT))
+#define H8IPR_IRQ3		(1<<(H8IPR_IRQ3_BIT))
+#define H8IPR_IRQ4		(1<<(H8IPR_IRQ4_BIT))
+#define H8IPR_IRQ5		(1<<(H8IPR_IRQ5_BIT))
+#define H8IPR_WDT		(1<<(H8IPR_WDT_BIT))
+#define H8IPR_CMI		(1<<(H8IPR_CMI_BIT))
+#define H8IPR_ITU0		(1<<(H8IPR_ITU0_BIT))
+#define H8IPR_ITU1		(1<<(H8IPR_ITU1_BIT))
+#define H8IPR_ITU2		(1<<(H8IPR_ITU2_BIT))
+
+/* Interrupt Priority Register B */
+
+#define H8IPR_ITU3_BIT		7	/* ITU3		*/
+#define H8IPR_ITU4_BIT		6	/* ITU4		*/
+#define H8IPR_DMAC_BIT		5	/* DMAC (CH0,1)	*/
+#define H8IPR_SCI0_BIT		3	/* SCI0		*/
+#define H8IPR_SCI1_BIT		2	/* SCI1		*/
+#define H8IPR_AD_BIT		1	/* A/D		*/
+
+#define H8IPR_ITU3		(1<<(H8IPR_ITU3_BIT))
+#define H8IPR_ITU4		(1<<(H8IPR_ITU4_BIT))
+#define H8IPR_DMAC		(1<<(H8IPR_DMAC_BIT))
+#define H8IPR_SCI0		(1<<(H8IPR_SCI0_BIT))
+#define H8IPR_SCI1		(1<<(H8IPR_SCI1_BIT))
+#define H8IPR_AD		(1<<(H8IPR_AD_BIT))
+
+/*	Bus Release Control Regisger	*/
+
+#define H8BRCR			0xfffff3
+
+/*	Control bit in BRCR		*/
+
+#define H8BRCR_A23E_BIT		7
+#define H8BRCR_A22E_BIT		6
+#define H8BRCR_A21E_BIT		5
+#define H8BRCR_BRLE_BIT		1
+
+#define H8BRCR_A23E		(1<<(H8BRCR_A23E_BIT))
+#define H8BRCR_A22E		(1<<(H8BRCR_A22E_BIT))
+#define H8BRCR_A21E		(1<<(H8BRCR_A21E_BIT))
+#define H8BRCR_BRLE		(1<<(H8BRCR_BRLE_BIT))
+
+/* Integrated Timer Unit (ITU) */
+
+#define H8ITU_TSTR		0xffff60
+#define H8ITU_TSNC		0xffff61
+#define H8ITU_TMDR		0xffff62
+#define H8ITU_TFCR		0xffff63
+#define H8ITU_TOER		0xffff90
+#define H8ITU_TOCR		0xffff91
+
+#define H8ITU0			0xffff64	/* base address */
+#define H8ITU1			0xffff6e
+#define H8ITU2			0xffff78
+#define H8ITU3			0xffff82
+#define H8ITU4			0xffff92
+
+/* Integrated Timer Unit (ITU) */
+
+/* address offset */
+
+#define H8TCR			0
+#define H8TIOR			1
+#define H8TIER			2
+#define H8TSR			3
+#define H8TCNT			4
+#define H8TCNTH			4
+#define H8TCNTL			5
+#define H8GRA			6
+#define H8GRAH			6
+#define H8GRAL			7
+#define H8GRB			8
+#define H8GRBH			8
+#define H8GRBL			9
+#define H8BRA			10
+#define H8BRAH			10
+#define H8BRAL			11
+#define H8BRB			12
+#define H8BRBH			12
+#define H8BRBL			13
+
+/* ITU Timer Start Register (TSTR) */
+
+#define H8TSTR_STR4_BIT		4
+#define H8TSTR_STR3_BIT		3
+#define H8TSTR_STR2_BIT		2
+#define H8TSTR_STR1_BIT		1
+#define H8TSTR_STR0_BIT		0
+
+#define H8TSTR_STR4		(1<<H8TSTR_STR4_BIT)
+#define H8TSTR_STR3		(1<<H8TSTR_STR3_BIT)
+#define H8TSTR_STR2		(1<<H8TSTR_STR2_BIT)
+#define H8TSTR_STR1		(1<<H8TSTR_STR1_BIT)
+#define H8TSTR_STR0		(1<<H8TSTR_STR0_BIT)
+
+/* ITU Timer Control Register (TCR) */
+
+#define H8TCR_CCLR1_BIT		6
+#define H8TCR_CCLR0_BIT		5
+#define H8TCR_CKEG1_BIT		4
+#define H8TCR_CKEG0_BIT		3
+#define H8TCR_TPSC2_BIT		2
+#define H8TCR_TPSC1_BIT		1
+#define H8TCR_TPSC0_BIT		0
+
+#define H8TCR_CCLR1		(1<<H8TCR_CCLR1_BIT)
+#define H8TCR_CCLR0		(1<<H8TCR_CCLR0_BIT)
+#define H8TCR_CKEG1		(1<<H8TCR_CKEG1_BIT)
+#define H8TCR_CKEG0		(1<<H8TCR_CKEG0_BIT)
+#define H8TCR_TPSC2		(1<<H8TCR_TPSC2_BIT)
+#define H8TCR_TPSC1		(1<<H8TCR_TPSC1_BIT)
+#define H8TCR_TPSC0		(1<<H8TCR_TPSC0_BIT)
+
+/* ITU Timer Status Register (TSR) */
+
+#define H8TSR_OVIF_BIT		2
+#define H8TSR_IMIFB_BIT		1
+#define H8TSR_IMIFA_BIT		0
+
+#define H8TSR_OVIF		(1<<H8TSR_OVIF_BIT)
+#define H8TSR_IMIFB		(1<<H8TSR_IMIFB_BIT)
+#define H8TSR_IMIFA		(1<<H8TSR_IMIFA_BIT)
+
+/* ITU Timer Intrrupt Enable Register (TIER) */
+
+#define H8TIER_OVIE_BIT		2
+#define H8TIER_IMIEB_BIT	1
+#define H8TIER_IMIEA_BIT	0
+
+#define H8TIER_OVIE		(1<<H8TIER_OVIE_BIT)
+#define H8TIER_IMIEB		(1<<H8TIER_IMIEB_BIT)
+#define H8TIER_IMIEA		(1<<H8TIER_IMIEA_BIT)
+
+/* ITU Timer I/O Control Register (TIOR) */
+
+#define H8TIOR_IOB2_BIT		6
+#define H8TIOR_IOB1_BIT		5
+#define H8TIOR_IOB0_BIT		4
+#define H8TIOR_IOA2_BIT		2
+#define H8TIOR_IOA1_BIT		1
+#define H8TIOR_IOA0_BIT		0
+
+#define H8TIOR_IOB2		(1<<H8TIOR_IOB2_BIT)
+#define H8TIOR_IOB1		(1<<H8TIOR_IOB1_BIT)
+#define H8TIOR_IOB0		(1<<H8TIOR_IOB0_BIT)
+#define H8TIOR_IOA2		(1<<H8TIOR_IOA2_BIT)
+#define H8TIOR_IOA1		(1<<H8TIOR_IOA1_BIT)
+#define H8TIOR_IOA0		(1<<H8TIOR_IOA0_BIT)
+
+/* Serial Communication Interface (SCI) */
+
+#define H8SCI0			0xffffb0	/* base address */
+#define H8SCI1			0xffffb8
+
+/* address offset */
+
+#define H8SMR			0
+#define H8BRR			1
+#define H8SCR			2
+#define H8TDR			3
+#define H8SSR			4
+#define H8RDR			5
+
+/* SCI Serial Mode Register (SMR) */
+
+#define H8SMR_CA_BIT		7
+#define H8SMR_CHR_BIT		6
+#define H8SMR_PE_BIT		5
+#define H8SMR_OE_BIT		4
+#define H8SMR_STOP_BIT		3
+#define H8SMR_MP_BIT		2
+#define H8SMR_CKS1_BIT		1
+#define H8SMR_CKS0_BIT		0
+
+#define H8SMR_CA		(1<<H8SMR_CA_BIT)
+#define H8SMR_CHR		(1<<H8SMR_CHR_BIT)
+#define H8SMR_PE		(1<<H8SMR_PE_BIT)
+#define H8SMR_OE		(1<<H8SMR_OE_BIT)
+#define H8SMR_STOP		(1<<H8SMR_STOP_BIT)
+#define H8SMR_MP		(1<<H8SMR_MP_BIT)
+#define H8SMR_CKS1		(1<<H8SMR_CKS1_BIT)
+#define H8SMR_CKS0		(1<<H8SMR_CKS0_BIT)
+#define H8SMR_CKS_MASK		(H8SMR_CKS1|H8SMR_CKS0)
+
+/* SCI Serial Control Register (SCR) */
+
+#define H8SCR_TIE_BIT		7
+#define H8SCR_RIE_BIT		6
+#define H8SCR_TE_BIT		5
+#define H8SCR_RE_BIT		4
+#define H8SCR_MPIE_BIT		3
+#define H8SCR_TEIE_BIT		2
+#define H8SCR_CKE1_BIT		1
+#define H8SCR_CKE0_BIT		0
+
+#define H8SCR_TIE		(1<<H8SCR_TIE_BIT)
+#define H8SCR_RIE		(1<<H8SCR_RIE_BIT)
+#define H8SCR_TE		(1<<H8SCR_TE_BIT)
+#define H8SCR_RE		(1<<H8SCR_RE_BIT)
+#define H8SCR_MPIE		(1<<H8SCR_MPIE_BIT)
+#define H8SCR_TEIE		(1<<H8SCR_TEIE_BIT)
+#define H8SCR_CKE1		(1<<H8SCR_CKE1_BIT)
+#define H8SCR_CKE0		(1<<H8SCR_CKE0_BIT)
+#define H8SCR_CKE_MASK		(H8SCR_CKE1|H8SCR_CKE0)
+#define H8SCR_IE		(H8SCR_TIE|H8SCR_RIE|H8SCR_MPIE|H8SCR_TEIE)
+
+/* SCI Serial Status Register (SSR) */
+
+#define H8SSR_TDRE_BIT		7
+#define H8SSR_RDRF_BIT		6
+#define H8SSR_ORER_BIT		5
+#define H8SSR_FER_BIT		4
+#define H8SSR_PER_BIT		3
+#define H8SSR_TEND_BIT		2
+#define H8SSR_MPB_BIT		1
+#define H8SSR_MPBT_BIT		0
+
+#define H8SSR_TDRE		(1<<H8SSR_TDRE_BIT)
+#define H8SSR_RDRF		(1<<H8SSR_RDRF_BIT)
+#define H8SSR_ORER		(1<<H8SSR_ORER_BIT)
+#define H8SSR_FER		(1<<H8SSR_FER_BIT)
+#define H8SSR_PER		(1<<H8SSR_PER_BIT)
+#define H8SSR_TEND		(1<<H8SSR_TEND_BIT)
+#define H8SSR_MPB		(1<<H8SSR_MPB_BIT)
+#define H8SSR_MPBT		(1<<H8SSR_MPBT_BIT)
+
+/*
+ *  å
+èµã¡ã¢ãªã®å®ç¾©
+ */
+#define H8IN_ROM_BASE		0x000000
+#define H8IN_ROM_SIZE		0x020000
+#define H8IN_RAM_BASE		0xffdf10
+#define H8IN_RAM_SIZE		0x002000
+
+#endif /* _H8_3052F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3069f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3069f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_3069f.h	(revision 26)
@@ -0,0 +1,1241 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: h8_3069f.h,v 1.4 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _H8_3069F_H_
+#define _H8_3069F_H_
+
+/*
+ *  H8/3069F ç¨å®ç¾©
+ */
+
+/* Interrupt numbers */
+
+#define IRQ_NMI			7		/* NMI */
+
+#define TRAP8			8
+
+#define IRQ_EXT0		12		/* IRQ0 */
+#define IRQ_EXT1		13		/* IRQ1 */
+#define IRQ_EXT2		14		/* IRQ2 */
+#define IRQ_EXT3		15		/* IRQ3 */
+#define IRQ_EXT4		16		/* IRQ4 */
+#define IRQ_EXT5		17		/* IRQ5 */
+
+#define IRQ_WOVI		20		/* Watch Doc Timer */
+
+#define IRQ_CMI			21		/* Compare Match */
+
+#define IRQ_ADI			23		/* A/D */
+
+#define IRQ_IMIA0		24		/* 16 bit timer 0 IMIA0 */
+#define IRQ_IMIB0		25		/* 16 bit timer 0 IMIB0 */
+#define IRQ_OVI0		26		/* 16 bit timer 0 OVI0  */
+
+#define IRQ_IMIA1		28		/* 16 bit timer 1 IMIA1 */
+#define IRQ_IMIB1		29		/* 16 bit timer 1 IMIB1 */
+#define IRQ_OVI1		30		/* 16 bit timer 1 OVI1  */
+
+#define IRQ_IMIA2		32		/* 16 bit timer 2 IMIA2 */
+#define IRQ_IMIB2		33		/* 16 bit timer 2 IMIB2 */
+#define IRQ_OVI2		34		/* 16 bit timer 2 OVI2  */
+
+#define IRQ_CIMIA0		36		/* 8 bit timer 0 CIMIA0 */
+#define IRQ_CIMIB0		37		/* 8 bit timer 0 CIMIB0 */
+#define IRQ_CIMIA1		38		/* 8 bit timer 1 CIMIA1 */
+#define IRQ_CIMIB1		38		/* 8 bit timer 1 CIMIB1 */
+#define IRQ_TOVI0		39		/* 8 bit timer 0 TOVI0  */
+#define IRQ_TOVI1		39		/* 8 bit timer 1 TOVI1  */
+
+#define IRQ_CIMIA2		40		/* 8 bit timer 2 CIMIA2 */
+#define IRQ_CIMIB2		41		/* 8 bit timer 2 CIMIB2 */
+#define IRQ_CIMIA3		42		/* 8 bit timer 3 CIMIA3 */
+#define IRQ_CIMIB3		42		/* 8 bit timer 3 CIMIB3 */
+#define IRQ_TOVI2		43		/* 8 bit timer 2 TOVI2  */
+#define IRQ_TOVI3		43		/* 8 bit timer 3 TOVI3  */
+
+#define IRQ_DEND0A		44		/* DMAC */
+#define IRQ_DEND0B		45		/* DMAC */
+#define IRQ_DEND1A		46		/* DMAC */
+#define IRQ_DEND1B		47		/* DMAC */
+
+#define IRQ_ERI0		52		/* SCI0 ERI */
+#define IRQ_RXI0		53		/* SCI0 RXI */
+#define IRQ_TXI0		54		/* SCI0 TXI */
+#define IRQ_TEI0		55		/* SCI0 TEI */
+
+#define IRQ_ERI1		56		/* SCI1 ERI */
+#define IRQ_RXI1		57		/* SCI1 RXI */
+#define IRQ_TXI1		58		/* SCI1 TXI */
+#define IRQ_TEI1		59		/* SCI1 TEI */
+
+#define IRQ_ERI2		60		/* SCI2 ERI */
+#define IRQ_RXI2		61		/* SCI2 RXI */
+#define IRQ_TXI2		62		/* SCI2 TXI */
+#define IRQ_TEI2		63		/* SCI2 TEI */
+
+/* 
+ * register address 
+ *ããå
+é¨I/Oã¬ã¸ã¹ã¿(1) 0xfe,e000ã0xfe,e0ff
+ *ããå
+é¨I/Oã¬ã¸ã¹ã¿(2) 0xff,ff20ã0xff,ffe9
+ *ããããããã¥ã¢ã«ã«ã¯ä¸ä½20ãããããè¨è¼ããã¦ããªãã®ã§
+ *ããããä¸ä½4ãããï¼0xf0,0000ï¼ãè£ãã
+ */
+
+/* I/O ports */
+
+/* port1: A0  - A7  */
+
+#define H8P1DDR			0xfee000
+#define H8P1DR			0xffffd0
+
+/* port2: A8  - A15 */
+
+#define H8P2DDR			0xfee001
+#define H8P2DR			0xffffd1
+#define H8P2PCR			0xfee03c
+
+/* port3: D8  - D15 */
+
+#define H8P3DDR			0xfee002
+#define H8P3DR			0xffffd2
+
+/* port4: D0  - D7  */
+
+#define H8P4DDR			0xfee003
+#define H8P4DR			0xffffd3
+#define H8P4PCR			0xfee03e
+
+/* port5: A16 - A19 */
+
+#define H8P5DDR			0xfee004
+#define H8P5DR			0xffffd4
+#define H8P5PCR			0xfee03f
+
+#define H8P5DDR_A19_BIT		3
+#define H8P5DDR_A18_BIT		2
+#define H8P5DDR_A17_BIT		1
+#define H8P5DDR_A16_BIT		0
+
+#define H8P5DDR_A19		(1<<H8P5DDR_A19_BIT)
+#define H8P5DDR_A18		(1<<H8P5DDR_A18_BIT)
+#define H8P5DDR_A17		(1<<H8P5DDR_A17_BIT)
+#define H8P5DDR_A16		(1<<H8P5DDR_A16_BIT)
+
+/* port6 */
+
+#define H8P6DDR			0xfee005
+#define H8P6DR			0xffffd5
+
+#define H8P6DDR_CLOCK_BIT	7
+#define H8P6DDR_HWR_BIT		6
+#define H8P6DDR_LWR_BIT		5
+#define H8P6DDR_RD_BIT		4
+#define H8P6DDR_AS_BIT		3
+#define H8P6DDR_BACK_BIT	2
+#define H8P6DDR_BREQ_BIT	1
+#define H8P6DDR_WAIT_BIT	0
+
+#define H8P6DDR_CLOCK		(1<<H8P6DDR_CLOCK_BIT)
+#define H8P6DDR_HWR			(1<<H8P6DDR_HWR_BIT)
+#define H8P6DDR_LWR			(1<<H8P6DDR_LWR_BIT)
+#define H8P6DDR_RD			(1<<H8P6DDR_RD_BIT)
+#define H8P6DDR_AS			(1<<H8P6DDR_AS_BIT)
+#define H8P6DDR_BACK		(1<<H8P6DDR_BACK_BIT)
+#define H8P6DDR_BREQ		(1<<H8P6DDR_BREQ_BIT)
+#define H8P6DDR_WAIT		(1<<H8P6DDR_WAIT_BIT)
+
+/* port7 */
+
+#define H8P7DR			0xffffd6
+
+/* port8 */
+
+#define H8P8DDR			0xfee007
+#define H8P8DR			0xffffd7
+
+#define H8P8DDR_CS0_BIT		4
+#define H8P8DDR_CS1_BIT		3
+#define H8P8DDR_CS2_BIT		2
+#define H8P8DDR_CS3_BIT		1
+#define H8P8DDR_RFSH_BIT	0
+
+#define H8P8DDR_CS0			(1<<H8P8DDR_CS0_BIT)
+#define H8P8DDR_CS1			(1<<H8P8DDR_CS1_BIT)
+#define H8P8DDR_CS2			(1<<H8P8DDR_CS2_BIT)
+#define H8P8DDR_CS3			(1<<H8P8DDR_CS3_BIT)
+#define H8P8DDR_RFSH		(1<<H8P8DDR_RFSH_BIT)
+
+#define H8P8DDR_IRQ3_BIT	3
+#define H8P8DDR_IRQ2_BIT	2
+#define H8P8DDR_IRQ1_BIT	1
+#define H8P8DDR_IRQ0_BIT	0
+
+#define H8P8DDR_IRQ3		(1<<H8P8DDR_IRQ3_BIT)
+#define H8P8DDR_IRQ2		(1<<H8P8DDR_IRQ2_BIT)
+#define H8P8DDR_IRQ1		(1<<H8P8DDR_IRQ1_BIT)
+#define H8P8DDR_IRQ0		(1<<H8P8DDR_IRQ0_BIT)
+
+#define H8P8DDR_ADTRG_BIT	3
+
+#define H8P8DDR_ADTRG		(1<<H8PBDDR_ADTRG_BIT)
+
+/* port9 (SCI) */
+
+#define H8P9DDR			0xfee008
+#define H8P9DR			0xffffd8
+
+#define H8P9DDR_SCK1_BIT	5
+#define H8P9DDR_SCK0_BIT	4
+#define H8P9DDR_RXD1_BIT	3
+#define H8P9DDR_RXD0_BIT	2
+#define H8P9DDR_TXD1_BIT	1
+#define H8P9DDR_TXD0_BIT	0
+
+#define H8P9DDR_SCK1		(1<<H8P9DDR_SCK1_BIT)
+#define H8P9DDR_SCK0		(1<<H8P9DDR_SCK0_BIT)
+#define H8P9DDR_RXD1		(1<<H8P9DDR_RXD1_BIT)
+#define H8P9DDR_RXD0		(1<<H8P9DDR_RXD0_BIT)
+#define H8P9DDR_TXD1		(1<<H8P9DDR_TXD1_BIT)
+#define H8P9DDR_TXD0		(1<<H8P9DDR_TXD0_BIT)
+
+#define H8P9DDR_IRQ5_BIT	5
+#define H8P9DDR_IRQ4_BIT	4
+
+#define H8P9DDR_IRQ5		(1<<H8P9DDR_IRQ5_BIT)
+#define H8P9DDR_IRQ4		(1<<H8P9DDR_IRQ4_BIT)
+
+/* portA (TPC/ITU/DMA) */
+
+#define H8PADDR			0xfee009
+#define H8PADR			0xffffd9
+
+#define H8PADDR_TP7_BIT		7
+#define H8PADDR_TP6_BIT		6
+#define H8PADDR_TP5_BIT		5
+#define H8PADDR_TP4_BIT		4
+#define H8PADDR_TP3_BIT		3
+#define H8PADDR_TP2_BIT		2
+#define H8PADDR_TP1_BIT		1
+#define H8PADDR_TP0_BIT		0
+
+#define H8PADDR_TP7		(1<<H8PADDR_TP7_BIT)
+#define H8PADDR_TP6		(1<<H8PADDR_TP6_BIT)
+#define H8PADDR_TP5		(1<<H8PADDR_TP5_BIT)
+#define H8PADDR_TP4		(1<<H8PADDR_TP4_BIT)
+#define H8PADDR_TP3		(1<<H8PADDR_TP3_BIT)
+#define H8PADDR_TP2		(1<<H8PADDR_TP2_BIT)
+#define H8PADDR_TP1		(1<<H8PADDR_TP1_BIT)
+#define H8PADDR_TP0		(1<<H8PADDR_TP0_BIT)
+
+#define H8PADDR_TIOCB2_BIT	7
+#define H8PADDR_TIOCA2_BIT	6
+#define H8PADDR_TIOCB1_BIT	5
+#define H8PADDR_TIOCA1_BIT	4
+#define H8PADDR_TIOCB0_BIT	3
+#define H8PADDR_TIOCA0_BIT	2
+
+#define H8PADDR_TIOCB2		(1<<H8PADDR_TIOCB2_BIT)
+#define H8PADDR_TIOCA2		(1<<H8PADDR_TIOCA2_BIT)
+#define H8PADDR_TIOCB1		(1<<H8PADDR_TIOCB1_BIT)
+#define H8PADDR_TIOCA1		(1<<H8PADDR_TIOCA1_BIT)
+#define H8PADDR_TIOCB0		(1<<H8PADDR_TIOCB0_BIT)
+#define H8PADDR_TIOCA0		(1<<H8PADDR_TIOCA0_BIT)
+
+#define H8PADDR_TEND1_BIT	1
+#define H8PADDR_TEND0_BIT	0
+
+#define H8PADDR_TEND1		(1<<H8PADDR_TEND1_BIT)
+#define H8PADDR_TEND0		(1<<H8PADDR_TEND0_BIT)
+
+#define H8PADDR_A20_BIT		7
+#define H8PADDR_A21_BIT		6
+#define H8PADDR_A22_BIT		5
+#define H8PADDR_A23_BIT		4
+
+#define H8PADDR_A20		(1<<H8PADDR_A20_BIT)
+#define H8PADDR_A21		(1<<H8PADDR_A21_BIT)
+#define H8PADDR_A22		(1<<H8PADDR_A22_BIT)
+#define H8PADDR_A23		(1<<H8PADDR_A23_BIT)
+
+#define H8PADDR_TCLKD_BIT	3
+#define H8PADDR_TCLKC_BIT	2
+#define H8PADDR_TCLKB_BIT	1
+#define H8PADDR_TCLKA_BIT	0
+
+#define H8PADDR_TCLKD		(1<<H8PADDR_TCLKD_BIT)
+#define H8PADDR_TCLKC		(1<<H8PADDR_TCLKC_BIT)
+#define H8PADDR_TCLKB		(1<<H8PADDR_TCLKB_BIT)
+#define H8PADDR_TCLKA		(1<<H8PADDR_TCLKA_BIT)
+
+/* portB (TP/ITU/DMA/AD) */
+
+#define H8PBDDR			0xfee00a
+#define H8PBDR			0xffffda
+
+#define H8PBDDR_TP15_BIT	7
+#define H8PBDDR_TP14_BIT	6
+#define H8PBDDR_TP13_BIT	5
+#define H8PBDDR_TP12_BIT	4
+#define H8PBDDR_TP11_BIT	3
+#define H8PBDDR_TP10_BIT	2
+#define H8PBDDR_TP9_BIT		1
+#define H8PBDDR_TP8_BIT		0
+
+#define H8PBDDR_TP15		(1<<H8PBDDR_TP15_BIT)
+#define H8PBDDR_TP14		(1<<H8PBDDR_TP14_BIT)
+#define H8PBDDR_TP13		(1<<H8PBDDR_TP13_BIT)
+#define H8PBDDR_TP12		(1<<H8PBDDR_TP12_BIT)
+#define H8PBDDR_TP11		(1<<H8PBDDR_TP11_BIT)
+#define H8PBDDR_TP10		(1<<H8PBDDR_TP10_BIT)
+#define H8PBDDR_TP9			(1<<H8PBDDR_TP9_BIT)
+#define H8PBDDR_TP8			(1<<H8PBDDR_TP8_BIT)
+
+#define H8PBDDR_LCAS_BIT	5
+#define H8PBDDR_UCAS_BIT	4
+#define H8PBDDR_DREQ1_BIT	3
+#define H8PBDDR_DREQ0_BIT	1
+
+#define H8PBDDR_LCAS		(1<<H8PBDDR_LCAS_BIT)
+#define H8PBDDR_UCAS		(1<<H8PBDDR_UCAS_BIT)
+#define H8PBDDR_DREQ1		(1<<H8PBDDR_DREQ1_BIT)
+#define H8PBDDR_DREQ0		(1<<H8PBDDR_DREQ0_BIT)
+
+#define H8PBDDR_TMIO3_BIT	3
+#define H8PBDDR_TMIO2_BIT	2
+#define H8PBDDR_TMIO1_BIT	1
+#define H8PBDDR_TMIO0_BIT	0
+
+#define H8PBDDR_TMIO4		(1<<H8PBDDR_TMIO3_BIT)
+#define H8PBDDR_TMIO3		(1<<H8PBDDR_TMIO2_BIT)
+#define H8PBDDR_TMIO2		(1<<H8PBDDR_TMIO1_BIT)
+#define H8PBDDR_TMIO1		(1<<H8PBDDR_TMIO0_BIT)
+
+#define H8PBDDR_RXD2_BIT	7
+#define H8PBDDR_TXD2_BIT	6
+#define H8PBDDR_SCK2_BIT	5
+
+#define H8PBDDR_RXD2		(1<<H8PBDDR_RXD2_BIT)
+#define H8PBDDR_TXD2		(1<<H8PBDDR_TXD2_BIT)
+#define H8PBDDR_SCK2		(1<<H8PBDDR_SCK2_BIT)
+
+#define H8PBDDR_CS4_BIT		3
+#define H8PBDDR_CS5_BIT		2
+#define H8PBDDR_CS6_BIT		1
+#define H8PBDDR_CS7_BIT		0
+
+#define H8PBDDR_CS4		(1<<H8PBDDR_CS4_BIT)
+#define H8PBDDR_CS5		(1<<H8PBDDR_CS5_BIT)
+#define H8PBDDR_CS6		(1<<H8PBDDR_CS6_BIT)
+#define H8PBDDR_CS7		(1<<H8PBDDR_CS7_BIT)
+
+/* Interrupt Contolller */
+
+#define H8INTC			0xfee014  /* interrupt controller base address */
+#define H8ISCR			0xfee014
+#define H8IER			0xfee015
+#define H8ISR			0xfee016
+#define H8IPRA			0xfee018
+#define H8IPRB			0xfee019
+
+/* System Control Register */
+
+#define H8SYSCR			0xfee012  /* SYSCR */
+
+#define H8SYSCR_SSBY_BIT	7
+#define H8SYSCR_STS2_BIT	6
+#define H8SYSCR_STS1_BIT	5
+#define H8SYSCR_STS0_BIT	4
+#define H8SYSCR_UE_BIT		3
+#define H8SYSCR_NMIEG_BIT	2
+#define H8SYSCR_SSOE_BIT	1
+#define H8SYSCR_RAME_BIT	0
+
+#define H8SYSCR_SSBY		(1<<(H8SYSCR_SSBY_BIT))
+#define H8SYSCR_STS2		(1<<(H8SYSCR_STS2_BIT))
+#define H8SYSCR_STS1		(1<<(H8SYSCR_STS1_BIT))
+#define H8SYSCR_STS0		(1<<(H8SYSCR_STS0_BIT))
+#define H8SYSCR_UE			(1<<(H8SYSCR_UE_BIT))
+#define H8SYSCR_NMIEG		(1<<(H8SYSCR_NMIEG_BIT))
+#define H8SYSCR_SSOE		(1<<(H8SYSCR_SSOE_BIT))
+#define H8SYSCR_RAME		(1<<(H8SYSCR_RAME_BIT))
+
+/* Interrupt Enable Register */
+
+#define H8IER_IRQ5E_BIT		5	/* IRQ5			*/
+#define H8IER_IRQ4E_BIT		4	/* IRQ4			*/
+#define H8IER_IRQ3E_BIT		3	/* IRQ3			*/
+#define H8IER_IRQ2E_BIT		2	/* IRQ2			*/
+#define H8IER_IRQ1E_BIT		1	/* IRQ1			*/
+#define H8IER_IRQ0E_BIT		0	/* IRQ0			*/
+
+#define H8IER_IRQ5E			(1<<(H8IER_IRQ5E_BIT))
+#define H8IER_IRQ4E			(1<<(H8IER_IRQ4E_BIT))
+#define H8IER_IRQ3E			(1<<(H8IER_IRQ3E_BIT))
+#define H8IER_IRQ2E			(1<<(H8IER_IRQ2E_BIT))
+#define H8IER_IRQ1E			(1<<(H8IER_IRQ1E_BIT))
+#define H8IER_IRQ0E			(1<<(H8IER_IRQ0E_BIT))
+
+/*  IRQ Sense Control Register  */
+#define H8ISCR_IRQ0SC	0x01
+#define H8ISCR_IRQ1SC	0x02
+#define H8ISCR_IRQ2SC	0x04
+#define H8ISCR_IRQ3SC	0x08
+#define H8ISCR_IRQ4SC	0x10
+#define H8ISCR_IRQ5SC	0x20
+
+/*  IRQ Status Register  */
+#define H8ISR_IRQ0F		0x01
+#define H8ISR_IRQ1F		0x02
+#define H8ISR_IRQ2F		0x04
+#define H8ISR_IRQ3F		0x08
+#define H8ISR_IRQ4F		0x10
+#define H8ISR_IRQ5F		0x20
+
+
+/* Interrupt Priority Register A */
+
+#define H8IPR_IRQ0_BIT		7	/* IRQ0			*/
+#define H8IPR_IRQ1_BIT		6	/* IRQ1			*/
+#define H8IPR_IRQ2_BIT		5	/* IRQ2			*/
+#define H8IPR_IRQ3_BIT		5	/* IRQ3			*/
+#define H8IPR_IRQ4_BIT		4	/* IRQ4			*/
+#define H8IPR_IRQ5_BIT		4	/* IRQ5			*/
+#define H8IPR_WDT_BIT		3	/* WDT			*/
+#define H8IPR_AD_BIT		3	/* A/D			*/
+#define H8IPR_CMI_BIT		3	/* CMI			*/
+#define H8IPR_ITU0_BIT		2	/* 16 bit timer 0	*/
+#define H8IPR_ITU1_BIT		1	/* 16 bit timer 1	*/
+#define H8IPR_ITU2_BIT		0	/* 16 bit timer 2	*/
+
+#define H8IPR_IRQ0		(1<<(H8IPR_IRQ0_BIT))
+#define H8IPR_IRQ1		(1<<(H8IPR_IRQ1_BIT))
+#define H8IPR_IRQ2		(1<<(H8IPR_IRQ2_BIT))
+#define H8IPR_IRQ3		(1<<(H8IPR_IRQ3_BIT))
+#define H8IPR_IRQ4		(1<<(H8IPR_IRQ4_BIT))
+#define H8IPR_IRQ5		(1<<(H8IPR_IRQ5_BIT))
+#define H8IPR_WDT		(1<<(H8IPR_WDT_BIT))
+#define H8IPR_AD		(1<<(H8IPR_AD_BIT))
+#define H8IPR_CMI		(1<<(H8IPR_CMI_BIT))
+#define H8IPR_ITU0		(1<<(H8IPR_ITU0_BIT))
+#define H8IPR_ITU1		(1<<(H8IPR_ITU1_BIT))
+#define H8IPR_ITU2		(1<<(H8IPR_ITU2_BIT))
+
+/* Interrupt Priority Register B */
+
+#define H8IPR_TU80_BIT		7	/* 8 bit timer 0	*/
+#define H8IPR_TU81_BIT		6	/* 8 bit timer 1	*/
+#define H8IPR_DMAC_BIT		5	/* DMAC (CH0,1)		*/
+#define H8IPR_SCI0_BIT		3	/* SCI0			*/
+#define H8IPR_SCI1_BIT		2	/* SCI1			*/
+#define H8IPR_SCI2_BIT		1	/* SCI2			*/
+
+#define H8IPR_TU80		(1<<(H8IPR_TU80_BIT))
+#define H8IPR_TU81		(1<<(H8IPR_TU81_BIT))
+#define H8IPR_DMAC		(1<<(H8IPR_DMAC_BIT))
+#define H8IPR_SCI0		(1<<(H8IPR_SCI0_BIT))
+#define H8IPR_SCI1		(1<<(H8IPR_SCI1_BIT))
+#define H8IPR_SCI2		(1<<(H8IPR_SCI2_BIT))
+
+/* 16 bit Timer */
+
+#define H816TU			0xffff60	/* base address */
+#define H816TU_TSTR		0xffff60
+#define H816TU_TSNC		0xffff61
+#define H816TU_TMDR		0xffff62
+#define H816TU_TOLR		0xffff63
+#define H816TU_TISRA	0xffff64
+#define H816TU_TISRB	0xffff65
+#define H816TU_TISRC	0xffff66
+
+#define H816TU0			0xffff68	/* base address */
+#define H816TU1			0xffff70	/* base address */
+#define H816TU2			0xffff78	/* base address */
+
+/* address offset */
+
+#define H8TCR			0
+#define H8TIOR			1
+#define H8TCNT			2
+#define H8TCNTH			2
+#define H8TCNTL			3
+#define H8GRA			4
+#define H8GRAH			4
+#define H8GRAL			5
+#define H8GRB			6
+#define H8GRBH			6
+#define H8GRBL			7
+
+/* Timer Start Register (TSTR) */
+
+#define H8TSTR_STR2_BIT		2
+#define H8TSTR_STR1_BIT		1
+#define H8TSTR_STR0_BIT		0
+
+#define H8TSTR_STR2		(1<<H8TSTR_STR2_BIT)
+#define H8TSTR_STR1		(1<<H8TSTR_STR1_BIT)
+#define H8TSTR_STR0		(1<<H8TSTR_STR0_BIT)
+
+/* Timer Synchronous Register (TSNC) */
+
+#define H8TSNC_SYNC2_BIT	2
+#define H8TSNC_SYNC1_BIT	1
+#define H8TSNC_SYNC0_BIT	0
+
+#define H8TSNC_SYNC2		(1<<H8TSNC_SYNC2_BIT)
+#define H8TSNC_SYNC1		(1<<H8TSNC_SYNC1_BIT)
+#define H8TSNC_SYNC0		(1<<H8TSNC_SYNC0_BIT)
+
+/* Timer Mode Register (TMDR) */
+
+#define H8TMDR_MDF_BIT		6
+#define H8TMDR_FDIR_BIT		5
+#define H8TMDR_PWM2_BIT		2
+#define H8TMDR_PWM1_BIT		1
+#define H8TMDR_PWM0_BIT		0
+
+#define H8TMDR_MDF		(1<<H8TMDR_MDF_BIT)
+#define H8TMDR_FDIR		(1<<H8TMDR_FDIR_BIT)
+#define H8TMDR_PWM2		(1<<H8TMDR_PWM2_BIT)
+#define H8TMDR_PWM1		(1<<H8TMDR_PWM1_BIT)
+#define H8TMDR_PWM0		(1<<H8TMDR_PWM0_BIT)
+
+/* Timer Interrupt Status Register A (TISRA) */
+
+#define H8TISRA_IMIEA2_BIT	6
+#define H8TISRA_IMIEA1_BIT	5
+#define H8TISRA_IMIEA0_BIT	4
+#define H8TISRA_IMFA2_BIT	2
+#define H8TISRA_IMFA1_BIT	1
+#define H8TISRA_IMFA0_BIT	0
+
+#define H8TISRA_IMIEA2		(1<<H8TISRA_IMIEA2_BIT)
+#define H8TISRA_IMIEA1		(1<<H8TISRA_IMIEA1_BIT)
+#define H8TISRA_IMIEA0		(1<<H8TISRA_IMIEA0_BIT)
+#define H8TISRA_IMFA2		(1<<H8TISRA_IMFA2_BIT)
+#define H8TISRA_IMFA1		(1<<H8TISRA_IMFA1_BIT)
+#define H8TISRA_IMFA0		(1<<H8TISRA_IMFA0_BIT)
+
+/* Timer Interrupt Status Register B (TISRB) */
+
+#define H8TISRB_IMIEB2_BIT	6
+#define H8TISRB_IMIEB1_BIT	5
+#define H8TISRB_IMIEB0_BIT	4
+#define H8TISRB_IMFB2_BIT	2
+#define H8TISRB_IMFB1_BIT	1
+#define H8TISRB_IMFB0_BIT	0
+
+#define H8TISRB_IMIEB2		(1<<H8TISRB_IMIEB2_BIT)
+#define H8TISRB_IMIEB1		(1<<H8TISRB_IMIEB1_BIT)
+#define H8TISRB_IMIEB0		(1<<H8TISRB_IMIEB0_BIT)
+#define H8TISRB_IMFB2		(1<<H8TISRB_IMFB2_BIT)
+#define H8TISRB_IMFB1		(1<<H8TISRB_IMFB1_BIT)
+#define H8TISRB_IMFB0		(1<<H8TISRB_IMFB0_BIT)
+
+/* Timer Interrupt Status Register C (TISRC) */
+
+#define H8TISRC_OVIEA2_BIT	6
+#define H8TISRC_OVIEA1_BIT	5
+#define H8TISRC_OVIEA0_BIT	4
+#define H8TISRC_OVFA2_BIT	2
+#define H8TISRC_OVFA1_BIT	1
+#define H8TISRC_OVFA0_BIT	0
+
+#define H8TISRC_OVIEA2		(1<<H8TISRC_OVIEA2_BIT)
+#define H8TISRC_OVIEA1		(1<<H8TISRC_OVIEA1_BIT)
+#define H8TISRC_OVIEA0		(1<<H8TISRC_OVIEA0_BIT)
+#define H8TISRC_OVFA2		(1<<H8TISRC_OVFA2_BIT)
+#define H8TISRC_OVFA1		(1<<H8TISRC_OVFA1_BIT)
+#define H8TISRC_OVFA0		(1<<H8TISRC_OVFA0_BIT)
+
+/* Timer Control Register (TCR) */
+
+#define H8TCR_CCLR1_BIT		6
+#define H8TCR_CCLR0_BIT		5
+#define H8TCR_CKEG1_BIT		4
+#define H8TCR_CKEG0_BIT		3
+#define H8TCR_TPSC2_BIT		2
+#define H8TCR_TPSC1_BIT		1
+#define H8TCR_TPSC0_BIT		0
+
+#define H8TCR_CCLR1		(1<<H8TCR_CCLR1_BIT)
+#define H8TCR_CCLR0		(1<<H8TCR_CCLR0_BIT)
+#define H8TCR_CKEG1		(1<<H8TCR_CKEG1_BIT)
+#define H8TCR_CKEG0		(1<<H8TCR_CKEG0_BIT)
+#define H8TCR_TPSC2		(1<<H8TCR_TPSC2_BIT)
+#define H8TCR_TPSC1		(1<<H8TCR_TPSC1_BIT)
+#define H8TCR_TPSC0		(1<<H8TCR_TPSC0_BIT)
+
+/* Timer I/O Control Register (TIOR) */
+
+#define H8TIOR_IOB2_BIT		6
+#define H8TIOR_IOB1_BIT		5
+#define H8TIOR_IOB0_BIT		4
+#define H8TIOR_IOA2_BIT		2
+#define H8TIOR_IOA1_BIT		1
+#define H8TIOR_IOA0_BIT		0
+
+#define H8TIOR_IOB2		(1<<H8TIOR_IOB2_BIT)
+#define H8TIOR_IOB1		(1<<H8TIOR_IOB1_BIT)
+#define H8TIOR_IOB0		(1<<H8TIOR_IOB0_BIT)
+#define H8TIOR_IOA2		(1<<H8TIOR_IOA2_BIT)
+#define H8TIOR_IOA1		(1<<H8TIOR_IOA1_BIT)
+#define H8TIOR_IOA0		(1<<H8TIOR_IOA0_BIT)
+
+/* 8 bit Timer */
+
+#define H88TU0			0xffff80	/* base address */
+#define H88TU1			0xffff81
+#define H88TU2			0xffff90
+#define H88TU3			0xffff91
+
+/* address offset */
+
+#define H88TCR			0
+#define H88TCSR			2
+#define H88TCORA		4
+#define H88TCORB		6
+#define H88TCNT			8
+
+/* 8 Bit Timer Control Register (8TCR) */
+
+#define H88TCR_CMIEB_BIT	7
+#define H88TCR_CMIEA_BIT	6
+#define H88TCR_OVIE_BIT		5
+#define H88TCR_CCLR1_BIT	4
+#define H88TCR_CCLR0_BIT	3
+#define H88TCR_CKS2_BIT		2
+#define H88TCR_CKS1_BIT		1
+#define H88TCR_CKS0_BIT		0
+
+#define H88TCR_CMIEB		(1<<H88TCR_CMIEB_BIT)
+#define H88TCR_CMIEA		(1<<H88TCR_CMIEA_BIT)
+#define H88TCR_OVIE			(1<<H88TCR_OVIE_BIT)
+#define H88TCR_CCLR1		(1<<H88TCR_CCLR1_BIT)
+#define H88TCR_CCLR0		(1<<H88TCR_CCLR0_BIT)
+#define H88TCR_CKS2			(1<<H88TCR_CKS2_BIT)
+#define H88TCR_CKS1			(1<<H88TCR_CKS1_BIT)
+#define H88TCR_CKS0			(1<<H88TCR_CKS0_BIT)
+
+/* 8 Bit Timer Control/Status Register (8TCSR) */
+
+#define H88TCSR_CMFB_BIT	7
+#define H88TCSR_CMFA_BIT	6
+#define H88TCSR_OVF_BIT		5
+#define H88TCSR_ADTE_BIT	4
+#define H88TCSR_ICE_BIT		4
+#define H88TCSR_OIS3_BIT	3
+#define H88TCSR_OIS2_BIT	2
+#define H88TCSR_OS1_BIT		1
+#define H88TCSR_OS0_BIT		0
+
+#define H88TCSR_CMFB		(1<<H88TCSR_CMFB_BIT)
+#define H88TCSR_CMFA		(1<<H88TCSR_CMFA_BIT)
+#define H88TCSR_OVF			(1<<H88TCSR_OVF_BIT)
+#define H88TCSR_ADTE		(1<<H88TCSR_ADTE_BIT)
+#define H88TCSR_ICE			(1<<H88TCSR_ICE_BIT)
+#define H88TCSR_OIS3		(1<<H88TCSR_OIS3_BIT)
+#define H88TCSR_OIS2		(1<<H88TCSR_OIS2_BIT)
+#define H88TCSR_OS1			(1<<H88TCSR_OS1_BIT)
+#define H88TCSR_OS0			(1<<H88TCSR_OS0_BIT)
+
+/* Serial Communication Interface (SCI) */
+
+#define H8SCI0			0xffffb0	/* base address */
+#define H8SCI1			0xffffb8
+#define H8SCI2			0xffffc0
+
+/* address offset */
+
+#define H8SMR			0
+#define H8BRR			1
+#define H8SCR			2
+#define H8TDR			3
+#define H8SSR			4
+#define H8RDR			5
+#define H8SCMR			6
+
+/* SCI Serial Mode Register (SMR) */
+
+#define H8SMR_GM_BIT		7
+#define H8SMR_CHR_BIT		6
+#define H8SMR_PE_BIT		5
+#define H8SMR_OE_BIT		4
+#define H8SMR_STOP_BIT		3
+#define H8SMR_MP_BIT		2
+#define H8SMR_CKS1_BIT		1
+#define H8SMR_CKS0_BIT		0
+
+#define H8SMR_GM			(1<<H8SMR_GM_BIT)
+#define H8SMR_CHR			(1<<H8SMR_CHR_BIT)
+#define H8SMR_PE			(1<<H8SMR_PE_BIT)
+#define H8SMR_OE			(1<<H8SMR_OE_BIT)
+#define H8SMR_STOP			(1<<H8SMR_STOP_BIT)
+#define H8SMR_MP			(1<<H8SMR_MP_BIT)
+#define H8SMR_CKS1			(1<<H8SMR_CKS1_BIT)
+#define H8SMR_CKS0			(1<<H8SMR_CKS0_BIT)
+#define H8SMR_CKS_MASK		(H8SMR_CKS1|H8SMR_CKS0)
+
+/* SCI Serial Control Register (SCR) */
+
+#define H8SCR_TIE_BIT		7
+#define H8SCR_RIE_BIT		6
+#define H8SCR_TE_BIT		5
+#define H8SCR_RE_BIT		4
+#define H8SCR_MPIE_BIT		3
+#define H8SCR_TEIE_BIT		2
+#define H8SCR_CKE1_BIT		1
+#define H8SCR_CKE0_BIT		0
+
+#define H8SCR_TIE		(1<<H8SCR_TIE_BIT)
+#define H8SCR_RIE		(1<<H8SCR_RIE_BIT)
+#define H8SCR_TE		(1<<H8SCR_TE_BIT)
+#define H8SCR_RE		(1<<H8SCR_RE_BIT)
+#define H8SCR_MPIE		(1<<H8SCR_MPIE_BIT)
+#define H8SCR_TEIE		(1<<H8SCR_TEIE_BIT)
+#define H8SCR_CKE1		(1<<H8SCR_CKE1_BIT)
+#define H8SCR_CKE0		(1<<H8SCR_CKE0_BIT)
+#define H8SCR_CKE_MASK	(H8SCR_CKE1|H8SCR_CKE0)
+#define H8SCR_IE		(H8SCR_TIE|H8SCR_RIE|H8SCR_MPIE|H8SCR_TEIE)
+
+/* SCI Serial Status Register (SSR) */
+
+#define H8SSR_TDRE_BIT		7
+#define H8SSR_RDRF_BIT		6
+#define H8SSR_ORER_BIT		5
+#define H8SSR_FER_BIT		4
+#define H8SSR_PER_BIT		3
+#define H8SSR_TEND_BIT		2
+#define H8SSR_MPB_BIT		1
+#define H8SSR_MPBT_BIT		0
+
+#define H8SSR_TDRE		(1<<H8SSR_TDRE_BIT)
+#define H8SSR_RDRF		(1<<H8SSR_RDRF_BIT)
+#define H8SSR_ORER		(1<<H8SSR_ORER_BIT)
+#define H8SSR_FER		(1<<H8SSR_FER_BIT)
+#define H8SSR_PER		(1<<H8SSR_PER_BIT)
+#define H8SSR_TEND		(1<<H8SSR_TEND_BIT)
+#define H8SSR_MPB		(1<<H8SSR_MPB_BIT)
+#define H8SSR_MPBT		(1<<H8SSR_MPBT_BIT)
+
+
+/*	Bus Release Control Regisger	*/
+
+#define H8BRCR			0xfee013
+
+/*	Control bit in BRCR		*/
+
+#define H8BRCR_A23E_BIT		7
+#define H8BRCR_A22E_BIT		6
+#define H8BRCR_A21E_BIT		5
+#define H8BRCR_BRLE_BIT		1
+
+#define H8BRCR_A23E		(1<<(H8BRCR_A23E_BIT))
+#define H8BRCR_A22E		(1<<(H8BRCR_A22E_BIT))
+#define H8BRCR_A21E		(1<<(H8BRCR_A21E_BIT))
+#define H8BRCR_BRLE		(1<<(H8BRCR_BRLE_BIT))
+
+/* DRAM Control Registers */
+
+#define H8DRCRA			0xfee026	/* Control Register A			*/
+#define H8DRCRB			0xfee027	/* Control Register B			*/
+#define H8RTMCSR		0xfee028	/* Timer Control / Status Register	*/
+#define H8RTCNT			0xfee029	/* Reflesh Timer Counter		*/
+#define H8RTCOR			0xfee02a	/* Reflesh Time Constant Register	*/
+
+/* DRAM Control Register A */
+
+#define H8DRCRA_DRAS2_BIT	7
+#define H8DRCRA_DRAS1_BIT	6
+#define H8DRCRA_DRAS0_BIT	5
+#define H8DRCRA_BE_BIT		3
+#define H8DRCRA_RDM_BIT		2
+#define H8DRCRA_SRFMD_BIT	1
+#define H8DRCRA_RFSHE_BIT	0
+
+#define H8DRCRA_DRAS2		(1<<H8DRCRA_DRAS2_BIT)
+#define H8DRCRA_DRAS1		(1<<H8DRCRA_DRAS1_BIT)
+#define H8DRCRA_DRAS0		(1<<H8DRCRA_DRAS0_BIT)
+#define H8DRCRA_BE			(1<<H8DRCRA_BE_BIT)
+#define H8DRCRA_RDM			(1<<H8DRCRA_RDM_BIT)
+#define H8DRCRA_SRFMD		(1<<H8DRCRA_SRFMD_BIT)
+#define H8DRCRA_RFSHE		(1<<H8DRCRA_RFSHE_BIT)
+
+/* DRAM Control Register B */
+
+#define H8DRCRB_MXC1_BIT	7
+#define H8DRCRB_MXC0_BIT	6
+#define H8DRCRB_CSEL_BIT	5
+#define H8DRCRB_RCYCE_BIT	4
+#define H8DRCRB_TPC_BIT		2
+#define H8DRCRB_RCW_BIT		1
+#define H8DRCRB_RLW_BIT		0
+
+#define H8DRCRB_MXC1		(1<<H8DRCRB_MXC1_BIT)
+#define H8DRCRB_MXC0		(1<<H8DRCRB_MXC0_BIT)
+#define H8DRCRB_CSEL		(1<<H8DRCRB_CSEL_BIT)
+#define H8DRCRB_RCYCE		(1<<H8DRCRB_RCYCE_BIT)
+#define H8DRCRB_TPC			(1<<H8DRCRB_TPC_BIT)
+#define H8DRCRB_RCW			(1<<H8DRCRB_RCW_BIT)
+#define H8DRCRB_RLW			(1<<H8DRCRB_RLW_BIT)
+
+/* Reflesh Timer Control / Status Register */
+
+#define H8RTMCSR_CMF_BIT	7
+#define H8RTMCSR_CMIE_BIT	6
+#define H8RTMCSR_CKS2_BIT	5
+#define H8RTMCSR_CKS1_BIT	4
+#define H8RTMCSR_CKS0_BIT	3
+
+#define H8RTMCSR_CMF		(1<<H8RTMCSR_CMF_BIT)
+#define H8RTMCSR_CMIE		(1<<H8RTMCSR_CMIE_BIT)
+#define H8RTMCSR_CKS2		(1<<H8RTMCSR_CKS2_BIT)
+#define H8RTMCSR_CKS1		(1<<H8RTMCSR_CKS1_BIT)
+#define H8RTMCSR_CKS0		(1<<H8RTMCSR_CKS0_BIT)
+
+/* BUS Wait Control Registers */
+#define H8WCRH			0xfee022 	/* Control Register H */
+#define H8WCRL			0xfee023 	/* Control Register L */
+
+#define H8WCRH_W71_BIT		6
+#define H8WCRH_W70_BIT		6
+#define H8WCRH_W61_BIT		5
+#define H8WCRH_W60_BIT		4
+#define H8WCRH_W51_BIT		3
+#define H8WCRH_W50_BIT		2
+#define H8WCRH_W41_BIT		1
+#define H8WCRH_W40_BIT		0
+
+#define H8WCRL_W31_BIT		7
+#define H8WCRL_W30_BIT		6
+#define H8WCRL_W21_BIT		5
+#define H8WCRL_W20_BIT		4
+#define H8WCRL_W11_BIT		3
+#define H8WCRL_W10_BIT		2
+#define H8WCRL_W01_BIT		1
+#define H8WCRL_W00_BIT		0
+
+#define H8WCRH_W7_NOWAIT	(0<<H8WCRH_W70_BIT)
+#define H8WCRH_W7_1WAIT		(1<<H8WCRH_W70_BIT)
+#define H8WCRH_W7_2WAIT		(2<<H8WCRH_W70_BIT)
+#define H8WCRH_W7_3WAIT		(3<<H8WCRH_W70_BIT)
+#define H8WCRH_W6_NOWAIT	(0<<H8WCRH_W60_BIT)
+#define H8WCRH_W6_1WAIT		(1<<H8WCRH_W60_BIT)
+#define H8WCRH_W6_2WAIT		(2<<H8WCRH_W60_BIT)
+#define H8WCRH_W6_3WAIT		(3<<H8WCRH_W60_BIT)
+#define H8WCRH_W5_NOWAIT	(0<<H8WCRH_W50_BIT)
+#define H8WCRH_W5_1WAIT		(1<<H8WCRH_W50_BIT)
+#define H8WCRH_W5_2WAIT		(2<<H8WCRH_W50_BIT)
+#define H8WCRH_W5_3WAIT		(3<<H8WCRH_W50_BIT)
+#define H8WCRH_W4_NOWAIT	(0<<H8WCRH_W40_BIT)
+#define H8WCRH_W4_1WAIT		(1<<H8WCRH_W40_BIT)
+#define H8WCRH_W4_2WAIT		(2<<H8WCRH_W40_BIT)
+#define H8WCRH_W4_3WAIT		(3<<H8WCRH_W40_BIT)
+#define H8WCRL_W3_NOWAIT	(0<<H8WCRL_W30_BIT)
+#define H8WCRL_W3_1WAIT		(1<<H8WCRL_W30_BIT)
+#define H8WCRL_W3_2WAIT		(2<<H8WCRL_W30_BIT)
+#define H8WCRL_W3_3WAIT		(3<<H8WCRL_W30_BIT)
+#define H8WCRL_W2_NOWAIT	(0<<H8WCRL_W20_BIT)
+#define H8WCRL_W2_1WAIT		(1<<H8WCRL_W20_BIT)
+#define H8WCRL_W2_2WAIT		(2<<H8WCRL_W20_BIT)
+#define H8WCRL_W2_3WAIT		(3<<H8WCRL_W20_BIT)
+#define H8WCRL_W1_NOWAIT	(0<<H8WCRL_W10_BIT)
+#define H8WCRL_W1_1WAIT		(1<<H8WCRL_W10_BIT)
+#define H8WCRL_W1_2WAIT		(2<<H8WCRL_W10_BIT)
+#define H8WCRL_W1_3WAIT		(3<<H8WCRL_W10_BIT)
+#define H8WCRL_W0_NOWAIT	(0<<H8WCRL_W00_BIT)
+#define H8WCRL_W0_1WAIT		(1<<H8WCRL_W00_BIT)
+#define H8WCRL_W0_2WAIT		(2<<H8WCRL_W00_BIT)
+#define H8WCRL_W0_3WAIT		(3<<H8WCRL_W00_BIT)
+
+/* BUS Access State Control Register */
+
+#define H8ASTCR			0xfee021
+
+#define H8ASTCR_AST7_BIT	7
+#define H8ASTCR_AST6_BIT	6
+#define H8ASTCR_AST5_BIT	5
+#define H8ASTCR_AST4_BIT	4
+#define H8ASTCR_AST3_BIT	3
+#define H8ASTCR_AST2_BIT	2
+#define H8ASTCR_AST1_BIT	1
+#define H8ASTCR_AST0_BIT	0
+
+#define H8ASTCR_AST7    	(1<<H8ASTCR_AST7_BIT)
+#define H8ASTCR_AST6    	(1<<H8ASTCR_AST6_BIT)
+#define H8ASTCR_AST5    	(1<<H8ASTCR_AST5_BIT)
+#define H8ASTCR_AST4    	(1<<H8ASTCR_AST4_BIT)
+#define H8ASTCR_AST3    	(1<<H8ASTCR_AST3_BIT)
+#define H8ASTCR_AST2    	(1<<H8ASTCR_AST2_BIT)
+#define H8ASTCR_AST1    	(1<<H8ASTCR_AST1_BIT)
+#define H8ASTCR_AST0    	(1<<H8ASTCR_AST0_BIT)
+
+/*
+ *  å
+èµã¡ã¢ãªã®å®ç¾©
+ */
+#define H8IN_ROM_BASE		0x000000
+#define H8IN_ROM_SIZE		0x080000
+#define H8IN_RAM_BASE		0xffbf20
+#define H8IN_RAM_SIZE		0x004000
+
+
+/*
+ *  I/Oãã¼ã
+ */
+#define H8PORT_NUM		12	/*  ãã¼ã1ããã¼ãB (DDRå¤ä¸æä¿å­ç¨) */
+
+/*  ãã¼ã1  */
+#define H8P10DDR		0x01
+#define H8P11DDR		0x02
+#define H8P12DDR		0x04
+#define H8P13DDR		0x08
+#define H8P14DDR		0x10
+#define H8P15DDR		0x20
+#define H8P16DDR		0x40
+#define H8P17DDR		0x80
+
+#define H8P10DR			0x01
+#define H8P11DR			0x02
+#define H8P12DR			0x04
+#define H8P13DR			0x08
+#define H8P14DR			0x10
+#define H8P15DR			0x20
+#define H8P16DR			0x40
+#define H8P17DR			0x80
+
+/*  ãã¼ã2  */
+#define H8P20DDR		0x01
+#define H8P21DDR		0x02
+#define H8P22DDR		0x04
+#define H8P23DDR		0x08
+#define H8P24DDR		0x10
+#define H8P25DDR		0x20
+#define H8P26DDR		0x40
+#define H8P27DDR		0x80
+
+#define H8P20DR			0x01
+#define H8P21DR			0x02
+#define H8P22DR			0x04
+#define H8P23DR			0x08
+#define H8P24DR			0x10
+#define H8P25DR			0x20
+#define H8P26DR			0x40
+#define H8P27DR			0x80
+
+#define H8P20PCR		0x01
+#define H8P21PCR		0x02
+#define H8P22PCR		0x04
+#define H8P23PCR		0x08
+#define H8P24PCR		0x10
+#define H8P25PCR		0x20
+#define H8P26PCR		0x40
+#define H8P27PCR		0x80
+
+/*  ãã¼ã3  */
+#define H8P30DDR		0x01
+#define H8P31DDR		0x02
+#define H8P32DDR		0x04
+#define H8P33DDR		0x08
+#define H8P34DDR		0x10
+#define H8P35DDR		0x20
+#define H8P36DDR		0x40
+#define H8P37DDR		0x80
+
+#define H8P30DR			0x01
+#define H8P31DR			0x02
+#define H8P32DR			0x04
+#define H8P33DR			0x08
+#define H8P34DR			0x10
+#define H8P35DR			0x20
+#define H8P36DR			0x40
+#define H8P37DR			0x80
+
+/*  ãã¼ã4  */
+#define H8P40DDR		0x01
+#define H8P41DDR		0x02
+#define H8P42DDR		0x04
+#define H8P43DDR		0x08
+#define H8P44DDR		0x10
+#define H8P45DDR		0x20
+#define H8P46DDR		0x40
+#define H8P47DDR		0x80
+
+#define H8P40DR			0x01
+#define H8P41DR			0x02
+#define H8P42DR			0x04
+#define H8P43DR			0x08
+#define H8P44DR			0x10
+#define H8P45DR			0x20
+#define H8P46DR			0x40
+#define H8P47DR			0x80
+
+#define H8P40PCR		0x01
+#define H8P41PCR		0x02
+#define H8P42PCR		0x04
+#define H8P43PCR		0x08
+#define H8P44PCR		0x10
+#define H8P45PCR		0x20
+#define H8P46PCR		0x40
+#define H8P47PCR		0x80
+
+/*  ãã¼ã5  */
+#define H8P50DDR		0x01
+#define H8P51DDR		0x02
+#define H8P52DDR		0x04
+#define H8P53DDR		0x08
+
+#define H8P50DR			0x01
+#define H8P51DR			0x02
+#define H8P52DR			0x04
+#define H8P53DR			0x08
+
+#define H8P50PCR		0x01
+#define H8P51PCR		0x02
+#define H8P52PCR		0x04
+#define H8P53PCR		0x08
+
+/*  ãã¼ã6   */
+#define H8P60DDR		0x01
+#define H8P61DDR		0x02
+#define H8P62DDR		0x04
+#define H8P63DDR		0x08
+#define H8P64DDR		0x10
+#define H8P65DDR		0x20
+#define H8P66DDR		0x40
+#define H8P67DDR		0x80
+
+#define H8P60DR			0x01
+#define H8P61DR			0x02
+#define H8P62DR			0x04
+#define H8P63DR			0x08
+#define H8P64DR			0x10
+#define H8P65DR			0x20
+#define H8P66DR			0x40
+#define H8P67DR			0x80
+
+/*  ãã¼ã7   */
+#define H8P70DDR		0x01
+#define H8P71DDR		0x02
+#define H8P72DDR		0x04
+#define H8P73DDR		0x08
+#define H8P74DDR		0x10
+#define H8P75DDR		0x20
+#define H8P76DDR		0x40
+#define H8P77DDR		0x80
+
+/*  ãã¼ã8  */
+#define H8P80DDR		0x01
+#define H8P81DDR		0x02
+#define H8P82DDR		0x04
+#define H8P83DDR		0x08
+#define H8P84DDR		0x10
+
+#define H8P80DR			0x01
+#define H8P81DR			0x02
+#define H8P82DR			0x04
+#define H8P83DR			0x08
+#define H8P84DR			0x10
+
+/*  ãã¼ã9   */
+#define H8P90DDR		0x01
+#define H8P91DDR		0x02
+#define H8P92DDR		0x04
+#define H8P93DDR		0x08
+#define H8P94DDR		0x10
+#define H8P95DDR		0x20
+
+#define H8P90DR			0x01
+#define H8P91DR			0x02
+#define H8P92DR			0x04
+#define H8P93DR			0x08
+#define H8P94DR			0x10
+#define H8P95DR			0x20
+
+/*  ãã¼ãA  */
+#define H8PA0DDR		0x01
+#define H8PA1DDR		0x02
+#define H8PA2DDR		0x04
+#define H8PA3DDR		0x08
+#define H8PA4DDR		0x10
+#define H8PA5DDR		0x20
+#define H8PA6DDR		0x40
+#define H8PA7DDR		0x80
+
+#define H8PA0DR			0x01
+#define H8PA1DR			0x02
+#define H8PA2DR			0x04
+#define H8PA3DR			0x08
+#define H8PA4DR			0x10
+#define H8PA5DR			0x20
+#define H8PA6DR			0x40
+#define H8PA7DR			0x80
+
+/*  ãã¼ãB  */
+#define H8PB0DDR		0x01
+#define H8PB1DDR		0x02
+#define H8PB2DDR		0x04
+#define H8PB3DDR		0x08
+#define H8PB4DDR		0x10
+#define H8PB5DDR		0x20
+#define H8PB6DDR		0x40
+#define H8PB7DDR		0x80
+
+#define H8PB0DR			0x01
+#define H8PB1DR			0x02
+#define H8PB2DR			0x04
+#define H8PB3DR			0x08
+#define H8PB4DR			0x10
+#define H8PB5DR			0x20
+#define H8PB6DR			0x40
+#define H8PB7DR			0x80
+
+/*  ï¼¤ï¼ï¼¡å¤æ  */
+#define H8DADR0         0xFFFF9C
+#define H8DADR1         0xFFFF9D
+#define H8DACR          0xFFFF9E
+#define H8DASTCR        0xFEE01A
+
+#define H8DACR_DAOE1    0x80
+#define H8DACR_DAOE0    0x40
+#define H8DACR_DAE      0x20
+#define H8DASTCR_DASTE  0x01
+
+/*  ï¼¡ï¼ï¼¤å¤æ  */
+#define H8ADDRA         0xFFFFE0
+#define H8ADDRB         0xFFFFE2
+#define H8ADDRC         0xFFFFE4
+#define H8ADDRD         0xFFFFE6
+
+#define H8ADDRAH        H8ADDRA
+#define H8ADDRAL        (H8ADDRA + 1)
+#define H8ADDRBH        H8ADDRB
+#define H8ADDRBL        (H8ADDRB + 1)
+#define H8ADDRCH        H8ADDRC
+#define H8ADDRCL        (H8ADDRC + 1)
+#define H8ADDRDH        H8ADDRD
+#define H8ADDRDL        (H8ADDRD + 1)
+
+#define H8ADCSR         0xFFFFE8
+#define H8ADCR          0xFFFFE9
+
+#define H8ADCSR_ADF     0x80
+#define H8ADCSR_ADIE    0x40
+#define H8ADCSR_ADST    0x20
+#define H8ADCSR_SCAN    0x10
+#define H8ADCSR_CKS     0x08
+#define H8ADCSR_CH2     0x04
+#define H8ADCSR_CH1     0x02
+#define H8ADCSR_CH0     0x01
+
+#define H8ADCR_TRGE     0x80
+
+
+/*  DMA  */
+
+/* DMAC ãã£ãã«0A */
+#define H8DMA_MAR0AR		0xffff20
+#define H8DMA_MAR0AE		0xffff21
+#define H8DMA_MAR0AH		0xffff22
+#define H8DMA_MAR0AL		0xffff23
+#define H8DMA_IOAR0A		0xffff26
+#define H8DMA_ETCR0AH		0xffff24
+#define H8DMA_ETCR0AL		0xffff25
+#define H8DMA_DTCR0A		0xffff27
+
+/* DMAC ãã£ãã«0B */
+#define H8DMA_MAR0BR		0xffff28
+#define H8DMA_MAR0BE		0xffff29
+#define H8DMA_MAR0BH		0xffff2A
+#define H8DMA_MAR0BL		0xffff2B
+#define H8DMA_IOAR0B		0xffff2E
+#define H8DMA_ETCR0BH		0xffff2C
+#define H8DMA_ETCR0BL		0xffff2D
+#define H8DMA_DTCR0B		0xffff2F
+
+/* DMAC ãã£ãã«1A */
+#define H8DMA_MAR1AR		0xffff30
+#define H8DMA_MAR1AE		0xffff31
+#define H8DMA_MAR1AH		0xffff32
+#define H8DMA_MAR1AL		0xffff33
+#define H8DMA_IOAR1A		0xffff36
+#define H8DMA_ETCR1AH		0xffff34
+#define H8DMA_ETCR1AL		0xffff35
+#define H8DMA_DTCR1A		0xffff37
+
+/* DMAC ãã£ãã«1B */
+#define H8DMA_MAR1BR		0xffff38
+#define H8DMA_MAR1BE		0xffff39
+#define H8DMA_MAR1BH		0xffff3A
+#define H8DMA_MAR1BL		0xffff3B
+#define H8DMA_IOAR1B		0xffff3E
+#define H8DMA_ETCR1BH		0xffff3C
+#define H8DMA_ETCR1BL		0xffff3D
+#define H8DMA_DTCR1B		0xffff3F
+
+/* ãã¼ã¿ãã©ã³ã¹ãã¡ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ (DTCR) */
+#define H8DMA_DTCR_DTE		0x80
+#define H8DMA_DTCR_DTSZ 	0x40
+#define H8DMA_DTCR_DTID		0x20
+#define H8DMA_DTCR_RPE		0x10
+#define H8DMA_DTCR_DTIE		0x08
+#define H8DMA_DTCR_DTS2		0x04
+#define H8DMA_DTCR_DTS1		0x02
+#define H8DMA_DTCR_DTS0		0x01
+
+#endif /* _H8_3069F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.c	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8_sil.c,v 1.7 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ * ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼è¿½å é¨åï¼
+ *ããI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ *ããH8ã®DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããããã®ã¾ã¾ã§ã¯ææã®ãããã ãã
+ *ããå¤æ´ãããã¨ãã§ããªããï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ *ãããã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®
+ *ããç¾å¨å¤ãä¿æããæ¹æ³ãæ¡ã£ã¦ããã
+ *ãã
+ *ãããªãããã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <h8_sil.h>
+
+#define	DUMMY	0
+
+/*  ã¡ã¢ãªä¸ã®ãã³ãã©ãªé å  */
+static UB ddr_tmp[] = {
+	/* 1         2         3         4         5      */
+	H8P1DDR0, H8P2DDR0, H8P3DDR0, H8P4DDR0, H8P5DDR0, 
+	/* 6         8         9         A         B      */
+	H8P6DDR0, H8P8DDR0, H8P9DDR0, H8PADDR0, H8PBDDR0
+};
+
+/*  åãã¼ãã®ã¢ãã¬ã¹  */
+static const VP ddr_adr[] = {
+	(VP)H8P1DDR, (VP)H8P2DDR, (VP)H8P3DDR, (VP)H8P4DDR, (VP)H8P5DDR, 
+	(VP)H8P6DDR, (VP)H8P8DDR, (VP)H8P9DDR, (VP)H8PADDR, (VP)H8PBDDR
+};
+
+
+/*
+ *      DDRã®èª­ã¿åºã
+ */
+UB sil_reb_ddr(UINT port)
+{
+	assert((IO_PORT1 <= port) && (port <= IO_PORTB));
+	return ddr_tmp[port];
+}
+
+/*
+ *      DDRã®æ¸ãè¾¼ã¿
+ */
+void sil_wrb_ddr(UINT port, UB data)
+{
+	assert((IO_PORT1 <= port) && (port <= IO_PORTB));
+	ddr_tmp[port] = data;
+	sil_wrb_mem(ddr_adr[port], (VB)data);
+}
+
+/*
+ *      DDRã®ANDæ¼ç®
+ */
+void sil_anb_ddr(UINT port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+	
+	ddr &= data;
+	sil_wrb_ddr(port, ddr);
+}
+
+/*
+ *      DDRã®ORæ¼ç®
+ */
+void sil_orb_ddr(UINT port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+
+	ddr |= data;
+	sil_wrb_ddr(port, ddr);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/h8_sil.h	(revision 26)
@@ -0,0 +1,209 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8_sil.h,v 1.7 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *  H8åãSILã®æ¡å¼µï¼ãããæ¼ç®ï¼
+ *
+ *  h8.hã«è¨è¿°ããã®ãã¨ã¬ã¬ã³ãã ããsil.hã¨ã®ã¤ã³ã¯ã«ã¼ãã®
+ *  é çªã®é¢ä¿ã§ç¬ç«ãããã¡ã¤ã«ã¨ãã
+ *  t_config.hãç´æ¥ã¤ã³ã¯ã«ã¼ãããã¨ãã«sil.hããå
+ã«ãã®
+ *  ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããããå¯è½æ§ãããã
+ *
+ *  ã³ã³ãã¤ã©ã®åãã§ãã¯æ©è½ãæå¹ã«ããããããã¤ã³ã¿åã¯
+ *  UB *ãUH *ãUW *ãç¨ãã¦ããã
+ *
+ */
+
+#ifndef _SIL_H8_H_
+#define _SIL_H8_H_
+
+#ifndef _MACRO_ONLY
+
+#include <sil.h>
+#include <cpu_insn.h>	/*  bitset(), bitclr()  */
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anb_reg(UB *mem, UB data)
+{
+        UB reg = sil_reb_mem((VP)mem);
+        reg &= data;
+        sil_wrb_mem((VP)mem, (VB)reg);
+}
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orb_reg(UB *mem, UB data)
+{
+        UB reg = sil_reb_mem((VP)mem);
+        reg |= data;
+        sil_wrb_mem((VP)mem, (VB)reg);
+}
+
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anh_reg(UH *mem, UH data)
+{
+        UH reg = sil_reh_mem((VP)mem);
+        reg &= data;
+        sil_wrh_mem((VP)mem, (VH)reg);
+}
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orh_reg(UH *mem, UH data)
+{
+        UH reg = sil_reh_mem((VP)mem);
+        reg |= data;
+        sil_wrh_mem((VP)mem, (VH)reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+h8_anw_reg(UW *mem, UW data)
+{
+        UW reg = sil_rew_mem((VP)mem);
+        reg &= data;
+        sil_wrw_mem((VP)mem, (VW)reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+h8_orw_reg(UW *mem, UW data)
+{
+        UW reg = sil_rew_mem((VP)mem);
+        reg |= data;
+        sil_wrw_mem((VP)mem, (VW)reg);
+}
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«ã®è¨­å®
+ *
+ *  ãirc  ï¼IRCãã¼ã¿ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *  ããUB *iprï¼è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå°
+ *  ããUB bit ï¼IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå·
+ *  ããIPM ipmï¼è¨­å®ããå²è¾¼ã¿ã¬ãã«
+ *  ãããããããIPM_LEVEL0,IPM_LEVEL1ã®ãããã
+ */
+Inline void
+define_int_plevel(const IRC *irc)
+{
+        UB *ipr = irc->ipr;
+        UB bit = irc->bit;
+        IPM ipm = irc->ipm;
+
+        switch(ipm) {
+                case IPM_LEVEL0:        /*  ãã©ã¤ãªãªãã£ã¬ãã«0ã«è¨­å®  */
+                        bitclr(ipr, bit);
+                        break;
+                case IPM_LEVEL1:        /*  ãã©ã¤ãªãªãã£ã¬ãã«1ã«è¨­å®  */
+                        bitset(ipr, bit);
+                        break;
+                default:
+                        assert(FALSE);
+        }
+}
+
+
+/*
+ *ãI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ *ã
+ *ããH8ã®DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããããã®ã¾ã¾ã§ã¯ææã®ãããã ãã
+ *ããå¤æ´ãããã¨ãã§ããªããï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ *ãããã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®
+ *ããç¾å¨å¤ãä¿æããæ¹æ³ãæ¡ã£ã¦ããã
+ */
+extern UB sil_reb_ddr(UINT port) throw();
+extern void sil_wrb_ddr(UINT port, UB data) throw();
+extern void sil_anb_ddr(UINT port, UB data) throw();
+extern void sil_orb_ddr(UINT port, UB data) throw();
+
+/*
+ *ãDDRã®çªå·å®ç¾©
+ *ã
+ *ããé
+åã®ã¤ã³ããã¯ã¹ã«ç¨ããã
+ *ãããªãããã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã
+ */
+enum IO_PORT {
+	IO_PORT1,
+	IO_PORT2,
+	IO_PORT3,
+	IO_PORT4,
+	IO_PORT5,
+	IO_PORT6,
+	IO_PORT8,
+	IO_PORT9,
+	IO_PORTA,
+	IO_PORTB
+};
+
+#endif /* _MACRO_ONLY */
+#endif  /*  _SIL_H8_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.c	(revision 26)
@@ -0,0 +1,435 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.c,v 1.12 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *    ã»ãã¼ãã 1æ¬ã®å ´åã¯ HWPORT1_ADDRã«æå®ããããã¼ããä½¿ç¨ãã
+ *      2æ¬ã®å ´åã¯ãHWPORT1_ADDRãã¦ã¼ã¶ç¨ãHWPORT2_ADDRãã³ã³ã½ã¼ã«
+ *      åºåã¨ãã¦ä½¿ç¨ããã
+ *      HWPORTx_ADDRã¯ ã¿ã¼ã²ããä¾å­ã® sys_config.hä¸­ã§æå®ããã
+ *    ã»å
+±éé¨ã®ã¢ã¸ã¥ã¼ã«ã«ãã£ã¦ãXON/XOFFãã­ã¼å¶å¾¡ãè¡ã
+ *      ãã¦ããã®ã§ãä¿¡å·ç·ã¯TxDã¨RxDã®2æ¬ã§ãã
+ */
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>
+#include <h8_sil.h>
+
+/*
+ *  ãã¼ã¬ã¼ãã1ãããåã®æé[nsec]ã«å¤æãããã¯ã­
+ *  ãæ¼ç®ã®éä¸­ã§ãªã¼ãã¼ãã­ã¼ããªãããlongåå®æ°ãç¨ãã¦ãã
+ */
+#define BAUD_TO_NSEC(b)       (UINT)(((1000000ul / (b)) + 1ul) * 1000ul)
+
+/*
+ *  ãã¼ã¬ã¼ããBRRã®å¤ã«å¤æãããã¯ã­
+ */
+#define H8BRR_RATE(b)	(((b)>38400)?((UB)(((CPU_CLOCK+(16*(b)))/(32*(b)))-1))\
+			          :((UB)((CPU_CLOCK/(32*(b)))-1)))
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+static const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{
+		SYSTEM_SCI,
+		SYSTEM_BAUD_RATE,
+                {
+                        (UB*)SYSTEM_SCI_IPR,
+                        SYSTEM_SCI_IP_BIT,
+                        SYSTEM_SCI_IPM
+                },
+		SYSTEM_SCI_SMR
+	}
+
+#if TNUM_PORT >= 2
+	,{
+		USER_SCI,
+		USER_BAUD_RATE,
+                {
+                        (UB*)USER_SCI_IPR,
+                        USER_SCI_IP_BIT,
+                        USER_SCI_IPM
+                },
+		USER_SCI_SMR
+	}
+#endif	/* of #if TNUM_PORT >= 2 */
+
+#if TNUM_PORT >= 3
+	,{
+		USER2_SCI,
+		USER2_BAUD_RATE,
+                {
+                        (UB*)USER2_SCI_IPR,
+                        USER2_SCI_IP_BIT,
+                        USER2_SCI_IPM
+                },
+		USER2_SCI_SMR
+	}
+#endif	/* of #if TNUM_PORT >= 3 */
+
+};
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define get_siopinib(sioid)	(&(siopinib_table[INDEX_SIO(sioid)]))
+
+/*
+ *  SCI ã®åæå
+ */
+
+void
+SCI_initialize (ID sioid)
+{
+	const SIOPINIB	*inib;
+
+	inib = get_siopinib(sioid);
+	SCI_cls_por(inib->base);
+			/*
+			 *ãã¢ã¼ãè¨­å®
+			 *ããã»èª¿æ­©åæå¼
+			 *ããã»ã­ã£ã©ã¯ã¿é·
+			 *ããã»ããªãã£
+			 *ããã»ã¹ããããããé·
+			 *ããã»ã¯ã­ãã¯é¸æ
+			 */
+	sil_wrb_mem((VP)(inib->base + H8SMR), inib->smr_init);
+
+					/*  ãã¼ã¬ã¼ãè¨­å®  	*/
+	sil_wrb_mem((VP)(inib->base + H8BRR), H8BRR_RATE(inib->baudrate));
+
+			/* å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹ã®é¸æ	*/
+	h8_anb_reg((UB *)(inib->base + H8SCR),
+            	    (UB)~(H8SCR_TIE  | H8SCR_RIE  | H8SCR_MPIE |
+            	          H8SCR_TEIE | H8SCR_CKE1 | H8SCR_CKE0 ));
+
+	/* ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ãããåå¾
+ããªããã°ãªããªãã*/
+	sil_dly_nse(BAUD_TO_NSEC(inib->baudrate));
+
+					/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢		*/
+	h8_anb_reg((UB *)(inib->base + H8SSR),
+	            ~(H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+
+        /*
+         *  ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+         *      æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+         */
+	define_int_plevel(&(inib->irc));
+
+	/* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å²è¾¼ã¿ã®è¨±å¯ã¯ã·ãªã¢ã« I/O ã§è¡ã */
+	/* éåä¿¡è¨±å¯ */
+	h8_orb_reg((VP)(inib->base + H8SCR), (H8SCR_TE | H8SCR_RE));
+}
+
+/*
+ *  SCI ã®ã¯ã­ã¼ãº
+ */
+
+void
+SCI_cls_por (UW base)
+{
+#ifndef HEW_SIMULATOR
+	/* TDRE ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ((sil_reb_mem((VP)(base + H8SSR)) & H8SSR_TDRE) == 0)
+		;
+
+	/* 11ãããéä¿¡åå¾
+ã¤ã*/
+	sil_dly_nse(11*BAUD_TO_NSEC(H8_MIN_BAUD_RATE));
+#endif	/* HEW_SIMULATOR */
+					/* éåä¿¡åæ­¢		*/
+	h8_anb_reg((UB *)(base + H8SCR),
+	           (UB)~(H8SCR_TIE | H8SCR_RIE | H8SCR_TE | H8SCR_RE));
+}
+
+/*
+ *  SCI_in_handler -- SCI å
+¥åå²è¾¼ã¿ãã³ãã©
+ */
+
+void
+SCI_in_handler(ID sioid)
+{
+	SIOPCB	*pcb;
+	VP	p_ssr;
+	UB	status;
+	
+	pcb = get_siopcb(sioid);
+	p_ssr = (VP)(pcb->inib->base + H8SSR);
+	status = sil_reb_mem(p_ssr);
+	
+#if 0	/*  ã³ã¡ã³ãã¢ã¦ã  */
+	/*
+	 *  SIOã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã ãã§ãªã
+	 *  ããã§ãã¨ã©ã¼ãã§ãã¯ãè¡ã£ã¦ããçç±ã¯
+	 *  ä»¥ä¸ã®ã·ã¼ã±ã³ã¹ãæ³å®ãã¦ããããã
+	 *  ï¼ã¬ã¢ã±ã¼ã¹ã®ãããã³ã¡ã³ãã¢ã¦ããã¦ãããï¼
+	 *  
+	 *  ï¼ï¼ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ï¼æ­£å¸¸ï¼ãçºçããå²è¾¼ã¿ãã³ãã©ãèµ·åãããã
+	 *  ï¼ï¼å²è¾¼ã¿å¦çä¸­ã«å¤éå²è¾¼ã¿ãå
+¥ããã·ãªã¢ã«åä¿¡å¦çãä¿çãããã
+	 *  ãããä¾ï¼ã¿ã¤ãå²è¾¼ã¿
+	 *  ï¼ï¼ããã«ãã¼ã¿ãåä¿¡ããä¾ãã°ããªã¼ãã©ã³ã¨ã©ã¼ãçºç
+	 *  ï¼ï¼ï¼ã®å²è¾¼ã¿å¦çãçµäºããï¼ã®å²è¾¼ã¿å¦çã«æ»ãã
+	 *  ãããã®éãã·ãªã¢ã«ã®ã¨ã©ã¼ãã©ã°ãç«ã£ãç¶æ
+ã§ã
+	 *  ããæ­£å¸¸ã±ã¼ã¹ã®åä¿¡å²è¾¼ã¿ã®å²è¾¼ã¿ãã³ãã©ãå®è¡ãããã
+	 */
+	if (status & (H8SSR_ORER | H8SSR_FER | H8SSR_PER)) {
+
+		/* ã¨ã©ã¼å¦ç		*/
+
+	    	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢	*/
+		sil_wrb_mem(p_ssr,
+		            status & ~(H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+	}
+#endif
+
+	if (status & H8SSR_RDRF) {
+		if (pcb->openflag) {
+			/* åä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+			SCI_ierdy_rcv(pcb->exinf);
+		} else {
+			sil_wrb_mem(p_ssr, status & ~H8SSR_RDRF);
+		}
+	}
+}
+
+/*
+ *  SCI_out_handler -- SCI åºåå²è¾¼ã¿ãã³ãã©
+ */
+
+void
+SCI_out_handler(ID sioid)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	if (pcb->openflag) {
+		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+		SCI_ierdy_snd(pcb->exinf);
+	}
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+/*
+ *  SCI_err_handler -- SCI ã¨ã©ã¼å
+¥åå²è¾¼ã¿ãã³ãã©
+ */
+
+void
+SCI_err_handler(ID sioid)
+{
+	SIOPCB	*pcb;
+	VP	p_ssr;
+	UB	status;
+
+	pcb = get_siopcb(sioid);
+	p_ssr = (VP)(pcb->inib->base + H8SSR);
+	status = sil_reb_mem(p_ssr);
+	if (status & (H8SSR_ORER | H8SSR_FER | H8SSR_PER)) {
+
+		/* ã¨ã©ã¼å¦ç		*/
+
+	    	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢	*/
+		sil_wrb_mem(p_ssr,
+		            status & ~(H8SSR_ORER | H8SSR_FER | H8SSR_PER));
+	}
+}
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+
+void
+sio_initialize (void)
+{
+	int ix;
+
+	/* SIO ç®¡çãã­ãã¯ã®åæå */
+	for (ix = TNUM_PORT; ix -- > 0; ) {
+		siopcb_table[ix].inib     = &siopinib_table[ix];
+		siopcb_table[ix].openflag = FALSE;
+	}
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+
+void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		SCI_enable_send(pcb);
+		break;
+	case SIO_ERDY_RCV:
+		SCI_enable_recv(pcb);
+		break;
+	}
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+
+void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		SCI_disable_send(pcb);
+		break;
+	case SIO_ERDY_RCV:
+		SCI_disable_recv(pcb);
+		break;
+	}
+}
+
+/*
+ *  SCI å²ãè¾¼ã¿
+ */
+
+void
+sio_in_handler (void)
+{
+	SCI_in_handler(1);
+}
+
+void
+sio_out_handler (void)
+{
+	SCI_out_handler(1);
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+void
+sio_err_handler (void)
+{
+	SCI_err_handler(1);
+}
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#if TNUM_PORT >= 2
+
+void
+sio_in2_handler (void)
+{
+	SCI_in_handler(2);
+}
+
+void
+sio_out2_handler (void)
+{
+	SCI_out_handler(2);
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+void
+sio_err2_handler (void)
+{
+	SCI_err_handler(2);
+}
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+#endif	/* of #if TNUM_PORT >= 2 */
+
+#if TNUM_PORT >= 3
+
+void
+sio_in3_handler (void)
+{
+	SCI_in_handler(3);
+}
+
+void
+sio_out3_handler (void)
+{
+	SCI_out_handler(3);
+}
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+void
+sio_err3_handler (void)
+{
+	SCI_err_handler(3);
+}
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif	/* of #if TNUM_PORT >= 3 */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.cfg	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.cfg,v 1.6 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ * SCI ãã©ã¤ã (H8 ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+DEF_INH(INHNO_SERIAL_ERR,  { TA_HLNG, sio_err_handler  });
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_in2_handler  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_out2_handler });
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+DEF_INH(INHNO_SERIAL2_ERR, { TA_HLNG, sio_err2_handler });
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif	/* of #if TNUM_PORT >= 2 */
+
+
+#if TNUM_PORT >= 3
+
+DEF_INH(INHNO_SERIAL3_IN,  { TA_HLNG, sio_in3_handler  });
+DEF_INH(INHNO_SERIAL3_OUT, { TA_HLNG, sio_out3_handler });
+
+#ifdef H8_CFG_SCI_ERR_HANDLER
+
+DEF_INH(INHNO_SERIAL3_ERR, { TA_HLNG, sio_err3_handler });
+
+#endif	/* of #ifdef H8_CFG_SCI_ERR_HANDLER */
+
+#endif	/* of #if TNUM_PORT >= 3 */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_serial.h	(revision 26)
@@ -0,0 +1,355 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.h,v 1.17 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ *    ã»ãã¼ãã 1æ¬ã®å ´åã¯ HWPORT1_ADDRã«æå®ããããã¼ããä½¿ç¨ãã
+ *      2æ¬ã®å ´åã¯ãHWPORT1_ADDRãã¦ã¼ã¶ç¨ãHWPORT2_ADDRãã³ã³ã½ã¼ã«
+ *      åºåã¨ãã¦ä½¿ç¨ããã
+ *      HWPORTx_ADDRã¯ ã¿ã¼ã²ããä¾å­ã® sys_config.hä¸­ã§æå®ããã
+ *    ã»å
+±éé¨ã®ã¢ã¸ã¥ã¼ã«ã«ãã£ã¦ãXON/XOFFãã­ã¼å¶å¾¡ãè¡ã
+ *      ãã¦ããã®ã§ãä¿¡å·ç·ã¯TxDã¨RxDã®2æ¬ã§ãã
+ */
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+typedef struct sio_port_initialization_block {
+	UW	base;		/* SCI ã®ãã¼ã¹ã¢ãã¬ã¹	*/
+	UW	baudrate;	/* ãã¼ã¬ã¼ã		*/	
+	IRC	irc;		/* å²è¾¼ã¿ã¬ãã«è¨­å®æ
+å ± */
+	UB	smr_init;	/* SMR ã®è¨­å®å¤		*/
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  SCI é¢æ°ã®åç
+§
+ */
+
+extern void	SCI_initialize (ID sioid);		/* SCI ã®åæå				*/
+extern void	SCI_cls_por(UW base);			/* SCI ã®ã¯ã­ã¼ãº			*/
+extern void	SCI_in_handler(ID sioid);		/* SCI å
+¥åå²ãè¾¼ã¿ãã³ãã©		*/
+extern void	SCI_out_handler(ID sioid);		/* SCI åºåå²ãè¾¼ã¿ãã³ãã©		*/
+extern void	SCI_err_handler(ID sioid);		/* SCI å
+¥åã¨ã©ã¼å²ãè¾¼ã¿ãã³ãã©		*/
+extern void	SCI_ierdy_snd(VP_INT exinf);		/* ã·ãªã¢ã« I/O ããã®éä¿¡å¯è½ã³ã¼ã«ããã¯	*/
+extern void	SCI_ierdy_rcv(VP_INT exinf);		/* ã·ãªã¢ã« I/O ããã®åä¿¡éç¥ã³ã¼ã«ããã¯	*/
+
+/*
+ *  SCI ã¬ãã«ã®é¢æ°
+ */
+
+/*
+ *  SCI ã®ãªã¼ãã³
+ */
+
+Inline SIOPCB *
+SCI_opn_por (ID sioid)
+{
+	SCI_initialize(sioid);
+	return get_siopcb(sioid);
+}
+
+/*
+ *  SCI_putchar -- éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+
+Inline void
+SCI_putchar(SIOPCB *p, UB c)
+{
+	UW addr = p->inib->base + H8SSR;
+
+	sil_wrb_mem((VP)(p->inib->base + H8TDR), c);
+	bitclr((UB *)addr, H8SSR_TDRE_BIT);
+}
+
+/*
+ *  SCI_wait_putchar -- ç´æ¥åºå (å¾
+ã¡ãã)
+ */
+
+Inline void
+SCI_wait_putchar (int base, char c)
+{
+	UW addr = base + H8SSR;
+
+	/* TDRE ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ((sil_reb_mem((VP)addr) & H8SSR_TDRE) == 0)
+		;
+	sil_wrb_mem((VP)(base + H8TDR), c);
+	bitclr((UB *)addr, H8SSR_TDRE_BIT);
+}
+
+/*
+ *  SCI_getchar -- åä¿¡ããæå­ã®èª­ã¿åºã
+ */
+
+Inline INT
+SCI_getchar(SIOPCB *p)
+{
+	INT	ch;
+	UW	addr = p->inib->base + H8SSR;
+
+	ch = (INT)(UB)sil_reb_mem((VP)(p->inib->base + H8RDR));
+	/*  UBåã¸ã®ã­ã£ã¹ãã¯ãç¬¦å·æ¡å¼µãé²ããã  */
+
+	bitclr((UB *)addr, H8SSR_RDRF_BIT);
+	return ch;
+}
+
+/*
+ *  SCI_putready -- éä¿¡å¯è½ã
+ */
+
+Inline BOOL
+SCI_putready(SIOPCB *pcb)
+{
+	UB ssr = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+	return ((ssr & H8SSR_TDRE) != 0);
+}
+
+/*
+ *  SCI_getready -- åä¿¡å¯è½ã
+ */
+
+Inline BOOL
+SCI_getready(SIOPCB *pcb)
+{
+#ifndef HEW_SIMULATOR
+	UB ssr = sil_reb_mem((VP)(pcb->inib->base + H8SSR));
+	return ((ssr & H8SSR_RDRF) != 0);
+#else /* HEW_SIMULATOR */
+	return TRUE;
+#endif /* HEW_SIMULATOR */
+}
+
+/*
+ *  éä¿¡å²ãè¾¼ã¿å¶å¾¡é¢æ°
+ */
+
+Inline void
+SCI_enable_send(SIOPCB *p)
+{
+	UW addr = p->inib->base + H8SCR;
+	
+	bitset((UB *)addr, H8SCR_TIE_BIT);
+}
+
+Inline void
+SCI_disable_send(SIOPCB *p)
+{
+	UW addr = p->inib->base + H8SCR;
+
+	bitclr((UB *)addr, H8SCR_TIE_BIT);
+}
+
+/*
+ *  åä¿¡å²ãè¾¼ã¿å¶å¾¡é¢æ°
+ */
+
+Inline void
+SCI_enable_recv(SIOPCB *p)
+{
+	UW addr = p->inib->base + H8SCR;
+
+	bitset((UB *)addr, H8SCR_RIE_BIT);
+}
+
+Inline void
+SCI_disable_recv(SIOPCB *p)
+{
+	UW addr = p->inib->base + H8SCR;
+
+	bitclr((UB *)addr, H8SCR_RIE_BIT);
+}
+
+/*
+ *  SIO é¢æ°ã®åç
+§
+ */
+
+extern void	sio_initialize(void);			/* SCI ã®åæå				*/
+extern void	sio_ena_cbr(SIOPCB *pcb, UINT cbrtn);	/* ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯è¨±å¯	*/
+extern void	sio_dis_cbr(SIOPCB *pcb, UINT cbrtn);	/* ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ç¦æ­¢	*/
+
+/*
+ *  é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã­
+ */
+												/* SCI ããã®æå­åä¿¡			*/
+#ifdef HEW_SIMULATOR
+extern BOOL hew_io_sim_snd_chr(char c);
+#define sio_snd_chr(siopcb, c) hew_io_sim_snd_chr(c)
+
+#else	/* HEW_SIMULATOR */
+#define sio_snd_chr(p,c)	SCI_snd_chr(p,c)
+#endif	/* HEW_SIMULATOR */
+												/* SCI ããã®æå­åä¿¡			*/
+#ifdef HEW_SIMULATOR
+extern INT hew_io_sim_rcv_chr(void);
+#define sio_rcv_chr(siopcb) hew_io_sim_rcv_chr( )
+
+#else	/* HEW_SIMULATOR */
+#define sio_rcv_chr(p)		SCI_rcv_chr(p)
+#endif	/* HEW_SIMULATOR */
+
+#define sio_ierdy_snd(e)	SCI_ierdy_snd(e)	/* ã·ãªã¢ã« I/O ããã®éä¿¡å¯è½ã³ã¼ã«ããã¯	*/
+#define sio_ierdy_rcv(e)	SCI_ierdy_rcv(e)	/* ã·ãªã¢ã« I/O ããã®åä¿¡éç¥ã³ã¼ã«ããã¯	*/
+
+/*
+ *  SIO ã¬ãã«ã®é¢æ°
+ */
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+	SIOPCB	*pcb;
+
+	pcb = SCI_opn_por(sioid);
+	pcb->exinf    = exinf;
+	pcb->openflag = TRUE;
+	return pcb;
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+	SCI_cls_por(pcb->inib->base);
+	pcb->openflag = FALSE;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+
+#ifndef HEW_SIMULATOR
+Inline BOOL
+sio_snd_chr(SIOPCB *pcb, INT chr)
+{
+	if (SCI_putready(pcb)) {
+		SCI_putchar(pcb, (UB)chr);
+		return TRUE;
+	} else {
+		return FALSE;
+	}
+}
+#endif	/* HEW_SIMULATOR */
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+
+#ifndef HEW_SIMULATOR
+Inline INT
+sio_rcv_chr(SIOPCB *pcb)
+{
+	if (SCI_getready(pcb)) {
+		return SCI_getchar(pcb);
+	} else {
+		return -1;
+	}
+}
+#endif	/* HEW_SIMULATOR */
+
+#endif	/* of #ifndef _MACRO_ONLY */
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/hw_timer.h	(revision 26)
@@ -0,0 +1,207 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.15 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <h8_sil.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼H8ç¨ï¼
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+
+typedef UH	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ *  	jsp/kernel/time_manage.cã§ãä½¿ç¨
+ */
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ */
+
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+
+#define MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤
+ *	ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ *	æ³¨æï¼æ¬å½ã¯åå¨ã¯ã­ãã¯ã«ä¾å­ï¼
+ */
+
+#define GET_TOLERANCE	100
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿
+ *      æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+ *
+ *      æ¬æ¥ã¯hw_timer.hã«å®ä½ãè¨è¿°ããã¹ãã ããããããã¨
+ *      hw_timer.hãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã§ãã¹ã¦å®ä½åããã¦
+ *ãããã¡ã¢ãªé åãå æãã¦ãã¾ããããå®ä½ã¯cpu_config.cã«è¨è¿°ããã
+ */
+extern const IRC TIMER_IRC;
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+
+Inline void
+hw_timer_int_clear(void)
+{
+    /* GRAã³ã³ãã¢ãããã®å²ãè¾¼ã¿è¦æ±ãã©ã°ãã¯ãªã¢ */
+    bitclr((UB *)SYSTEM_TIMER_IFR, SYSTEM_TIMER_IF_BIT);
+}
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+
+Inline void
+hw_timer_initialize(void)
+{
+    /* ã¿ã¤ãåæ­¢ */
+    bitclr((UB *)SYSTEM_TIMER_TSTR, SYSTEM_TIMER_STR_BIT);
+
+    /*  GRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢ãåå¨æ¯è¨­å® */
+    sil_wrb_mem((VP)SYSTEM_TIMER_TCR, SYSTEM_TIMER_TCR_BIT);
+
+    /*  GRAã³ã³ãã¢ãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+    bitset((UB *)SYSTEM_TIMER_IER, SYSTEM_TIMER_IE_BIT);
+
+    /*  GRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+    sil_wrb_mem((VP)SYSTEM_TIMER_TIOR, SYSTEM_TIMER_TIOR_BIT);
+
+    /*  GRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼  	*/
+    sil_wrh_mem((VP)SYSTEM_TIMER_GR, CLOCK_PER_TICK);
+
+    sil_wrh_mem((VP)SYSTEM_TIMER_CNT, 0);	/* ã«ã¦ã³ã¿ãã¯ãªã¢	*/
+
+    hw_timer_int_clear();			/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢	*/
+
+    /*
+     *  ãã©ã¤ãªãªãã£ã»ã¬ãã«ã®è¨­å®
+     *  æ¬å½ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨åãåé¢ãã¹ã
+     */
+    define_int_plevel(&TIMER_IRC);
+
+    /* ã¿ã¤ãã¹ã¿ã¼ã */
+    bitset((UB *)SYSTEM_TIMER_TSTR, SYSTEM_TIMER_STR_BIT);
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+
+Inline void
+hw_timer_terminate(void)
+{
+    					/* ã¿ã¤ãåæ­¢ */
+    bitclr((UB *)SYSTEM_TIMER_TSTR, SYSTEM_TIMER_STR_BIT);
+    hw_timer_int_clear();		/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return((CLOCK)(sil_reh_mem((VP)SYSTEM_TIMER_CNT)));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	UB ifr = sil_reb_mem((VP)SYSTEM_TIMER_IFR);
+	return(ifr & SYSTEM_TIMER_IF);
+}
+
+#endif	/* of #ifndef _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/makeoffset.c	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef  offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset(void)
+{
+        OFFSET_DEF (TCB, tinib);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+        OFFSET_DEF (TCB, texptn);
+
+        OFFSET_DEF (TINIB, task);
+        OFFSET_DEF (TINIB, exinf);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/Makefile.config	(revision 26)
@@ -0,0 +1,118 @@
+#
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#
+#   Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2001-2007 by Industrial Technology Institute,
+#                               Miyagi Prefectural Government, JAPAN
+#   Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+#                    Tomakomai National College of Technology, JAPAN
+#   Copyright (C) 2001-2004 by Kunihiko Ohnaka
+#   Copyright (C) 2004 by Katsuhiro Amano
+#
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#       ã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#         å ±åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+#
+#  @(#) $Id: Makefile.config,v 1.2 2007/03/23 07:22:15 honda Exp $
+#
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼NKEV-010H8ç¨ï¼
+#
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#ãããä¸è¨ã®ä¸­ã®ã©ããï¼ã¤ã ããæå¹ã«ãããã®ä»ã¯ã³ã¡ã³ãã¢ã¦ããã
+#
+
+# è«å°ç§é«å°è£½ ç°¡æã¢ãã¿ãã¾ãã¯ç§æé»å­è£½ã¢ãã¿
+DBGENV := TNCT_MONITOR
+
+# ROMå å¤é¨RAMä½¿ç¨
+#DBGENV := ROM
+
+# ROMå å¤é¨RAMæªä½¿ç¨
+#DBGENV := INMEM_ONLY
+
+# Redboot
+#DBGENV := REDBOOT
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+CDEFS		:= $(CDEFS) -DCPU_CLOCK=20000000
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+ifeq ($(DBGENV),TNCT_MONITOR)
+    LDSCRIPT = $(CPU)/$(SYS)/debug.ld
+else
+ifeq ($(DBGENV),REDBOOT)
+    LDSCRIPT = $(CPU)/$(SYS)/debug_redboot.ld
+else
+ifeq ($(DBGENV),INMEM_ONLY)
+    LDSCRIPT = $(CPU)/$(SYS)/release_inmem.ld
+else
+ifeq ($(DBGENV),GDB_STUB)
+    LDSCRIPT = $(CPU)/$(SYS)/debug_gdbstub.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/release.ld
+endif
+endif
+endif
+endif
+
+#
+#  ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºã®å®ç¾©
+#
+VECTOR_SIZE = 64
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0xffc000, l = 0x000100	/* for debug */
+
+	/* use 256K for .text and .rodata */
+	ex_ram		: o = 0x400000, l = 0x040000
+
+	/* use 256K for .data and .bss  */
+	ex_ram5		: o = 0x440000, l = 0x040000
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0xffbf20, l = 0x004000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >ex_ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >ex_ram
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >ex_ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram5
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram5
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_gdbstub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_gdbstub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_gdbstub.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x400000, l = 0x000100	/* for debug */
+
+	/* use 255K for .text and .rodata */
+	ex_ram		: o = 0x400100, l = 0x03ff00
+
+	/* use 240K for .data and .bss  */
+	ex_ram5		: o = 0x440000, l = 0x03c000
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0x47c000, l = 0x004000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >ex_ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >ex_ram
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >ex_ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram5
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram5
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_redboot.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_redboot.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/debug_redboot.ld	(revision 26)
@@ -0,0 +1,75 @@
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x4fff00, l = 0x000100 	/* for debug */
+
+	/* use 1M for .text and .rodata */
+	ex_ram		: o = 0x400000, l = 0x050000
+
+	/* use 1M for .data and .bss  */
+	ex_ram5		: o = 0x450000, l = 0x0Aff00
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0x500000, l = 0x010000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+		} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >ex_ram
+	_etext = .	;
+	PROVIDE (etext = .)	;
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >ex_ram
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram5
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram5
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(_memcpy = _local_memcpy);
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x000000, l = 0x000100
+
+	/* use 512k - 100 for .text and .rodata  */
+	rom		: o = 0x000100, l = 0x07ff00
+
+	/* use 512K for .data and .bss  */
+	ex_ram		: o = 0x400000, l = 0x080000
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0xffbf20, l = 0x004000
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >rom
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release_inmem.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release_inmem.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/release_inmem.ld	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2004 by Takagi Nobhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300h)
+
+ENTRY("_start")
+
+MEMORY {
+	/* for mode 5: 0x000000 -> 0xffffff */
+	vectors		: o = 0x000000, l = 0x000100
+
+	/* use 512k - 100 for .text and .rodata  */
+	rom		: o = 0x000100, l = 0x07ff00
+
+	/* use 1M for .data and .bss  */
+	ex_ram		: o = 0xffbf20, l = 0x003c00
+
+	/* use 16k for .stack  */
+	in_ram		: o = 0xfffb20, l = 0x000400
+
+	}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS {
+
+	.vectors : {
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+		*(.gcc_exc)
+	} >rom
+	_etext = .	;
+	PROVIDE (etext = .)	;
+	.tors : {
+	  ___ctors = . ;
+	  *(.ctors)
+	  ___ctors_end = . ;
+	  ___dtors = . ;
+	  *(.dtors)
+	  ___dtors_end = . ;
+	} >rom
+
+	. = ALIGN(4);
+	.rodata : {
+		. = ALIGN(4);
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data   :  AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ex_ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss       :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ex_ram
+	_end = .		;
+	PROVIDE (end = .)	;
+
+	.comment 0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.c	(revision 26)
@@ -0,0 +1,79 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/03/23 07:22:15 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize()
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_config.h	(revision 26)
@@ -0,0 +1,426 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2007/03/23 07:22:15 honda Exp $
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#include <h8_3069f.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+
+#define	TARGET_NAME	"NKEV-010H8"
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+
+#define STACKTOP    	(H8IN_RAM_BASE + H8IN_RAM_SIZE)	/* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+#define str_STACKTOP	_TO_STRING(STACKTOP)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void cpu_putc(char c);
+
+Inline void
+sys_putc(char c)
+{
+#ifndef GDB_STUB
+
+	cpu_putc(c);
+
+#else	/* of #ifndef GDB_STUB */
+
+/* GDB STUBãä½¿ãå ´åã«ä½ã¬ãã«åºåãGDBã®ã³ã³ã½ã¼ã«ã¸åºå */
+	asm ("	push.l	er1			\n"\
+		"	mov.l	er0, er1	\n"\
+		"	sub.l	er0, er0	\n"\
+		"	trapa	#1			\n"\
+		"	pop.l	er1			\n"\
+	);
+
+#endif	/* of #ifndef GDB_STUB */
+
+	};
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  (1) ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ *  (2) ã¿ã¤ãã¼ã®è¨­å®
+ *  (3) å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 3ã
+ *  ãã ããç¾å¨ã¯ 2 ã¾ã§å®ç¾©ãã¦ããã
+ *  
+ *  ãµã³ãã«ãã­ã°ã©ã ãåããå ´åã¯
+ *  sys_defs.hã«ããTASK_PORTIDã®å®ç¾©ã«ãæ³¨æ
+ */
+
+#ifdef GDB_STUB
+
+/* GDB stubãä½¿ç¨ããã¨ãã¯å¼·å¶çã«TNUM_POTR = 1ã«ãã */
+#define TNUM_PORT	1
+
+#else	/* of #ifdef GDB_STUB */
+
+#define TNUM_PORT	2
+
+#endif	/* of #ifdef GDB_STUB */
+
+#define	CONSOLE_PORTID		SYSTEM_PORTID	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·     */
+#define	LOGTASK_PORTID		SYSTEM_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+#define H8_MIN_BAUD_RATE	9600		/* SCI ãã¯ã­ã¼ãºããåã®å¾
+ã¡æéã®è¨ç®ã«ä½¿ç¨ããã*/
+
+/* ã¨ã©ã¼å²ãè¾¼ã¿ããå
+¥åå²ãè¾¼ã¿ã¨å¥ã«æä½ããå ´åã¯ã³ã¡ã³ããã¯ããã*/
+/*#define H8_CFG_SCI_ERR_HANDLER*/
+
+/*
+ *  SYSTEM ç¨ SCI ã®è¨­å®å¤
+ */
+
+#ifdef GDB_STUB
+
+/* GDB stubãä½¿ç¨ããæã¯SYSTEM_SCIã¯SCI0ãä½¿ç¨ãã */
+#define SYSTEM_SCI			H8SCI0
+#define SYSTEM_SCI_IPR		H8IPRB
+#define SYSTEM_SCI_IP_BIT	H8IPR_SCI0_BIT
+
+#else	/* of #ifdef GDB_STUB */
+
+#define SYSTEM_SCI			H8SCI1
+#define SYSTEM_SCI_IPR		H8IPRB
+#define SYSTEM_SCI_IP_BIT	H8IPR_SCI1_BIT
+
+#endif	/* of #ifdef GDB_STUB */
+
+#define SYSTEM_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define SYSTEM_BAUD_RATE	38400			/* bps	*/
+
+#if TNUM_PORT == 1
+
+#define	SYSTEM_PORTID		1
+
+#ifdef GDB_STUB
+
+#define INHNO_SERIAL_IN		IRQ_RXI0
+#define INHNO_SERIAL_OUT	IRQ_TXI0
+#define INHNO_SERIAL_ERR	IRQ_ERI0
+
+#else	/*	#ifdef GDB_STUB */
+
+#define INHNO_SERIAL_IN		IRQ_RXI1
+#define INHNO_SERIAL_OUT	IRQ_TXI1
+#define INHNO_SERIAL_ERR	IRQ_ERI1
+
+#endif	/*	#ifdef GDB_STUB */
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+
+#define USER_SCI		H8SCI0
+
+#define USER_SCI_IPR		H8IPRB
+#define USER_SCI_IP_BIT		H8IPR_SCI0_BIT
+
+#define USER_SCI_SMR		0
+			/* éåä¿¡ãã©ã¼ããã			*/
+	     		/* èª¿æ­©åæå¼				*/
+	     		/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã		*/
+	     		/* ããªãã£ãªã				*/
+	     		/* ã¹ããããããã¬ã³ã°ã¹ï¼1		*/
+	     		/* ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1		*/
+
+#define USER_BAUD_RATE		38400			/* bps	*/
+
+#define	USER_PORTID		1
+#define	SYSTEM_PORTID		2
+
+#define INHNO_SERIAL_IN		IRQ_RXI0
+#define INHNO_SERIAL_OUT	IRQ_TXI0
+#define INHNO_SERIAL_ERR	IRQ_ERI0
+
+#define INHNO_SERIAL2_IN	IRQ_RXI1
+#define INHNO_SERIAL2_OUT	IRQ_TXI1
+#define INHNO_SERIAL2_ERR	IRQ_ERI1
+
+#else	/* of #if TNUM_PORT == 1 */
+
+#error TNUM_PORT <= 2
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_SCI_IPM			IPM_LEVEL0
+#define USER_SCI_IPM			IPM_LEVEL0
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if TNUM_PORT == 1	/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+			/*  ãã¼ãï¼ï¼ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+			/*  ãã¼ãï¼ï¼ã·ã¹ãã ã»ãã¼ã  */
+/*  ã¦ã¼ã¶ã¼ã»ãã¼ã  */
+#if USER_SCI_IPM == IPM_LEVEL0
+#define sio_in_handler_intmask		IPM_LEVEL1
+#elif USER_SCI_IPM == IPM_LEVEL1
+#define sio_in_handler_intmask		IPM_LEVEL2
+#endif 	/* USER_SCI_IPM == IPM_LEVEL0 */
+
+/*  ã·ã¹ãã ã»ãã¼ã  */
+#if SYSTEM_SCI_IPM == IPM_LEVEL0
+#define sio_in2_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_SCI_IPM == IPM_LEVEL1
+#define sio_in2_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_SCI_IPM == IPM_LEVEL0 */
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+#define sio_out_handler_intmask		sio_in_handler_intmask
+#define sio_err_handler_intmask		sio_in_handler_intmask
+
+#ifndef GDB_STUB
+
+#define sio_out2_handler_intmask	sio_in2_handler_intmask
+#define sio_err2_handler_intmask	sio_in2_handler_intmask
+
+#endif
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+#define SYSTEM_TIMER		H816TU0
+
+#define SYSTEM_TIMER_CNT	(SYSTEM_TIMER + H8TCNT)
+#define SYSTEM_TIMER_TCR	(SYSTEM_TIMER + H8TCR)
+#define SYSTEM_TIMER_TIOR	(SYSTEM_TIMER + H8TIOR)
+#define SYSTEM_TIMER_IER	H816TU_TISRA
+#define SYSTEM_TIMER_IFR	H816TU_TISRA
+#define SYSTEM_TIMER_TSTR	H816TU_TSTR
+#define SYSTEM_TIMER_GR		(SYSTEM_TIMER + H8GRA)
+
+#define SYSTEM_TIMER_STR	H8TSTR_STR0
+#define SYSTEM_TIMER_STR_BIT	H8TSTR_STR0_BIT
+#define SYSTEM_TIMER_IE		H8TISRA_IMIEA0		/* interrupt mask */
+#define SYSTEM_TIMER_IE_BIT	H8TISRA_IMIEA0_BIT
+#define SYSTEM_TIMER_IF		H8TISRA_IMFA0		/* match flag */
+#define SYSTEM_TIMER_IF_BIT	H8TISRA_IMFA0_BIT
+
+#define INHNO_TIMER		IRQ_IMIA0
+
+#define SYSTEM_TIMER_TCR_BIT	(H8TCR_CCLR0 | H8TCR_TPSC1 | H8TCR_TPSC0)
+#define SYSTEM_TIMER_TIOR_BIT	(0)
+
+#define TIMER_CLOCK		((CPU_CLOCK)/8000)	/* 20MHz / 8 = 2.5MHz = 2500KHz */
+
+/*  ãã©ã¤ãªãªãã£ã¬ãã«è¨­å®ç¨ã®ãã¼ã¿  */
+
+/*  å²è¾¼ã¿è¦æ±ã®ã¬ãã«è¨­å®  */
+#define SYSTEM_TIMER_IPR                H8IPRA
+#define SYSTEM_TIMER_IP_BIT             H8IPR_ITU0_BIT
+#define SYSTEM_TIMER_IPM                IPM_LEVEL1
+
+/*  
+ * å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤
+ * ããä»ã®å²è¾¼ã¿ããã¹ã¯ããããã®è¨­å®  
+ * ããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã
+ * ããä¸è¨ã®å²è¾¼ã¿è¦æ±ã¬ãã«ããï¼ã¤é«ãã¬ãã«ã«è¨­å®ããã
+ */
+#if SYSTEM_TIMER_IPM == IPM_LEVEL0
+#define timer_handler_intmask		IPM_LEVEL1
+#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
+#define timer_handler_intmask		IPM_LEVEL2
+#endif 	/* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
+
+/*
+ *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+ */
+
+#define	ENABLE_P8_CS		(H8P8DDR_CS0|H8P8DDR_CS1|H8P8DDR_CS2|H8P8DDR_CS3)
+
+#if 0
+
+#define	ENABLE_LOWER_DATA
+#define	ENABLE_PB_CS		(H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6|H8PBDDR_CS7)
+
+#endif	/* of #if 0 */
+
+#define	HEAP_TOP		0x600000UL
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+
+#if defined(ROM)
+
+/*  ROMåï¼å½ä»¤ãå
+èµãã©ãã·ã¥ROMä¸ã«é
+ç½®ããã¦ããï¼  */
+#define	SIL_DLY_TIM1	 4540
+#define	SIL_DLY_TIM2	  529
+
+#elif defined(INMEM_ONLY)
+
+/*  ROMåãå
+èµã¡ã¢ãªã®ã¿ä½¿ç¨ */
+#define	SIL_DLY_TIM1	 2800
+#define	SIL_DLY_TIM2	  521
+
+#else	/* of #if defined(ROM) */
+
+/*  å½ä»¤ãå¤é¨RAMä¸ã«é
+ç½®ããã¦ãã  */
+#define	SIL_DLY_TIM1	 8290
+#define	SIL_DLY_TIM2	 1693
+
+#endif	/* of #if defined(ROM) */
+
+
+/*
+ *  DDRã®åæå¤ã®å®ç¾©
+ */
+
+#define	H8P1DDR0        0xff				/*  ãã¼ã1  */
+#define	H8P2DDR0        0xff				/*  ãã¼ã2  */
+#define	H8P3DDR0        DUMMY				/*  ãã¼ã3  */
+#define	H8P4DDR0        DUMMY				/*  ãã¼ã4  */
+#define	H8P5DDR0        0xff				/*  ãã¼ã5  */
+#define	H8P6DDR0        DUMMY				/*  ãã¼ã6  */
+
+/*  ãã¼ã7ã¯å
+¥åå°ç¨ã§DDRã¬ã¸ã¹ã¿ããªããããçç¥ãã¦ããã  */
+
+#define	H8P8DDR0        (H8P8DDR_CS1 | H8P8DDR_CS2 | H8P8DDR_CS3)
+							/*  ãã¼ã8  */
+#define	H8P9DDR0        DUMMY				/*  ãã¼ã9  */
+#define	H8PADDR0        DUMMY				/*  ãã¼ãA  */
+#define	H8PBDDR0        DUMMY				/*  ãã¼ãB  */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_defs.h	(revision 26)
@@ -0,0 +1,85 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.3 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  H8ã®ãã­ã»ããµã¿ã¤ã
+ */
+
+#define H8_3069F
+
+/**************************************************************
+ * ãµã³ãã«ãã­ã°ã©ã ç¨ã®å®ç¾©
+ *
+ *ããæ¬æ¥ã¯sample1.hã«è¨è¿°ãã¹ãã ããsample1.hã®ç®¡çãç
+©éã«ãªã
+ *ãããããä¾¿å®çã«ãã®ãã¡ã¤ã«ã«è¨è¿°ãã¦ããã
+ **************************************************************/
+
+#define	STACK_SIZE	1024		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	100000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+
+#endif /* of #ifndef _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+cpu_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_rename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define cpu_putc		_kernel_cpu_putc
+
+#ifdef LABEL_ASM
+
+#define _cpu_putc		__kernel_cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_support.S	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåã«ã¼ãã³
+ */
+
+	.h8300h
+
+	.text
+	.align 2
+
+/*
+ *  ãªãªã¼ã¹ã§ã¯ãå¤é¨ DRAM æå¹ã«ããã
+ */
+
+	.global	_hardware_init_hook
+_hardware_init_hook:
+
+#if defined(ROM) || defined(INMEM_ONLY)
+	/* å¤é¨ SRAM ãæå¹ã«ããã*/
+	/* A0-A19 enable */
+	/* D8-D15 enable (ã¢ã¼ã5ã§ã¯ããã©ã«ãã§æå¹) */
+	mov.b	#0xff, r0l
+	mov.b	r0l, @H8P1DDR
+	mov.b	r0l, @H8P2DDR
+	mov.b	r0l, @H8P5DDR
+
+	/* CS1,CS2,CS3 ãæå¹ã«ãã */
+	mov.b	#0xee, r0l
+	mov.b	r0l, @H8P8DDR
+
+	/* ãã¹ã¹ãã¼ãã®è¨­å® */
+	/* CS1,CS2,CS3ã®ã¿3ã¹ãã¼ã */
+	/* CS2ã¨ãªã¢(SRAM)ã3ã¹ãã¼ãã«å¤æ´ 2005/4/11 */
+	mov.b	#0x0e, r0l
+	mov.b	r0l, @H8ASTCR
+
+	/* ãã¹ã»ã¦ã¨ã¤ãã®è¨­å® */
+	/* CS1ã«2wait,CS3ã«1waitæ¿å
+¥ */
+	mov.b	#0x4c, r0l
+	mov.b	r0l, @H8WCRL
+#endif /* defined(ROM) || defined(INMEM_ONLY) */
+
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/nkev_010h8/sys_unrename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#undef cpu_putc
+
+#ifdef LABEL_ASM
+
+#undef _cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/start.S	(revision 26)
@@ -0,0 +1,192 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.17 2007/03/23 07:22:15 honda Exp $
+ */
+#define _MACRO_ONLY
+#include <t_config.h>
+	
+/*
+ *   H8ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ *   ãã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ããã®ã§
+ *   ããã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¯JSPã«ã¼ãã«ã§ã®ã¿ä½¿ç¨ããã	
+ */
+	.h8300h
+
+	.text
+	.align 2
+
+	.global	_start
+_start:
+
+	/*
+	 * éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * ãï¼STACKTOPã¯ãsys_config.hã§å®ç¾©ï¼
+	 * _hardware_init_hookãå¼ã³åºãã«ã¯STACKTOPãæãRAM
+	 * é åãã¢ã¯ã»ã¹å¯è½ã«ãªã£ã¦ããå¿
+è¦ããããï¼ä¸è¨åç
+§ï¼
+	 */
+	mov.l	#STACKTOP, sp
+	
+	/*  å²è¾¼ã¿å
+¨ç¦æ­¢  */
+	orc.b  #H8INT_DIS_ALL, ccr
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 *  
+	 *  hardware_init_hookã§ã¯ãã¹ã»ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®
+	 *  åæåãè¡ãã®ã§ããã®ã«ã¼ãã³ãå¼ã³åºãã®ã«RAMã
+	 *  ã¹ã¿ãã¯é åã«ä½¿ç¨ããã®ã¯ãããããã
+         *ãããã®ãµãã«ã¼ãã³å¼ã³åºãã§ã¯ã
+         *ããã»åæç¶æ
+ã®ã¾ã¾ã¢ã¯ã»ã¹ã§ããå
+èµRAMãã¾ãã¯
+         *ããã»ã¢ãã¿ã«ããã¢ã¯ã»ã¹ã§ããç¶æ
+ã«ããå¤é¨RAM
+         *ããã¹ã¿ãã¯é åã«ä½¿ç¨ãã¦ããã
+	 */
+start_0:
+	mov.l  	#_hardware_init_hook, er0
+	beq	start_1
+	jsr	@er0
+	
+	/*
+         * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+start_1:		
+	mov.l	#__bss_start, er0
+	mov.l	#_end, er1
+	sub.l	er2, er2
+start_2:
+        mov.l	er2, @er0
+	add.l	#4, er0
+ 	cmp.l	er1, er0
+ 	blo	start_2		/* er1 > er0 */
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 *  
+	 *  eepmov.wå½ä»¤ãä½¿ãæ¹ãå¹ççã ããæå¤§è»¢éãã¤ãæ°ã
+	 *  65,535ãã¤ãã«å¶éããããããä½¿ç¨ãã¦ããªãã
+	 */
+	mov.l	#__idata_start, er0
+	mov.l	#__idata_end, er1
+	mov.l	#__data_start, er2
+start_4:
+	mov.l	@er0+, er4	/* *er2++ = *er0 ++; */
+	mov.l	er4, @er2
+	add.l	#4, er2
+	cmp.l	er1, er0
+	blo	start_4		/* er1 > er0 */
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+	mov.l	#_software_init_hook, er0
+	beq	start_6		
+	jsr	@er0
+		
+	/*	
+         *  ã«ã¼ãã«ãèµ·åãã
+	 */
+start_6:
+	jmp	@_kernel_start
+
+
+/*
+ *  HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³æ©è½ã®å¼ã³åºã
+ *  
+ *  æ¬æ¥ã¯ãsys_support.Sã«è¨è¿°ãã¹ãã ãã
+ *  ãªã³ã¯å¾ã®_hew_io_sim_bodyã®ã¢ãã¬ã¹ã
+ *  ã¢ããªã±ã¼ã·ã§ã³ã«ããããä¸å®ã«ããããã
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®ç´å¾ã«é
+ç½®ãã¦ããã
+ *  
+ *  ãã®ã¢ãã¬ã¹ã«åå²ãããã¨ã§ãHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³æ©è½ã
+ *  ä½åããããªã¬ã¨ãªãã
+ *  
+ *  ãä»¥ä¸ã®ç¶æ
+ã§å¼ã°ããã
+ *  ããr0ï¼æ©è½ã³ã¼ã(2ãã¤ã)
+ *  ããer1ï¼ãã©ã¡ã¼ã¿ãã­ãã¯ã¸ã®ãã¤ã³ã¿ï¼4ãã¤ãï¼
+ */
+#ifdef HEW_SIMULATOR
+
+    .section .text
+    .align 2
+    .global _hew_io_sim
+_hew_io_sim:
+    rts
+
+#endif	/*  HEW_SIMULATOR  */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_config.h	(revision 26)
@@ -0,0 +1,290 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.16 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit(void)
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ *ããã³ã¡ã³ãã«ããã­ã»ããµä¾å­é¨ãã¨ãããã¯ã­ã¯ã
+ *ããæ©ç¨®ä¾å­é¨ã§å±éãããã¨ã
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+	/*  H8ä¾å­é¨ã§ã¯ä¸è¦ã ããäºææ§ã®ãããæ®ãã¦ããã  */
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+	/*  H8ä¾å­é¨ã§ã¯ä¸è¦ã ããäºææ§ã®ãããæ®ãã¦ããã  */
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CHG_IPM_ENTER(ipm)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_CHG_IPM_LEAVE(ercd)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_ENTER(p_ipm)	/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)	/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/tool_defs.h	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.14 2007/03/23 07:22:15 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å	*/
+#define	_int16_		short		/* 16ãããã®æ´æ°å	*/
+#define	_int32_		int		/* 32ãããã®æ´æ°å	*/
+
+#ifdef __LONG_LONG_MAX__
+#if (__LONG_LONG_MAX__ >> 31) != 0
+#define _int64_		long long	/* 64ãããã®æ´æ°å	*/
+#endif	/*  (__LONG_LONG_MAX__ >> 31) != 0  */
+#endif	/*  __LONG_LONG_MAX__  */
+
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/vector_header.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/vector_header.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8/vector_header.S	(revision 26)
@@ -0,0 +1,78 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Kunihiko Ohnaka
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vector_header.S,v 1.4 2007/03/23 07:22:15 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"		/*  ã·ã³ãã«ã»ãªãã¼ã   */
+
+
+/*
+ * å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®å
+é ­é¨å
+ *	ãã¼ãã«ã®å
+å®¹ã¯make dependæã«èªåçæããã
+ */
+
+	.h8300h
+
+	.section	.vectors
+	.align 4
+
+	.global _vector
+_vector:
+
+/*  ããä»¥éã¯èªåçæãããé¨å  */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.c	(revision 26)
@@ -0,0 +1,342 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«(H8Sç¨)
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+volatile IPM	task_intmask = 0;		/* IPM -> UBï¼ç¬¦å·ç¡ã8ããã */
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+volatile IPM	int_intmask = 0;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+volatile UB	intnest = 1;
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ *  ãã»å²è¾¼ã¿ç¦æ­¢ï¼ã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ã®ã¿ï¼
+ *  ããããã¤
+ *  ãã»iscpulocked == TRUE
+ *  ãããã®ã¨ãCPUã­ãã¯ç¶æ
+ã¨ããã
+ */
+volatile BOOL     iscpulocked = TRUE;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void cpu_initialize(void) {
+
+        /*
+         *  ä»¥ä¸ã®4ã¤ã¯ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§åæåãæ¸ãã§ããã
+         *  ããã»å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ intnest = 1;
+         *  ããã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯ int_intmask = 0;
+         *  ããã»ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯ task_intmask = 0;
+         *  ããããï¼chg_ipmããµãã¼ãããå ´åï¼
+         *  ããã»CPUã­ãã¯ãã©ã° iscpulocked = TRUE;
+         */
+
+	/* å²è¾¼ã¿å¶å¾¡ã¢ã¼ãã®è¨­å® */
+	h8s_wrb_reg(SYSCR, SYS_SYSCR);
+
+	/* å²è¾¼ã¿ã¬ãã«ã®åæå */
+	h8s_wrb_reg(IPRA, 0);
+	h8s_wrb_reg(IPRB, 0);
+	h8s_wrb_reg(IPRC, 0);
+	h8s_wrb_reg(IPRD, 0);
+	h8s_wrb_reg(IPRE, 0);
+	h8s_wrb_reg(IPRF, 0);
+	h8s_wrb_reg(IPRG, 0);
+	h8s_wrb_reg(IPRH, 0);
+	h8s_wrb_reg(IPRI, 0);
+	h8s_wrb_reg(IPRJ, 0);
+	h8s_wrb_reg(IPRK, 0);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void cpu_terminate(void) {
+}
+
+/*
+ * å¾®å°æéå¾
+ã¡
+ * ããæ³¨æäºé 
+ï¼
+ * ãããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+ * ãããUWåã«å¤æ´ãã¦ããã
+ * ãããsil_dly_nse()ã¯å
+é¨ã§sil_dly_nse_long()ãå¼ã³åºãã
+ */
+void sil_dly_nse(UINT dlytim) {
+	sil_dly_nse_long((UW)dlytim);
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *ãIPMã«è¨­å®ã§ããå¤ã¯0ãMAX_IPMã§ããã
+ *ãå²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã(MAX_IPM+1)ä»¥ä¸ã®å²è¾¼ã¿ã¯ã«ã¼ãã«ç®¡çå¤
+ *ãæ±ãã§ããã
+ *
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼
+ *  ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«
+ *  ããã°ããï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ãï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨
+ *  æãããï¼
+ *ãIPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dspã
+ *  ä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_CHG_IPM_ENTER(ipm);
+        CHECK_TSKCTX_UNL();
+        CHECK_PAR(ipm <= MAX_IPM);
+
+        t_lock_cpu();
+        task_intmask = ipm;
+        t_unlock_cpu();
+
+    exit:
+        LOG_CHG_IPM_LEAVE(ercd)
+        return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+        ER      ercd = E_OK;
+
+        LOG_GET_IPM_ENTER(p_ipm);
+        CHECK_TSKCTX_UNL();
+
+        t_lock_cpu();
+        *p_ipm = task_intmask;
+        t_unlock_cpu();
+
+    exit:
+        LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+        return(ercd);
+}
+
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ * ç»é²ããã¦ããªãå²ãè¾¼ã¿ãçºçããã¨å¼ã³åºããã
+ */
+void 
+cpu_experr(EXCSTACK *sp)
+{
+    UW sp2, pc, ccr, tmp;
+    
+    sp2 = (UW)sp + OFFSET_SP;
+    tmp = sp->pc;
+    ccr = (tmp >> 24U) & 0xff;	/*  ä¸ä½1ãã¤ã  */
+    pc = tmp & 0x00ffffffUL;	/*  ä¸ä½3ãã¤ã  */
+    
+    syslog(LOG_EMERG, "Unexpected interrupt.");
+    syslog(LOG_EMERG, "PC  = 0x%08lx SP  = 0x%08lx CCR  = 0x%02x",
+                       (VP)pc, (VP)sp2, (INT)ccr);
+    syslog(LOG_EMERG, "EXR  = 0x%02x", (INT)(sp->exr));
+    syslog(LOG_EMERG, "ER0 = 0x%08lx ER1 = 0x%08lx ER2 = 0x%08lx ER3 = 0x%08lx",
+           (VP)(sp->er0), (VP)(sp->er1), (VP)(sp->er2), (VP)(sp->er3));
+    syslog(LOG_EMERG, "ER4 = 0x%08lx ER5 = 0x%08lx ER6 = 0x%08lx",
+                       (VP)(sp->er4), (VP)(sp->er5), (VP)(sp->er6));
+    while(1)
+    	;
+}
+
+
+/*============================================================================*/
+/*  ãããã°ç¨ã³ã¼ã  */
+
+#ifdef TEST_CPU_INSN
+
+volatile UB ccr, exr;
+volatile IPM intmask;
+
+void test_cpu_insn(void)
+{
+	ccr = current_ccr();
+	set_ccr(0xf);
+	ccr = current_ccr();
+
+	exr = current_exr();
+	set_exr(0x7);
+	exr = current_exr();
+
+	intmask = current_intmask();
+	set_intmask(0x3);
+	intmask = current_intmask();
+	
+	disint();
+	enaint();
+	
+	_disint_();
+}
+
+#endif /* TEST_CPU_INSN */
+
+
+#ifdef TEST_CPU_CONFIG
+
+volatile BOOL b;
+volatile ER err;
+volatile IPM ipm;
+
+void dummy(void)
+{
+}
+
+void test_cpu_config(void)
+{
+	b = sense_context();
+	dummy();
+	intnest = 1;
+	dummy();
+	b = sense_context();
+	dummy();
+	intnest = 0;
+	dummy();
+	b = sense_context();
+	dummy();
+
+	b = t_sense_lock();
+	dummy();
+	t_lock_cpu();
+	dummy();
+	b = t_sense_lock();
+	dummy();
+	t_unlock_cpu();
+	dummy();
+	b = t_sense_lock();
+	dummy();
+
+	i_lock_cpu();
+	dummy();
+	b = i_sense_lock();
+	dummy();
+	i_unlock_cpu();
+	dummy();
+	b = i_sense_lock();
+	dummy();
+	
+	err = chg_ipm(6);
+	dummy();
+	err = get_ipm(&ipm);
+	dummy();
+	err = chg_ipm(3);
+	dummy();
+	err = get_ipm(&ipm);
+	dummy();
+	err = chg_ipm(8);
+	dummy();
+}
+
+#endif /* TEST_CPU_CONFIG */
+
+#ifdef TEST_H8S_SIL
+
+volatile UB ddr;
+
+void test_h8s_sil(void)
+{
+	ddr = sil_reb_ddr(IO_PORT7);
+	sil_wrb_ddr(IO_PORT7, 0xff);
+	ddr = sil_reb_ddr(IO_PORT7);
+	sil_anb_ddr(IO_PORT7, 0xf);
+	ddr = sil_reb_ddr(IO_PORT7);
+	sil_orb_ddr(IO_PORT7, 0x80);
+	ddr = sil_reb_ddr(IO_PORT7);
+}
+
+#endif /* TEST_H8S_SIL */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.h	(revision 26)
@@ -0,0 +1,453 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *      ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼H8Sç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+
+/*
+ *  ãã­ã»ããµé¢é£ã®å®ç¾©
+ */
+#include <h8s.h>
+#include <h8s_sil.h>
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ *    å
+é¨ã§ãMAX_IPMãå©ç¨ãã¦ããã®ã§ãå®ç¾©å¾ã«èª­ã¿è¾¼ã
+ */
+#include <cpu_insn.h>
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define TBIT_TCB_TSTAT          8       /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define TBIT_TCB_PRIORITY       8       /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef struct task_context_block {
+	VP	sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ *    ãã¹ãã«ã¦ã³ã¿ã®å¤ã§ã³ã³ãã­ã¹ãã®å¤æ­ãè¡ãã®ã§ãã³ã³ãã­ã¹ãåç
+§æã«
+ *    å©ç¨ããã
+ */
+
+extern volatile UB	intnest;
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *    å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨ãã«ã¯
+ *    ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+
+Inline BOOL
+sense_context(void)
+{
+	BOOL ret;
+	
+	ret = (intnest != 0) ? TRUE : FALSE;
+	return(ret);
+}
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°
+ *  ãã»å²è¾¼ã¿ç¦æ­¢ï¼ã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ã®ã¿ï¼
+ *  ããããã¤
+ *  ãã»iscpulocked == TRUE
+ *  ãããã®ã¨ãCPUã­ãã¯ç¶æ
+ã¨ããã
+ */
+extern volatile BOOL     iscpulocked;
+
+#define sense_lock()    iscpulocked
+
+#endif /* _MACRO_ONLY */
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ãchg_ipm ããµãã¼ãããããã®å¤æ°ãchg_ipm ããµãã¼ã
+ *  ããªãå ´åã«ã¯ãt_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦ããã
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern volatile IPM	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu(void)
+{
+	disint();		/* cpu_insn.h */
+        iscpulocked = TRUE;
+}
+
+Inline void
+t_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããããã
+	 *  å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãã
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();		/* cpu_insn.h */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern volatile IPM	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu(void)
+{
+	IPM	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ãcurrent_intmask()ãå¼ãã ç´å¾ã«
+	 *  å²è¾¼ã¿ãçºçããèµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ int_intmask ãå¤æ´
+	 *  ãããå¯è½æ§ãããããã§ããã
+	 */
+	intmask = current_intmask();
+	disint();		/* cpu_insn.h */
+	int_intmask = intmask;
+        iscpulocked = TRUE;
+}
+
+Inline void
+i_unlock_cpu(void)
+{
+        iscpulocked = FALSE;
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.srcï¼
+ *    dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çå
+ã§ã
+ *    CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.srcï¼
+ *    exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *    H8Sã§ã¯ãå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãROMä¸ã«ç´æ¥ã«é
+ç½®ããããã
+ *ããä½ãå¦çããªãã
+ *ãï¼ãã¯ã¿ãã¼ãã«ãperlã¹ã¯ãªããã§çæããï¼
+ */
+
+Inline void define_inh(INHNO inhno, FP inthdr) {
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *    H8Sã§ã¯ãCPUä¾å¤ã®æ©æ§ããªããããä½ãå¦çããªãã
+ */
+
+Inline void define_exc(EXCNO excno, FP exchdr) {
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ *ããH8Cç¨H8Sä¾å­é¨ã§ã¯å²è¾¼ã¿ã®åºå
+¥å£å¦çãã¢ã»ã³ãã©ã½ã¼ã¹å
+ã«
+ *ããçæãããããæ¬æ¥ã¯Cè¨èªä¸­ã§å®ç¾©ããå¿
+è¦ããªãã
+ *ããããã§ã¯å
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåãããããã
+ *ããå¿
+è¦ãªãã¯ã­å®ç¾©ã®ã¿ãã¦ããã
+ */
+
+/*
+ *  Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ
+ *ããH8Cç¨H8ä¾å­é¨ã§ã¯å
+¥å£å¦çãvector.srcå
+ã®ã­ã¼ã«ã«ã»ã·ã³ãã«ã«
+ *ããã§ããã®ã§ãã°ã­ã¼ãã«ã«å
+¬éããå¿
+è¦ããªãã
+ *ããããã§ã¯å
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåãããããã
+ *ããããã¼ã®ã©ãã«ãä¸ãã¦ããã
+ */
+#define INT_ENTRY(inthdr) _kernel_common_interrupt_process
+#define EXC_ENTRY(exchdr) _kernel_common_interrupt_process
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *ãããCè¨èªä¸ã§ã¯ãã¾ãçæã§ããªããããã¢ã»ã³ãã©ã½ã¼ã¹å
+ã§
+ *ãããå¥éç¨æããã
+ */
+#define INTHDR_ENTRY(inthdr) extern void INT_ENTRY(inthdr)(void)
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define EXCHDR_ENTRY(exchdr) extern void EXC_ENTRY(exchdr)(void)
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ *    H8Sçã§ã¯ãå¼ã°ãããã¨ã¯ç¡ãããã¤ã³ã¿ã¼ãã§ã¼ã¹ãããããããã
+ *ããå®è£
+ãã¦ããã
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+        return(TRUE);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ *    H8Sçã§ã¯ãå¼ã°ãããã¨ã¯ç¡ãããã¤ã³ã¿ã¼ãã§ã¼ã¹ãããããããã
+ *ããå®è£
+ãã¦ããã
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return(TRUE);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY_ */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«è¨­å®ç¨ãã¯ã­ï¼ãããã¯ãã¤ã³ã©ã¤ã³é¢æ°ï¼
+ *  ã»ipr : ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿( IPRA - IPRK ) ä¸ä½16ããã
+ *  ã»mask : IPRè¨­å®ç¨ãã¹ã¯ï¼ä¸ä½ãä¸ä½ã®é¸æï¼( IPR_UPR, IPR_LOW )
+ *  ã»level : å²è¾¼ã¿ã¬ãã«( 0 - 7 )
+ */
+#ifndef _MACRO_ONLY
+
+Inline void icu_set_ilv( UH ipr, BOOL mask, INT level ) {
+	UB val;
+	
+	if( mask == IPR_UPR ) {
+		val = (UB)(( h8s_reb_reg( ipr ) & ~IPR_UPR_MASK ) | TO_HI4((UB) level));
+		h8s_wrb_reg( ipr, val );
+	} else if( mask == IPR_LOW ) {
+		val = (UB)(( h8s_reb_reg( ipr ) & ~IPR_LOW_MASK ) | TO_LO4((UB) level));
+		h8s_wrb_reg( ipr, val );
+	}
+}
+
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºå (cpu_config.c, cpu_support.src)
+ */
+
+/*
+ * ã¹ã¿ãã¯ã®å
+é ­ããåã¬ã¸ã¹ã¿ã®ã¾ã§ã®ãªãã»ãã
+ * 
+ * ãåææ¡ä»¶
+ * ããã»ã¢ããã³ã¹ãã¢ã¼ã
+ * ããã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼
+ * 
+ * ãã¹ã¿ãã¯æ§é 
+ *ãã +0:er0
+ *ãã +4:er1
+ *ãã +8:er2
+ *ãã+12:er3
+ *ãã+16:er4
+ *ãã+20:er5
+ *ãã+24:er6
+ *ãã+28:exr
+ *ãã+29:ãªã¶ã¼ã
+ *ãã+30:crr
+ *ãã+31:pc
+ *ãã+34ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+ */
+
+#ifndef __2000A__
+#error support Advanced mode only.(Normal mode isn't supported)
+#endif
+
+/*
+ * å²è¾¼ã¿çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã¾ã§ã®ãªãã»ãã
+ * ãï¼æªå®ç¾©å²è¾¼ã¿çºçæï¼
+ */
+#define OFFSET_SP	34
+
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+typedef struct exc_stack {
+	UW	er0;
+	UW	er1;
+	UW	er2;
+	UW	er3;
+	UW	er4;
+	UW	er5;
+	UW	er6;
+	UB	exr;
+	UB	dummy;
+	UW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+} EXCSTACK;
+
+
+extern void	cpu_experr(EXCSTACK *sp);
+
+#endif /* _MACRO_ONLY_ */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_config.inc	(revision 26)
@@ -0,0 +1,91 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_config.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;       ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼H8Sç¨ï¼
+;ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+
+ .AIFDEF _CPU_CONFIG_INC_
+ .AELSE
+
+_CPU_CONFIG_INC_: .DEFINE ""
+
+        .INCLUDE "cpu_rename.inc"
+        .INCLUDE "util.inc"
+
+;
+;  CCRã¬ã¸ã¹ã¿ã®å®ç¾©
+;
+CCR_I                   .DEFINE         "BIT7"
+CCR_UI                  .DEFINE         "BIT6"
+
+;
+;  EXRã¬ã¸ã¹ã¿ã®å®ç¾©
+;ãããã¬ã¼ã¹ãããTã¯ä½¿ç¨ããªã
+;
+EXR_I_MASK              .DEFINE         "H'7"
+EXR_ENAINT_ALL          .DEFINE         "H'0"
+
+;
+;  ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ï¼ä¸ä½16ãããã®ã¿ï¼
+;
+
+;    ã·ã¹ãã 
+SYSCR:                   .DEFINE         "H'ff39"
+MSTPCR:                  .DEFINE         "H'ff3c"
+
+ .AENDI ; _CPU_CONFIG_INC_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_context.h	(revision 26)
@@ -0,0 +1,125 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ *  
+ */
+
+extern void	activate_r(void);	/*  cpu_support.src  */
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = (FP)activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *  ACTIVATED_STACK_SIZEã¯ãH8Sã§ã¯å®ç¾©ããå¿
+è¦ã¯ç¡ãã
+ */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_defs.h	(revision 26)
@@ -0,0 +1,289 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼H8Sç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#define H8S
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2007 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n" \
+"Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering,\n" \
+"                 Tomakomai National College of Technology, JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;			/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;			/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+
+/* å²è¾¼ã¿ãã¹ã¯ã®å */
+typedef	UB	IPM;			/* å²è¾¼ã¿ãã¹ã¯ */
+
+/* å²è¾¼ã¿ãã¹ã¯æä½ç¨ã®é¢æ° */
+extern ER	chg_ipm(IPM ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ */
+extern ER	get_ipm(IPM *p_ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®åå¾ */
+
+#if 0		/*  ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã  */
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT	INTNO;			/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+#endif
+
+
+/*
+ *ãã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤
+ */
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define	SIL_PRE_LOC	IPM _intmask_ = current_intmask()
+#define	SIL_LOC_INT()	_disint_()
+#define	SIL_UNL_INT()	set_intmask(_intmask_)
+
+/*
+ * å¾®å°æéå¾
+ã¡
+ * ããæ³¨æäºé 
+ï¼
+ * ãããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+ * ãããsil_dly_nse_long()ã§ã¯å¼æ°ãUWåã«å¤æ´ãã¦ããã
+ * ãããsil_dly_nse()ã¯å
+é¨ã§sil_dly_nse_long()ãå¼ã³åºãã
+ * ããã
+ * ãããsil_dly_nse()ã®ãã­ãã¿ã¤ãå®£è¨ã¯jsp/include/sil.hã«ããã
+ */
+extern void sil_dly_nse_long(UW dlytim) throw();
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG		/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+
+/*
+ *  ã¨ã³ãã£ã¢ã³ã®åè»¢
+ */
+#define	SIL_REV_ENDIAN_H(data) \
+	((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+
+#define	SIL_REV_ENDIAN_W(data) \
+	((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
+		| (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+
+/*
+ *  ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
+ *  
+ *  ã³ã³ãã¤ã©ã®è­¦åãåé¿ãããããæ©ç¨®ä¾å­é¨ã§ã¢ã¯ã»ã¹é¢æ°ãç¨æããã
+ *  å¦çå
+å®¹ã¯jsp/include/sil.hã¨ã¾ã£ããåãã
+ *  å®ç¾©ããé çªã®é½åä¸ãä¸è¨ã®ãã¨ã³ãã£ã¢ã³ã®åè»¢ããããã£ã¦å®ç¾©ãã¦ããã
+ */
+#define OMIT_SIL_ACCESS
+
+/*
+ *  8ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VB
+sil_reb_mem(VP mem)
+{
+	VB data = *((volatile VB *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrb_mem(VP mem, VB data)
+{
+	*((volatile VB *) mem) = data;
+}
+
+/*
+ *  16ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VH
+sil_reh_mem(VP mem)
+{
+	VH data = *((volatile VH *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrh_mem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = data;
+}
+
+#define	sil_reh_bem(mem)	sil_reh_mem(mem)
+#define	sil_wrh_bem(mem, data)	sil_wrh_mem(mem, data)
+
+Inline VH
+sil_reh_lem(VP mem)
+{
+	VH data = *((volatile VH *) mem);
+	return(SIL_REV_ENDIAN_H(data));
+}
+
+Inline void
+sil_wrh_lem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = SIL_REV_ENDIAN_H(data);
+}
+
+/*
+ *  32ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VW
+sil_rew_mem(VP mem)
+{
+	VW data = *((volatile VW *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrw_mem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = data;
+}
+
+#define	sil_rew_bem(mem)	sil_rew_mem(mem)
+#define	sil_wrw_bem(mem, data)	sil_wrw_mem(mem, data)
+
+Inline VW
+sil_rew_lem(VP mem)
+{
+	VW data= *((volatile VW *) mem);
+	return(SIL_REV_ENDIAN_W(data));
+}
+
+Inline void
+sil_wrw_lem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = SIL_REV_ENDIAN_W(data);
+}
+
+/*
+ *ãI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ */
+
+/*  ãã¼ãçªå·ã®å®ç¾©  */
+typedef enum  {
+	IO_PORT1,
+	IO_PORT2,
+	IO_PORT3,
+	IO_PORT5,	/*  ãã¼ãï¼ã«DDRã¯ãªã  */
+	IO_PORT6,
+	IO_PORT7,
+	IO_PORT8,
+	IO_PORT9,
+	IO_PORTA,
+	IO_PORTB,
+	IO_PORTC,
+	IO_PORTD,
+	IO_PORTE,
+	IO_PORTF,
+	IO_PORTG
+} IO_PORT_ID;
+
+extern UB sil_reb_ddr(IO_PORT_ID port) throw();
+extern void sil_wrb_ddr(IO_PORT_ID port, UB data) throw();
+extern void sil_anb_ddr(IO_PORT_ID port, UB data) throw();
+extern void sil_orb_ddr(IO_PORT_ID port, UB data) throw();
+
+
+/*============================================================================*/
+/*  ãããã°ç¨ã³ã¼ã  */
+
+#ifdef TEST_CPU_INSN
+extern void test_cpu_insn(void);
+#endif /* TEST_CPU_INSN */
+
+#ifdef TEST_CPU_CONFIG
+extern void test_cpu_config(void);
+#endif /* TEST_CPU_CONFIG */
+
+#ifdef TEST_H8S_SIL
+extern void test_h8s_sil(void);
+#endif /* TEST_H8S_SIL */
+
+/*============================================================================*/
+
+
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_insn.h	(revision 26)
@@ -0,0 +1,145 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/* ä¸è¨ã«ã¦å©ç¨ãã¦ãããMAX_IPM ã¯ cpu_config.h ã§å®ç¾© */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+#include <machine.h>	/*  å¦çç³»ã®çµã¿è¾¼ã¿é¢æ°  */
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®èª­åºã
+ *ããUB current_ccr(void);
+ *ãããâãunsigned char get_ccr(void);
+ */
+#define current_ccr	get_ccr
+
+/*
+ *  ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®å¤æ´
+ *ããçµã¿è¾¼ã¿é¢æ°ã®set_ccr()ããã®ã¾ã¾ä½¿ãã
+ *ããvoid set_ccr(unsigned char ccr);
+ */
+
+/*
+ *  ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ï¼EXRï¼ã®ç¾å¨å¤ã®èª­åºã
+ *ããUB current_exr(void);
+ *ãããâãunsigned char get_exr(void);
+ */
+#define current_exr	get_exr
+
+/*
+ *  ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ï¼EXRï¼ã®ç¾å¨å¤ã®å¤æ´
+ *ããçµã¿è¾¼ã¿é¢æ°ã®set_exr()ããã®ã¾ã¾ä½¿ãã
+ *ããvoid set_exr(unsigned char exr);
+ */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª (å²è¾¼ã¿ã¢ã¼ãï¼ç¨)
+ */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®ç¾å¨å¤ã®èª­åºã
+ *ããIPM current_intmask(void);
+ *ãããâãunsigned char get_imask_exr(void);
+ */
+#define current_intmask		(IPM)get_imask_exr
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ *ãããã»å¼æ°intmaskã®ç¯å²ãã§ãã¯ã¯çç¥ãã¦ããã
+ */
+#define set_intmask(intmask)	set_imask_exr(intmask)
+
+/* ç¨èªå®ç¾©
+ *ããã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿
+ *ããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ ï¼ ãã©ã¤ãªãªãã£ã¬ãã«(MAX_IPM+1)
+ *ãããããããããããããããä»¥ä¸ã®å²è¾¼ã¿ã¨NMI
+ */
+
+/*
+ *  ã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ãç¦æ­¢
+ *ãããã»EXRã¬ã¸ã¹ã¿ã®ãã¬ã¼ã¹ãããTã®ä¿å­ã¯çç¥ãã¦ããã
+ */
+#define disint()	set_intmask( (UB)MAX_IPM )
+
+/*
+ *  ã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ãè¨±å¯
+ *ãããã»EXRã¬ã¸ã¹ã¿ã®ãã¬ã¼ã¹ãããTã®ä¿å­ã¯çç¥ãã¦ããã
+ *ãããã»ãã®å¦çã¯ãäºå®ä¸ãã«ã¼ãã«ç®¡çä¸ã®æç¡ãåããã
+ *ãããããã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯ãããã¨ã«ãªã£ã¦ããã
+ */
+#define enaint()	set_intmask( (UB)0 )
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡ç¨é¢æ°
+ */
+
+/*
+ *  ã«ã¼ãã«ç®¡çå¤ãå«ãã¦ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ (NMIãé¤ã)
+ *ãããã»EXRã¬ã¸ã¹ã¿ã®ãã¬ã¼ã¹ãããTã®ä¿å­ã¯çç¥ãã¦ããã
+ */
+#define _disint_()	set_exr( EXR_I_MASK )
+
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.def	(revision 26)
@@ -0,0 +1,29 @@
+#cpu_config.c
+intnest
+iscpulocked
+task_intmask
+int_intmask
+cpu_experr
+cpu_putc
+
+#cpu_support.src
+activate_r
+no_reg_exception
+
+#start.src
+start
+
+#h8s_sci.c
+h8s_sci_initialize
+h8s_sci_openflag
+h8s_sci_opn_por
+h8s_sci_cls_por
+h8s_sci_snd_chr
+h8s_sci_rcv_chr
+h8s_sci_ena_cbr
+h8s_sci_dis_cbr
+h8s_sci_ierdy_snd
+h8s_sci_ierdy_rcv
+h8s_sci_init
+h8s_sci_putchar_pol
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.h	(revision 26)
@@ -0,0 +1,85 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#define intnest			_kernel_intnest
+#define iscpulocked		_kernel_iscpulocked
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define cpu_experr		_kernel_cpu_experr
+#define cpu_putc		_kernel_cpu_putc
+
+/*
+ * cpu_support.src
+ */
+#define activate_r		_kernel_activate_r
+#define no_reg_exception	_kernel_no_reg_exception
+
+/*
+ * start.src
+ */
+#define start			_kernel_start
+
+/*
+ * h8s_sci.c
+ */
+#define h8s_sci_initialize	_kernel_h8s_sci_initialize
+#define h8s_sci_openflag	_kernel_h8s_sci_openflag
+#define h8s_sci_opn_por		_kernel_h8s_sci_opn_por
+#define h8s_sci_cls_por		_kernel_h8s_sci_cls_por
+#define h8s_sci_snd_chr		_kernel_h8s_sci_snd_chr
+#define h8s_sci_rcv_chr		_kernel_h8s_sci_rcv_chr
+#define h8s_sci_ena_cbr		_kernel_h8s_sci_ena_cbr
+#define h8s_sci_dis_cbr		_kernel_h8s_sci_dis_cbr
+#define h8s_sci_ierdy_snd	_kernel_h8s_sci_ierdy_snd
+#define h8s_sci_ierdy_rcv	_kernel_h8s_sci_ierdy_rcv
+#define h8s_sci_init		_kernel_h8s_sci_init
+#define h8s_sci_putchar_pol	_kernel_h8s_sci_putchar_pol
+
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#define _intnest		__kernel_intnest
+#define _iscpulocked		__kernel_iscpulocked
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _cpu_experr		__kernel_cpu_experr
+#define _cpu_putc		__kernel_cpu_putc
+
+/*
+ * cpu_support.src
+ */
+#define _activate_r		__kernel_activate_r
+#define _no_reg_exception	__kernel_no_reg_exception
+
+/*
+ * start.src
+ */
+#define _start			__kernel_start
+
+/*
+ * h8s_sci.c
+ */
+#define _h8s_sci_initialize	__kernel_h8s_sci_initialize
+#define _h8s_sci_openflag	__kernel_h8s_sci_openflag
+#define _h8s_sci_opn_por	__kernel_h8s_sci_opn_por
+#define _h8s_sci_cls_por	__kernel_h8s_sci_cls_por
+#define _h8s_sci_snd_chr	__kernel_h8s_sci_snd_chr
+#define _h8s_sci_rcv_chr	__kernel_h8s_sci_rcv_chr
+#define _h8s_sci_ena_cbr	__kernel_h8s_sci_ena_cbr
+#define _h8s_sci_dis_cbr	__kernel_h8s_sci_dis_cbr
+#define _h8s_sci_ierdy_snd	__kernel_h8s_sci_ierdy_snd
+#define _h8s_sci_ierdy_rcv	__kernel_h8s_sci_ierdy_rcv
+#define _h8s_sci_init		__kernel_h8s_sci_init
+#define _h8s_sci_putchar_pol	__kernel_h8s_sci_putchar_pol
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_rename.inc	(revision 26)
@@ -0,0 +1,113 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_rename.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+ .AIFDEF _CPU_RENAME_INC_
+ .AELSE
+
+_CPU_RENAME_INC_: .DEFINE ""
+
+
+;
+;ãã·ã³ãã«ã®ãªãã¼ã 
+;
+
+;
+;ãå
+±éé¨
+;
+
+;ãããå¤æ°
+_runtsk:                .DEFINE         "__kernel_runtsk"
+_schedtsk:              .DEFINE         "__kernel_schedtsk"
+_reqflg:                .DEFINE         "__kernel_reqflg"
+_enadsp:                .DEFINE         "__kernel_enadsp"
+;ãããé¢æ°
+_call_texrtn            .DEFINE         "__kernel_call_texrtn"
+
+;
+;ãcpu_config.c
+;
+
+;ãããå¤æ°
+_intnest:               .DEFINE         "__kernel_intnest"
+_iscpulocked:           .DEFINE         "__kernel_iscpulocked"
+_task_intmask:          .DEFINE         "__kernel_task_intmask"
+;ãããé¢æ°
+_cpu_experr:            .DEFINE         "__kernel_cpu_experr"
+
+;
+;ãcpu_support.src
+;
+
+;ãããé¢æ°
+_dispatch:              .DEFINE         "__kernel_dispatch"
+_exit_and_dispatch:     .DEFINE         "__kernel_exit_and_dispatch"
+_activate_r:            .DEFINE         "__kernel_activate_r"
+_no_reg_exception       .DEFINE         "__kernel_no_reg_exception"
+_current_ccr            .DEFINE         "__kernel_current_ccr"
+_set_ccr                .DEFINE         "__kernel_set_ccr"
+_current_exr            .DEFINE         "__kernel_current_exr"
+_set_exr                .DEFINE         "__kernel_set_exr"
+;ãããã®ä»
+_common_interrupt_process .DEFINE       "__kernel_common_interrupt_process"
+
+;
+;ãstart.src
+;
+start                   .DEFINE         "__kernel_start"
+_clear_b_section        .DEFINE         "__kernel_clear_b_section"
+
+ .AENDI ;  _CPU_RENAME_INC_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_support.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_support.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_support.src	(revision 26)
@@ -0,0 +1,587 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: cpu_support.src,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;       ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼H8Sç¨ï¼
+;ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+
+        .CPU 2000A
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config.inc"
+        .INCLUDE "cpu_config.inc"
+        .INCLUDE "offset.inc"
+
+;ããå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹
+;ãããå¤æ°
+        .IMPORT _runtsk
+        .IMPORT _schedtsk
+        .IMPORT _reqflg
+        .IMPORT _enadsp
+;ãããé¢æ°
+        .IMPORT _ext_tsk
+        .IMPORT _call_texrtn
+
+;ããH8Sä¾å­é¨ç¬èª
+;ãããå¤æ°
+        .IMPORT _intnest
+        .IMPORT _iscpulocked
+        .IMPORT _task_intmask
+;ãããé¢æ°
+        .IMPORT _cpu_experr
+
+;
+;  å²è¾¼ã¿ç¦æ­¢ï¼è¨±å¯
+;ããexrã¬ã¸ã¹ã¿ã®ãã¬ã¼ã¹ãããTã¯ä¿å­ãã¦ããªã
+;
+
+;
+;  å²è¾¼ã¿ç¦æ­¢ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãé¤ãï¼
+;
+DISINT: .DEFINE         "ldc.b  #MAX_IPM, exr"
+
+;
+;  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+;
+ENAINT: .DEFINE         "ldc.b  #EXR_ENAINT_ALL, exr"
+
+
+;
+;  ã¿ã¹ã¯ãã£ã¹ãããã£
+;
+;    ã_dispatch ã¯ãå²è¾¼ã¿å¤ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+
+;    ã§å¼ã³åºããªããã°ãªããªãï¼_exit_and_dispatch ãï¼å²è¾¼ã¿ãã¹ã
+;    ã«ã¦ã³ã¿ = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«
+;    èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1ã§å¼ã³åºããå ´åã«
+;    ãå¯¾å¿ãã¦ããï¼
+
+        .GLOBAL _exit_and_dispatch
+_exit_and_dispatch:
+        ; å²ãè¾¼ã¿ç¦æ­¢ã§å¼ã°ããã
+        mov.b   #0, r0l         ; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢
+        mov.b   r0l, @_intnest
+        bra     dispatcher
+
+        ;
+        ;ããµã¼ãã¹ã³ã¼ã«å
+ããä»¥ä¸ã®æ¡ä»¶ã§å¼ã°ããã
+        ;ããã»CPUã­ãã¯ç¶æ
+
+        ;ããã»er0,er1ãä¿å­
+        ;
+        .GLOBAL _dispatch
+_dispatch:
+        push.l  er2                     ; er2ã6ãä¿å­
+        push.l  er3
+        push.l  er4
+        push.l  er5
+        push.l  er6
+        mov.l   @_runtsk, er0           ; er0 <- runtsk
+        mov.l   sp, @(TCB_sp, er0)      ; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­
+        mov.l   #dispatch_r, er1        ; å®è¡åéçªå°ãä¿å­
+        mov.l   er1, @(TCB_pc, er0)
+
+;
+;  ãã£ã¹ãããã£æ¬ä½
+;
+dispatcher:
+        ; ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+
+        ; ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+        ; ã(1) schedtsk != NULLã®å ´å
+        ; ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+        ; ã(2) schedtsk == NULLã®å ´å
+        ; ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+        ; ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+        ; ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+        ; ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+        ; ãããããããå¿
+è¦ããããï¼
+
+        mov.l   @_schedtsk, er0         ; er0 <- schedtsk
+        mov.l   er0, @_runtsk           ; schedtsk ããããï¼
+        beq     dispatcher_1            ; ç¡ããã°ã¸ã£ã³ã
+        mov.l   @(TCB_sp, er0), sp      ; ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+
+        mov.l   @(TCB_pc, er0), er0     ; å®è¡åéçªå°ã«åå²
+        jmp     @er0
+
+        ;
+        ;ãå®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡
+        ;
+        ;ãããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨åãç¶æ
+ã«åãæããã®ã¯ï¼ãã
+        ;ãã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±º
+        ;ãã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤
+        ;ãã®æå³ãããï¼
+dispatcher_1:
+
+        mov.l   #STACKTOP, sp   ;ãã¹ã¿ãã¯ãå²è¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ã
+        mov.b   #1, r0l         ;  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãï¼ã«ãã
+        mov.b   r0l, @_intnest
+
+        ;  CPUã­ãã¯ãã©ã°ãã¯ãªã¢
+        mov.w   #0, r3
+        mov.w   r3, @_iscpulocked
+
+dispatcher_2_enable_interrupt:
+
+        ;ãå²è¾¼ã¿è¨±å¯
+ .AIFDEF SUPPORT_CHG_IPM
+        ;ãldc.w @dips, exrå½ä»¤ã¯ãã¡ã¢ãªãã2ãã¤ãèª­ã¿åºããä¸ä½
+        ;ãï¼ãã¤ãã¯æ¨ã¦ãããã.wãä»ããªãã¨"307 (E) ILLEGAL 
+        ;ãADDRESSING MODE OR OBJECT CODE SIZE"ã«ãªãã
+	ldc.w	@_task_intmask, exr
+ .AELSE ; SUPPORT_CHG_IPM
+	ldc.b	#EXR_ENAINT_ALL, exr
+ .AENDI ; SUPPORT_CHG_IPM
+
+        ;ãldcå½ä»¤ç´å¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ã¦ã
+        ;ãæ¬¡ã®å½ä»¤ãå®è¡ãããã
+        ;ãï¼å²è¾¼ã¿ããæ»ã£ã¦ãã¦sleepããã±ã¼ã¹ã¯ãªãï¼
+
+        sleep                           ; å²è¾¼ã¿å¾
+ã¡
+        DISINT                          ; å²ãè¾¼ã¿ç¦æ­¢
+        mov.w   @_reqflg, r0            ; reqflgã®ãã§ãã¯
+                                        ;  reqflgã¯BOOLå -> intå(16bits)
+        beq     dispatcher_2_enable_interrupt
+        mov.w   #0,r0
+        mov.w   r0, @_reqflg            ; reqflgã®ã¯ãªã¢
+        mov.b   r0l, @_intnest          ; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢
+        bra     dispatcher
+
+
+
+;
+; ã¿ã¹ã¯ã¹ã¤ããã®çµæããããå®è¡ãåéããã
+;
+dispatch_r:
+        pop.l   er6                     ; er2ã6ãå¾©å
+
+        pop.l   er5
+        pop.l   er4
+        pop.l   er3
+        pop.l   er2
+                                ; ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã®ãã§ãã¯
+        mov.l   @_runtsk, er0           ; er0âruntsk
+        mov.b   @(TCB_enatex,er0),r1l
+        btst   #TCB_enatex_bit,r1l      ; TCB.enatex=0->CCR.Z=1
+        beq    _dispatch_r_1    ;ãã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ãªãã¸ã£ã³ã
+
+                                ; ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯
+                                ; TEXPTNã¯unsigned intåï¼16ããã
+        mov.w   @(TCB_texptn,er0),r1
+        beq     _dispatch_r_1   ; ä¿çä¾å¤è¦å ããªããã°ã¸ã£ã³ã
+
+        jmp     @_call_texrtn   ; ã¿ã¹ã¯ä¾å¤å¦çå¦çã«ã¼ãã³ã®å¼ã³åºã
+                                ;ãã_call_texrtnããããã«ã¯æ»ãã
+                                ;ããdispatch()ã®å¼ã³åºãå
+ã¸æ»ã
+_dispatch_r_1:
+        rts     ;ãdispatch()ã®å¼ã³åºãå
+ã¸ãªã¿ã¼ã³
+                ;ããCPUã­ãã¯è§£é¤ã¯å¼ã³åºãå
+ã§è¡ãã
+
+
+
+;
+; å²è¾¼ã¿ã®åºå£å¦çã§ã¹ã¿ãã¯ãã¤ã³ã¿ãæãã¦ããçªå°ããEXRã¬ã¸ã¹ã¿ã
+; ç©ã¾ãã¦ããçªå°ã¾ã§ã®ãªãã»ããã®å®ç¾©
+;
+;ã +0:er3
+;ã +4:er2
+;ã +8:er1
+;ã+12:er0
+;  +16:exr âãããspç¸å¯¾ã¢ã¯ã»ã¹ãã
+
+OFFSET_EXR:             .DEFINE         "16"
+
+
+
+;
+;  å²è¾¼ã¿ãã³ãã©å
+¥å£å¦ç
+;ããå²è¾¼ã¿è¦å ã«ä¾ãããå
+±éãªé¨å
+;ããï¼vector.srcã®INTHDR_ENTRYããã®ç¶ãï¼
+;
+;ããããä»¥ä¸ã®ç¶æ
+ã§ããã«ãã£ã¦ãã
+;ãããããã»å²è¾¼ã¿è¨±å¯ï¼å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã¯exrã«è¨­å®æ¸ã¿ï¼
+;ãããããã»er0ï¼éé¿æ¸ã¿
+;ãããããã»er0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+;ãããã
+;ããããã³ã¼ãªã³ã°ã³ã³ãã³ã·ã§ã³ãèããã¨er3ã®éé¿ã¯ä¸è¦ã ãã
+;ãããããã³ãã©ãªãå°ãªãã¨ãã½ã¼ã¹ã³ã¼ãã®å¯èª­æ§ãæªããªããã
+;ããããer3ãéé¿ãã¦ããã
+;ãããã
+
+        .GLOBAL _common_interrupt_process
+_common_interrupt_process:
+        push.l  er1                     ;ãer1ãer3ã®éé¿
+        push.l  er2
+        push.l  er3
+        stc.b	exr, r1l                ;ãexrã®ã³ãã¼
+
+	;ããããã°ç°å¢ã«ãã£ã¦ã¯ãTãããã®ã¯ãªã¢ãå¿
+è¦
+ .AIFDEF USE_DEBUGGER
+	and.b	#EXR_I_MASK, r1l
+ .AENDI ; USE_DEBUGGER
+
+        DISINT                          ;ãå²è¾¼ã¿ç¦æ­¢
+        mov.b   @_intnest, r3l          ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã
+        inc.b	r3l;
+        mov.b   r3l, @_intnest
+        cmp.b   #1, r3l                 ;ãå²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ãã®å¤å¥
+        bne     _interrupt_from_int     ;ãå¤éå²è¾¼ã¿ã®å¦çã¸
+
+        ;
+        ;ãåæ®µã®å²è¾¼ã¿ã®å ´å
+        ;
+        mov.l   sp, er3                 ;ãã¹ã¿ãã¯åæ¿
+        mov.l   #STACKTOP, sp
+        ldc.b   r1l, exr                ;ãå²è¾¼ã¿è¨±å¯
+        jsr     @er0                    ;ãCè¨èªã«ã¼ãã³å¼ã³åºã
+        DISINT                          ;ãå²è¾¼ã¿ç¦æ­¢
+        ;ãã¹ã¿ãã¯åæ¿
+        ;ããer3ã¯Cè¨èªã«ã¼ãã³ãå¼ã³åºãã¦ãç ´å£ãããªãã
+        mov.l   er3, sp
+        mov.b   #0, r0l                 ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¯ãªã¢
+        mov.b   r0l, @_intnest
+        mov.w   @_reqflg, e0            ;ãreqflgã®ãã§ãã¯
+        beq     _ret_to_task_int        ;ãreqflgãFALSEãªã_ret_to_task_intã«é£ã¶
+        
+        ;
+        ;ãæ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãå¦ãã®å¤å®
+        ;ããã
+        ;ãããH8Sã®å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ã§ã¯å²è¾¼ã¿åä»ãç´å¾ã«å²è¾¼ã¿ç¦æ­¢
+        ;ãããã«ãªã£ã¦ããªããããå
+¥å£å¦çã®éä¸­ã§å²è¾¼ã¿ãå
+¥ãå¯è½æ§ã
+        ;ãããããã
+        ;ããããã®å ´åã¯reqflg=TRUEã®ã¾ã¾ãåæ®µã®å²è¾¼ã¿å¦çã«æ»ãã
+        ;ããããããããã§reqflgãã¯ãªã¢ãã¦ãã¾ãã¨ãåæ®µã®å²è¾¼ã¿ã®
+        ;ãããåºå£å¦çã§ãã£ã¹ãããã£å¼ã³åºãï¼ã¾ãã¯ã¿ã¹ã¯ä¾å¤å¦çï¼ã
+        ;ãããã¹ã­ãããã¦ãã¾ãå±éºãããã
+        ;ããã
+        ;ãããå¤å®ã«ã¯ã¹ã¿ãã¯ã«ç©ã¾ããexrã¬ã¸ã¹ã¿ã®å¤ï¼Iãããï¼ã
+        ;ãããç¨ããã
+        ;ããã
+        
+	mov.b	@(OFFSET_EXR, sp), r0l	;ãr01 = ã¹ã¿ãã¯ä¸ã®EXR
+
+	;ãã¹ã¿ãã¯ã«ç©ã¾ããexrã¬ã¸ã¹ã¿ã®å¤ãããã6-3ã«1ãå
+¥ã£ã¦ããã®ã§
+	;ãã¯ãªã¢ãã¦ããã
+	and.b	#EXR_I_MASK, r0l
+
+ .AIFDEF SUPPORT_CHG_IPM
+	mov.b	@_task_intmask, r1l
+	cmp.b	r0l, r1l
+ .AELSE ; SUPPORT_CHG_IPM
+	cmp.b	#EXR_ENAINT_ALL, r0l
+ .AENDI ; SUPPORT_CHG_IPM
+
+	bne	_ret_to_task_int		;ãå²è¾¼ã¿çºçå ´æããå²è¾¼ã¿ã®å
+¥å£å¦ç
+        
+        mov.w   #0, e0                  ;ãreqflgãã¯ãªã¢
+        mov.w   e0, @_reqflg
+        bra     ret_int                 ;ãåºå£å¦çã¸ã¸ã£ã³ã
+
+
+        ;
+        ;ãå¤éå²è¾¼ã¿ã®å ´å;
+        ;ããä»¥ä¸ã®ç¶æ
+ã§ããã«ãã£ã¦ãã
+        ;ãããã»å²è¾¼ã¿ç¦æ­¢
+        ;ãããã»er0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+        ;ãããã»r3lï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+        ;
+_interrupt_from_int:
+        ldc.b   r1l, exr                ;ãå²è¾¼ã¿è¨±å¯
+        jsr     @er0                    ;ãCè¨èªã«ã¼ãã³å¼ã³åºã
+        DISINT                          ;ãå²è¾¼ã¿ç¦æ­¢
+
+        ;ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã£ã¯ãªã¡ã³ã
+        ;ããr3lã¯Cè¨èªã«ã¼ãã³ãå¼ã³åºãã¦ãç ´å£ãããªãã
+        dec.b	r3l                     
+        mov.b   r3l, @_intnest
+
+        ;ãæ¬æ¥ã¯ããã§æ»ãå
+ããå²è¾¼ã¿å¾
+ã¡ã®sleepå½ä»¤ãã©ããã®ãã§ã
+        ;ãã¯ãå¿
+è¦ã§ãããï¼ãããå²è¾¼ã¿ãã³ãã©å
+ã§reqflg=TRUEã«ãã¦
+        ;ãããã£ã¹ãããã£ãå¼ã°ããªãï¼ã¿ã¹ã¯ãå®è¡ãããªãï¼
+        ;ãH8Sã®å ´åãsleepå½ä»¤ã®ç´åã«ããå²è¾¼ã¿è¨±å¯ã®ldcå½ä»¤ã®å®è¡ç´
+        ;ãå¾ã¯å²è¾¼ã¿ç¦æ­¢ã§ãããå²è¾¼ã¿è¦æ±ããã£ãã¨ãã¦ãå²è¾¼ã¿ã¯å
+        ;ããä»ããªãã§ãsleepå½ä»¤ãå®è¡ãããããã®ãããå²è¾¼ã¿ãã
+        ;ãæ»ã£ãç´å¾ã«sleepå½ä»¤ãå®è¡ãããã±ã¼ã¹ã¯èæ
+®ããªãã¦è¯ãã
+
+        ;
+        ;ããã£ã¹ãããã£ãå¼ã°ãã«ãå²è¾¼ã¿å
+ã«æ»ãå ´å
+        ;
+_ret_to_task_int:
+        pop.l   er3                     ;ãã¬ã¸ã¹ã¿ãå¾©å
+
+        pop.l   er2
+        pop.l   er1
+        pop.l   er0
+        rte                             ;ãå²è¾¼ã¿å
+ã¸ãªã¿ã¼ã³
+
+
+;
+;  å²è¾¼ã¿ãã³ãã©åºå£å¦ç
+;
+; æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+; å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã
+; ä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+
+ret_int:
+                                        ; enadspã®ãã§ãã¯
+        mov.w   @_enadsp, r0            ;  enadspã¯BOOLå -> intå(16bits)
+        beq     ret_int_1               ; ãã£ã¹ãããç¦æ­¢ãªãret_int_1ã¸
+
+        mov.l   @_runtsk, er0           ; er0 <- runtsk
+        mov.l   @_schedtsk, er1         ; er1 <- schedtsk
+        cmp.l   er0, er1                ; runtsk ã¨ schedtsk ãæ¯è¼
+        beq     ret_int_1               ; åããªãret_int_1ã¸
+
+        push.l  er4                     ;ãã¬ã¸ã¹ã¿éé¿
+        push.l  er5
+        push.l  er6
+        mov.l   sp, @(TCB_sp, er0)      ; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­
+        mov.l   #ret_int_r, er1         ; å®è¡åéçªå°ãä¿å­
+        mov.l   er1, @(TCB_pc, er0)
+        bra     dispatcher
+
+        ;
+        ;  å²è¾¼ã¿ã®åºå£ã§ãã£ã¹ãããã£ããããã«æ»ã£ã¦ãã
+        ;
+ret_int_r:
+        pop.l   er6                     ;ãã¬ã¸ã¹ã¿å¾©å
+
+        pop.l   er5
+        pop.l   er4
+
+        ;
+        ;ãã¿ã¹ã¯ã¹ã¤ããããªãå ´åã¯ããããåæµãã
+        ;
+ret_int_1:
+                                        ; ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã®ãã§ãã¯
+        mov.l   @_runtsk, er0           ; er0âruntsk
+        mov.b   @(TCB_enatex,er0),r1l
+        btst   #TCB_enatex_bit,r1l      ; TCB.enatex=0->CCR.Z=1
+        beq    ret_int_2                ;ãã¿ã¹ã¯ä¾å¤ç¦æ­¢ç¶æ
+ãªãã¸ã£ã³ã
+
+                                        ; ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯
+        mov.w   @(TCB_texptn,er0),r1    ; TEXPTNã¯unsigned intåï¼16ããã
+        beq     ret_int_2               ; ä¿çä¾å¤è¦å ããªããã°ã¸ã£ã³ã
+        jsr     @_call_texrtn           ; ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å
+
+ret_int_2:
+        ;ãã
+        ;ããã£ã¹ãããã£ãã¿ã¹ã¯ä¾å¤å¦çãçµç±ããã¨
+        ;ãiscpulockedãã»ãããããã®ã§ãããã§ã¯ãªã¢ããã
+        ;ãï¼CPUã­ãã¯ãã©ã°ï¼
+        ;ãã
+        mov.w   #0, r0
+        mov.w   r0, @_iscpulocked
+
+ .AIFDEF SUPPORT_CHG_IPM
+        ;  ã¹ã¿ãã¯ã«ç©ãã§ããexrï¼æ»ãå
+ã®å²è¾¼ã¿ãã¹ã¯ï¼ã
+        ;ãtask_intmaskã«ãããï¼ä¸è¨åç
+§ï¼
+        mov.b   @_task_intmask, r1l
+        mov.b   r1l, @(OFFSET_EXR, sp)
+ .AENDI ;SUPPORT_CHG_IPM
+                                        ; ã¬ã¸ã¹ã¿ãå¾©å
+
+        pop.l   er3                     ;ã +0:er3
+        pop.l   er2                     ;ã +4:er2
+        pop.l   er1                     ;ã +8:er1
+        pop.l   er0                     ;ã+12:er0
+                                        ;  +16:exr âãããæ¸ãæãã
+        rte                             ;ãå²è¾¼ã¿å
+ã«ãªã¿ã¼ã³
+
+;
+;  ã¿ã¹ã¯èµ·åå¦ç
+;
+;ããããCPUã­ãã¯ã§å¼ã³åºãããã
+;
+;ããããã¿ã¹ã¯å®è¡éå§ç´å¾ã¯ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã«ãªã£ã¦ããã®ã§ã
+;ãããã_activate_rã§ã¯ä¿çä¾å¤è¦å ã®ãã§ãã¯ãããå¿
+è¦ããªãã
+;
+
+        .GLOBAL _activate_r
+_activate_r:
+        ;ãt_unlock_cpu ç¸å½ã®å¦ç
+        mov.w   #0, r0               ;  CPUã­ãã¯ãã©ã°ãã¯ãªã¢
+        mov.w   r0, @_iscpulocked
+        ;ãå²è¾¼ã¿è¨±å¯
+ .AIFDEF SUPPORT_CHG_IPM
+        mov.b   @_task_intmask, r0l  ;  å²è¾¼ã¿ãã¹ã¯ãtask_intmaskã«
+        ldc.b   r0l, exr
+ .AELSE         ; SUPPORT_CHG_IPM
+        ENAINT                       ;  å²è¾¼ã¿è¨±å¯
+ .AENDI ;SUPPORT_CHG_IPM
+
+        mov.l   #_ext_tsk, er0
+        push.l  er0             ;  ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å®
+
+        ;  ããã§å²è¾¼ã¿ãçºçãã¦ã¿ã¹ã¯ã¹ã¤ãããèµ·ãã£ãã¨ãã¦ãã
+        ;  ããã«æ»ããã¨ãã«ã¯ãruntskã®å¤ã¯å
+ã«æ»ã£ã¦ããã
+
+        mov.l   @_runtsk, er2
+        mov.l   @(TCB_tinib, er2), er2
+        mov.l   @(TINIB_task, er2), er1 ;  ã¿ã¹ã¯èµ·åçªå°ãè¨­å®
+
+                                ;  æ¡å¼µæ
+å ±ï¼ã¿ã¹ã¯ã¸ã®å¼æ°ï¼ãè¨­å®
+        mov.l   @(TINIB_exinf, er2), er0
+        jmp     @er1
+
+;
+;  å¾®å°æéå¾
+ã¡
+;    void sil_dly_nse_long(UW dlytim)
+;
+;ãããæ³¨æäºé 
+ï¼
+;ããããæ¨æºã§ã¯dlytimã¯UINTåã ã16ããããããªãã®ã§ã
+;ããããUWåã«å¤æ´ãã¦ããã
+;
+        .GLOBAL _sil_dly_nse_long
+_sil_dly_nse_long:
+        sub.l   #SIL_DLY_TIM1, er0
+        ble     sil_dly_nse_2
+                ;  dlytim < SIL_DLY_TIM1 ãªãã«ã¼ãçµäº
+sil_dly_nse_1:
+        sub.l   #SIL_DLY_TIM2, er0
+        bgt     sil_dly_nse_1
+                ;  dlytim > SIL_DLY_TIM2 ãªãã«ã¼ãç¶è¡
+sil_dly_nse_2:
+        rts
+
+
+;**************************************************************
+;  ä»¥ä¸ãå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¯å«ã¾ããªãç¬èªã®é¨å
+;**************************************************************
+
+;
+;  no_reg_exception()
+;  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºãããã
+;  ä¾å¤ãçºçããæç¹ã®PC,ER0ã7ãåºåãã¦ã«ã¼ãã«
+;  ãåæ­¢ããã
+        .GLOBAL _no_reg_exception
+_no_reg_exception:
+
+                        ;  er0ã6ãä¿å­
+        push.l  er6     ;ãã +0:er0
+        push.l  er5     ;ãã +4:er1
+        push.l  er4     ;ãã +8:er2
+        push.l  er3     ;ãã+12:er3
+        push.l  er2     ;ãã+16:er4
+        push.l  er1     ;ãã+20:er5
+        push.l  er0     ;ãã+24:er6
+                        ;ãã+28:exr
+                        ;ãã+29:ãªã¶ã¼ã
+                        ;ãã+30:crr
+                        ;ãã+31:pc
+                        ;ãã+34ã:å²è¾¼ã¿åã«ä½¿ç¨ããã¦ããã¹ã¿ãã¯é å
+
+        mov.l   sp, er0         ;  å¼æ°è¨­å®
+                                ;    SPã¯+34ã§ãçºçæç¹ã®å¤
+        jsr     @_cpu_experr    ;  cpu_experr()ã®å¼ã³åºã
+
+
+        .END
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/cpu_unrename.h	(revision 26)
@@ -0,0 +1,85 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#undef intnest
+#undef iscpulocked
+#undef task_intmask
+#undef int_intmask
+#undef cpu_experr
+#undef cpu_putc
+
+/*
+ * cpu_support.src
+ */
+#undef activate_r
+#undef no_reg_exception
+
+/*
+ * start.src
+ */
+#undef start
+
+/*
+ * h8s_sci.c
+ */
+#undef h8s_sci_initialize
+#undef h8s_sci_openflag
+#undef h8s_sci_opn_por
+#undef h8s_sci_cls_por
+#undef h8s_sci_snd_chr
+#undef h8s_sci_rcv_chr
+#undef h8s_sci_ena_cbr
+#undef h8s_sci_dis_cbr
+#undef h8s_sci_ierdy_snd
+#undef h8s_sci_ierdy_rcv
+#undef h8s_sci_init
+#undef h8s_sci_putchar_pol
+
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#undef _intnest
+#undef _iscpulocked
+#undef _task_intmask
+#undef _int_intmask
+#undef _cpu_experr
+#undef _cpu_putc
+
+/*
+ * cpu_support.src
+ */
+#undef _activate_r
+#undef _no_reg_exception
+
+/*
+ * start.src
+ */
+#undef _start
+
+/*
+ * h8s_sci.c
+ */
+#undef _h8s_sci_initialize
+#undef _h8s_sci_openflag
+#undef _h8s_sci_opn_por
+#undef _h8s_sci_cls_por
+#undef _h8s_sci_snd_chr
+#undef _h8s_sci_rcv_chr
+#undef _h8s_sci_ena_cbr
+#undef _h8s_sci_dis_cbr
+#undef _h8s_sci_ierdy_snd
+#undef _h8s_sci_ierdy_rcv
+#undef _h8s_sci_init
+#undef _h8s_sci_putchar_pol
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s.h	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_H_
+#define _H8S_H_
+
+#include <util.h>
+
+/*
+ *  H8S/2600, H8S/2000 CPU ç¨å®ç¾©
+ *    å²è¾¼ã¿é¢é£ã¨I/Oãã¼ãã¯ãããæ¯ã«ç°ãªãã®ã§
+ *    h8sxxxx.hã§å®ç¾©ãã¦ããã
+ */
+
+/*
+ *  ãã¼ã¹ã¢ãã¬ã¹
+ */
+#ifndef H8S_NORMAL_MODE
+#define H8S_BASE_ADDR	0xff0000	/* ã¢ããã³ã¹ãã¢ã¼ã */
+#else /* H8S_NORMAL_MODE */
+#define H8S_BASE_ADDR	0x000000	/* ãã¼ãã«ã¢ã¼ã */
+#endif /* H8S_NORMAL_MODE */
+
+/*
+ *  ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿(CCR)
+ */
+#define CCR_I		BIT7
+#define CCR_UI		BIT6
+#define CCR_H		BIT5
+#define CCR_U		BIT4
+#define CCR_N		BIT3
+#define CCR_Z		BIT2
+#define CCR_V		BIT1
+#define CCR_C		BIT0
+
+/*
+ *  ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿(EXR)
+ */
+#define EXR_T		BIT7		/* ãã¬ã¼ã¹ããã */
+#define EXR_I2		BIT2		/* å²è¾¼ã¿ãã¹ã¯ããã */
+#define EXR_I1		BIT1		/* å²è¾¼ã¿ãã¹ã¯ããã */
+#define EXR_I0		BIT0		/* å²è¾¼ã¿ãã¹ã¯ããã */
+
+/* å²è¾¼ã¿ãã¹ã¯ãããåå¾ç¨ãã¹ã¯ */
+#define EXR_I_MASK	(EXR_I2|EXR_I1|EXR_I0)
+
+/*
+ *  MCUåä½ã¢ã¼ãé¢é£ã®ã¬ã¸ã¹ã¿
+ */
+
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define MDCR		0xff3b		/*  ã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿  */
+#define SYSCR		0xff39		/*  ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿  */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* MDCR */
+#define MDS2		BIT2
+#define MDS1		BIT1
+#define MDS0		BIT0
+
+/* SYSCR */
+#define INTM1		BIT5
+#define INTM0		BIT4
+#define NMIEG		BIT3
+#define LWROD		BIT2
+#define IRQPAS		BIT1
+#define RAME		BIT0
+
+#define INT_MODE2	INTM1	/*  å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼  */
+#define RAME_BIT	0x0
+
+#endif /* _H8S_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.h	(revision 26)
@@ -0,0 +1,390 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_2339F_H_
+#define _H8S_2339F_H_
+
+/*
+ *  H8S/2339F ç¨å®ç¾©
+ */
+
+/*
+ *  ã¢ã¸ã¥ã¼ã«ã¹ãããã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+ *  (æ§ã
+ãªã¢ã¸ã¥ã¼ã«ã® ONãOFF ã«ä½¿ã£ã¦ããã®ã§ãããã§å®ç¾©ããã)
+ */
+#define MSTPCR		0xff3c
+#define MSTPCR_TPU	BIT13
+#define MSTPCR_SCI2	BIT7
+#define MSTPCR_SCI1	BIT6
+#define MSTPCR_SCI0	BIT5
+
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ */
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+/* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã¯ãæ¢ã«å®ç¾©æ¸ã¿ */
+#define ISCRH		0xff2c		/* IRQã»ã³ã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define ISCRL		0xff2d		/* IRQã»ã³ã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define IER		0xff2e		/* IRQã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define ISR		0xff2f		/* IRQã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define IPRA		0xfec4		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿A */
+#define IPRB 		0xfec5		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿B */
+#define IPRC		0xfec6		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿C */
+#define IPRD		0xfec7		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿D */
+#define IPRE		0xfec8		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿E */
+#define IPRF		0xfec9		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿F */
+#define IPRG		0xfeca		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿G */
+#define IPRH		0xfecb		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿H */
+#define IPRI		0xfecc		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿I */
+#define IPRJ		0xfecd		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿J */
+#define IPRK		0xfece		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿K */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* IPRx (x = A-K) */
+#define IPR6		BIT6
+#define IPR5		BIT5
+#define IPR4		BIT4
+#define IPR2		BIT2
+#define IPR1		BIT1
+#define IPR0		BIT0
+
+/* icu_set_ilvç¨ */
+#define IPR_UPR		TRUE
+#define IPR_LOW		FALSE
+#define IPR_UPR_MASK	(IPR6|IPR5|IPR4)	/* IPRä¸ä½ããããã¹ã¯ */
+#define IPR_LOW_MASK	(IPR2|IPR1|IPR0)	/* IPRä¸ä½ããããã¹ã¯ */
+
+/* IER */
+#define IRQ7E		BIT7
+#define IRQ6E		BIT6
+#define IRQ5E		BIT5
+#define IRQ4E		BIT4
+#define IRQ3E		BIT3
+#define IRQ2E		BIT2
+#define IRQ1E		BIT1
+#define IRQ0E		BIT0
+
+/* ISCRH */
+#define IRQ7SCB		BIT7
+#define IRQ7SCA		BIT6
+#define IRQ6SCB		BIT5
+#define IRQ6SCA		BIT4
+#define IRQ5SCB		BIT3
+#define IRQ5SCA		BIT2
+#define IRQ4SCB		BIT1
+#define IRQ4SCA		BIT0
+
+/* ISCRL */
+#define IRQ3SCB		BIT7
+#define IRQ3SCA		BIT6
+#define IRQ2SCB		BIT5
+#define IRQ2SCA		BIT4
+#define IRQ1SCB		BIT3
+#define IRQ1SCA		BIT2
+#define IRQ0SCB		BIT1
+#define IRQ0SCA		BIT0
+
+/* ISR */
+#define IRQ7F		BIT7
+#define IRQ6F		BIT6
+#define IRQ5F		BIT5
+#define IRQ4F		BIT4
+#define IRQ3F		BIT3
+#define IRQ2F		BIT2
+#define IRQ1F		BIT1
+#define IRQ0F		BIT0
+
+/* å²è¾¼ã¿ä¾å¤å¦çãã¯ã¿ãã¼ãã«ã®ãã¯ã¿çªå· */
+					/* è¦æ±çºçå
+ */
+#define IRQ_POWRESET	0		/* ãã¯ã¼ãªã³ãªã»ãã */
+#define IRQ_MANRESET	1		/* ããã¥ã¢ã«ãªã»ãã */
+/* 2-4 ã¯ãã·ã¹ãã äºç´ */
+#define IRQ_TRACE	5		/* ãã¬ã¼ã¹ */
+/* 6 ã¯ãã·ã¹ãã äºç´ */
+#define IRQ_NMI		7		/* å¤é¨ç«¯å­ */
+#define IRQ_TRAP0	8		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP1	9		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP2	10		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP3	11		/* ãã©ããå½ä»¤ */
+/* 12-15 ã¯ãã·ã¹ãã äºç´ */
+#define IRQ_IRQ0	16		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ1	17		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ2	18		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ3	19		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ4	20		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ5	21		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ6	22		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ7	23		/* å¤é¨ç«¯å­ */
+#define IRQ_SWDTEND	24		/* DTC */
+#define IRQ_WOVI	25		/* ã¦ã©ããããã°ã¿ã¤ã */
+#define IRQ_CMI 	26		/* ãªãã¬ãã·ã¥ã³ã³ãã­ã¼ã© */
+/* 27 çªã¯ããªã¶ã¼ã */
+#define IRQ_ADI		28		/* A/D */
+/* 29, 30, 31 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI0A	32		/* TPUãã£ãã«0 */
+#define IRQ_TGI0B	33		/* TPUãã£ãã«0 */
+#define IRQ_TGI0C	34		/* TPUãã£ãã«0 */
+#define IRQ_TGI0D	35		/* TPUãã£ãã«0 */
+#define IRQ_TCI0V	36		/* TPUãã£ãã«0 */
+/* 37, 38, 39 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI1A	40		/* TPUãã£ãã«1 */
+#define IRQ_TGI1B	41		/* TPUãã£ãã«1 */
+#define IRQ_TCI1V	42		/* TPUãã£ãã«1 */
+#define IRQ_TCI1U	43		/* TPUãã£ãã«1 */
+#define IRQ_TGI2A	44		/* TPUãã£ãã«2 */
+#define IRQ_TGI2B	45		/* TPUãã£ãã«2 */
+#define IRQ_TCI2V	46		/* TPUãã£ãã«2 */
+#define IRQ_TCI2U	47		/* TPUãã£ãã«2 */
+#define IRQ_TGI3A	48		/* TPUãã£ãã«3 */
+#define IRQ_TGI3B	49		/* TPUãã£ãã«3 */
+#define IRQ_TGI3C	50		/* TPUãã£ãã«3 */
+#define IRQ_TGI3D	51		/* TPUãã£ãã«3 */
+#define IRQ_TCI3V	52		/* TPUãã£ãã«3 */
+/* 53, 54, 55 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI4A	56		/* TPUãã£ãã«4 */
+#define IRQ_TGI4B	57		/* TPUãã£ãã«4 */
+#define IRQ_TCI4V	58		/* TPUãã£ãã«4 */
+#define IRQ_TCI4U	59		/* TPUãã£ãã«4 */
+#define IRQ_TGI5A	60		/* TPUãã£ãã«5 */
+#define IRQ_TGI5B	61		/* TPUãã£ãã«5 */
+#define IRQ_TCI5V	62		/* TPUãã£ãã«5 */
+#define IRQ_TCI5U	63		/* TPUãã£ãã«5 */
+/* 64, 65, 66, 67, 68, 69, 70, 71 çªã¯ããªã¶ã¼ã */
+#define IRQ_DEND0A	72		/* DMAC */
+#define IRQ_DEND0B	73		/* DMAC */
+#define IRQ_DEND1A	74		/* DMAC */
+#define IRQ_DEND1B	75		/* DMAC */
+/* 76, 77, 78, 79 çªã¯ããªã¶ã¼ã */
+#define IRQ_ERI0	80		/* SCIãã£ãã«0 */
+#define IRQ_RXI0	81		/* SCIãã£ãã«0 */
+#define IRQ_TXI0	82		/* SCIãã£ãã«0 */
+#define IRQ_TEI0	83		/* SCIãã£ãã«0 */
+#define IRQ_ERI1	84		/* SCIãã£ãã«1 */
+#define IRQ_RXI1	85		/* SCIãã£ãã«1 */
+#define IRQ_TXI1	86		/* SCIãã£ãã«1 */
+#define IRQ_TEI1	87		/* SCIãã£ãã«1 */
+#define IRQ_ERI2	88		/* SCIãã£ãã«2 */
+#define IRQ_RXI2	89		/* SCIãã£ãã«2 */
+#define IRQ_TXI2	90		/* SCIãã£ãã«2 */
+#define IRQ_TEI2	91		/* SCIãã£ãã«2 */
+
+/*
+ *  ãã¹ã³ã³ãã­ã¼ã©
+ */
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define ABWCR		0xfed0		/* ãã¹å¹
+ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define ASTCR		0xfed1		/* ã¢ã¯ã»ã¹ã¹ãã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define WCRH		0xfed2		/* ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define WCRL      	0xfed3		/* ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define BCRH		0xfed4		/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define BCRL		0xfed5		/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define MCR		0xfed6		/* ã¡ã¢ãªã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define DRAMCR		0xfed7		/* DRAMã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define RTCNT		0xfed8		/* ãªãã¬ãã·ã¥ã¿ã¤ãã«ã¦ã³ã¿ */
+#define RTCOR		0xfed9		/* ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* ASTCR */
+#define AST7 		BIT7
+#define AST6 		BIT6
+#define AST5 		BIT5
+#define AST4 		BIT4
+#define AST3 		BIT3
+#define AST2 		BIT2
+#define AST1 		BIT1
+#define AST0 		BIT0
+
+/* WCRH */
+#define W71 		BIT7
+#define W70 		BIT6
+#define W61 		BIT5
+#define W60 		BIT4
+#define W51 		BIT3
+#define W50 		BIT2
+#define W41 		BIT1
+#define W40 		BIT0
+
+/* WCRL */
+#define W31 		BIT7
+#define W30 		BIT6
+#define W21 		BIT5
+#define W20 		BIT4
+#define W11 		BIT3
+#define W10 		BIT2
+#define W01 		BIT1
+#define W00 		BIT0
+
+/* BCRH */
+#define ICIS1 		BIT7
+#define ICIS0 		BIT6
+#define BRSTRM		BIT5
+#define BRSTS1 		BIT4
+#define BRSTS0		BIT3
+#define RMTS2		BIT2
+#define RMTS1		BIT1
+#define RMTS0 		BIT0
+
+
+/*
+ *  I/O ãã¼ã
+ */
+
+#define TNUM_IO_PORT	15	/*  I/Oãã¼ãã®æ¬æ°  */
+
+/* åãã¼ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+
+/* port1 */
+#define P1DDR		0xfeb0
+#define P1DR		0xff60
+#define PORT1		0xff50
+
+/* port2 */
+#define P2DDR		0xfeb1
+#define P2DR		0xff61
+#define PORT2		0xff51
+
+/* port3 */
+#define P3DDR		0xfeb2
+#define P3DR		0xff62
+#define PORT3		0xff52
+#define P3ODR		0xff76
+
+/* port4 */
+#define PORT4		0xff53
+
+/* port5 */
+#define P5DDR		0xfeb4
+#define P5DR		0xff64
+#define PORT5		0xff54
+
+/* port6 */
+#define P6DDR		0xfeb5
+#define P6DR		0xff65
+#define PORT6 		0xff55
+
+/* port7 */
+#define P7DDR		0xfeb6
+
+/* port8 */
+#define P8DDR		0xfeb7
+
+/* port9 */
+#define P9DDR		0xfeb8
+
+/*  portA  */
+#define PADDR		0xfeb9
+#define PADR		0xff69
+#define PORTA		0xff59
+
+/* portB */
+#define PBDDR		0xfeba
+
+/* portC */
+#define PCDDR		0xfebb
+
+/* portD */
+#define PDDDR		0xfebc
+
+/*  portE  */
+#define PEDDR		0xfebd
+#define PEDR		0xff6d
+#define PORTE		0xff5d
+#define PEPCR		0xff74
+
+/*  portF  */
+#define PFDDR		0xfebe
+#define PFDR		0xff6e
+#define PORTF		0xff5e
+
+/*  portG  */
+#define PGDDR		0xfebf	/* ãã¼ãï¼§ãã¼ã¿ãã£ã¹ã¯ãªãã·ã§ã³ã¬ã¸ã¹ã¿ */
+#define PGDR		0xff6f	/* ãã¼ãï¼§ãã¼ã¿ã¬ã¸ã¹ã¿ */
+#define PORTG		0xff5f	/* ãã¼ãï¼§ã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* P2DDR */
+#define P27DDR		BIT7
+#define P26DDR		BIT6
+#define P25DDR		BIT5
+#define P24DDR		BIT4
+#define P23DDR		BIT3
+#define P22DDR		BIT2
+#define P21DDR		BIT1
+#define P20DDR		BIT0
+
+/* P3DDR */
+#define P37DDR		BIT7
+#define P36DDR		BIT6
+#define P35DDR		BIT5
+#define P34DDR		BIT4
+#define P33DDR		BIT3
+#define P32DDR		BIT2
+#define P31DDR		BIT1
+#define P30DDR		BIT0
+
+/* PGDDR */
+#define PG4DDR		BIT4
+#define PG3DDR		BIT3
+#define PG2DDR		BIT2
+#define PG1DDR		BIT1
+#define PG0DDR		BIT0
+
+#endif /* _H8S_2339F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s2339f.inc	(revision 26)
@@ -0,0 +1,119 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: h8s2339f.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;  H8S/2339Fç¨å®ç¾©ï¼ã¢ã»ã³ãã©ç¨ï¼
+
+ .AIFDEF _H8S2339F_INC_
+ .AELSE
+
+_H8S2339F_INC_: .DEFINE ""
+
+        .INCLUDE "util.inc"
+
+;
+;  å
+é¨ã¬ã¸ã¹ã¿ã®å®ç¾©ï¼ä¸ä½16ãããã®ã¿ï¼
+;
+
+;    ãã¹ã³ã³ãã­ã¼ã©
+ABWCR:                   .DEFINE         "H'fed0"
+ASTCR:                   .DEFINE         "H'fed1"
+WCRH:                    .DEFINE         "H'fed2"
+WCRL:                    .DEFINE         "H'fed3"
+BCRH:                    .DEFINE         "H'fed4"
+BCRL:                    .DEFINE         "H'fed5"
+
+PFCR1:                   .DEFINE         "H'ff45"
+PFCR2:                   .DEFINE         "H'ffac"
+
+
+;    I/Oãã¼ã
+P1DR:                    .DEFINE         "H'ff60"
+P2DR:                    .DEFINE         "H'ff61"
+P3DR:                    .DEFINE         "H'ff62"
+P4DR:                    .DEFINE         "H'ff63"
+P5DR:                    .DEFINE         "H'ff64"
+P6DR:                    .DEFINE         "H'ff65"
+P7DR:                    .DEFINE         "H'ff66"
+P8DR:                    .DEFINE         "H'ff67"
+P9DR:                    .DEFINE         "H'ff68"
+PADR:                    .DEFINE         "H'ff69"
+PBDR:                    .DEFINE         "H'ff6a"
+PCDR:                    .DEFINE         "H'ff6b"
+PDDR:                    .DEFINE         "H'ff6c"
+PEDR:                    .DEFINE         "H'ff6d"
+PFDR:                    .DEFINE         "H'ff6e"
+PGDR:                    .DEFINE         "H'ff6f"
+
+P1DDR:                   .DEFINE         "H'feb0"
+P2DDR:                   .DEFINE         "H'feb1"
+P3DDR:                   .DEFINE         "H'feb2"
+P4DDR:                   .DEFINE         "H'feb3"
+P5DDR:                   .DEFINE         "H'feb4"
+P6DDR:                   .DEFINE         "H'feb5"
+P7DDR:                   .DEFINE         "H'feb6"
+P8DDR:                   .DEFINE         "H'feb7"
+P9DDR:                   .DEFINE         "H'feb8"
+PADDR:                   .DEFINE         "H'feb9"
+PBDDR:                   .DEFINE         "H'feba"
+PCDDR:                   .DEFINE         "H'febb"
+PDDDR:                   .DEFINE         "H'febc"
+PEDDR:                   .DEFINE         "H'febd"
+PFDDR:                   .DEFINE         "H'febe"
+PGDDR:                   .DEFINE         "H'febf"
+
+ .AENDI ; _H8S2339F_INC_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.c	(revision 26)
@@ -0,0 +1,633 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  H8Så
+èµSCIç¨ ç°¡æSIOãã©ã¤ã
+ *  ã»ä¸è¨ã¯ãï¼ãã£ã³ãã«ç¨ã«è¨è¿°ãã¦ãããH8Sã·ãªã¼ãºã®ä¸­ã«ã¯ãï¼ãã£ã³ãã«
+ *    ä»¥ä¸ãµãã¼ããã¦ãããããããããããã®ã¨ãã®å¯¾å¿ã¯å®¹æã§ããã
+ */
+
+#include <h8s_sci.h>
+
+/* SCIã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+/* ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCI0_BASE_ADDR	0xff78	/* ãã£ãã«ï¼ */
+#define SCI1_BASE_ADDR	0xff80	/* ãã£ãã«ï¼ */
+#define SCI2_BASE_ADDR	0xff88	/* ãã£ãã«ï¼ */
+
+/* ã¬ã¸ã¹ã¿ãªãã»ãã */
+#define SMR		0	/* ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define BRR		1	/* ãããã¬ã¼ãã¬ã¸ã¹ã¿ */
+#define SCR		2	/* ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define TDR		3	/* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SSR		4	/* ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RDR		5	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCMR		6	/* ã¹ãã¼ãã«ã¼ãã¢ã¼ãã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* RSR, RDR, TSR, TDR */
+/* å®ç¾©ãã¹ããã®ã¯ãç¹ã«ç¡ã */
+
+/* SMR */
+#define CA	BIT7
+#define	CHR	BIT6	/* 8bit = 0 / 7bit = 1 */
+#define	PE	BIT5	/* Parity OFF = 0 / Parity ON = 1 */
+#define	OE	BIT4	/* EVEN Parity = 0 / ODD Parity = 1 */
+#define	STOP	BIT3	/* 1 STOP BIT = 0 / 2 STOP BIT = 1 */
+#define MP	BIT2
+#define	CSK1	BIT1
+#define	CSK0	BIT0
+
+/*
+ *ãSMRã®åæå¤
+ *
+ *ãããã7=0ï¼èª¿æ­©åæå¼ã¢ã¼ã
+ *ãããã6=0ï¼ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹=8ããã
+ *ãããã5=0ï¼ããªãã£ã®ä»å ããã§ãã¯ãç¦æ­¢
+ *ãããã4ãï¼ããªãã£ã¢ã¼ãï¼æªä½¿ç¨ï¼
+ *ãããã3=0ï¼ã¹ããããããã¬ã³ã°ã¹ï¼1ããã
+ *ãããã1,0ï¼ãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ã¸ã®ã¯ã­ãã¯ã½ã¼ã¹é¸æ
+ *ããããããããã¼ãä¾å­é¨ã§SCRn_CKSã¨ãã¦å®ç¾©ï¼nã¯chçªå·ï¼
+ */
+#define SMR_INIT	0
+
+/* SCR */
+#define TIE	BIT7
+#define	RIE	BIT6
+#define	TE	BIT5
+#define	RE	BIT4
+#define	MPIE	BIT3
+#define TEIE	BIT2
+#define	CKE1	BIT1
+#define	CKE0	BIT0
+
+/* SSR */
+#define TDRE	BIT7
+#define	RDRF	BIT6
+#define	ORER	BIT5
+#define	FER	BIT4
+#define	PER	BIT3
+#define TEND	BIT2
+#define	MPB	BIT1
+#define	MPBT	BIT0
+
+
+/* 
+ * TNUM_PORT : ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼ããã
+ * ããããããã·ãªã¢ã«ãã¼ãã®æ° 
+ * TNUM_SIOP : PDICã¬ãã«ï¼ãã­ã»ããµå
+èµSIOï¼ã§ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ã
+ *ãããããã ã®æ°ï¼ç¾å¨ã®å®è£
+ã§ã¯æå¤§3ï¼
+ *  
+ *ãããããuser_config.hã§å®ç¾©ããã
+ */
+
+/* ä»¥ä¸ã§ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ããUW åã¸ã­ã£ã¹ãããã¦ãããããã¯ããã¼ã¹
+   ã¢ãã¬ã¹ã«ãªãã»ããå¤ãå ãã¦ãæçµçãªã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãæ±ãã¦ãã
+   ããã§ãããåå¾å¾ã«ãæçµçã« VP åã«ã­ã£ã¹ãããã¦ããã(h8s_sci.h) */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UW	reg_base;	/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UH	boud_rate;	/* ãã¼ã¬ã¼ã[bps]ã*/
+	UB	boud_brr_def;	/* BRR è¨­å®å¤ï¼ãã¼ã¬ã¼ãã®è¨­å®å¤ï¼ */
+	UB	smr_def;	/* SMR è¨­å®å¤
+				   (éåä¿¡ãããæ°ãã¹ããããããï¼ããªãã£) */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL		getready;	/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL		putready;	/* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ (UW)SCI0_BASE_ADDR,
+	  (UH)BAUD_RATE1,
+	  (UB)BRR0_RATE,			/* N å¤ */
+	  (UB)(SMR_INIT | (SCR0_CKS & (CKE1 | CKE0)))
+	},
+#if TNUM_SIOP >= 2
+	{ (UW)SCI1_BASE_ADDR,
+	  (UH)BAUD_RATE1,
+	  (UB)BRR1_RATE,			/* N å¤ */
+	  (UB)(SMR_INIT | (SCR1_CKS & (CKE1 | CKE0)))
+	}
+#endif /* TNUM_SIOP >= 2 */
+#if TNUM_SIOP >= 3
+	,{(UW)SCI2_BASE_ADDR,
+	  (UH)BAUD_RATE2,
+	  (UB)BRR2_RATE,			/* N å¤ */
+	  (UB)(SMR_INIT | (SCR2_CKS & (CKE1 | CKE0)))
+	}
+#endif /* TNUM_SIOP >= 3 */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)	((UINT)((siopid) - 1))
+#define get_siopinib(siopid)	(&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SCIç¨ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤
+ *
+ *   base : ãã¼ãã®ãã¼ã¹ã¢ãã¬ã¹
+ *   offset : ã¬ã¸ã¹ã¿ãªãã»ãã
+ *   val : ã¬ã¸ã¹ã¿å¤ 
+ */
+#define h8s_sci_wrb( base, offset, val ) h8s_wrb_reg( (base) + (offset), (val) )
+#define h8s_sci_reb( base, offset )	h8s_reb_reg( (base) + (offset) )
+
+/*
+ *  SCIç¨ã¬ã¸ã¹ã¿æä½é¢æ°
+ */
+Inline void
+h8s_sci_or( const SIOPINIB *siopinib, INT offset, INT val )
+{
+	UB reg = h8s_sci_reb( siopinib->reg_base, offset );
+	h8s_sci_wrb( siopinib->reg_base, offset, reg | (UB)val );
+}
+
+Inline void
+h8s_sci_and( const SIOPINIB *siopinib, INT offset, INT val )
+{
+	UB reg = h8s_sci_reb( siopinib->reg_base, offset );
+	h8s_sci_wrb( siopinib->reg_base, offset, reg & (UB)val );
+}
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+h8s_sci_getready(SIOPCB *siopcb)
+{
+	UB ssr;
+	
+	siopcb->getready = FALSE;
+	ssr =  h8s_sci_reb( siopcb->siopinib->reg_base, SSR );
+	if( ssr & RDRF ) {
+		siopcb->getready = TRUE;
+	}
+	return( siopcb->getready );
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+h8s_sci_putready(SIOPCB *siopcb)
+{
+	siopcb->putready = FALSE;
+	if( h8s_sci_reb( siopcb->siopinib->reg_base, SSR ) & TDRE ) {
+		siopcb->putready = TRUE;
+	}
+	return( siopcb->putready );
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+h8s_sci_getchar(SIOPCB *siopcb)
+{
+	/* RDRFã¯ãªã¢ */
+	h8s_sci_and( siopcb->siopinib, SSR, ~RDRF );
+
+	return( (char) h8s_sci_reb( siopcb->siopinib->reg_base, RDR ) );
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+h8s_sci_putchar(SIOPCB *siopcb, char c)
+{
+	h8s_sci_wrb( siopcb->siopinib->reg_base, TDR, c );
+
+	/* TDREã¯ãªã¢ */
+	h8s_sci_and( siopcb->siopinib, SSR, ~TDRE );
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+h8s_sci_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  SIOã¬ã¸ã¹ã¿åæåã«ã¼ãã³
+ */
+void
+h8s_sci_init_siopinib( const SIOPINIB  *siopinib )
+{
+	/*
+	 * SCIã¬ã¸ã¹ã¿ã®åæå
+	 */
+
+	/* éåä¿¡åæ­¢ */
+	h8s_sci_and( siopinib, SCR, ~( TE | RE ) );
+
+	/* ãããé·ãªã©è¨­å® */
+	h8s_sci_wrb( siopinib->reg_base, SMR, siopinib->smr_def );
+
+	/* ãã¼ã¬ã¼ãè¨­å® */
+	h8s_sci_wrb( siopinib->reg_base, BRR, siopinib->boud_brr_def );
+
+	/*
+	 *  å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹é¸æ
+	 *ããã¯ã­ãã¯ã½ã¼ã¹ã¯å
+é¨ã¯ã­ãã¯ãé¸æ
+	 */
+	h8s_sci_and( siopinib, SCR, ~( TIE | RIE | MPIE | TEIE | CKE1 | CKE0 ) );
+
+	/* ãã¼ã¬ã¼ãã®å®å®å(1bitåã®å¾
+ã¡) */
+	sil_dly_nse_long( 1000000000ul / (siopinib->boud_rate) );
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	h8s_sci_and( siopinib, SSR, ~( ORER | FER | PER ) );	/* ä¿®æ­£ */
+
+	/* éåä¿¡è¨±å¯ãåä¿¡å²è¾¼ã¿è¨±å¯ */
+	h8s_sci_or( siopinib, SCR, ( RIE | TE | RE ) );
+}
+
+
+/*
+ *  SCI0ã®è¨­å®ã«çç¾ããªãããã§ãã¯
+ */
+#if defined(OMIT_SCI0) && (POL_PORTID == 1)
+#error h8s_sci_putchar_pol serial port ID error.
+#endif
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ãã¼ãã¼åºåç¨ã®åæå
+ */
+void
+h8s_sci_init(void)
+{
+	h8s_sci_init_siopinib( get_siopinib(POL_PORTID) );
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+h8s_sci_openflag(void)
+{
+	BOOL ret;
+#ifndef OMIT_SCI0
+	ret = siopcb_table[0].openflag;
+#else /* OMIT_SCI0 */
+	ret = FALSE;
+#endif /* OMIT_SCI0 */
+
+#if TNUM_SIOP >= 2
+	ret |= siopcb_table[1].openflag;
+#endif /* TNUM_SIOP >= 2 */
+
+#if TNUM_SIOP >= 3
+	ret |= siopcb_table[2].openflag;
+#endif /* TNUM_SIOP >= 3 */
+
+	return(ret);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+h8s_sci_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB 		*siopcb = get_siopcb(siopid);
+	const SIOPINIB  *siopinib = siopcb->siopinib;
+
+	/* SCIã¬ã¸ã¹ã¿ã®åæå */
+	h8s_sci_init_siopinib( siopinib );
+
+	/* å²è¾¼ã¿ã¬ãã«è¨­å®ãå²è¾¼ã¿è¦æ±ã¯ãªã¢ã¯ãsio_opn_por ã§è¡ãã */
+
+	siopcb->exinf = exinf;
+	siopcb->getready = siopcb->putready = FALSE;
+	siopcb->openflag = TRUE;
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+h8s_sci_cls_por(SIOPCB *siopcb)
+{
+	/* TEND ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopcb->siopinib->reg_base, SSR ) & TEND ) );
+
+	h8s_sci_and( siopcb->siopinib, SCR, ~( TE | RE ) );	/* ä¿®æ­£ */
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+h8s_sci_snd_chr(SIOPCB *siopcb, char c)
+{
+	if( h8s_sci_putready(siopcb) ) {
+		h8s_sci_putchar(siopcb, c);
+		siopcb->putready = FALSE;
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+h8s_sci_rcv_chr(SIOPCB *siopcb)
+{
+	if( h8s_sci_getready(siopcb) ) {
+		siopcb->getready = FALSE;
+		return( (INT)(UB) h8s_sci_getchar(siopcb) );
+			/* UB ã®ã­ã£ã¹ãã¯ãç¬¦å·æ¡å¼µãé²æ­¢ãããã */
+	}
+
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+h8s_sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		h8s_sci_or( siopcb->siopinib, SCR, TIE );
+		return;
+	case SIO_ERDY_RCV:
+		h8s_sci_or( siopcb->siopinib, SCR, RIE );
+		return;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+h8s_sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch( cbrtn ) {
+	case SIO_ERDY_SND:
+		h8s_sci_and( siopcb->siopinib, SCR, ~TIE );
+		return;
+	case SIO_ERDY_RCV:
+		h8s_sci_and( siopcb->siopinib, SCR, ~RIE );
+		return;
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *ããå
+¨ãã£ãã«å
+±éé¨åãã¤ã³ã©ã¤ã³é¢æ°ã¨ãã¦å®ç¾©ãã¦ãã
+ */
+Inline void
+h8s_scix_isr_in(ID portid)
+{
+	SIOPCB *siopcb = get_siopcb(portid);
+
+	/* åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_rcv( siopcb->exinf );
+	}
+}
+
+Inline void
+h8s_scix_isr_out(ID portid)
+{
+	SIOPCB *siopcb = get_siopcb(portid);
+
+	/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_snd( siopcb->exinf );
+	}
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *ããå
+¨ãã£ãã«å
+±éé¨åãã¤ã³ã©ã¤ã³é¢æ°ã¨ãã¦å®ç¾©ãã¦ãã
+ *
+ *  ã¨ã©ã¼å¦çã¯ãä¸è¨ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã
+ *  ã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼ããã¬ã¼ãã³ã°ã¨ã©ã¼ãããªãã£ã¨ã©ã¼
+ */
+Inline void
+h8s_scix_isr_error(INT portid)
+{
+	SIOPCB *siopcb = get_siopcb(portid);
+
+	if( siopcb->openflag ) {
+		/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+		h8s_sci_and( siopcb->siopinib, SSR, ~( RDRF | ORER | FER | PER ) );
+	}
+}
+
+
+#ifndef OMIT_SCI0
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI0å°ç¨)
+ */
+void
+h8s_sci0_isr_in(void)
+{
+	h8s_scix_isr_in(1);
+}
+
+void
+h8s_sci0_isr_out(void)
+{
+	h8s_scix_isr_out(1);
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI0å°ç¨)
+ */
+void
+h8s_sci0_isr_error(void)
+{
+	h8s_scix_isr_error(1);
+}
+
+#endif /*  OMIT_SCI0  */
+
+#if TNUM_SIOP >=2
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI1å°ç¨)
+ */
+void
+h8s_sci1_isr_in(void)
+{
+	h8s_scix_isr_in(2);
+}
+
+void
+h8s_sci1_isr_out(void)
+{
+	h8s_scix_isr_out(2);
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI1å°ç¨)
+ */
+void
+h8s_sci1_isr_error(void)
+{
+	h8s_scix_isr_error(2);
+}
+#endif /* TNUM_SIOP >=2 */
+
+#if TNUM_SIOP >=3
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI2å°ç¨)
+ */
+void
+h8s_sci2_isr_in(void)
+{
+	h8s_scix_isr_in(3);
+}
+
+void
+h8s_sci2_isr_out(void)
+{
+	h8s_scix_isr_out(3);
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI2å°ç¨)
+ */
+void
+h8s_sci2_isr_error(void)
+{
+	h8s_scix_isr_error(3);
+}
+#endif /* TNUM_SIOP >=3 */
+
+
+/*
+ *  H8S å
+èµ SCI ç¨ãã¼ãªã³ã°åºå (POL_PORTIDå°ç¨ãsys_putcã§å©ç¨)
+ */
+void
+h8s_sci_putchar_pol( char c )
+{
+
+	const SIOPINIB  *siopinib = get_siopinib( POL_PORTID );
+
+	/* TDRE ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopinib->reg_base, SSR ) & TDRE ) );
+
+	h8s_sci_wrb( siopinib->reg_base, TDR, c );
+
+	/* TDREã¯ãªã¢ */
+	h8s_sci_and( siopinib, SSR, ~TDRE );
+
+	/* TEND ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopinib->reg_base, SSR ) & TEND ) );
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sci.h	(revision 26)
@@ -0,0 +1,156 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_SCI_H_
+#define _H8S_SCI_H_
+
+/*
+ *  H8S å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹(SCI)é¢é£ã®å®ç¾©
+ */
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	h8s_sci_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	h8s_sci_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*h8s_sci_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	h8s_sci_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	h8s_sci_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	h8s_sci_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	h8s_sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	h8s_sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*  æªå®æãä¸è¦ï¼  */
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	h8s_sci_isr_in(void);
+extern void	h8s_sci_isr_out(void);
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	h8s_sci_isr_error(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	h8s_sci_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	h8s_sci_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+extern void	h8s_sci_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+extern void	h8s_sci_putchar_pol(char c);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _H8S_SCI_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.c	(revision 26)
@@ -0,0 +1,131 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: h8s_sil.c,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+/*
+ * ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼è¿½å é¨åï¼
+ *ããI/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¸ã®ã¢ã¯ã»ã¹
+ *ããH8Sã®DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããããã®ã¾ã¾ã§ã¯ææã®ãããã ãã
+ *ããå¤æ´ãããã¨ãã§ããªããï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ *ãããã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®
+ *ããç¾å¨å¤ãä¿æããæ¹æ³ãæ¡ã£ã¦ããã
+ *ãã
+ *ãããã¼ãï¼ã«DDRã¯ãªããããæ¬ çªã«ãã¦ããã
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*  ã¡ã¢ãªä¸ã®ãã³ãã©ãªé å  */
+static UB ddr_tmp[] = {
+        P1DDR0, P2DDR0, P3DDR0, P5DDR0, 	/*  ãã¼ãï¼ã¯æ¬ çª  */
+        P6DDR0, P7DDR0, P8DDR0, P9DDR0, 
+        PADDR0, PBDDR0, PCDDR0, PDDDR0, PEDDR0, 
+        PFDDR0, PGDDR0
+};
+
+/*  
+ *ãåãã¼ãã®ã¢ãã¬ã¹  
+ *ãããã¢ãã¬ã¹ã®ä¸ä½16ããããä¿æããã
+ */
+static const UH ddr_adr[] = {
+        P1DDR, P2DDR, P3DDR, P5DDR,  		/*  ãã¼ãï¼ã¯æ¬ çª  */
+        P6DDR, P7DDR, P8DDR, P9DDR, 
+        PADDR, PBDDR, PCDDR, PDDDR, PEDDR,
+        PFDDR, PGDDR
+};
+
+
+/*
+ *      DDRã®èª­ã¿åºã
+ */
+UB sil_reb_ddr(IO_PORT_ID port)
+{
+	assert(port <= TNUM_IO_PORT);
+	return ddr_tmp[port];
+}
+
+/*
+ *      DDRã®æ¸ãè¾¼ã¿
+ */
+void sil_wrb_ddr(IO_PORT_ID port, UB data)
+{
+	assert(port <= TNUM_IO_PORT);
+	ddr_tmp[port] = data;
+	h8s_wrb_reg(ddr_adr[port], (VB)data);
+}
+
+/*
+ *      DDRã®ANDæ¼ç®
+ */
+void sil_anb_ddr(IO_PORT_ID port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+        
+	ddr &= data;
+	sil_wrb_ddr(port, ddr);
+}
+
+/*
+ *      DDRã®ORæ¼ç®
+ */
+void sil_orb_ddr(IO_PORT_ID port, UB data)
+{
+	UB ddr = sil_reb_ddr(port);
+
+	ddr |= data;
+	sil_wrb_ddr(port, ddr);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_sil.h	(revision 26)
@@ -0,0 +1,93 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_SIL_H_
+#define _H8S_SIL_H_
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  H8Så
+é¨ã¬ã¸ã¹ã¿ã»ã¢ã¯ã»ã¹ã¤ã³ã¿ãã§ã¼ã¹
+ *ãããã¼ã¹ã¢ãã¬ã¹H8S_BASE_ADDRã¯h8s.hã§å®ç¾©ãã
+ *ããCPUåä½ã¢ã¼ãã«ãããä½¿ãåããã
+ */
+
+/*
+ *  ãã¼ã¹ã¢ãã¬ã¹ã®å ç®
+ *ããUHã§ã­ã£ã¹ããã¦ããã®ã¯ãï¼ã¤ã®æå³ãããã
+ *ãããã»ä¸ä½16ããããåãåºã
+ *ãããã»å ç®ã®éã®ç¬¦å·æ¡å¼µãé²ã
+ */
+#define ADD_BASE_ADDR(addr)	(VP)(H8S_BASE_ADDR + (UW)(UH)(addr))
+
+/*  ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹  */
+#define h8s_reb_reg(addr)	sil_reb_mem(ADD_BASE_ADDR(addr) )
+#define h8s_wrb_reg(addr, val)	sil_wrb_mem(ADD_BASE_ADDR(addr), (VB)(val))
+
+#define h8s_reh_reg(addr)	sil_reh_mem(ADD_BASE_ADDR(addr) )
+#define h8s_wrh_reg(addr, val)	sil_wrh_mem(ADD_BASE_ADDR(addr), (VH)(val))
+
+/*
+ *  è«çæ¼ç®
+ */
+#define h8s_orb_reg(addr, val)	h8s_wrb_reg(addr, h8s_reb_reg(addr) | (val))
+#define h8s_andb_reg(addr, val) h8s_wrb_reg(addr, h8s_reb_reg(addr) & (val))
+
+#define h8s_orh_reg(addr, val)	h8s_wrh_reg(addr, h8s_reh_reg(addr) | (val))
+#define h8s_andh_reg(addr, val)	h8s_wrh_reg(addr, h8s_reh_reg(addr) & (val))
+
+#endif /* _H8S_SIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_tpu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_tpu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/h8s_tpu.h	(revision 26)
@@ -0,0 +1,217 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_TPU_H_
+#define _H8S_TPU_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+
+/*
+ *  H8Så
+èµ16ãããã¿ã¤ããã«ã¹ã¦ããã(TPU)é¢é£ã®å®ç¾©
+ */
+
+/* TPUå
+ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+
+/* ãã£ãã«ï¼ */
+#define TCR0		0xffd0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR0		0xffd1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR0H		0xffd2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¨ */
+#define TIOR0L		0xffd3		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¬ */
+#define TIER0		0xffd4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR0		0xffd5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT0		0xffd6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR0A		0xffd8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR0B		0xffda		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+#define TGR0C		0xffdc		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼£ */
+#define TGR0D		0xffde		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¤ */
+
+/* ãã£ãã«ï¼ */
+#define TCR1		0xffe0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR1		0xffe1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR1		0xffe2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER1		0xffe4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR1		0xffe5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT1		0xffe6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR1A		0xffe8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR1B		0xffea		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR2		0xfff0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR2		0xfff1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR2		0xfff2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER2		0xfff4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR2		0xfff5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT2		0xfff6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR2A		0xfff8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR2B		0xfffa		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR3		0xfe80		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR3		0xfe81		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR3H		0xfe82		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¨ */
+#define TIOR3L		0xfe83		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¬ */
+#define TIER3		0xfe84		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR3		0xfe85		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT3		0xfe86		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR3A		0xfe88		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR3B		0xfe8a		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+#define TGR3C		0xfe8c		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼£ */
+#define TGR3D		0xfe8e		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¤ */
+
+/* ãã£ãã«ï¼ */
+#define TCR4		0xfe90		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR4		0xfe91		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR4		0xfe92		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER4		0xfe94		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR4		0xfe95		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT4		0xfe96		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR4A		0xfe98		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR4B		0xfe9a		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR5		0xfea0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR5		0xfea1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR5		0xfea2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER5		0xfea4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR5		0xfea5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT		0xfea6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR5A		0xfea8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR5B		0xfeaa		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* å
+±é */
+#define TSTR		0xffc0		/* ã¿ã¤ãã¹ãã¼ãã¬ã¸ã¹ã¿ */
+#define TSYR		0xffc1		/* ã¿ã¤ãã·ã³ã¯ã­ã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* TCR */
+#define CCLR2		BIT7		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define CCLR1		BIT6
+#define CCLR0		BIT5
+#define CKEG1		BIT4
+#define CKEG0		BIT3
+#define TPSC2		BIT2
+#define TPSC1		BIT1
+#define TPSC0		BIT0
+
+/* TMDR */
+#define BFB		BIT5		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define BFA		BIT4		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define MD3		BIT3
+#define MD2		BIT2
+#define MD1		BIT1
+#define MD0		BIT0
+
+/* TIOR */
+/* TIORxãã¾ãã¯ãTIORxH */
+#define IOB3		BIT7
+#define IOB2		BIT6
+#define IOB1		BIT5
+#define IOB0		BIT4
+#define IOA3		BIT3
+#define IOA2		BIT2
+#define IOA1		BIT1
+#define IOA0		BIT0
+
+/* TIORxL */
+#define IOD3		BIT7
+#define IOD2		BIT6
+#define IOD1		BIT5
+#define IOD0		BIT4
+#define IOC3		BIT3
+#define IOC2		BIT2
+#define IOC1		BIT1
+#define IOC0		BIT0
+
+/* TIER */
+#define TTGE		BIT7
+#define TCIEU		BIT5		/* ãã£ãã«ï¼ï¼ï¼ï¼ï¼ï¼ï¼ã®ã¿ */
+#define TCIEV		BIT4
+#define TGIED		BIT3		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGIEC		BIT2		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGIEB		BIT1
+#define TGIEA		BIT0
+
+/* TSR */
+#define TCFD		BIT7
+#define TCFU		BIT5		/* ãã£ãã«ï¼ï¼ï¼ï¼ï¼ï¼ï¼ã®ã¿ */
+#define TCFV		BIT4
+#define TGFD		BIT3		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGFC		BIT2		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGFB		BIT1
+#define TGFA		BIT0
+
+/* TCNT, TGR */
+/* å®ç¾©ãã¹ããã®ã¯ãç¹ã«ç¡ã */
+
+/* TSTR */
+#define CST5		BIT5
+#define CST4		BIT4
+#define CST3		BIT3
+#define CST2		BIT2
+#define CST1		BIT1
+#define CST0		BIT0
+
+/* TSYR */
+#define SYNC5		BIT5
+#define SYNC4		BIT4
+#define SYNC3		BIT3
+#define SYNC2		BIT2
+#define SYNC1		BIT1
+#define SYNC0		BIT0
+
+#endif /* _H8S_TPU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.cfg	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ * SCI ãã©ã¤ã ( H8S-2350 ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+
+/* ãã¼ã1 */
+#ifndef OMIT_SCI0
+DEF_INH(INHNO_SERIAL1_IN,  { TA_HLNG, sio1_handler_in  });
+DEF_INH(INHNO_SERIAL1_OUT, { TA_HLNG, sio1_handler_out });
+DEF_INH(INHNO_SERIAL1_ERROR, { TA_HLNG, sio1_handler_error });
+#endif 	/*  OMIT_SCI0  */
+
+/* ãã¼ã2 */
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio2_handler_in  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio2_handler_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio2_handler_error });
+#endif /* TNUM_SIOP >= 2 */
+
+/* ãã¼ã3 */
+#if TNUM_SIOP >= 3
+DEF_INH(INHNO_SERIAL3_IN,  { TA_HLNG, sio3_handler_in  });
+DEF_INH(INHNO_SERIAL3_OUT, { TA_HLNG, sio3_handler_out });
+DEF_INH(INHNO_SERIAL3_ERROR, { TA_HLNG, sio3_handler_error });
+#endif /* TNUM_SIOP >= 3 */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_serial.h	(revision 26)
@@ -0,0 +1,273 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼H8Sãã¡ããªã¼ç¨ï¼
+ */
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <h8s_sci.h>
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+/* ãã¼ã1 */
+#ifndef OMIT_SCI0
+#define INHNO_SERIAL1_ERROR	IRQ_ERI0
+#define INHNO_SERIAL1_IN	IRQ_RXI0
+#define INHNO_SERIAL1_OUT	IRQ_TXI0
+#endif /* OMIT_SCI0 */
+
+#if TNUM_PORT >= 2
+/* ãã¼ã2 */
+#define INHNO_SERIAL2_ERROR	IRQ_ERI1
+#define INHNO_SERIAL2_IN	IRQ_RXI1
+#define INHNO_SERIAL2_OUT	IRQ_TXI1
+#endif /* TNUM_PORT */
+
+#if TNUM_PORT >= 3
+/* ãã¼ã3 */
+#define INHNO_SERIAL3_ERROR	IRQ_ERI2
+#define INHNO_SERIAL3_IN	IRQ_RXI2
+#define INHNO_SERIAL3_OUT	IRQ_TXI2
+#endif /* TNUM_PORT */
+
+
+/*
+ *  ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ãããå®ç¾©
+ */
+#ifndef OMIT_SCI0
+
+#if TNUM_SIOP == 1
+#define MSTPCR_SCI	MSTPCR_SCI0
+#endif /* TNUM_SIOP == 1 */
+
+#if TNUM_SIOP == 2
+#define MSTPCR_SCI	(MSTPCR_SCI0 | MSTPCR_SCI1)
+#endif /* TNUM_SIOP == 2 */
+
+#if TNUM_SIOP == 3
+#define MSTPCR_SCI	(MSTPCR_SCI0 | MSTPCR_SCI1 | MSTPCR_SCI2)
+#endif /* TNUM_SIOP == 3 */
+
+#else /* OMIT_SCI0 */
+
+#if TNUM_SIOP == 1
+#error Invalid serial port ID.
+#endif /* TNUM_SIOP == 1 */
+
+#if TNUM_SIOP == 2
+#define MSTPCR_SCI	MSTPCR_SCI1
+#endif /* TNUM_SIOP == 2 */
+
+#if TNUM_SIOP == 3
+#define MSTPCR_SCI	(MSTPCR_SCI1 | MSTPCR_SCI2)
+#endif /* TNUM_SIOP == 3 */
+
+#endif /* OMIT_SCI0 */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize		h8s_sci_initialize
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+#define sio_init		h8s_sci_init
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããã
+	 */
+	openflag = h8s_sci_openflag();
+
+	/*
+	 * ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤
+	 */
+	h8s_andh_reg( (VP) MSTPCR, ~MSTPCR_SCI );
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦ç
+	 */
+	siopcb = h8s_sci_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ããã
+	 */
+	if (!openflag) {
+		/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+#ifndef OMIT_SCI0
+		icu_set_ilv( IPRJ, IPR_LOW, SCI0_INT_LVL );
+#endif 	/*  OMIT_SCI0  */
+
+#if TNUM_SIOP >= 2
+		icu_set_ilv( IPRK, IPR_UPR, SCI1_INT_LVL );
+#endif /* TNUM_SIOP >= 2 */
+
+#if TNUM_SIOP >= 3
+		icu_set_ilv( IPRK, IPR_LOW, SCI0_INT_LVL );
+#endif /* TNUM_SIOP >= 3 */
+
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦ç
+	 */
+	h8s_sci_cls_por(siopcb);
+
+	/*
+	 *  ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãã»ãã
+	 */
+	h8s_orh_reg( (VP) MSTPCR,   MSTPCR_SCI);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããã
+	 */
+	if (!h8s_sci_openflag()) {
+		/* å²è¾¼ã¿ãã¹ã¯å¦ç */
+		icu_set_ilv( IPRJ, IPR_LOW, 0 );
+#if TNUM_SIOP >= 2
+		icu_set_ilv( IPRK, IPR_UPR, 0 );
+#endif /* TNUM_SIOP >= 2 */
+
+#if TNUM_SIOP >= 3
+		icu_set_ilv( IPRK, IPR_LOW, 0 );
+#endif /* TNUM_SIOP >= 3 */
+
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_in    : åä¿¡å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_out   : éä¿¡å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_error : åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©
+ */
+/* ãã¼ã1 */
+#define	sio1_handler_in		h8s_sci0_isr_in
+#define	sio1_handler_out	h8s_sci0_isr_out
+#define	sio1_handler_error	h8s_sci0_isr_error
+
+#if TNUM_SIOP >= 2
+/* ãã¼ã2 */
+#define	sio2_handler_in		h8s_sci1_isr_in
+#define	sio2_handler_out	h8s_sci1_isr_out
+#define	sio2_handler_error	h8s_sci1_isr_error
+#endif /* TNUM_SIOP >= 2 */
+
+#if TNUM_SIOP >= 3
+/* ãã¼ã3 */
+#define	sio3_handler_in		h8s_sci2_isr_in
+#define	sio3_handler_out	h8s_sci2_isr_out
+#define	sio3_handler_error	h8s_sci2_isr_error
+#endif /* TNUM_SIOP >= 3 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		h8s_sci_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#define	sio_snd_chr_pol		h8s_sci_putchar_pol
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		h8s_sci_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		h8s_sci_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		h8s_sci_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd		h8s_sci_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv		h8s_sci_ierdy_rcv
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/hw_timer.h	(revision 26)
@@ -0,0 +1,208 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <h8s_tpu.h>
+
+/*
+ *   ã¿ã¤ããã©ã¤ãï¼H8Sãã¡ããªã¼ç¨ï¼
+ *     H8Sãã¡ããªã¼ã«ã¯ãTPU(16bitã¿ã¤ã) ã¨ 8bitã¿ã¤ã ã®ï¼ç¨®é¡ãæ­è¼
+ *     ããã¦ããããã®æ­è¼æ¬æ°ã¯ãåãã­ã»ããµã«ããç°ãªãã
+ *     æ¬å®è£
+ã§ã¯ãTPU(16bitã¿ã¤ã) ãå©ç¨ãã¦ãããï¼ç¹ã«ãã£ã³ãã«ï¼ï¼
+ *     ä»ã®H8Sãã­ã»ããµã«ããã¦ã8bitã¿ã¤ã ãå©ç¨ããå ´åã¯ãå¤æ´ã
+ *     è¡ãå¿
+è¦ãããã
+ */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	IRQ_TGI0A
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+#endif	/* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ *  	jsp/kernel/time_manage.cã§ãä½¿ç¨
+ */
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ */
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤
+ *	ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ *	æ³¨æï¼æ¬å½ã¯åå¨ã¯ã­ãã¯ã«ä¾å­ï¼
+ */
+
+#define GET_TOLERANCE	100u
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/* ãã£ãã«ï¼ã®å²ãè¾¼ã¿è¦æ±ã¯ãªã¢ (TGFA = 0) */
+	h8s_andb_reg( (VP) TSR0, ~TGFA );
+}
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *    ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤ */
+	h8s_andh_reg( (VP) MSTPCR, ~MSTPCR_TPU );
+
+	/* ãã£ãã«ï¼ã®åä½åæ­¢ */
+	h8s_andb_reg( (VP) TSTR, ~CST0 );
+
+	/* TCR ã®è¨­å®
+	   ã»TGRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢(CCLR = 1)
+	   ã»ç«ã¡ä¸ããã¨ãã¸ã§ã«ã¦ã³ã(CKEG1,0 = 0)
+	ã ã»å
+é¨ã¯ã­ãã¯Ï/4ã§ã«ã¦ã³ã(åå¨æ¯è¨­å®ï¼TPSC0 =1) */
+	h8s_wrb_reg( (VP) TCR0, (CCLR0 | TPSC0) );
+
+	/* TIER ã®è¨­å®
+	   ã»TGFAãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+	h8s_wrb_reg( (VP) TIER0, TGIEA );
+
+	/* TIOR ã®è¨­å®
+	   ã»TGRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+	/* è¨­å®ãã¹ããã®ã¯ç¡ãã */
+
+	/* TGR0A ã®è¨­å®
+	   ã»TGRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼*/
+	h8s_wrh_reg( (VP) TGR0A, CLOCK_PER_TICK );
+
+	h8s_wrh_reg( (VP) TCNT0, 0 );		/* ã«ã¦ã³ã¿ãã¯ãªã¢ */
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	icu_set_ilv( IPRF, IPR_UPR, TPU0_INT_LVL );
+						/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+	hw_timer_int_clear();			/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	/* ãã£ãã«ï¼ã®åä½éå§ */
+	h8s_orb_reg( (VP) TSTR, CST0 );
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* ãã£ãã«ï¼ã®åä½åæ­¢ */
+	h8s_andb_reg( (VP) TSTR, ~CST0 );
+
+	hw_timer_int_clear();			/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *    å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	/* ã¢ããã«ã¦ã³ã¿ãªã®ã§ */
+	return( (CLOCK) h8s_reh_reg( (VP) TCNT0 ) );
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return( h8s_reb_reg( (VP) TSR0 ) & TGFA );
+}
+
+#endif	/* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/makeoffset.c	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: makeoffset.c,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#define OFFSETOF(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+/*  OFFSET_DEF()ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define INTERFACE1(TYPE, FIELD)                                         \
+          INT JOINT4(OFFSET_DEF_,TYPE,_,FIELD)(void)
+
+#define OFFSET_DEF(TYPE, FIELD)                                         \
+          extern INTERFACE1(TYPE, FIELD);                               \
+          INTERFACE1(TYPE, FIELD)                                       \
+          {                                                             \
+                return OFFSETOF(TYPE, FIELD);                           \
+          }
+
+/*  OFFSET_DEF2()ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define INTERFACE2(TYPE, FIELD, FIELDNAME)                              \
+          INT JOINT4(OFFSET_DEF_,TYPE,_,FIELDNAME)(void)
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)                             \
+          extern INTERFACE2(TYPE, FIELD, FIELDNAME);                    \
+          INTERFACE2(TYPE, FIELD, FIELDNAME)                            \
+          {                                                             \
+                return OFFSETOF(TYPE, FIELD);                           \
+          }
+
+#define BIT_LABEL(TYPE, FIELD)  JOINT4(BIT_FIELD_OFFSET_,TYPE,_,FIELD)
+
+
+OFFSET_DEF (TCB, tinib)
+OFFSET_DEF2(TCB, tskctxb.sp, sp)
+OFFSET_DEF2(TCB, tskctxb.pc, pc)
+OFFSET_DEF (TINIB, task)
+OFFSET_DEF (TINIB, exinf)
+OFFSET_DEF (TCB, texptn)
+
+
+TCB     BIT_LABEL(TCB, enatex) = {
+                { NULL, NULL }, NULL, 0, 0,
+                FALSE, FALSE, TRUE,
+                0, NULL, { NULL, NULL }
+        };
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/minet_h8s_2339f.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/minet_h8s_2339f.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/minet_h8s_2339f.h	(revision 26)
@@ -0,0 +1,161 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _MINET_H8S_2339F_H_
+#define _MINET_H8S_2339F_H_
+
+/*
+ *  MiSPO MiNET-H8S/2339Fç¨å®ç¾©
+ */
+
+#define MINET_H8S_2339F
+
+/*
+ *  SYSCRã®åæå¤
+ *  ãã»INTM1=1,INTM0=0ï¼å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼
+ *  ãã»NMIEG=0ï¼NMIå
+¥åã®ç«ä¸ãã¨ãã¸ã§å²ãè¾¼ã¿è¦æ±ãçºç
+ *  ãã»IRQPASï¼IRQå
+¥åç«¯å­ã»ã¬ã¯ã
+ *  ãã»RAME=1ï¼å
+èµRAMæå¹
+ */
+#define	SYS_SYSCR	(INT_MODE2 | RAME)
+
+/*
+ *  CPU ã¯ã­ãã¯
+ */
+#define CPU_CLOCK	24576			/* kHzåä½ ï¼24.576MHzï¼*/
+
+/*
+ *  ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯ (å
+é¨ã¯ã­ãã¯Ï/4ã§ã«ã¦ã³ã)
+ */
+#define TIMER_CLOCK	((CPU_CLOCK)/4)		/* kHzåä½ */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®BRRã¬ã¸ã¹ã¿å¤ã®å®ç¾©
+ *    è¨ç®å¼ãç¨ããæ¹æ³ãããããèª¤å·®ã®å¤å®ãå¿
+è¦ãªã®ã§ã
+ *ããåå¥ã«ãã¯ã­å®ç¾©ãã¦ããã
+ *ããBRR_RATEãã¯ã­ã¯ããã¥ã¢ã«ä¸ã®Nã«å¯¾å¿ããã
+ *ããããããn=0ã§ããã
+ *ããBAUD_RATEã¯user_config.hã§å®ç¾©ããã
+ */
+#if CPU_CLOCK != 24576
+#error CPU_CLOCK is invalid value.
+#else /*  CPU_CLOCK != 24576  */
+
+/*  SCI0  */
+#if BAUD_RATE0 == 9600		/* ãããã¬ã¼ãï¼ 9600[bps] */
+	#define BRR0_RATE	79
+#elif BAUD_RATE0 == 19200	/* ãããã¬ã¼ãï¼19200[bps] */
+	#define BRR0_RATE	39
+#elif BAUD_RATE0 == 38400	/* ãããã¬ã¼ãï¼38400[bps] */
+	#define BRR0_RATE	19
+#endif /* BAUD_RATE0 == 9600  */
+
+/*  SCI1  */
+#if BAUD_RATE1 == 9600		/* ãããã¬ã¼ãï¼ 9600[bps] */
+	#define BRR1_RATE	79
+#elif BAUD_RATE1 == 19200	/* ãããã¬ã¼ãï¼19200[bps] */
+	#define BRR1_RATE	39
+#elif BAUD_RATE1 == 38400	/* ãããã¬ã¼ãï¼38400[bps] */
+	#define BRR1_RATE	19
+#endif /* BAUD_RATE1 == 9600  */
+
+/*  SCI1  */
+#if BAUD_RATE2 == 9600		/* ãããã¬ã¼ãï¼ 9600[bps] */
+	#define BRR2_RATE	79
+#elif BAUD_RATE2 == 19200	/* ãããã¬ã¼ãï¼19200[bps] */
+	#define BRR2_RATE	39
+#elif BAUD_RATE2 == 38400	/* ãããã¬ã¼ãï¼38400[bps] */
+	#define BRR2_RATE	19
+#endif /* BAUD_RATE1 == 9600  */
+
+/*
+ *  SCRã¬ã¸ã¹ã¿ã®CKS0,CKS1ããã
+ *ãããã¼ã¬ã¼ãè¨ç®å¼ã®n=0ã«å¯¾å¿
+ *ãããã¼ã¬ã¼ãæ¯ã«å¤ãç°ãªãå ´åãããã®ã§æ³¨æ
+ */
+#define SCR0_CKS		0	/*  SCI0  */
+#define SCR1_CKS		0	/*  SCI1  */
+#define SCR2_CKS		0	/*  SCI2  */
+
+#endif /* CPU_CLOCK != 24576 */
+
+/*
+ *  DDRã¬ã¸ã¹ã¿ã®åæå¤ã®å®ç¾©
+ */
+#define P1DDR0		0xf0
+#define P2DDR0		DUMMY
+#define P3DDR0		DUMMY
+/*  ãã¼ãï¼ã¯DDRããªããããæ¬ çª  */
+#define P5DDR0		DUMMY
+#define P6DDR0		0xc3
+#define P7DDR0		DUMMY
+#define P8DDR0		DUMMY
+#define P9DDR0		0xe0
+#define PADDR0		0xff
+#define PBDDR0		0xff
+#define PCDDR0		0xff
+#define PDDDR0		DUMMY
+#define PEDDR0		DUMMY
+#define PFDDR0		0xff
+#define PGDDR0		0x1f
+
+
+
+
+#endif /* _MINET_H8S_2339F_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.c	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include <jsp_kernel.h>
+#include <hw_serial.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize(void)
+{
+	/*
+	 * ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤
+	 */
+#if TNUM_SIOP < 2
+	h8s_andh_reg( (VP) MSTPCR, ~( BIT5 ) );
+#else /* TNUM_SIOP < 2 */
+	h8s_andh_reg( (VP) MSTPCR, ~( BIT6 | BIT5 ) );
+#endif /* TNUM_SIOP < 2 */
+
+	/*
+	 *  ããã¼è¡¨ç¤ºç¨ã·ãªã¢ã«ãã¼ãã®åæå
+	 */
+	sio_init();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+void
+sys_exit(void)
+{
+	while (1);
+}
+
+#define	h8s_putc(c)	sio_snd_chr_pol(c)	/* ã·ãªã¢ã«ãã¼ãã¸ã®ãã¼ãªã³ã°åºå */
+
+/*   print_banner()  */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		h8s_putc('\r');
+	}
+	h8s_putc(c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+ */
+#include <user_config.h>
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®èª­ã¿è¾¼ã¿
+ */
+#include <h8s2339f.h>
+#include <minet_h8s_2339f.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_config.inc	(revision 26)
@@ -0,0 +1,97 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: sys_config.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+ .AIFDEF _SYS_CONFIG_INC_
+ .AELSE
+
+_SYS_CONFIG_INC_: .DEFINE ""
+
+        .INCLUDE "user_config.inc"
+        .INCLUDE "h8s2339f.inc"
+
+;
+; å
+èµã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ä¸ä½2ãã¤ã
+;ããCPUåä½ã¢ã¼ãã«ããã¢ãã¬ã¹ç©ºéãç°ãªãã
+;
+H8S_BASE_ADDR:          .DEFINE         "H'ff0000"
+
+;
+; sil_dly_nse_longsã§ç¨ããå®æ°
+; 
+
+ .AIFDEF RAM        ;ããããã°æã«RAMä¸ã§å®è¡ããå ´å
+SIL_DLY_TIM1:           .DEFINE         "3630"
+SIL_DLY_TIM2:           .DEFINE          "640"
+
+ .AELSE             ;ãROMåã®å ´å
+
+SIL_DLY_TIM1:           .DEFINE         "1950"
+SIL_DLY_TIM2:           .DEFINE          "200"
+
+ .AENDI ;  RAM
+
+; ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å
+é ­ã¢ãã¬ã¹
+HARDWARE_INIT_HOOK:     .DEFINE         "_hardware_init_hook"
+
+; ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªã®ï¼åæåé¢æ°ã®å
+é ­ã¢ãã¬ã¹
+; ãä½¿ç¨ããå ´åã¯ã³ã¡ã³ããå¤ã
+; SOFTWARE_INIT_HOOK:   .DEFINE         "_software_init_hook"
+
+ .AENDI ;  _SYS_CONFIG_INC_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_defs.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã¿ã¤ã
+ */
+#define H8S_2339F
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ãããã¼ãå
+ */
+#define	TARGET_NAME	"MiSPO MiNET-H8S/2339F"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UW	SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern	ER	vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+
+Inline void
+kernel_abort(void)
+{
+	while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+sys_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_rename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define sys_putc		_kernel_sys_putc
+
+#ifdef LABEL_ASM
+
+#define _sys_putc		__kernel_sys_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_support.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_support.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_support.src	(revision 26)
@@ -0,0 +1,186 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: sys_support.src,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;       ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+;       ï¼MiSPO MiNET-H8S/2339Fç¨ï¼
+
+        .CPU 2000A
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config.inc"
+        .INCLUDE "cpu_config.inc"
+
+        .IMPORT _clear_b_section
+
+;
+;ãããã®ãã¼ãã®å ´åã¯å
+èµRAMãã¹ã¿ãã¯ã«ãã¦ã
+;ãã_hardware_init_hookãå¼ã³åºãããã
+;
+        .GLOBAL _hardware_init_hook
+_hardware_init_hook:
+
+ .AIFDEF RAM
+        ;ããããã°æã«RAMä¸ã«ãã¦ã³ã­ã¼ãããå ´åã¯
+        ;ããã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®è¨­å®ãè¡ããªãã
+        ;ãï¼ãããã°ãã¼ã«ãè¨­å®ãããï¼
+
+ .AELSE
+
+;
+;ããã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®è¨­å®
+;
+
+	;ãå®æ°ã®æºå
+	mov.b #0, r0l
+	mov.b #H'ff, r1l
+
+	;ãCS7ãCS0ãã¹ã¦16ãããå¹
+
+	mov.b r0l, @(ABWCR+H8S_BASE_ADDR)
+	
+	;ãCS7ãCS0ãã¹ã¦3ã¹ãã¼ããã¦ã§ã¤ãæ¿å
+¥è¨±å¯
+	mov.b r1l, @(ASTCR+H8S_BASE_ADDR)
+	
+	;ãCS6ã®ã¿ãã­ã°ã©ã  2ã¦ã§ã¤ãæ¿å
+¥
+	mov.b #H'20, r2l
+	mov.b r2l, @(WCRH+H8S_BASE_ADDR)
+
+	;ãCS3ãCS0ã¯ãã­ã°ã©ã ã¦ã§ã¤ãæ¿å
+¥ãªã
+	mov.b r0l, @(WCRL+H8S_BASE_ADDR)
+
+	;ãã¢ã¤ãã«æ¿å
+¥ãCS2ãCS5ã¯éå¸¸ç©ºé
+	mov.b #H'd0, r2l
+	mov.b r2l, @(BCRH+H8S_BASE_ADDR)
+
+	;ãBREQ0ç«¯å­ã¯ç¡å¹ãEAE=0,WAITå
+¥åè¨±å¯
+	mov.b #H'1d, r2l
+	mov.b r2l, @(BCRL+H8S_BASE_ADDR)
+
+	;ããã¼ã6ï¼ãã¹ã¦'H'
+	mov.b r1l, @(P6DR+H8S_BASE_ADDR)
+
+	;ãP67,P66,P61,P60ã¯åºåãä»ã¯å
+¥å
+	mov.b #H'c3, r2l
+	mov.b r2l, @(P6DDR+H8S_BASE_ADDR)
+
+	;ããã¼ã9ï¼ãã¹ã¦'H'
+	mov.b r1l, @(P9DR+H8S_BASE_ADDR)
+
+	;ãP97ãP95ã¯åºåãP94ãP92ã¯å
+¥å
+	mov.b #H'e0, r2l
+	mov.b r2l, @(P9DDR+H8S_BASE_ADDR)
+
+	;ãPA7ãPA4ã¯'H'
+	mov.b #H'f0, r2l
+	mov.b r2l, @(PADR+H8S_BASE_ADDR)
+
+	;ããã¼ãAï¼ãã¹ã¦åºå
+	mov.b r1l, @(PADDR+H8S_BASE_ADDR)
+
+	;ãA23ãA20ã¯PA7ãPA4åºåã«è¨­å®
+	mov.b r0l, @(PFCR1+H8S_BASE_ADDR)
+
+	;ããã¼ãBï¼ãã¹ã¦ã¢ãã¬ã¹åºå
+	mov.b r1l, @(PBDDR+H8S_BASE_ADDR)
+
+	;ããã¼ãCï¼ãã¹ã¦ã¢ãã¬ã¹åºå
+	mov.b r1l, @(PCDDR+H8S_BASE_ADDR)
+
+	;ããã¼ãGï¼ãã¹ã¦'H'
+	mov.b r1l, @(PGDR+H8S_BASE_ADDR)
+
+	;ããã¼ãGï¼ãã¹ã¦åºå
+	mov.b #H'1f, r2l
+	mov.b r2l, @(PGDDR+H8S_BASE_ADDR)
+
+	;ãã¯ã­ãã¯åºåãPF2ãPF0ã¯åºå
+	mov.b r1l, @(PFDDR+H8S_BASE_ADDR)
+
+	;ãå
+èµRAMæå¹
+	mov.b #H'01, r2l
+	mov.b r2l, @(SYSCR+H8S_BASE_ADDR)
+
+	;ãP86=nWAITå
+¥åãCS7ãCS1ç«¯å­æå¹ãASç«¯å­æå¹
+	mov.b #H'30, r2l
+	mov.b r2l, @(PFCR2+H8S_BASE_ADDR)
+
+	;ãDMAC, DTC, TPU, TMR SCIã¢ã¸ã¥ã¼ã«ON
+	mov.w #H'0f1f, r2
+	mov.w r2, @(MSTPCR+H8S_BASE_ADDR)
+
+	;ããã¼ã1ï¼ãã¹ã¦'L'
+	mov.b r0l, @(P1DR+H8S_BASE_ADDR)
+
+	;ãP17ãP14åºåãP13ãP10å
+¥å
+	mov.b #H'f0, r2l
+	mov.b r2l, @(P1DDR+H8S_BASE_ADDR)
+
+ .AENDI ;  RAM
+
+        jmp @_clear_b_section
+
+        .END
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_tool_defs.h	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sys_tool_defs.h,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+/*
+ *ããã¼ãæ¯ã®ãããã°ç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *ããã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼tool_defs.hã®å
+é ­ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *ãä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤ã³ã¯ã«ã¼ã
+ *ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«ä¾å­ã
+ *ãã¦ã¯ãªããªãï¼
+ *ã
+ *ãä¾ãã°ãJTAGãããã¬ã¨ã·ãªã¢ã«ãã¼ããç«¶åããå ´åã¯ããã®ãã¡ã¤ã«
+ *ãã«å¿
+è¦ãªãã¯ã­ãå®ç¾©ããã
+ */
+
+#ifndef _SYS_TOOL_DEFS_H_
+#define _SYS_TOOL_DEFS_H_
+
+#define OMIT_SCI0
+
+/*===================================================================
+ *   ãããã°ç¨ã³ã¼ã  
+ *===================================================================*/
+
+#if 0
+#define TEST_CPU_INSN
+#define TEST_CPU_CONFIG
+#define TEST_H8S_SIL
+#endif
+
+/*===================================================================*/
+
+#endif /* _SYS_TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/sys_unrename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef sys_putc
+
+#ifdef LABEL_ASM
+
+#undef _sys_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.h	(revision 26)
@@ -0,0 +1,157 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: user_config.h,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+ */
+
+/*
+ *  chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+ *ããã¢ã»ã³ãã©ç¨ã®user_config.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#define SUPPORT_CHG_IPM
+
+/*
+ *  vxget_timããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define SUPPORT_VXGET_TIM
+
+/*
+ *  ã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®æé«åªå
+ã¬ãã«
+ *ããã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿
+ *ããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ ï¼ ãã©ã¤ãªãªãã£ã¬ãã«(MAX_IPM+1)
+ *ãããããããããããããããä»¥ä¸ã®å²è¾¼ã¿ã¨NMI
+ *
+ *ãããuser_config.incã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+ */
+#define MAX_IPM                 0x7u
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®è¨­å®
+ */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ * 
+ *ãå°æ¥ã®æ¡å¼µæ§ã®ãããä»¥ä¸ã®ããã«å®ç¾©ãã¦ããããç¾å¨ã®å®è£
+ã§ã¯å®è³ªçãª
+ *ãéãã¯ãªãã
+ *
+ * TNUM_PORT : ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼ããã
+ * ããããããã·ãªã¢ã«ãã¼ãã®æ° 
+ * TNUM_SIOP : PDICã¬ãã«ï¼ãã­ã»ããµå
+èµSIOï¼ã§ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ã
+ *ãããããã ã®æ°ï¼ç¾å¨ã®å®è£
+ã§ã¯æå¤§3ï¼
+ */
+
+#define TNUM_PORT	3u
+#define	TNUM_SIOP	3u	/*  ç¾å¨ã®å®è£
+ã§ã¯æå¤§3  */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	2	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  ä½ã¬ãã«åºåï¼ãã¼ãªã³ã°åºåï¼ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	POL_PORTID	3
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãã®è¨­å® [bps]
+ */
+#define BAUD_RATE0	38400	/*  SCI0  */
+#define BAUD_RATE1	38400	/*  SCI1  */
+#define BAUD_RATE2	38400	/*  SCI2  */
+#if 0
+#define BAUD_RATE0	 9600
+#define BAUD_RATE1	 9600
+#define BAUD_RATE2	 9600
+#define BAUD_RATE0	19200
+#define BAUD_RATE1	19200
+#define BAUD_RATE2	19200
+#endif
+
+/*
+ *  ã¿ã¤ãã®è¨­å®
+ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+
+#define TIC_NUME        1u               /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define TIC_DENO        1u               /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«å®ç¾©
+ */
+#define SCI0_INT_LVL	3u		/* SCIãã£ãã«0ã®å²ãè¾¼ã¿ã¬ãã« */
+#define SCI1_INT_LVL	3u		/* SCIãã£ãã«1ã®å²ãè¾¼ã¿ã¬ãã« */
+#define SCI2_INT_LVL	3u		/* SCIãã£ãã«2ã®å²ãè¾¼ã¿ã¬ãã« */
+#define TPU0_INT_LVL	5u		/* TPUãã£ãã«0ã®å²ãè¾¼ã¿ã¬ãã« */
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/minet_h8s_2339f/user_config.inc	(revision 26)
@@ -0,0 +1,89 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: user_config.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;
+;ãã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+;
+
+ .AIFDEF _USER_CONFIG_INC_
+ .AELSE
+
+_USER_CONFIG_INC_: .DEFINE ""
+
+;  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
+STACKTOP:               .DEFINE         "(H'fffc00-4)" ; å
+èµRAM
+
+;ãã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®æé«åªå
+ã¬ãã«
+;ããã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿
+;ããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ ï¼ ãã©ã¤ãªãªãã£ã¬ãã«(MAX_IPM+1)
+;ãããããããããããããããä»¥ä¸ã®å²è¾¼ã¿ã¨NMI
+;ããCè¨èªç¨ã®user_config.hã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+;
+MAX_IPM:              .DEFINE         "H'7"
+
+;ãchg_ipmããµãã¼ããããã©ããã®å®ç¾©
+;ããCè¨èªç¨ã®user_config.hã«ãåæ§ã®å®ç¾©ãå¿
+è¦ãªã®ã§æ³¨æ
+;
+SUPPORT_CHG_IPM:        .DEFINE         " "
+
+
+ .AENDI ;  _USER_CONFIG_INC_
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/start.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/start.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/start.src	(revision 26)
@@ -0,0 +1,210 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: start.src,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;   H8Sç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+;   ãã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ããã®ã§ã
+;   ããã®ã¢ã¸ã¥ã¼ã«ã¯JSPã«ã¼ãã«èµ·åæã®ã¿ä½¿ç¨ããã
+
+        .CPU 2000A
+
+        ; STARTOFæ¼ç®å­ãSIZEOFæ¼ç®å­ãæå¹ã«ããããã®ã»ã¯ã·ã§ã³å®£è¨
+        .SECTION D,DATA,ALIGN=2
+        .SECTION R,DATA,ALIGN=2
+        .SECTION B,DATA,ALIGN=2
+
+        .SECTION P,CODE,ALIGN=2
+
+        .INCLUDE "sys_config.inc"
+        .INCLUDE "cpu_config.inc"
+
+        .IMPORT _kernel_start
+
+ .AIFDEF HARDWARE_INIT_HOOK
+        .IMPORT HARDWARE_INIT_HOOK
+        .GLOBAL _clear_b_section
+ .AENDI ; HARDWARE_INIT_HOOK
+
+ .AIFDEF SOFTWARE_INIT_HOOK
+        .IMPORT SOFTWARE_INIT_HOOK
+ .AENDI ; SOFTWARE_INIT_HOOK
+
+
+        .GLOBAL _start
+_start:
+        ;
+        ; éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯ãã¤ã³ã¿ãSTACKTOPã«åæåãã
+        ; ãï¼STACKTOPã¯ãuser_config.incã§å®ç¾©ï¼
+        ;
+        ;ãããã­ã°ã©ã ã®å
+é ­å½ä»¤ã¯ SP ã®åæåå½ä»¤ã§ãªããã°ãªããªãã
+        ;ãããã¼ãã¦ã§ã¢ããã¥ã¢ã« ã4.2.4 ãªã»ããç´å¾ã®å²è¾¼ã¿ã(P90)åç
+§
+        ;
+        mov.l   #STACKTOP, sp
+
+        ;
+        ;  CCRã®åæåï¼å²è¾¼ã¿ç¦æ­¢ï¼
+        ;
+        ;   ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ã0 ã«ãããå²è¾¼ã¿ç¦æ­¢ (I = 1 ; CCR)
+	;    (cpu_initialize()å
+ã§å²è¾¼ã¿å¶å¾¡ã¢ã¼ããå¤æ´ããã¾ã§ã¯ã
+	;     å²è¾¼ã¿å¶å¾¡ã¢ã¼ãã¯0ã§ããã)
+	;
+	ldc.b	#CCR_I, ccr
+
+	;
+	;  EXRã®åæå
+	;  ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ã2 ã«ãããå²è¾¼ã¿ç¦æ­¢ (I2, I1, I0 = 1 ; CCR)
+	;ãã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãå«ãã¦ç¦æ­¢ãã
+	;
+	ldc.b	#EXR_I_MASK, exr
+
+        ;
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å¼ã³åºã
+        ;
+        ;  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ãç¨æãããã®å
+é ­ã¢ãã¬ã¹ã
+        ;  HARDWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+        ;  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+        ;  ãã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+        ;  ãã¼ãã¦ã§ã¢åæåé¢æ°ã®å®è£
+ã¯sys_support.src å
+ã§è¡ãã
+        ;ãHARDWARE_INIT_HOOKãã¯ã­ãsys_config.incã§å®ç¾©ãã
+        ;ãã®ãæ¨æºã¨ããã
+start_0:
+        ;ãå
+èµRAMãä½¿ç¨ããªãå ´åã¯ãå¤é¨RAMãæå¹ã«ãªããªãã¨ã¹ã¿ã
+        ;ãã¯ã¨ãªã¢ãä½¿ããªãããã®ãããæ»ãçªå°ãã¹ã¿ãã¯ã«ç©ã
+        ;ãjsrå½ä»¤ã¯ãã®ã¿ã¤ãã³ã°ã§ã¯ã¾ã ä½¿ç¨ã§ããªããã¤ã¾ãã
+        ;ãHARDWARE_INIT_HOOKã¸ã¯jmpå½ä»¤ï¼ç¡æ¡ä»¶åå²å½ä»¤ï¼ã§åå²ãã
+        ;ãjmpå½ä»¤ã§æ»ã£ã¦ããã
+        ;ãï¼ã©ãã«clear_b_sectionãã¨ã¯ã¹ãã¼ããã¦ãããï¼
+
+ .AIFDEF HARDWARE_INIT_HOOK
+        jmp     @HARDWARE_INIT_HOOK
+ .AENDI ; HARDWARE_INIT_HOOK
+
+
+         ; Bã»ã¯ã·ã§ã³ãã¯ãªã¢
+_clear_b_section:
+start_1:
+        mov.l   @_bss_start_k, er0
+        mov.l   @_end_k, er1
+        sub.l   er2, er2
+start_2:
+        mov.l   er2, @er0
+        add.l   #4, er0
+        cmp.l   er1, er0
+        blo     start_2         ; er1 > er0
+
+        ;
+        ;  Dã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+        ;
+        ;  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+        ;  ã³ãã¼ããï¼
+        ;  
+        ;  eepmov.wå½ä»¤ãä½¿ãæ¹ãå¹ççã ããæå¤§è»¢éãã¤ãæ°ã
+        ;  65,535ãã¤ãã«å¶éããããããä½¿ç¨ãã¦ããªãã
+start_3:
+        mov.l   @__idata_start_k, er0
+        mov.l   @__idata_end_k, er1
+        mov.l   @__data_start_k, er2
+start_4:
+        mov.l   @er0+, er4      ; *er2++ = *er0 ++;
+        mov.l   er4, @er2
+        add.l   #4, er2
+        cmp.l   er1, er0
+        blo     start_4         ; er1 > er0
+
+        ;
+        ;  ã½ããã¦ã§ã¢ç°å¢åæåé¢æ°ã®å¼ã³åºã
+        ;
+        ;  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+        ;  çãããå ´åã¯ï¼ã½ããã¦ã§ã¢ç°å¢åæåé¢æ°ãç¨æãããã®å
+é ­
+        ;  ã¢ãã¬ã¹ãSOFTWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+        ;  software_init_hooké¢æ°ã®å®è£
+ã¯sys_support.src å
+ã§è¡ãã
+        ;ãSOFTWARE_INIT_HOOKãã¯ã­ãuser_config.incã§å®ç¾©ãã
+        ;ãã®ãæ¨æºã¨ããã
+ .AIFDEF SOFTWARE_INIT_HOOK
+start_5:
+        jsr     @SOFTWARE_INIT_HOOK
+ .AENDI ; SOFTWARE_INIT_HOOK
+
+        ;  ã«ã¼ãã«ãèµ·åãã
+
+start_6:
+        jmp     @_kernel_start
+
+
+        .ALIGN 4
+_bss_start_k:
+        .DATA.L   STARTOF B
+_end_k:
+        .DATA.L   STARTOF B   +   SIZEOF B
+__idata_start_k:
+        .DATA.L   STARTOF D
+__idata_end_k:
+        .DATA.L   STARTOF D   +   SIZEOF D
+__data_start_k:
+        .DATA.L   STARTOF R
+
+        .END
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_config.h	(revision 26)
@@ -0,0 +1,291 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: tool_config.h,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+/*
+ *ãéçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ *ããLABEL_ALIASãã¯ã­ã®å®ç¾©ã¯çç¥
+ */
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+
+/*
+ *  å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­
+ */
+#define __EMPTY_LABEL(x,y) x y[1]
+
+/*
+ *  atexitã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  GNU ldã®PROVIDEå½ä»¤ã¨åç­ã®æ©è½ããªãããã#ifdefã§å¦çãã¦ããã
+ *  å¤é¨å®ç¾©ã®å¦çãããã°ãé¢æ°åãSOFTWARE_TERM_HOOKãã¯ã­ã¨ãã¦
+ *  å®ç¾©ãããsys_config.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
+ *  ããã»å¤é¨å®ç¾©ãããã°ããããå¼ã³åºã
+ *  ããã»å¤é¨å®ç¾©ããªããã°ãä½ãããªãï¼ç©ºã®å®ç¾©ï¼
+ */
+#ifdef SOFTWARE_TERM_HOOK
+extern void SOFTWARE_TERM_HOOK(void);
+#define call_atexit SOFTWARE_TERM_HOOK
+
+#else	/*  SOFTWARE_TERM_HOOK  */
+#define call_atexit()
+
+#endif	/*  SOFTWARE_TERM_HOOK  */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define LOG_INH_ENTER(inhno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_INH_LEAVE(inhno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_ISR_ENTER(intno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_ISR_LEAVE(intno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_CYC_ENTER(cyccb)
+#define LOG_CYC_LEAVE(cyccb)
+
+#define LOG_EXC_ENTER(excno)            /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_EXC_LEAVE(excno)            /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_TEX_ENTER(texptn)
+#define LOG_TEX_LEAVE(texptn)
+
+#define LOG_TSKSTAT(tcb)
+
+#define LOG_DSP_ENTER(tcb)              /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_DSP_LEAVE(tcb)              /* ãã­ã»ããµä¾å­é¨ */
+
+#define LOG_CHG_IPM_ENTER(ipm)          /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_CHG_IPM_LEAVE(ercd)         /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_GET_IPM_ENTER(p_ipm)        /* ãã­ã»ããµä¾å­é¨ */
+#define LOG_GET_IPM_LEAVE(ercd, ipm)    /* ãã­ã»ããµä¾å­é¨ */
+
+
+#define LOG_ACT_TSK_ENTER(tskid)
+#define LOG_ACT_TSK_LEAVE(ercd)
+#define LOG_IACT_TSK_ENTER(tskid)
+#define LOG_IACT_TSK_LEAVE(ercd)
+#define LOG_CAN_ACT_ENTER(tskid)
+#define LOG_CAN_ACT_LEAVE(ercd)
+#define LOG_EXT_TSK_ENTER()
+#define LOG_TER_TSK_ENTER(tskid)
+#define LOG_TER_TSK_LEAVE(ercd)
+#define LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define LOG_CHG_PRI_LEAVE(ercd)
+#define LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define LOG_SLP_TSK_ENTER()
+#define LOG_SLP_TSK_LEAVE(ercd)
+#define LOG_TSLP_TSK_ENTER(tmout)
+#define LOG_TSLP_TSK_LEAVE(ercd)
+#define LOG_WUP_TSK_ENTER(tskid)
+#define LOG_WUP_TSK_LEAVE(ercd)
+#define LOG_IWUP_TSK_ENTER(tskid)
+#define LOG_IWUP_TSK_LEAVE(ercd)
+#define LOG_CAN_WUP_ENTER(tskid)
+#define LOG_CAN_WUP_LEAVE(ercd)
+#define LOG_REL_WAI_ENTER(tskid)
+#define LOG_REL_WAI_LEAVE(ercd)
+#define LOG_IREL_WAI_ENTER(tskid)
+#define LOG_IREL_WAI_LEAVE(ercd)
+#define LOG_SUS_TSK_ENTER(tskid)
+#define LOG_SUS_TSK_LEAVE(ercd)
+#define LOG_RSM_TSK_ENTER(tskid)
+#define LOG_RSM_TSK_LEAVE(ercd)
+#define LOG_FRSM_TSK_ENTER(tskid)
+#define LOG_FRSM_TSK_LEAVE(ercd)
+#define LOG_DLY_TSK_ENTER(dlytim)
+#define LOG_DLY_TSK_LEAVE(ercd)
+#define LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define LOG_RAS_TEX_LEAVE(ercd)
+#define LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define LOG_IRAS_TEX_LEAVE(ercd)
+#define LOG_DIS_TEX_ENTER()
+#define LOG_DIS_TEX_LEAVE(ercd)
+#define LOG_ENA_TEX_ENTER()
+#define LOG_ENA_TEX_LEAVE(ercd)
+#define LOG_SNS_TEX_ENTER()
+#define LOG_SNS_TEX_LEAVE(state)
+#define LOG_SIG_SEM_ENTER(semid)
+#define LOG_SIG_SEM_LEAVE(ercd)
+#define LOG_ISIG_SEM_ENTER(semid)
+#define LOG_ISIG_SEM_LEAVE(ercd)
+#define LOG_WAI_SEM_ENTER(semid)
+#define LOG_WAI_SEM_LEAVE(ercd)
+#define LOG_POL_SEM_ENTER(semid)
+#define LOG_POL_SEM_LEAVE(ercd)
+#define LOG_TWAI_SEM_ENTER(semid, tmout)
+#define LOG_TWAI_SEM_LEAVE(ercd)
+#define LOG_SET_FLG_ENTER(flgid, setptn)
+#define LOG_SET_FLG_LEAVE(ercd)
+#define LOG_ISET_FLG_ENTER(flgid, setptn)
+#define LOG_ISET_FLG_LEAVE(ercd)
+#define LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define LOG_CLR_FLG_LEAVE(ercd)
+#define LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_SND_DTQ_ENTER(dtqid, data)
+#define LOG_SND_DTQ_LEAVE(ercd)
+#define LOG_PSND_DTQ_ENTER(dtqid, data)
+#define LOG_PSND_DTQ_LEAVE(ercd)
+#define LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define LOG_IPSND_DTQ_LEAVE(ercd)
+#define LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define LOG_TSND_DTQ_LEAVE(ercd)
+#define LOG_FSND_DTQ_ENTER(dtqid, data)
+#define LOG_FSND_DTQ_LEAVE(ercd)
+#define LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define LOG_IFSND_DTQ_LEAVE(ercd)
+#define LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_RCV_DTQ_LEAVE(ercd, data)
+#define LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define LOG_SND_MBX_LEAVE(ercd)
+#define LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define LOG_GET_MPF_LEAVE(ercd, blk)
+#define LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define LOG_PGET_MPF_LEAVE(ercd, blk)
+#define LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define LOG_TGET_MPF_LEAVE(ercd, blk)
+#define LOG_REL_MPF_ENTER(mpfid, blk)
+#define LOG_REL_MPF_LEAVE(ercd)
+#define LOG_SET_TIM_ENTER(p_systim)
+#define LOG_SET_TIM_LEAVE(ercd)
+#define LOG_GET_TIM_ENTER(p_systim)
+#define LOG_GET_TIM_LEAVE(ercd, systim)
+#define LOG_ISIG_TIM_ENTER()
+#define LOG_ISIG_TIM_LEAVE(ercd)
+#define LOG_STA_CYC_ENTER(cycid)
+#define LOG_STA_CYC_LEAVE(ercd)
+#define LOG_STP_CYC_ENTER(cycid)
+#define LOG_STP_CYC_LEAVE(ercd)
+#define LOG_ROT_RDQ_ENTER(tskpri)
+#define LOG_ROT_RDQ_LEAVE(ercd)
+#define LOG_IROT_RDQ_ENTER(tskpri)
+#define LOG_IROT_RDQ_LEAVE(ercd)
+#define LOG_GET_TID_ENTER(p_tskid)
+#define LOG_GET_TID_LEAVE(ercd, tskid)
+#define LOG_IGET_TID_ENTER(p_tskid)
+#define LOG_IGET_TID_LEAVE(ercd, tskid)
+#define LOG_LOC_CPU_ENTER()
+#define LOG_LOC_CPU_LEAVE(ercd)
+#define LOG_ILOC_CPU_ENTER()
+#define LOG_ILOC_CPU_LEAVE(ercd)
+#define LOG_UNL_CPU_ENTER()
+#define LOG_UNL_CPU_LEAVE(ercd)
+#define LOG_IUNL_CPU_ENTER()
+#define LOG_IUNL_CPU_LEAVE(ercd)
+#define LOG_DIS_DSP_ENTER()
+#define LOG_DIS_DSP_LEAVE(ercd)
+#define LOG_ENA_DSP_ENTER()
+#define LOG_ENA_DSP_LEAVE(ercd)
+#define LOG_SNS_CTX_ENTER()
+#define LOG_SNS_CTX_LEAVE(state)
+#define LOG_SNS_LOC_ENTER()
+#define LOG_SNS_LOC_LEAVE(state)
+#define LOG_SNS_DSP_ENTER()
+#define LOG_SNS_DSP_LEAVE(state)
+#define LOG_SNS_DPN_ENTER()
+#define LOG_SNS_DPN_LEAVE(state)
+#define LOG_VSNS_INI_ENTER()
+#define LOG_VSNS_INI_LEAVE(state)
+#define LOG_VXSNS_CTX_ENTER(p_excinf)
+#define LOG_VXSNS_CTX_LEAVE(state)
+#define LOG_VXSNS_LOC_ENTER(p_excinf)
+#define LOG_VXSNS_LOC_LEAVE(state)
+#define LOG_VXSNS_DSP_ENTER(p_excinf)
+#define LOG_VXSNS_DSP_LEAVE(state)
+#define LOG_VXSNS_DPN_ENTER(p_excinf)
+#define LOG_VXSNS_DPN_LEAVE(state)
+#define LOG_VXSNS_TEX_ENTER(p_excinf)
+#define LOG_VXSNS_TEX_LEAVE(state)
+#define LOG_VXGET_TIM_ENTER(p_sysutim)
+#define LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/tool_defs.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: tool_defs.h,v 1.2 2007/03/23 07:59:26 honda Exp $
+ */
+
+/*
+ *ãéçºç°å¢ã«ä¾å­ããå®ç¾©
+ *ããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+#include <sys_tool_defs.h>	/*  ãã¼ãæ¯ã®ãããã°ç°å¢å®ç¾©  */
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define _int8_          char            /* 8ãããã®æ´æ°å      */
+#define _int16_         int             /* 16ãããã®æ´æ°å     */
+#define _int32_         long            /* 32ãããã®æ´æ°å     */
+/* 64ãããã®æ´æ°åã¯æªãµãã¼ã */
+
+/*
+ * _bool_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§BOOLåâintåï¼16ãããï¼
+ *
+ * _vp_int_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§VP_INTåâVPåâvoid *å
+ * ãã32ããããªã®ã§ãintåããã¤ã³ã¿åãæ ¼ç´ã§ãã
+ *
+ * _intptr_ã¯æªå®ç¾©ã§OK
+ * ãããã©ã«ãã§longãä½¿ç¨ãããã®ã§ãintåããã¤ã³ã¿åãæ ¼ç´ã§ãã
+ */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus                     /* C++ ã«ã¯ inline ããã */
+#ifdef __STDC_VERSION__
+#if __STDC_VERSION__ < 199901L          /* C99 ã«ã¯ inline ããã */
+#define inline          __inline
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __STDC_VERSION__ */
+#endif /* __cplusplus */
+
+#define Inline          static inline
+
+/*
+ *  ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã¯#pragma inline_asmå®£è¨ãããªãã¨
+ *ãä½¿ããªããããasm,Asmãã¯ã­ã®å®ç¾©ã¯çç¥ãã
+ *ãï¼é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ã«ã­ã¼ã¯ã¼ããè¿½å ãã¦ãã ãªï¼
+ */
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2007 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  ãã®ããããã¡ã¤ã«ã«å«ã¾ãã¦ãããã¯ã­ã¯ãååã¨ãã¦ãã«ã¼ãã«éçºè
+ã«å¯¾ãã¦
+ *  å
+¬éããã¦ãããã®ã§ããããã®ããããã©ã¡ã¼ã¿ãã§ãã¯ãªã©ãä¸ååã§ããã
+ *  ã¦ã¼ã¶ã¼ã«ãã£ã¦ã¯ãèªå·±è²¬ä»»ã«ããã¦å©ç¨ãããã¨ã
+ */
+
+/*
+ *  ãããçªå·ã®å®ç¾©
+ */
+#define BIT0              0x1
+#define BIT1              0x2
+#define BIT2              0x4
+#define BIT3              0x8
+#define BIT4             0x10
+#define BIT5             0x20
+#define BIT6             0x40
+#define BIT7             0x80
+#define BIT8            0x100
+#define BIT9            0x200
+#define BIT10           0x400
+#define BIT11           0x800
+#define BIT12          0x1000
+#define BIT13          0x2000
+#define BIT14          0x4000
+#define BIT15          0x8000
+
+#define DUMMY		    0
+
+/*
+ *  ãã¤ããã¼ã¿æä½ç¨ãã¯ã­
+ */
+/* ä»¥ä¸ã«ããã¦ãxï¼ä¸å® */
+
+/* ä»¥ä¸ã®ãããªæ¸ãæ¹ã¨ãã©ã£ã¡ãè¯ããï¼
+     (UH) (((UW) (c)) & 0x0000ffff)
+     (UH) (((UW) (c)) & 0xffff0000) >> 16
+*/
+
+/* (UH) xxaa -> (UB) aa */			/* ä¸ä½1ãã¤ãåãåºã */
+#define LO8(c)		(UB)( (UH)(c) & 0xff )
+/* (UH) aaxx -> (UB) aa */			/* ä¸ä½1ãã¤ãåãåºã */
+#define HI8(c)		LO8( (UH)(c) >>  8 )
+
+/* (UW) xxxxaaaa -> (UH) aaaa */		/* ä¸ä½2ãã¤ãåãåºã */
+#define LO16(c)		(UH)( (UW)(c) & 0xffff )
+/* (UW) aaaaxxxx -> (UH) aaaa */		/* ä¸ä½2ãã¤ãåãåºã */
+#define HI16(c)		LO16( (UW)(c) >> 16 )
+
+/* (UH) aaaa, (UH) bbbb -> (UW) aaaabbbb */	/* 2ãã¤ããã¼ã¿ã®çµå */
+#define JOIN16(hi, lo)	(UW)( ((UW)(hi) << 16) | (lo) )
+/* (UB) aa, (UB) bb -> (UH) aabb */		/* 1ãã¤ããã¼ã¿ã®çµå */
+#define JOIN8(hi, lo)	(UH)( ((UH)(hi) <<  8) | (lo) )
+
+/* (BIN) : ï¼é²æ° */
+/* (BIN) xxxxaaaa -> (BIN) 0000aaaa */		/* 0-3ãããã«é
+ç½®  */
+#define TO_LO4(c)	( (UB)(c) & 0xf )
+/* (BIN) xxxxaaaa -> (BIN) aaaa0000 */		/* 4-7ãããã«é
+ç½®  */
+#define TO_HI4(c)	(((UB)(c) << 4) & 0xf0)
+
+/*
+ *  ã·ã³ãã«åã®çµå
+ */
+#define JOINT(a,b)      _JOINT(a,b)
+#define _JOINT(a,b)     a##b
+
+#define JOINT3(a,b,c)   _JOINT3(a,b,c)
+#define _JOINT3(a,b,c)  JOINT(a,JOINT(b,c))
+
+#define JOINT4(a,b,c,d)   _JOINT4(a,b,c,d)
+#define _JOINT4(a,b,c,d)  JOINT(a,JOINT3(b,c,d))
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/util.inc	(revision 26)
@@ -0,0 +1,75 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: util.inc,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+ .AIFDEF _UTIL_INC_
+ .AELSE
+
+_UTIL_INC_:           .DEFINE         " "
+
+;
+;  ãããçªå·ã®å®ç¾©
+;
+BIT0:                   .DEFINE         "H'01"
+BIT1:                   .DEFINE         "H'02"
+BIT2:                   .DEFINE         "H'04"
+BIT3:                   .DEFINE         "H'08"
+BIT4:                   .DEFINE         "H'10"
+BIT5:                   .DEFINE         "H'20"
+BIT6:                   .DEFINE         "H'40"
+BIT7:                   .DEFINE         "H'80"
+
+
+ .AENDI ; _UTIL_INC_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/vector_header.src
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/vector_header.src	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s-renesas/vector_header.src	(revision 26)
@@ -0,0 +1,141 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+;
+;  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+;  Copyright (C) 2001-2007 by Industrial Technology Institute,
+;                              Miyagi Prefectural Government, JAPAN
+;  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+;                   Tomakomai National College of Technology, JAPAN
+;
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;
+;  @(#) $Id: vector_header.src,v 1.2 2007/03/23 07:59:26 honda Exp $
+;
+
+;
+; ãã¯ã¿ãã¼ãã«ã¨å²è¾¼ã¿ã®å
+¥å£å¦ç
+;ãããå²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ç¨
+;
+        .CPU 2000A
+
+;
+;ããå²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®å®ç¾©
+;ãããï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+;
+;ããããã©ã¡ã¼ã¿
+;ãããããC_ROUTINEï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+;
+;ãããã¬ã¸ã¹ã¿å²ãå½ã¦
+;ãããããã»er0ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+;
+;
+;ãããå¦çå
+å®¹
+;ãããããer0ãéé¿å¾ãCè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹ãè¨­å®ãã¦
+;ããããããã¹ã¦ã®å²è¾¼ã¿è¦å å
+±éã®å¦çã¸åå²ããã
+;
+;ãããåè
+;ãããããå²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ã§ã¯å²è¾¼ã¿åä»ç´å¾ã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªãã
+;ããããããã®ãããå
+¥å£å¦çã®éä¸­ã§å¤éå²è¾¼ã¿ãå
+¥ãå¯è½æ§ãããã
+;ãããããæ¬å®è£
+ã§ã¯ãå²è¾¼ã¿å¿ç­æ§ãè¯ããããããå²è¾¼ã¿ç¦æ­¢ã®ã¿ã¤ãã³ã°ã
+;ãããããã§ããã ãé
+ããã¦ããã
+;
+;
+;ãä»æ©ç¨®ã¨å
+±éã®æ³¨æäºé 
+
+;ããreqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯
+;ããå¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼
+;ãããã£ã¹ããããããªãï¼
+;
+ .MACRO INTHDR_ENTRY C_ROUTINE
+        .IMPORT _\C_ROUTINE
+__kernel_\C_ROUTINE'_entry:
+        push.l  er0                             ;ãã¬ã¸ã¹ã¿ã®éé¿
+        mov.l   #_\C_ROUTINE, er0               ;ãCè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+        jmp     @_common_interrupt_process      ;ãå
+±éã®å¦çã¸åå²
+
+ .ENDM
+
+
+; ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+
+        .SECTION P, CODE, ALIGN=2
+
+        .INCLUDE "sys_config.inc"
+        .INCLUDE "cpu_config.inc"
+
+        .IMPORT _start
+        .IMPORT _no_reg_exception
+        .IMPORT _common_interrupt_process
+
+;
+; å²è¾¼ã¿ãã¯ã¿ã®å®ç¾©
+;  ï¼ãã¯ã¿ãã¼ãã«ã¯åºå®ãªã®ã§ãå²è¾¼ã¿ã®åºå
+¥ãå£å¦çã®ã©ãã«ã¯
+;   ä»¥ä¸ã®ãã¯ã¿ãã¼ãã«ã«ç´æ¥æ¸ãè¾¼ãå¿
+è¦ãããã)
+;
+        .SECTION V, CODE, ALIGN=4
+
+        .GLOBAL _vectors
+_vectors:
+;******************************************************
+;ãããããä¸ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«èªåçæããã
+;******************************************************
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/Makefile.config	(revision 26)
@@ -0,0 +1,41 @@
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (H8Sç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = h8300-hms
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES	:= $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS		:= $(COPTS) -g -ms -mint32 -mrelax -O2 -DLABEL_ASM
+
+#H8S/2600å¯¾å¿çï¼ç©åã¬ã¸ã¹ã¿ã®ãµãã¼ã ; cpu_support.Sï¼
+# (ãã¹ããã¦ãã¾ããã)
+#COPTS		:= $(COPTS) -ms2600 -DH8S_2600
+
+#ãã¼ãã«ã¢ã¼ãç¨
+# (ãã¹ããã¦ãã¾ããã)
+#COPTS		:= $(COPTS) -mn -DH8S_NORMAL_MODE
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) cpu_config.o h8s_sci.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS := $(START_OBJS) start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.c	(revision 26)
@@ -0,0 +1,246 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«(H8Sç¨)
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+IPM	task_intmask;		/* IPM -> UBï¼ç¬¦å·ç¡ã8ããã */
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+IPM	int_intmask;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+UW	intnest;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void cpu_initialize() {
+
+#ifdef SUPPORT_CHG_IPM
+	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå */
+	task_intmask = 0x00;
+#endif /* SUPPORT_CHG_IPM */
+
+	/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®åæå */
+	intnest = 1;
+
+	/* å²è¾¼ã¿ã¬ãã«ã®åæå */
+	icu_set_ilv( (VP) IPRA, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRA, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRB, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRB, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRC, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRC, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRD, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRD, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRE, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRE, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRF, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRF, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRG, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRG, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRH, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRH, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRI, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRI, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRJ, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRJ, IPR_LOW, 0 );
+	icu_set_ilv( (VP) IPRK, IPR_UPR, 0 );
+	icu_set_ilv( (VP) IPRK, IPR_LOW, 0 );
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void cpu_terminate() {
+}
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+void sil_dly_nse(UINT dlytim) {
+	/* er0 = dlytim */
+	Asm("		sub.l	%0, er0" :: "g"(SIL_DLY_TIM1) );
+	Asm("		ble	sil_dly_nse_2");
+				/* dlytim < SIL_DLY_TIM1 ãªãã«ã¼ãçµäº */
+	Asm("	sil_dly_nse_1:");
+	Asm("		sub.l	%0, er0" :: "g"(SIL_DLY_TIM2) );
+	Asm("		bgt	sil_dly_nse_1");
+				/* dlytim > SIL_DLY_TIM2 ãªãã«ã¼ãç¶è¡ */
+	Asm("	sil_dly_nse_2:");
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  ã»chg_ipm ãä½¿ã£ã¦ãå²è¾¼ã¿ãã¹ã¯ã MAX_IPM ï¼NMI ã¹ã¿ããªã¢ã¼ããã¬ã¼ã¯ ä»¥å¤
+ *    ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ä»¥ä¸ã«å¤æ´ãããã¨ã¯ã§ãã¾ãããNMI ã¹ã¿ããªã¢ã¼ã
+ *    ãã¬ã¼ã¯ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ãloc_cpuã«ããCPUã­ãã¯
+ *    ç¶æ
+ã«ãã¦ãã ããã
+ *  ã»å²è¾¼ã¿ãã¹ã¯ã 0 ä»¥å¤ã®æã§ãã£ã¦ããã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çããã¾ããã
+ *    ãã®ã¨ããå²è¾¼ã¿ãã¹ã¯ã®ç¶æ
+ã¯ãã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦æ°ããå®è¡ç¶æ
+ã«
+ *    ãªã£ãã¿ã¹ã¯ã¸ããã®é½åº¦ãå¼ãç¶ããã¾ãã
+ *    ãã®ãããã¿ã¹ã¯ãå®è¡ä¸­ã«ãå²è¾¼ã¿ãçºçãããã£ã¹ãããããå¾ã®å¥ã®ã¿ã¹ã¯
+ *    ã«ãã£ã¦å²è¾¼ã¿ãã¹ã¯ãå¤æ´ãããå ´åãããã¾ãã
+ *    TOPPERS/JSP ã«ã¼ãã«ã§ã¯ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã«ãã£
+ *    ã¦ãèµ·ããã®ã§ï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æããã¾ãã
+ *  ã»å²è¾¼ã¿ãã¹ã¯ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ãdis_dsp ã
+ *    ä½µç¨ãã¦ãã ããã
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR( /*(0 <= ipm) &&*/ (ipm <= MAX_IPM) );
+	/* IPMå ã¯ãunsigned ã§å®ç¾©ãã¦ããã®ã§ãã³ã¡ã³ãã¢ã¦ããã¦
+	   ããã¨ããã¯ãå¸¸ã«æç«ãã¦ãããããWarnning ãçºçããã
+	   ããããå¯èª­æ§ã®åé¡ãããæç¤ºçã«è¨è¿°ãã¦ããã */
+
+	t_lock_cpu();
+	task_intmask = ipm;
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd)
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = task_intmask;
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ * ç»é²ããã¦ããªãå²ãè¾¼ã¿ãçºçããã¨å¼ã³åºããã
+ */
+void cpu_experr(EXCSTACK *sp)
+{
+	syslog( LOG_EMERG, "Unexpected interrupt." );
+	syslog( LOG_EMERG, "SP  = %08x PC  = %08x CCR = %08x",
+				sp - 34, sp->pc,  sp->ccr );
+	syslog( LOG_EMERG, "ER0 = %08x ER1 = %08x ER2 = %08x ER3 = %08x",
+				sp->er0, sp->er1, sp->er2, sp->er3 );
+	syslog( LOG_EMERG, "ER4 = %08x ER5 = %08x ER6 = %08x ",
+				sp->er4, sp->er5, sp->er6 );
+
+	while(1);
+}
+
+/*
+ *  ã¡ã¢ãªãã­ãã¯æä½ã©ã¤ãã©ãª
+ *	(ItIsããã®æµç¨)
+ *
+ *  é¢æ°ã®ä»æ§ã¯ï¼ANSI C ã©ã¤ãã©ãªã®ä»æ§ã¨åãï¼æ¨æºã©ã¤ãã©ãªã®ãã®ã
+ *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *
+ */
+VP _dummy_memcpy(VP dest, VP src, UINT len)
+{
+	VB	*d = (VB *)dest;
+	VB	*s = (VB *)src;
+
+	while (len-- > 0) {
+		*d++ = *s++;
+	}
+
+	return(dest);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_config.h	(revision 26)
@@ -0,0 +1,400 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«(H8Sç¨)
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµé¢é£ã®å®ç¾©
+ */
+#include <h8s.h>
+#include <h8s_sil.h>
+
+/*
+ *  è¨­å®å¯è½ãªã«ã¼ãã«ç®¡çä¸ã®æé«è¨±å¯å²è¾¼ã¿ããããã¿ã¼ã³
+ *  (ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ã¸è¨­å®;cpu_insn.h å
+ã§å©ç¨ããã®ã§ãå
+ã«å®ç¾©ããã)
+ */
+#ifndef GDB_STUB
+#define  MAX_IPM	7	/* = EXR_I2|EXR_I1|EXR_I0 (æé«ã¬ãã«) */
+#else  /* GDB_STUB */
+#define  MAX_IPM	6	/* ã¬ãã«ï¼ã®å²ãè¾¼ã¿ã¯ãGDB_STUB ãå©ç¨ãã */
+#endif /* GDB_STUB */
+
+#define  str_MAX_IPM	TO_STRING(MAX_IPM)
+			/* å²è¾¼ã¿å
+¥å£å¦çINTHDR_ENTRYãã¯ã­ç¨ (cpu_config.h) */
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ *    å
+é¨ã§ãMAX_IPMãå©ç¨ãã¦ããã®ã§ãå®ç¾©å¾ã«èª­ã¿è¾¼ã
+ */
+#include <cpu_insn.h>
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef struct task_context_block {
+	VP	sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ *    ãã¹ãã«ã¦ã³ã¿ã®å¤ã§ã³ã³ãã­ã¹ãã®å¤æ­ãè¡ãã®ã§ãã³ã³ãã­ã¹ãåç
+§æã«
+ *    å©ç¨ããã
+ */
+
+extern UW	intnest;
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *    å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨ãã«ã¯
+ *    ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+
+Inline BOOL
+sense_context(void)
+{
+	return( intnest > 0 );
+}
+
+Inline BOOL
+sense_lock(void)
+{
+	return( current_intmask() == MAX_IPM );
+}
+
+#endif /* _MACRO_ONLY */
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ãchg_ipm ããµãã¼ãããããã®å¤æ°ãchg_ipm ããµãã¼ã
+ *  ããªãå ´åã«ã¯ãt_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦ããã
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern IPM	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu(void)
+{
+	disint();		/* cpu_insn.h */
+}
+
+Inline void
+t_unlock_cpu(void)
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããããã
+	 *  å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãã
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();		/* cpu_insn.h */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern IPM	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu(void)
+{
+	IPM	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ãcurrent_intmask()ãå¼ãã ç´å¾ã«
+	 *  å²è¾¼ã¿ãçºçããèµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ int_intmask ãå¤æ´
+	 *  ãããå¯è½æ§ãããããã§ããã
+	 */
+	intmask = current_intmask();
+	disint();		/* cpu_insn.h */
+	int_intmask = intmask;
+}
+
+Inline void
+i_unlock_cpu(void)
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *    dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çå
+ã§ã
+ *    CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *    exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *    H8Sã§ã¯ãå²è¾¼ã¿ãã³ãã©ãã¼ãã«ã®è¨­å®ã¯ROMã«ç´æ¥è¡ãããä½¿ç¨ããªãã
+ */
+
+Inline void define_inh(INHNO inhno, FP inthdr) {
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *    H8Sã§ã¯ãå²è¾¼ã¿ãã³ãã©ãã¼ãã«ã®è¨­å®ã¯ROMã«ç´æ¥è¡ãããä½¿ç¨ããªãã
+ */
+
+Inline void define_exc(EXCNO excno, FP exchdr) {
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦ç
+ *    ãã®å¦çã«æ¥ãã¾ã§ã«ããã¼ãã¦ã§ã¢ã«ã¦ãå½è©²å²è¾¼ã¿ã¬ãã«ã¾ã§ã®å²è¾¼ã¿ã
+ *    ç¦æ­¢ããå¦çãè¡ããã¦ããã
+ *    entryï¼å
+¥å£å¦çã®ã©ãã«
+ *    inthdrï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ */
+#define	_INTHDR_ENTRY(entry, inthdr)		    \
+asm("	.text					\n" \
+"	.align 2				\n" \
+"	.global _"#entry"			\n" \
+"						\n" \
+"_"#entry":					\n" \
+"	push.l	er0				\n" \
+			/* CPUã­ãã¯ã«å¿
+è¦ãªã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã¹ã¿ãã¯ã«å¾
+é¿ */ \
+"	stc.b	exr, r0l			\n" \
+			/* exr ã r0l (er0) ã«ã³ãã¼ \
+"			  (_kernel_ret_main å
+ã§ãå²è¾¼ã¿ç¦æ­¢è¨±å¯å¶å¾¡ã«ä½¿ã) */ \
+"						\n" \
+"	ldc.b	#"str_MAX_IPM", exr		\n" \
+			/* lock_cpu ç¸å½ (å²è¾¼ã¿ç¦æ­¢) */ \
+"						\n" \
+"	push.l	er1				\n" \
+			/* er1 ãã¿ã¹ã¯ã¹ã¿ãã¯ã«å¾
+é¿ */ \
+"	mov.l	#_"#inthdr", er1		\n" \
+			/* er1 = å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ */ \
+"	jmp	_kernel_ret_main		\n" \
+			/* å²è¾¼ã¿å
+¥å£å¦çã¸ã¸ã£ã³ã */ \
+)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define INTHDR_ENTRY(inthdr)			\
+	extern void inthdr##_entry(void);	\
+	_INTHDR_ENTRY(inthdr##_entry, inthdr)	/* ãã®å¦çã¯ä¸è¨ãã¯ã­ã§å®ç¾© */
+#define	INT_ENTRY(inthdr)	inthdr##_entry
+
+/* ãã¯ã¿ãã¼ãã«(sys_support.S)è¨è¿°ç¨ã©ãã«åå¾ãã¯ã­ */
+#define	__INT_ENTRY(inthdr)	_##inthdr##_entry
+#define	_INT_ENTRY(inthdr)	__INT_ENTRY(inthdr)
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define	EXCHDR_ENTRY(exchdr)	INTHDR_ENTRY(exchdr)
+#define	EXC_ENTRY(exchdr)	exchdr##_entry
+
+/* ãã¯ã¿ãã¼ãã«(sys_support.S)è¨è¿°ç¨ã©ãã«åå¾ãã¯ã­ */
+#define	__EXC_ENTRY(exchdr)	_##exchdr##_entry
+#define	_EXC_ENTRY(exchdr)	__EXC_ENTRY(exchdr)
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return(intnest > 1);
+		/* 1ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®åå²è¾¼ã¿ãã¹ã
+		   ã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã */
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ *    H8Sçã§ã¯ãå¼ã°ãããã¨ã¯ç¡ãããã½ã¼ã¹ãæ¯è¼ããå ´ååãã«è¨­å®ããã
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return(TRUE);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY_ */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«è¨­å®ç¨ãã¯ã­ï¼ãããã¯ãã¤ã³ã©ã¤ã³é¢æ°ï¼
+ *  ã»x : ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿	( IPRA - IPRK )
+ *  ã»y : IPRè¨­å®ç¨ãã¹ã¯ï¼ä¸ä½ãä¸ä½ã®é¸æï¼	( IPR_UPR, IPR_LOW )
+ *  ã»z : å²è¾¼ã¿ã¬ãã«				( 0 - 7 )
+ */
+#ifndef _MACRO_ONLY
+
+Inline void icu_set_ilv( VP ipr, BOOL mask, INT level ) {
+
+	if( mask == IPR_UPR ) {
+		h8s_wrb_mem( ipr, ( h8s_reb_mem( ipr ) & ~IPR_UPR_MASK ) | TO_HI4((UB) level) );
+	} else if( mask == IPR_LOW ) {
+		h8s_wrb_mem( ipr, ( h8s_reb_mem( ipr ) & ~IPR_LOW_MASK ) | TO_LO4((UB) level) );
+	}
+}
+
+#endif /* _MACRO_ONLY_ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºå (cpu_config.c, cpu_support.S)
+ *    æ§é ä½ EXCSTACK ã¯ãh8s.h ã§å®ç¾©
+ */
+extern void	cpu_experr(EXCSTACK *sp);
+
+#endif /* _MACRO_ONLY_ */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_context.h	(revision 26)
@@ -0,0 +1,126 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ *  
+ */
+
+extern void	activate_r(void);	/*  cpu_support.S  */
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãºã¯ã
+ *    H8Sã§ã¯å®ç¾©ããå¿
+è¦ã¯ç¡ãã
+ */
+/* #define ACTIVATED_STACK_SIZE	(sizeof(VW) * 3) */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_defs.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼H8Sç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#define H8S
+
+/*
+ *  ãã¼ã¹ã¢ãã¬ã¹
+ */
+#ifndef H8S_NORMAL_MODE
+#define H8S_BASE_ADDR	0xff0000	/* ã¢ããã³ã¹ãã¢ã¼ã */
+#else /* H8S_NORMAL_MODE */
+#define H8S_BASE_ADDR	0x000000	/* ãã¼ãã«ã¢ã¼ã */
+#endif /* H8S_NORMAL_MODE */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2004 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n" \
+"Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering,\n" \
+"                 Tomakomai National College of Technology, JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;			/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;			/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+
+/* å²è¾¼ã¿ãã¹ã¯ã®å */
+typedef	UB	IPM;			/* å²è¾¼ã¿ãã¹ã¯ */
+
+/* å²è¾¼ã¿ãã¹ã¯æä½ç¨ã®é¢æ° */
+extern ER	chg_ipm(IPM ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ */
+extern ER	get_ipm(IPM *p_ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®åå¾ */
+
+#if 0		/*  ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã  */
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT	INTNO;			/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+#endif
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define	SIL_PRE_LOC	IPM _intmask_ = current_intmask()
+#define	SIL_LOC_INT()	_disint_()
+#define	SIL_UNL_INT()	set_intmask(_intmask_)
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG		/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_insn.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/* ä¸è¨ã«ã¦å©ç¨ãã¦ãããMAX_IPM ã¯ cpu_config.h ã§å®ç¾© */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/* ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®èª­åºã */
+Inline UB current_ccr(void)
+{
+	UB	ccr;
+
+	Asm( "stc.b	ccr, %0l" : "=r"(ccr) );
+
+	return(ccr);
+}
+
+/* ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼CCRï¼ã®ç¾å¨å¤ã®å¤æ´ */
+Inline void set_ccr(UB ccr)
+{
+	Asm( "ldc.b	%0l, ccr" ::"r"(ccr) );
+}
+
+/* ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ï¼EXRï¼ã®ç¾å¨å¤ã®èª­åºã */
+Inline UB current_exr(void)
+{
+	UB	exr;
+
+	Asm( "stc.b	exr, %0l" : "=r"(exr) );
+
+	return(exr);
+}
+
+/* ã³ã³ãã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼EXRï¼ã®ç¾å¨å¤ã®å¤æ´ */
+Inline void set_exr(UB exr)
+{
+	Asm( "ldc.b	%0l, exr" :: "r"(exr) );
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª (å²è¾¼ã¿ã¢ã¼ãï¼ç¨)
+ */
+
+/* ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã */
+Inline IPM current_intmask(void)
+{
+	return(  (IPM)  (current_exr() &  EXR_I_MASK) );
+}
+
+/* å²è¾¼ã¿ãã¹ã¯ã®è¨­å® */
+Inline void set_intmask(IPM intmask)
+{
+	set_exr( (IPM) ((current_exr() & ~EXR_I_MASK) | intmask ) );
+}
+
+/* ã«ã¼ãã«ç®¡çä¸ã®ãã¹ã¦ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿ */
+
+/* ã«ã¼ãã«ç®¡çä¸ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ (NMIãé¤ã)  */
+Inline void disint(void)
+{
+	/* set_intmask( (IPM) MAX_IPM ); */
+	set_exr( (IPM) ((current_exr() & ~EXR_I_MASK) | MAX_IPM ) );
+}
+
+/* ã«ã¼ãã«ç®¡çä¸ã®ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯ (NMIãé¤ã) */
+/*   ãã®å¦çã¯ãäºå®ä¸ãã«ã¼ãã«ç®¡çä¸ã®æç¡ãåããããã¹ã¦ã®å²è¾¼ã¿ã
+     è¨±å¯ãããã¨ã«ãªã£ã¦ããã */
+Inline void enaint()
+{
+	/* set_intmask( (IPM) 0 ); */
+	set_exr( (IPM)  (current_exr() & ~EXR_I_MASK) );
+}
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡ç¨é¢æ°
+ */
+
+/* ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ (NMIãé¤ã) */
+Inline void _disint_()
+{
+	/* set_intmask( (IPM) 7 ); */
+	set_exr( (IPM) (current_exr() | EXR_I_MASK) );
+}
+
+/*
+ *  ãããæä½ç¨é¢æ°
+ */
+
+/* ãããã¯ãªã¢ */
+Inline void bitclr(UW addr, UB bit)
+{
+	Asm( "bclr %1l, @%0" :: "r"(addr), "r"(bit) );
+}
+
+/* ãããã»ãã */
+Inline void bitset(UW addr, UB bit)
+{
+	Asm( "bset %1l, @%0" :: "r"(addr), "r"(bit) );
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.def	(revision 26)
@@ -0,0 +1,11 @@
+activate_r
+ret_main
+ret_int
+ret_exc
+task_intmask
+int_intmask
+intnest
+
+no_reg_exception
+cpu_putc
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_rename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_main			_kernel_ret_main
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define intnest			_kernel_intnest
+
+#define no_reg_exception	_kernel_no_reg_exception
+#define cpu_putc		_kernel_cpu_putc
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_main		__kernel_ret_main
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _intnest		__kernel_intnest
+
+#define _no_reg_exception	__kernel_no_reg_exception
+#define _cpu_putc		__kernel_cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_support.S	(revision 26)
@@ -0,0 +1,470 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"
+#include "offset.h"
+
+	.h8300s
+	.text
+	.align 2
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *  ã»dispatch ã¯ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0ãCPUã­ãã¯ç¶æ
+ï¼å²è¾¼ã¿ç¦æ­¢ç¶æ
+ï¼ã§
+ *    å¼ã³åºããªããã°ãªããªãã
+ *  ã»exit_and_dispatch ã¯ï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0ãCPUã­ãã¯ç¶æ
+ï¼å²è¾¼ã¿ç¦æ­¢
+ *    ç¶æ
+ï¼ã§å¼ã³åºãã®ãååã§ãããããããã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼
+ *    å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1 ã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããã
+ */
+
+	.global _dispatch
+	.global	_exit_and_dispatch
+
+/* ã¿ã¹ã¯ãã£ã¹ãããã£ãæç¤ºçã«å¼ã³åºãæ */
+_dispatch:
+	push.l	er2			/* er2ã6 ãä¿å­ */
+	push.l	er3
+	push.l	er4
+	push.l	er5
+	push.l	er6
+
+	mov.l	@_runtsk, er0		/* er0 = runtsk */
+	mov.l	sp, @(TCB_sp, er0)	/* runtsk->sp = sp
+					   (ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­) */
+	mov.l	#dispatch_r, er1
+	mov.l	er1, @(TCB_pc, er0)	/* runtsk->pc = dispatch_r
+					   (ã¿ã¹ã¯ã®å®è¡åéçªå°ãä¿å­) */
+
+	bra     dispatcher_1
+
+/* ç¾å¨å®è¡ä¸­ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã¿ã¹ã¯ãã£ã¹ãããã£ãå¼ã³åºãæ */
+_exit_and_dispatch:
+	sub.l	er0, er0
+	mov.l	er0, @_intnest		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0 */
+
+dispatcher_1:
+	/* ããã«ã¯ CPUã­ãã¯ï¼å²ãè¾¼ã¿ç¦æ­¢ï¼ã§æ¥ããã¨ */
+	mov.l	@_schedtsk, er0		/* er0 = schedtsk */
+	or.l	er0, er0		/* å¤å®é¨å (å®è¡å¯è½ã¿ã¹ã¯ã®æç¡) */
+	beq	dispatcher_2		/* schedtsk ãç¡ããªããå²è¾¼ã¿å¾
+ã¡ã¸ */
+
+	mov.l	er0, @_runtsk		/* runtsk = er0 (= schedtsk)
+					   (ã¿ã¹ã¯ã¹ã¤ããã®å®è¡) */
+	mov.l	@(TCB_sp, er0), sp	/* sp = runtsk->sp
+					   (ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿å¾©å
+) */
+	mov.l	@(TCB_pc, er0), er0	/* er0 = runtsk->pc
+					   (ã¿ã¹ã¯ã®å®è¡åéçªå°ã®åå¾) */
+					/* å®è¡åéçªå°ã¯ä»¥ä¸ã®3éã
+					   ã»ãã£ã¹ãããã£ã®åºå£  dispatch_r
+					   ã»å²è¾¼ã¿ï¼ä¾å¤ã®åºå£    ret_int_r
+					   ã»ã¿ã¹ã¯èµ·åç´å¾        activate_r
+					 */
+
+	jmp	@er0			/* ã¿ã¹ã¯ã®å®è¡åéçªå°ã¸ã¸ã£ã³ã */
+
+	/*
+	 *  å®è¡ãã¹ãã¿ã¹ã¯ãç¾ããã¾ã§å¾
+ã¤å¦ç
+	 *    ããã§ã³ã³ãã­ã¹ããåãæããã®ã¯ï¼
+	 *      ã»ããã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±º
+	 *      ã»å²è¾¼ã¿ãã³ãã©å
+ã§ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢
+	 *    ã¨ããäºã¤ã®æå³ãããï¼
+	 */ 
+dispatcher_2:
+	sub.l	er0, er0
+	mov.l	er0, @_runtsk		/* runtsk = NULL */
+
+	mov.l	#STACKTOP, sp		/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ */
+
+	sub.l	er0, er0
+	inc.l	#1, er0
+	mov.l	er0, @_intnest		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1 */
+
+dispatcher_2_enable_interrupt:
+#ifdef SUPPORT_CHG_IPM
+	ldc.b	@_task_intmask, exr	/* unlock_cpuç¸å½(å²è¾¼ã¿è¨±å¯) */
+#else /* SUPPORT_CHG_IPM */
+	ldc.b	#0, exr			/* unlock_cpuç¸å½(å²è¾¼ã¿è¨±å¯) */
+#endif /* SUPPORT_CHG_IPM */
+	sleep				/* å²è¾¼ã¿å¾
+ã¡ */
+	ldc.b	#MAX_IPM, exr		/* lock_cpu ç¸å½ (å²è¾¼ã¿ç¦æ­¢) */
+
+	mov.l	@_reqflg, er0		/* er0 = reqflg  */
+	or.l	er0, er0		/* å¤å®é¨å (ãã£ã¹ãããè¦æ±) */
+	beq	dispatcher_2_enable_interrupt
+					/* ãã£ã¹ãããè¦æ±ãç¡ãæã
+					   ã«ã¼ãã®å
+é ­ã¸ã¸ã£ã³ã */
+
+	sub.l	er0, er0		/* er0 = 0 (= NULL) */
+	mov.l	er0, @_reqflg		/* reqflg = NULL (reqflgãã¯ãªã¢) */
+	mov.l	er0, @_intnest		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0 */
+
+	bra	dispatcher_1		/* ãã£ã¹ãããå¦çã¸ã¸ã£ã³ã */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¸ã®å¾©å¸°å¦çï¼ãã£ã¹ãããã£åºå£å¦çï¼
+ */
+dispatch_r:
+	pop.l	er6			/* er2ã6 ãå¾©å
+ */
+	pop.l	er5
+	pop.l	er4
+	pop.l	er3
+	pop.l	er2
+
+	/* ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯ */
+	mov.l	@_runtsk, er0		/* er0 = runtsk */
+
+	mov.b	@(TCB_enatex, er0), r1l	/* r1l = runtsk->enatex */
+	btst	#TCB_enatex_bit, r1l	/* TCB_enatex == 1 ãï¼ */
+	beq	dispatch_r_1		/* ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ã®æãã¸ã£ã³ã */
+
+	mov.l	@(TCB_texptn, er0), er1	/* er1 = runtsk->texptn */
+	beq	dispatch_r_1		/* ã¿ã¹ã¯ä¾å¤è¦æ±ãç¡ãæãã¸ã£ã³ã */
+
+	jmp	@_call_texrtn		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åº */
+
+dispatch_r_1:
+        rts				/* dispatch å¼ã³åºãåæã¸æ»ã */
+
+/*============================================================================*/
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©åºå
+¥å£å¦ç
+ *    ããã«æ¥ãã¨ãã¯ãCPU ã­ãã¯ç¶æ
+ã§ã
+ *      er0(r0l) : å²è¾¼ã¿è¦æ±å¾ã®å²ãè¾¼ã¿ã¬ãã«ã®å¤
+ *      er1      : å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹
+ *    ãä»£å
+¥ããã¦ãããï¼er0, er1 ã¯ã¹ã¿ãã¯ã«ä¿å­æ¸ã¿ï¼
+ */
+
+	.global ret_main
+	.global	_ret_int_r	/* monitor åã */
+
+ret_main:
+	push.l	er2			/* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+	push.l  er3
+	push.l	er4
+	push.l	er5
+	push.l	er6
+		/* ãããããã¨ãH8S/2600 ã«ããã macl, mach ã¬ã¸ã¹ã¿ã®ä¿å­ã
+		   ããã§è¡ãå¿
+è¦ãããããç¥ãã¾ãããï¼å¾©å¸°æãåæ§ãï¼
+		   éçºç°å¢ã®å¶éã«ãããç¢ºèªã§ãã¦ãã¾ããã */
+
+	mov.l	@_intnest, er2		/* er2 = intnest */
+	mov.l	er2, er3		/* er3(= er2)ã¯ãæ¬¡ã®å¦çã§å©ç¨ããã */
+	inc.l	#1, er2			/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ += 1 */
+	mov.l	er2, @_intnest
+
+	or.l	er3, er3		/* å¤å®é¨å
+					   (å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ã) */
+	beq	first_exception		/* åæ®µã®å²è¾¼ã¿ã®æãã¸ã£ã³ã */
+
+/* å¤éå²è¾¼ã¿ã®å¦ç */
+multipul_exception:
+	ldc.b	r0l, exr		/* (ç¾å¨ã®å²è¾¼ã¿ã¬ãã«ä»¥ä¸)å²è¾¼ã¿è¨±å¯ */
+
+	jsr	@er1			/* å²è¾¼ã¿ãã³ãã©å¼åº */
+
+	ldc.b	#MAX_IPM, exr		/* lock_cpu ç¸å½ (å²è¾¼ã¿ç¦æ­¢) */
+
+	mov.l	@_intnest, er0		/* er0 = intnest */
+	dec.l	#1, er0			/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ -= 1 */
+	mov.l	er0, @_intnest
+
+	jmp	ret_to_task_int
+
+/* åæ®µã®å²è¾¼ã¿ã®å ´å */
+first_exception:
+
+	mov.l	sp, er2			/* er2 = ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	mov.l	#STACKTOP, sp		/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ */
+	push.l	er2			/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã
+					   å²è¾¼ã¿ã¹ã¿ãã¯ã«éé¿ */
+
+	ldc.b	r0l, exr		/* (ç¾å¨ã®å²è¾¼ã¿ã¬ãã«ä»¥ä¸)å²è¾¼ã¿è¨±å¯ */
+
+	jsr	@er1			/* å²è¾¼ã¿ãã³ãã©å¼åº */
+
+	ldc.b	#MAX_IPM, exr		/* lock_cpu ç¸å½ (å²è¾¼ã¿ç¦æ­¢) */
+
+	mov.l	@sp, sp			/* ã¿ã¹ã¯ã¹ã¿ãã¯ã«åæ¿ */
+
+	mov.l	@_intnest, er0		/* er0 = intnest */
+	dec.l	#1, er0			/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ -= 1 */
+	mov.l	er0, @_intnest
+
+	/* ãã£ã¹ãããè¦æ±/ã¿ã¹ã¯ä¾å¤å¦çè¦æ±(reqflg)ã®å¤å® */
+	mov.l	@_reqflg, er0		/* er0 = reqflg */
+	or.l	er0, er0		/* å¤å®é¨å */
+	bne	occur_dispatch_or_tsk_exception
+					/* reqflg = TRUE ã®æãã¸ã£ã³ã */
+					/* ä¸è¨ã®æ¡ä»¶ããOR ã§æç«ã®æ
+					   ã»é
+å»¶ãã£ã¹ããããçºç
+					   ã»ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ãçºç */
+
+	/* ã¬ã¸ã¹ã¿ã®å¾©å
+ */
+ret_to_task_int:
+	pop.l	er6			/*  +0:er6 */
+	pop.l	er5			/*  +4:er5 */
+	pop.l	er4			/*  +8:er4 */
+	pop.l	er3			/* +12:er3 */
+	pop.l	er2			/* +16:er2 */
+	pop.l	er1			/* +20:er1 */
+	pop.l	er0			/* +24:er0 */
+					/* +28:EXR -> EXR_offset = 28 */
+	rte				/* å²è¾¼ã¿çºçå ´æã«æ»ã */
+			/* EXR ã®å¾©å
+(unlock_cpu ç¸å½)ã¯ãã¼ãã¦ã§ã¢ãè¡ãã */
+
+/*
+ *  å²è¾¼ã¿åºå
+¥å£å¦çã«ãããé
+å»¶ãã£ã¹ããã/ã¿ã¹ã¯ä¾å¤ã«é¢ããå¦ç
+ */
+occur_dispatch_or_tsk_exception:
+
+/* å²è¾¼ã¿çºçåæã®å¤å® */
+	mov.b	@(EXR_offset, sp), r0l	/* r01 = ã¹ã¿ãã¯ä¸ã®EXR */
+	and.b	#EXR_I_MASK, r0l	/* r01 = ã¹ã¿ãã¯ä¸ã®å²ãè¾¼ã¿ãã¹ã¯ */
+
+#ifdef SUPPORT_CHG_IPM			/* r1l = ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®
+					         å²è¾¼ã¿ãã¹ã¯ */
+	mov.b	@_task_intmask, r1l
+#else /* SUPPORT_CHG_IPM */
+	mov.b	#0, r1l
+#endif /* SUPPORT_CHG_IPM */
+
+	cmp.b	r0l, r1l		/* å¤å®é¨å (å²è¾¼ã¿çºçåæ) */
+
+	bne	ret_to_task_int		/* å²è¾¼ã¿çºçå ´æããã¿ã¹ã¯ã³ã³ãã­ã¹ã
+					   ã§ãªãæãã¸ã£ã³ã */
+		/* è«ççãªåå²å
+ã¯ãto_int_routine ã«ããã SUPPORT_CHG_IPM
+		   ãã¯ã­ã§å²ã¾ããåæã®ç´å¾ã§ãããã³ã¹ãã®åé¡ãããæ¬è³ªç
+		   ã«åããªã®ã§ãret_to_task_int ã¨è¨è¿°ããã */
+
+	sub.l	er0, er0		/* er0 = NULL (= 0) */
+	mov.l	er0, @_reqflg		/* reqflg = NULL (reqflgãã¯ãªã¢) */
+
+/* é
+å»¶ãã£ã¹ãããã«é¢ããå¤å® */
+	/* ãã£ã¹ãããç¦æ­¢/è¨±å¯ã®å¤å® */
+	mov.l	@_enadsp, er0		/* er0 = enadsp */
+	or.l	er0, er0		/* å¤å®é¨å */
+	beq	to_tsk_exc		/* ãã£ã¹ãããç¦æ­¢ãªãã¸ã£ã³ã */
+
+	/* ã¹ã±ã¸ã¥ã¼ãªã³ã°çµæã®å¤å® */
+	mov.l	@_runtsk, er0		/* er0 = runtsk	*/
+	mov.l	@_schedtsk, er1		/* er1 = schedtsk */
+	cmp.l	er0, er1		/* å¤å®é¨å */
+	beq	to_tsk_exc		/* runtsk == schedtsk ãªãã¸ã£ã³ã */
+
+/* é
+å»¶ãã£ã¹ããããçºçããå ´å */
+occur_dispatch:
+#ifdef H8S_2600				/* H8S_2600ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³å®ç¾© */
+	/* ç©åã¬ã¸ã¹ã¿ã®éé¿ */
+	/* er0 ã¯ä¸è¨ã«ã¦å©ç¨ããã®ã§ç ´å£ã§ããªã */
+	stmac	mach, er1
+	push.l	er1
+	stmac	macl, er1
+	push.l	er1
+#endif /* H8S_2600 */
+
+	mov.l	sp, @(TCB_sp, er0)	/* runtsk->sp = sp
+					   (ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­) */
+
+	mov.l	#ret_int_r, er1
+	mov.l	er1, @(TCB_pc, er0)	/* runtsk->pc = ret_int_r
+					   (ã¿ã¹ã¯ã®å®è¡åéçªå°ãä¿å­) */
+
+	jmp	dispatcher_1		/* ãã£ã¹ãããã£å¼åº */
+
+/* é
+å»¶ãã£ã¹ãããã«ãã£ã¦ãã£ã¹ãããããã¿ã¹ã¯ã³ã³ãã­ã¹ãã®éå§å°ç¹ */
+_ret_int_r:	/* monitor åã */
+ret_int_r:
+
+#ifdef H8S_2600				/* H8S_2600ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³å®ç¾© */
+	/* ç©åã¬ã¸ã¹ã¿ã®å¾©å
+ */
+	pop.l	er0
+	ldmac	er0, macl
+	pop.l	er0
+	ldmac	er0, mach
+#endif /* H8S_2600 */
+
+/* é
+å»¶ãã£ã¹ããããçºçããªãã£ãå ´åã®éå§å°ç¹ */
+
+/* ã¿ã¹ã¯ä¾å¤å¦çã«é¢ããå¤å® */
+to_tsk_exc:
+	mov.l	@_runtsk, er0		/* er0 = runtsk */
+
+	/* ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢/è¨±å¯ã®å¤å® */
+	mov.b	@(TCB_enatex, er0), r1l	/* r1l = runtsk->enatex */
+	btst	#TCB_enatex_bit, r1l	/* TCB_enatex == 1 ãï¼ */
+	beq	to_int_routine		/* ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ã®æãã¸ã£ã³ã */
+
+	/* ã¿ã¹ã¯ä¾å¤è¦æ±ã®æç¡ã®å¤å® */
+	mov.l	@(TCB_texptn, er0), er1	/* er1 = runtsk->texptn */
+	beq	to_int_routine		/* ã¿ã¹ã¯ä¾å¤è¦æ±ãç¡ãæãã¸ã£ã³ã */
+
+	jsr	@_call_texrtn		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åº */
+
+to_int_routine:
+
+/* chg_ipm ã®è©±ã¯ãé
+å»¶ãã£ã¹ãããå
+ã®ã¿ã¹ã¯ã®åé¡ãªã®ã§ãããã«è¨è¿°ããã */
+#ifdef SUPPORT_CHG_IPM
+	/* å²ãè¾¼ã¿ãã³ãã©çµäºæã«å¥ã®ã¿ã¹ã¯ã¸ã¹ã¤ããããã¨ãã«ã
+	   å²ãè¾¼ã¿ãã¹ã¯ãæ´åãããå¦ç */
+	/* ä¾ï¼ãã£ã¹ãããé åºï¼
+		ã¿ã¹ã¯ï¼¡->å²ãè¾¼ã¿ãã³ãã©->ã¿ã¹ã¯ï¼¢->ã¿ã¹ã¯ï¼¡
+	       åä½ï¼
+		ãã®æã«ã¿ã¹ã¯ï¼¢å
+ã§ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ãè¡ãããå ´åã«ã
+		ãã®å²è¾¼ã¿ãã¹ã¯ã«é¢ããæ
+å ±ããã¿ã¹ã¯ï¼¢ããã¿ã¹ã¯ï¼¡ã¸ã¨
+		å¼ãç¶ãããã«å¿
+è¦ã*/
+	mov.b	@_task_intmask, r1l	/* r1l = task_intmask */
+		/* task_intmaskï¼CHG_IPM ã«ããå¤æ´ãããå¯è½æ§ã®ãã
+				 å²è¾¼ã¿ãã¹ã¯ */
+	mov.b	r1l, @(EXR_offset, sp)
+		/* ã¹ã¿ãã¯ä¸ã® EXR ã«ä¸æ¸ããããã */
+		/* å¶éäºé 
+ï¼EXR ã®ãã¬ã¼ã¹ããã T ã¯ä¿å­ãããªãã */
+#endif /* SUPPORT_CHG_IPM */
+
+	jmp	ret_to_task_int		/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¸ã®å¾©å¸° */
+
+/*============================================================================*/
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ */
+
+	.global _activate_r
+
+_activate_r:
+	/* ããã«æ¥ãã¨ãã¯ãCPUã­ãã¯ã«ãªã£ã¦ããã */
+
+	mov.l	#_ext_tsk, er0
+	push.l	er0				/* ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å® */
+
+	/* ã¿ã¹ã¯é¢ä¿ã®è¨­å®æºå */
+	mov.l	@_runtsk, er2			/* er2 = runtsk */
+	mov.l	@(TCB_tinib, er2), er2		/* er2 = runtsk->tinib */
+
+	/* ã¿ã¹ã¯èµ·åçªå°ã®è¨­å® */
+	mov.l	@(TINIB_task, er2), er1		/* er1 = runtsk->tinib->task */
+
+	/* ã¿ã¹ã¯ã¸ã®å¼æ°ï¼æ¡å¼µæ
+å ±ï¼è¨­å® */
+	mov.l	@(TINIB_exinf, er2), er0	/* er0 = runtsk->tinib->exinf */
+
+#ifdef SUPPORT_CHG_IPM
+	ldc.b	@_task_intmask, exr		/* unlock_cpuç¸å½(å²è¾¼ã¿è¨±å¯) */
+#else /* SUPPORT_CHG_IPM */
+	ldc.b	#0, exr				/* unlock_cpuç¸å½(å²è¾¼ã¿è¨±å¯) */
+#endif /* SUPPORT_CHG_IPM */
+
+	jmp	@er1				/* ã¿ã¹ã¯èµ·å */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ *  no_reg_exception()
+ *    CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºãããã
+ *    ä¾å¤ãçºçããæç¹ã® PCãer0ã7 ãåºåãã¦ã«ã¼ãã«ãåæ­¢ããã
+ */
+	.global no_reg_exception
+
+no_reg_exception:
+
+	push.l	er0			/* er0ã6ãä¿å­	*/
+	push.l	er1
+	push.l	er2
+	push.l	er3
+	push.l	er4
+	push.l	er5
+	push.l	er6
+
+	mov.l	sp, er0			/* å¼æ°ã«ã¹ã¿ãã¯ãã¤ã³ã¿ãè¨­å®	*/
+	/* CPUä¾å¤çºçæç¹ã® SP ã¯ã
+	   34(= 4*7(er) + 1(exr) + 1(äºç´) + 1(ccr) + 3(pc) ) ãå¼ã */
+
+	jsr	@_cpu_experr		/* cpu_experr()ã®å¼ã³åºã */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/cpu_unrename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_main
+#undef ret_int
+#undef ret_exc
+#undef task_intmask
+#undef int_intmask
+#undef intnest
+
+#undef no_reg_exception
+#undef cpu_putc
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_main
+#undef _ret_int
+#undef _ret_exc
+#undef _task_intmask
+#undef _int_intmask
+#undef _intnest
+
+#undef _no_reg_exception
+#undef _cpu_putc
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s.h	(revision 26)
@@ -0,0 +1,344 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_H_
+#define _H8S_H_
+
+#include <util.h>
+
+/*
+ *  H8S/2600, H8S/2000 CPU ç¨å®ç¾©
+ *    ããã³ããã¹ã³ã³ãã­ã¼ã©ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢é£ã®å®ç¾©
+ */
+
+/*
+ *  ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿(CCR)
+ */
+#define CCR_I		BIT7
+#define CCR_UI		BIT6
+#define CCR_H		BIT5
+#define CCR_U		BIT4
+#define CCR_N		BIT3
+#define CCR_Z		BIT2
+#define CCR_V		BIT1
+#define CCR_C		BIT0
+
+/*
+ *  ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿(EXR)
+ */
+#define EXR_T		BIT7		/* ãã¬ã¼ã¹ããã */
+#define EXR_I2		BIT2		/* å²è¾¼ã¿ãã¹ã¯ããã */
+#define EXR_I1		BIT1		/* å²è¾¼ã¿ãã¹ã¯ããã */
+#define EXR_I0		BIT0		/* å²è¾¼ã¿ãã¹ã¯ããã */
+
+/* å²è¾¼ã¿ãã¹ã¯ãããåå¾ç¨ãã¹ã¯ */
+#define EXR_I_MASK	(EXR_I2|EXR_I1|EXR_I0)
+
+/*
+ *  MCUåä½ã¢ã¼ãé¢é£ã®ã¬ã¸ã¹ã¿
+ */
+
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define MDCR		0xff3b
+#define SYSCR		0xff39
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* MDCR */
+#define MDS2		BIT2
+#define MDS1		BIT1
+#define MDS0		BIT0
+
+/* SYSCR */
+#define INTM1		BIT5
+#define INTM0		BIT4
+#define NMIEG		BIT3
+#define RAME		BIT0
+
+#define RAME_BIT	0x0
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ */
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+/* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã¯ãæ¢ã«å®ç¾©æ¸ã¿ */
+#define ISCRH		0xff2c		/* IRQã»ã³ã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define ISCRL		0xff2d		/* IRQã»ã³ã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define IER		0xff2e		/* IRQã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define ISR		0xff2f		/* IRQã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define IPRA		0xfec4		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿A */
+#define IPRB 		0xfec5		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿B */
+#define IPRC		0xfec6		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿C */
+#define IPRD		0xfec7		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿D */
+#define IPRE		0xfec8		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿E */
+#define IPRF		0xfec9		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿F */
+#define IPRG		0xfeca		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿G */
+#define IPRH		0xfecb		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿H */
+#define IPRI		0xfecc		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿I */
+#define IPRJ		0xfecd		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿J */
+#define IPRK		0xfece		/* ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿K */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* IPRx (x = A-K) */
+#define IPR6		BIT6
+#define IPR5		BIT5
+#define IPR4		BIT4
+#define IPR2		BIT2
+#define IPR1		BIT1
+#define IPR0		BIT0
+
+/* icu_set_ilvç¨ */
+#define IPR_UPR		TRUE
+#define IPR_LOW		FALSE
+#define IPR_UPR_MASK	(IPR6|IPR5|IPR4)	/* IPRä¸ä½ããããã¹ã¯ */
+#define IPR_LOW_MASK	(IPR2|IPR1|IPR0)	/* IPRä¸ä½ããããã¹ã¯ */
+
+/* IER */
+#define IRQ7E		BIT7
+#define IRQ6E		BIT6
+#define IRQ5E		BIT5
+#define IRQ4E		BIT4
+#define IRQ3E		BIT3
+#define IRQ2E		BIT2
+#define IRQ1E		BIT1
+#define IRQ0E		BIT0
+
+/* ISCRH */
+#define IRQ7SCB		BIT7
+#define IRQ7SCA		BIT6
+#define IRQ6SCB		BIT5
+#define IRQ6SCA		BIT4
+#define IRQ5SCB		BIT3
+#define IRQ5SCA		BIT2
+#define IRQ4SCB		BIT1
+#define IRQ4SCA		BIT0
+
+/* ISCRL */
+#define IRQ3SCB		BIT7
+#define IRQ3SCA		BIT6
+#define IRQ2SCB		BIT5
+#define IRQ2SCA		BIT4
+#define IRQ1SCB		BIT3
+#define IRQ1SCA		BIT2
+#define IRQ0SCB		BIT1
+#define IRQ0SCA		BIT0
+
+/* ISR */
+#define IRQ7F		BIT7
+#define IRQ6F		BIT6
+#define IRQ5F		BIT5
+#define IRQ4F		BIT4
+#define IRQ3F		BIT3
+#define IRQ2F		BIT2
+#define IRQ1F		BIT1
+#define IRQ0F		BIT0
+
+/* å²è¾¼ã¿ä¾å¤å¦çãã¯ã¿ãã¼ãã«ã®ãã¯ã¿çªå· */
+					/* è¦æ±çºçå
+ */
+#define IRQ_POWRESET	0		/* ãã¯ã¼ãªã³ãªã»ãã */
+#define IRQ_MANRESET	1		/* ããã¥ã¢ã«ãªã»ãã */
+/* 2-4 ã¯ãä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«å¯¾å¿ããã®ã§ãçç¥ */
+#define IRQ_TRACE	5		/* ãã¬ã¼ã¹ */
+/* 6 ã¯ãä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«å¯¾å¿ããã®ã§ãçç¥ */
+#define IRQ_NMI		7		/* å¤é¨ç«¯å­ */
+#define IRQ_TRAP0	8		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP1	9		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP2	10		/* ãã©ããå½ä»¤ */
+#define IRQ_TRAP3	11		/* ãã©ããå½ä»¤ */
+/* 12-15 ã¯ãä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«å¯¾å¿ããã®ã§ãçç¥ */
+#define IRQ_IRQ0	16		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ1	17		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ2	18		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ3	19		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ4	20		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ5	21		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ6	22		/* å¤é¨ç«¯å­ */
+#define IRQ_IRQ7	23		/* å¤é¨ç«¯å­ */
+#define IRQ_SWDTEND	24		/* DTC */
+#define IRQ_WOVI	25		/* ã¦ã©ããããã°ã¿ã¤ã */
+#define IRQ_CMI 	26		/* ãªãã¬ãã·ã¥ã³ã³ãã­ã¼ã© */
+/* 27 çªã¯ããªã¶ã¼ã */
+#define IRQ_ADI		28		/* A/D */
+/* 29, 30, 31 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI0A	32		/* TPUãã£ãã«0 */
+#define IRQ_TGI0B	33		/* TPUãã£ãã«0 */
+#define IRQ_TGI0C	34		/* TPUãã£ãã«0 */
+#define IRQ_TGI0D	35		/* TPUãã£ãã«0 */
+#define IRQ_TCI0V	36		/* TPUãã£ãã«0 */
+/* 37, 38, 39 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI1A	40		/* TPUãã£ãã«1 */
+#define IRQ_TGI1B	41		/* TPUãã£ãã«1 */
+#define IRQ_TCI1V	42		/* TPUãã£ãã«1 */
+#define IRQ_TCI1U	43		/* TPUãã£ãã«1 */
+#define IRQ_TGI2A	44		/* TPUãã£ãã«2 */
+#define IRQ_TGI2B	45		/* TPUãã£ãã«2 */
+#define IRQ_TCI2V	46		/* TPUãã£ãã«2 */
+#define IRQ_TCI2U	47		/* TPUãã£ãã«2 */
+#define IRQ_TGI3A	48		/* TPUãã£ãã«3 */
+#define IRQ_TGI3B	49		/* TPUãã£ãã«3 */
+#define IRQ_TGI3C	50		/* TPUãã£ãã«3 */
+#define IRQ_TGI3D	51		/* TPUãã£ãã«3 */
+#define IRQ_TCI3V	52		/* TPUãã£ãã«3 */
+/* 53, 54, 55 çªã¯ããªã¶ã¼ã */
+#define IRQ_TGI4A	56		/* TPUãã£ãã«4 */
+#define IRQ_TGI4B	57		/* TPUãã£ãã«4 */
+#define IRQ_TCI4V	58		/* TPUãã£ãã«4 */
+#define IRQ_TCI4U	59		/* TPUãã£ãã«4 */
+#define IRQ_TGI5A	60		/* TPUãã£ãã«5 */
+#define IRQ_TGI5B	61		/* TPUãã£ãã«5 */
+#define IRQ_TCI5V	62		/* TPUãã£ãã«5 */
+#define IRQ_TCI5U	63		/* TPUãã£ãã«5 */
+/* 64, 65, 66, 67, 68, 69, 70, 71 çªã¯ããªã¶ã¼ã */
+#define IRQ_DEND0A	72		/* DMAC */
+#define IRQ_DEND0B	73		/* DMAC */
+#define IRQ_DEND1A	74		/* DMAC */
+#define IRQ_DEND1B	75		/* DMAC */
+/* 76, 77, 78, 79 çªã¯ããªã¶ã¼ã */
+#define IRQ_ERI0	80		/* SCIãã£ãã«0 */
+#define IRQ_RXI0	81		/* SCIãã£ãã«0 */
+#define IRQ_TXI0	82		/* SCIãã£ãã«0 */
+#define IRQ_TEI0	83		/* SCIãã£ãã«0 */
+#define IRQ_ERI1	84		/* SCIãã£ãã«1 */
+#define IRQ_RXI1	85		/* SCIãã£ãã«1 */
+#define IRQ_TXI1	86		/* SCIãã£ãã«1 */
+#define IRQ_TEI1	87		/* SCIãã£ãã«1 */
+/* 88, 89, 90, 91 çªã¯ããªã¶ã¼ã */
+
+/*
+ *  ãã¹ã³ã³ãã­ã¼ã©
+ */
+/* ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define ABWCR		0xfed0		/* ãã¹å¹
+ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define ASTCR		0xfed1		/* ã¢ã¯ã»ã¹ã¹ãã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define WCRH		0xfed2		/* ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define WCRL      	0xfed3		/* ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define BCRH		0xfed4		/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H */
+#define BCRL		0xfed5		/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L */
+#define MCR		0xfed6		/* ã¡ã¢ãªã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define DRAMCR		0xfed7		/* DRAMã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define RTCNT		0xfed8		/* ãªãã¬ãã·ã¥ã¿ã¤ãã«ã¦ã³ã¿ */
+#define RTCOR		0xfed9		/* ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* ASTCR */
+#define AST7 		BIT7
+#define AST6 		BIT6
+#define AST5 		BIT5
+#define AST4 		BIT4
+#define AST3 		BIT3
+#define AST2 		BIT2
+#define AST1 		BIT1
+#define AST0 		BIT0
+
+/* WCRH */
+#define W71 		BIT7
+#define W70 		BIT6
+#define W61 		BIT5
+#define W60 		BIT4
+#define W51 		BIT3
+#define W50 		BIT2
+#define W41 		BIT1
+#define W40 		BIT0
+
+/* WCRL */
+#define W31 		BIT7
+#define W30 		BIT6
+#define W21 		BIT5
+#define W20 		BIT4
+#define W11 		BIT3
+#define W10 		BIT2
+#define W01 		BIT1
+#define W00 		BIT0
+
+/* BCRH */
+#define ICIS1 		BIT7
+#define ICIS0 		BIT6
+#define BRSTRM		BIT5
+#define BRSTS1 		BIT4
+#define BRSTS0		BIT3
+#define RMTS2		BIT2
+#define RMTS1		BIT1
+#define RMTS0 		BIT0
+
+/*
+ *  å²è¾¼ã¿æã®ã¹ã¿ãã¯ã«ãããEXRã¬ã¸ã¹ã¿ã®ãªãã»ãã
+ */
+#define EXR_offset	28
+
+/*
+ *  æªå®ç¾©å²è¾¼ã¿çºçæã®ã¨ã©ã¼åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef struct exc_stack {
+	UW	er6;
+	UW	er5;
+	UW	er4;
+	UW	er3;
+	UW	er2;
+	UW	er1;
+	UW	er0;
+	UB	exr;
+	UB	tmp;
+	UH	ccr;	/* 1 byte : 1 byte = CCR : PC(ä¸ä½ï¼ãã¤ã) */
+	UH	pc;	/* 1 byte : 1 byte = PC(ä¸ä½ï¼ãã¤ã) */
+} EXCSTACK;
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _H8S_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/Makefile.config	(revision 26)
@@ -0,0 +1,40 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼H8S/2350 ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = exception_vector.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV), GDB_STUB)
+	LDSCRIPT = $(CPU)/$(SYS)/h8s_coff_gdb.ld
+else
+	LDSCRIPT = $(CPU)/$(SYS)/h8s_coff.ld
+endif
+
+#
+#  ä¾å¤å¦çãã¯ã¿ãã¼ãã«ã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾© (å°æ¥æ¡å¼µç¨)
+#
+$(EXCVTBL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(EXCVTBL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/exception_vector.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/exception_vector.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/exception_vector.S	(revision 26)
@@ -0,0 +1,200 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+#include <jsp_kernel.h>
+#include <hw_serial.h>
+
+
+/*
+ *  å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+ *    ãã¯ã¿ãã¼ãã«ã¯åºå®ãªã®ã§ãå²è¾¼ã¿ã®åºå
+¥ãå£å¦çã®ã©ãã«ã¯
+ *    ä»¥ä¸ã®ãã¯ã¿ãã¼ãã«ã«ç´æ¥æ¸ãè¾¼ãå¿
+è¦ãããã
+ */
+
+	.h8300s
+	.section .vectors
+	.align 4
+
+/*	.global _vectors*/
+
+_vectors:
+	.long	start				/*  0, 0x0000: ãã¯ã¼ãªã³ãªã»ãã	*/
+	.long	start    			/*  1, 0x0004: ããã¥ã¢ã«ãªã»ãã	*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/*  2, 0x0008: ã·ã¹ãã äºç´		*/
+	.long	no_reg_exception		/*  3, 0x000c: ã·ã¹ãã äºç´		*/
+	.long	no_reg_exception		/*  4, 0x0010: ã·ã¹ãã äºç´		*/
+	/*  ---ãã¬ã¼ã¹-----------------------------------------------  */
+	.long	no_reg_exception		/*  5, 0x0014: ãã¬ã¼ã¹			*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/*  6, 0x0018: ã·ã¹ãã äºç´		*/
+	/*  ---NMI----------------------------------------------------  */
+	.long	start				/*  7, 0x001c: å¤é¨å²è¾¼ã¿  NMI		*/
+	/*  ---ãã©ããå½ä»¤-------------------------------------------  */
+	.long	no_reg_exception		/*  8, 0x0020: ãã©ããå½ä»¤		*/
+	.long	no_reg_exception		/*  9, 0x0024: ãã©ããå½ä»¤		*/
+	.long	no_reg_exception		/* 10, 0x0028: ãã©ããå½ä»¤		*/
+	.long	no_reg_exception		/* 11, 0x002c: ãã©ããå½ä»¤		*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 12, 0x0030: ã·ã¹ãã äºç´		*/
+	.long	no_reg_exception		/* 13, 0x0034: ã·ã¹ãã äºç´		*/
+	.long	no_reg_exception		/* 14, 0x0038: ã·ã¹ãã äºç´		*/
+	.long	no_reg_exception		/* 15, 0x003c: ã·ã¹ãã äºç´		*/
+	/*  ---å¤é¨å²è¾¼ã¿---------------------------------------------  */
+	.long	no_reg_exception		/* 16, 0x0040: IRQ0	*/
+	.long	no_reg_exception		/* 17, 0x0044: IRQ1	*/
+	.long	no_reg_exception		/* 18, 0x0048: IRQ2	*/
+	.long	no_reg_exception		/* 19, 0x004c: IRQ3 	*/
+	.long	no_reg_exception		/* 20, 0x0050: IRQ4	*/
+	.long	no_reg_exception		/* 21, 0x0054: IRQ5	*/
+	.long	no_reg_exception		/* 22, 0x0058: IRQ6	*/
+        .long	no_reg_exception		/* 23, 0x005c: IRQ7	*/
+        /*  ---DTC----------------------------------------------------  */
+        .long	no_reg_exception		/* 24, 0x0060: SWDTEND(ã½ããã¦ã§ã¢èµ·åãã¼ã¿è»¢éçµäº)	*/
+        /*  ã¦ã©ããããã°ã¿ã¤ã--------------------------------------  */
+	.long	no_reg_exception		/* 25, 0x0064: WOVI(ã¤ã³ã¿ã¼ãã«ã¿ã¤ã)	*/
+	/*  ---ãªãã¬ãã·ã¥ã³ã³ãã­ã¼ã©-------------------------------  */
+	.long	no_reg_exception		/* 26, 0x0068: CMI(ã³ã³ãã¢ããã)	*/
+        /*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 27, 0x006c: ãªã¶ã¼ã	*/
+ 	/*  ---A/D----------------------------------------------------  */
+	.long	no_reg_exception		/* 28, 0x0070: ADI(A/Då¤æã®çµäº)	*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 29, 0x0074: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 30, 0x0078: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 31, 0x007c: ãªã¶ã¼ã	*/
+	/*  ---TPUãã£ãã«0-------------------------------------------  */
+	.long	_INT_ENTRY(timer_handler)	/* 32, 0x0080: TGI0A	*/
+	.long	no_reg_exception		/* 33, 0x0084: TGI0B	*/
+	.long	no_reg_exception		/* 34, 0x0088: TGI0C	*/
+	.long	no_reg_exception		/* 35, 0x008c: TGI0D	*/
+	.long	no_reg_exception		/* 36, 0x0090: TCI0V	*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 37, 0x0094: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 38, 0x0098: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 39, 0x009c: ãªã¶ã¼ã	*/
+	/*  ---TPUãã£ãã«1-------------------------------------------  */
+	.long	no_reg_exception		/* 40, 0x00a0: TGI1A	*/
+	.long	no_reg_exception		/* 41, 0x00a4: TGI1B	*/
+	.long	no_reg_exception		/* 42, 0x00a8: TCI1V	*/
+	.long	no_reg_exception		/* 43, 0x00ac: TCI1U	*/
+	/*  ---TPUãã£ãã«2-------------------------------------------  */
+	.long	no_reg_exception		/* 44, 0x00b0: TGI2A	*/
+	.long	no_reg_exception		/* 45, 0x00b4: TGI2B	*/
+	.long	no_reg_exception		/* 46, 0x00b8: TCI2V	*/
+	.long	no_reg_exception		/* 47, 0x00bc: TCI2U	*/
+	/*  --TPUãã£ãã«3--------------------------------------------  */
+	.long	no_reg_exception		/* 48, 0x00c0: TGI3A	*/
+	.long	no_reg_exception		/* 49, 0x00c4: TGI3B	*/
+	.long	no_reg_exception		/* 50, 0x00c8: TGI3C	*/
+	.long	no_reg_exception		/* 51, 0x00cc: TGI3D	*/
+	.long	no_reg_exception		/* 52, 0x00d0: TCI3V	*/
+	/*  ----------------------------------------------------------  */
+ 	.long	no_reg_exception		/* 53, 0x00d4: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 54, 0x00d8: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 55, 0x00dc: ãªã¶ã¼ã	*/
+	/*  ---TPUãã£ãã«4-------------------------------------------  */
+	.long	no_reg_exception		/* 56, 0x00e0: TGI4A	*/
+	.long	no_reg_exception		/* 57, 0x00e4: TGI4B	*/
+	.long	no_reg_exception		/* 58, 0x00e8: TCI4V	*/
+	.long	no_reg_exception		/* 59, 0x00ec: TCI4U	*/
+	/*  ---TPUãã£ãã«5-------------------------------------------  */
+	.long	no_reg_exception		/* 60, 0x00f0: TGI5A	*/
+	.long	no_reg_exception		/* 61, 0x00f4: TGI5B	*/
+	.long	no_reg_exception		/* 62, 0x00f8: TCI5V	*/
+	.long	no_reg_exception		/* 63, 0x00fc: TCI5U    */
+     	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 64, 0x0100: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 65, 0x0104: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 66, 0x0108: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 67, 0x010c: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 68, 0x0110: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 69, 0x0114: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 70, 0x0118: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 71, 0x011c: ãªã¶ã¼ã	*/
+	/*  ---DMAC---------------------------------------------------  */
+	.long	no_reg_exception		/* 72, 0x0120: DEND0A	*/
+	.long	no_reg_exception		/* 73, 0x0124: DEND0B	*/
+	.long	no_reg_exception		/* 74, 0x0128: DEND1A	*/
+	.long	no_reg_exception		/* 75, 0x012c: DEND1B	*/
+	/*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 76, 0x0130: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 77, 0x0134: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 78, 0x0138: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 79, 0x013c: ãªã¶ã¼ã	*/
+	/*  ---SCIãã£ãã«0-------------------------------------------  */
+	.long	_INT_ENTRY(sio1_handler_error)	/* 80, 0x0140: ERI0	*/
+	.long	_INT_ENTRY(sio1_handler_in)	/* 81, 0x0144: RXI0	*/
+	.long	_INT_ENTRY(sio1_handler_out)	/* 82, 0x0148: TXI0	*/
+	.long	no_reg_exception		/* 83, 0x014c: TEI0	*/
+        /*  ---SCIãã£ãã«1-------------------------------------------  */
+#if TNUM_SIOP >= 2
+	.long	_INT_ENTRY(sio2_handler_error)	/* 84, 0x0150: ERI1	*/
+	.long	_INT_ENTRY(sio2_handler_in)	/* 85, 0x0154: RXI1	*/
+	.long	_INT_ENTRY(sio2_handler_out)	/* 86, 0x0158: TXI1	*/
+	.long	no_reg_exception		/* 87, 0x015c: TEl1	*/
+#else
+	.long	no_reg_exception		/* 84, 0x0150: ERI1	*/
+	.long	no_reg_exception		/* 85, 0x0154: RXI1	*/
+	.long	no_reg_exception		/* 86, 0x0158: TXI1	*/
+	.long	no_reg_exception		/* 87, 0x015c: TEl1	*/
+#endif /* TNUM_SIOP >= 2 */
+        /*  ----------------------------------------------------------  */
+	.long	no_reg_exception		/* 88, 0x0160: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 89, 0x0164: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 90, 0x0168: ãªã¶ã¼ã	*/
+	.long	no_reg_exception		/* 91, 0x016c: ãªã¶ã¼ã	*/
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s2350.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s2350.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s2350.h	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_2350_H_
+#define _H8S_2350_H_
+
+/*
+ *  H8S/2350 ç¨å®ç¾©
+ */
+/*
+ *  ã¢ã¸ã¥ã¼ã«ã¹ãããã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+ *  (æ§ã
+ãªã¢ã¸ã¥ã¼ã«ã® ONãOFF ã«ä½¿ã£ã¦ããã®ã§ãããã§å®ç¾©ããã)
+ */
+#define MSTPCR		0xff3c	/* ã¢ã¸ã¥ã¼ã«ã¹ãããã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+
+/*
+ *  I/O ãã¼ã
+ */
+
+/* åãã¼ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+
+/* port1 */
+#define P1DDR		0xfeb0
+#define P1DR		0xff60
+#define PORT1		0xff50
+
+/* port2 */
+#define P2DDR		0xfeb1
+#define P2DR		0xff61
+#define PORT2		0xff51
+
+/* port3 */
+#define P3DDR		0xfeb2
+#define P3DR		0xff62
+#define PORT3		0xff52
+#define P3ODR		0xff76
+
+/* port4 */
+#define PORT4		0xff53
+
+/* port5 */
+#define P5DDR		0xfeb4
+#define P5DR		0xff64
+#define PORT5		0xff54
+
+/* port6 */
+#define P6DDR		0xfeb5
+#define P6DR		0xff65
+#define PORT6 		0xff55
+
+/*  portA  */
+#define PADDR		0xfeb9
+#define PADR		0xff69
+#define PORTA		0xff59
+
+/*  portE  */
+#define PEDDR		0xfebd
+#define PEDR		0xff6d
+#define PORTE		0xff5d
+#define PEPCR		0xff74
+
+/*  portF  */
+#define PFDDR		0xfebe
+#define PFDR		0xff6e
+#define PORTF		0xff5e
+
+/*  portG  */
+#define PGDDR		0xfebf	/* ãã¼ãï¼§ãã¼ã¿ãã£ã¹ã¯ãªãã·ã§ã³ã¬ã¸ã¹ã¿ */
+#define PGDR		0xff6f	/* ãã¼ãï¼§ãã¼ã¿ã¬ã¸ã¹ã¿ */
+#define PORTG		0xff5f	/* ãã¼ãï¼§ã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* P2DDR */
+#define P27DDR		BIT7
+#define P26DDR		BIT6
+#define P25DDR		BIT5
+#define P24DDR		BIT4
+#define P23DDR		BIT3
+#define P22DDR		BIT2
+#define P21DDR		BIT1
+#define P20DDR		BIT0
+
+/* P3DDR */
+#define P37DDR		BIT7
+#define P36DDR		BIT6
+#define P35DDR		BIT5
+#define P34DDR		BIT4
+#define P33DDR		BIT3
+#define P32DDR		BIT2
+#define P31DDR		BIT1
+#define P30DDR		BIT0
+
+/* PGDDR */
+#define PG4DDR		BIT4
+#define PG3DDR		BIT3
+#define PG2DDR		BIT2
+#define PG1DDR		BIT1
+#define PG0DDR		BIT0
+
+#endif /* _H8S_2350_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff.ld	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300s)
+
+ENTRY("start")
+
+MEMORY {
+        vectors	: o = 0x000000, l = 0x000170	/* vector */
+	rom	: o = 0x000170, l = 0x01fe90	/* use 128k - 170 as the main ROM size.  */
+	ram	: o = 0x200000, l = 0x020000	/* use 128k as the main RAM size.  */
+}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+
+SECTIONS {
+
+	.vectors :
+	{
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >rom
+	_etext = . ;
+	PROVIDE (etext = .) ;
+
+	.rodata :
+	{
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data : AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ram
+	_end = .;
+	PROVIDE (end = .);
+
+	.comment	0 : { *(.comment) }
+	.debug		0 : { *(.debug) }
+	.line		0 : { *(.line) }
+	.debug_srcinfo	0 : { *(.debug_srcinfo) }
+	.debug_sfnames	0 : { *(.debug_sfnames) }
+	.debug_aranges	0 : { *(.debug_aranges) }
+	.debug_pubnames	0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(_memcpy = __dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff_gdb.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff_gdb.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/h8s_coff_gdb.ld	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+OUTPUT_FORMAT("coff-h8300")
+OUTPUT_ARCH(h8300s)
+
+ENTRY("start")
+
+MEMORY {
+        vectors	: o = 0x200000, l = 0x000170	/* vector */
+	rom	: o = 0x200170, l = 0x00fe90	/* use 64k - 170 as the main ROM size.  */
+	ram	: o = 0x210000, l = 0x00f000	/* use 64k - 0x1000 as the main RAM size.  */
+}
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+
+SECTIONS {
+
+	.vectors :
+	{
+		*(.vectors)
+	} >vectors
+
+	.text :
+	{
+		__text = . ;
+		*(.text)
+	} >rom
+	_etext = . ;
+	PROVIDE (etext = .) ;
+
+	.rodata :
+	{
+		*(.rodata)
+	} >rom
+
+	. = ALIGN(4);
+	__idata_start = . ;
+	.data : AT(__idata_start)
+	{
+		__data_start = . ;
+		*(.data)
+	} >ram
+	__idata_end = __idata_start + SIZEOF(.data);
+	_edata  =  . ;
+	PROVIDE (edata = .);
+
+	. = ALIGN(4);
+	__bss_start = .	;
+	.bss :
+	{
+		*(.bss)
+		*(COMMON)
+	} >ram
+	_end = .;
+	PROVIDE (end = .);
+
+	.comment	0 : { *(.comment) }
+	.debug		0 : { *(.debug) }
+	.line		0 : { *(.line) }
+	.debug_srcinfo	0 : { *(.debug_srcinfo) }
+	.debug_sfnames	0 : { *(.debug_sfnames) }
+	.debug_aranges	0 : { *(.debug_aranges) }
+	.debug_pubnames	0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(_memcpy = __dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/mispo_h8s2350.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/mispo_h8s2350.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/mispo_h8s2350.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _MISPO_H8S_2350_H_
+#define _MISPO_H8S_2350_H_
+
+/*
+ *  MISPO H8S/2350 è©ä¾¡ãã¼ãç¨å®ç¾©
+ */
+
+#define MISPO_H8S_2350
+
+/*
+ *  CPU ã¯ã­ãã¯
+ */
+#define CPU_CLOCK	20000			/* kHz = 20MHz*/
+
+/*
+ *  ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯ (å
+é¨ã¯ã­ãã¯Ï/4ã§ã«ã¦ã³ã)
+ */
+#define TIMER_CLOCK	((CPU_CLOCK)/4)		/* 20MHz / 4 = 5MHz = 5000kHz */
+
+/*
+ *  ãã¼ãï¼ã®è¨­å®ç¨ãã¯ã­
+ *    sys_support.Sã§ããã¼ãï¼ãè¨­å®ããã®ã«å©ç¨ããã
+ *    ãã®ãã¼ãã«ã¯ãLEDãæ¥ç¶ããã¦ããã®ã§ãå
+¨ã¦åºåæ¹åã«è¨­å®ããã
+ */
+#define	PORT2_INIT								\
+	mov.l	#(H8S_BASE_ADDR + P2DDR), er0					\
+	mov.b	#(P27DDR|P26DDR|P25DDR|P24DDR|P23DDR|P22DDR|P21DDR|P20DDR), r1l	\
+	mov.b	r1l, @er0
+
+/*
+ *  DIPã¹ã¤ãããLEDæä½ç¨ãã¯ã­
+ */
+#define dipsw_read()	h8s_reb_mem( (VP) P1DR )
+
+#define led_read()	h8s_reb_mem( (VP) P2DR )
+#define led_write(c)	h8s_wrb_mem( (VP) P2DR, c )
+
+#endif /* _MISPO_H8S_2350_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.c	(revision 26)
@@ -0,0 +1,126 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include <jsp_kernel.h>
+#include <hw_serial.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+
+#ifndef GDB_STUB
+
+	/*
+	 * ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤
+	 */
+#if TNUM_SIOP < 2
+	h8s_andh( (VP) MSTPCR, ~( BIT5 ) );
+#else /* TNUM_SIOP < 2 */
+	h8s_andh( (VP) MSTPCR, ~( BIT6 | BIT5 ) );
+#endif /* TNUM_SIOP < 2 */
+
+	/*
+	 *  ããã¼è¡¨ç¤ºç¨ã·ãªã¢ã«ãã¼ãã®åæå
+	 */
+	sio_init();
+
+#endif /* GDB_STUB */
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+void
+sys_exit(void)
+{
+	while (1);
+}
+
+
+/*
+ *  GDB STUB / ç´æ¥å¼åºã ã³ã³ã½ã¼ã«å¼åºãã«ã¼ãã³
+ */
+
+/* er0 ã«0, er1 ã«åºåãããæå­ãå
+¥ã trapa #1 ãå®è¡ãã */
+void
+stub_putc(char c)
+{
+	/* er0 = c */
+	Asm("push.l	er1");
+	Asm("mov.l	er0, er1");
+	Asm("sub.l	er0, er0");
+	Asm("trapa	#1");
+	Asm("pop.l	er1");
+}
+
+#ifdef GDB_STUB
+#define h8s_putc(c)	stub_putc(c)		/* GDBã¹ã¿ãã®ã·ã¹ãã ã³ã¼ã«åºå */
+#else  /* GDB_STUB */
+#define	h8s_putc(c)	sio_snd_chr_pol(c)	/* ã·ãªã¢ã«ãã¼ãã¸ã®ãã¼ãªã³ã°åºå */
+#endif /* GDB_STUB */
+
+/*   print_banner()  */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		h8s_putc('\r');
+	}
+	h8s_putc(c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_config.h	(revision 26)
@@ -0,0 +1,167 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®èª­ã¿è¾¼ã¿
+ */
+#include <h8s2350.h>
+#include <mispo_h8s2350.h>
+
+/*
+ *  vgxet_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2u	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2u	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨å
+¥åºåããã·ãªã¢ã«ãã¼ãçªå· */
+		/* CONSOLE_PORTID : monitor åã */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	22620
+#define	SIL_DLY_TIM2	3865
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/* ä»¥ä¸ã¯ãå
+±éãã­ã¥ã¡ã³ãã«ç¡ãç¬èªã®å®ç¾© */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã (release.ld)
+ *      0x000000 - 0x01ffff     ã³ã¼ãé å(128kB)
+ *      0x200000 -              ãã¼ã¿é å(128kB)
+ *               - 0x21ffff     ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ï¼ã¡ã¢ãªçµäº
+ */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã (debug.ld)
+ *      0x200000 - 0x20ffff     ã³ã¼ãé å(64kB)
+ *      0x210000 -              ãã¼ã¿é å(64kB-8kB(for GDB_STUB))
+ *               - 0x21efff     ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ï¼ã¡ã¢ãªçµäº
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#ifndef GDB_STUB
+#define STACKTOP    	0x21fffc	/* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+#else /* GDB_STUB */
+#define STACKTOP    	0x21effc	/* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+#endif /* GDB_STUB */
+
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«å®ç¾©
+ */
+#define SCI0_INT_LVL	3u		/* SCIãã£ãã«0ã®å²ãè¾¼ã¿ã¬ãã« */
+#define SCI1_INT_LVL	3u		/* SCIãã£ãã«1ã®å²ãè¾¼ã¿ã¬ãã« */
+#define TPU0_INT_LVL	5u		/* TPUãã£ãã«0ã®å²ãè¾¼ã¿ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãã®è¨­å®
+ */
+/* #define BAUD_RATE	9600u */	/* bps */
+#define BAUD_RATE	38400u
+/* #define BAUD_RATE	57600u */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_defs.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã¿ã¤ã
+ */
+#define H8S_2350
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ãããã¼ãå
+ */
+#define	TARGET_NAME	"MiSPO-H8S/2350 EVA"
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UW	SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern	ER	vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+
+#ifdef GDB_STUB
+	Asm("trapa #3");	/* GDB ã«ãããbreakpointã¨åç­ã®å¦çãè¡ãã */
+#else /* GDB_STUB */
+	while(1);
+#endif /* GDB_STUB */
+
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+sys_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_rename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define sys_putc		_kernel_sys_putc
+
+#ifdef LABEL_ASM
+
+#define _sys_putc		__kernel_sys_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_support.S	(revision 26)
@@ -0,0 +1,176 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+#include <jsp_kernel.h>
+
+/*
+ *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ä¾å­ããåæåå¦ç
+ */
+	.h8300s
+	.text
+	.align 2
+
+	.global	_hardware_init_hook
+
+_hardware_init_hook:
+
+#ifndef GDB_STUB	/* ROM ã®åæåãªã©ã¯ãGDB ã¹ã¿ãã§è¡ãã®ã§ä¸è¦ */
+	/*
+	 *  SYSCR ã®è¨­å®
+	 *  ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ããå²è¾¼ã¿å¶å¾¡ã¢ã¼ã2ã«è¨­å®
+	 *  ã»å
+èµRAMç¡å¹
+	 */
+	mov.l	#(H8S_BASE_ADDR+SYSCR), er0
+	mov.b	@er0, r1l		/* r1l = SYSCR */
+
+	or.b	#INTM1, r1l		/* INTM1 = 1(å²è¾¼ã¿å¶å¾¡ã¢ã¼ã2ã«è¨­å®) */
+	bset	#RAME_BIT, r1l		/* RAME  = 1(å
+èµRAMæå¹) */
+	mov.b	r1l, @er0		/* SYSCR = r1l */
+
+	/*
+	 *  MCU åä½ã¢ã¼ãã®è¨­å®
+	 *  ã»ãã¼ãä¸ã®ãã£ããã¹ã¤ããã§ã¢ã¼ã5ã«è¨­å®
+	 *    (ã¢ã¼ã5ï¼ã¢ããã³ã¹ãã»å
+èµROMç¡å¹æ¡å¼µã¢ã¼ãï¼ã¢ãã¬ã¹ç©ºéã¯16MB)
+	 *  ã»MCU åä½ã¢ã¼ãã®è¨­å®ã«ãããI/Oãã¼ãã¯ä»¥ä¸ã®ããã«è¨­å®ãããã
+         *      ãã¼ãA, B, Cï¼ã¢ãã¬ã¹åºå
+         *      ãã¼ãD      ï¼ãã¼ã¿å
+¥åºå
+         *      ãã¼ãF      ï¼PF6ãPF3 -> ãã¹å¶å¾¡åºå
+	 */
+
+	/*
+	 * I/O ãã¼ãã®åæå (DRAMã¤ã³ã¿ãã§ã¼ã¹é¢ä¿)
+	 */
+	mov.l	#(H8S_BASE_ADDR+PGDDR), er0	/* ãã¼ãï¼§ ã®è¨­å® */
+	mov.b	#(PG4DDR|PG3DDR), r1l		/* ã¢ã¼ãï¼ã§ã®å©ç¨ãªã®ã§ã
+						   CS0,CS1 ã¤ãã¼ãã« */
+	mov.b	r1l, @er0
+
+        /*
+         *  ãã¹ã³ã³ãã­ã¼ã©ã®è¨­å®
+         *  ã»å¤é¨ROM (0x000000-0x01ffff;128kB)ï¼ã¨ãªã¢0
+         *  ã»å¤é¨RAM (0x200000-0x21ffff:128kB)ï¼ã¨ãªã¢1
+         *  ã»å
+èµRAM (0xfff400-0xfffbff:  2kB)ï¼
+	 *  ã»å
+é¨I/O (0xfffe3f-0xffffff:     )ï¼ã¨ãªã¢7
+         *
+	 *  è¨­å®å¤
+	 *  ã»ã¨ãªã¢0 ï¼ã»16ãããã¢ã¯ã»ã¹ç©ºé		( ABW0=1 ; ABWCR )
+	 *		ã»3ã¹ãã¼ãã¢ã¯ã»ã¹		( AST0=1 ; ASTCR )
+	 *		ã»ãã­ã°ã©ã ã¦ã¨ã¤ãã3ã¹ãã¼ãæ¿å
+¥
+	 *						( W01=1, W00=1 ; WCRL )
+	 *  ã»ã¨ãªã¢1 ï¼ã»16ãããã¢ã¯ã»ã¹ç©ºé		( ABW1=1 ; ABWCR )
+	 *		ã»3ã¹ãã¼ãã¢ã¯ã»ã¹		( AST1=1 ; ASTCR )
+	 *		ã»ãã­ã°ã©ã ã¦ã¨ã¤ãã3ã¹ãã¼ãæ¿å
+¥
+	 *						( W11=1, W10=1 ; WCRL )
+	 *  ã»ã¢ã¤ãã«ãµã¤ã¯ã«ã®æ¿å
+¥
+	 *	      ï¼ã»ç°ãªãã¨ãªã¢ã®å¤é¨ãªã¼ããµã¤ã¯ã«ãé£ç¶ããã¨ãã«,
+	 *		  ã¢ã¤ãã«ãµã¤ã¯ã«ãæ¿å
+¥	( ICIS1=1 ; BCRH )
+	 *	      ï¼ã»å¤é¨ãªã¼ããµã¤ã¯ã«ã¨å¤é¨ã©ã¤ããµã¤ã¯ã«ãé£ç¶ããã¨ãã«,
+	 *		  ã¢ã¤ãã«ãµã¤ã¯ã«ãæ¿å
+¥	( ICIS0=1 ; BCRH )
+	 *	      ï¼ã»ãã¼ã¹ããµã¤ã¯ã«ã¯ï¼ã¹ãã¼ã	( BRSTS1=1; BCRH )
+         *  ( æ³¨æï¼å
+èµRAMåã³å
+èµI/Oã¬ã¸ã¹ã¿ã«å¯¾ããã¢ã¯ã»ã¹ã¹ãã¼ãæ°ã¯
+         *          ASTCRã®è¨­å®å¤ã«é¢ãããåºå®ã)
+	 */
+
+	/* ABWCR, ASTCR ã®è¨­å®ã¯åæå¤ã®ã¾ã¾ãªã®ã§ãçç¥ */
+
+	/* ã¦ã¨ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L (WCRL) ã®è¨­å® */
+	mov.l	#(H8S_BASE_ADDR+WCRL), er0
+	mov.b	#(W11|W10|W01|W00), r1l
+	mov.b	r1l, @er0
+
+	/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H (BCRH) ã®è¨­å® */
+	mov.l	#(H8S_BASE_ADDR+BCRH), er0
+ 	mov.b	#(ICIS1|ICIS0|BRSTS1), r1l	/* ã¬ã¸ã¹ã¿åæå¤ã¨åå¤ */
+	mov.b 	r1l, @er0
+
+#endif /* GDB_STUB */
+
+	/*
+	 * I/O ãã¼ãã®åæå (ãã®ä»)
+	 */
+
+	/* ãã¼ãï¼ã®è¨­å® */
+	/* ãã®ãã¼ãã«ã¯ãã¿ã¼ã²ãããã¼ãã§ã¯ãã£ããã¹ã¤ãããæ¥ç¶ããã¦ããã
+	   P1DDR ã¯åæå¤ã§ãå
+¥åããªã®ã§ãè¨­å®ä¸è¦ */
+
+	/* ãã¼ãï¼ã®è¨­å® */
+	/* ãã®ãã¼ãã«ã¯ãã¿ã¼ã²ãããã¼ãã§ã¯ LED ãæ¥ç¶ããã¦ããã
+	   åæåãã¯ã­ã¯ãã¿ã¼ã²ãããã¼ãã«é¢ãããã¡ã¤ã«ã«å®ç¾©ããã¦ããã */
+	PORT2_INIT
+
+	/* ãã¼ãï¼ã®è¨­å® */
+	/* ãã®ãã¼ãã«ã¯ãå
+èµSCI ãæ¥ç¶ããã¦ããã
+	   SCI ã® SCRãSMRã®æ¹ãä¸»ã¨ãªãè¨­å®ãè¡ãã®ã§ãè¨­å®ä¸è¦ */
+
+	mov.l	@bss_clear_k, er0
+	jmp	@er0
+
+bss_clear_k:
+	.long  bss_clear
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s2350/sys_unrename.h	(revision 26)
@@ -0,0 +1,13 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef sys_putc
+
+#ifdef LABEL_ASM
+
+#undef _sys_putc
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.c	(revision 26)
@@ -0,0 +1,478 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include <h8s_sci.h>
+
+/*
+ *  H8Så
+èµSCIç¨ ç°¡æSIOãã©ã¤ã
+ *  ã»ä¸è¨ã¯ãï¼ãã£ã³ãã«ç¨ã«è¨è¿°ãã¦ãããH8Sã·ãªã¼ãºã®ä¸­ã«ã¯ãï¼ãã£ã³ãã«
+ *    ä»¥ä¸ãµãã¼ããã¦ãããããããããããã®ã¨ãã®å¯¾å¿ã¯å®¹æã§ããã
+ */
+
+/* TNUM_SIOP : ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° (ããã©ã«ãå¤ 2)
+   TNUM_PORT : ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° (ããã©ã«ãå¤ 2)
+   (sys_config.h ã«è¨è¼) */
+
+/* ä»¥ä¸ã§ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ããUW åã¸ã­ã£ã¹ãããã¦ãããããã¯ããã¼ã¹
+   ã¢ãã¬ã¹ã«ãªãã»ããå¤ãå ãã¦ãæçµçãªã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãæ±ãã¦ãã
+   ããã§ãããåå¾å¾ã«ãæçµçã« VP åã«ã­ã£ã¹ãããã¦ããã(h8s_sci.h) */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UW	reg_base;	/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UB	smr_def;	/* SMR è¨­å®å¤ b6-b3;
+				   (éåä¿¡ãããæ°ãã¹ããããããï¼ããªãã£) */
+	UB	boud_brr_def;	/* BRR è¨­å®å¤ï¼ãã¼ã¬ã¼ãã®è¨­å®å¤ï¼ */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL		getready;	/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL		putready;	/* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ (UW)	SCI0_BASE_ADDR,
+	  (UB)	0,
+	  (UB)	BRR_RATE		/* N å¤ */
+	},
+#if TNUM_SIOP >= 2
+	{ (UW)	SCI1_BASE_ADDR,
+	  (UB)	0,
+	  (UB)	BRR_RATE		/* N å¤ */
+	}
+#endif /* TNUM_SIOP >= 2 */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)	((UINT)((siopid) - 1))
+#define get_siopinib(siopid)	(&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SCIç¨ã¬ã¸ã¹ã¿æä½é¢æ°
+ */
+Inline void
+h8s_sci_or( const SIOPINIB *siopinib, UW reg, UB val )
+{
+	h8s_sci_wrb( siopinib->reg_base, reg, h8s_sci_reb( siopinib->reg_base, reg ) | val );
+}
+
+Inline void
+h8s_sci_and( const SIOPINIB *siopinib, UW reg, UB val )
+{
+	h8s_sci_wrb( siopinib->reg_base, reg, h8s_sci_reb( siopinib->reg_base, reg ) & val );
+}
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+h8s_sci_getready(SIOPCB *siopcb)
+{
+	siopcb->getready = FALSE;
+	if( h8s_sci_reb( siopcb->siopinib->reg_base, (UW) SSR ) & RDRF )
+		siopcb->getready = TRUE;
+
+	return( siopcb->getready );
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+h8s_sci_putready(SIOPCB *siopcb)
+{
+	siopcb->putready = FALSE;
+	if( h8s_sci_reb( siopcb->siopinib->reg_base, (UW) SSR ) & TDRE )
+		siopcb->putready = TRUE;
+
+	return( siopcb->putready );
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+h8s_sci_getchar(SIOPCB *siopcb)
+{
+	/* RDRFã¯ãªã¢ */
+	h8s_sci_and( siopcb->siopinib, (UW) SSR, (UB) ~RDRF );
+
+	return( (char) h8s_sci_reb( siopcb->siopinib->reg_base, (UW) RDR ) );
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+h8s_sci_putchar(SIOPCB *siopcb, char c)
+{
+#ifndef GDB_STUB
+	h8s_sci_wrb( siopcb->siopinib->reg_base, (UW) TDR, c );
+
+	/* TDREã¯ãªã¢ */
+	h8s_sci_and( siopcb->siopinib, (UW) SSR, (UB) ~TDRE );
+#else
+	stub_putc( c );
+#endif
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+h8s_sci_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  SIOã¬ã¸ã¹ã¿åæåã«ã¼ãã³
+ */
+void
+h8s_sci_init_siopinib( const SIOPINIB  *siopinib )
+{
+	/*
+	 * SCIã¬ã¸ã¹ã¿ã®åæå
+	 */
+
+	/* éåä¿¡åæ­¢ */
+	h8s_sci_and( siopinib, (UW) SCR, (UB) ~( TE | RE ) );
+
+	/* ãããé·ãªã©è¨­å® */
+	h8s_sci_wrb( siopinib->reg_base, (UW) SMR, siopinib->smr_def );
+
+	/* ãã¼ã¬ã¼ãè¨­å® */
+	h8s_sci_wrb( siopinib->reg_base, (UW) BRR, siopinib->boud_brr_def );
+
+	/* å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹é¸æ */
+	h8s_sci_and( siopinib, (UW) SCR, (UB) ~( TIE | RIE | MPIE | TEIE | CKE1 | CKE0 ) );
+
+	/* ãã¼ã¬ã¼ãã®å®å®å(1bitåã®å¾
+ã¡) */
+	sil_dly_nse( 1/BAUD_RATE );
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	h8s_sci_and( siopinib, (UW) SSR, ~( ORER | FER | PER ) );
+
+	/* éåä¿¡è¨±å¯ãåä¿¡å²è¾¼ã¿è¨±å¯ */
+	h8s_sci_or( siopinib, (UW) SCR, ( RIE | TE | RE ) );
+}
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ãã¼ãã¼åºåç¨ã®åæå
+ */
+void
+h8s_sci_init(void)
+{
+	h8s_sci_init_siopinib( get_siopinib(1) );
+#if TNUM_SIOP >= 2
+	h8s_sci_init_siopinib( get_siopinib(2) );
+#endif /* TNUM_SIOP >= 2 */
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+h8s_sci_openflag(void)
+{
+#if TNUM_SIOP < 2
+	return( siopcb_table[0].openflag );
+#else /* TNUM_SIOP < 2 */
+	return( siopcb_table[0].openflag || siopcb_table[1].openflag );
+#endif /* TNUM_SIOP < 2 */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+h8s_sci_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB 		*siopcb = get_siopcb(siopid);
+	const SIOPINIB  *siopinib = siopcb->siopinib;
+
+#ifndef GDB_STUB
+	/* SCIã¬ã¸ã¹ã¿ã®åæå */
+	h8s_sci_init_siopinib( siopinib );
+#endif	/* GDB_STUB */
+
+	/* å²è¾¼ã¿ã¬ãã«è¨­å®ãå²è¾¼ã¿è¦æ±ã¯ãªã¢ã¯ãsio_opn_por ã§è¡ãã */
+
+	siopcb->exinf = exinf;
+	siopcb->getready = siopcb->putready = FALSE;
+	siopcb->openflag = TRUE;
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+h8s_sci_cls_por(SIOPCB *siopcb)
+{
+	/* TEND ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopcb->siopinib->reg_base, (UW) SSR ) & TEND ) );
+
+	h8s_sci_and( siopcb->siopinib, (UW) SCR, ~( TE | RE ) );
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+h8s_sci_snd_chr(SIOPCB *siopcb, char c)
+{
+	if( h8s_sci_putready(siopcb) ) {
+		h8s_sci_putchar(siopcb, c);
+		siopcb->putready = FALSE;
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+h8s_sci_rcv_chr(SIOPCB *siopcb)
+{
+	if( h8s_sci_getready(siopcb) ) {
+		siopcb->getready = FALSE;
+		return( (INT)(UB) h8s_sci_getchar(siopcb) );
+			/* UB ã®ã­ã£ã¹ãã¯ãç¬¦å·æ¡å¼µé²æ­¢ãããã */
+	}
+
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+h8s_sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		h8s_sci_or( siopcb->siopinib, (UW) SCR, TIE );
+		return;
+	case SIO_ERDY_RCV:
+		h8s_sci_or( siopcb->siopinib, (UW) SCR, RIE );
+		return;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+h8s_sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch( cbrtn ) {
+	case SIO_ERDY_SND:
+		h8s_sci_and( siopcb->siopinib, (UW) SCR, (UB) ~TIE );
+		return;
+	case SIO_ERDY_RCV:
+		h8s_sci_and( siopcb->siopinib, (UW) SCR, (UB) ~RIE );
+		return;
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI0å°ç¨)
+ */
+void
+h8s_sci0_isr_in()
+{
+	SIOPCB *siopcb = get_siopcb(1);
+
+	/* åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_rcv( siopcb->exinf );
+	}
+}
+
+void
+h8s_sci0_isr_out()
+{
+	SIOPCB *siopcb = get_siopcb(1);
+
+	/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_snd( siopcb->exinf );
+	}
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI0å°ç¨)
+ *
+ *  ã¨ã©ã¼å¦çã¯ãä¸è¨ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã
+ *  ã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼ããã¬ã¼ãã³ã°ã¨ã©ã¼ãããªãã£ã¨ã©ã¼
+ */
+void
+h8s_sci0_isr_error(void)
+{
+	SIOPCB *siopcb = get_siopcb(1);
+
+	if( siopcb->openflag ) {
+		/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+		h8s_sci_and( siopcb->siopinib, (UW) SSR, ~( RDRF | ORER | FER | PER ) );
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI1å°ç¨)
+ */
+void
+h8s_sci1_isr_in()
+{
+	SIOPCB *siopcb = get_siopcb(2);
+
+	/* åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_rcv( siopcb->exinf );
+	}
+}
+
+void
+h8s_sci1_isr_out()
+{
+	SIOPCB *siopcb = get_siopcb(2);
+
+	/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ã®å¼ã³åºã */
+	if( siopcb->openflag ) {
+		h8s_sci_ierdy_snd( siopcb->exinf );
+	}
+}
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ (SCI1å°ç¨)
+ *
+ *  ã¨ã©ã¼å¦çã¯ãä¸è¨ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã
+ *  ã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼ããã¬ã¼ãã³ã°ã¨ã©ã¼ãããªãã£ã¨ã©ã¼
+ */
+void
+h8s_sci1_isr_error(void)
+{
+	SIOPCB *siopcb = get_siopcb(2);
+
+	if( siopcb->openflag ) {
+		/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+		h8s_sci_and( siopcb->siopinib, (UW) SSR, ~( RDRF | ORER | FER | PER ) );
+	}
+}
+
+/*
+ *  H8S å
+èµ SCI ç¨ãã¼ãªã³ã°åºå (LOGTASK_PORTIDå°ç¨ãsys_putcã§å©ç¨)
+ */
+void
+h8s_sci0_putchar_pol( char c )
+{
+
+	const SIOPINIB  *siopinib = get_siopinib( LOGTASK_PORTID );
+
+	/* TDRE ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopinib->reg_base, (UW) SSR ) & TDRE ) );
+
+	h8s_sci_wrb( siopinib->reg_base, (UW) TDR, (UB) c );
+
+	/* TDREã¯ãªã¢ */
+	h8s_sci_and( siopinib, (UW) SSR, (UB) ~TDRE );
+
+	/* TEND ã 1 ã«ãªãã¾ã§å¾
+ã¤ */
+	while ( !(h8s_sci_reb( siopinib->reg_base, (UW) SSR ) & TEND ) );
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sci.h	(revision 26)
@@ -0,0 +1,225 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_SCI_H_
+#define _H8S_SCI_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+#include <h8s_sil.h>
+
+/*
+ *  H8S å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹(SCI)é¢é£ã®å®ç¾©
+ */
+
+/* SCIã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+/* ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCI0_BASE_ADDR	0xff78	/* ãã£ãã«ï¼ */
+#define SCI1_BASE_ADDR	0xff80	/* ãã£ãã«ï¼ */
+/* ã¬ã¸ã¹ã¿ãªãã»ãã */
+#define SMR		0	/* ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ã¿ */
+#define BRR		1	/* ãããã¬ã¼ãã¬ã¸ã¹ã¿ */
+#define SCR		2	/* ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define TDR		3	/* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SSR		4	/* ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RDR		5	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCMR		6	/* ã¹ãã¼ãã«ã¼ãã¢ã¼ãã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* RSR, RDR, TSR, TDR */
+/* å®ç¾©ãã¹ããã®ã¯ãç¹ã«ç¡ã */
+
+/* SMR */
+#define CA	BIT7
+#define	CHR	BIT6	/* 8bit = 0 / 7bit = 1 */
+#define	PE	BIT5	/* Parity OFF = 0 / Parity ON = 1 */
+#define	OE	BIT4	/* EVEN Parity = 0 / ODD Parity = 1 */
+#define	STOP	BIT3	/* 1 STOP BIT = 0 / 2 STOP BIT = 1 */
+#define MP	BIT2
+#define	CSK1	BIT1
+#define	CSK0	BIT0
+
+/* SCR */
+#define TIE	BIT7
+#define	RIE	BIT6
+#define	TE	BIT5
+#define	RE	BIT4
+#define	MPIE	BIT3
+#define TEIE	BIT2
+#define	CKE1	BIT1
+#define	CKE0	BIT0
+
+/* SSR */
+#define TDRE	BIT7
+#define	RDRF	BIT6
+#define	ORER	BIT5
+#define	FER	BIT4
+#define	PER	BIT3
+#define TEND	BIT2
+#define	MPB	BIT1
+#define	MPBT	BIT0
+
+/*
+ *  ãã¼ã¬ã¼ãé¢ä¿ã®å®ç¾©
+ *    åä½å¨æ³¢æ°ï¼20 [MHz] ãªã®ã§ãããã¥ã¢ã«p567ããæ±ºã¾ãã
+ */
+#if BAUD_RATE == 9600		/* ãããã¬ã¼ãï¼ 9600 [bit/s] */
+	#define BRR_RATE	64	/* N = 64 */
+#elif BAUD_RATE == 38400	/* ãããã¬ã¼ãï¼38400 [bit/s] */
+	#define BRR_RATE	15	/* N = 15 */
+#elif BAUD_RATE == 57600	/* ãããã¬ã¼ãï¼57600 [bit/s] */
+	#define BRR_RATE	10	/* N = 10 */
+#endif
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SCIç¨ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ã¼
+ */
+/* x : ãã¼ãã®ãã¼ã¹ã¢ãã¬ã¹(UW å)
+   y : ã¬ã¸ã¹ã¿ãªãã»ãã(UW å)
+   z : ã¬ã¸ã¹ã¿å¤ */
+#define h8s_sci_wrb( x, y, z )	h8s_wrb_mem( (VP)(x + y), z )
+#define h8s_sci_reb( x, y )	h8s_reb_mem( (VP)(x + y) )
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	h8s_sci_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	h8s_sci_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*h8s_sci_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	h8s_sci_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	h8s_sci_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	h8s_sci_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	h8s_sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	h8s_sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	h8s_sci_isr_in(void);
+extern void	h8s_sci_isr_out(void);
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	h8s_sci_isr_error(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	h8s_sci_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	h8s_sci_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+extern void	h8s_sci_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+extern void	h8s_sci_putchar_pol(char c);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _H8S_sci_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_sil.h	(revision 26)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_SIL_H_
+#define _H8S_SIL_H_
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  H8Sç¨ä¸è¬ã¢ã¯ã»ã¹ã¤ã³ã¿ãã§ã¼ã¹
+ */
+#define h8s_reb_mem(x)		sil_reb_mem( (VP)(H8S_BASE_ADDR + x) )
+#define h8s_wrb_mem(x, y)	sil_wrb_mem( (VP)(H8S_BASE_ADDR + x), y )
+
+#define h8s_reh_mem(x)		sil_reh_mem( (VP)(H8S_BASE_ADDR + x) )
+#define h8s_wrh_mem(x, y)	sil_wrh_mem( (VP)(H8S_BASE_ADDR + x), y )
+
+/*
+ *  H8Sç¨ä¸è¬ã¬ã¸ã¹ã¿æä½é¢æ°
+ */
+#define h8s_orb( mem, val )	h8s_wrb_mem( mem, h8s_reb_mem( mem ) | val )
+#define h8s_andb( mem, val )	h8s_wrb_mem( mem, h8s_reb_mem( mem ) & val )
+
+#define h8s_orh( mem, val )	h8s_wrh_mem( mem, h8s_reh_mem( mem ) | val )
+#define h8s_andh( mem, val )	h8s_wrh_mem( mem, h8s_reh_mem( mem ) & val )
+
+#endif /* _H8S_SIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_tpu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_tpu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/h8s_tpu.h	(revision 26)
@@ -0,0 +1,218 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _H8S_TPU_H_
+#define _H8S_TPU_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+#include <h8s_sil.h>
+
+/*
+ *  H8Så
+èµ16ãããã¿ã¤ããã«ã¹ã¦ããã(TPU)é¢é£ã®å®ç¾©
+ */
+
+/* TPUå
+ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+
+/* ãã£ãã«ï¼ */
+#define TCR0		0xffd0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR0		0xffd1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR0H		0xffd2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¨ */
+#define TIOR0L		0xffd3		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¬ */
+#define TIER0		0xffd4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR0		0xffd5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT0		0xffd6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR0A		0xffd8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR0B		0xffda		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+#define TGR0C		0xffdc		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼£ */
+#define TGR0D		0xffde		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¤ */
+
+/* ãã£ãã«ï¼ */
+#define TCR1		0xffe0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR1		0xffe1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR1		0xffe2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER1		0xffe4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR1		0xffe5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT1		0xffe6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR1A		0xffe8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR1B		0xffea		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR2		0xfff0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR2		0xfff1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR2		0xfff2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER2		0xfff4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR2		0xfff5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT2		0xfff6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR2A		0xfff8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR2B		0xfffa		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR3		0xfe80		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR3		0xfe81		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR3H		0xfe82		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¨ */
+#define TIOR3L		0xfe83		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ï¼¬ */
+#define TIER3		0xfe84		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR3		0xfe85		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT3		0xfe86		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR3A		0xfe88		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR3B		0xfe8a		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+#define TGR3C		0xfe8c		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼£ */
+#define TGR3D		0xfe8e		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¤ */
+
+/* ãã£ãã«ï¼ */
+#define TCR4		0xfe90		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR4		0xfe91		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR4		0xfe92		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER4		0xfe94		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR4		0xfe95		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT4		0xfe96		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR4A		0xfe98		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR4B		0xfe9a		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* ãã£ãã«ï¼ */
+#define TCR5		0xfea0		/* ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TMDR5		0xfea1		/* ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define TIOR5		0xfea2		/* ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ */
+#define TIER5		0xfea4		/* ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿ï¼ */
+#define TSR5		0xfea5		/* ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ */
+#define TCNT		0xfea6		/* ã¿ã¤ãã«ã¦ã³ã¿ï¼ */
+#define TGR5A		0xfea8		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¡ */
+#define TGR5B		0xfeaa		/* ã¿ã¤ãã¸ã§ãã©ã«ã¬ã¸ã¹ã¿ï¼ï¼¢ */
+
+/* å
+±é */
+#define TSTR		0xffc0		/* ã¿ã¤ãã¹ãã¼ãã¬ã¸ã¹ã¿ */
+#define TSYR		0xffc1		/* ã¿ã¤ãã·ã³ã¯ã­ã¬ã¸ã¹ã¿ */
+
+/* åã¬ã¸ã¹ã¿ã®ããããã¿ã¼ã³ */
+
+/* TCR */
+#define CCLR2		BIT7		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define CCLR1		BIT6
+#define CCLR0		BIT5
+#define CKEG1		BIT4
+#define CKEG0		BIT3
+#define TPSC2		BIT2
+#define TPSC1		BIT1
+#define TPSC0		BIT0
+
+/* TMDR */
+#define BFB		BIT5		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define BFA		BIT4		/* ãã£ãã«ï¼ãï¼ã®ã¿ */
+#define MD3		BIT3
+#define MD2		BIT2
+#define MD1		BIT1
+#define MD0		BIT0
+
+/* TIOR */
+/* TIORxãã¾ãã¯ãTIORxH */
+#define IOB3		BIT7
+#define IOB2		BIT6
+#define IOB1		BIT5
+#define IOB0		BIT4
+#define IOA3		BIT3
+#define IOA2		BIT2
+#define IOA1		BIT1
+#define IOA0		BIT0
+
+/* TIORxL */
+#define IOD3		BIT7
+#define IOD2		BIT6
+#define IOD1		BIT5
+#define IOD0		BIT4
+#define IOC3		BIT3
+#define IOC2		BIT2
+#define IOC1		BIT1
+#define IOC0		BIT0
+
+/* TIER */
+#define TTGE		BIT7
+#define TCIEU		BIT5		/* ãã£ãã«ï¼ï¼ï¼ï¼ï¼ï¼ï¼ã®ã¿ */
+#define TCIEV		BIT4
+#define TGIED		BIT3		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGIEC		BIT2		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGIEB		BIT1
+#define TGIEA		BIT0
+
+/* TSR */
+#define TCFD		BIT7
+#define TCFU		BIT5		/* ãã£ãã«ï¼ï¼ï¼ï¼ï¼ï¼ï¼ã®ã¿ */
+#define TCFV		BIT4
+#define TGFD		BIT3		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGFC		BIT2		/* ãã£ãã«ï¼ï¼ï¼ã®ã¿ */
+#define TGFB		BIT1
+#define TGFA		BIT0
+
+/* TCNT, TGR */
+/* å®ç¾©ãã¹ããã®ã¯ãç¹ã«ç¡ã */
+
+/* TSTR */
+#define CST5		BIT5
+#define CST4		BIT4
+#define CST3		BIT3
+#define CST2		BIT2
+#define CST1		BIT1
+#define CST0		BIT0
+
+/* TSYR */
+#define SYNC5		BIT5
+#define SYNC4		BIT4
+#define SYNC3		BIT3
+#define SYNC2		BIT2
+#define SYNC1		BIT1
+#define SYNC0		BIT0
+
+#endif /* _H8S_TPU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.cfg	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ * SCI ãã©ã¤ã ( H8S-2350 ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+
+/* ãã¼ãï¼ */
+DEF_INH(INHNO_SERIAL1_IN,  { TA_HLNG, sio1_handler_in  });
+DEF_INH(INHNO_SERIAL1_OUT, { TA_HLNG, sio1_handler_out });
+DEF_INH(INHNO_SERIAL1_ERROR, { TA_HLNG, sio1_handler_error });
+
+/* ãã¼ãï¼ */
+#if TNUM_SIOP >= 2
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio2_handler_in  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio2_handler_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio2_handler_error });
+#endif /* TNUM_SIOP >= 2 */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_serial.h	(revision 26)
@@ -0,0 +1,220 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼H8Sãã¡ããªã¼ç¨ï¼
+ */
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <h8s_sci.h>
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+/* ãã¼ãï¼ */
+#define INHNO_SERIAL1_ERROR	IRQ_ERI0
+#define INHNO_SERIAL1_IN	IRQ_RXI0
+#define INHNO_SERIAL1_OUT	IRQ_TXI0
+#if TNUM_PORT >= 2
+/* ãã¼ãï¼ */
+#define INHNO_SERIAL2_ERROR	IRQ_ERI1
+#define INHNO_SERIAL2_IN	IRQ_RXI1
+#define INHNO_SERIAL2_OUT	IRQ_TXI1
+#endif /* TNUM_PORT */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize		h8s_sci_initialize
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+#define sio_init		h8s_sci_init
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããã
+	 */
+	openflag = h8s_sci_openflag();
+
+	/*
+	 * ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤
+	 */
+#if TNUM_SIOP < 2
+	h8s_andh( (VP) MSTPCR, ~( BIT5 ) );
+#else /* TNUM_SIOP < 2 */
+	h8s_andh( (VP) MSTPCR, ~( BIT6 | BIT5 ) );
+#endif /* TNUM_SIOP < 2 */
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦ç
+	 */
+	siopcb = h8s_sci_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ããã
+	 */
+	if (!openflag) {
+		/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+#ifndef GDB_STUB	/* SCI0 ã¯ GDB_STUB ã§å©ç¨ããã */
+		icu_set_ilv( (VP) IPRJ, IPR_LOW, SCI0_INT_LVL );
+#endif /* GDB_STUB */
+#if TNUM_SIOP >= 2
+		icu_set_ilv( (VP) IPRK, IPR_UPR, SCI1_INT_LVL );
+#endif /* TNUM_SIOP >= 2 */
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦ç
+	 */
+	h8s_sci_cls_por(siopcb);
+
+	/*
+	 *  ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãã»ãã
+	 */
+#if TNUM_SIOP < 2
+	h8s_orh( (VP) MSTPCR,   BIT5 );
+#else /* TNUM_SIOP < 2 */
+	h8s_orh( (VP) MSTPCR, ( BIT6 | BIT5 ) );
+#endif /* TNUM_SIOP < 2 */
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããã
+	 */
+	if (!h8s_sci_openflag()) {
+		/* å²è¾¼ã¿ãã¹ã¯å¦ç */
+#ifndef GDB_STUB	/* SCI0 ã¯ GDB_STUB ã§å©ç¨ããã */
+		icu_set_ilv( (VP) IPRJ, IPR_LOW, 0 );
+#endif /* GDB_STUB */
+#if TNUM_SIOP >= 2
+		icu_set_ilv( (VP) IPRK, IPR_UPR, 0 );
+#endif /* TNUM_SIOP >= 2 */
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_in    : åä¿¡å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_out   : éä¿¡å²è¾¼ã¿ãã³ãã©
+ *    sio1_handler_error : åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©
+ */
+/* ãã¼ãï¼ */
+#define	sio1_handler_in		h8s_sci0_isr_in
+#define	sio1_handler_out	h8s_sci0_isr_out
+#define	sio1_handler_error	h8s_sci0_isr_error
+#if TNUM_SIOP >= 2
+/* ãã¼ãï¼ */
+#define	sio2_handler_in		h8s_sci1_isr_in
+#define	sio2_handler_out	h8s_sci1_isr_out
+#define	sio2_handler_error	h8s_sci1_isr_error
+#endif /* TNUM_SIOP >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		h8s_sci_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#define	sio_snd_chr_pol		h8s_sci0_putchar_pol
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		h8s_sci_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		h8s_sci_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		h8s_sci_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd		h8s_sci_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv		h8s_sci_ierdy_rcv
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/hw_timer.h	(revision 26)
@@ -0,0 +1,208 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <h8s_tpu.h>
+
+/*
+ *   ã¿ã¤ããã©ã¤ãï¼H8Sãã¡ããªã¼ç¨ï¼
+ *     H8Sãã¡ããªã¼ã«ã¯ãTPU(16bitã¿ã¤ã) ã¨ 8bitã¿ã¤ã ã®ï¼ç¨®é¡ãæ­è¼
+ *     ããã¦ããããã®æ­è¼æ¬æ°ã¯ãåãã­ã»ããµã«ããç°ãªãã
+ *     æ¬å®è£
+ã§ã¯ãTPU(16bitã¿ã¤ã) ãå©ç¨ãã¦ãããï¼ç¹ã«ãã£ã³ãã«ï¼ï¼
+ *     ä»ã®H8Sãã­ã»ããµã«ããã¦ã8bitã¿ã¤ã ãå©ç¨ããå ´åã¯ãå¤æ´ã
+ *     è¡ãå¿
+è¦ãããã
+ */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	IRQ_TGI0A
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+#endif	/* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ *  	jsp/kernel/time_manage.cã§ãä½¿ç¨
+ */
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ */
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤
+ *	ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ *	æ³¨æï¼æ¬å½ã¯åå¨ã¯ã­ãã¯ã«ä¾å­ï¼
+ */
+
+#define GET_TOLERANCE	100u
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/* ãã£ãã«ï¼ã®å²ãè¾¼ã¿è¦æ±ã¯ãªã¢ (TGFA = 0) */
+	h8s_andb( (VP) TSR0, ~TGFA );
+}
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *    ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¢ã¸ã¥ã¼ã«ã¹ãããã¢ã¼ãè§£é¤ */
+	h8s_andh( (VP) MSTPCR, ~BIT13 );
+
+	/* ãã£ãã«ï¼ã®åä½åæ­¢ */
+	h8s_andb( (VP) TSTR, ~CST0 );
+
+	/* TCR ã®è¨­å®
+	   ã»TGRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢(CCLR = 1)
+	   ã»ç«ã¡ä¸ããã¨ãã¸ã§ã«ã¦ã³ã(CKEG1,0 = 0)
+	ã ã»å
+é¨ã¯ã­ãã¯Ï/4ã§ã«ã¦ã³ã(åå¨æ¯è¨­å®ï¼TPSC0 =1) */
+	h8s_wrb_mem( (VP) TCR0, (CCLR0 | TPSC0) );
+
+	/* TIER ã®è¨­å®
+	   ã»TGFAãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+	h8s_wrb_mem( (VP) TIER0, TGIEA );
+
+	/* TIOR ã®è¨­å®
+	   ã»TGRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+	/* è¨­å®ãã¹ããã®ã¯ç¡ãã */
+
+	/* TGR0A ã®è¨­å®
+	   ã»TGRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼*/
+	h8s_wrh_mem( (VP) TGR0A, CLOCK_PER_TICK );
+
+	h8s_wrh_mem( (VP) TCNT0, 0 );		/* ã«ã¦ã³ã¿ãã¯ãªã¢ */
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	icu_set_ilv( (VP) IPRF, IPR_UPR, TPU0_INT_LVL );
+						/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+	hw_timer_int_clear();			/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	/* ãã£ãã«ï¼ã®åä½éå§ */
+	h8s_orb( (VP) TSTR, CST0 );
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* ãã£ãã«ï¼ã®åä½åæ­¢ */
+	h8s_andb( (VP) TSTR, ~CST0 );
+
+	hw_timer_int_clear();			/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *    å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	/* ã¢ããã«ã¦ã³ã¿ãªã®ã§ã */
+	return( (CLOCK) h8s_reh_mem( (VP) TCNT0 ) );
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return( h8s_reb_mem( (VP) TSR0 ) & TGFA );
+}
+
+#endif	/* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/makeoffset.c	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+        OFFSET_DEF (TCB, texptn);
+        OFFSET_DEF (TCB, tinib);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+
+        OFFSET_DEF (TINIB, task);
+        OFFSET_DEF (TINIB, exinf);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/start.S	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include <t_config.h>	/* CCR_I, MAX_IPM */
+
+/*
+ *  H8Sç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ *  ã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ãã
+ *  ã ããªã®ã§JSPã«ã¼ãã«ã®ã¿ä½¿ç¨ããã
+ */
+	.h8300s
+
+	.text
+	.align 2
+
+	.global	start
+	.global bss_clear	/* hardware_init_hook ããã®æ»ãã¢ãã¬ã¹ */
+
+start:
+
+	/*
+	 *  ã¿ã¹ã¯ç¬ç«ã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 *  ï¼STACKTOPã¯ãsys_config.hã§å®ç¾©ï¼
+	 *  ã»ãã¼ãã¦ã§ã¢ããã¥ã¢ã« ã4.2.4 ãªã»ããç´å¾ã®å²è¾¼ã¿ã(P90)ãã
+	 *    ãã­ã°ã©ã ã®å
+é ­å½ä»¤ã¯ SP ã®åæåå½ä»¤ã§ãªããã°ãªããªãã
+	 */
+	mov.l	#STACKTOP, sp
+
+	/*
+	 *  CCR ã®åæå
+	 *  ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ã0 ã«ãããå²è¾¼ã¿ç¦æ­¢ (I = 1 ; CCR)
+	 *    ( _hardware_init_hook å
+ã§å²è¾¼ã¿å¶å¾¡ã¢ã¼ããå¤æ´ããã¾ã§ã¯ã
+	 *     å²è¾¼ã¿å¶å¾¡ã¢ã¼ãã¯0ã§ããã)
+	 */
+	ldc.b	#CCR_I, ccr
+
+	/*
+	 *  EXR ã®åæå
+	 *  ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ã2 ã«ãããå²è¾¼ã¿ç¦æ­¢ (I2, I1, I0 = 1 ; CCR)
+	 */
+	ldc.b	#MAX_IPM, exr
+
+	/*
+	 *  hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *  ã»ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ããåæåå¦çãããå ´åã¯ï¼
+	 *    hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 *      ä¾ï¼ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®ãã¹ã³ã³ãã­ã¼ã©ã®åæå
+	 *    ä»åã¯ãsys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ããï¼
+	 */
+hardware_init:
+	mov.l	@_hardware_init_hook_k, er0
+	or.l	er0, er0
+	beq	bss_clear		/* er0 = 0 ãªã bss_clear ã¸ */
+	jmp	@er0
+
+	/*
+	 * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+bss_clear:
+	mov.l	#__bss_start, er0
+	mov.l	#_end, er1
+	sub.l	er2, er2
+loop_bss_clear:
+	mov.l	er2, @er0
+	add.l	#4, er0
+	cmp.l	er1, er0
+	blo	loop_bss_clear		/* er1 > er0 ã¾ã§ã¸ã£ã³ã */
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«ã³ãã¼ãã
+	 */
+data_sec_copy:
+	mov.l	#__idata_start, er0
+	mov.l	#__idata_end, er1
+	mov.l	#__data_start, er2
+loop_data_sec_copy:
+	mov.l	@er0+, er4		/* *er2++ = *er0 ++; */
+	mov.l	er4, @er2
+	add.l	#4, er2
+	cmp.l	er1, er0
+	blo	loop_data_sec_copy	/* er1 > er0 ã¾ã§ã¸ã£ã³ã */
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çããã
+	 *  å ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+software_init:
+	mov.l	@_software_init_hook_k, er0
+	or.l	er0, er0
+	beq	start_kernel
+	jsr	@er0
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åãã
+	 */
+start_kernel:
+	jmp	@_kernel_start
+
+	.align 4
+_hardware_init_hook_k:
+	.long   _hardware_init_hook
+_software_init_hook_k:
+	.long   _software_init_hook
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_config.h	(revision 26)
@@ -0,0 +1,289 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.3 2007/01/05 02:02:38 honda Exp $
+ */
+
+#include <kernel_debug.h>	/* ITRON DB/IF å¯¾å¿ç¨ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ãä½¿ç¨ããã©ã¤ãã©ãªã«é¢ããå®ç¾©
+ */
+#define NEWLIB				/* newlib ãç¨ãã */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/tool_defs.h	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.2 2004/09/03 17:07:45 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+/*#define _int64_	long long*/	/* 64ãããã®æ´æ°å */
+/* H8Sã¯ãsizeof(long long) = 4 ã§ããããã64ãããã®æ´æ°åã¯
+   å­å¨ããªããããã³ã¡ã³ãã¢ã¦ãããã */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8s/util.h	(revision 26)
@@ -0,0 +1,125 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  ãã®ããããã¡ã¤ã«ã«å«ã¾ãã¦ãããã¯ã­ã¯ãååã¨ãã¦ãã«ã¼ãã«éçºè
+ã«å¯¾ãã¦
+ *  å
+¬éããã¦ãããã®ã§ããããã®ããããã©ã¡ã¼ã¿ãã§ãã¯ãªã©ãä¸ååã§ããã
+ *  ã¦ã¼ã¶ã¼ã«ãã£ã¦ã¯ãèªå·±è²¬ä»»ã«ããã¦å©ç¨ãããã¨ã
+ */
+
+/*
+ *  ãããçªå·ã®å®ç¾©
+ */
+#define BIT0              0x1
+#define BIT1              0x2
+#define BIT2              0x4
+#define BIT3              0x8
+#define BIT4             0x10
+#define BIT5             0x20
+#define BIT6             0x40
+#define BIT7             0x80
+#define BIT8            0x100
+#define BIT9            0x200
+#define BIT10           0x400
+#define BIT11           0x800
+#define BIT12          0x1000
+#define BIT13          0x2000
+#define BIT14          0x4000
+#define BIT15          0x8000
+
+/*
+ *  ãã¤ããã¼ã¿æä½ç¨ãã¯ã­
+ */
+/* ä»¥ä¸ã«ããã¦ãxï¼ä¸å® */
+
+/* ä»¥ä¸ã®ãããªæ¸ãæ¹ã¨ãã©ã£ã¡ãè¯ããï¼
+     (UH) (((UW) (c)) & 0x0000ffff)
+     (UH) (((UW) (c)) & 0xffff0000) >> 16
+*/
+
+/* (UH) xxaa -> (UB) aa */			/* ä¸ä½1ãã¤ãåãåºã */
+#define LO8(c)		(UB)( (UH)(c) & 0xff )
+/* (UH) aaxx -> (UB) aa */			/* ä¸ä½1ãã¤ãåãåºã */
+#define HI8(c)		LO8( (UH)(c) >>  8 )
+
+/* (UW) xxxxaaaa -> (UH) aaaa */		/* ä¸ä½2ãã¤ãåãåºã */
+#define LO16(c)		(UH)( (UW)(c) & 0xffff )
+/* (UW) aaaaxxxx -> (UH) aaaa */		/* ä¸ä½2ãã¤ãåãåºã */
+#define HI16(c)		LO16( (UW)(c) >> 16 )
+
+/* (UH) aaaa, (UH) bbbb -> (UW) aaaabbbb */	/* 2ãã¤ããã¼ã¿ã®çµå */
+#define JOIN16(hi, lo)	(UW)( ((UW)(hi) << 16) | (lo) )
+/* (UB) aa, (UB) bb -> (UH) aabb */		/* 1ãã¤ããã¼ã¿ã®çµå */
+#define JOIN8(hi, lo)	(UH)( ((UH)(hi) <<  8) | (lo) )
+
+/* (BIN) : ï¼é²æ° */
+/* (BIN) xxxxaaaa -> (BIN) 0000aaaa */		/* 0-3ãããã«é
+ç½®  */
+#define TO_LO4(c)	( (UB)(c) & 0xf )
+/* (BIN) xxxxaaaa -> (BIN) aaaa0000 */		/* 4-7ãããã«é
+ç½®  */
+#define TO_HI4(c)	(((UB)(c) << 4) & 0xf0)
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/Makefile.config	(revision 26)
@@ -0,0 +1,38 @@
+#
+#  @(#) $Id: Makefile.config,v 1.1 2004/07/21 02:49:36 monaka Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­é¨ï¼IA32ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = i386-pizzafactory-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -Wall -g
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+#START_OBJS = start.o
+START_OBJS =
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.c	(revision 26)
@@ -0,0 +1,186 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼i386ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <i386.h>
+
+UW nest = 0; /* å²ãè¾¼ã¿ãã¹ãåæ° */
+FP exc_table[0x20]; /* CPUä¾å¤ãã³ãã©ã®ãã¼ãã« */
+
+static SEGDESC gdt[3];    /* ã°ã­ã¼ãã«ãã£ã¹ã¯ãªãã¿ãã¼ãã« */
+static GATEDESC idt[256]; /* å²ãè¾¼ã¿ãã£ã¹ã¯ãªãã¿ãã¼ãã« */
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	DESCPTR desc_ptr;
+
+	/* Flat model */
+	set_segment_descriptor(0, 0x0, 0x00000, 0x00, 0);
+	set_segment_descriptor(1, 0x0, 0xfffff, I386_TYPE_SEG_CODE | I386_TYPE_SEG_READABLE, 0);
+	set_segment_descriptor(2, 0x0, 0xfffff, I386_TYPE_SEG_DATA | I386_TYPE_SEG_WRITEABLE, 0);
+
+	desc_ptr.limit = sizeof(gdt) - 1;
+	desc_ptr.base = (unsigned)gdt;
+
+	Asm("movl	%0, %%eax": : "g"(&desc_ptr) : "eax");
+	Asm("lgdt	(%eax)		\n"
+	    "ljmp	$0x8, $csinit	\n" /* ãã¤ãã©ã¤ã³ã«å
+èª­ã¿ããå½ä»¤ãã¯ãªã¢ãã */
+	    "csinit:			\n"
+	    "movw	$0x10, %ax	\n"
+	    "movw	%ax, %ds	\n"
+	    "movw	%ax, %es	\n"
+	    "movw	%ax, %fs	\n"
+	    "movw	%ax, %gs	\n"
+	    "movw	%ax, %ss");
+
+	set_gate_descriptor( 0, 0x8, exception0,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 1, 0x8, exception1,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 2, 0x8, exception2,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 3, 0x8, exception3,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 4, 0x8, exception4,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 5, 0x8, exception5,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 6, 0x8, exception6,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 7, 0x8, exception7,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 8, 0x8, exception8,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor( 9, 0x8, exception9,  I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(10, 0x8, exception10, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(11, 0x8, exception11, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(12, 0x8, exception12, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(13, 0x8, exception13, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(14, 0x8, exception14, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(16, 0x8, exception16, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(17, 0x8, exception17, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(18, 0x8, exception18, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(19, 0x8, exception19, I386_TYPE_GATE_INTR, 0);
+
+	desc_ptr.limit = sizeof(idt) - 1;
+	desc_ptr.base = (unsigned)idt;
+
+	Asm("movl	%0, %%eax	" : : "g"(&desc_ptr) : "eax");
+	Asm("lidt	(%eax)		");
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+
+/*
+ * i386ã»ã°ã¡ã³ããã¹ã¯ãªãã¿ã®è¨­å®
+ */
+void
+set_segment_descriptor(int sel, unsigned addr, unsigned limit, unsigned type, unsigned dpl)
+{
+	SEGDESC *desc;
+	desc = &gdt[sel];
+	desc->base_L = (addr & 0xffffff);
+	desc->base_H = ((addr >> 24) & 0xff);
+	desc->limit_L = (limit & 0xffff);
+	desc->limit_H = ((limit >> 16) & 0xf);
+	desc->type = (type & 0xf);
+	desc->s = 1;		/* code/data segment */
+	desc->dpl = dpl;
+	desc->p = 1;		/* segment is existing */
+	desc->avl = 0;		/* unused */
+	desc->x = 0;		/* reserved */
+	desc->db = 1;		/* 32bits segment */
+	desc->g = 1;		/* 4KB limits */
+}
+
+void
+set_gate_descriptor(int sel, unsigned selector, void *func, unsigned type, unsigned dpl)
+{
+	GATEDESC *desc;
+	desc = &idt[sel];
+	desc->offset_L = ((unsigned)func & 0xffff);
+	desc->offset_H = (((unsigned)func >> 16) & 0xffff);
+	desc->selector = selector;
+	desc->copy = 0;
+	desc->type = type;
+	desc->s = 0;
+	desc->dpl = dpl;
+	desc->p = 1;
+}
+
+
+void
+define_exc(EXCNO excno, FP exchdr)
+{
+#if 0
+	if (inhno >= 0x20 || inthdr == NULL)
+	{
+		return; /*??? Should I generate assertion? */
+	}
+#endif
+	exc_table[excno] = exchdr;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_config.h	(revision 26)
@@ -0,0 +1,288 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼i386ç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TWAIT		8	/* twait ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	VP	esp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	eip;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²ãè¾¼ã¿ã®ãã¹ãåæ°
+ *
+ *  1ä»¥ä¸ã®æã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ãªããå²ãè¾¼ã¿ãã³ãã©ãä¾å¤ãã³ãã©ã®
+ *  åºå
+¥å£ã§ã¤ã³ã¯ãªã¡ã³ãã»ãã¯ãªã¡ã³ããããã
+ */
+extern UW nest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+	return (nest != 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+	unsigned _int32_ eflag;
+
+	Asm("pushf");
+	Asm("popl %0" : "=g"(eflag));
+
+	return ((eflag & 0x200) == 0);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ */
+
+Inline void x_lock_cpu(void) {
+	disint();
+	Asm("":::"memory");
+}
+
+#define i_lock_cpu() x_lock_cpu()
+#define t_lock_cpu() x_lock_cpu()
+
+Inline void x_unlock_cpu(void) {
+	Asm("":::"memory");
+	enaint();
+}
+
+#define i_unlock_cpu() x_unlock_cpu()
+#define t_unlock_cpu() x_unlock_cpu()
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çï¼cpu_support.Sï¼
+ */
+extern void exception0(void);
+extern void exception1(void);
+extern void exception2(void);
+extern void exception3(void);
+extern void exception4(void);
+extern void exception5(void);
+extern void exception6(void);
+extern void exception7(void);
+extern void exception8(void);
+extern void exception9(void);
+extern void exception10(void);
+extern void exception11(void);
+extern void exception12(void);
+extern void exception13(void);
+extern void exception14(void);
+extern void exception16(void);
+extern void exception17(void);
+extern void exception18(void);
+extern void exception19(void);
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®ãã¼ãã«ï¼cpu_config.cï¼
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ä¸æ¦ãã®ãã¼ãã«ã«ç»é²ãããå¥ã«ç¨æãããåºå
+¥å£å¦ç
+ *  ãå¼ã³åºãã
+ */
+extern FP exc_table[0x20];
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®
+ */
+extern void define_exc(EXCNO excno, FP exchdr);
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define EXCHDR_ENTRY(exchdr) extern void exchdr(VP p_excinf)
+
+#define EXC_ENTRY(exchdr) exchdr
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return (nest > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return ((((UW *)p_excinf)[3] & 0x200) == 0);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+/*
+ * i386ã»ã°ã¡ã³ããã¹ã¯ãªãã¿ã®è¨­å®
+ */
+extern void set_segment_descriptor(int sel, unsigned addr, unsigned limit, unsigned type, unsigned dpl);
+extern void set_gate_descriptor(int sel, unsigned selector, void *func, unsigned type, unsigned dpl);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_context.h	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*esp;
+
+	esp = (VW *)((SIZE)(tcb->tinib->stk) + tcb->tinib->stksz);
+	*--esp = (VW)(tcb->tinib->exinf);
+	*--esp = (VW) ext_tsk;
+	*--esp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.esp = esp;
+	tcb->tskctxb.eip = activate_r;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+#if 0
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+#endif
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_defs.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼i386ç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define IA32
+
+#ifndef _MACRO_ONLY
+
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+#define SIL_ENDIAN SIL_ENDIAN_LITTLE
+
+#define SIL_REV_ENDIAN_H(data) ((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+
+#define SIL_REV_ENDIAN_W(data) ((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) | (((UW)(data) >> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+
+Inline VB sil_reb_iop(VP iop) {
+	VB data;
+	Asm("inb %%dx, %%al" : "=a"(data) : "d"(iop));
+	return data;
+}
+
+Inline VH sil_reh_iop(VP iop) {
+	VH data;
+	Asm("inw %%dx, %%ax" : "=a"(data) : "d"(iop));
+	return data;
+}
+
+Inline VW sil_rew_iop(VP iop) {
+	VW data;
+	Asm("inl %%dx, %%eax" : "=a"(data) : "d"(iop));
+	return data;
+}
+
+#define sil_reh_lep(iop) sil_reh_iop(iop)
+#define sil_rew_lep(iop) sil_rew_iop(iop)
+
+Inline VH sil_reh_bep(VP iop) {
+	return SIL_REV_ENDIAN_H(sil_reh_iop(iop));
+}
+
+Inline VW sil_rew_bep(VP iop) {
+	return SIL_REV_ENDIAN_W(sil_rew_iop(iop));
+}
+
+Inline void sil_wrb_iop(VP iop, VB data) {
+	Asm("outb %%al, %%dx" : : "a"(data), "d"(iop));
+}
+
+Inline void sil_wrh_iop(VP iop, VH data) {
+	Asm("outw %%ax, %%dx" : : "a"(data), "d"(iop));
+}
+
+Inline void sil_wrw_iop(VP iop, VW data) {
+	Asm("outl %%eax, %%dx" : : "a"(data), "d"(iop));
+}
+
+#define sil_wrh_lep(iop, data) sil_wrh_iop(iop, data)
+#define sil_wrw_lep(iop, data) sil_wrw_iop(iop, data)
+
+Inline void sil_wrh_bep(VP iop, VH data) {
+	sil_wrh_iop(iop, SIL_REV_ENDIAN_H(data));
+}
+
+Inline void sil_wrw_bep(VP iop, VW data) {
+	sil_wrw_iop(iop, SIL_REV_ENDIAN_W(data));
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_insn.h	(revision 26)
@@ -0,0 +1,73 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#ifndef _MACRO_ONLY
+
+Inline void disint(void) {
+	Asm("cli");
+}
+
+Inline void enaint(void) {
+	Asm("sti");
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif	/* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.def	(revision 26)
@@ -0,0 +1,26 @@
+activate_r
+define_exc
+dispatch_loop
+exc_table
+exception0
+exception1
+exception2
+exception3
+exception4
+exception5
+exception6
+exception7
+exception8
+exception9
+exception10
+exception11
+exception12
+exception13
+exception14
+exception16
+exception17
+exception18
+exception19
+nest
+set_gate_descriptor
+set_segment_descriptor
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_rename.h	(revision 26)
@@ -0,0 +1,63 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define define_exc		_kernel_define_exc
+#define dispatch_loop		_kernel_dispatch_loop
+#define exc_table		_kernel_exc_table
+#define exception0		_kernel_exception0
+#define exception1		_kernel_exception1
+#define exception2		_kernel_exception2
+#define exception3		_kernel_exception3
+#define exception4		_kernel_exception4
+#define exception5		_kernel_exception5
+#define exception6		_kernel_exception6
+#define exception7		_kernel_exception7
+#define exception8		_kernel_exception8
+#define exception9		_kernel_exception9
+#define exception10		_kernel_exception10
+#define exception11		_kernel_exception11
+#define exception12		_kernel_exception12
+#define exception13		_kernel_exception13
+#define exception14		_kernel_exception14
+#define exception16		_kernel_exception16
+#define exception17		_kernel_exception17
+#define exception18		_kernel_exception18
+#define exception19		_kernel_exception19
+#define nest			_kernel_nest
+#define set_gate_descriptor	_kernel_set_gate_descriptor
+#define set_segment_descriptor	_kernel_set_segment_descriptor
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _define_exc		__kernel_define_exc
+#define _dispatch_loop		__kernel_dispatch_loop
+#define _exc_table		__kernel_exc_table
+#define _exception0		__kernel_exception0
+#define _exception1		__kernel_exception1
+#define _exception2		__kernel_exception2
+#define _exception3		__kernel_exception3
+#define _exception4		__kernel_exception4
+#define _exception5		__kernel_exception5
+#define _exception6		__kernel_exception6
+#define _exception7		__kernel_exception7
+#define _exception8		__kernel_exception8
+#define _exception9		__kernel_exception9
+#define _exception10		__kernel_exception10
+#define _exception11		__kernel_exception11
+#define _exception12		__kernel_exception12
+#define _exception13		__kernel_exception13
+#define _exception14		__kernel_exception14
+#define _exception16		__kernel_exception16
+#define _exception17		__kernel_exception17
+#define _exception18		__kernel_exception18
+#define _exception19		__kernel_exception19
+#define _nest			__kernel_nest
+#define _set_gate_descriptor	__kernel_set_gate_descriptor
+#define _set_segment_descriptor	__kernel_set_segment_descriptor
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_support.S	(revision 26)
@@ -0,0 +1,201 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+	.globl activate_r
+activate_r:
+	sti
+	popl	%eax
+	jmp	*%eax
+
+/*
+ *  Task dispatcher
+ */
+	.text
+	.globl dispatch
+	.globl exit_and_dispatch
+dispatch:
+	pusha
+	movl	runtsk, %ebx
+	movl	%esp, TCB_esp(%ebx)
+	movl	$dispatch_r, %eax
+	movl	%eax, TCB_eip(%ebx)
+exit_and_dispatch:
+	.globl dispatch_loop
+dispatch_loop:	
+	movl	schedtsk, %ebx
+	movl	%ebx, runtsk
+	cmpl	$0, %ebx
+	jne	dispatch_1
+	movl STACKTOP, %esp
+	movl $1, nest
+0:
+	sti
+	hlt
+	cli
+	cmpl $0, reqflg
+	je 0b
+	movl $0, reqflg
+	movl $0, nest
+	jmp	dispatch_loop
+dispatch_1:
+	movl	TCB_esp(%ebx), %esp
+	movl	TCB_eip(%ebx), %eax
+	jmp	*%eax
+
+dispatch_r:
+	call	calltex
+	popa
+	ret
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/* %ecxã«ä¾å¤çªå· */
+/* %edxã«CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®å
+é ­çªå° */
+	.extern exc_table
+__exception_1:
+	cld
+	movl	%esp, %ebx
+	movl	12(%ebx), %edx
+exception:
+	cmpl	$0, nest
+	jne	exception_2
+	movl %esp, %eax
+	movl	STACKTOP, %esp
+	pushl %eax
+exception_2:
+	pushl	%edx
+	movl	exc_table(,%ecx,4), %eax
+	testl %eax, %eax
+	jz 1f
+	incl nest
+	testb $2, 13(%edx)
+	jz 0f
+	sti
+0:
+	call *%eax
+	cli
+	decl nest
+1:
+	addl	$4, %esp
+	cmpl	$0, nest
+	jne	exception_3
+	popl %eax
+	movl %eax, %esp
+	cmpl $0, reqflg
+	je exception_3
+ret_exc:
+	movl	$0, reqflg
+	cmpl	$0, enadsp
+	je	ret_exc_r
+	movl	runtsk, %ebx
+	cmpl	%ebx, schedtsk
+	je	ret_exc_r
+	movl %esp, TCB_esp(%ebx)
+	movl	$ret_exc_r, %eax
+	movl	%eax, TCB_eip(%ebx)
+	jmp	dispatch_loop
+ret_exc_r:
+	call	calltex
+exception_3:
+	popa
+	addl	$4, %esp
+	iret
+
+#define	exception(excno)	 \
+	.global exception##excno ; \
+exception##excno:		; \
+	pushl	$0		; \
+	pusha			; \
+	movl	$excno, %ecx	; \
+	jmp	__exception_1
+
+#define	error_exception(excno)	 \
+	.global exception##excno ; \
+exception##excno:		; \
+	pusha			; \
+	movl	$excno, %ecx	; \
+	jmp	__exception_1	; \
+
+
+	exception(0)
+	exception(1)
+	exception(2)
+	exception(3)
+	exception(4)
+	exception(5)
+	exception(6)
+	exception(7)
+	error_exception(8)	
+	exception(9)
+	error_exception(10)
+	error_exception(11)
+	error_exception(12)
+	error_exception(13)
+	error_exception(14)
+	exception(16)
+	error_exception(17)
+	exception(18)
+	exception(19)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/cpu_unrename.h	(revision 26)
@@ -0,0 +1,63 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef define_exc
+#undef dispatch_loop
+#undef exc_table
+#undef exception0
+#undef exception1
+#undef exception2
+#undef exception3
+#undef exception4
+#undef exception5
+#undef exception6
+#undef exception7
+#undef exception8
+#undef exception9
+#undef exception10
+#undef exception11
+#undef exception12
+#undef exception13
+#undef exception14
+#undef exception16
+#undef exception17
+#undef exception18
+#undef exception19
+#undef nest
+#undef set_gate_descriptor
+#undef set_segment_descriptor
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _define_exc
+#undef _dispatch_loop
+#undef _exc_table
+#undef _exception0
+#undef _exception1
+#undef _exception2
+#undef _exception3
+#undef _exception4
+#undef _exception5
+#undef _exception6
+#undef _exception7
+#undef _exception8
+#undef _exception9
+#undef _exception10
+#undef _exception11
+#undef _exception12
+#undef _exception13
+#undef _exception14
+#undef _exception16
+#undef _exception17
+#undef _exception18
+#undef _exception19
+#undef _nest
+#undef _set_gate_descriptor
+#undef _set_segment_descriptor
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/elf_i386.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/elf_i386.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/elf_i386.ld	(revision 26)
@@ -0,0 +1,45 @@
+OUTPUT_FORMAT("elf32-i386", "elf32-i386",
+	      "elf32-i386")
+OUTPUT_ARCH(i386)
+
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+STARTUP(start.o);
+
+SECTIONS
+{
+  .text      :
+  {
+    *(.text)
+  } =0x9090
+  _etext = .;
+  PROVIDE (etext = .);
+  .rodata   : { *(.rodata) }
+  . = ALIGN(0x1000) + (. & (0x1000 - 1));
+  .data    :
+  {
+    *(.data)
+  }
+  _edata = .;
+  PROVIDE (edata = .);
+  __bss_start = .;
+  .bss       :
+  {
+   *(.bss)
+   *(COMMON)
+   . = ALIGN(32 / 8);
+  }
+  . = ALIGN(32 / 8);
+  _end = .;
+  PROVIDE (end = .);
+  /* Stabs debugging sections.  */
+  .stab 0 : { *(.stab) }
+  .stabstr 0 : { *(.stabstr) }
+  .stab.excl 0 : { *(.stab.excl) }
+  .stab.exclstr 0 : { *(.stab.exclstr) }
+  .stab.index 0 : { *(.stab.index) }
+  .stab.indexstr 0 : { *(.stab.indexstr) }
+  .comment 0 : { *(.comment) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/i386.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/i386.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/i386.h	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: i386.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+#ifndef	_I386_H_
+#define	_I386_H_
+
+/* Segment type */
+#define	I386_TYPE_SEG_DATA       (0x00) /* 0000	ãã¼ã¿ã»ã°ã¡ã³ã */
+#define	I386_TYPE_SEG_EXPAND     (0x04) /* 0100 ã¨ã¯ã¹ãã³ããã¦ã³ */
+#define	I386_TYPE_SEG_WRITEABLE  (0x02) /* 0010 æ¸ãè¾¼ã¿å¯ */
+#define	I386_TYPE_SEG_ACCESSED   (0x01) /* 0001 ã¢ã¯ã»ã¹ããããï¼ */
+#define	I386_TYPE_SEG_CODE       (0x08) /* 1000 ã³ã¼ãã»ã°ã¡ã³ã */
+
+#define	I386_TYPE_SEG_CONFORMING (0x04) /* 0100 ã³ã³ãã©ã¼ãã³ã° */
+#define	I386_TYPE_SEG_READABLE   (0x02) /* 0010 èª­ã¿åãå¯ */
+#define	I386_TYPE_SEG_ACCESSED   (0x01) /* 0001 ã¢ã¯ã»ã¹ããããï¼ */
+
+/* Gate type */
+#define	I386_TYPE_GATE_INTR		0xe
+#define	I386_TYPE_GATE_TRAP		0xf
+
+/* Segment descriptor */
+typedef struct __i386_segment_descriptor {
+	unsigned	limit_L:16;
+	unsigned	base_L:24;
+	unsigned	type:4;
+	unsigned	s:1;
+	unsigned	dpl:2;
+	unsigned	p:1;
+	unsigned	limit_H:4;
+	unsigned	avl:1;
+	unsigned	x:1;
+	unsigned	db:1;
+	unsigned	g:1;
+	unsigned	base_H:8;
+}   __attribute__ ((packed)) SEGDESC;
+
+/* Gate descriptor */
+typedef struct __i386_gate_descriptor {
+	unsigned long offset_L:16;
+	unsigned long selector:16;
+	unsigned long copy:8;
+	unsigned long type:4;
+	unsigned long s:1;
+	unsigned long dpl:2;
+	unsigned long p:1;
+	unsigned long offset_H:16;
+}   __attribute__ ((packed)) GATEDESC;
+
+typedef	struct {
+	unsigned	limit:16;
+	unsigned	base:32;
+}  __attribute__ ((packed)) DESCPTR;
+
+#endif	/* _I386_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/makeoffset.c	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.2 2005/10/30 07:00:31 anoncvs Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#ifndef offsetof
+#define	offsetof(structure, field) \
+			((INT) &(((structure *) 0)->field))
+#endif
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+        OFFSET_DEF (TCB, tinib);
+	OFFSET_DEF2(TCB, tskctxb.esp, esp);
+	OFFSET_DEF2(TCB, tskctxb.eip, eip);
+        OFFSET_DEF (TCB, texptn);
+
+        OFFSET_DEF (TINIB, task);
+        OFFSET_DEF (TINIB, exinf);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/Makefile.config	(revision 26)
@@ -0,0 +1,32 @@
+#
+#  @(#) $Id: Makefile.config,v 1.1 2004/07/21 02:49:36 monaka Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼PC/ATç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS) -msoft-float
+LDFLAGS := $(LDFLAGS) -msoft-float
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o start.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o pcat_com.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS = 0x100000
+#DATA_START_ADDRESS = 0x100000
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/elf_i386.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.cfg	(revision 26)
@@ -0,0 +1,14 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼PC/ATäºæãã¼ãç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SIO1, { TA_HLNG, sio1_handler });
+#if TNUM_PORT >= 2
+DEF_INH(INHNO_SIO2, { TA_HLNG, sio2_handler });
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_serial.h	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼PC/ATç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <irc.h>
+#include <pcat_com.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO1	 PCAT_COM1_INHNO
+#if TNUM_PORT >= 2
+#define INHNO_SIO2	 PCAT_COM2_INHNO
+#endif
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+#define sio_initialize pcat_com_initialize
+
+#define sio1_handler pcat_com1_handler
+#if TNUM_PORT >= 2
+#define sio2_handler pcat_com2_handler
+#endif
+
+Inline SIOPCB *
+sio_opn_por(ID portid, VP_INT spcb)
+{
+  SIOPCB *p;
+
+  p = pcat_com_opn_por(portid, spcb);
+
+  irc_ena_irq(p->siopinib->com_irq);
+
+  return p;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+sio_cls_por(SIOPCB *p)
+{
+	pcat_com_cls_por(p);
+  irc_dis_irq(p->siopinib->com_irq);
+}
+
+#define sio_ierdy_rcv pcat_com_ierdy_rcv
+
+#define sio_ierdy_snd pcat_com_ierdy_snd
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+#define sio_rcv_chr pcat_com_rcv_chr
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+#define sio_snd_chr pcat_com_snd_chr
+
+#define sio_ena_cbr pcat_com_ena_cbr
+
+#define sio_dis_cbr pcat_com_dis_cbr
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/hw_timer.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼PC/ATç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <irc.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	PIT_INHNO
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+  	static const int count = (UD)14318180 * TIC_NUME / 12 / 1000 / TIC_DENO;
+	assert(2 <= count && count <= 0x10000);
+	sil_wrb_iop((VP)0x43, 0x34);
+	sil_wrb_iop((VP)0x40, count & 0xff);
+	sil_wrb_iop((VP)0x40, count >> 8);
+
+	irc_ena_irq(TO_INTNO(PIT_INHNO));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{
+	irc_dis_irq(TO_INTNO(PIT_INHNO));
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc.h	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: irc.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+#ifndef _IRC_H_
+#define _IRC_H_
+
+#include <t_services.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+extern ER irc_dis_irq(UB irq);
+extern ER irc_ena_irq(UB irq);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _IRC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc_inline.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc_inline.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/irc_inline.h	(revision 26)
@@ -0,0 +1,82 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: irc_inline.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+#ifndef __I386_IRC_INLINE_H__
+#define __I386_IRC_INLINE_H__
+
+#include <s_services.h>
+
+Inline void irc_initialize(void)
+{
+	/* 8259Aãã¹ã¿ã¼ */
+	sil_wrb_iop((VP)0x20, 0x11);
+	sil_wrb_iop((VP)0x21, 0x20);
+	sil_wrb_iop((VP)0x21, 0x04);
+	sil_wrb_iop((VP)0x21, 0x01);
+
+	/* 8259Aã¹ã¬ã¼ã */
+	sil_wrb_iop((VP)0xA0, 0x11);
+	sil_wrb_iop((VP)0xA1, 0x28);
+	sil_wrb_iop((VP)0xA1, 0x02);
+	sil_wrb_iop((VP)0xA1, 0x01);
+
+	/* å
+¨ã¦ã®IRQããã¹ã¯ */
+	sil_wrb_iop((VP)0x21, ~(0x04));
+	sil_wrb_iop((VP)0xA1, ~(0x00));    
+}
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/multiboot.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/multiboot.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/multiboot.h	(revision 26)
@@ -0,0 +1,68 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: multiboot.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	Multibootç¨ã®å®æ°
+ */
+
+#ifndef __JSP_PCAT_MULTIBOOT_H__
+#define __JSP_PCAT_MULTIBOOT_H__
+
+#define	MULTIBOOT_HEADER_MAGIC		0x1BADB002
+#define	MULTIBOOT_HEADER_FLAGS		0x00010003
+#define	MULTIBOOT_BOOTLOADER_MAGIC	0x2BADB002
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.c	(revision 26)
@@ -0,0 +1,306 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *	COMãã©ã¤ãï¼PC/ATç¨ï¼
+ */
+
+#include <s_services.h>
+#include <pcat_com.h>
+
+#define PCAT_COM_IIR_RLS (0x06)
+#define PCAT_COM_IIR_RXD (0x04)
+#define PCAT_COM_IIR_TXD (0x02)
+
+#define PCAT_COM_IER_LS (4)
+#define PCAT_COM_IER_TX (2)
+#define PCAT_COM_IER_RX (1)
+
+#define PCAT_COM_RBR 0
+#define PCAT_COM_THR 0
+#define PCAT_COM_DLL 0
+#define PCAT_COM_IER 1
+#define PCAT_COM_DLM 1
+#define PCAT_COM_IIR 2
+#define PCAT_COM_FCR 2
+#define PCAT_COM_LCR 3
+#define PCAT_COM_MCR 4
+#define PCAT_COM_LSR 5
+#define PCAT_COM_MSR 6
+#define PCAT_COM_SCR 7
+
+#define PCAT_COM_DIVISOR_LATCH(a) (24000000 / 13 / 16 / (a))
+
+#ifndef PCAT_COM1_BAUD_RATE
+#define PCAT_COM1_BAUD_RATE 9600
+#endif
+#if TNUM_SIOP >= 2
+#ifndef PCAT_COM2_BAUD_RATE
+#define PCAT_COM2_BAUD_RATE 9600
+#endif
+#endif
+
+/*
+ *  ä½ã¬ãã«ãã¼ãæ
+å ±ç®¡çãã­ãã¯ã®åæå¤
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{
+		PCAT_COM1_BASE,
+		TO_INTNO(PCAT_COM1_INHNO),
+		PCAT_COM_DIVISOR_LATCH(PCAT_COM1_BAUD_RATE)
+	},
+#if TNUM_SIOP >= 2
+	{
+		PCAT_COM2_BASE,
+		TO_INTNO(PCAT_COM2_INHNO),
+		PCAT_COM_DIVISOR_LATCH(PCAT_COM2_BAUD_RATE)
+	},
+#endif
+};
+SIOPCB siopcb_table[TNUM_SIOP];
+
+Inline UB pcat_com_read(UH base, UH offset) {
+	return sil_reb_iop((VP)(base + offset));
+}
+
+Inline void pcat_com_write(UH base, UH offset, UB data) {
+	sil_wrb_iop((VP)(base + offset), data);
+}
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+hw_port_getready(SIOPCB *p)
+{
+  UB stat;
+  stat = pcat_com_read(p->siopinib->base_address, PCAT_COM_LSR);
+
+  return ((stat & 0x01) != 0);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_port_putready(SIOPCB *p)
+{
+  UB stat;
+  stat = pcat_com_read(p->siopinib->base_address, PCAT_COM_LSR);
+
+  return ((stat & 0x20) != 0);
+}
+
+SIOPCB *
+pcat_com_set_mode(ID portid) {
+  SIOPCB *p;
+
+  p = &(siopcb_table[portid - 1]);
+	if (p->initflag) {
+		return p;
+	}
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_IER, 0); // Disable interrupt.
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_LCR, 0x83); // DLAB=1, 8bit, stop=1, Non parity.
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_DLL, (UB)p->siopinib->divisor_latch);
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_DLM, (UB)(p->siopinib->divisor_latch >> 8));
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_LCR, 0x03); // DLAB=0, 8bit, stop=1, Non parity.
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_FCR, 0x07);  // Enable FIFO.
+
+
+  pcat_com_read(p->siopinib->base_address, PCAT_COM_LSR);
+  pcat_com_read(p->siopinib->base_address, PCAT_COM_RBR);
+  pcat_com_read(p->siopinib->base_address, PCAT_COM_IIR);
+  pcat_com_read(p->siopinib->base_address, PCAT_COM_MCR);
+
+  p->initflag = TRUE;			/* åæåãã©ã°è¨­å® */
+
+  return p;
+}
+
+void pcat_com_isr(VP_INT exinf) {
+	SIOPCB *p = (SIOPCB *)exinf;
+	while (1) {
+		switch (pcat_com_read(p->siopinib->base_address, PCAT_COM_IIR) & 7) {
+		case PCAT_COM_IIR_TXD:
+			pcat_com_ierdy_snd(p->spcb);
+			break;
+		case PCAT_COM_IIR_RXD:
+			pcat_com_ierdy_rcv(p->spcb);
+			break;
+		case PCAT_COM_IIR_RLS:
+			pcat_com_read(p->siopinib->base_address, PCAT_COM_LSR);
+			break;
+		default:
+			return;
+		}
+	}
+}
+
+void
+pcat_com_initialize()
+{
+	UINT i;
+	for (i = 0; i < TNUM_SIOP; ++i) {
+		siopcb_table[i].siopinib = &siopinib_table[i];
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®å²è¾¼ã¿ãã³ãã©
+ */
+void
+pcat_com1_handler()
+{
+	pcat_com_isr(&siopcb_table[0]);
+}
+#if TNUM_PORT >= 2
+void
+pcat_com2_handler()
+{
+	pcat_com_isr(&siopcb_table[1]);
+}
+#endif
+
+SIOPCB *
+pcat_com_opn_por(ID portid, VP_INT spcb)
+{
+  SIOPCB *p;
+
+  p = pcat_com_set_mode(portid);
+  p->spcb = spcb;
+
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_MCR, 0x0b); // Enable OUT2 interrupt.
+
+  return p;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+void
+pcat_com_cls_por(SIOPCB *p)
+{
+    
+  p->initflag = FALSE;
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_IER, 0); // Disable interrupt.
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+INT
+pcat_com_rcv_chr(SIOPCB *p)
+{
+  UB ch;
+  
+	if (!hw_port_getready(p)) {
+		return -1;
+	}
+  ch = pcat_com_read(p->siopinib->base_address, PCAT_COM_RBR);
+  return (INT)ch;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+BOOL
+pcat_com_snd_chr(SIOPCB *p, char c)
+{
+  if (!hw_port_putready(p)) {
+    return FALSE;
+  }
+  pcat_com_write(p->siopinib->base_address, PCAT_COM_THR, c);
+  return TRUE;
+}
+
+void
+pcat_com_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB ier = pcat_com_read(siopcb->siopinib->base_address, PCAT_COM_IER);
+	if (cbrtn == SIO_ERDY_SND) {
+		ier |= PCAT_COM_IER_TX;
+	} else if (cbrtn == SIO_ERDY_RCV) {
+		ier |= PCAT_COM_IER_LS | PCAT_COM_IER_RX;
+	}
+	pcat_com_write(siopcb->siopinib->base_address, PCAT_COM_IER, ier);
+}
+
+void
+pcat_com_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB ier = pcat_com_read(siopcb->siopinib->base_address, PCAT_COM_IER);
+	if (cbrtn == SIO_ERDY_SND) {
+		ier &= ~PCAT_COM_IER_TX;
+	} else if (cbrtn == SIO_ERDY_RCV) {
+		ier &= ~(PCAT_COM_IER_LS | PCAT_COM_IER_RX);
+	}
+	pcat_com_write(siopcb->siopinib->base_address, PCAT_COM_IER, ier);
+}
+
+void pcat_com_init(ID siopid) {
+	pcat_com_initialize();
+	pcat_com_set_mode(siopid);
+}
+
+void pcat_com_putc(ID siopid, char c) {
+	SIOPCB *p;
+	p = &siopcb_table[siopid - 1];
+	while (!pcat_com_snd_chr(p, c)) {
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/pcat_com.h	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *	COMãã©ã¤ãï¼PC/ATç¨ï¼
+ */
+
+#ifndef _PCAT_COM_H_
+#define _PCAT_COM_H_
+
+#include <s_services.h>
+
+#define SIO_ERDY_RCV (1u)
+#define SIO_ERDY_SND (2u)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+typedef struct {
+  short base_address;
+  short com_irq;
+	UH divisor_latch;
+} SIOPINIB;
+typedef struct pcat_hardware_serial_port_descripter {
+	const SIOPINIB *siopinib;
+  INT	    initflag;	   /* åæåæ¸ãã©ã°ã¸ã®ãã¤ã³ã¿   */
+  VP_INT spcb;
+} SIOPCB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+extern void pcat_com_initialize();
+
+extern void pcat_com1_handler();
+#if TNUM_PORT >= 2
+extern void pcat_com2_handler();
+#endif
+
+extern SIOPCB *pcat_com_opn_por(ID portid, VP_INT spcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+extern void pcat_com_cls_por(SIOPCB *p);
+
+extern void pcat_com_ierdy_rcv(VP_INT exinf);
+
+extern void pcat_com_ierdy_snd(VP_INT exinf);
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+extern INT pcat_com_rcv_chr(SIOPCB *p);
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+extern BOOL pcat_com_snd_chr(SIOPCB *p, char c);
+
+extern void pcat_com_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+extern void pcat_com_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+extern void pcat_com_init(ID siopid);
+
+extern void pcat_com_putc(ID siopid, char c);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _PCAT_COM_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/start.S	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼Multibootç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include <multiboot.h>
+	
+	.text
+	.globl start
+	.globl _start
+start:
+_start:
+	jmp	multiboot_entry
+
+	.align  4
+	multiboot_header:
+	/* magic */
+	.long	MULTIBOOT_HEADER_MAGIC
+	/* flags */
+	.long	MULTIBOOT_HEADER_FLAGS
+	/* checksum */
+	.long	-(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
+	/* header_addr */
+	.long	multiboot_header
+	/* load_addr */
+	.long	_start
+	/* load_end_addr */
+	.long	_edata
+	/* bss_end_addr */
+	.long	_end
+	/* entry_addr */
+	.long	multiboot_entry
+
+multiboot_entry:
+	movl	STACKTOP, %esp
+	pushl	$0
+	popf
+
+	/*
+	 *  hardware_init_hook ã®å¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+	 *  ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+start_1:	
+	movl hardware_init_hook, %eax
+	cmpl 0, %eax
+	je start_2
+	call hardware_init_hook
+
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_2:
+	movl software_init_hook, %eax
+	cmpl 0, %eax
+	je start_3
+	call software_init_hook
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åããï¼
+	 */
+start_3:	
+	jmp kernel_start
+
+
+	
+	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ */
+	.globl stack
+	.comm	stack, STACKSIZE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.c	(revision 26)
@@ -0,0 +1,273 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼PC/ATç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <i386.h>
+#include <irc.h>
+#include <irc_inline.h>
+
+#ifndef SYS_PUTC_PORTID
+#define SYS_PUTC_PORTID 1
+#endif
+
+#if SYS_PUTC_PORTID >= 1
+#include <pcat_com.h>
+#else
+#define VIDEO_ADDRESS 0xb8000
+#define VIDEO_ATTRIBUTE 7
+#define VIDEO_X_SIZE 80
+#define VIDEO_Y_SIZE 25
+UB video_x;
+UB video_y;
+Inline void video_write(UB x, UB y, char c) {
+	sil_wrb_mem((VP)(VIDEO_ADDRESS + (VIDEO_X_SIZE * y + x) * 2), c);
+	sil_wrb_mem((VP)(VIDEO_ADDRESS + (VIDEO_X_SIZE * y + x) * 2 + 1), VIDEO_ATTRIBUTE);
+}
+void video_init(void) {
+	UB y;
+	for (y = 0; y < VIDEO_Y_SIZE; ++y) {
+		UB x;
+		for (x = 0; x < VIDEO_X_SIZE; ++x) {
+			video_write(x, y, ' ');
+		}
+	}
+}
+void video_putc(char c) {
+	switch (c) {
+	case '\n':
+		video_x = VIDEO_X_SIZE;
+		break;
+	case '\r':
+		video_x = 0;
+		break;
+	default:
+		video_write(video_x, video_y, c);
+		++video_x;
+		break;
+	}
+	if (video_x >= VIDEO_X_SIZE) {
+		UB x;
+		video_x = 0;
+		++video_y;
+		if (video_y >= VIDEO_Y_SIZE) {
+			video_y = 0;
+		}
+		for (x = 0; x < VIDEO_X_SIZE; ++x) {
+			video_write(x, video_y, ' ');
+		}
+	}
+}
+#endif
+
+FP int_table[0x10]; /* å²è¾¼ã¿ãã³ãã©ã®ãã¼ãã« */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	set_gate_descriptor(0x20, 0x8, interrupt0, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x21, 0x8, interrupt1, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x22, 0x8, interrupt2, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x23, 0x8, interrupt3, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x24, 0x8, interrupt4, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x25, 0x8, interrupt5, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x26, 0x8, interrupt6, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x27, 0x8, interrupt7, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x28, 0x8, interrupt8, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x29, 0x8, interrupt9, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2a, 0x8, interrupt10, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2b, 0x8, interrupt11, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2c, 0x8, interrupt12, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2d, 0x8, interrupt13, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2e, 0x8, interrupt14, I386_TYPE_GATE_INTR, 0);
+	set_gate_descriptor(0x2f, 0x8, interrupt15, I386_TYPE_GATE_INTR, 0);
+
+	irc_initialize();
+#if SYS_PUTC_PORTID >= 1
+	pcat_com_init(SYS_PUTC_PORTID);
+#else
+	video_init();
+#endif
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	while(1);
+}
+
+ER irc_dis_irq(UB irq)
+{
+	BOOL cpu_locked;
+
+	if (irq > 15) {
+		return E_PAR;
+	}
+
+	cpu_locked = sense_lock();
+
+	if(!cpu_locked)
+	{
+		x_lock_cpu();
+	}
+
+	if(irq < 8)
+	{
+		sil_wrb_iop((VP)0x21, sil_reb_iop((VP)0x21) | (1 << irq));
+	}
+	else
+	{
+		sil_wrb_iop((VP)0xA1, sil_reb_iop((VP)0xA1) | (1 << (irq - 8)));
+	}
+
+	if(!cpu_locked)
+	{
+		x_unlock_cpu();
+	}
+
+	return E_OK;
+}
+
+ER irc_ena_irq(UB irq)
+{
+	BOOL cpu_locked;
+
+	if (irq > 15) {
+		return E_PAR;
+	}
+
+	cpu_locked = sense_lock();
+
+	if(!cpu_locked)
+	{
+		x_lock_cpu();
+	}
+
+	if(irq < 8)
+	{
+		sil_wrb_iop((VP)0x21, sil_reb_iop((VP)0x21) & ~(1 << irq));
+	}
+	else
+	{
+		sil_wrb_iop((VP)0xA1, sil_reb_iop((VP)0xA1) & ~(1 << (irq - 8)));
+	}
+
+	if(!cpu_locked)
+	{
+		x_unlock_cpu();
+	}
+
+	return E_OK;
+}
+
+#if SYS_PUTC_PORTID >= 1
+#define SYS_PUT_CHAR(c) pcat_com_putc(SYS_PUTC_PORTID, (c))
+#else
+#define SYS_PUT_CHAR(c) video_putc(c)
+#endif
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        SYS_PUT_CHAR('\r');
+    }
+    SYS_PUT_CHAR(c);
+}
+
+
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+#if 0
+	if (inhno >= 256 || inthdr == NULL)
+	{
+		return; /*??? Should I generate assertion? */
+	}
+#endif
+	int_table[TO_INTNO(inhno)] = inthdr;
+}
+
+ER vdef_inh(INHNO inhno, const T_DINH *pk_dinh) {
+	BOOL locked;
+	if (!(0x20 <= inhno && inhno <= 0x2f)) {
+		return E_PAR;
+	}
+	if (pk_dinh->inhatr != TA_HLNG) {
+		return E_RSATR;
+	}
+	locked = sense_lock();
+	if (!locked) {
+		x_lock_cpu();
+	}
+	define_inh(inhno, pk_dinh->inthdr);
+	if (!locked) {
+		x_unlock_cpu();
+	}
+	return E_OK;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_config.h	(revision 26)
@@ -0,0 +1,190 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.1 2004/07/21 02:49:37 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼PC/ATç¨ï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"IA-32(PC/AT)"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#if 0
+#define	SUPPORT_VXGET_TIM
+#endif
+
+/*
+ * éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤
+ */
+#define	STACKTOP	$(stack + STACKSIZE)
+#define	STACKSIZE	8192
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#ifndef LOGTASK_PORTID
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#endif
+
+
+#define PIT_INHNO 0x20
+
+#define PCAT_COM1_INHNO 0x24
+#define PCAT_COM2_INHNO 0x23
+#define PCAT_COM1_BASE (0x03F8)
+#define PCAT_COM2_BASE (0x02F8)
+
+#define	IRQ0_VECTOR	0x20
+#define	IRQ8_VECTOR	0x28
+#define	IRQ_VECTOR(x)	(IRQ0_VECTOR + (x))
+
+#define TO_INTNO(a) ((a) - 0x20)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+extern void	sys_putc(char c);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çï¼sys_support.Sï¼
+ */
+extern void interrupt0(void);
+extern void interrupt1(void);
+extern void interrupt2(void);
+extern void interrupt3(void);
+extern void interrupt4(void);
+extern void interrupt5(void);
+extern void interrupt6(void);
+extern void interrupt7(void);
+extern void interrupt8(void);
+extern void interrupt9(void);
+extern void interrupt10(void);
+extern void interrupt11(void);
+extern void interrupt12(void);
+extern void interrupt13(void);
+extern void interrupt14(void);
+extern void interrupt15(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®ãã¼ãã«ï¼sys_config.cï¼
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã¯ä¸æ¦ãã®ãã¼ãã«ã«ç»é²ãããå¥ã«ç¨æãããåºå
+¥å£å¦ç
+ *  ãå¼ã³åºãã
+ */
+extern FP int_table[0x10];
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+extern void define_inh(INHNO inhno, FP inthdr);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define INTHDR_ENTRY(inthdr) extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_defs.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.1 2004/07/21 02:49:37 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼PC/ATç¨ï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define PCAT
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME 1 /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO 1 /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT INTNO; /* å²è¾¼ã¿çªå· */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+typedef struct t_dinh {
+	ATR inhatr;
+	FP inthdr;
+} T_DINH;
+
+extern ER vdef_inh(INHNO inhno, const T_DINH *pk_dinh);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.def	(revision 26)
@@ -0,0 +1,19 @@
+define_inh
+int_table
+interrupt0
+interrupt1
+interrupt2
+interrupt3
+interrupt4
+interrupt5
+interrupt6
+interrupt7
+interrupt8
+interrupt9
+interrupt10
+interrupt11
+interrupt12
+interrupt13
+interrupt14
+interrupt15
+stack
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_rename.h	(revision 26)
@@ -0,0 +1,49 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define define_inh		_kernel_define_inh
+#define int_table		_kernel_int_table
+#define interrupt0		_kernel_interrupt0
+#define interrupt1		_kernel_interrupt1
+#define interrupt2		_kernel_interrupt2
+#define interrupt3		_kernel_interrupt3
+#define interrupt4		_kernel_interrupt4
+#define interrupt5		_kernel_interrupt5
+#define interrupt6		_kernel_interrupt6
+#define interrupt7		_kernel_interrupt7
+#define interrupt8		_kernel_interrupt8
+#define interrupt9		_kernel_interrupt9
+#define interrupt10		_kernel_interrupt10
+#define interrupt11		_kernel_interrupt11
+#define interrupt12		_kernel_interrupt12
+#define interrupt13		_kernel_interrupt13
+#define interrupt14		_kernel_interrupt14
+#define interrupt15		_kernel_interrupt15
+#define stack			_kernel_stack
+
+#ifdef LABEL_ASM
+
+#define _define_inh		__kernel_define_inh
+#define _int_table		__kernel_int_table
+#define _interrupt0		__kernel_interrupt0
+#define _interrupt1		__kernel_interrupt1
+#define _interrupt2		__kernel_interrupt2
+#define _interrupt3		__kernel_interrupt3
+#define _interrupt4		__kernel_interrupt4
+#define _interrupt5		__kernel_interrupt5
+#define _interrupt6		__kernel_interrupt6
+#define _interrupt7		__kernel_interrupt7
+#define _interrupt8		__kernel_interrupt8
+#define _interrupt9		__kernel_interrupt9
+#define _interrupt10		__kernel_interrupt10
+#define _interrupt11		__kernel_interrupt11
+#define _interrupt12		__kernel_interrupt12
+#define _interrupt13		__kernel_interrupt13
+#define _interrupt14		__kernel_interrupt14
+#define _interrupt15		__kernel_interrupt15
+#define _stack			__kernel_stack
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_support.S	(revision 26)
@@ -0,0 +1,159 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002 by Monami software, Limited Partners.
+ *  Copyright (C) 2002 by MURANAKA Masaki
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.1 2004/07/21 02:49:37 monaka Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼PC/ATç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+		.text
+	.globl hardware_init_hook
+hardware_init_hook:	
+	movl %cr0, %eax
+	andl $~0x60000000, %eax
+	movl %eax, %cr0 /* CD = 0, NW = 0 */
+	ret; 
+
+#define CALL_HANDLER(x) incl nest; sti; call x; cli; decl nest
+
+/*
+ *   å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+ *
+ *   å²è¾¼ã¿çªå·ã%ecxã«å
+¥ãã¦å¼ã³åºãããã
+ */
+	.text
+interrupt:
+	cld
+	cmpl	$0, nest
+	jne	interrupt_2		/* å
+å´ã®ãã³ãã© */
+	/* å¤å´ã®ãã³ãã© */
+	movl %esp, %eax
+	movl	STACKTOP, %esp
+	pushl %eax
+interrupt_2:				
+	pushl %ecx /* intno */
+	movl int_table(,%ecx,4), %eax
+	testl %eax, %eax
+	jz 0f
+	CALL_HANDLER(*%eax)
+0:
+	popl %eax /* intno */
+	testb $8, %al
+	jz 1f
+	movb $0x20, %al
+	outb %al, $0xa0 /* slave non-specific EOI */
+1:
+	movb $0x20, %al
+	outb %al, $0x20 /* master non-specific EOI */
+	cmpl	$0, nest
+	jne	interrupt_3
+	popl %eax
+	movl %eax, %esp
+	cmpl $0, reqflg
+	je interrupt_3
+ret_int:
+	movl	$0, reqflg
+	cmpl	$0, enadsp
+	je	ret_int_r
+	movl	runtsk, %ebx
+	cmpl	%ebx, schedtsk
+	je	ret_int_r
+	movl %esp, TCB_esp(%ebx)
+	movl	$ret_int_r, %eax
+	movl	%eax, TCB_eip(%ebx)
+	jmp	dispatch_loop
+ret_int_r:
+	call	calltex
+interrupt_3:	
+	popa
+	iret
+
+#define interrupt(intno) \
+	.global interrupt##intno ; \
+interrupt##intno: ; \
+	pusha ; \
+	movl $intno, %ecx ; \
+	jmp interrupt
+
+	interrupt(0)
+	interrupt(1)
+	interrupt(2)
+	interrupt(3)
+	interrupt(4)
+	interrupt(5)
+	interrupt(6)
+	interrupt(7)
+	interrupt(8)
+	interrupt(9)
+	interrupt(10)
+	interrupt(11)
+	interrupt(12)
+	interrupt(13)
+	interrupt(14)
+	interrupt(15)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/sys_unrename.h	(revision 26)
@@ -0,0 +1,49 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef define_inh
+#undef int_table
+#undef interrupt0
+#undef interrupt1
+#undef interrupt2
+#undef interrupt3
+#undef interrupt4
+#undef interrupt5
+#undef interrupt6
+#undef interrupt7
+#undef interrupt8
+#undef interrupt9
+#undef interrupt10
+#undef interrupt11
+#undef interrupt12
+#undef interrupt13
+#undef interrupt14
+#undef interrupt15
+#undef stack
+
+#ifdef LABEL_ASM
+
+#undef _define_inh
+#undef _int_table
+#undef _interrupt0
+#undef _interrupt1
+#undef _interrupt2
+#undef _interrupt3
+#undef _interrupt4
+#undef _interrupt5
+#undef _interrupt6
+#undef _interrupt7
+#undef _interrupt8
+#undef _interrupt9
+#undef _interrupt10
+#undef _interrupt11
+#undef _interrupt12
+#undef _interrupt13
+#undef _interrupt14
+#undef _interrupt15
+#undef _stack
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/tinet_sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/tinet_sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/pcat/tinet_sys_config.h	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_sys_config.h,v 1.1.2.2 2004/07/21 04:46:08 monaka Exp $
+ */
+
+#ifndef _TINET_SYS_CONFIG_H_
+#define _TINET_SYS_CONFIG_H_
+
+					/* [s]ã éä¿¡ã¿ã¤ã ã¢ã¦ã			*/
+#define TMO_IF_ED_XMIT		(2*IF_TIMER_HZ)
+
+/*#define IF_ED_CFG_ACCEPT_ALL		 ãã«ãã­ã£ã¹ããã¨ã©ã¼ãã¬ã¼ã ãåä¿¡ããã¨ãã¯ã³ã¡ã³ããå¤ãã*/
+
+#endif /* _TINET_SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_config.h	(revision 26)
@@ -0,0 +1,423 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_cpu_config.h,v 1.1.2.2 2004/07/21 04:46:08 monaka Exp $
+ */
+
+#ifndef _TINET_CPU_CONFIG_H_
+#define _TINET_CPU_CONFIG_H_
+
+/*
+ *  TCP/IP ã«é¢ããå®ç¾©
+ */
+
+/* TCP ã«é¢ããå®ç¾© */
+
+/*
+ *  MAX_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤
+ *
+ *    æ³¨æ: å¤æ´ãã¹ãã§ã¯ãªãã
+ */
+
+#define MAX_TCP_RCV_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+
+/*
+ *  MAX_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤
+ *
+ *    ç¸æãã MSS ãªãã·ã§ã³ã§ã»ã°ã¡ã³ããµã¤ãºãæå®ããã¦ãã
+ *    ãã®å¤ã§ãã»ã°ã¡ã³ããµã¤ãºãå¶éã§ããã
+ */
+
+#if 0	/* ãµã¤ãº 1024 ã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#define MAX_TCP_SND_SEG		(1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
+
+#else	/* TCP_MSS ãä½¿ãå ´å */
+
+#if 1	/* æå¤§ PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#define MAX_TCP_SND_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+
+#else	/* TCP_MSS ãä½¿ãå ´å */
+
+#define MAX_TCP_SND_SEG		TCP_MSS
+
+#endif	/* of if 1 æå¤§ PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#endif	/* of #if 1 ãµã¤ãº 1024 ã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+/*
+ *  DEF_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤
+ *  DEF_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤
+ */
+
+#ifdef SUPPORT_PPP
+
+#define DEF_TCP_SND_SEG		MAX_TCP_SND_SEG
+#define DEF_TCP_RCV_SEG		MAX_TCP_RCV_SEG
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+#if 0	/* ãµã¤ãº 1024 ã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#define DEF_TCP_SND_SEG		(1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
+#define DEF_TCP_RCV_SEG		(1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
+
+#else	/* ãµã¤ãº 1024 ã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#if 1	/* æå¤§ PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#define DEF_TCP_SND_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+#define DEF_TCP_RCV_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+
+#else	/* TCP_MSS ãä½¿ãå ´å */
+
+#define DEF_TCP_SND_SEG		TCP_MSS
+#define DEF_TCP_RCV_SEG		TCP_MSS
+
+#endif	/* of #if 1 æå¤§ PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#endif	/* of #if 1 ãµã¤ãº 1024 ã®ãããã¯ã¼ã¯ãããã¡ãä½¿ãå ´å */
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#define DEF_TCP_SND_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+#define DEF_TCP_RCV_SEG		(IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
+
+#endif	/* of #ifdef SUPPORT_LOOP */
+
+/* 
+ *  ã»ã°ã¡ã³ãã®é çªãå
+¥ãæ¿ããã¨ãã«æ°ãã«ãããã¯ã¼ã¯ãããã¡ãå²å½ã¦ã¦ã
+ *  ãã¼ã¿ãã³ãã¼ãããµã¤ãºã®ãããå¤
+ */
+#define MAX_TCP_REALLOC_SIZE	1024	
+
+#define TMO_TCP_GET_NET_BUF	1000	/* [ms]ãnet_buf ç²å¾ã¿ã¤ã ã¢ã¦ã		*/
+#define TMO_TCP_OUTPUT		1000	/* [ms]ãTCP åºåã¿ã¤ã ã¢ã¦ã			*/
+
+#define TCP_CFG_OPT_MSS		/* ã³ãã¯ã·ã§ã³éè¨­æã«ãã»ã°ã¡ã³ããµã¤ãºãªãã·ã§ã³ãã¤ãã¦éä¿¡ããã*/
+#define TCP_CFG_DELAY_ACK	/* ACK ãé
+ãããã¨ãã¯ã³ã¡ã³ããå¤ãã			*/
+#define TCP_CFG_ALWAYS_KEEP	/* å¸¸ã«ã­ã¼ãã¢ã©ã¤ãããæã¯ã³ã¡ã³ããå¤ãã		*/
+
+/*
+ *  åºåã¿ã¹ã¯
+ */
+
+#define	TCP_OUT_TASK_STACK_SIZE	1024	/* TCP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+#define TCP_OUT_TASK_PRIORITY	5	/* TCP åºåã¿ã¹ã¯ã®åªå
+åº¦			*/
+
+/* UDP ã«é¢ããå®ç¾© */
+
+					/* UDP åä¿¡ã­ã¥ã¼ãµã¤ãº				*/
+#define NUM_DTQ_UDP_RCVQ	(NUM_MPF_NET_BUF_IF_PDU-1)	/* éã³ã¼ã«ããã¯ç¨	*/
+#define NUM_DTQ_UDP_CB_RCVQ	(NUM_DTQ_UDP_RCVQ+1)		/* ã³ã¼ã«ããã¯ç¨	*/
+
+#define TMO_UDP_OUTPUT	10000		/* [ms]ãUDP åºåã¿ã¤ã ã¢ã¦ã			*/
+
+#define UDP_CFG_IN_CHECKSUM	/* UDP ã®å
+¥åãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+#define UDP_CFG_OUT_CHECKSUM	/* UDP ã®åºåãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+
+/*
+ *  ãã³ãã­ãã­ã³ã°ã³ã¼ã«ãè¡ãå ´åã«çµã¿è¾¼ãã¿ã¹ã¯ã¨ãã¼ã¿ã­ã¥ã¼
+ */
+
+#define NUM_DTQ_UDP_OUTPUT	1	/* UDP åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº			*/
+#define	UDP_OUT_TASK_STACK_SIZE	1024	/* UDP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº			*/
+#define UDP_OUT_TASK_PRIORITY	5	/* UDP åºåã¿ã¹ã¯ã®åªå
+åº¦				*/
+
+/* ICMP4 ã«é¢ããå®ç¾© */
+
+#define ICMP4_REPLY_ERROR		/* ICMP4 ã¨ã©ã¼ã¡ãã»ã¼ã¸ãéä¿¡ããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+#define TMO_ICMP4_OUTPUT	1000	/* [ms]ãICMP4 åºåãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ *  ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  PPP ã«é¢ããå®ç¾©
+ */
+
+#define NUM_DTQ_PPP_OUTPUT	2	/* PPP åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãºã2 ä»¥ä¸	*/
+
+#define	PPP_INPUT_STACK_SIZE	1024	/* PPP ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+#define	PPP_OUTPUT_STACK_SIZE	1024	/* PPP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+
+#define PPP_INPUT_PRIORITY	5	/* PPP ã¿ã¹ã¯ã®åªå
+åº¦			*/
+#define PPP_OUTPUT_PRIORITY	5	/* PPP ã¿ã¹ã¯ã®åªå
+åº¦			*/
+
+#define TMO_PPP_GET_NET_BUF	1000	/* [ms]ãåä¿¡ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ *  PPPãã¢ãã ã«é¢ããå®ç¾©
+ */
+
+#define MODEM_CFG_DIAL		"ATD"	/* ãã¤ã¢ã«ã³ãã³ãæå­å			*/
+#define MODEM_CFG_RETRY_CNT	3	/* ãã¤ã¢ã«ãªãã©ã¤åæ°			*/
+#define MODEM_CFG_RETRY_WAIT	10000	/* ãã¤ã¢ã«ãªãã©ã¤ã¾ã§ã®å¾
+ã¡æé [ms]	*/
+
+/*
+ *  PPPãHDLC ã«é¢ããå®ç¾©
+ */
+
+#define DEF_LOCAL_ACCM		0x000a0000	/* èªåã® ACCMãXON ã¨ XOFF ã®ã¿å¤æ	*/
+#define DEF_REMOTE_ACCM		0xffffffff	/* ç¸æã® ACCMãåæå¤ã¯å
+¨ã¦å¤æ		*/
+
+/*
+ *  PPPãLCP ã«é¢ããå®ç¾©
+ */
+
+#define LCP_CFG_MRU		0x0001	/* MRU					*/
+#define LCP_CFG_ACCM		0x0002	/* ACCM					*/
+#define LCP_CFG_MAGIC		0x0004	/* ãã¸ãã¯çªå·				*/
+#define LCP_CFG_PCOMP		0x0008	/* ãã­ãã³ã«é¨å§ç¸®æ©è½			*/
+#define LCP_CFG_ACCOMP		0x0010	/* ã¢ãã¬ã¹ã»å¶å¾¡é¨å§ç¸®			*/
+#define LCP_CFG_PAP		0x0020	/* PAP					*/
+/*#define LCP_CFG_CHAP		0x0040	   CHAP ã¯å®è£
+äºå®			*/
+
+#ifdef LCP_CFG_MAGIC
+
+#define LCP_ECHO_INTERVAL	(20*NET_TIMER_HZ)	/* ã¤ã³ã¿ã¼ãã«æé		*/
+#define LCP_ECHO_FAILS		9			/* å¤±æé¾å¤			*/
+
+#endif	/* of #ifdef LCP_CFG_MAGIC */
+
+/*
+ *  PPPãPAP ã«é¢ããå®ç¾©
+ */
+
+#define DEF_PAP_TIMEOUT		(3*NET_TIMER_HZ)
+#define DEF_PAP_REQTIME		(30*NET_TIMER_HZ)	/* ã¿ã¤ã ã¢ã¦ãå¦çãè¡ãã¨ãã¯ã³ã¡ã³ããå¤ãã*/
+#define MAX_PAP_REXMT		10			/* èªè¨¼è¦æ±ã®æå¤§åéåæ°	*/
+
+/*
+ *  ARP ã«é¢ããå®ç¾©
+ */
+
+#define NUM_ARP_ENTRY		10			/* ARP ã­ã£ãã·ã¥ã¨ã³ããªæ°	*/
+#define ARP_CACHE_KEEP		(20*60*NET_TIMER_HZ)	/* ARP ã­ã£ãã·ã¥ã®ã¿ã¤ã ã¢ã¦ã	*/
+#define TMO_ARP_GET_NET_BUF	1000	/* [ms]ãã¢ãã¬ã¹è§£æ±ºè¦æ±ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã*/
+#define TMO_ARP_OUTPUT		1000	/* [ms]ãã¢ãã¬ã¹è§£æ±ºè¦æ±åºåã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ *  DHCP ã«é¢ããå®ç¾©
+ *
+ *    ã»æ³¨æ: TINET ã¯ãDHCP ãå®è£
+ãã¦ããªããå¿ç¨ãã­ã°ã©ã ã§ã
+ *            DHCP ã¡ãã»ã¼ã¸ãåä¿¡ããããã®å®ç¾©ã§ããã
+ */
+
+/*#define DHCP_CFG					 DHCP ãå¦çããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+/*
+ *  Ethernet ã«é¢ããå®ç¾©
+ */
+
+#define NUM_DTQ_ETHER_OUTPUT	2	/* Ethernet åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+
+#define	ETHER_INPUT_STACK_SIZE	1024	/* Ethernet å
+¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+#define	ETHER_OUTPUT_STACK_SIZE	1024	/* Ethernet åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+
+#define ETHER_INPUT_PRIORITY	3	/* Ethernet å
+¥åã¿ã¹ã¯ã®åªå
+åº¦		*/
+#define ETHER_OUTPUT_PRIORITY	2	/* Ethernet åºåã¿ã¹ã¯ã®åªå
+åº¦		*/
+
+/*#define ETHER_CFG_ACCEPT_ALL		 ãã«ãã­ã£ã¹ããã¨ã©ã¼ãã¬ã¼ã ãåä¿¡ããã¨ãã¯ã³ã¡ã³ããå¤ãã	*/
+/*#define ETHER_CFG_UNEXP_WARNING	 éãµãã¼ããã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_802_WARNING		 IEEE 802.3 ãã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_MCAST_WARNING	 ãã«ãã­ã£ã¹ãã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+
+/*
+ *  ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã«é¢ããå®ç¾©
+ */
+
+#define LOMTU			1500	/* ã«ã¼ãããã¯ã® MTU			*/
+
+#define NUM_DTQ_LOOP_INPUT	0	/* ã«ã¼ãããã¯å
+¥åãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+#define NUM_DTQ_LOOP_OUTPUT	0	/* ã«ã¼ãããã¯åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+
+#define	LOOP_INPUT_STACK_SIZE	1024	/* ã«ã¼ãããã¯å
+¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+#define	LOOP_OUTPUT_STACK_SIZE	1024	/* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+
+#define LOOP_INPUT_PRIORITY	5	/* ã«ã¼ãããã¯å
+¥åã¿ã¹ã¯ã®åªå
+åº¦		*/
+#define LOOP_OUTPUT_PRIORITY	5	/* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®åªå
+åº¦		*/
+
+/*
+ *  ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ */
+
+#define	NET_TIMER_STACK_SIZE	1024	/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define NET_TIMER_PRIORITY	2	/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®åªå
+åº¦ */
+
+#define NUM_NET_CALLOUT		5	/* ã¿ã¤ã ã¢ã¦ãå¼åºãæ°ã10 ä»¥ä¸	*/
+
+/* net_buf æ° */
+
+#ifdef SUPPORT_PPP
+
+/*
+ *  PPP ã§ã¯ãåä¿¡ç¨ã® net_buf ã¯ PDU (1502) ãµã¤ãºãå¸¸ã«
+ *  å²ãå½ã¦ãªããã°ãªããªãã®ã§ PDU ãµã¤ãºãå¤ãã«ç¢ºä¿ããã
+ *  128 ãµã¤ãºã® net_buf ã¯ãTCP ã»ã°ã¡ã³ãç¨ã«å¤ãã«ç¢ºä¿ããã
+ */
+
+#define NUM_MPF_NET_BUF_128	4	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#define NUM_MPF_NET_BUF_256	2	/* net_buf æ°ã256		*/
+#define NUM_MPF_NET_BUF_512	2	/* net_buf æ°ã512		*/
+#define NUM_MPF_NET_BUF_1024	2	/* net_buf æ°ã1024		*/
+#define NUM_MPF_NET_BUF_IF_PDU	4	/* net_buf æ°ãPDU		*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+/*
+ *  ã¤ã¼ãµãããã§ã¯ãåä¿¡ç¨ã® net_buf ã¯ãNIC ã®ãããã¡ã«ãã
+ *  ãã¬ã¼ã é·ãè¦ã¦å²ãå½ã¦ãã°ããã
+ *  TCP ã®æå¤§ã»ã°ã¡ã³ããµã¤ãºã¯ 1024 ãªã¯ãããã® net_buf ã«èª¿æ´ããå ´åã¯ã
+ *  ãã®ãµã¤ãºã® net_buf ã¯å¤ãã«ç¢ºä¿ããã
+ *  128 ãµã¤ãºã® net_buf ããTCP ã®å¶å¾¡ã»ã°ã¡ã³ãç¨ã«å¤ãã«ç¢ºä¿ããã
+ */
+
+#ifndef NUM_MPF_NET_BUF_128
+#define NUM_MPF_NET_BUF_128	128	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_128 */
+
+#ifndef NUM_MPF_NET_BUF_256
+#define NUM_MPF_NET_BUF_256	64	/* net_buf æ°ã256		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_256 */
+
+#ifndef NUM_MPF_NET_BUF_512
+#define NUM_MPF_NET_BUF_512	64	/* net_buf æ°ã512		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_512 */
+
+#ifndef NUM_MPF_NET_BUF_1024
+#define NUM_MPF_NET_BUF_1024	64	/* net_buf æ°ã1024		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_1024 */
+
+#ifndef NUM_MPF_NET_BUF_IF_PDU
+#define NUM_MPF_NET_BUF_IF_PDU	128	/* net_buf æ°ãPDU		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#define NUM_MPF_NET_BUF_128	2	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#define NUM_MPF_NET_BUF_256	2	/* net_buf æ°ã256		*/
+#define NUM_MPF_NET_BUF_512	2	/* net_buf æ°ã512		*/
+#define NUM_MPF_NET_BUF_1024	2	/* net_buf æ°ã1024		*/
+#define NUM_MPF_NET_BUF_IF_PDU	2	/* net_buf æ°ãPDU		*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+/*
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬
+ *
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬ãè¡ãå ´åã¯ãtinet/include/net/net.h
+ *  ã§å®ç¾©ããã¦ãããã­ãã³ã«è­å¥ãã©ã°ãæå®ããã
+ */
+
+#if 1
+
+#define NET_COUNT_ENABLE	(0			\
+				| PROTO_FLG_PPP_HDLC	\
+				| PROTO_FLG_PPP_PAP	\
+				| PROTO_FLG_PPP_LCP	\
+				| PROTO_FLG_PPP_IPCP	\
+				| PROTO_FLG_PPP		\
+				| PROTO_FLG_LOOP	\
+				| PROTO_FLG_ETHER_NIC	\
+				| PROTO_FLG_ETHER	\
+				| PROTO_FLG_ARP		\
+				| PROTO_FLG_IP4		\
+				| PROTO_FLG_ICMP4	\
+				| PROTO_FLG_UDP		\
+				| PROTO_FLG_TCP		\
+				| PROTO_FLG_NET_BUF	\
+				)
+
+#else	/* of #if 0 */
+
+#define NET_COUNT_ENABLE	(0			\
+				)
+
+#endif	/* of #if 0 */
+
+#endif /* _TINET_CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_defs.h	(revision 26)
@@ -0,0 +1,71 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_cpu_defs.h,v 1.1.2.2 2004/07/21 04:46:08 monaka Exp $
+ */
+
+#ifndef _TINET_CPU_DEFS_H_
+#define _TINET_CPU_DEFS_H_
+
+/*
+ *  ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  CPU ã®ã¢ã©ã¤ã¡ã³ãã«é¢ããå®ç¾©
+ *
+ *  4 ãªã¯ãããåä½ã§ãã¢ã©ã¤ã³ããå¿
+è¦ãããå ´åã¯ 4 ãæå®ããã
+ */
+
+#define CPU_NET_ALIGN		2
+
+#endif /* _TINET_CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_config.h	(revision 26)
@@ -0,0 +1,280 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP fp = software_term_hook;
+
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tool_defs.h	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2008-     by Monami Software Limited Partnership, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.1 2004/07/21 02:49:36 monaka Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/Makefile.config	(revision 26)
@@ -0,0 +1,26 @@
+#
+#  @(#) $Id: Makefile.config,v 1.6 2003/07/16 09:12:41 honda Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããä¾å­é¨ï¼Linuxç¨ï¼
+#
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU) 
+COPTS    := $(COPTS) -g -O2  
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR) $(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) 
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o sys_config.o start.o
+
+#
+# makeoffset ã¯ä¸å¿
+è¦
+#
+OMIT_MAKEOFFSET = true
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.c	(revision 26)
@@ -0,0 +1,218 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.8 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Linuxç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IMS
+IMS     task_sigmask;
+#endif /* SUPPORT_CHG_IMS */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+IMS	int_sigmask;
+
+void
+dispatch()
+{
+    sigset_t waitmask;
+    sigemptyset(&waitmask);
+    sigaddset(&waitmask,SIGUSR1);
+        if (enadsp && (!runtsk || (runtsk != schedtsk
+                        && _setjmp(runtsk->tskctxb.env) == 0))) {
+            while (!(runtsk = schedtsk)) {
+                sigsuspend(&waitmask);
+            }
+            _longjmp(runtsk->tskctxb.env, 1);
+        }else{
+            calltex();
+        }
+}
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+void
+exit_and_dispatch() 
+{                   
+    runtsk = 0;
+    dispatch();
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+
+
+extern void kernel_start();
+
+void
+cpu_initialize()
+{
+
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+    sigemptyset(&task_sigmask);
+#endif /* SUPPORT_CHG_IPM */
+
+    /*
+     *  ã·ã°ãã«ã¹ã¿ãã¯ãï¼ãã­ã»ã¹ã¹ã¿ãã¯ä¸ã«åãï¼
+     *  BSDã®ã·ã°ãã«ã¨ç°ãªãss.ss_flagsã«SS_ONSTACKã
+     *  æ¸ãè¾¼ãã§ãåæ ãããªããããã¿ã¹ã¯ç¬ç«é¨ãè¡¨ã
+     *  inSigStackãä½¿ç¨ããã
+     */
+
+
+    /*
+     *  ãã£ã¹ãããç¨ã®ã·ã°ãã«ãã³ãã©ãè¨­å®ï¼
+     *  å²ãè¾¼ã¿ãã³ãã©ã®åºå£ã§SIGUSR1ãä½¿ç¨ãã¦å¼ã³åºã
+     *  ãã¨ã«ããã
+     */
+	{
+            struct sigaction dis_action;
+            dis_action.sa_handler = dispatch;
+            dis_action.sa_flags   =  0;
+            sigfillset(&dis_action.sa_mask);
+            sigaction(SIGUSR1,&dis_action,((void *)0));
+
+	}
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+
+
+#ifdef SUPPORT_CHG_IMS
+/*
+ *   IMASKã®è¨­å®åç
+§æ©è½
+ */
+SYSCALL ER
+chg_ims(IMS ims)
+{
+
+    if(sense_context()){
+        if(!sigismember(&ims,SIGUSR1))
+            return(E_PAR);
+    }else{
+        if(sigismember(&ims,SIGUSR1))
+            return(E_PAR);
+    }
+    
+    
+    sigprocmask(SIG_SETMASK,&ims,0);    
+	return(E_OK);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ims(IMS *p_ims)
+{
+    sigprocmask(SIG_SETMASK,p_ims,0);        
+	return(E_OK);
+}
+
+
+#endif /* SUPPORT_CHG_IMS */
+
+
+/*
+ * ã¿ã¹ã¯èµ·åã«ã¼ãã³
+ *
+ */
+
+void
+activate_r()
+{
+    /*
+     *  ã·ã°ãã«ãã¹ã¯ãè¨­å®ãã¦ï¼ã¿ã¹ã¯ãèµ·åããï¼
+     */
+#ifdef SUPPORT_CHG_IMS
+    sigprocmask(SIG_SETMASK,&task_sigmask,((void *)0));
+#else /* SUPPORT_CHG_IMS */
+    sigset_t set;
+    sigemptyset(&set);
+    sigprocmask(SIG_SETMASK,&set,((void *)0));
+#endif /* SUPPORT_CHG_IMS */
+    (*runtsk->tinib->task)(runtsk->tinib->exinf);
+    
+    ext_tsk();
+}
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_config.h	(revision 26)
@@ -0,0 +1,386 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.9 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Linuxç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  Linuxç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+
+#include <signal.h>
+#include <setjmp.h>
+
+/*
+ *  chg_ims/get_ims ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IMS
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	jmp_buf env;		/* CPUã³ã³ãã­ã¹ã */
+} CTXB;
+
+/*
+ *   CPUä¾å¤ãã³ãã©
+ */
+
+#define EXCHNO_ZDIV  SIGFPE
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+
+Inline int
+current_stack()
+{
+    struct sigaltstack      ss;
+
+    sigaltstack(((void *)0), &ss);
+    return(ss.ss_flags & SS_ONSTACK);
+}
+
+
+Inline BOOL
+sense_context()
+{
+	return(current_stack());
+}
+
+Inline BOOL
+sense_lock()
+{
+    sigset_t currentSet;
+    
+    sigprocmask(SIG_BLOCK, ((void *)0), &currentSet);
+
+#if defined(linux) & (defined(i386) | defined(_i386_) | defined(__i386__))
+    if(currentSet.__val[0] == ~(0 | (1<<(SIGKILL-1)) | (1<<(SIGSTOP-1)))
+       &&  currentSet.__val[1] == ~0 )
+        return(TRUE);
+    else
+        return(FALSE);
+#else
+    
+#error not supported.
+    
+#endif /* linux */    
+}
+
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IMS
+extern IMS	task_sigmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IMS */
+
+Inline void
+t_lock_cpu()
+{
+    sigset_t  newmask;
+    
+    sigfillset(&newmask);
+    sigprocmask(SIG_SETMASK,&newmask,0);
+}
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IMS
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+    sigprocmask(SIG_SETMASK,&task_sigmask,0);
+#else /* SUPPORT_CHG_IMS */
+    sigset_t  mask;
+    
+    sigemptyset(&mask);
+    sigprocmask(SIG_SETMASK,&mask,0);
+#endif /* SUPPORT_CHG_IMS */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern IMS	int_sigmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+    sigset_t  mask;
+    
+    sigfillset(&mask);
+    sigprocmask(SIG_SETMASK,&mask,&int_sigmask);
+}
+
+Inline void
+i_unlock_cpu()
+{
+    sigprocmask(SIG_SETMASK,&int_sigmask,0);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ããã
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch();
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void    exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+    /*
+     *  SIGUSR1ããã­ãã¯ãã¹ã¿ãã¯åãæ¿ãæãã§ç»é²ããã
+     *  åªå
+åº¦ãä»ãããå ´åã¯ãã¹ã¯ããããããæå®ãã
+     *  å¿
+è¦ãããã®ã§ãã®æ¹æ³ã¯ä½¿ããªãã
+     */
+    
+    struct sigaction action;
+
+    action.sa_handler = inthdr;
+    sigemptyset(&action.sa_mask);
+    sigaddset(&action.sa_mask,SIGUSR1);
+    action.sa_flags = SA_ONSTACK;
+    
+    sigaction(inhno, &action, 0);    
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+    /*
+     * ãã­ãã¯ãããã¹ã¯ç¡ããã¹ã¿ãã¯åãæ¿ãæãã§ç»é²ããã
+     */
+    struct sigaction action;
+
+    action.sa_handler = exchdr;
+    sigemptyset(&action.sa_mask);
+    sigaddset(&action.sa_mask,SIGUSR1);    
+    action.sa_flags = SA_ONSTACK;    
+    sigaction(excno, &action, 0);
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  ã·ã°ãã«ãçºè¡ããã¦ãã¨ã·ã°ãã«ã¹ã¿ãã¯ã«èªåçã«åãæ¿ããã
+ *  å
+¨ã¦ã®å²ãè¾¼ã¿ãã³ãã©ã¯ãã£ã¹ãããã£ãèµ·åããSIGUSR1ããã¹ã¯ãã¦
+ *  åä½ããããã®ããreqflgã®ãã§ãã¯å¾ã·ã°ãã«ãçºè¡ããã¦èµ·åããã
+ *  ãã³ãã©ã§ãã£ã¹ããããè¦æ±ããã¦ãæ­£ããåã
+ */
+
+
+#define	INTHDR_ENTRY(inthdr)      \
+void inthdr##_entry(void){        \
+     inthdr();                           /* å²ãè¾¼ã¿ãã³ãã©ãå¼ã³åºã */ \
+     if(_kernel_reqflg)                  /* regflg ãTRUEã§ããã°      */ \
+       raise(SIGUSR1);                   /* ãã£ã¹ãããã£ãå¼ã³åºã   */ \
+}                                      
+
+#define INT_ENTRY(inthdr)   inthdr##_entry
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  ã·ã°ãã«ãçºè¡ããã¦ãã¨ã·ã°ãã«ã¹ã¿ãã¯ã«èªåçã«åãæ¿ããã 
+ *  å
+¨ã¦ã®CPUä¾å¤ãã³ãã©ã¯ãã£ã¹ãããã£ãèµ·åããSIGUSR1ããã¹ã¯ãã¦
+ *  åä½ããããã®ããreqflgã®ãã§ãã¯å¾ã·ã°ãã«ãçºè¡ããã¦èµ·åããã
+ *  ãã³ãã©ã§ãã£ã¹ããããè¦æ±ããã¦ãæ­£ããåã 
+ */
+#define	EXCHDR_ENTRY(exchdr)	  \
+void exchdr##_entry(VP sp){        \
+     exchdr(sp);                         /* å²ãè¾¼ã¿ãã³ãã©ãå¼ã³åºã */ \
+     if(_kernel_reqflg)                  /* regflg ãTRUEã§ããã°      */ \
+       raise(SIGUSR1);                   /* ãã£ã¹ãããã£ãå¼ã³åºã   */ \
+}
+
+#define EXC_ENTRY(exchdr) exchdr##_entry
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ããã
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x1000) == 0);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x0700) == 0x0700);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_context.h	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.5 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+    ((int *) &(tcb->tskctxb.env))[JB_PC] = (int) activate_r;
+    ((int *) &(tcb->tskctxb.env))[JB_SP] = (int)(((VB *) tcb->tinib->stk) +
+                                                 tcb->tinib->stksz
+                                                 - STACK_MERGIN);
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	0
+
+#endif /* _CPU_CONTEXT_H_ */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_defs.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.11 2003/12/24 07:42:53 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼68040ç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define LINUX
+
+#ifndef _MACRO_ONLY
+
+#include <setjmp.h>
+#include <signal.h>
+
+typedef UINT        INHNO;		/* å²è¾¼ãã³ãã©çªå· */
+typedef	sigset_t	IMS;		/* å²è¾¼ã¿ãã¹ã¯        */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+extern ER	chg_ims(IMS ims);
+extern ER	get_ims(IMS *p_ims);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  INTNOåã¨å²ãè¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+
+#ifndef _MACRO_ONLY
+
+typedef INT	INTNO;		/* å²è¾¼ã¿çªå· */
+extern  ER	dis_int(INTNO intno);
+extern  ER	ena_int(INTNO intno);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	10		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort()
+{
+    exit(1);
+}
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+activate_r
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/cpu_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/hw_timer.h	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.5 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Linuxç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#ifndef _MACRO_ONLY
+#include <sys/time.h>
+#endif /* _MACRO_ONLY */
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	SIGALRM
+
+/*
+ *
+ *
+ */
+#define TIMER_CLOCK             1
+#define TO_CLOCK(nume, deno)    (TIMER_CLOCK * (nume) / (deno))
+
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    struct itimerval val;
+
+    val.it_interval.tv_sec = TO_CLOCK(TIC_NUME, TIC_DENO) / 1000;
+    
+    val.it_interval.tv_usec = (TO_CLOCK(TIC_NUME, TIC_DENO) % 1000) * 1000;
+    val.it_value = val.it_interval;
+    setitimer(ITIMER_REAL, &val, 0);
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{
+    struct itimerval val;
+
+    val.it_interval.tv_sec = 0;
+    val.it_interval.tv_usec = 0;
+    val.it_value = val.it_interval;
+    setitimer(ITIMER_REAL, &val, 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/start.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/start.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/start.c	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.c,v 1.6 2003/12/24 07:24:40 honda Exp $
+ */
+
+#include <signal.h>
+#include "jsp_kernel.h"
+#include "check.h"
+
+extern void kernel_start();
+
+
+int main()
+{
+    struct sigaltstack      ss;
+    struct sigaction action;
+    /*
+     *  ã·ã°ãã«ã¹ã¿ãã¯ãï¼ãã­ã»ã¹ã¹ã¿ãã¯ä¸ã«åãï¼
+     *  BSDã®ã·ã°ãã«ã¨ç°ãªãss.ss_flagsã«SS_ONSTACKã
+     *  æ¸ãè¾¼ãã§ãåæ ãããªããããã¿ã¹ã¯ç¬ç«é¨ãè¡¨ã
+     *  inSigStackãä½¿ç¨ããã
+     */
+    
+
+    ss.ss_sp = (void *)(((INT) &ss) - SIGSTACK_MERGIN - SIGSTKSZ);
+    ss.ss_size = SIGSTKSZ;
+    ss.ss_flags = 0;
+    sigaltstack(&ss, 0);
+
+    /*
+     *  ã«ã¼ãã«ã¹ã¿ã¼ãã¢ããã«ã¼ãã³(kernel_start())
+     *  ãSIGUSR1ã§èµ·åããããã«è¨­å®ããraise()ã§å¼ã³åºãã
+     *  ã¹ã¿ãã¯ãåãæ¿ãã¦åä½ãéå§ããã
+     */
+      action.sa_handler = kernel_start;
+      action.sa_flags   =  SA_ONSTACK;
+      sigfillset(&action.sa_mask);
+      sigaction(SIGUSR1,&action,NULL);
+      raise(SIGUSR1);
+      
+      
+    /*
+     * ããã«æ»ããã¨ã¯ãªãã
+     */
+    return(0);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.c	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.5 2003/12/24 07:24:40 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include <stdio.h>
+#include <unistd.h>
+/*
+ *  ã¿ã¼ã²ããä¾å­é¢æ°ã¢ã¸ã¥ã¼ã«(Linuxç¨)
+ */
+void
+sys_initialize(void)
+{
+}
+
+/*
+ * ã¿ã¼ã²ããã·ã¹ãã ã®ä¿®äº
+ */
+void
+sys_exit(void)
+{
+	exit(0);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+    putchar(c);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_config.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.7 2003/12/24 07:24:40 honda Exp $
+ */
+
+#ifndef _SYS_CONF_
+/*
+ *  OS ã®ç¨®é¡ã®å®ç¾©
+ */
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"Linux"
+
+/*
+ *  CPU ã¨ _setjmp/_longjmp ã©ã¤ãã©ãªã®å®è£
+ã«ä¾å­ããå®æ°ã®è¨­å®
+ *
+ *  JMPBUF_PC: jmp_buf æ§é ä½ä¸­ã§ï¼PC ã®å¤ãå
+¥ããå ´æã®ãªãã»ãã
+ *  JMPBUF_SP: jmp_buf æ§é ä½ä¸­ã§ï¼SP ã®å¤ãå
+¥ããå ´æã®ãªãã»ãã
+ *
+ *  STACK_MERGIN: ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãï¼ã¹ã¿ãã¯é åã®ä¸é (ç¢ºä¿
+ *  ããé åã®æ¬¡ã®çªå°) ããã© ãã ãé¢ããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ãæãçª
+ *  å°ããä½¿ãå§ãããã­ã»ããµã® ã®å ´åã«ã¯ï¼ãããä½¿ã£ã¦ã¹ã¿ãã¯ãã¤
+ *  ã³ã¿ã®åæå¤ãä¸éããä¸ããï¼ã¾ãï¼longjmp ããå¾ã«ï¼ã¹ã¿ãã¯ãã¤
+ *  ã³ã¿ããä¸ã®çªå°ã ã¢ã¯ã»ã¹ããå¯è½æ§ãããå ´åã«ã¯ï¼ãããä½¿ã£ã¦
+ *  ãã¼ã¸ã³é åãç¢ºä¿ããï¼
+ *
+ *  SIGSTACK_MERGIN: ã·ã°ãã«ã¹ã¿ãã¯ããã­ã»ã¹ã¹ã¿ãã¯ä¸ã«åãæã®ãã¼
+ *  ã¸ã³ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ãä½¿ãããã®ã¹ã¿ãã¯é åï¼
+ */
+
+#if defined(i386) | defined(_i386_) | defined(__i386__)
+
+#define JMPBUF_PC		JB_PC
+#define JMPBUF_SP		JB_SP
+#define STACK_MERGIN		4
+#define SIGSTACK_MERGIN		8192
+
+#else /* i386 */
+
+#error not supported.
+
+#endif /* i386 */
+
+/*
+ *  ã·ã°ãã«ã¹ã¿ãã¯ã®å¤æ´ã« sigaltstack ãä½¿ã
+ */
+#define USE_SIGALTSTACK
+
+/*
+ *  ã¹ã¿ãã¯ã¨ãªã¢ã®åå¾/è¿å´é¢æ°ã mprotect ãä½¿ããã®ã«å·®ãããã
+ */
+#define	USE_MPROTECT_STACK
+
+
+
+#ifdef _BSD_SERIAL_
+#undef RAW			/* è¡çªããã·ã³ãã«ã®å®ç¾©ãæ¹æ¶ */
+#undef ECHO
+#endif /* _BSD_SERIAL_ */
+
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+#define LOGTASK_STACK_SIZE 8192 /* ã­ã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONF_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.4 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/linux/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.2 2003/07/16 09:20:19 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/Makefile.config	(revision 26)
@@ -0,0 +1,27 @@
+# 
+#  @(#) $Id: Makefile.config,v 1.14 2007/07/27 11:28:44 honda Exp $
+#
+ 
+TARGET ?= lm32-elf
+
+INCLUDES := $(INCLUDES) -I$(SRCDIR)/config/$(CPU)
+COPTS    := $(COPTS) -g -O2
+#LDFLAGS  := $(LDFLAGS)
+
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#LDSCRIPT = $(CPU)/lm32elf.ld
+
+KERNEL_DIR     := $(KERNEL_DIR):$(SRCDIR)/config/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o
+
+#COPTS   := $(COPTS) -mmultiply-enabled -mbarrel-shift-enabled -mdivide-enabled -msign-extend-enabled -ffunction-sections -D__lm32__
+
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.c	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "cpu_config.h"
+
+UW exception_count;
+
+UW exception_registers[40];
+
+FP exc_table[TMAX_CORE_EXCNO] =
+{
+    (FP)_start,
+    (FP)Breakpoint_exception,
+    (FP)InstructionBusError_exception,
+    (FP)Watchpoint_exception,
+    (FP)DataBusError_exception,
+    (FP)DivideByZero_exception,
+    (FP)Interrupt_exception,
+    (FP)SystemCall_exception
+};
+
+void dump_registers()
+{
+    syslog(LOG_EMERG, "r0  : 0x%08x, r1  : 0x%08x, r2  : 0x%08x, r3  : 0x%08x",
+    	exception_registers[0], exception_registers[1], exception_registers[2], exception_registers[3]);
+    syslog(LOG_EMERG, "r4  : 0x%08x, r5  : 0x%08x, r6  : 0x%08x, r7  : 0x%08x",
+    	exception_registers[4], exception_registers[5], exception_registers[6], exception_registers[7]);
+    syslog(LOG_EMERG, "r8  : 0x%08x, r9  : 0x%08x, r10 : 0x%08x, r11 : 0x%08x",
+    	exception_registers[8], exception_registers[9], exception_registers[10], exception_registers[11]);
+    syslog(LOG_EMERG, "r12 : 0x%08x, r13 : 0x%08x, r14 : 0x%08x, r15 : 0x%08x",
+    	exception_registers[12], exception_registers[13], exception_registers[14], exception_registers[15]);    	
+    syslog(LOG_EMERG, "r16 : 0x%08x, r17 : 0x%08x, r18 : 0x%08x, r19 : 0x%08x",
+        exception_registers[16], exception_registers[17], exception_registers[18], exception_registers[19]);
+    syslog(LOG_EMERG, "r20 : 0x%08x, r21 : 0x%08x, r22 : 0x%08x, r23 : 0x%08x",
+        exception_registers[20], exception_registers[21], exception_registers[22], exception_registers[23]);    	
+    syslog(LOG_EMERG, "r24 : 0x%08x, r25 : 0x%08x, r26 : 0x%08x, r27 : 0x%08x",
+        exception_registers[24], exception_registers[25], exception_registers[26], exception_registers[27]);    	    	
+    syslog(LOG_EMERG, "sp  : 0x%08x, ra  : 0x%08x, ea  : 0x%08x, ba  : 0x%08x",
+        exception_registers[28], exception_registers[29], exception_registers[30], exception_registers[31]);
+        
+    syslog(LOG_EMERG, "ie  : 0x%08x, im  : 0x%08x, ip  : 0x%08x, icc : 0x%08x",
+        exception_registers[32], exception_registers[33], exception_registers[34], exception_registers[35]);
+    syslog(LOG_EMERG, "dcc : 0x%08x, cc  : 0x%08x, cfg : 0x%08x, eba : 0x%08x",
+        exception_registers[36], exception_registers[37], exception_registers[38], exception_registers[39]);  	
+}
+
+void Breakpoint_exception()
+{
+    syslog(LOG_EMERG, "Breakpoint Exception occurs.");
+    dump_registers();  
+    while(1);
+}
+
+void InstructionBusError_exception()
+{
+    syslog(LOG_EMERG, "InstructionBusError Exception occurs.");
+    dump_registers(); 
+    while(1);
+}
+
+void Watchpoint_exception()
+{
+    syslog(LOG_EMERG, "Watchpoint Exception occurs.");
+    dump_registers(); 
+    while(1);
+}
+
+void DataBusError_exception()
+{
+    syslog(LOG_EMERG, "DataBusError Exception occurs.");
+    dump_registers();       
+    while(1);
+}
+
+void DivideByZero_exception()
+{
+    syslog(LOG_EMERG, "DivideByZero Exception occurs.");
+    dump_registers();        
+    while(1);
+}
+
+void Interrupt_exception()
+{
+    syslog(LOG_EMERG, "Interrupt Exception occurs.");
+    dump_registers();         
+    while(1);
+}
+
+void SystemCall_exception()
+{
+    syslog(LOG_EMERG, "SystemCall Exception occurs.");
+    dump_registers();     
+    while(1);
+}
+
+void cpu_initialize(void) 
+{
+	exception_count = 1;
+}
+
+void cpu_terminate(void)
+{
+
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_config.h	(revision 26)
@@ -0,0 +1,152 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#include "cpu_defs.h"
+
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif
+
+#ifndef _MACRO_ONLY
+
+extern UW exception_count;
+extern UW exception_registers[40];
+
+typedef struct task_context_block {
+        VP	sp;             
+        FP	pc;             
+} CTXB;
+
+
+Inline BOOL
+sense_context()
+{
+    return(exception_count > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+    return((current_sr() & 0x1) == 0);
+}
+
+#define t_sense_lock     sense_lock
+#define i_sense_lock     sense_lock
+
+Inline void
+lock_cpu()
+{
+    disint();
+}
+
+Inline void
+unlock_cpu()
+{
+    enaint();
+}
+
+#define EXC_ENTRY(exchdr)     exchdr
+#define EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    return(exception_count > 1);
+}
+
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((current_sr() & 0x2) == 0);
+}
+
+
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+extern void dispatch(void);
+extern void exit_and_dispatch(void);
+
+extern FP int_table[TMAX_ALL_INTNO];
+extern FP exc_table[TMAX_CORE_EXCNO];
+
+Inline void define_inh(INTNO intno, FP inthdr)
+{
+    int_table[intno] = inthdr;
+}
+
+Inline void define_exc(EXCNO excno, FP exchdr)
+{
+    exc_table[excno] = exchdr;
+}
+
+extern void _start();
+extern void Breakpoint_exception();
+extern void InstructionBusError_exception();
+extern void Watchpoint_exception();
+extern void DataBusError_exception();
+extern void DivideByZero_exception();
+extern void Interrupt_exception();
+extern void SystemCall_exception();
+
+extern void cpu_initialize(void);
+extern void cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_context.h	(revision 26)
@@ -0,0 +1,74 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+Inline void create_context(TCB *tcb) {
+}
+
+extern void	activate_r(void);
+
+Inline void activate_context(TCB *tcb) {
+
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_defs.h	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define TMAX_CORE_EXCNO 8
+#define TMAX_ALL_INTNO  32
+
+#ifndef _MACRO_ONLY
+typedef	UINT		    EXCNO;
+#endif
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_insn.h	(revision 26)
@@ -0,0 +1,84 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+Inline UW
+current_sr(void)
+{
+    UW sr;
+    Asm("rcsr  %0, ie" : "=r"(sr));
+    return(sr);
+}
+
+
+Inline void
+set_sr(UW sr)
+{
+    Asm("wcsr ie, %0" : : "r"(sr) );
+}
+
+Inline void
+disint(void)
+{
+    set_sr(current_sr() & 0x6);
+}
+
+Inline void
+enaint()
+{
+    set_sr(current_sr() | 0x1);
+}
+
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.def	(revision 26)
@@ -0,0 +1,3 @@
+activate_r
+ret_int
+ret_exc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_rename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int		_kernel_ret_int
+#define ret_exc		_kernel_ret_exc
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _			__kernel_
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_support.S	(revision 26)
@@ -0,0 +1,341 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "offset.h"
+#include "jsp_kernel.h"
+
+	.text
+	.globl dispatch
+	.globl exit_and_dispatch
+
+dispatch:
+	addi    sp, sp, -120
+	sw      (sp+4),   r1
+	sw      (sp+8),   r2
+	sw      (sp+12),  r3
+    sw      (sp+16),  r4
+    sw      (sp+20),  r5
+    sw      (sp+24),  r6
+    sw      (sp+28),  r7
+    sw      (sp+32),  r8
+    sw      (sp+36),  r9
+    sw      (sp+40),  r10
+    sw      (sp+44),  r11
+    sw      (sp+48),  r12
+    sw      (sp+52),  r13
+    sw      (sp+56),  r14
+    sw      (sp+60),  r15
+    sw      (sp+64),  r16
+    sw      (sp+68),  r17
+    sw      (sp+72),  r18
+    sw      (sp+76),  r19
+    sw      (sp+80),  r20
+    sw      (sp+84),  r21
+    sw      (sp+88),  r22
+    sw      (sp+92),  r23
+    sw      (sp+96),  r24
+    sw      (sp+100), r25
+    sw      (sp+104), r26
+    sw      (sp+108), r27
+    sw      (sp+112), ra
+    sw      (sp+116), ea
+    sw      (sp+120), ba
+   
+    mvhi	r1, hi(runtsk)
+	ori     r1, r1, lo(runtsk)
+	lw      r1, (r1+0)
+	mvhi    r2, hi(dispatch_r)
+	ori     r2, r2, lo(dispatch_r)
+	sw      (r1+TCB_sp), sp
+	sw      (r1+TCB_pc), r2
+	bi      dispatcher
+
+exit_and_dispatch:
+	mvhi    r1, hi(exception_count)
+	ori     r1, r1, lo(exception_count)
+	sw      (r1+0), r0
+
+	rcsr   r1, ie
+    andi   r1, r1, 0x6
+	wcsr   ie, r1	
+
+dispatcher:
+	mvhi    r1, hi(schedtsk)
+	ori     r1, r1, lo(schedtsk)
+	lw      r1, (r1+0)
+
+    mvhi    r2, hi(runtsk)
+	ori     r2, r2, lo(runtsk)
+
+    sw      (r2+0), r1
+
+    be      r1, r0, dispatcher_2
+	nop
+
+dispatcher_1:
+	lw      sp, (r1+TCB_sp)
+	lw      r1, (r1+TCB_pc)
+	b       r1
+	nop
+
+dispatcher_2:
+	
+	mvhi   r2, hi(exception_count)
+	ori    r2, r2, lo(exception_count)
+	ori    r3, r0, 1
+	sw     (r2+0), r3
+
+	mvhi   r3, hi(_fstack)
+	ori    r3, r3, lo(_fstack)
+	mv     sp, r3
+	
+	rcsr   r1, ie
+    ori    r1, r1, 0x1
+	wcsr   ie, r1
+
+	nop
+
+	rcsr   r1, ie
+	andi   r1, r1, 0x6
+	wcsr   ie, r1
+
+	mvhi    r1, hi(exception_count)
+	ori     r1, r1, lo(exception_count)
+	sw      (r1+0), r0
+
+	bi     dispatcher
+
+dispatch_r:
+    lw      r1,  (sp+4)
+    lw      r2,  (sp+8) 
+    lw      r3,  (sp+12) 
+    lw      r4,  (sp+16) 
+    lw      r5,  (sp+20) 
+    lw      r6,  (sp+24) 
+    lw      r7,  (sp+28) 
+    lw      r8,  (sp+32) 
+    lw      r9,  (sp+36) 
+    lw      r10, (sp+40)
+    lw      r11, (sp+44)
+    lw      r12, (sp+48)
+    lw      r13, (sp+52)
+    lw      r14, (sp+56)
+    lw      r15, (sp+60)
+    lw      r16, (sp+64)
+    lw      r17, (sp+68)
+    lw      r18, (sp+72)
+    lw      r19, (sp+76)
+    lw      r20, (sp+80)
+    lw      r21, (sp+84)
+    lw      r22, (sp+88)
+    lw      r23, (sp+92)
+    lw      r24, (sp+96)
+    lw      r25, (sp+100)
+    lw      r26, (sp+104)
+    lw      r27, (sp+108)
+    lw      ra,  (sp+112)
+    lw      ea,  (sp+116)
+    lw      ba,  (sp+120)
+	addi    sp, sp, 120
+
+    mvhi	r1, hi(runtsk)
+	ori     r1, r1, lo(runtsk)
+	lw      r1, (r1+0)	
+	
+	lw      r2, (r1+TCB_enatex)
+	andi    r2, r2, TCB_enatex_mask
+	be      r2, r0, dispatcher_r_1
+	nop
+	lw      r2, (r1+TCB_texptn)
+	be      r2, r0, dispatcher_r_1
+	nop
+	bi      call_texrtn
+	nop	
+
+dispatcher_r_1:
+	ret
+	nop
+	
+	.globl activate_r
+activate_r:
+
+	mvhi    r2, hi(runtsk)
+	ori     r2, r2, lo(runtsk)
+	lw      r2, (r2+0)
+	
+	lw      r2, (r2+TCB_tinib)
+	lw      r3, (r2+TINIB_task)
+	lw      r1, (r2+TINIB_exinf)
+
+	rcsr    r2, ie
+	ori     r2, r2, 0x1
+	wcsr    ie, r2
+	
+	mvhi    ra, hi(ext_tsk)
+	ori     ra, ra, lo(ext_tsk)
+	
+	b       r3
+	nop
+
+	.text
+	.globl ret_int
+	.globl ret_exc
+ret_int:
+ret_exc:
+    mvhi    r1, hi(enadsp)
+    ori     r1, r1, lo(enadsp)
+	lw      r1, (r1+0)
+	be      r1, r0, ret_int_1
+
+	mvhi    r1, hi(runtsk)
+    ori     r1, r1, lo(runtsk)
+    lw      r1, (r1+0)
+
+    mvhi    r2, hi(schedtsk)
+    ori     r2, r2, lo(schedtsk)
+    lw      r2, (r2+0)
+    be      r1, r2, ret_int_1
+
+	addi    sp, sp, -120
+	sw      (sp+4),   r1
+	sw      (sp+8),   r2
+	sw      (sp+12),  r3
+    sw      (sp+16),  r4
+    sw      (sp+20),  r5
+    sw      (sp+24),  r6
+    sw      (sp+28),  r7
+    sw      (sp+32),  r8
+    sw      (sp+36),  r9
+    sw      (sp+40),  r10
+    sw      (sp+44),  r11
+    sw      (sp+48),  r12
+    sw      (sp+52),  r13
+    sw      (sp+56),  r14
+    sw      (sp+60),  r15
+    sw      (sp+64),  r16
+    sw      (sp+68),  r17
+    sw      (sp+72),  r18
+    sw      (sp+76),  r19
+    sw      (sp+80),  r20
+    sw      (sp+84),  r21
+    sw      (sp+88),  r22
+    sw      (sp+92),  r23
+    sw      (sp+96),  r24
+    sw      (sp+100), r25
+    sw      (sp+104), r26
+    sw      (sp+108), r27
+    sw      (sp+112), ra
+    sw      (sp+116), ea
+    sw      (sp+120), ba
+
+    sw      (r1+TCB_sp), sp
+	mvhi    r2, hi(ret_int_r)
+	ori     r2, r2, lo(ret_int_r)
+    sw      (r1+TCB_pc), r2
+
+    bi      dispatcher
+
+ret_int_r:
+    lw      r1,  (sp+4)
+    lw      r2,  (sp+8) 
+    lw      r3,  (sp+12) 
+    lw      r4,  (sp+16) 
+    lw      r5,  (sp+20) 
+    lw      r6,  (sp+24) 
+    lw      r7,  (sp+28) 
+    lw      r8,  (sp+32) 
+    lw      r9,  (sp+36) 
+    lw      r10, (sp+40)
+    lw      r11, (sp+44)
+    lw      r12, (sp+48)
+    lw      r13, (sp+52)
+    lw      r14, (sp+56)
+    lw      r15, (sp+60)
+    lw      r16, (sp+64)
+    lw      r17, (sp+68)
+    lw      r18, (sp+72)
+    lw      r19, (sp+76)
+    lw      r20, (sp+80)
+    lw      r21, (sp+84)
+    lw      r22, (sp+88)
+    lw      r23, (sp+92)
+    lw      r24, (sp+96)
+    lw      r25, (sp+100)
+    lw      r26, (sp+104)
+    lw      r27, (sp+108)
+    lw      ra,  (sp+112)
+    lw      ea,  (sp+116)
+    lw      ba,  (sp+120)
+	addi    sp, sp, 120
+
+ret_int_1:
+	mvhi    r1, hi(runtsk)
+    ori     r1, r1, lo(runtsk)
+    lw      r1, (r1+0)
+
+    lw      r2, (r1+TCB_enatex)
+	mvhi    r3, hi(TCB_enatex_mask)
+	ori     r3, r3, lo(TCB_enatex_mask)
+	be      r2, r3, ret_int_2
+
+	lw      r2, (r1+TCB_texptn)
+	be      r2, r0, ret_int_2
+
+	calli   call_texrtn
+
+ret_int_2:
+	addi    sp, sp, 4
+	lw      ra, (sp+0)
+	ret
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/cpu_unrename.h	(revision 26)
@@ -0,0 +1,18 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef 
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/Makefile.config	(revision 26)
@@ -0,0 +1,29 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2004/05/26 19:14:24 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼INTEGRATORç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(SRCDIR)/config/$(CPU)/$(SYS)
+COPTS   := $(COPTS) -mmultiply-enabled -mbarrel-shift-enabled -mdivide-enabled -msign-extend-enabled -ffunction-sections -D__lm32__
+LDFLAGS  := $(LDFLAGS)
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(SRCDIR)/config/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o lm32.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/lm32elf.ld
+
+#TEXT_START_ADDRESS=0x00000000
+#DATA_START_ADDRESS=0x00810000
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+
+#include <hw_serial.h>
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH( INHNO_SIO1, { TA_HLNG, uart_isr0 } );
+
+#if TNUM_PORT >= 2
+DEF_INH( INHNO_SIO2, { TA_HLNG, uart_isr1 } );
+#endif /* TNUM_PORT */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_serial.h	(revision 26)
@@ -0,0 +1,93 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <lm32.h>
+
+#define sio_initialize  uart_initialize
+
+#ifndef _MACRO_ONLY
+
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    openflag = uart_openflag();
+
+    siopcb = uart_opn_por(siopid, exinf);
+
+    /*Enable Interrupt Rx*/
+
+    return(siopcb);
+}
+
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    uart_cls_por(siopcb);
+}
+
+#define sio_handler      uart_isr
+#define sio_snd_chr      uart_snd_chr
+#define sio_rcv_chr      uart_rcv_chr
+#define sio_ena_cbr      uart_ena_cbr
+#define sio_dis_cbr      uart_dis_cbr
+#define sio_ierdy_snd    uart_ierdy_snd
+#define sio_ierdy_rcv    uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/hw_timer.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <lm32.h>
+
+#ifndef _MACRO_ONLY
+
+typedef UW    CLOCK;
+
+#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+#define MAX_CLOCK    ((CLOCK) 0xffffffff)
+
+#define GET_TOLERANCE    100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+#define CLOCK_PER_TICK		((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+Inline void
+hw_timer_initialize()
+{
+	UW sr;
+		
+    sil_wrw_mem((VP)TIMER_CONTROL, TIMER_CONTROL_STOP);
+    sil_wrw_mem((VP)TIMER_STATUS, 0);
+    
+    sil_wrw_mem((VP)TIMER_PERIOD, CLOCK_PER_TICK);
+
+    Asm("rcsr %0, im" : "=r"(sr));
+    sr |= (1 << INHNO_TIMER);
+    Asm("wcsr im, %0" : : "r"(sr) );
+    
+    sil_wrw_mem((VP)TIMER_CONTROL, 
+        TIMER_CONTROL_ITO | TIMER_CONTROL_CONT | TIMER_CONTROL_START);
+        
+}
+
+Inline void
+hw_timer_int_clear()
+{
+    sil_wrw_mem((VP)TIMER_STATUS, 0);
+}
+
+Inline void
+hw_timer_terminate()
+{
+    sil_wrw_mem((VP)TIMER_CONTROL, TIMER_CONTROL_STOP);
+    sil_wrw_mem((VP)TIMER_STATUS, 0);
+}
+
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    return(CLOCK_PER_TICK - sil_rew_mem((VP)TIMER_SNAPSHOT));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(sil_rew_mem((VP)TIMER_STATUS) & TIMER_STATUS_TO);
+}
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.c	(revision 26)
@@ -0,0 +1,318 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: lm32.c,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#include <s_services.h>
+#include <lm32.h>
+
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+    {
+        (VP)UART1_RX_TX,
+        (VP)UART1_IER,
+        (VP)UART1_IIR,
+        (VP)UART1_LCR,
+        (VP)UART1_MCR,
+        (VP)UART1_LSR,
+        (VP)UART1_MSR,
+        (VP)UART1_DIV
+    }
+#if TNUM_SIOP >= 2
+    ,
+    {
+        (VP)UART2_RX_TX,
+        (VP)UART2_IER,
+        (VP)UART2_IIR,
+        (VP)UART2_LCR,
+        (VP)UART2_MCR,
+        (VP)UART2_LSR,
+        (VP)UART2_MSR,
+        (VP)UART2_DIV
+    }
+#endif /* TNUM_SIOP >= 2 */
+};
+
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->lsr)) & UART_LSR_RX_RDY_MASK);
+}
+
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->lsr)) & UART_LSR_TX_RDY_MASK);
+}
+
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return(sil_rew_mem((VP)(siopcb->siopinib->rxtx)));
+}
+
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    sil_wrw_mem((VP)(siopcb->siopinib->rxtx), c);
+}
+
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+	const SIOPINIB *siopinib;
+	siopinib = siopcb->siopinib;
+	siopcb->ier_snapshot |= UART_IER_TX_INT_MASK;
+    sil_wrw_mem((VP)siopinib->ier, siopcb->ier_snapshot);	
+}
+
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+	const SIOPINIB *siopinib;
+	siopinib = siopcb->siopinib;	
+	siopcb->ier_snapshot &= (~UART_IER_TX_INT_MASK);
+    sil_wrw_mem((VP)siopinib->ier, siopcb->ier_snapshot);	
+}
+
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+	const SIOPINIB *siopinib;
+	siopinib = siopcb->siopinib;	
+	siopcb->ier_snapshot |= UART_IER_RX_INT_MASK;
+    sil_wrw_mem((VP)siopinib->ier, siopcb->ier_snapshot);	
+}
+
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+	const SIOPINIB *siopinib;
+	siopinib = siopcb->siopinib;
+	siopcb->ier_snapshot &= (~UART_IER_RX_INT_MASK);
+    sil_wrw_mem((VP)siopinib->ier, siopcb->ier_snapshot);	
+}
+
+void
+init_uart(void)
+{
+    volatile unsigned int divisor;
+    UW sr;
+
+    sil_wrw_mem((VP)UART1_IER, 0);
+
+    /* 8Data, 1Stop, No Parity*/
+    sil_wrw_mem((VP)UART1_LCR, 0x3);
+
+    /* 115200bps */
+    divisor = ((1048576.0 * (DEFAULT_UART_BAUDRATE/100)) / (MICO32_CPU_CLOCK_HZ/100)) + 0.5;
+    //divisor = 0x12e0;
+    sil_wrw_mem((VP)UART1_DIV, divisor);
+
+    sil_wrw_mem((VP)UART1_IER, UART_IER_RX_INT_MASK);
+}
+
+void
+uart_putc(char c)
+{
+	volatile unsigned int lsr;
+	
+	while(1)
+	{
+		lsr = sil_rew_mem((VP)(UART1_LSR));
+		if(lsr & UART_LSR_TX_RDY_MASK)		
+		{
+			sil_wrw_mem((VP)UART1_RX_TX, (VW)c);
+			return;
+		}
+	}
+}
+
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+BOOL
+uart_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB *siopcb;
+    const SIOPINIB *siopinib;
+    volatile unsigned int divisor;
+    UW sr;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    sil_wrw_mem((VP)siopinib->ier, 0);
+
+    /* 8Data, 1Stop, No Parity*/
+    sil_wrw_mem((VP)siopinib->lcr, 0x3);
+
+    /* 115200bps */
+    divisor = ((1048576.0 * (DEFAULT_UART_BAUDRATE/100)) / (MICO32_CPU_CLOCK_HZ/100)) + 0.5;
+    //divisor = 0x12e0;
+    sil_wrw_mem((VP)siopinib->div, divisor);
+
+    siopcb->ier_snapshot = UART_IER_RX_INT_MASK;
+    sil_wrw_mem((VP)siopinib->ier, siopcb->ier_snapshot);
+    
+    Asm("rcsr %0, im" : "=r"(sr));
+    sr |= (1 << INHNO_SIO1);
+    Asm("wcsr im, %0" : : "r"(sr) );    
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+    
+    return(siopcb);
+}
+
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+	const SIOPINIB *siopinib;
+	siopinib = siopcb->siopinib;
+    sil_wrw_mem((VP)siopinib->ier, 0);
+    siopcb->openflag = FALSE;
+}
+
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+	volatile UW iir;
+	
+	iir = sil_rew_mem((VP)(siopcb->siopinib->iir));
+	
+    if (uart_getready(siopcb)) {
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+    if (uart_putready(siopcb)) {
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+void
+uart_isr0()
+{
+    uart_isr_siop(&(siopcb_table[0]));
+}
+
+#if TNUM_SIOP >= 2
+void
+uart_isr1()
+{
+    uart_isr_siop(&(siopcb_table[1]));
+}
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32.h	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: lm32.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _LM32_H_
+#define _LM32_H_
+
+#define MICO32_CPU_CLOCK_HZ     (25000000)
+//#define MICO32_CPU_CLOCK_HZ   (100000000)
+
+#define DEFAULT_UART_BAUDRATE  (115200)
+
+#define TIMER_BASE_REG          (0x80000100)
+#define UART1_BASE_REG          (0x80000180)
+
+/*
+ * Timer Registers
+ */
+#define TIMER_STATUS            (TIMER_BASE_REG)
+#define TIMER_CONTROL           (TIMER_BASE_REG + 0x04)
+#define TIMER_PERIOD            (TIMER_BASE_REG + 0x08)
+#define TIMER_SNAPSHOT          (TIMER_BASE_REG + 0x0C)
+
+#define TIMER_STATUS_TO         (0x01)
+#define TIMER_CONTROL_ITO       (0x01)
+#define TIMER_CONTROL_CONT      (0x02)
+#define TIMER_CONTROL_START     (0x04)
+#define TIMER_CONTROL_STOP      (0x08)
+
+/*
+ * UART0 Registers
+ */
+#define UART1_RX_TX    (UART1_BASE_REG)
+#define UART1_IER      (UART1_BASE_REG + 0x04)
+#define UART1_IIR      (UART1_BASE_REG + 0x08)
+#define UART1_LCR      (UART1_BASE_REG + 0x0C)
+#define UART1_MCR      (UART1_BASE_REG + 0x10)
+#define UART1_LSR      (UART1_BASE_REG + 0x14)
+#define UART1_MSR      (UART1_BASE_REG + 0x18)
+#define UART1_DIV      (UART1_BASE_REG + 0x1C)
+
+/*
+ * UART1 Registers
+ */
+#define UART2_RX_TX    (UART2_BASE_REG)
+#define UART2_IER      (UART2_BASE_REG + 0x04)
+#define UART2_IIR      (UART2_BASE_REG + 0x08)
+#define UART2_LCR      (UART2_BASE_REG + 0x0C)
+#define UART2_MCR      (UART2_BASE_REG + 0x10)
+#define UART2_LSR      (UART2_BASE_REG + 0x14)
+#define UART2_MSR      (UART2_BASE_REG + 0x18)
+#define UART2_DIV      (UART2_BASE_REG + 0x1C)
+
+#define UART_IER_RX_INT_MASK    (0x01)
+#define UART_IER_TX_INT_MASK    (0x02)
+#define UART_LSR_RX_RDY_MASK    (0x01)
+#define UART_LSR_TX_RDY_MASK    (0x20)
+#define UART_IIR_RXRDY          (0x04)
+#define UART_IIR_TXRDY          (0x02)
+
+#define MAX_INT_NUM     32
+
+#define INHNO_TIMER     0
+#define INHNO_SIO1		1
+
+#define TNUM_PORT   1
+#define TNUM_SIOP   1
+
+#ifndef _MACRO_ONLY
+
+extern void uart1_isr(void);
+extern void uart2_isr(void);
+
+typedef struct sio_port_initialization_block 
+{
+    volatile VP rxtx;
+    volatile VP ier;
+    volatile VP iir;
+    volatile VP lcr;
+    volatile VP mcr;
+    volatile VP lsr;
+    volatile VP msr;
+    volatile VP div;
+}
+SIOPINIB;
+
+typedef struct sio_port_control_block 
+{
+    const SIOPINIB  *siopinib;
+    VP_INT          exinf;
+    BOOL            openflag;
+    BOOL            sendflag;
+    BOOL            getready;
+    BOOL            putready;
+    UW              ier_snapshot;
+}SIOPCB;
+
+#define SIO_ERDY_SND    1u
+#define SIO_ERDY_RCV    2u
+
+extern void      uart_putc(char c);
+extern void      uart_initialize(void);
+extern BOOL      uart_openflag(void);
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+extern void      uart_cls_por(SIOPCB *siopcb);
+extern BOOL      uart_snd_chr(SIOPCB *siopcb, char c);
+extern INT       uart_rcv_chr(SIOPCB *siopcb);
+extern void      uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void      uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void      uart_in_isr(void);
+extern void      uart_out_isr(void);
+extern void      uart_ierdy_snd(VP_INT exinf);
+extern void      uart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _MACRO_ONLY */
+#endif /* _LM32_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf.ld	(revision 26)
@@ -0,0 +1,129 @@
+/* 
+ *  @(#) $Id: lm32elf.ld,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+
+
+OUTPUT_FORMAT("elf32-lm32")
+ENTRY(reset)
+
+/*
+ * This section defines memory attributes (name, origin, length) for the platform
+ */
+MEMORY
+{
+    sram  :  ORIGIN = 0x02000000,  LENGTH = 1048576
+}
+
+SECTIONS
+{
+
+  /* code */
+  .boot : { *(.boot) } > sram
+  .text : 
+  {
+    . = ALIGN(4);
+     _ftext = .;
+     *(.text .stub .text.* .gnu.linkonce.t.*)
+     *(.gnu.warning)
+     KEEP (*(.init))
+     KEEP (*(.fini))
+
+     /* Exception handlers */
+     *(.eh_frame_hdr)
+     KEEP (*(.eh_frame))
+     *(.gcc_except_table)
+
+     /* Constructors and destructors */
+     KEEP (*crtbegin*.o(.ctors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
+     KEEP (*(SORT(.ctors.*)))
+     KEEP (*(.ctors))
+     KEEP (*crtbegin*.o(.dtors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
+     KEEP (*(SORT(.dtors.*)))
+     KEEP (*(.dtors))
+     KEEP (*(.jcr))
+    _etext = .;
+  } > sram =0 
+
+  /* read-only data */
+  .rodata : 
+  { 
+     . = ALIGN(4);
+     _frodata = .;
+     _frodata_rom = LOADADDR(.rodata);
+     *(.rodata .rodata.* .gnu.linkonce.r.*) 
+     *(.rodata1)
+     _erodata = .;
+  } > sram
+
+  /* read/write data */
+  .data : 
+  {
+     . = ALIGN(4);
+     _fdata = .;
+     *(.data .data.* .gnu.linkonce.d.*)
+     *(.data1)
+     SORT(CONSTRUCTORS)
+     _gp = ALIGN(16) + 0x7ff0;
+     *(.sdata .sdata.* .gnu.linkonce.s.*)
+     _edata = .;
+  } > sram
+
+  /* bss */
+  .bss : 
+  { 
+     . = ALIGN(4);
+     _fbss = .;
+     *(.dynsbss)
+     *(.sbss .sbss.* .gnu.linkonce.sb.*)
+     *(.scommon)
+     *(.dynbss)
+     *(.bss .bss.* .gnu.linkonce.b.*)
+     *(COMMON)
+     . = ALIGN(4);
+     _ebss = .;
+     _end = .;
+     PROVIDE (end = .);
+  } > sram
+
+  /* first location in stack is highest address in ram */
+  PROVIDE(_fstack = ORIGIN(sram) + LENGTH(sram) - 4);
+
+  /* stabs debugging sections.  */
+  .stab          0 : { *(.stab) }
+  .stabstr       0 : { *(.stabstr) }
+  .stab.excl     0 : { *(.stab.excl) }
+  .stab.exclstr  0 : { *(.stab.exclstr) }
+  .stab.index    0 : { *(.stab.index) }
+  .stab.indexstr 0 : { *(.stab.indexstr) }
+  .comment       0 : { *(.comment) }
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to the beginning
+     of the section so we begin them at 0.  */
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_ebr.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_ebr.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_ebr.ld	(revision 26)
@@ -0,0 +1,151 @@
+/*
+ * Link script for LatticeMico32 programs.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+
+OUTPUT_FORMAT("elf32-lm32")
+ENTRY(reset)
+
+/*
+ * This section defines memory attributes (name, origin, length) for the platform
+ */
+MEMORY
+{
+    ebr  :  ORIGIN = 0x00100000,  LENGTH = 32768
+    sram :  ORIGIN = 0x00200000,  LENGTH = 1048576
+}
+
+SECTIONS
+{
+
+  /* code */
+  .boot : { *(.boot) } > ebr
+  .text : 
+  {
+    . = ALIGN(4);
+     _ftext = .;
+     *(.text .stub .text.* .gnu.linkonce.t.*)
+     *(.gnu.warning)
+     KEEP (*(.init))
+     KEEP (*(.fini))
+
+     /* Exception handlers */
+     *(.eh_frame_hdr)
+     KEEP (*(.eh_frame))
+     *(.gcc_except_table)
+
+     /* Constructors and destructors */
+     KEEP (*crtbegin*.o(.ctors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
+     KEEP (*(SORT(.ctors.*)))
+     KEEP (*(.ctors))
+     KEEP (*crtbegin*.o(.dtors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
+     KEEP (*(SORT(.dtors.*)))
+     KEEP (*(.dtors))
+     KEEP (*(.jcr))
+    _etext = .;
+  } > ebr =0 
+
+  /* read-only data */
+  .rodata : 
+  { 
+     . = ALIGN(4);
+     _frodata = .;
+     _frodata_rom = LOADADDR(.rodata);
+     *(.rodata .rodata.* .gnu.linkonce.r.*) 
+     *(.rodata1)
+     _erodata = .;
+  } > ebr
+
+  /* read/write data */
+  .data : 
+  {
+     . = ALIGN(4);
+     _fdata = .;
+     *(.data .data.* .gnu.linkonce.d.*)
+     *(.data1)
+     SORT(CONSTRUCTORS)
+     _gp = ALIGN(16) + 0x7ff0;
+     *(.sdata .sdata.* .gnu.linkonce.s.*)
+     _edata = .;
+  } > ebr
+
+  /* bss */
+  .bss : 
+  { 
+     . = ALIGN(4);
+     _fbss = .;
+     *(.dynsbss)
+     *(.sbss .sbss.* .gnu.linkonce.sb.*)
+     *(.scommon)
+     *(.dynbss)
+     *(.bss .bss.* .gnu.linkonce.b.*)
+     *(COMMON)
+     . = ALIGN(4);
+     _ebss = .;
+     _end = .;
+     PROVIDE (end = .);
+  } > sram 
+
+  /* first location in stack is highest address in ram */
+  PROVIDE(_fstack = ORIGIN(sram) + LENGTH(sram) - 4);
+
+  /* stabs debugging sections.  */
+  .stab          0 : { *(.stab) }
+  .stabstr       0 : { *(.stabstr) }
+  .stab.excl     0 : { *(.stab.excl) }
+  .stab.exclstr  0 : { *(.stab.exclstr) }
+  .stab.index    0 : { *(.stab.index) }
+  .stab.indexstr 0 : { *(.stab.indexstr) }
+  .comment       0 : { *(.comment) }
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to the beginning
+     of the section so we begin them at 0.  */
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_flash.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_flash.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/lm32elf_flash.ld	(revision 26)
@@ -0,0 +1,150 @@
+/*
+ * Link script for LatticeMico32 programs.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+
+OUTPUT_FORMAT("elf32-lm32")
+ENTRY(reset)
+
+/*
+ * This section defines memory attributes (name, origin, length) for the platform
+ */
+MEMORY
+{
+    sram  :  ORIGIN = 0x04000000,  LENGTH = 1048576
+}
+
+SECTIONS
+{
+
+  /* code */
+  .boot : { *(.boot) } > sram
+  .text : 
+  {
+    . = ALIGN(4);
+     _ftext = .;
+     *(.text .stub .text.* .gnu.linkonce.t.*)
+     *(.gnu.warning)
+     KEEP (*(.init))
+     KEEP (*(.fini))
+
+     /* Exception handlers */
+     *(.eh_frame_hdr)
+     KEEP (*(.eh_frame))
+     *(.gcc_except_table)
+
+     /* Constructors and destructors */
+     KEEP (*crtbegin*.o(.ctors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
+     KEEP (*(SORT(.ctors.*)))
+     KEEP (*(.ctors))
+     KEEP (*crtbegin*.o(.dtors))
+     KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
+     KEEP (*(SORT(.dtors.*)))
+     KEEP (*(.dtors))
+     KEEP (*(.jcr))
+    _etext = .;
+  } > sram =0 
+
+  /* read-only data */
+  .rodata : 
+  { 
+     . = ALIGN(4);
+     _frodata = .;
+     _frodata_rom = LOADADDR(.rodata);
+     *(.rodata .rodata.* .gnu.linkonce.r.*) 
+     *(.rodata1)
+     _erodata = .;
+  } > sram
+
+  /* read/write data */
+  .data : 
+  {
+     . = ALIGN(4);
+     _fdata = .;
+     *(.data .data.* .gnu.linkonce.d.*)
+     *(.data1)
+     SORT(CONSTRUCTORS)
+     _gp = ALIGN(16) + 0x7ff0;
+     *(.sdata .sdata.* .gnu.linkonce.s.*)
+     _edata = .;
+  } > sram
+
+  /* bss */
+  .bss : 
+  { 
+     . = ALIGN(4);
+     _fbss = .;
+     *(.dynsbss)
+     *(.sbss .sbss.* .gnu.linkonce.sb.*)
+     *(.scommon)
+     *(.dynbss)
+     *(.bss .bss.* .gnu.linkonce.b.*)
+     *(COMMON)
+     . = ALIGN(4);
+     _ebss = .;
+     _end = .;
+     PROVIDE (end = .);
+  } > sram
+
+  /* first location in stack is highest address in ram */
+  PROVIDE(_fstack = ORIGIN(sram) + LENGTH(sram) - 4);
+
+  /* stabs debugging sections.  */
+  .stab          0 : { *(.stab) }
+  .stabstr       0 : { *(.stabstr) }
+  .stab.excl     0 : { *(.stab.excl) }
+  .stab.exclstr  0 : { *(.stab.exclstr) }
+  .stab.index    0 : { *(.stab.index) }
+  .stab.indexstr 0 : { *(.stab.indexstr) }
+  .comment       0 : { *(.comment) }
+
+  /* DWARF debug sections.
+     Symbols in the DWARF debugging sections are relative to the beginning
+     of the section so we begin them at 0.  */
+  /* DWARF 1 */
+  .debug          0 : { *(.debug) }
+  .line           0 : { *(.line) }
+  /* GNU DWARF 1 extensions */
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
+  .debug_sfnames  0 : { *(.debug_sfnames) }
+  /* DWARF 1.1 and DWARF 2 */
+  .debug_aranges  0 : { *(.debug_aranges) }
+  .debug_pubnames 0 : { *(.debug_pubnames) }
+  /* DWARF 2 */
+  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+  .debug_abbrev   0 : { *(.debug_abbrev) }
+  .debug_line     0 : { *(.debug_line) }
+  .debug_frame    0 : { *(.debug_frame) }
+  .debug_str      0 : { *(.debug_str) }
+  .debug_loc      0 : { *(.debug_loc) }
+  .debug_macinfo  0 : { *(.debug_macinfo) }
+  /* SGI/MIPS DWARF 2 extensions */
+  .debug_weaknames 0 : { *(.debug_weaknames) }
+  .debug_funcnames 0 : { *(.debug_funcnames) }
+  .debug_typenames 0 : { *(.debug_typenames) }
+  .debug_varnames  0 : { *(.debug_varnames) }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.c	(revision 26)
@@ -0,0 +1,116 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "lm32.h"
+
+/*interrupt mask*/
+UW int_mask_table[MAX_INT_NUM]={
+    0x00000000, 0x00000001, 0x00000003, 0x00000007,
+    0x0000000F, 0x0000001F, 0x0000003F, 0x0000007F,
+    0x000000FF, 0x000001FF, 0x000003FF, 0x000007FF,
+    0x00000FFF, 0x00001FFF, 0x00003FFF, 0x00007FFF,
+    0x0000FFFF, 0x0001FFFF, 0x0003FFFF, 0x0007FFFF,
+    0x000FFFFF, 0x001FFFFF, 0x003FFFFF, 0x007FFFFF,
+    0x00FFFFFF, 0x01FFFFFF, 0x03FFFFFF, 0x07FFFFFF,
+    0x0FFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF
+};
+
+FP   int_table[32];
+
+extern void Interrupt_exception_handler();
+
+void
+init_IRQ(){
+    int i;
+    UW sr;
+
+    sr = 0;
+    Asm("wcsr ie, %0" : : "r"(sr) );
+    Asm("wcsr im, %0" : : "r"(sr) );
+    sr = 0xFFFFFFFF;
+    Asm("wcsr ip, %0" : : "r"(sr) );
+    for(i = 0; i < MAX_INT_NUM; i++){
+        int_table[i] = 0x00;
+    }
+}
+
+
+void sys_initialize(void) 
+{
+    init_IRQ();
+
+    exc_table[6] = Interrupt_exception_handler;
+
+    init_uart();
+}
+
+void sys_exit(void)
+{
+    syslog(LOG_EMERG, "End Kernel.....!");
+    while(1);
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
+void
+undef_interrupt(){
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+    while(1);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_config.h	(revision 26)
@@ -0,0 +1,69 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+#define LOGTASK_PORTID            1
+#define LOGTASK_INTERVAL          1
+#define SUPPORT_VXGET_TIM
+
+#define INTHDR_ENTRY(inthdr)      extern void inthdr(void)
+#define INT_ENTRY(inthdr)         inthdr
+
+#define SIL_ENDIAN                SIL_ENDIAN_BIG
+
+#ifndef _MACRO_ONLY
+extern void    sys_putc(char c);
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_defs.h	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#include "lm32.h"
+
+#define TARGET_NAME    "LatticeMico32"
+#define TIMER_CLOCK    (MICO32_CPU_CLOCK_HZ/1000)
+
+#ifndef _MACRO_ONLY
+
+typedef    UINT        INTNO;
+typedef    UINT        INHNO;
+
+typedef    UD          SYSUTIM;
+extern ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+#define    TIC_NUME         1
+#define    TIC_DENO         1
+
+#define    SIL_DLY_TIM1     20
+#define    SIL_DLY_TIM2     10
+
+#define    SIL_ENDIAN       SIL_ENDIAN_BIG
+
+#ifndef _MACRO_ONLY
+
+Inline void
+kernel_abort()
+{
+   while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_support.S	(revision 26)
@@ -0,0 +1,382 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+ 
+         .text
+        .align 4    
+        .global Interrupt_exception_handler
+        .global _save_all
+        .global _restore_all_and_bret
+        .global _restore_all_and_eret
+        .global _process_exception
+
+_process_exception:
+	addi    sp, sp, -4
+	sw      (sp+4), ra
+/*
+	rcsr    r2, ie
+	ori     r3, r0, 1
+	and     r2, r2, r3
+	be      r2, r0, _normal_process
+bug:
+	bi      bug
+*/
+_normal_process:		
+	mvhi    r2, hi(exception_count)
+	ori     r2, r2, lo(exception_count)
+	lw      r3, (r2+0)
+    addi    r4, r3, 1
+	sw      (r2+0), r4
+	bne     r3, r0,	nest_exception
+
+	mv      r2, sp
+	mvhi    r3, hi(_fstack)
+	ori     r3, r3, lo(_fstack)
+    mv      sp, r3
+	addi    sp, sp, -4
+	sw      (sp+4), r2
+	
+nest_exception:
+
+	ori     r2, r0, 6
+	be      r1, r2, _process_interrupt
+    rcsr    r2, ie
+    ori     r2, r2, 0x1
+	wcsr    ie, r2		
+	
+_process_interrupt:	
+
+	addi    sp, sp, -4
+	sw      (sp+4), r1
+
+	sli     r3, r1, 2
+	mvhi    r2, hi(exc_table)
+	ori     r2, r2, lo(exc_table)
+	add     r3, r3, r2
+	lw      r2, (r3+0)
+	call    r2
+
+	addi    sp, sp, 4
+	lw      r1, (sp+0)
+	
+	ori     r2, r0, 6
+	be      r1, r2, _process_interrupt_exit
+    rcsr    r2, ie
+    andi    r2, r2, 0x6
+	wcsr    ie, r2		
+	
+_process_interrupt_exit:	
+		
+	mvhi    r1, hi(exception_count)
+	ori     r1, r1, lo(exception_count)
+	lw      r2, (r1+0)
+	addi    r2, r2, -1
+	sw      (r1+0), r2
+	bne     r2, r0, return_to_task_exc
+
+	addi    sp, sp, 4
+	lw      r1, (sp+0)
+	mv      sp, r1
+
+    mvhi    r2, hi(reqflg)
+	ori     r2, r2, lo(reqflg)
+	lw      r1, (r2+0)
+	be      r1, r0, return_to_task_exc
+	sw      (r2+0), r0
+	bi      ret_exc
+
+return_to_task_exc:
+	addi    sp, sp, 4
+	lw      ra, (sp+0)
+	ret    
+    		
+_save_all:
+    addi    sp, sp, -128
+    sw      (sp+4),   r1
+    sw      (sp+8),   r2
+    sw      (sp+12),  r3
+    sw      (sp+16),  r4
+    sw      (sp+20),  r5
+    sw      (sp+24),  r6
+    sw      (sp+28),  r7
+    sw      (sp+32),  r8
+    sw      (sp+36),  r9
+    sw      (sp+40),  r10
+    sw      (sp+44),  r11
+    sw      (sp+48),  r12
+    sw      (sp+52),  r13
+    sw      (sp+56),  r14
+    sw      (sp+60),  r15
+    sw      (sp+64),  r16
+    sw      (sp+68),  r17
+    sw      (sp+72),  r18
+    sw      (sp+76),  r19
+    sw      (sp+80),  r20
+    sw      (sp+84),  r21
+    sw      (sp+88),  r22
+    sw      (sp+92),  r23
+    sw      (sp+96),  r24
+    sw      (sp+100), r25
+    sw      (sp+104), r26
+    sw      (sp+108), r27    
+    
+	sw      (sp+120), ea
+	sw      (sp+124), ba
+
+    lw      r1, (sp+128)
+    sw      (sp+116), r1
+    mv      r1, sp
+    addi    r1, r1, 128
+    sw      (sp+112), r1	
+
+	mvhi    r1, hi(exception_registers)
+	ori     r1, r1, lo(exception_registers)
+	sw      (r1+0), r0
+	sw      (r1+8), r2 
+    sw      (r1+12), r3
+    sw      (r1+16), r4
+    sw      (r1+20), r5
+    sw      (r1+24), r6
+    sw      (r1+28), r7
+    sw      (r1+32), r8
+    sw      (r1+36), r9
+    sw      (r1+40), r10
+    sw      (r1+44), r11
+    sw      (r1+48), r12
+    sw      (r1+52), r13
+    sw      (r1+56), r14
+    sw      (r1+60), r15
+    sw      (r1+64), r16
+    sw      (r1+68), r17
+    sw      (r1+72), r18
+    sw      (r1+76), r19
+    sw      (r1+80), r20
+    sw      (r1+84), r21
+    sw      (r1+88), r22
+    sw      (r1+92), r23
+    sw      (r1+96), r24
+    sw      (r1+100), r25
+    sw      (r1+104), r26
+    sw      (r1+108), r27
+    sw      (r1+120), ea
+    sw      (r1+124), ba
+	
+    lw      r2, (sp+4)
+	sw      (r1+4), r2
+	lw      r2, (sp+56)
+	sw      (r1+116), r2	
+	addi    r2, sp, 56
+    sw      (r1+112), r2
+    rcsr    r2, ie
+    sw      (r1+128), r2
+    rcsr    r2, im
+    sw      (r1+132), r2
+    rcsr    r2, ip
+    sw      (r1+138), r2
+	rcsr    r2, icc
+    sw      (r1+140), r2
+	rcsr    r2, dcc
+    sw      (r1+144), r2
+	rcsr    r2, cc
+    sw      (r1+148), r2
+	rcsr    r2, cfg
+    sw      (r1+152), r2    
+	rcsr    r2, eba
+    sw      (r1+158), r2    
+             	
+	ret
+    
+_restore_all_and_eret:
+    lw      r1,  (sp+4)
+    lw      r2,  (sp+8) 
+    lw      r3,  (sp+12) 
+    lw      r4,  (sp+16) 
+    lw      r5,  (sp+20) 
+    lw      r6,  (sp+24) 
+    lw      r7,  (sp+28) 
+    lw      r8,  (sp+32) 
+    lw      r9,  (sp+36) 
+    lw      r10, (sp+40)
+    lw      r11, (sp+44)
+    lw      r12, (sp+48)
+    lw      r13, (sp+52)
+    lw      r14, (sp+56)
+    lw      r15, (sp+60)
+    lw      r16, (sp+64)
+    lw      r17, (sp+68)
+    lw      r18, (sp+72)
+    lw      r19, (sp+76)
+    lw      r20, (sp+80)
+    lw      r21, (sp+84)
+    lw      r22, (sp+88)
+    lw      r23, (sp+92)
+    lw      r24, (sp+96)
+    lw      r25, (sp+100)
+    lw      r26, (sp+104)
+    lw      r27, (sp+108)    
+    lw      ra,  (sp+116)
+    lw      ea,  (sp+120)
+    lw      ba,  (sp+124)
+    lw      sp,  (sp+112)
+	eret
+
+_restore_all_and_bret:
+    lw      r1,  (sp+4)
+    lw      r2,  (sp+8) 
+    lw      r3,  (sp+12) 
+    lw      r4,  (sp+16) 
+    lw      r5,  (sp+20) 
+    lw      r6,  (sp+24) 
+    lw      r7,  (sp+28) 
+    lw      r8,  (sp+32) 
+    lw      r9,  (sp+36) 
+    lw      r10, (sp+40)
+    lw      r11, (sp+44)
+    lw      r12, (sp+48)
+    lw      r13, (sp+52)
+    lw      r14, (sp+56)
+    lw      r15, (sp+60)
+    lw      r16, (sp+64)
+    lw      r17, (sp+68)
+    lw      r18, (sp+72)
+    lw      r19, (sp+76)
+    lw      r20, (sp+80)
+    lw      r21, (sp+84)
+    lw      r22, (sp+88)
+    lw      r23, (sp+92)
+    lw      r24, (sp+96)
+    lw      r25, (sp+100)
+    lw      r26, (sp+104)
+    lw      r27, (sp+108)    
+    lw      ra,  (sp+116)
+    lw      ea,  (sp+120)
+    lw      ba,  (sp+124)
+    lw      sp,  (sp+112)
+	bret
+        
+Interrupt_exception_handler:
+	addi    sp, sp, -4
+	sw      (sp+4), ra
+
+    rcsr    r1, ip
+    rcsr    r2, im
+    and     r1, r1, r2
+   
+    addi    r2, r0, 1
+	addi    r4, r0, 0
+
+find_bit_loop:
+    and     r3, r1, r2
+	sli     r2, r2, 1
+	addi    r4, r4, 1
+    be      r3, r0, find_bit_loop
+    addi    r4, r4, -1
+        
+save_intr_mask:
+	rcsr    r1, im
+	addi    sp, sp, -4
+	sw      (sp+4), r1
+
+    mvhi    r1, hi(int_mask_table)
+	ori     r1, r1, lo(int_mask_table)
+    sli     r5, r4, 2
+	add     r1, r1, r5
+    lw      r1, (r1+0)
+    rcsr    r2, im
+    and     r1, r1, r2
+    wcsr    im, r1
+    
+    mvhi    r2, hi(int_table)
+    ori     r2, r2, lo(int_table)
+    sli     r5, r4, 2
+    add     r2, r2, r5
+    lw      r2, (r2+0)
+    be      r2, r0, undefined_interrupt
+
+	addi    sp, sp, -4
+	sw      (sp+4), r4    
+    
+    /* Enable Interrupt */
+    rcsr    r1, ie
+    ori     r1, r1, 0x1
+	wcsr    ie, r1	
+
+call_user_isr:
+    call    r2
+
+    /* Disable Interrupt */
+	rcsr    r1, ie
+	andi    r1, r1, 0x6
+	wcsr    ie, r1	 
+
+clear_intr_pending:	
+	addi    sp, sp, 4
+	lw      r4, (sp+0)
+
+	addi    r1, r0, 1
+    sl      r2, r1, r4
+    wcsr    ip, r2
+	
+restore_intr_mask:
+	addi    sp, sp, 4
+	lw      r1, (sp+0)
+	wcsr    im, r1
+	
+	addi    sp, sp, 4
+	lw      ra, (sp+0)
+	ret
+	nop
+
+undefined_interrupt:
+    bi      undef_interrupt
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/ecp2/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/makeoffset.c	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+    OFFSET_DEF2(TCB, tinib, tinib);
+    OFFSET_DEF2(TINIB, task, task);
+    OFFSET_DEF2(TINIB, exinf, exinf);
+	OFFSET_DEF(TCB, texptn);
+
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+    OFFSET_DEF2(TCB, tskctxb.pc, pc);
+
+	//OFFSET_DEF(INT_TABLE, intmask);
+
+	/*
+	 *  æ§é ä½ICU_IPMå
+ã®ãªãã»ãã 
+	 *    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã®ã§ãã·ã¹ãã ä¾å­é¨ã§å®ç¾©
+	 */
+#ifdef OFFSET_DEF_ICU_IPM
+	OFFSET_DEF_ICU_IPM;
+#endif /* OFFSET_DEF_ICU_IPM */
+
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+TCB	BIT_BB_TCB_enatex = {
+	/* BIT_BBï¼ããã°ã¨ã³ãã£ã¢ã³ã
+	           ãã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã */
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG *//* ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+TCB	BIT_LB_TCB_enatex = {
+	/* BIT_LBï¼ãªãã«ã¨ã³ãã£ã¢ã³ã
+	           ãã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã */
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/start.S	(revision 26)
@@ -0,0 +1,170 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"	
+
+	.section ".boot","ax"
+	.global reset
+reset:
+_reset_handler:
+	xor     r0, r0, r0
+	wcsr    IE, r0
+    mvhi    r1, hi(_reset_handler)
+    ori     r1, r1, lo(_reset_handler)
+    wcsr    EBA, r1
+    calli   _start
+	nop
+	nop
+_breakpoint_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 1
+	calli   _process_exception
+	bi      _restore_all_and_bret
+	nop
+	nop
+	nop
+_instruction_bus_error_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 2
+	calli   _process_exception
+	bi      _restore_all_and_eret
+	nop 
+	nop
+	nop
+_watchpoint_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 3
+	calli   _process_exception
+	bi      _restore_all_and_bret
+	nop 
+	nop
+	nop
+_data_bus_error_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 4
+	calli   _process_exception
+	bi      _restore_all_and_eret
+	nop 
+	nop
+	nop
+_divide_by_zero_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 5
+	calli   _process_exception
+	bi      _restore_all_and_eret
+	nop 
+	nop
+	nop
+_interrupt_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 6
+	calli   _process_exception
+	bi      _restore_all_and_eret
+	nop 
+	nop
+	nop
+_system_call_handler:
+	sw      (sp+0), ra
+	calli   _save_all
+	ori     r1, r0, 7
+	calli   _process_exception
+	bi      _restore_all_and_eret
+	nop 
+	nop
+	nop
+
+	.global _start
+_start:
+    /* Clear r0 */
+    xor     r0, r0, r0
+    /* Initialize the cache */
+    wcsr    icc, r1
+    nop
+    nop
+    nop
+    nop
+    wcsr    dcc, r1
+    nop
+    nop
+    nop
+    nop
+    /* clear the interrupt */
+    wcsr    ie, r0
+    wcsr    im, r0
+    mvhi    r1, 0xFFFF
+    ori     r1, r1, 0xFFFF
+    wcsr    ip, r1
+    /* Setup stack and global pointer */
+    mvhi    sp, hi(_fstack)
+    ori     sp, sp, lo(_fstack)
+    mvhi    gp, hi(_gp)
+    ori     gp, gp, lo(_gp)
+    /* Clear BSS */
+    mvhi    r1, hi(_fbss)
+    ori     r1, r1, lo(_fbss)
+    mvhi    r3, hi(_ebss)
+    ori     r3, r3, lo(_ebss)
+clear_bss:
+    be      r1, r3, start_kernel
+    sw      (r1+0), r0
+    addi    r1, r1, 4
+    bi      clear_bss
+start_kernel:	        
+	calli kernel_start
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_config.h	(revision 26)
@@ -0,0 +1,246 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+#define tool_initialize()
+
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+}
+
+#endif /* _MACRO_ONLY */
+
+#define	LOG_INH_ENTER(inhno)
+#define	LOG_INH_LEAVE(inhno)
+
+#define	LOG_ISR_ENTER(intno)
+#define	LOG_ISR_LEAVE(intno)
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)
+#define	LOG_EXC_LEAVE(excno)
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)
+#define	LOG_DSP_LEAVE(tcb)
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/lm32/tool_defs.h	(revision 26)
@@ -0,0 +1,75 @@
+/*
+ *  TOPPERS/JSP Kenel
+ *      Toyohashi Open Platfom for Embedded Real-Time Systems/
+ *      Just Standad Profile Kernel
+ * 
+ *  Copyight (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Fee Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU Geneal Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.14 2007/07/27 11:28:44 honda Exp $
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+#define	_int8_		cha
+#define	_int16_		shot
+#define	_int32_		int		
+#define _int64_		long long
+
+#ifndef __cplusplus
+#if __STDC_VERSION__ < 199901L
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/Makefile.config	(revision 26)
@@ -0,0 +1,49 @@
+#
+#  @(#) $Id: Makefile.config,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼M16Cç¨ï¼
+#
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+CDEFS := $(CDEFS)
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)\$(CPU)-$(TOOL) \
+		-I$(CONFIGDIR)\$(CPU)
+COPTS := $(COPTS) -dir . -silent
+LDFLAGS := $(LDFLAGS) -. -MSL -G
+ifdef LIBS
+	LIBS := $(LIBS),nc30lib
+else
+	LIBS := nc30lib
+endif
+
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)\$(CPU)-$(TOOL)
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)\$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.r30
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.r30
+
+#OMIT_MAKEOFFSET = TRUE
+
+CC = nc30
+AS = as30
+AR = lb30
+LD = ln30
+CPP = C:\Hew\Tools\Renesas\nc30wa\v545r01\lib30\cpp30
+OBJCOPY = lmc30
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+START_OBJS = start.r30
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.r30: %.a30 m16cvec.inc
+	$(AS) $(ASMFLAGS) -DRAMEND=$(RAMEND)h:MON=$(MON) $(<D)\$(<F)
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«(ä½ãããªã)
+$(START_OBJS:.r30=.d): %.d: %.a30
+
+# ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã®ä¾å­é¢ä¿
+cpu_support.r30: cpu_support.a30 offset.inc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/api.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/api.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/api.h	(revision 26)
@@ -0,0 +1,183 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: api.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+#ifndef API_H
+#define API_H
+
+#define __cycini
+#define __cycenq
+#define __sta_cyc
+#define __stp_cyc
+#define __cyccal
+#define __dtqini
+#define __dtqenq
+#define __dtqfenq
+#define __dtqdeq
+#define __dtqsnd
+#define __dtqrcv
+#define __snd_dtq
+#define __psnd_dtq
+#define __ipsnd_dtq
+#define __tsnd_dtq
+#define __fsnd_dtq
+#define __ifsnd_dtq
+#define __rcv_dtq
+#define __prcv_dtq
+#define __trcv_dtq
+#define __flgini
+#define __flgcnd
+#define __set_flg
+#define __iset_flg
+#define __clr_flg
+#define __wai_flg
+#define __pol_flg
+#define __twai_flg
+#define __excini
+#define __vxsns_ctx
+#define __vxsns_loc
+#define __vxsns_dsp
+#define __vxsns_dpn
+#define __vxsns_tex
+#define __inhini
+#define __mbxini
+#define __snd_mbx
+#define __rcv_mbx
+#define __prcv_mbx
+#define __trcv_mbx
+#define __mpfini
+#define __mpfget
+#define __get_mpf
+#define __pget_mpf
+#define __tget_mpf
+#define __rel_mpf
+#define __semini
+#define __sig_sem
+#define __isig_sem
+#define __wai_sem
+#define __pol_sem
+#define __twai_sem
+#define __rot_rdq
+#define __irot_rdq
+#define __get_tid
+#define __iget_tid
+#define __loc_cpu
+#define __iloc_cpu
+#define __unl_cpu
+#define __iunl_cpu
+#define __dis_dsp
+#define __ena_dsp
+#define __sns_ctx
+#define __sns_loc
+#define __sns_dsp
+#define __sns_dpn
+#define __logini
+#define __vwri_log
+#define __vrea_log
+#define __vmsk_log
+#define __logter
+#define __tskini
+#define __tsksched
+#define __tskrun
+#define __tsknrun
+#define __tskdmt
+#define __tskact
+#define __tskext
+#define __tskpri
+#define __tskrot
+#define __tsktex
+#define __ras_tex
+#define __iras_tex
+#define __dis_tex
+#define __ena_tex
+#define __sns_tex
+#define __act_tsk
+#define __iact_tsk
+#define __can_act
+#define __ext_tsk
+#define __ter_tsk
+#define __chg_pri
+#define __get_pri
+#define __slp_tsk
+#define __tslp_tsk
+#define __wup_tsk
+#define __iwup_tsk
+#define __can_wup
+#define __rel_wai
+#define __irel_wai
+#define __sus_tsk
+#define __rsm_tsk
+#define __frsm_tsk
+#define __dly_tsk
+#define __tmeini
+#define __tmeup
+#define __tmedown
+#define __tmeins
+#define __tmedel
+#define __isig_tim
+#define __set_tim
+#define __get_tim
+#define __vxget_tim
+#define __waimake
+#define __waicmp
+#define __waitmo
+#define __waitmook
+#define __waican
+#define __wairel
+#define __wobjwai
+#define __wobjwaitmo
+#define __wobjpri
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.c	(revision 26)
@@ -0,0 +1,140 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.4 2006/08/03 04:15:57 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M16Cç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+char	intnest;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ãåæå(ã¿ã¹ã¯ã³ã³ãã­ã¹ã) */
+	intnest = 0;
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+}
+
+/*
+ * software_init_hookã®ä»®å®ç¾©
+ */
+#ifndef EXTERNAL_SOFT_HOOK
+const VP_INT software_init_hook = 0;
+#endif  /* EXTERNAL_SOFT_HOOK */
+
+
+/*
+ * å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿å²ãè¾¼ã¿åªå
+åº¦å¤æ´
+ *
+ * å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã¯ï¼ãã®ã¬ã¸ã¹ã¿ã«å¯¾å¿ããå²è¾¼ã¿è¦æ±ãçºçããªãç®æã§
+ * å¤æ´ããå¿
+è¦ãããï¼ãã®ããï¼å²è¾¼ã¿ãç¦æ­¢ããå¾ï¼å¤æ´ããå¿
+è¦ãããï¼
+ * å²è¾¼ã¿ãç¦æ­¢ãã¦å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ãå¤æ´ããå ´åã¯ï¼ä½¿ç¨ããå½ä»¤ã«æ³¨æãã
+ * å¿
+è¦ãããï¼
+ * IRãããä»¥å¤ãå¤æ´ããå ´åã«ã¯ï¼AND,OR,BCLR,BSETå½ä»¤ãä½¿ç¨ãããã¨ï¼
+ * IRãããã¯MOVå½ä»¤ãä½¿ç¨ãããã¨ï¼
+ * ã¾ãï¼Iãã©ã°ãç¨ãã¦å²è¾¼ã¿ãç¦æ­¢ããå ´åã¯ï¼è¨±å¯ããåã«æ°å½ä»¤ãããã¨ï¼
+ * è©³ç´°ã¯ï¼M16Cãã¼ãã¦ã§ã¢ããã¥ã¢ã«ã®
+ *       "ä½¿ç¨ä¸ã®æ³¨æ->å²ãè¾¼ã¿->å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®å¤æ´"
+ * ãåç
+§ã®ãã¨ï¼ 
+ */
+void
+set_ic_ilvl(VP addr, UB val){
+    BOOL    locked;
+    
+    locked = sense_lock();
+    if (!(locked)) {
+        sense_context() ? i_lock_cpu() : t_lock_cpu();
+    }
+    
+    _asm("PUSH.W A0");
+    _asm("PUSH.B R0L");
+    _asm("MOV.W $$[FB], A0", addr);
+    _asm("MOV.B $$[FB], R0L", val);
+    _asm("AND.B #08H, [A0]");
+    _asm("OR.B  R0L, [A0]");
+    _asm("NOP");
+    _asm("NOP");    
+    _asm("POP.B R0L");
+    _asm("POP.W A0");
+
+    if (!(locked)) {
+        sense_context() ? i_unlock_cpu() : t_unlock_cpu();
+    }
+    
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_config.h	(revision 26)
@@ -0,0 +1,345 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.4 2006/08/03 04:15:57 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M16Cç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#ifdef NEED_API
+#include "api.h"
+#endif /* NEED_API */
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define TBIT_TCB_PRIORITY	4	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	void	*sp;	/* ã¹ã¿ãã¯ãã¤ã³ã¿(nearåºå®) */
+	FP		pc;	/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern char	intnest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããè¿ãé¢æ°.
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ããªãTRUEãè¿ã.
+ */
+Inline BOOL
+sense_context(void)
+{
+	/*  ãã¹ãã«ã¦ã³ã¿0ããå¤§ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ã  */
+	return(intnest > 0);
+}
+
+/*
+ *  ç¾å¨ã®CPUã­ãã¯ç¶æ
+ãè¿ãé¢æ°.
+ *  CPUã­ãã¯ç¶æ
+ãªãTRUEãè¿ã.
+ */
+Inline BOOL
+sense_lock(void)
+{
+	return((current_flgreg() & FLG_I_MASK) == 0);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ */
+Inline void
+lock_cpu(void)
+{
+	disint();
+}
+
+Inline void
+unlock_cpu(void)
+{
+	enaint();
+}
+
+#define t_lock_cpu	lock_cpu
+#define i_lock_cpu	lock_cpu
+#define t_unlock_cpu	unlock_cpu
+#define i_unlock_cpu	unlock_cpu
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.a30ï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããã
+ *  ãµã¼ãã¹ã³ã¼ã«å¦çã®ä¸­ããï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã(cpu_support.a30)
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãçºçæã®CPUã®ç¶æ
+ã¯æ¬¡ã®ã¨ãã.
+ *
+ *  FLGã¬ã¸ã¹ã¿ã®Iãããã¯ 0(å²è¾¼ã¿ç¦æ­¢) 
+ *  FLGã¬ã¸ã¹ã¿ã®IPLã¯åãä»ããå²è¾¼ã¿ã®IPL
+ *  FLGã¬ã¸ã¹ã¿ã®Uãããã¯, å²è¾¼ã¿ã®ç¨®é¡ã«ãã£ã¦ç°ãªãã,
+ *  ã«ã¼ãã«ã§ã¯ISPã®ã¿ãä½¿ç¨ã, USPãä½¿ç¨ãã¦ããªããã,
+ *  ããã§ã¯åé¡ã¨ãªããªã.
+ *
+ *  å²è¾¼ã¿/ä¾å¤çºçæã«ã¯, èªåçã« FLG, PCãã¹ã¿ãã¯ã¸ä¿å­ããã.
+ *  åºå
+¥ãå£å¦çã§ã¯ã¾ãæ®ãã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿å­ãã.
+ *  åæ®µã®å²è¾¼ã¿ã®å ´åã¯ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã«,
+ *  å¤éå²ãè¾¼ã¿ã®å ´åã¯å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã«, ããããä¿å­ããã.
+ *
+ *  ãã®å¾, ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ã r1 ã«, 
+ *  å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ã a1 ã¨ a0 ã«æ ¼ç´ããç¶æ
+ã§
+ *  å²è¾¼ã¿åºå
+¥å£å¦çã®å¾åã¸ã¸ã£ã³ããã.
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  å²è¾¼ã¿çºçæãå®è¡ä¸­ã®ã¬ã¸ã¹ã¿ã®å¤ãã¹ã¿ãã¯ã«éé¿ããï¼ãã®å¾ãã¹
+ *  ã¿ãã¯ã®å¤ãR1ã¬ã¸ã¹ã¿ã«ã»ãããã¢ã»ã³ãã©ã§è¨è¿°ããããã³ããªã³ã°
+ *  ãã­ã°ã©ã ã«åå²ããï¼
+ */
+
+#define INTHDR_ENTRY(inthdr)\
+extern void inthdr##_entry(void);\
+asm("	.glb _" #inthdr "						");\
+asm("	.glb __kernel_interrupt						");\
+asm("	.section program, code, align					");\
+asm("_" #inthdr "_entry:						");\
+asm("	pushm	r0,r1,r2,r3,a0,a1,sb,fb	; ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã¹ã¿ãã¯ã¸éé¿");\
+asm("	stc	isp, r1			; ã¹ã¿ãã¯ãã¤ã³ã¿ãåãåºã	");\
+asm("	mov.w	#_" #inthdr "&0ffffh, a0; å²è¾¼ã¿ãã³ãã©ã®ä¸ä½2ãã¤ã	");\
+asm("	mov.w	#_" #inthdr ">>16, a1	; å²è¾¼ã¿ãã³ãã©ã®ä¸ä½2ãã¤ã	");\
+asm("	jmp	__kernel_interrupt	; å²è¾¼ã¿å¦çã«ã¼ãã³å¾åã¸	");
+
+#define INT_ENTRY(inthdr)	inthdr##_entry
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã®åºæ¬çãªå¦çã¯å²è¾¼ã¿ãã³ãã©ã¨å
+±æããï¼å²è¾¼ã¿ã
+ *  ã³ãã©ã¨ã®éãã¯ã¹ã¿ãã¯å¤ãéé¿ããR1ã¬ã¸ã¹ã¿ã®å¤ãp_excinfã¨ãã¦
+ *  ä½¿ç¨ããããããªããã®å·®ç°ã®ã¿ã§ãï¼
+ */
+
+#define EXCHDR_ENTRY(exchdr)\
+extern void exchdr##_entry(void);\
+asm("	.glb $" #exchdr "		 				");\
+asm("	.glb __kernel_interrupt		 				");\
+asm("	.section program, code, align					");\
+asm("_" #exchdr "_entry:						");\
+asm("	pushm	r0,r1,r2,r3,a0,a1,sb,fb	; ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã¹ã¿ãã¯ã¸éé¿");\
+asm("	stc	isp, r1			; ã¹ã¿ãã¯ãã¤ã³ã¿ãåãåºã	");\
+asm("	mov.w	#$" #exchdr "&0ffffh, a0; å²è¾¼ã¿ãã³ãã©ã®ä¸ä½2ãã¤ã	");\
+asm("	mov.w	#$" #exchdr ">>16, a1	; å²è¾¼ã¿ãã³ãã©ã®ä¸ä½2ãã¤ã	");\
+asm("	jmp	__kernel_interrupt	; å²è¾¼ã¿å¦çã«ã¼ãã³å¾åã¸	");
+
+#define EXC_ENTRY(exchdr) exchdr##_entry
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* 
+	 *  ãã¹ãã«ã¦ã³ã¿ã1ããå¤§ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+	 */
+	return( intnest > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	/*
+	 *  ä¾å¤çºçåã®FLGã¬ã¸ã¹ã¿Iãããã0ãªãCPUã­ãã¯ç¶æ
+
+	 *
+	 *  ä¸å¼ã®å®æ°18ã¯CPUä¾å¤å
+¥ãå£å¦çã§ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ã©ã
+	 *  ä¿å­ããã¦ãããã«ä¾å­ãã¦æ±ºå®ããæ°å¤
+	 */
+	return( ( *(char *)((char *)p_excinf+18) & FLG_I_MASK ) == 0);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå(cpu_config.c)
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç(cpu_config.c)
+ */
+extern void	cpu_terminate(void);
+
+/*
+ * å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿å²ãè¾¼ã¿åªå
+åº¦å¤æ´
+ */
+extern void set_ic_ilvl(VP addr, UB val);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_context.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004, 2007 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.4 2007/03/23 07:08:04 honda Exp $
+ */
+
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼M16Cç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW *sp;
+	VW  return_point = (VW)ext_tsk;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+
+	*--sp = (VW)(tcb->tinib->exinf);
+	sp = (VW *)((VB*)sp - 1);
+	*(VB*)sp = (VB)(return_point >> 16);
+	sp = (VW *)((VH*)sp - 1);
+	*(VH*)sp = (VH)return_point;
+	*--sp = (VW)(tcb->tinib->task);
+
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.a30  */
+	tcb->tskctxb.sp = sp;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+/*
+ *  calltex ãä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_defs.h	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼M16Cç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define	M16C		/* ãã­ã»ããµç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+typedef char	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå·	*/
+typedef char	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå·	*/
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_insn.h	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼M16Cç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  FLGã¬ã¸ã¹ã¿ã®åãããã«å¯¾ãããã¹ã¯
+ */
+#define FLG_I_MASK		(0x0040)
+
+
+/*
+ *  Inlineé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+Inline volatile unsigned short current_flgreg(void);
+Inline void disint(void);
+Inline void enaint(void);
+
+
+/*
+ *  ãã©ã°ã¬ã¸ã¹ã¿(FLG)ã®ç¾å¨å¤ã®èª­åºã
+ */
+
+Inline volatile unsigned short
+current_flgreg(void)
+{
+	volatile unsigned short flg;
+	asm("	stc flg, $$[FB]", flg);
+	return(flg);
+}
+
+/*
+ *  å¤é¨å²è¾¼ã¿å
+¨ç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+	asm("	fclr	i");
+}
+
+/*
+ *  å¤é¨å²è¾¼ã¿å
+¨ç¦æ­¢è§£é¤
+ */
+Inline void
+enaint(void)
+{
+	asm("	fset	i");
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+activate_r
+ret_int
+interrupt
+intnest
+break_wait
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_rename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define interrupt		_kernel_interrupt
+#define intnest			_kernel_intnest
+#define break_wait		_kernel_break_wait
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _interrupt		__kernel_interrupt
+#define _intnest		__kernel_intnest
+#define _break_wait		__kernel_break_wait
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_support.a30
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_support.a30	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_support.a30	(revision 26)
@@ -0,0 +1,349 @@
+;*
+;*  TOPPERS/JSP Kernel
+;*      Toyohashi Open Platform for Embedded Real-Time Systems/
+;*      Just Standard Profile Kernel
+;*
+;*  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+;*                              Toyohashi Univ. of Technology, JAPAN
+;*  Copyright (C) 2003-2007 by Naoki Saito
+;*             Nagoya Municipal Industrial Research Institute, JAPAN
+;*  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+;*              Platform Development Center RICOH COMPANY,LTD. JAPAN
+;*
+;*  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+;*  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;*  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;*  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;*  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;*  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;*      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;*      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;*  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;*      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;*      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;*      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;*      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;*      ã¨ï¼
+;*    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;*        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;*        å ±åãããã¨ï¼
+;*  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;*      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;*
+;*  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;*  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;*  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;*  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;* 
+;*  @(#) $Id: cpu_support.a30,v 1.7 2007/03/23 07:06:35 honda Exp $
+
+
+;
+;	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼M16Cç¨ï¼
+;
+
+;
+;  offset.incã¯makeoffset.cã¨m16coffset.exeã³ãã³ãã«ãã
+;  èªåçæãããï¼
+;
+	.include	offset.inc
+
+	.glb	__kernel_runtsk
+	.glb	__kernel_schedtsk
+	.glb	__kernel_reqflg
+	.glb	__kernel_enadsp
+
+	.glb	__kernel_dispatch
+	.glb	__kernel_exit_and_dispatch
+	.glb	__kernel_activate_r
+	.glb	__kernel_call_texrtn
+	.glb	__kernel_interrupt
+	.glb	__kernel_intnest
+
+	.glb	_iana_tsk
+	.glb	__kernel_break_wait
+
+	.section	program, code, align
+;
+;	ã¿ã¹ã¯ãã£ã¹ãããã£
+;
+;   dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªã
+;   ãã°ãªããªãï¼exit_and_dispatch ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼
+;   ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼
+;   å²è¾¼ã¿ã¢ã¼ãã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+;	å¼ã³åºãæ¡ä»¶: IPL=0, FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+),
+;			intnest = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+__kernel_dispatch:
+	pushm	sb, fb				; ã¹ã¿ãã¯ã¸ã¬ã¸ã¹ã¿ä¿å­
+	mov.w	__kernel_runtsk, a0
+	stc	isp, TCB_sp[a0]			; ã¹ã¿ãã¯ãã¤ã³ã¿ãTCBã«ä¿å­
+	mov.w	#(dispatch_r>>16), TCB_pc+2[a0]	; å®è¡åéçªå°ãTCBã«ä¿å­
+	mov.w	#(dispatch_r & 0ffffh), TCB_pc[a0]
+	jmp.b	dispatcher
+;
+;	å¼ã³åºãæ¡ä»¶: IPL=0, FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+),
+;			intnest = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+;	a0 ã«ã¯runtsk ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã
+;
+dispatch_r:
+	popm	sb,fb						; ã¿ã¹ã¯ã¹ã¿ãã¯ããã¬ã¸ã¹ã¿å¾©å¸°
+	mov.w	TCB_enatex[a0], r0
+	btst	TCB_enatex_bit, r0			; ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯?
+	jz	dispatch_r_1					; è¨±å¯ã§ãªããã° dispatch_r_1 ã¸
+	mov.w	TCB_texptn[a0], r0				; ä¿çä¾å¤è¦å ããããï¼
+	jz	dispatch_r_1					; ãªããã° dispatch_r_1 ã¸
+	jmp	__kernel_call_texrtn	; ã¿ã¹ã¯ä¾å¤ãã³ãã©ã¸
+dispatch_r_1:				; ã¿ã¹ã¯ä¾å¤ãå®è¡ããªãå ´å
+	rts				; dispatch å¼ã³åºãå
+ã¸æ»ã.
+
+
+;
+;	ã¿ã¹ã¯èµ·åæå¦ç
+;
+;	ããã§ã¯, CPUã­ãã¯è§£é¤ç¶æ
+ã«ã, ã¿ã¹ã¯ãèµ·åãã.
+;
+;	å¼åºæ¡ä»¶: FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+), ã¿ã¹ã¯ã¹ã¿ãã¯
+;		IPL=0, ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;
+__kernel_activate_r:
+	pop.w	a0		; ã¿ã¹ã¯ã®èµ·åçªå°ãA1A0ã«è¨­å®
+	pop.w	a1
+	ldc	#0040h, flg	; å²è¾¼ã¿è¨±å¯, ISP, IPL=0
+	jmpi.a	a1a0
+
+;
+;	dispatchå¼ã³åºãæ¡ä»¶:
+;		ã»ãã¹ã¦ã®ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ãã¯ä¿å­ããã¦ãã.
+;		ã»FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+)
+;		ã»ã³ã³ãã­ã¹ãã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;		ãä½ããexit_and_dispatchã«ã¤ãã¦ã¯ã¢ãã¿ã¼èµ·åç­ãèæ
+®
+;		ãããä¸è¨ä»¥å¤ã®å¼ã³åºãæ¡ä»¶ã®å¯¾å¿ãè¡ã
+;	dispatcher å¼åºæã®ã¹ã¿ãã¯:
+;		__kernel_dispatch ããããå ´å: ã¿ã¹ã¯ã¹ã¿ãã¯
+;		exit_and_dispatch ããããå ´å: 
+;			exit_task ããããå ´åã¯ã¿ã¹ã¯ã¹ã¿ãã¯
+;			ã«ã¼ãã«èµ·åæã¯å²è¾¼ã¿ã¹ã¿ãã¯
+;		ret_int ããããå ´å: å²è¾¼ã¿ã¹ã¿ãã¯
+;		dispatcher_2 ã§ã®å²è¾¼ã¿å¾
+ã¡ããããå ´å: å²è¾¼ã¿ã¹ã¿ãã¯
+;
+
+__kernel_exit_and_dispatch:
+	fclr	i			; å²è¾¼ã¿ç¦æ­¢
+	mov.b	#0, __kernel_intnest	; ãã¹ãã«ã¦ã³ã¿ã¯ãªã¢
+dispatcher:
+	mov.w	__kernel_schedtsk, a0	; 
+	mov.w 	a0, __kernel_runtsk	; schedtsk ã runtsk ã«
+	.IF MON == 1
+;   ã¿ã¹ã¯ã¢ãã¿ã¼æ©è½ç¨åå²
+;   ä¸è¦ã®å ´åã¯ (MON = 0)
+	jsr.a  _iana_tsk			; ã¿ã¹ã¯å®è¡æ
+å ±ã®è¨­å®
+	mov.w	__kernel_runtsk,a0	; a0ãå¾©å¸°
+	.ENDIF
+	jz	dispatcher_1		; schedtsk ããªããã°å²è¾¼ã¿å¾
+ã¡
+	ldc	TCB_sp[a0], isp		; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å¸°
+	jmpi.a	TCB_pc[a0] 		; å®è¡åéçªå°ã¸ã¸ã£ã³ã
+;
+;	schdedtskã NULL ã®å ´åã¯ãããããä¸ã«ã¯è¡ããªã
+;
+dispatcher_1:
+	ldc	#RAMEND, isp		; å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã¸åæ¿ã
+	inc.b	__kernel_intnest	; éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+dispatcher_2:
+	fset	i		; å²è¾¼ã¿å¾
+ã¡
+	wait 			; waitå½ä»¤ãä½¿ç¨ããã¨
+	nop			; æ¶è²»é»åãæãããã¨ãã§ãã.
+	nop			; ã³ã¡ã³ããã¤ããã¾ã¾(nopã®ã¿)ã«ããã¨
+	nop			; ã¢ã¤ãã«ã«ã¼ãã¨åããããªåä½ã«ãªã.
+	nop			; 
+;
+;	ããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ã,å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæããã®ã¯,
+;	ããã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨,
+;	å²è¾¼ã¿ãã³ãã©å
+ã§ã®ãã£ã¹ãããé²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+;
+	fclr	i			; å²è¾¼ã¿ç¦æ­¢
+	mov.w	__kernel_reqflg, r0	; reqflg ã FALSE ãªã
+	jz	dispatcher_2		; dispatcher_2 ã¸
+	mov.w	#0, __kernel_reqflg	; reqflgãTRUEãªãFALSEã«ãã
+	dec.b	__kernel_intnest	; ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«æ»ã
+	jmp.b	dispatcher		; dispatcher ã¸æ»ã
+
+
+;
+;  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+;
+;	å¼åºãæ¡ä»¶:
+;	ã»FLGã¬ã¸ã¹ã¿ã®Iããã=0, IPL=0, ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;	ã»ä½¿ç¨ã¹ã¿ãã¯ã¯ã¿ã¹ã¯ã¹ã¿ãã¯, reqflg = TRUE
+;
+ret_int:
+	mov.w	#0, __kernel_reqflg		; reqflg <--- FALSE
+	mov.w	__kernel_runtsk, a0		; A0 <--- runtsk
+	mov.w	__kernel_enadsp, r0		; enadsp ã FALSE ãªã
+	jz	ret_int_r			; ret_int_r ã¸
+	mov.w	__kernel_schedtsk, r0		; schedtskã¨
+	cmp.w	a0, r0				; runtsk ãåããªã
+	jeq	ret_int_r			; ret_int_r ã¸
+		;;;; (runtsk == NULL) ã®ãã§ãã¯ã¯å¿
+è¦ãªãããåé¤ (07/03/02)
+	stc	isp, TCB_sp[a0]			; ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­
+	mov.w	#(ret_int_r&0ffffh), TCB_pc[a0]	; å®è¡åéçªå°ãä¿å­
+	mov.w	#(ret_int_r>>16), TCB_pc+2[a0]
+	jmp.b	dispatcher
+
+__kernel_break_wait:
+ret_int_r:
+	mov.w	TCB_enatex[a0],r0	; enatex ã FALSE ãªããªã¿ã¼ã³
+	btst	TCB_enatex_bit,r0
+	jz	ret_int_r_1
+	mov.w	TCB_texptn[a0],r0	; texptn ã 0 ãªãã°ãªã¿ã¼ã³
+	jz	ret_int_r_1
+	jsr.a	__kernel_call_texrtn	; ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã
+ret_int_r_1:
+	popm	r0,r1,r2,r3,a0,a1,sb,fb	; ã¹ã¿ãã¯ããã¬ã¸ã¹ã¿ãå¾©å¸°
+	reit				; ã¿ã¹ã¯ã¸æ»ã
+
+
+;
+;	å²è¾¼ã¿/CPUä¾å¤ã®åºå
+¥å£å¦ç(ã¢ã»ã³ããªè¨èªè¨è¿°é¨å)
+;
+;	å¼åºãæ¡ä»¶:
+;	ã»FLGã¬ã¸ã¹ã¿ã®Iããã=0, IPLã¯åä»ããå²è¾¼ã¿ã®IPL.
+;	ã»ã¹ã¿ãã¯ã¯å¤éå²ãè¾¼ã¿ãªãå²è¾¼ã¿ã¹ã¿ãã¯, ããã§ãªããã°
+;	  ã¿ã¹ã¯ã¹ã¿ãã¯
+;	ã»a1ã¨a0 ã«ã¯å²è¾¼ã¿/CPUä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã.
+;	ã»r1 ã«ã¯(ã¿ã¹ã¯orå²è¾¼ã¿)ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ãæ ¼ç´ããã¦ãã.
+;	ããã¯ãã®ã¾ã¾CPUä¾å¤ãã³ãã©ã«æ¸¡ãVPåã®å¤æ° p_excinf ã¨ãªã.
+;
+;	ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ä¸ã«ã©ã®ããã«ä¿å­ããã¦ããããä»¥ä¸ã«ç¤ºã.
+;	ãã®å³ã§ã¯ä¸ãä½ä½, ä¸ãé«ä½ã®ã¢ãã¬ã¹ã§, ã¹ã¿ãã¯ã¯ä¸ãã
+;	ä¸æ¹åã«åãã£ã¦ç©ã¿ä¸ãããããã®ã¨ãã.
+;
+;	--------------------------------------
+;	|              R0(2byte)             | <--- p_excinf
+;	|                                    |
+;	--------------------------------------
+;	|              R1(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              R2(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              R3(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              A0(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              A1(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              SB(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|              FB(2byte)             |
+;	|                                    |
+;	--------------------------------------
+;	|           PCã®ä¸ä½2ãã¤ã          |
+;	|                                    |
+;	--------------------------------------
+;	|          FLGã®ä¸ä½1ãã¤ã          |
+;	--------------------------------------
+;	|  FLGã®ä¸ä½4ããã/PCã®ä¸ä½4ããã  |
+;	--------------------------------------
+;
+;	ãã³ãã©ãããªã¿ã¼ã³ããå¾ã¯, å¤éå²è¾¼ã¿ã§ãªã, ãã¤ reqflg ã
+;	TRUE ã«ãªã£ãæã«ï¼ret_int ã¸åå²ããï¼
+;
+;	å¤éå²è¾¼ã¿ãã©ããã¯å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®å¤ã§å¤å®ãã.
+;	intnest != 0 ãªãã°å¤éå²è¾¼ã¿ã§ããã¨å¤å®ãã.
+;
+;	reqflg ã¯CPUã­ãã¯ç¶æ
+ã§ãã§ãã¯ãã. ããã§ãªãã¨ï¼
+;	reqflg ãã§ãã¯å¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+;	ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£ã¹ããããããªã.
+;
+__kernel_interrupt:
+	cmp.b	#0, __kernel_intnest	; å¤éå²ãè¾¼ã¿ãã©ãã
+	jnz	int_from_int		; 0ã§ãªããã°å¤éå²è¾¼ã¿
+int_from_task:				; åæ®µã®å²è¾¼ã¿
+	ldc	#RAMEND, isp		; å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã¸åæ¿ãã
+	push.w	r1		; ã¹ã¿ãã¯ãã¤ã³ã¿ãå²è¾¼ã¿ã¹ã¿ãã¯ã¸ä¿å­
+int_from_int:				; å¤éå²è¾¼ã¿
+	inc.b	__kernel_intnest	; ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã
+	fset	i			; å²è¾¼ã¿ç¦æ­¢è§£é¤
+	jsri.a	a1a0			; Cã«ã¼ãã³å¼ã³åºã
+	fclr	i			; å²è¾¼ã¿ç¦æ­¢
+	dec.b	__kernel_intnest	; ãã¹ãåæ°ããã¯ãªã¡ã³ã
+	jnz	int_return		; å¤éå²ãè¾¼ã¿ãªããªã¿ã¼ã³
+int_from_task2:				; åæ®µã®å²è¾¼ã¿
+	pop.w	r1			; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãæ»ã
+	ldc	r1, isp
+	ldipl	#0			; ã¿ã¹ã¯ã®IPLå¤ãã»ãã(IPL=0)
+	mov.w	__kernel_reqflg, r1	; ãã£ã¹ãããè¦æ±ããªãã?
+	jz	int_return		; ãªããã°å²è¾¼ã¿çºçå
+ã®ã¿ã¹ã¯ã«æ»ã
+	jmp.b	ret_int			; ããã° ret_int ã¸ã¸ã£ã³ã
+int_return:
+	popm	r0,r1,r2,r3,a0,a1,sb,fb	; ã¬ã¸ã¹ã¿å¾©å¸°
+	reit				; å²è¾¼ã¿åã®å¦çã«æ»ã
+
+;
+;  å¾®å°æéå¾
+ã¡
+;
+SIL_DLY_TIM1	.equ	625	; æå°æé(ã«ã¼ã0å)[ns]
+SIL_DLY_TIM2	.equ	250	; ã«ã¼ã1åãããã®æé[ns]
+
+	.glb	$sil_dly_nse
+$sil_dly_nse:
+	sub.w #SIL_DLY_TIM1, r1
+	jgtu L0
+	rts
+L0:
+	sub.w #SIL_DLY_TIM2, r1
+	jgtu L0
+	rts
+
+
+	; æªä½¿ç¨å²è¾¼ã¿ã®å¦ç
+	.glb _unused_interrupt
+_unused_interrupt:
+	reit
+
+	.end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/cpu_unrename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef interrupt
+#undef intnest
+#undef break_wait
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _interrupt
+#undef _intnest
+#undef _break_wait
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/Makefile.kernel
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/Makefile.kernel	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/Makefile.kernel	(revision 26)
@@ -0,0 +1,142 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.kernel,v 1.2 2006/08/03 04:14:02 honda Exp $
+# 
+
+#
+#	ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#	(M16Cã§ä½¿ç¨ããããã«ãã¡ã¤ã«ã®æ¡å¼µå­é¨åãå¤æ´)
+#
+
+#
+#  ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼1ã¤ã®ã½ã¼ã¹ãã¡
+#  ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæãããã®ã®å®ç¾©
+#
+KERNEL_LCSRCS = task.c wait.c time_event.c syslog.c \
+		task_manage.c task_sync.c task_except.c \
+		semaphore.c eventflag.c dataqueue.c mailbox.c \
+		mempfix.c time_manage.c cyclic.c sys_manage.c \
+		interrupt.c exception.c
+
+#
+#  ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+KERNEL_LCOBJS = $(foreach file,$(KERNEL_LCSRCS),$($(file:.c=)))
+
+#
+#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+task = tskini.r30 tsksched.r30 tskrun.r30 tsknrun.r30 \
+		tskdmt.r30 tskact.r30 tskext.r30 tskpri.r30 tskrot.r30 tsktex.r30
+
+wait = waimake.r30 waicmp.r30 waitmo.r30 waitmook.r30 \
+		waican.r30 wairel.r30 wobjwai.r30 wobjwaitmo.r30 wobjpri.r30
+
+time_event = tmeini.r30 tmeup.r30 tmedown.r30 tmeins.r30 tmedel.r30 isig_tim.r30
+
+syslog = logini.r30 vwri_log.r30 vrea_log.r30 vmsk_log.r30 logter.r30
+
+task_manage = act_tsk.r30 iact_tsk.r30 can_act.r30 ext_tsk.r30 ter_tsk.r30 \
+		chg_pri.r30 get_pri.r30
+
+task_sync = slp_tsk.r30 tslp_tsk.r30 wup_tsk.r30 iwup_tsk.r30 can_wup.r30 \
+		rel_wai.r30 irel_wai.r30 sus_tsk.r30 rsm_tsk.r30 frsm_tsk.r30 dly_tsk.r30
+
+task_except = ras_tex.r30 iras_tex.r30 dis_tex.r30 ena_tex.r30 sns_tex.r30
+
+semaphore = semini.r30 sig_sem.r30 isig_sem.r30 wai_sem.r30 pol_sem.r30 twai_sem.r30
+
+eventflag = flgini.r30 flgcnd.r30 set_flg.r30 iset_flg.r30 clr_flg.r30 \
+		wai_flg.r30 pol_flg.r30 twai_flg.r30
+
+dataqueue = dtqini.r30 dtqenq.r30 dtqfenq.r30 dtqdeq.r30 dtqsnd.r30 dtqrcv.r30 \
+		snd_dtq.r30 psnd_dtq.r30 ipsnd_dtq.r30 tsnd_dtq.r30 \
+		fsnd_dtq.r30 ifsnd_dtq.r30 rcv_dtq.r30 prcv_dtq.r30 trcv_dtq.r30
+
+mailbox = mbxini.r30 snd_mbx.r30 rcv_mbx.r30 prcv_mbx.r30 trcv_mbx.r30
+
+mempfix = mpfini.r30 mpfget.r30 get_mpf.r30 pget_mpf.r30 tget_mpf.r30 rel_mpf.r30
+
+time_manage = set_tim.r30 get_tim.r30 vxget_tim.r30
+
+cyclic = cycini.r30 cycenq.r30 sta_cyc.r30 stp_cyc.r30 cyccal.r30
+
+sys_manage = rot_rdq.r30 irot_rdq.r30 get_tid.r30 iget_tid.r30 \
+		loc_cpu.r30 iloc_cpu.r30 unl_cpu.r30 iunl_cpu.r30 \
+		dis_dsp.r30 ena_dsp.r30 sns_ctx.r30 sns_loc.r30 sns_dsp.r30 \
+		sns_dpn.r30 vsns_ini.r30
+
+interrupt = inhini.r30
+
+exception = excini.r30 vxsns_ctx.r30 vxsns_loc.r30 \
+		vxsns_dsp.r30 vxsns_dpn.r30 vxsns_tex.r30
+
+#
+#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#
+$(task) $(task:.r30=.a30) $(task:.r30=.d): task.c
+$(wait) $(wait:.r30=.a30) $(wait:.r30=.d): wait.c
+$(time_event) $(time_event:.r30=.a30) $(time_event:.r30=.d): time_event.c
+$(syslog) $(syslog:.r30=.a30) $(syslog:.r30=.d): syslog.c
+$(task_manage) $(task_manage:.r30=.a30) $(task_manage:.r30=.d): task_manage.c
+$(task_sync) $(task_sync:.r30=.a30) $(task_sync:.r30=.d): task_sync.c
+$(task_except) $(task_except:.r30=.a30) $(task_except:.r30=.d): task_except.c
+$(semaphore) $(semaphore:.r30=.a30) $(semaphore:.r30=.d): semaphore.c
+$(eventflag) $(eventflag:.r30=.a30) $(eventflag:.r30=.d): eventflag.c
+$(dataqueue) $(dataqueue:.r30=.a30) $(dataqueue:.r30=.d): dataqueue.c
+$(mailbox) $(mailbox:.r30=.a30) $(mailbox:.r30=.d): mailbox.c
+$(mempfix) $(mempfix:.r30=.a30) $(mempfix:.r30=.d): mempfix.c
+$(time_manage) $(time_manage:.r30=.a30) $(time_manage:.r30=.d): time_manage.c
+$(cyclic) $(cyclic:.r30=.a30) $(cyclic:.r30=.d): cyclic.c
+$(sys_manage) $(sys_manage:.r30=.a30) $(sys_manage:.r30=.d): sys_manage.c
+$(interrupt) $(interrupt:.r30=.a30) $(interrupt:.r30=.d): interrupt.c
+$(exception) $(exception:.r30=.a30) $(exception:.r30=.d): exception.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.cfg	(revision 26)
@@ -0,0 +1,14 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼M3029ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL_IN1, { TA_HLNG, serial_in_handler1 });
+DEF_INH(INHNO_SERIAL_OUT1, { TA_HLNG, serial_out_handler1 });
+DEF_INH(INHNO_SERIAL_IN2, { TA_HLNG, serial_in_handler2 });
+DEF_INH(INHNO_SERIAL_OUT2, { TA_HLNG, serial_out_handler2 });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_serial.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼M3029ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <sfruart.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SERIAL_IN1	INT_S0R
+#define	INHNO_SERIAL_OUT1	INT_S0T
+#define INHNO_SERIAL_IN2	INT_S1R
+#define INHNO_SERIAL_OUT2	INT_S1T
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sfruart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+#define	sio_opn_por		sfruart_opn_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+#define	sio_cls_por		sfruart_cls_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		sfruart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		sfruart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		sfruart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		sfruart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	sfruart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	sfruart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/hw_timer.h	(revision 26)
@@ -0,0 +1,254 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼M3029ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <m3029.h>
+
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define INT_LEVEL_TIMER	0x05
+
+/*
+ * ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#ifdef USE_TA0
+#define	INHNO_TIMER	       INT_TA0
+#elif defined(USE_TA1)
+#define	INHNO_TIMER	       INT_TA1
+#endif
+
+
+/*
+ * ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿
+ */
+#ifdef USE_TA0
+#define TADR_SFR_TAMR TADR_SFR_TA0MR
+#elif  defined(USE_TA1)
+#define TADR_SFR_TAMR TADR_SFR_TA1MR
+#endif
+
+/*
+ * ã¢ãããã¦ã³ãã©ã°
+ */
+#ifdef USE_TA0
+#define TBIT_UDF_TAUD TBIT_UDF_TA0UD
+#elif  defined(USE_TA1)
+#define TBIT_UDF_TAUD TBIT_UDF_TA1UD  
+#endif
+
+/*
+ * ã¿ã¤ãã¬ã¸ã¹ã¿
+ */
+#ifdef USE_TA0
+#define TADR_SFR_TA TADR_SFR_TA0
+#elif  defined(USE_TA1)
+#define TADR_SFR_TA TADR_SFR_TA1
+#endif
+
+/*
+ * ã«ã¦ã³ãéå§ããã
+ */
+#ifdef USE_TA0
+#define TBIT_TABSR_TS  TBIT_TABSR_TA0S
+#elif  defined(USE_TA1)
+#define TBIT_TABSR_TS  TBIT_TABSR_TA1S
+#endif
+
+/*
+ * å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®ãªãã»ãã
+ */
+#ifdef USE_TA0
+#define TADR_SFR_TAIC_OFFSET  TADR_SFR_TA0IC_OFFSET
+#elif  defined(USE_TA1)
+#define TADR_SFR_TAIC_OFFSET  TADR_SFR_TA1IC_OFFSET
+#endif
+
+
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ *
+ *  1msã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãä½¿ç¨ããã®ã§ãã®ã¯ã­ãã¯ãå®ç¾©ããï¼
+ */
+#define TIMER_CLOCK		20000
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((unsigned long)(clock) * 1000 / TIMER_CLOCK)
+
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+    /*
+     * ã¿ã¤ãåæå
+     */
+    /* ã¿ã¤ãã«ã¦ã³ãåæ­¢ */
+	sil_wrb_mem((VP)TADR_SFR_TABSR,
+                sil_reb_mem((VP)TADR_SFR_TABSR) & ~TBIT_TABSR_TS);
+    /* ãã¦ã³ã«ã¦ã³ãè¨­å® */
+	sil_wrb_mem((VP)TADR_SFR_UDF,
+                sil_reb_mem((VP)TADR_SFR_UDF)   & ~TBIT_UDF_TAUD);
+    /*  ã«ã¦ã³ãã½ã¼ã¹f1, ã¿ã¤ãã¢ã¼ã  */
+	sil_wrb_mem((VP)TADR_SFR_TAMR, 0x00);		
+    
+	/*
+     *  ã¿ã¤ãå¤ã®åæå
+	 *  ã¿ã¤ãã¯ 1msã§ TIMER_CLOCK ã«ã¦ã³ã,
+	 *  ã¬ã¸ã¹ã¿è¨­å®å¤ã¯ãã¤ãã¹1ãã.
+	 */
+	sil_wrh_mem((VP)TADR_SFR_TA, (TIMER_CLOCK - 1));
+    
+    /* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å® */
+    set_ic_ilvl((VP)(TADR_SFR_INT_BASE + TADR_SFR_TAIC_OFFSET), INT_LEVEL_TIMER);
+    
+    /* ã«ã¦ã³ãéå§	*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR,
+                sil_reb_mem((VP)TADR_SFR_TABSR) | TBIT_TABSR_TS);
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+	/*
+	 *  ãã®é¢æ°ã¯ã¿ã¤ãå²ãè¾¼ã¿ãã³ãã©ã
+	 *  isig_tim ãå¼ã³åºãåã«å®è¡ããã.
+	 *  å²è¾¼ã¿ãåãä»ãããã¦ãã
+	 *  å²è¾¼ã¿ãã³ãã©ã«å¦çãç§»ã£ãæç¹ã§
+	 *  å²è¾¼ã¿è¦æ±ãããã¯ã¯ãªã¢ããããã
+	 *  ä½ãããå¿
+è¦ããªã. 
+	 */
+}
+
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ã«ã¦ã³ãåæ­¢	*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR,
+                sil_reb_mem((VP)TADR_SFR_TABSR) & ~TBIT_TABSR_TS);    
+}
+
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return ((TIMER_CLOCK-1) - sil_reh_mem((VP)TADR_SFR_TA));
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)(TADR_SFR_INT_BASE + TADR_SFR_TAIC_OFFSET)) & TBIT_IC_IR) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/m3029.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/m3029.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/m3029.h	(revision 26)
@@ -0,0 +1,330 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m3029.h,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+#ifndef _M3029_H_
+#define	_M3029_H_
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ */
+#define	INT_BRK         0			/* BRK */
+#define INT_INT3        4			/* INT3 */
+#define INT_TB5	        5			/* ã¿ã¤ãB5 */
+#define INT_TB4         6			/* ã¿ã¤ãB4 */
+#define INT_TB3         7			/* ã¿ã¤ãB3 */
+#define INT_SIO4INT5    8			/* SI/O4/INT5 */
+#define INT_SIO3INT4    9			/* SI/O3/INT4 */
+#define INT_BUS         10			/* ãã¹è¡çªæ¤åº */
+#define INT_DMA0        11			/* DMA0 */
+#define INT_DMA1        12			/* DMA1 */
+#define INT_KEY         13			/* ã­ã¼å
+¥åå²ãè¾¼ã¿ */
+#define INT_AD          14			/* ï¼¡-ï¼¤å¤æå¨ */
+#define INT_S2TNACK     15			/* UART2éä¿¡,NACK2 */
+#define INT_S2RACK      16			/* UART2åä¿¡,ACK2 */
+#define INT_S0T         17			/* UART0éä¿¡ */
+#define INT_S0R         18			/* UART0åä¿¡ */
+#define INT_S1T         19			/* UART1éä¿¡ */
+#define INT_S1R         20			/* UART1åä¿¡ */
+#define INT_TA0         21			/* ã¿ã¤ãA0 */
+#define INT_TA1         22			/* ã¿ã¤ãA1 */
+#define INT_TA2         23			/* ã¿ã¤ãA2 */
+#define INT_TA3         24			/* ã¿ã¤ãA3 */
+#define INT_TA4         25			/* ã¿ã¤ãA4 */
+#define INT_TB0         26			/* ã¿ã¤ãB0 */
+#define INT_TB1         27			/* ã¿ã¤ãB1 */
+#define INT_TB2         28			/* ã¿ã¤ãB2 */
+#define INT_INT0        29			/* INT0 */
+#define INT_INT1        30			/* INT1 */
+#define INT_INT2        31			/* INT2 */
+
+/*
+ *  M3029 SFRã¢ãã¬ã¹å®ç¾©
+ *
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_INT_BASE       0x040			/* å²è¾¼ã¿é¢é£ã®ãã¼ã¹ã¢ãã¬ã¹ */
+#define TADR_SFR_INT3IC_OFFSET  4				/* INT3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB5IC_OFFSET   5				/* timerB5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB4IC_OFFSET   6				/* timerB4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB3IC_OFFSET   7				/* timerB3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SO4INT5_OFFSET 8				/* SI/O4/INT5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SO3INT4_OFFSET 9				/* SI/O3/INT4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCNIC_OFFSET   10				/* ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA0IC_OFFSET  11				/* DMA0å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA1IC_OFFSET  12				/* DMA1å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_KUPIC_OFFSET   13				/* ã­ã¼å
+¥åå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_ADIC_OFFSET    14				/* A-Då¤æå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2TIC_OFFSET   15				/* uart2éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2RIC_OFFSET   16				/* uart2åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0TIC_OFFSET   17				/* uart0éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0RIC_OFFSET   18				/* uart0åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1TIC_OFFSET   19				/* uart1éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1RIC_OFFSET   20				/* uart1åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0IC_OFFSET   21				/* timerA0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1IC_OFFSET   22				/* timerA1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2IC_OFFSET   23				/* timerA2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3IC_OFFSET   24				/* timerA3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4IC_OFFSET   25				/* timerA4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0IC_OFFSET   26				/* timerB0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1IC_OFFSET   27				/* timerB1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2IC_OFFSET   28				/* timerB2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT0IC_OFFSET  29				/* INT0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT1IC_OFFSET  30				/* INT1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT12C_OFFSET  31				/* INT2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  DMAã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_SAR0           0x020			/* DMA0ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR0           0x024			/* DMA0ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR0			0x028			/* DMA0è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM0CON         0x02c			/* DMA0å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SAR1           0x030			/* DMA1ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR1           0x034			/* DMA1ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR1			0x038			/* DMA1è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM1CON         0x03c			/* DMA1å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã¿ã¤ãã¼ã¨ãã®ä»ã®ããã¤ã¹ã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_TA11           0x342			/* timerA1-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA21           0x344			/* timerA2-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA41           0x346			/* timerA4-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INVC0          0x348			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_INVC1          0x349			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB0           0x34a			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB1           0x34b			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DTT            0x34c			/* ç­çµ¡é²æ­¢ã¿ã¤ã */
+#define TADR_SFR_ICTB2          0x34d			/* timerB2å²è¾¼ã¿çºçé »åº¦è¨­å®ã«ã¦ã³ã¿ */
+
+#define TADR_SFR_IFSR           0x35f			/* å²è¾¼ã¿è¦å é¸æã¬ã¸ã¹ã¿ */
+
+#define TADR_SFR_S3TRR          0x360			/* SI/O3éåä¿¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S3C            0x362			/* SI/O3å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S3BRG          0x363			/* SI/O3è»¢ééåº¦ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4TRR          0x364			/* SI/O4éåä¿¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4C            0x366			/* SI/O4å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4BRG          0x367			/* SI/O4è»¢ééåº¦ã¬ã¸ã¹ã¿ */
+
+#define	TADR_SFR_TABSR          0x380			/* ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_CPSRF          0x381			/* ãªã»ãã ããªã¹ã±ã¼ã© ãªã»ãããã©ã° */
+#define TADR_SFR_ONSF           0x382			/* ã¯ã³ã·ã§ã ã¹ã¿ã¼ããã©ã° */
+#define TADR_SFR_TRGSR          0x383			/* ããªã¬ã¼ã»ã¬ã¯ã ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UDF            0x384			/* ã¢ãããã¦ã³ãã©ã° */
+#define	TADR_SFR_TA0            0x386			/* timerA0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1            0x388			/* timerA1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2            0x38a			/* timerA2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3            0x38c			/* timerA3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4            0x38e			/* timerA4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0            0x390			/* timerB0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1            0x392			/* timerB1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2            0x394			/* timerB2ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0MR          0x396			/* timerA0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA1MR          0x397			/* timerA1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA2MR          0x398			/* timerA2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA3MR          0x399			/* timerA3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA4MR          0x39a			/* timerA4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB0MR          0x39b			/* timerB0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB1MR			0x39c			/* timerB1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2MR          0x39d			/* timerB2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2SR          0x39e			/* timerB2ã¹ãã·ã£ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã·ãªã¢ã«ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_UART0_BASE     0x3a0			/* uart0ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART1_BASE     0x3a8			/* uart1ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART2_BASE     0x378			/* uart2ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_U2SMR          0x377			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_U2SMR2         0x376			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_U2SMR3         0x375			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+
+#define	TADR_SFR_UMR_OFFSET     0				/* uartéåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UBRG_OFFSET    1				/* uartãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ */
+#define	TADR_SFR_UTB_OFFSET     2				/* uartéä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC0_OFFSET     4				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#0 */
+#define	TADR_SFR_UC1_OFFSET     5				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#1 */
+#define	TADR_SFR_URB_OFFSET     6				/* uartåä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC2_OFFSET     16				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#2 */
+
+/*
+ *  A-D/D-Aã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_AD0            0x3c0			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD1            0x3c2			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD2            0x3c4			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD3            0x3c6			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD4            0x3c8			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD5            0x3ca			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD6            0x3cc			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD7            0x3ce			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON2         0x3d4			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON0         0x3d6			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON1         0x3d7			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DA0            0x3d8			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DA1            0x3da			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DACON          0x3dc			/* D-Aå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  æ±ç¨ãã¼ãã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_P0             0x3e0           /* ãã¼ãP0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P1             0x3e1           /* ãã¼ãP1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD0            0x3e2			/* ãã¼ãP0æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD1            0x3e3			/* ãã¼ãP1æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P2             0x3e4			/* ãã¼ãP2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P3             0x3e5			/* ãã¼ãP3ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD2            0x3e6			/* ãã¼ãP2æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD3            0x3e7			/* ãã¼ãP3æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P4             0x3e8			/* ãã¼ãP4ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P5             0x3e9			/* ãã¼ãP5ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD4            0x3ea			/* ãã¼ãP4æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD5            0x3eb			/* ãã¼ãP5æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P6             0x3ec			/* ãã¼ãP6ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P7             0x3ed			/* ãã¼ãP7ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD6            0x3ee			/* ãã¼ãP6æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD7            0x3ef			/* ãã¼ãP7æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P8             0x3f0			/* ãã¼ãP8ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P9             0x3f1			/* ãã¼ãP9ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD8            0x3f2			/* ãã¼ãP8æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD9            0x3f3			/* ãã¼ãP9æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P10            0x3f4			/* ãã¼ãP10ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD10           0x3f6			/* ãã¼ãP10æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PUR0           0x3fc			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR1           0x3fd			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR2           0x3fe			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PCR            0x3ff			/* ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+
+
+/*
+ * å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®ãããå®ç¾©
+ */
+#define	TBIT_IC_IR	0x08
+
+/*
+ *  éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿1ã®ãããå®ç¾© (UART0,UART1)
+ */
+#define	TBIT_UiC1_RI	0x08	/* åä¿¡å®äºãã©ã° */
+#define	TBIT_UiC1_RE	0x04	/* åä¿¡è¨±å¯ããã */
+#define	TBIT_UiC1_TI	0x02	/* éä¿¡ãããã¡ç©ºãã©ã° */
+#define	TBIT_UiC1_TE	0x01	/* éä¿¡è¨±å¯ããã */
+
+#define TBIT_UiC0_TXEPT	0x08	/* éä¿¡ã¬ã¸ã¹ã¿ç©ºãã©ã° */
+
+
+/*
+ *  ã¿ã¤ãã¼é¢é£ã®ã¬ã¸ã¹ã¿ã®ãããå®ç¾©
+ */
+
+/*
+ *  ã«ã¦ã³ãéå§ãã©ã° (TABSR)
+ */
+#define TBIT_TABSR_TA0S	0x01
+#define TBIT_TABSR_TA1S	0x02
+#define TBIT_TABSR_TA2S	0x04
+#define TBIT_TABSR_TA3S	0x08
+#define TBIT_TABSR_TA4S	0x10
+
+/*
+ *  ã¢ãããã¦ã³ãã©ã°(UDF)
+ */
+#define TBIT_UDF_TA0UD	0x01
+#define TBIT_UDF_TA1UD	0x02
+#define TBIT_UDF_TA2UD	0x04
+#define TBIT_UDF_TA3UD	0x08
+#define TBIT_UDF_TA4UD	0x10
+
+
+/*
+ *  ãã­ãã¯ãã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_PRCR       0x00A
+
+#define TVAL_PACR_PRCR      0x04   /* PACRæ¸ãè¾¼ã¿æå¹ */
+
+
+/*
+ * ç«¯å­å²ãå½ã¦å¶å¾¡ã¬ã¸ã¹ã¿ã¨è¨­å®å¤  
+ */
+#define TADR_SFR_PACR       0x25D
+#define TVAL_80_PACR        0x03   /* 80ãã³*/
+#define TVAL_64_PACR        0x02   /* 64ãã³*/
+
+
+#ifndef _MACRO_ONLY
+
+#include "cpu_defs.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+Inline void
+m3029_putc(char c)
+{
+#if CONSOLE_PORTID == 1
+	volatile char * p = (volatile char *)TADR_SFR_UART0_BASE;
+#else	/* CONSOLE_PORTID == 2 */
+	volatile char * p = (volatile char *)TADR_SFR_UART1_BASE;
+#endif
+	
+	while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
+	p[TADR_SFR_UTB_OFFSET] = c;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _M3029_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.c	(revision 26)
@@ -0,0 +1,325 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.c,v 1.3 2006/08/03 05:17:05 honda Exp $
+ */
+
+/*
+ *	M3029 SFR-UART0,1ç¨ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+#include <s_services.h>
+#include "m3029.h"
+#include <sfruart.h>
+
+/*
+ *  ããã¤ã¹ãªã¼ãã³ã®ãªãã©ã¤ã«ã¦ã³ã
+ *
+ *  500åãªãã©ã¤ããã°ãååã«çµäºããï¼
+ */
+#define	SFRUART_COUNT	500
+
+/*
+ * ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤ 
+ */
+#define	MR_DEF		0x05	/* å
+é¨ã¯ã­ãã¯ãéåæã8ããããããªãã£ãªããã¹ãªã¼ããªã */
+#define	C0_DEF		0x10	/* RTS/CTSæªä½¿ç¨, ã«ã¦ã³ãã½ã¼ã¹f1 */
+#define	C1_DEF		0x00	/* ã·ãªã¢ã«éåä¿¡ä¸å¯ */
+#define	BRG1_DEF	64		/* 19200bps = 16000000/{(UxBRG+1)*16 */
+#define	BRG2_DEF	32		/* 38400bps = 16000000/{(UxBRG+1)*16 */
+#define	TB_LEVEL	4		/* éä¿¡å²è¾¼ã¿ã¬ãã« */
+#define	RB_LEVEL	5		/* åä¿¡å²è¾¼ã¿ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UH  cntrl;		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®çªå° */
+	UH  hint;		/* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã®çªå° */
+
+	UB  mr_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (MR) */
+	UB  c0_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (C0) */
+	UB  brg_def;	/* ããã©ã¼ã«ãã®è¨­å®å¤ (BRG) */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;	/* æ¡å¼µæ
+å ± */
+	UB     cr1;		/* CR1ã®è¨­å®å¤ï¼å²è¾¼ã¿è¨±å¯ï¼*/
+	UB     tic;		/* éä¿¡å²è¾¼ã¿ã¬ãã« */
+} SIOPCB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *
+ *  ID = 1 ãuart0ï¼ID = 2 ãuart1ã«å¯¾å¿ããã¦ããï¼
+ */
+static const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ TADR_SFR_UART0_BASE, TADR_SFR_INT_BASE, MR_DEF, C0_DEF, BRG2_DEF },
+	{ TADR_SFR_UART1_BASE, TADR_SFR_INT_BASE+2, MR_DEF, C0_DEF, BRG2_DEF }
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sfruart_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->cr1 = C1_DEF;
+		siopcb->tic = 0;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sfruart_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb;
+	const SIOPINIB	*siopinib;
+	int i;
+
+	siopcb = get_siopcb(siopid);
+	siopinib = siopcb->siopinib;
+
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UMR_OFFSET), siopinib->mr_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC0_OFFSET), siopinib->c0_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UBRG_OFFSET), siopinib->brg_def);
+
+	/*
+	 *  ã·ãªã¢ã«å²è¾¼ã¿ã®è¨­å®
+	 */
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0RIC_OFFSET), RB_LEVEL);
+	siopcb->cr1 = TBIT_UiC1_TE;
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+
+	/*
+	 * ããã¼ãã¼ã¿åä¿¡
+	 */
+	sil_reb_mem((VP)(siopinib->cntrl+TADR_SFR_URB_OFFSET));
+	sil_reb_mem((VP)(siopinib->cntrl+TADR_SFR_URB_OFFSET));
+
+	for(i = 0 ; i < SFRUART_COUNT ; i++){	/* ãªã¼ãã³æéä¿¡READYã¾ã§å¾
+ã¡ */
+		if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)
+			break;
+	}
+
+	siopcb->exinf = exinf;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sfruart_cls_por(SIOPCB *siopcb)
+{
+	const SIOPINIB	*siopinib;
+
+	siopinib = siopcb->siopinib;
+	siopcb->tic = 0;
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0RIC_OFFSET), 0);
+	siopcb->cr1 = C1_DEF;
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sfruart_snd_chr(SIOPCB *siopcb, char c)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI){
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UTB_OFFSET), c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sfruart_rcv_chr(SIOPCB *siopcb)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_RI){
+		return((INT)sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_URB_OFFSET)));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->tic = TB_LEVEL;
+        set_ic_ilvl((VP)(siopcb->siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+		break; 
+	case SIO_ERDY_RCV:
+		siopcb->cr1 |= TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+		break;
+	deafult:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->tic = 0;
+        set_ic_ilvl((VP)(siopcb->siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+		break;
+	case SIO_ERDY_RCV:
+		siopcb->cr1 &= ~TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+		break;
+	deafult:
+		break;
+	}
+}
+
+
+/*
+ *  uart0ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+	if((siopcb->cr1 & TBIT_UiC1_RE) != 0) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+
+/*
+ *  uart0ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+	if(siopcb->tic > 0 && (sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart1ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if((siopcb->cr1 & TBIT_UiC1_RE) != 0){
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart1ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if(siopcb->tic > 0 && (sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sfruart.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.h,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	M3029 SFR-UART0,1ç¨ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _SFRUART_H_
+#define _SFRUART_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sfruart_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sfruart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sfruart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sfruart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	sfruart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _SFRUART_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.c	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M3029ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "m3029.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+	VB * p;
+
+	/* 
+	 * ç«¯å­å²ãå½ã¦å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå
+	 * åæåãè¡ãã¾ã§ä¸é¨ã®ç«¯å­ã¯åä½ããªã 
+	 */
+	/* ã­ãã¯è§£é¤ */
+	sil_wrb_mem((VP)(TADR_SFR_PRCR), TVAL_PACR_PRCR);
+#ifdef PIN80 
+	sil_wrb_mem((VP)(TADR_SFR_PACR), TVAL_80_PACR);
+#else /* PIN64 */
+	sil_wrb_mem((VP)(TADR_SFR_PACR), TVAL_64_PACR);
+#endif
+	/* ã­ãã¯ */
+	sil_wrb_mem((VP)(TADR_SFR_PRCR), 0x00);
+		
+	/* ã³ã³ãã­ã¼ã«#2ã¬ã¸ã¹ã¿ã®åæå */
+	p = (VB*)TADR_SFR_UART0_BASE;
+	sil_wrb_mem((VP)(p+TADR_SFR_UC2_OFFSET), 0x00);
+	
+#if CONSOLE_PORTID == 1
+	p = (VB*)TADR_SFR_UART0_BASE;
+#else	/* CONSOLE_PORTID == 2 */
+	p = (VB*)TADR_SFR_UART1_BASE;
+#endif	
+	
+	/* éåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UMR_OFFSET), 0x05);	/* éåä¿¡ã¢âãã¬ã¸ã¹ã¿ å
+é¨ã¯ã­ãã¯,*/
+													/* éåæã8ããããããªãã£ãªãã	*/
+													/* ã¹ãªã¼ããªã						*/
+	/* éä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC0_OFFSET), 0x10);	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿0 ã¯ã­ãã¯f1é¸æ */
+	/* è»¢ééåº¦ã¬ã¸ã¹ã¿ã®åæå (38400bpsã¯32) */
+	sil_wrb_mem((VP)(p+TADR_SFR_UBRG_OFFSET), 32);	/* è»¢ééåº¦ã¬ã¸ã¹ã¿(19200bps)		*/
+	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC1_OFFSET), (TBIT_UiC1_TE | TBIT_UiC1_RE));
+													/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ éåä¿¡è¨±å¯	*/
+
+	/* ãã¼ã0ã®åæå */
+	sil_wrb_mem((VP)TADR_SFR_P0, 0xff);				/* ãã¼ã0ãã¼ã¿åæå				*/
+	sil_wrb_mem((VP)TADR_SFR_PD0, 0xff);			/* ãã¼ã0åºåè¨­å®					*/
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
+
+void
+sys_putc(char c)
+{
+	if(c == '\n'){
+	    m3029_putc( '\r' );
+	}
+    m3029_putc( c );
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_config.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2006/08/03 04:14:02 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M3029ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"M3029"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_defs.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.3 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼M3029ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/* 
+ * ã¿ã¼ã²ããè­å¥ãã¯ã­(ã·ã¹ãã åã®å®ç¾©)
+ */
+#define M3029
+
+/*
+ * ãã­ã»ããµã®ãã³æ°
+ */ 
+//#define PIN80
+#define PIN64
+
+/*
+ * ã«ã¼ãã«ã¿ã¤ãã¨ãã¦ä½¿ç¨ãããã¼ãã¦ã§ã¢ã¿ã¤ãã®æå®
+ */
+//#define USE_TA0
+#define USE_TA1
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+extern void hardware_start(void);
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort(void)
+{
+	hardware_start();
+	/* ãªã¹ã¿ã¼ã */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/m3029/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/makeoffset.c	(revision 26)
@@ -0,0 +1,127 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003, 2007 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.4 2007/03/23 07:08:04 honda Exp $
+ */
+
+
+/*
+ *	offset.inc (ãããã¯ offset.h) ã«ã¤ãã¦
+ *
+ *	  offset.inc ã¯æ§é ä½ã®ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãç®ã«
+ *	å­å¨ãããã¨ãããã¨ã, ç¹å®ã®ããããã£ã¼ã«ããå
+é ­ãã
+ *	ä½ãã¤ãå
+ã®ä½ãããç®ã«å­å¨ããã, ã¨ããæ
+å ±ã
+ *	ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã«ä¸ããããã«å­å¨ãã¦ãã.
+ *
+ *	  offset.inc ãã¡ã¤ã«ã®ä¸­èº«ã¯, åãªãã·ã³ãã«å®ç¾©ãã¡ã¤ã«ã§ãã.
+ *	ã·ã³ãã«ã¨ãã£ã¦ãå®ç¾©ããã·ã³ãã«ã®åç§°ã«ã¯ãã¿ã¼ã³ããã,
+ *	å¤§ããåãã¦æ¬¡ã®3ç¨®é¡ã«åé¡ã§ãã.
+ *
+ *	<æ§é ä½å>_<è¦ç´ å>	(ä¾) TCB_sp, TCB_pc, TCB_enatex ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_bit	(ä¾) TCB_enatex_bit ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_mask (ä¾) TCB_enatex_mask ãªã©
+ *
+ *	(ä¾)
+ *		TCB_texptn	.equ	14
+ *		TCB_sp	.equ	20
+ *		TCB_pc	.equ	22
+ *		TCB_enatex	.equ	12
+ *		TCB_enatex_bit	.equ	14
+ *		TCB_enatex_mask	.equ	4000H
+ *
+ *	  ä¸çªã¯ããã¯ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãå
+ã«ããã
+ *	ã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°.
+ *	  äºçªç®ã¯ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã, ä¸ä½ããæ°ãã¦
+ *	ä½ãããç®ã«ãããã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°. 
+ *	0ããå§ã¾ãæ°å¤ã§è¡¨ç¾ãã. æãä¸ä½ã®ãããã¯ç¬¬0ãããã§ãã.
+ *	  ä¸çªç®ã¯å
+ã»ã©ã® <æ§é ä½å>_<è¦ç´ å>_bit ã¨ãé¢é£ããã,
+ *	ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã®ãã¹ã¯å¤ã®åç§°.
+ *	_bit ã¨ *_mask ã®å¤ã®éã«ã¯æ¬¡ã®é¢ä¿ããã.
+ *		(*_mask) == (1 << *_bit)
+ *	(ä¾) TCB_enatex_bit ã 14 ã®æ, TCB_enatex_mask ã¯ 4000H
+ *
+ *	  ã¡ãªã¿ã«M16Cä¾å­é¨ã®å®è£
+ã§ã¯, ç¹å®ãããã®ãã§ãã¯ãªã©ã«
+ *	ãããå½ä»¤ã¢ãã¬ãã·ã³ã°ãä½¿ç¨ãã¦ããã®ã§ *_mask ã¨ããã©ãã«ã¯
+ *	ä½¿ç¨ãã¦ããªã.
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+static const TCB	____BEGIN_OFF_TCB_texptn = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, FALSE,
+		1, NULL, { NULL, NULL }
+	};
+
+static const TCB	____BEGIN_OFF_TCB_sp = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, FALSE,
+		0, NULL, { (void *)1, NULL }
+	};
+
+static const TCB	____BEGIN_OFF_TCB_pc = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, FALSE,
+		0, NULL, { NULL, (FP)1 }
+	};
+
+static const TCB	____BEGIN_BIT_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.config	(revision 26)
@@ -0,0 +1,43 @@
+#
+#  @(#) $Id: Makefile.config,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼OAKS16ç¨ï¼
+#
+
+#
+#  åæå¤
+#
+	# ISPã®åæå¤(æ«å°¾ã®"h"ã¯ä»ããªãã¦è¯ã)
+RAMEND = 02c00
+	#
+MON = 0
+	# RAMã®å
+é ­çªå°(SFRã¯å«ã¾ãªã)
+RAM_START_ADR = 00400
+	# ROMã®å
+é ­çªå°
+ROM_START_ADR = 0e0000
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS) -I$(CONFIGDIR)\$(CPU)\$(SYS)
+COPTS := $(COPTS) -g -O2
+ASMFLAGS := $(ASMFLAGS) -O. -A -. -I.
+KERNEL_ASMFLAGS := $(KERNEL_ASMFLAGS) -DRAMEND=$(RAMEND)h
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) # sys_support.r30(ä½¿ç¨ãã¦ããªã)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.r30
+
+STASK_COBJS := $(STASK_COBJS) sfruart.r30
+
+# ãã¯ã¿ãã¼ãã«å®ç¾©ãã¡ã¤ã«ã®çæ
+m16cvec.inc: kernel_cfg.c
+	$(CC) -E $(INCLUDES) $(<D)\$(<F) > kernel_cfg.i
+	$(SRCDIR)\utils\m16c-renesas\m16cvec.exe -M0
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.kernel
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.kernel	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/Makefile.kernel	(revision 26)
@@ -0,0 +1,142 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.kernel,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#	(M16Cã§ä½¿ç¨ããããã«ãã¡ã¤ã«ã®æ¡å¼µå­é¨åãå¤æ´)
+#
+
+#
+#  ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼1ã¤ã®ã½ã¼ã¹ãã¡
+#  ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæãããã®ã®å®ç¾©
+#
+KERNEL_LCSRCS = task.c wait.c time_event.c syslog.c \
+		task_manage.c task_sync.c task_except.c \
+		semaphore.c eventflag.c dataqueue.c mailbox.c \
+		mempfix.c time_manage.c cyclic.c sys_manage.c \
+		interrupt.c exception.c
+
+#
+#  ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+KERNEL_LCOBJS = $(foreach file,$(KERNEL_LCSRCS),$($(file:.c=)))
+
+#
+#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+task = tskini.r30 tsksched.r30 tskrun.r30 tsknrun.r30 \
+		tskdmt.r30 tskact.r30 tskext.r30 tskpri.r30 tskrot.r30 tsktex.r30
+
+wait = waimake.r30 waicmp.r30 waitmo.r30 waitmook.r30 \
+		waican.r30 wairel.r30 wobjwai.r30 wobjwaitmo.r30 wobjpri.r30
+
+time_event = tmeini.r30 tmeup.r30 tmedown.r30 tmeins.r30 tmedel.r30 isig_tim.r30
+
+syslog = logini.r30 vwri_log.r30 vrea_log.r30 vmsk_log.r30 logter.r30
+
+task_manage = act_tsk.r30 iact_tsk.r30 can_act.r30 ext_tsk.r30 ter_tsk.r30 \
+		chg_pri.r30 get_pri.r30
+
+task_sync = slp_tsk.r30 tslp_tsk.r30 wup_tsk.r30 iwup_tsk.r30 can_wup.r30 \
+		rel_wai.r30 irel_wai.r30 sus_tsk.r30 rsm_tsk.r30 frsm_tsk.r30 dly_tsk.r30
+
+task_except = ras_tex.r30 iras_tex.r30 dis_tex.r30 ena_tex.r30 sns_tex.r30
+
+semaphore = semini.r30 sig_sem.r30 isig_sem.r30 wai_sem.r30 pol_sem.r30 twai_sem.r30
+
+eventflag = flgini.r30 flgcnd.r30 set_flg.r30 iset_flg.r30 clr_flg.r30 \
+		wai_flg.r30 pol_flg.r30 twai_flg.r30
+
+dataqueue = dtqini.r30 dtqenq.r30 dtqfenq.r30 dtqdeq.r30 dtqsnd.r30 dtqrcv.r30 \
+		snd_dtq.r30 psnd_dtq.r30 ipsnd_dtq.r30 tsnd_dtq.r30 \
+		fsnd_dtq.r30 ifsnd_dtq.r30 rcv_dtq.r30 prcv_dtq.r30 trcv_dtq.r30
+
+mailbox = mbxini.r30 snd_mbx.r30 rcv_mbx.r30 prcv_mbx.r30 trcv_mbx.r30
+
+mempfix = mpfini.r30 mpfget.r30 get_mpf.r30 pget_mpf.r30 tget_mpf.r30 rel_mpf.r30
+
+time_manage = set_tim.r30 get_tim.r30 vxget_tim.r30
+
+cyclic = cycini.r30 cycenq.r30 sta_cyc.r30 stp_cyc.r30 cyccal.r30
+
+sys_manage = rot_rdq.r30 irot_rdq.r30 get_tid.r30 iget_tid.r30 \
+		loc_cpu.r30 iloc_cpu.r30 unl_cpu.r30 iunl_cpu.r30 \
+		dis_dsp.r30 ena_dsp.r30 sns_ctx.r30 sns_loc.r30 sns_dsp.r30 \
+		sns_dpn.r30 vsns_ini.r30
+
+interrupt = inhini.r30
+
+exception = excini.r30 vxsns_ctx.r30 vxsns_loc.r30 \
+		vxsns_dsp.r30 vxsns_dpn.r30 vxsns_tex.r30
+
+#
+#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#
+$(task) $(task:.r30=.a30) $(task:.r30=.d): task.c
+$(wait) $(wait:.r30=.a30) $(wait:.r30=.d): wait.c
+$(time_event) $(time_event:.r30=.a30) $(time_event:.r30=.d): time_event.c
+$(syslog) $(syslog:.r30=.a30) $(syslog:.r30=.d): syslog.c
+$(task_manage) $(task_manage:.r30=.a30) $(task_manage:.r30=.d): task_manage.c
+$(task_sync) $(task_sync:.r30=.a30) $(task_sync:.r30=.d): task_sync.c
+$(task_except) $(task_except:.r30=.a30) $(task_except:.r30=.d): task_except.c
+$(semaphore) $(semaphore:.r30=.a30) $(semaphore:.r30=.d): semaphore.c
+$(eventflag) $(eventflag:.r30=.a30) $(eventflag:.r30=.d): eventflag.c
+$(dataqueue) $(dataqueue:.r30=.a30) $(dataqueue:.r30=.d): dataqueue.c
+$(mailbox) $(mailbox:.r30=.a30) $(mailbox:.r30=.d): mailbox.c
+$(mempfix) $(mempfix:.r30=.a30) $(mempfix:.r30=.d): mempfix.c
+$(time_manage) $(time_manage:.r30=.a30) $(time_manage:.r30=.d): time_manage.c
+$(cyclic) $(cyclic:.r30=.a30) $(cyclic:.r30=.d): cyclic.c
+$(sys_manage) $(sys_manage:.r30=.a30) $(sys_manage:.r30=.d): sys_manage.c
+$(interrupt) $(interrupt:.r30=.a30) $(interrupt:.r30=.d): interrupt.c
+$(exception) $(exception:.r30=.a30) $(exception:.r30=.d): exception.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.cfg	(revision 26)
@@ -0,0 +1,14 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼OAKS16ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL_IN1, { TA_HLNG, serial_in_handler1 });
+DEF_INH(INHNO_SERIAL_OUT1, { TA_HLNG, serial_out_handler1 });
+DEF_INH(INHNO_SERIAL_IN2, { TA_HLNG, serial_in_handler2 });
+DEF_INH(INHNO_SERIAL_OUT2, { TA_HLNG, serial_out_handler2 });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_serial.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼OAKS16ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <sfruart.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SERIAL_IN1	INT_S0R
+#define	INHNO_SERIAL_OUT1	INT_S0T
+#define INHNO_SERIAL_IN2	INT_S1R
+#define INHNO_SERIAL_OUT2	INT_S1T
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sfruart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+#define	sio_opn_por		sfruart_opn_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+#define	sio_cls_por		sfruart_cls_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		sfruart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		sfruart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		sfruart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		sfruart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	sfruart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	sfruart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/hw_timer.h	(revision 26)
@@ -0,0 +1,182 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.5 2007/01/05 02:33:59 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼OAKS16ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <oaks16.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       INT_TA0
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+
+#define INT_LEVEL_TIMER	0x05
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ *
+ *  1msã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãä½¿ç¨ããã®ã§ãã®ã¯ã­ãã¯ãå®ç¾©ããï¼
+ */
+#define TIMER_CLOCK		16000
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+		/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)TADR_SFR_TABSR, 0x00);		/* ã¿ã¤ãã«ã¦ã³ãåæ­¢  */
+	sil_wrb_mem((VP)TADR_SFR_UDF, 0x00);		/* ãã¦ã³ã«ã¦ã³ãè¨­å®				*/
+	sil_wrb_mem((VP)TADR_SFR_TA0MR, 0x00);		/*  ã«ã¦ã³ãã½ã¼ã¹f1, ã¿ã¤ãã¢ã¼ã  */
+	/*
+	 *  ã¿ã¤ãã¯ 1msã§ TIMER_CLOCK ã«ã¦ã³ã,
+	 *  ã¬ã¸ã¹ã¿è¨­å®å¤ã¯ãã¤ãã¹1ãã.
+	 */
+	sil_wrh_mem((VP)TADR_SFR_TA0, TIMER_CLOCK-1);/* ã¿ã¤ãå¤ã®åæå				*/
+												/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®				*/
+	set_ic_ilvl((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET), INT_LEVEL_TIMER);
+												/* ã«ã¦ã³ãéå§						*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR, TBIT_TABSR_TA0S);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/*
+	 *  ãã®é¢æ°ã¯ã¿ã¤ãå²ãè¾¼ã¿ãã³ãã©ã
+	 *  isig_tim ãå¼ã³åºãåã«å®è¡ããã.
+	 *  å²è¾¼ã¿ãåãä»ãããã¦ãã
+	 *  å²è¾¼ã¿ãã³ãã©ã«å¦çãç§»ã£ãæç¹ã§
+	 *  å²è¾¼ã¿è¦æ±ãããã¯ã¯ãªã¢ããããã
+	 *  ä½ãããå¿
+è¦ããªã. 
+	 */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	VB  c;
+
+	c = sil_reb_mem((VP)TADR_SFR_TABSR);
+	c &= ~TBIT_TABSR_TA0S;						/* ã«ã¦ã³ãçµäº						*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR, c);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return (TIMER_CLOCK-1)-sil_reh_mem((VP)TADR_SFR_TA0);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET)) & TBIT_TAiIC_IR) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/oaks16.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/oaks16.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/oaks16.h	(revision 26)
@@ -0,0 +1,305 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: oaks16.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+#ifndef _OAKS16_H_
+#define	_OAKS16_H_
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ */
+#define	INT_BRK         0			/* BRK */
+#define INT_INT3        4			/* INT3 */
+#define INT_TB5	        5			/* ã¿ã¤ãB5 */
+#define INT_TB4         6			/* ã¿ã¤ãB4 */
+#define INT_TB3         7			/* ã¿ã¤ãB3 */
+#define INT_SIO4INT5    8			/* SI/O4/INT5 */
+#define INT_SIO3INT4    9			/* SI/O3/INT4 */
+#define INT_BUS         10			/* ãã¹è¡çªæ¤åº */
+#define INT_DMA0        11			/* DMA0 */
+#define INT_DMA1        12			/* DMA1 */
+#define INT_KEY         13			/* ã­ã¼å
+¥åå²ãè¾¼ã¿ */
+#define INT_AD          14			/* ï¼¡-ï¼¤å¤æå¨ */
+#define INT_S2TNACK     15			/* UART2éä¿¡,NACK2 */
+#define INT_S2RACK      16			/* UART2åä¿¡,ACK2 */
+#define INT_S0T         17			/* UART0éä¿¡ */
+#define INT_S0R         18			/* UART0åä¿¡ */
+#define INT_S1T         19			/* UART1éä¿¡ */
+#define INT_S1R         20			/* UART1åä¿¡ */
+#define INT_TA0         21			/* ã¿ã¤ãA0 */
+#define INT_TA1         22			/* ã¿ã¤ãA1 */
+#define INT_TA2         23			/* ã¿ã¤ãA2 */
+#define INT_TA3         24			/* ã¿ã¤ãA3 */
+#define INT_TA4         25			/* ã¿ã¤ãA4 */
+#define INT_TB0         26			/* ã¿ã¤ãB0 */
+#define INT_TB1         27			/* ã¿ã¤ãB1 */
+#define INT_TB2         28			/* ã¿ã¤ãB2 */
+#define INT_INT0        29			/* INT0 */
+#define INT_INT1        30			/* INT1 */
+#define INT_INT2        31			/* INT2 */
+
+/*
+ *  OAKS16 SFRã¢ãã¬ã¹å®ç¾©
+ *
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_INT_BASE       0x040			/* å²è¾¼ã¿é¢é£ã®ãã¼ã¹ã¢ãã¬ã¹ */
+#define TADR_SFR_INT3IC_OFFSET  4				/* INT3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB5IC_OFFSET   5				/* timerB5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB4IC_OFFSET   6				/* timerB4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB3IC_OFFSET   7				/* timerB3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SO4INT5_OFFSET 8				/* SI/O4/INT5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SO3INT4_OFFSET 9				/* SI/O3/INT4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCNIC_OFFSET   10				/* ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA0IC_OFFSET  11				/* DMA0å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA1IC_OFFSET  12				/* DMA1å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_KUPIC_OFFSET   13				/* ã­ã¼å
+¥åå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_ADIC_OFFSET    14				/* A-Då¤æå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2TIC_OFFSET   15				/* uart2éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2RIC_OFFSET   16				/* uart2åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0TIC_OFFSET   17				/* uart0éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0RIC_OFFSET   18				/* uart0åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1TIC_OFFSET   19				/* uart1éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1RIC_OFFSET   20				/* uart1åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0IC_OFFSET   21				/* timerA0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1IC_OFFSET   22				/* timerA1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2IC_OFFSET   23				/* timerA2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3IC_OFFSET   24				/* timerA3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4IC_OFFSET   25				/* timerA4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0IC_OFFSET   26				/* timerB0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1IC_OFFSET   27				/* timerB1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2IC_OFFSET   28				/* timerB2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT0IC_OFFSET  29				/* INT0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT1IC_OFFSET  30				/* INT1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT12C_OFFSET  31				/* INT2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  DMAã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_SAR0           0x020			/* DMA0ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR0           0x024			/* DMA0ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR0			0x028			/* DMA0è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM0CON         0x02c			/* DMA0å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SAR1           0x030			/* DMA1ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR1           0x034			/* DMA1ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR1			0x038			/* DMA1è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM1CON         0x03c			/* DMA1å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã¿ã¤ãã¼ã¨ãã®ä»ã®ããã¤ã¹ã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_TBSR           0x340			/* timerB3,4,5ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_TA11           0x342			/* timerA1-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA21           0x344			/* timerA2-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA41           0x346			/* timerA4-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INVC0          0x348			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_INVC1          0x349			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB0           0x34a			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB1           0x34b			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DTT            0x34c			/* ç­çµ¡é²æ­¢ã¿ã¤ã */
+#define TADR_SFR_ICTB2          0x34d			/* timerB2å²è¾¼ã¿çºçé »åº¦è¨­å®ã«ã¦ã³ã¿ */
+#define TADR_SFR_TB3            0x350			/* timerB3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB4            0x352			/* timerB4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB5            0x354			/* timerB5ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB3MR          0x35b			/* timerB3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB4MR          0x35c			/* timerB4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB5MR          0x35d			/* timerB5ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IFSR           0x35f			/* å²è¾¼ã¿è¦å é¸æã¬ã¸ã¹ã¿ */
+
+#define TADR_SFR_S3TRR          0x360			/* SI/O3éåä¿¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S3C            0x362			/* SI/O3å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S3BRG          0x363			/* SI/O3è»¢ééåº¦ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4TRR          0x364			/* SI/O4éåä¿¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4C            0x366			/* SI/O4å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_S4BRG          0x367			/* SI/O4è»¢ééåº¦ã¬ã¸ã¹ã¿ */
+
+#define	TADR_SFR_TABSR          0x380			/* ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_CPSRF          0x381			/* ãªã»ãã ããªã¹ã±ã¼ã© ãªã»ãããã©ã° */
+#define TADR_SFR_ONSF           0x382			/* ã¯ã³ã·ã§ã ã¹ã¿ã¼ããã©ã° */
+#define TADR_SFR_TRGSR          0x383			/* ããªã¬ã¼ã»ã¬ã¯ã ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UDF            0x384			/* ã¢ãããã¦ã³ãã©ã° */
+#define	TADR_SFR_TA0            0x386			/* timerA0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1            0x388			/* timerA1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2            0x38a			/* timerA2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3            0x38c			/* timerA3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4            0x38e			/* timerA4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0            0x390			/* timerB0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1            0x392			/* timerB1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2            0x394			/* timerB2ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0MR          0x396			/* timerA0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA1MR          0x397			/* timerA1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA2MR          0x398			/* timerA2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA3MR          0x399			/* timerA3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA4MR          0x39a			/* timerA4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB0MR          0x39b			/* timerB0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB1MR			0x39c			/* timerB1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2MR          0x39d			/* timerB2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2SR          0x39e			/* timerB2ã¹ãã·ã£ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã·ãªã¢ã«ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_UART0_BASE     0x3a0			/* uart0ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART1_BASE     0x3a8			/* uart1ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART2_BASE     0x378			/* uart2ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_U2SMR          0x377			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_U2SMR2         0x376			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_U2SMR3         0x375			/* uart2ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ */
+
+#define	TADR_SFR_UMR_OFFSET     0				/* uartéåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UBRG_OFFSET    1				/* uartãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ */
+#define	TADR_SFR_UTB_OFFSET     2				/* uartéä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC0_OFFSET     4				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#0 */
+#define	TADR_SFR_UC1_OFFSET     5				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#1 */
+#define	TADR_SFR_URB_OFFSET     6				/* uartåä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC2_OFFSET     16				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#2 */
+
+/*
+ *  A-D/D-Aã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_AD0            0x3c0			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD1            0x3c2			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD2            0x3c4			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD3            0x3c6			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD4            0x3c8			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD5            0x3ca			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD6            0x3cc			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD7            0x3ce			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON2         0x3d4			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON0         0x3d6			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_ADCON1         0x3d7			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DA0            0x3d8			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DA1            0x3da			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DACON          0x3dc			/* D-Aå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  æ±ç¨ãã¼ãã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_P0             0x3e0           /* ãã¼ãP0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P1             0x3e1           /* ãã¼ãP1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD0            0x3e2			/* ãã¼ãP0æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD1            0x3e3			/* ãã¼ãP1æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P2             0x3e4			/* ãã¼ãP2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P3             0x3e5			/* ãã¼ãP3ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD2            0x3e6			/* ãã¼ãP2æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD3            0x3e7			/* ãã¼ãP3æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P4             0x3e8			/* ãã¼ãP4ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P5             0x3e9			/* ãã¼ãP5ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD4            0x3ea			/* ãã¼ãP4æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD5            0x3eb			/* ãã¼ãP5æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P6             0x3ec			/* ãã¼ãP6ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P7             0x3ed			/* ãã¼ãP7ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD6            0x3ee			/* ãã¼ãP6æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD7            0x3ef			/* ãã¼ãP7æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P8             0x3f0			/* ãã¼ãP8ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P9             0x3f1			/* ãã¼ãP9ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD8            0x3f2			/* ãã¼ãP8æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD9            0x3f3			/* ãã¼ãP9æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P10            0x3f4			/* ãã¼ãP10ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD10           0x3f6			/* ãã¼ãP10æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PUR0           0x3fc			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR1           0x3fd			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR2           0x3fe			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PCR            0x3ff			/* ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿1 (UART0,UART1)
+ */
+#define	TBIT_UiC1_RI	0x08	/* åä¿¡å®äºãã©ã° */
+#define	TBIT_UiC1_RE	0x04	/* åä¿¡è¨±å¯ããã */
+#define	TBIT_UiC1_TI	0x02	/* éä¿¡ãããã¡ç©ºãã©ã° */
+#define	TBIT_UiC1_TE	0x01	/* éä¿¡è¨±å¯ããã */
+
+#define TBIT_UiC0_TXEPT	0x08	/* éä¿¡ã¬ã¸ã¹ã¿ç©ºãã©ã° */
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿
+ */
+#define	TBIT_TAiIC_IR	0x08
+
+/*
+ *  ã«ã¦ã³ãéå§ãã©ã° (TABSR)
+ */
+#define TBIT_TABSR_TA0S	0x01
+
+/*
+ *  ã¢ãããã¦ã³ãã©ã°(UDF)
+ */
+#define TBIT_UDF_TA0UD	0x01
+
+
+/*
+ *  ãã¼ãï¼è¨­å®
+ */
+#define	P7_LED1					0x10			/* LED1ãããå®ç¾© */
+#define	P7_LED2					0x20			/* LED2ãããå®ç¾© */
+
+#ifndef _MACRO_ONLY
+
+#include "cpu_defs.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+Inline void
+oaks16_putc(char c)
+{
+	volatile char * p = (volatile char *)TADR_SFR_UART1_BASE;
+
+	while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
+	p[TADR_SFR_UTB_OFFSET] = c;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _OAKS16_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.c	(revision 26)
@@ -0,0 +1,321 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.c,v 1.4 2007/01/05 02:33:59 honda Exp $
+ */
+
+/*
+ *	OAKS16 SFR-UART0,1ç¨ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+#include <s_services.h>
+#include "oaks16.h"
+#include <sfruart.h>
+
+/*
+ *  ããã¤ã¹ãªã¼ãã³ã®ãªãã©ã¤ã«ã¦ã³ã
+ *
+ *  500åãªãã©ã¤ããã°ãååã«çµäºããï¼
+ */
+#define	SFRUART_COUNT	500
+
+/*
+ * ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤ 
+ */
+#define	MR_DEF		0x05	/* å
+é¨ã¯ã­ãã¯ãéåæã8ããããããªãã£ãªããã¹ãªã¼ããªã */
+#define	C0_DEF		0x10	/* RTS/CTSæªä½¿ç¨, ã«ã¦ã³ãã½ã¼ã¹f1 */
+#define	C1_DEF		0x00	/* ã·ãªã¢ã«éåä¿¡ä¸å¯ */
+#define	BRG1_DEF	51		/* 19200bps = 16000000/{(UxBRG+1)*16 */
+#define	BRG2_DEF	25		/* 38400bps = 16000000/{(UxBRG+1)*16 */
+#define	TB_LEVEL	4		/* éä¿¡å²è¾¼ã¿ã¬ãã« */
+#define	RB_LEVEL	5		/* åä¿¡å²è¾¼ã¿ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UH  cntrl;		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®çªå° */
+	UH  hint;		/* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã®çªå° */
+
+	UB  mr_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (MR) */
+	UB  c0_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (C0) */
+	UB  brg_def;	/* ããã©ã¼ã«ãã®è¨­å®å¤ (BRG) */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;	/* æ¡å¼µæ
+å ± */
+	UB     cr1;		/* CR1ã®è¨­å®å¤ï¼å²è¾¼ã¿è¨±å¯ï¼*/
+	UB     tic;		/* éä¿¡å²è¾¼ã¿ã¬ãã« */
+} SIOPCB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *
+ *  ID = 1 ãuart0ï¼ID = 2 ãuart1ã«å¯¾å¿ããã¦ããï¼
+ */
+static const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ TADR_SFR_UART0_BASE, TADR_SFR_INT_BASE, MR_DEF, C0_DEF, BRG1_DEF },
+	{ TADR_SFR_UART1_BASE, TADR_SFR_INT_BASE+2, MR_DEF, C0_DEF, BRG1_DEF }
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sfruart_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->cr1 = C1_DEF;
+		siopcb->tic = 0;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sfruart_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb;
+	const SIOPINIB	*siopinib;
+	int i;
+
+	siopcb = get_siopcb(siopid);
+	siopinib = siopcb->siopinib;
+
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UMR_OFFSET), siopinib->mr_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC0_OFFSET), siopinib->c0_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UBRG_OFFSET), siopinib->brg_def);
+
+	/*
+	 *  ã·ãªã¢ã«å²è¾¼ã¿ã®è¨­å®
+	 */
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0RIC_OFFSET), RB_LEVEL);
+	siopcb->cr1 = TBIT_UiC1_TE;
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+
+	/*
+	 * ããã¼ãã¼ã¿åä¿¡
+	 */
+	sil_reb_mem((VP)(siopinib->cntrl+TADR_SFR_URB_OFFSET));
+	sil_reb_mem((VP)(siopinib->cntrl+TADR_SFR_URB_OFFSET));
+
+	for(i = 0 ; i < SFRUART_COUNT ; i++){	/* ãªã¼ãã³æéä¿¡READYã¾ã§å¾
+ã¡ */
+		if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)
+			break;
+	}
+
+	siopcb->exinf = exinf;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sfruart_cls_por(SIOPCB *siopcb)
+{
+	const SIOPINIB	*siopinib;
+
+	siopinib = siopcb->siopinib;
+	siopcb->tic = 0;
+	set_ic_ilvl((VP)(siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+	sil_wrb_mem((VP)(siopinib->hint+TADR_SFR_S0RIC_OFFSET), 0);
+	siopcb->cr1 = C1_DEF;
+	sil_wrb_mem((VP)(siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sfruart_snd_chr(SIOPCB *siopcb, char c)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI){
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UTB_OFFSET), c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sfruart_rcv_chr(SIOPCB *siopcb)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_RI){
+		return((INT)sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_URB_OFFSET)));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->tic = TB_LEVEL;
+		set_ic_ilvl((VP)(siopcb->siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+		break;
+	case SIO_ERDY_RCV:
+		siopcb->cr1 |= TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+		break;
+	deafult:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->tic = 0;
+		set_ic_ilvl((VP)(siopcb->siopinib->hint+TADR_SFR_S0TIC_OFFSET), siopcb->tic);
+		break;
+	case SIO_ERDY_RCV:
+		siopcb->cr1 &= ~TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET), siopcb->cr1);
+		break;
+	deafult:
+		break;
+	}
+}
+
+/*
+ *  uart0ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+	if((siopcb->cr1 & TBIT_UiC1_RE) != 0) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart0ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+	if(siopcb->tic > 0 && (sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart1ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if((siopcb->cr1 & TBIT_UiC1_RE) != 0){
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart1ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if(siopcb->tic > 0 && (sil_reb_mem((VP)(siopcb->siopinib->cntrl+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sfruart.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼m16rç¨ï¼
+ */
+
+#ifndef _SFRUART_H_
+#define _SFRUART_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sfruart_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sfruart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sfruart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sfruart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	sfruart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _SFRUART_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.c	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS16ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "oaks16.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+	VB * p;
+	/* ã³ã³ãã­ã¼ã«#2ã¬ã¸ã¹ã¿ã®åæå */
+	p = (VB*)TADR_SFR_UART0_BASE;
+	sil_wrb_mem((VP)(p+TADR_SFR_UC2_OFFSET), 0x00);
+	/* UAERT1ã®è¨­å® */
+	p = (VB*)TADR_SFR_UART1_BASE;
+  			/* éåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UMR_OFFSET), 0x05);	/* éåä¿¡ã¢âãã¬ã¸ã¹ã¿ å
+é¨ã¯ã­ãã¯,*/
+													/* éåæã8ããããããªãã£ãªãã	*/
+													/* ã¹ãªã¼ããªã						*/
+			/* éä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC0_OFFSET), 0x10);	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ ã¯ã­ãã¯f1é¸æ */
+			/* è»¢ééåº¦ã¬ã¸ã¹ã¿ã®åæå (38400bpsã¯25) */
+	sil_wrb_mem((VP)(p+TADR_SFR_UBRG_OFFSET), 51);	/* è»¢ééåº¦ã¬ã¸ã¹ã¿(19200bps)		*/
+			/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC1_OFFSET), (TBIT_UiC1_TE | TBIT_UiC1_RE));
+													/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ éåä¿¡è¨±å¯	*/
+
+	/* ãã¼ã0ã®åæå */
+	sil_wrb_mem((VP)TADR_SFR_P0, 0xff);				/* ãã¼ã0ãã¼ã¿åæå				*/
+	sil_wrb_mem((VP)TADR_SFR_PD0, 0xff);			/* ãã¼ã0åºåè¨­å®					*/
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
+
+void
+sys_putc(char c)
+{
+	if(c == '\n'){
+	    oaks16_putc( '\r' );
+	}
+    oaks16_putc( c );
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_config.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS16ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"OAKS16"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	2	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID	2	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_defs.h	(revision 26)
@@ -0,0 +1,100 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.4 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼OAKS16ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/* 
+ *  ã¿ã¼ã²ããè­å¥ãã¯ã­(ã·ã¹ãã åã®å®ç¾©)
+ */
+#define OAKS16
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+extern void hardware_start(void);
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort(void)
+{
+	hardware_start();
+	/* ãªã¹ã¿ã¼ã */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.config	(revision 26)
@@ -0,0 +1,41 @@
+#
+#  @(#) $Id: Makefile.config,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼OAKS16-MINIç¨ï¼
+#
+
+#
+#  åæå¤
+#
+	# ISPã®åæå¤(æ«å°¾ã®"h"ã¯ä»ããªãã¦è¯ã)
+RAMEND = 0c00
+	# RAMã®å
+é ­çªå°(SFRã¯å«ã¾ãªã)
+RAM_START_ADR = 00400
+	# ROMã®å
+é ­çªå°
+ROM_START_ADR = 0f0000
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS) -I$(CONFIGDIR)\$(CPU)\$(SYS)
+COPTS := $(COPTS) -g -O2
+ASMFLAGS := $(ASMFLAGS) -O. -A -. -I.
+KERNEL_ASMFLAGS := $(KERNEL_ASMFLAGS) -DRAMEND=$(RAMEND)h
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) # sys_support.r30(ä½¿ç¨ãã¦ããªã)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.r30 syslog_mini.r30
+
+STASK_COBJS := $(STASK_COBJS) serial_mini.r30
+
+# ãã¯ã¿ãã¼ãã«å®ç¾©ãã¡ã¤ã«ã®çæ
+m16cvec.inc: kernel_cfg.c
+	$(CC) -E $(INCLUDES) $(<D)\$(<F) > kernel_cfg.i
+	$(SRCDIR)\utils\m16c-renesas\m16cvec.exe -M1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.kernel
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.kernel	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/Makefile.kernel	(revision 26)
@@ -0,0 +1,139 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.kernel,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#	(M16Cã§ä½¿ç¨ããããã«ãã¡ã¤ã«ã®æ¡å¼µå­é¨åãå¤æ´)
+#
+
+#
+#  ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼1ã¤ã®ã½ã¼ã¹ãã¡
+#  ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæãããã®ã®å®ç¾©
+#
+KERNEL_LCSRCS = task.c wait.c time_event.c \
+		task_manage.c task_sync.c task_except.c \
+		semaphore.c eventflag.c dataqueue.c mailbox.c \
+		mempfix.c time_manage.c cyclic.c sys_manage.c \
+		interrupt.c exception.c
+
+#
+#  ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+KERNEL_LCOBJS = $(foreach file,$(KERNEL_LCSRCS),$($(file:.c=)))
+
+#
+#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+task = tskini.r30 tsksched.r30 tskrun.r30 tsknrun.r30 \
+		tskdmt.r30 tskact.r30 tskext.r30 tskpri.r30 tskrot.r30 tsktex.r30
+
+wait = waimake.r30 waicmp.r30 waitmo.r30 waitmook.r30 \
+		waican.r30 wairel.r30 wobjwai.r30 wobjwaitmo.r30 wobjpri.r30
+
+time_event = tmeini.r30 tmeup.r30 tmedown.r30 tmeins.r30 tmedel.r30 isig_tim.r30
+
+task_manage = act_tsk.r30 iact_tsk.r30 can_act.r30 ext_tsk.r30 ter_tsk.r30 \
+		chg_pri.r30 get_pri.r30
+
+task_sync = slp_tsk.r30 tslp_tsk.r30 wup_tsk.r30 iwup_tsk.r30 can_wup.r30 \
+		rel_wai.r30 irel_wai.r30 sus_tsk.r30 rsm_tsk.r30 frsm_tsk.r30 dly_tsk.r30
+
+task_except = ras_tex.r30 iras_tex.r30 dis_tex.r30 ena_tex.r30 sns_tex.r30
+
+semaphore = semini.r30 sig_sem.r30 isig_sem.r30 wai_sem.r30 pol_sem.r30 twai_sem.r30
+
+eventflag = flgini.r30 flgcnd.r30 set_flg.r30 iset_flg.r30 clr_flg.r30 \
+		wai_flg.r30 pol_flg.r30 twai_flg.r30
+
+dataqueue = dtqini.r30 dtqenq.r30 dtqfenq.r30 dtqdeq.r30 dtqsnd.r30 dtqrcv.r30 \
+		snd_dtq.r30 psnd_dtq.r30 ipsnd_dtq.r30 tsnd_dtq.r30 \
+		fsnd_dtq.r30 ifsnd_dtq.r30 rcv_dtq.r30 prcv_dtq.r30 trcv_dtq.r30
+
+mailbox = mbxini.r30 snd_mbx.r30 rcv_mbx.r30 prcv_mbx.r30 trcv_mbx.r30
+
+mempfix = mpfini.r30 mpfget.r30 get_mpf.r30 pget_mpf.r30 tget_mpf.r30 rel_mpf.r30
+
+time_manage = set_tim.r30 get_tim.r30 vxget_tim.r30
+
+cyclic = cycini.r30 cycenq.r30 sta_cyc.r30 stp_cyc.r30 cyccal.r30
+
+sys_manage = rot_rdq.r30 irot_rdq.r30 get_tid.r30 iget_tid.r30 \
+		loc_cpu.r30 iloc_cpu.r30 unl_cpu.r30 iunl_cpu.r30 \
+		dis_dsp.r30 ena_dsp.r30 sns_ctx.r30 sns_loc.r30 sns_dsp.r30 \
+		sns_dpn.r30 vsns_ini.r30
+
+interrupt = inhini.r30
+
+exception = excini.r30 vxsns_ctx.r30 vxsns_loc.r30 \
+		vxsns_dsp.r30 vxsns_dpn.r30 vxsns_tex.r30
+
+#
+#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#
+$(task) $(task:.r30=.a30) $(task:.r30=.d): task.c
+$(wait) $(wait:.r30=.a30) $(wait:.r30=.d): wait.c
+$(time_event) $(time_event:.r30=.a30) $(time_event:.r30=.d): time_event.c
+$(task_manage) $(task_manage:.r30=.a30) $(task_manage:.r30=.d): task_manage.c
+$(task_sync) $(task_sync:.r30=.a30) $(task_sync:.r30=.d): task_sync.c
+$(task_except) $(task_except:.r30=.a30) $(task_except:.r30=.d): task_except.c
+$(semaphore) $(semaphore:.r30=.a30) $(semaphore:.r30=.d): semaphore.c
+$(eventflag) $(eventflag:.r30=.a30) $(eventflag:.r30=.d): eventflag.c
+$(dataqueue) $(dataqueue:.r30=.a30) $(dataqueue:.r30=.d): dataqueue.c
+$(mailbox) $(mailbox:.r30=.a30) $(mailbox:.r30=.d): mailbox.c
+$(mempfix) $(mempfix:.r30=.a30) $(mempfix:.r30=.d): mempfix.c
+$(time_manage) $(time_manage:.r30=.a30) $(time_manage:.r30=.d): time_manage.c
+$(cyclic) $(cyclic:.r30=.a30) $(cyclic:.r30=.d): cyclic.c
+$(sys_manage) $(sys_manage:.r30=.a30) $(sys_manage:.r30=.d): sys_manage.c
+$(interrupt) $(interrupt:.r30=.a30) $(interrupt:.r30=.d): interrupt.c
+$(exception) $(exception:.r30=.a30) $(exception:.r30=.d): exception.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.cfg	(revision 26)
@@ -0,0 +1,12 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼OAKS16 MINIç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL_IN1, { TA_HLNG, serial_in_handler1 });
+DEF_INH(INHNO_SERIAL_IN2, { TA_HLNG, serial_in_handler2 });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_serial.h	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼OAKS16-MINIå
+èµéåæã·ãªã¢ã«ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include "oaks16mini.h"
+
+/*
+ * ã¡ã¢ãªä¸è¶³ã®ãããç°¡æåã·ãªã¢ã«ãã©ã¤ãã¼ãå®è£
+ãã¾ãã
+ */
+
+/*
+ * ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤ 
+ */
+#define	MR_DEF		0x05	/* å
+é¨ã¯ã­ãã¯ãéåæã8ããããããªãã£ãªããã¹ãªã¼ããªã */
+#define	C0_DEF		0x10	/* RTS/CTSæªä½¿ç¨, ã«ã¦ã³ãã½ã¼ã¹f1 */
+#define	C1R_DEF		0x05	/* ã·ãªã¢ã«éåä¿¡å¯è½ */
+#define	C1S_DEF		0x00	/* ã·ãªã¢ã«éåä¿¡ä¸å¯ */
+#define	BRG1_DEF	64		/* 19200bps = 20000000/{(UxBRG+1)*16 */
+#define	RB_LEVEL	6		/* åä¿¡å²è¾¼ã¿ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SERIAL_IN1	INT_S0R
+#define	INHNO_SERIAL_OUT1	INT_S0T
+#define INHNO_SERIAL_IN2	INT_S1R
+#define INHNO_SERIAL_OUT2	INT_S1T
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/hw_timer.h	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.5 2007/01/05 02:33:59 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼OAKS16 MINIç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <oaks16mini.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       INT_TA0
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+
+#define INT_LEVEL_TIMER	0x05
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ *
+ *  1msã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãä½¿ç¨ããã®ã§ãã®ã¯ã­ãã¯ãå®ç¾©ããï¼
+ */
+#define TIMER_CLOCK		625
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+		/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)TADR_SFR_UDF, 0x00);		/* ãã¦ã³ã«ã¦ã³ãè¨­å®				*/
+	sil_wrb_mem((VP)TADR_SFR_TA0MR, 0x80);		/* ã¿ã¤ãã¢ã¼ã	ã¯ã­ãã¯ï¼1/32		*/
+	sil_wrh_mem((VP)TADR_SFR_TA0, TIMER_CLOCK-1);/* ã¿ã¤ãå¤ã®åæå				*/
+												/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®				*/
+	set_ic_ilvl((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET), INT_LEVEL_TIMER);
+												/* ã«ã¦ã³ãéå§						*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR, TBIT_TABSR_TA0S);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	VB  c;
+
+	c = sil_reb_mem((VP)TADR_SFR_TABSR);
+	c &= ~TBIT_TABSR_TA0S;						/* ã«ã¦ã³ãçµäº						*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR, c);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return (TIMER_CLOCK-1)-sil_reh_mem((VP)TADR_SFR_TA0);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET)) & TBIT_TAiIC_IR) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/oaks16mini.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/oaks16mini.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/oaks16mini.h	(revision 26)
@@ -0,0 +1,242 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: oaks16mini.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+#ifndef _OAKS16MINI_H_
+#define	_OAKS16MINI_H_
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ */
+#define	INT_BRK         0			/* BRK */
+#define INT_DMA0        11			/* DMA0 */
+#define INT_DMA1        12			/* DMA1 */
+#define INT_KEY         13			/* ã­ã¼å
+¥åå²ãè¾¼ã¿ */
+#define INT_AD          14			/* ï¼¡-ï¼¤å¤æå¨ */
+#define INT_S0T         17			/* UART0éä¿¡ */
+#define INT_S0R         18			/* UART0åä¿¡ */
+#define INT_S1T         19			/* UART1éä¿¡ */
+#define INT_S1R         20			/* UART1åä¿¡ */
+#define INT_TA0         21			/* ã¿ã¤ãA0 */
+#define INT_TA1         22			/* ã¿ã¤ãA1 */
+#define INT_TA2         23			/* ã¿ã¤ãA2 */
+#define INT_TA3         24			/* ã¿ã¤ãA3 */
+#define INT_TA4         25			/* ã¿ã¤ãA4 */
+#define INT_TB0         26			/* ã¿ã¤ãB0 */
+#define INT_TB1         27			/* ã¿ã¤ãB1 */
+#define INT_TB2         28			/* ã¿ã¤ãB2 */
+#define INT_INT0        29			/* INT0 */
+#define INT_INT1        30			/* INT1 */
+
+/*
+ *  OAKS16 MINI SFRã¢ãã¬ã¹å®ç¾©
+ *
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_INT_BASE       0x040			/* å²è¾¼ã¿é¢é£ã®ãã¼ã¹ã¢ãã¬ã¹ */
+#define TADR_SFR_DMA0IC_OFFSET  11				/* DMA0å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA1IC_OFFSET  12				/* DMA1å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_KUPIC_OFFSET   13				/* ã­ã¼å
+¥åå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_ADIC_OFFSET    14				/* A-Då¤æå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0TIC_OFFSET   17				/* uart0éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0RIC_OFFSET   18				/* uart0åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1TIC_OFFSET   19				/* uart1éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1RIC_OFFSET   20				/* uart1åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0IC_OFFSET   21				/* timerA0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1IC_OFFSET   22				/* timerA1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2IC_OFFSET   23				/* timerA2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3IC_OFFSET   24				/* timerA3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4IC_OFFSET   25				/* timerA4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0IC_OFFSET   26				/* timerB0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1IC_OFFSET   27				/* timerB1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2IC_OFFSET   28				/* timerB2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT0IC_OFFSET  29				/* INT0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT1IC_OFFSET  30				/* INT1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  DMAã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_SAR0           0x020			/* DMA0ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR0           0x024			/* DMA0ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR0			0x028			/* DMA0è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM0CON         0x02c			/* DMA0å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_SAR1           0x030			/* DMA1ã½ã¼ã¹ãã¤ã³ã¿ */
+#define TADR_SFR_DAR1           0x034			/* DMA1ãã¹ãã£ãã¼ã·ã§ã³ãã¤ã³ã¿ */
+#define TADR_SFR_TCR1			0x038			/* DMA1è»¢éã«ã¦ã³ã¿ */
+#define TADR_SFR_DM1CON         0x03c			/* DMA1å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã¿ã¤ãã¼ã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_TA11           0x342			/* timerA1-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA21           0x344			/* timerA2-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA41           0x346			/* timerA4-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INVC0          0x348			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_INVC1          0x349			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB0           0x34a			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB1           0x34b			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DTT            0x34c			/* ç­çµ¡é²æ­¢ã¿ã¤ã */
+#define TADR_SFR_ICTB2          0x34d			/* timerB2å²è¾¼ã¿çºçé »åº¦è¨­å®ã«ã¦ã³ã¿ */
+#define TADR_SFR_IFSR           0x35f			/* å²è¾¼ã¿è¦å é¸æã¬ã¸ã¹ã¿ */
+
+#define	TADR_SFR_TABSR          0x380			/* ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_CPSRF          0x381			/* ãªã»ãã ããªã¹ã±ã¼ã© ãªã»ãããã©ã° */
+#define TADR_SFR_ONSF           0x382			/* ã¯ã³ã·ã§ã ã¹ã¿ã¼ããã©ã° */
+#define TADR_SFR_TRGSR          0x383			/* ããªã¬ã¼ã»ã¬ã¯ã ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UDF            0x384			/* ã¢ãããã¦ã³ãã©ã° */
+#define	TADR_SFR_TA0            0x386			/* timerA0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1            0x388			/* timerA1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2            0x38a			/* timerA2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3            0x38c			/* timerA3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4            0x38e			/* timerA4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0            0x390			/* timerB0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1            0x392			/* timerB1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2            0x394			/* timerB2ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0MR          0x396			/* timerA0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA1MR          0x397			/* timerA1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA2MR          0x398			/* timerA2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA3MR          0x399			/* timerA3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA4MR          0x39a			/* timerA4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB0MR          0x39b			/* timerB0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB1MR			0x39c			/* timerB1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2MR          0x39d			/* timerB2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2SR          0x39e			/* timerB2ã¹ãã·ã£ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã·ãªã¢ã«ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_UART0_BASE     0x3a0			/* uart0ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART1_BASE     0x3a8			/* uart1ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+
+#define	TADR_SFR_UMR_OFFSET     0				/* uartéåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UBRG_OFFSET    1				/* uartãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ */
+#define	TADR_SFR_UTB_OFFSET     2				/* uartéä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC0_OFFSET     4				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#0 */
+#define	TADR_SFR_UC1_OFFSET     5				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#1 */
+#define	TADR_SFR_URB_OFFSET     6				/* uartåä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC2_OFFSET     16				/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#2 */
+
+/*
+ *  æ±ç¨ãã¼ãã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_P1             0x3e1           /* ãã¼ãP1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD1            0x3e3			/* ãã¼ãP1æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P6             0x3ec			/* ãã¼ãP6ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P7             0x3ed			/* ãã¼ãP7ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD6            0x3ee			/* ãã¼ãP6æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD7            0x3ef			/* ãã¼ãP7æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P8             0x3f0			/* ãã¼ãP8ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P9             0x3f1			/* ãã¼ãP9ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD8            0x3f2			/* ãã¼ãP8æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD9            0x3f3			/* ãã¼ãP9æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P10            0x3f4			/* ãã¼ãP10ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD10           0x3f6			/* ãã¼ãP10æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PUR0           0x3fc			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR1           0x3fd			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR2           0x3fe			/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PCR            0x3ff			/* ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿1 (UART0,UART1)
+ */
+#define	TBIT_UiC1_RI	0x08	/* åä¿¡å®äºãã©ã° */
+#define	TBIT_UiC1_RE	0x04	/* åä¿¡è¨±å¯ããã */
+#define	TBIT_UiC1_TI	0x02	/* éä¿¡ãããã¡ç©ºãã©ã° */
+#define	TBIT_UiC1_TE	0x01	/* éä¿¡è¨±å¯ããã */
+
+#define TBIT_UiC0_TXEPT	0x08	/* éä¿¡ã¬ã¸ã¹ã¿ç©ºãã©ã° */
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿
+ */
+#define	TBIT_TAiIC_IR	0x08
+
+/*
+ *  ã«ã¦ã³ãéå§ãã©ã° (TABSR)
+ */
+#define TBIT_TABSR_TA0S	0x01
+
+/*
+ *  ã¢ãããã¦ã³ãã©ã°(UDF)
+ */
+#define TBIT_UDF_TA0UD	0x01
+
+/*
+ *  ãã¼ãï¼è¨­å®
+ */
+#define	P7_LED1					0x10			/* LED1ãããå®ç¾© */
+#define	P7_LED2					0x20			/* LED2ãããå®ç¾© */
+
+/*
+ *  ãã¼ãï¼è¨­å®
+ */
+#define	P8_SW1					0x01			/* SW1ãããå®ç¾© */
+#define	P8_SW2					0x02			/* SW2ãããå®ç¾© */
+
+#ifndef _MACRO_ONLY
+
+#include "cpu_defs.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+Inline void
+oaks16_putc(char c)
+{
+	volatile char * p = (volatile char *)TADR_SFR_UART1_BASE;
+
+	while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
+	p[TADR_SFR_UTB_OFFSET] = c;
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _OAKS16MINI_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/serial_mini.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/serial_mini.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/serial_mini.c	(revision 26)
@@ -0,0 +1,322 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: serial_mini.c,v 1.4 2007/01/05 02:33:59 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+ */
+
+#include <t_services.h>
+#include <serial.h>
+#include <hw_serial.h>
+#include "kernel_id.h"
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+
+#define	SERIAL_BUFSZ	9	/* ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ç¨ãããã¡ã®ãµã¤ãº */
+
+typedef struct serial_queue_block {
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	UH   base;					/* hardware port base address */
+	ID   rsemid;				/* receive semaphore id */
+	ID   ssemid;				/* send semaphore id */
+	char head;					/* queue head */
+	char tail;					/* queue tail */
+	char size;					/* ãããã¡ãµã¤ãº */
+	char buffer[SERIAL_BUFSZ];	/* ãããã¡ã¨ãªã¢ */
+} SQUE;
+
+static SQUE	in_queue[TNUM_SIOP] ={
+	FALSE, TADR_SFR_UART0_BASE, SERIAL_RCV_SEM1, SERIAL_SND_SEM1, 0, 0, SERIAL_BUFSZ, "",
+	FALSE, TADR_SFR_UART1_BASE, SERIAL_RCV_SEM2, SERIAL_SND_SEM2, 0, 0, SERIAL_BUFSZ, ""
+};
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯ã®å®ç¾©ã¨åæå
+ */
+
+#define get_sque(portid)	(&(in_queue[portid-1]))
+
+/*
+ *  SFR UARTã®åæå
+ */
+Inline void
+SFR_uart_initialize(ID portid)
+{
+	SQUE  *q;
+	VB *ip = (VB*)(TADR_SFR_INT_BASE+TADR_SFR_S0RIC_OFFSET);
+
+	q = get_sque(portid);
+	  			/* éåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(q->base+TADR_SFR_UMR_OFFSET), MR_DEF);
+				/* éä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(q->base+TADR_SFR_UC0_OFFSET), C0_DEF);
+				/* è»¢ééåº¦ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(q->base+TADR_SFR_UBRG_OFFSET), BRG1_DEF);
+				/* å²è¾¼ã¿ã¬ãã«ã®è¨­å® */
+	set_ic_ilvl((VP)(ip + ((INT)portid-1)*2), RB_LEVEL);
+	sil_wrb_mem((VP)(q->base+TADR_SFR_UC1_OFFSET), C1R_DEF);
+	sil_reb_mem((VP)(q->base+TADR_SFR_URB_OFFSET));		/* ããã¼ãã¼ã¿åä¿¡ */
+	sil_reb_mem((VP)(q->base+TADR_SFR_URB_OFFSET));		/* ããã¼ãã¼ã¿åä¿¡ */
+	q->openflag = TRUE;
+}
+
+/*
+ *  SQUEã®åä¿¡ãããã¡ãããµã¤ãºãåãåºã
+ */
+Inline int
+queue_size(SQUE *q)
+{
+	int size = q->head - q->tail;
+	if(size < 0)
+		size += q->size;
+	return size;
+}
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®èµ·å
+ */
+void
+serial_initialize(VP_INT exinf)
+{
+	SFR_uart_initialize(LOGTASK_PORTID);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãªã¼ãã³
+ */
+ER
+serial_opn_por(ID portid)
+{
+	SQUE  *q;
+	VB    *ip=(VB*)(TADR_SFR_INT_BASE+TADR_SFR_S0RIC_OFFSET);
+	ER	ercd;
+
+	if (!(1 <= portid && portid <= TNUM_SIOP)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+	q = get_sque(portid);
+
+	_syscall(loc_cpu());
+	if (q->openflag) {		/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		ercd = E_OBJ;
+	}
+	else {
+		SFR_uart_initialize(portid);
+		ercd = E_OK;
+	}
+	_syscall(unl_cpu());
+	return(ercd);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ã¯ã­ã¼ãº
+ */
+ER
+serial_cls_por(ID portid)
+{
+	SQUE  *q;
+	VB    *ip=(VB*)(TADR_SFR_INT_BASE+TADR_SFR_S0RIC_OFFSET);
+	ER	ercd;
+
+	if (!(1 <= portid && portid <= TNUM_SIOP)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+	q = get_sque(portid);
+
+	_syscall(loc_cpu());
+	if (!(q->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		ercd = E_OBJ;
+	}
+	else {
+		set_ic_ilvl((VP)(ip + ((INT)portid-1)*2), 0);
+		sil_wrb_mem((VP)(q->base+TADR_SFR_UC1_OFFSET), C1S_DEF);
+		q->openflag = FALSE;
+		ercd = E_OK;
+	}
+	_syscall(unl_cpu());
+	return(ercd);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã¸ã®éä¿¡
+ */
+
+ER_UINT
+serial_wri_dat(ID portid, char *buf, UINT len)
+{
+	SQUE	*q;
+	unsigned int	i;
+	unsigned char   c;
+
+	if (!(1 <= portid && portid <= TNUM_SIOP)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	q = get_sque(portid);
+	if (!(q->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	wai_sem(q->ssemid);
+	for (i = 0; i < len; i++) {
+		while((sil_reb_mem((VP)(q->base+TADR_SFR_UC1_OFFSET)) & 0x2) == 0);
+		sil_wrb_mem((VP)(q->base+TADR_SFR_UTB_OFFSET), *buf++);
+	}
+	sig_sem(q->ssemid);
+	return(len);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãããã®åä¿¡
+ */
+
+ER_UINT
+serial_rea_dat(ID portid, char *buf, UINT len)
+{
+	SQUE	*q;
+	UINT	i;
+
+	if (!(1 <= portid && portid <= TNUM_SIOP)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	q = get_sque(portid);
+	if (!(q->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	for (i = 0; i < len; i++) {
+		if (queue_size(q) == 0)
+			wai_sem(q->rsemid);
+		else
+			pol_sem(q->rsemid);
+		_syscall(loc_cpu());
+		*buf++ = q->buffer[q->tail++];
+		if (q->tail >= q->size) {
+			q->tail = 0;
+		}
+		_syscall(unl_cpu());
+	}
+	return(len);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡
+ */
+ER
+serial_ctl_por(ID portid, UINT ioctl)
+{
+	return(E_OK);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç¶æ
+ã®åç
+§
+ */
+ER
+serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor)
+{
+	SQUE	*q;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_SIOP)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	q = get_sque(portid);
+	if (!(q->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	pk_rpor->reacnt = queue_size(q);
+	pk_rpor->wricnt = 0;
+	return(E_OK);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+
+void
+serial_handler_in(ID portid)
+{
+	SQUE	*q;
+	int		rdata;				/* åä¿¡ãããã¡ */
+
+	q = get_sque(portid);
+	if (queue_size(q) < q->size) {
+		rdata = sil_reb_mem((VP)(q->base+TADR_SFR_URB_OFFSET));	/* ãã¼ã¿åä¿¡ */
+		q->buffer[q->head++] = rdata;
+		if (q->head >= q->size)
+			q->head = 0;
+		isig_sem(q->rsemid);
+	}
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©
+ */
+
+void
+serial_in_handler1(void)
+{
+	serial_handler_in(1);
+}
+
+void
+serial_in_handler2(void)
+{
+	serial_handler_in(2);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.c	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS16 MINIç¨ï¼
+ */
+
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "oaks16mini.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+	VB * p;
+	/* ã³ã³ãã­ã¼ã«#2ã¬ã¸ã¹ã¿ã®åæå */
+	p = (VB*)TADR_SFR_UART0_BASE;
+	sil_wrb_mem((VP)(p+TADR_SFR_UC2_OFFSET), 0x00);
+	/* UAERT1ã®è¨­å® */
+	p = (VB*)TADR_SFR_UART1_BASE;
+  			/* éåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UMR_OFFSET), 0x05);	/* éåä¿¡ã¢âãã¬ã¸ã¹ã¿ å
+é¨ã¯ã­ãã¯,*/
+													/* éåæã8ããããããªãã£ãªãã	*/
+													/* ã¹ãªã¼ããªã						*/
+			/* éä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC0_OFFSET), 0x10);	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ ã¯ã­ãã¯f1é¸æ */
+			/* è»¢ééåº¦ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UBRG_OFFSET), 64);	/* è»¢ééåº¦ã¬ã¸ã¹ã¿(19200bps)		*/
+			/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC1_OFFSET), (TBIT_UiC1_TE | TBIT_UiC1_RE));
+													/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ éåä¿¡è¨±å¯	*/
+
+	/* ãã¼ã7ã®åæå */
+	sil_wrb_mem((VP)TADR_SFR_P7, 0xff);				/* ãã¼ã7ãã¼ã¿åæå				*/
+	sil_wrb_mem((VP)TADR_SFR_PD7, 0xff);			/* ãã¼ã7åºåè¨­å®					*/
+
+	/* ãã¼ã8ã®åæå */
+	sil_wrb_mem((VP)TADR_SFR_PD8, 0x00);			/* ãã¼ã8å
+¥åè¨­å®					*/
+	sil_wrb_mem((VP)TADR_SFR_PUR2, 0x01);			/* P80ããP83ãã«ã¢ãã				*/
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1)
+  	;
+}
+
+void
+sys_putc(char c)
+{
+	if(c == '\n'){
+	    oaks16_putc( '\r' );
+	}
+    oaks16_putc( c );
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_config.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS16 MINIç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"OAKS16-MINI"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	2	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID	2	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_defs.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.4 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼OAKS16 MINIç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/* 
+ *  ã¿ã¼ã²ããè­å¥ãã¯ã­(ã·ã¹ãã åã®å®ç¾©)
+ */
+#define OAKS16_MINI
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+extern void hardware_start(void);
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort(void)
+{
+	hardware_start();
+	/* ãªã¹ã¿ã¼ã */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/syslog_mini.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/syslog_mini.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/syslog_mini.c	(revision 26)
@@ -0,0 +1,229 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: syslog_mini.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°æ©è½ç°¡ç¥ç
+ */
+
+#undef OMIT_SYSLOG
+#include "jsp_kernel.h"
+#include "time_event.h"
+#include "serial.h"
+
+/*
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ï¼ããããããï¼
+ */
+static UINT	syslog_logmask;		/* è¨é²ï¼åºåãã¹ãéè¦åº¦ */
+static UINT	syslog_lowmask;		/* ä½ã¬ãã«åºåãã¹ãéè¦åº¦ */
+
+/*
+ *  ã·ã¹ãã ã­ã°æ©è½ã®åæå
+ */
+void syslog_initialize(void)
+{
+	syslog_logmask = LOG_UPTO(LOG_NOTICE);
+	syslog_lowmask = LOG_UPTO(LOG_NOTICE);
+}
+
+/* 
+ *  ã­ã°æ
+å ±ã®åºå
+ */
+SYSCALL ER
+vwri_log(UINT prio, SYSLOG *p_log)
+{
+	BOOL	locked;
+
+	p_log->logtim = systim_offset + current_time;
+	if ((syslog_logmask & LOG_MASK(prio)) != 0) {
+		/*
+	 	*  ä½ã¬ãã«åºåã¸ã®æ¸åºã
+	 	*/
+		syslog_print(p_log, sys_putc);
+		sys_putc('\n');
+	}
+	return(E_OK);
+}
+
+/* 
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ã®è¨­å®
+ */
+SYSCALL ER
+vmsk_log(UINT logmask, UINT lowmask)
+{
+	syslog_logmask = logmask;
+	syslog_lowmask = lowmask;
+	return(E_OK);
+}
+
+/* 
+ *  ã·ã¹ãã ã­ã°æ©è½ã®çµäºå¦ç
+ *
+ *  ã­ã°ãããã¡ã«è¨é²ãããã­ã°æ
+å ±ãï¼ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåã
+ *  ãï¼
+ */
+void
+syslog_terminate(void){}
+
+/*
+ *  æ°å¤ãæå­åã«å¤æ
+ */
+static void
+convert(unsigned long val, int radix, const char *radchar, int width,
+		int minus, int padzero, void (*putc)(char))
+{
+	char	buf[12];
+	int	i, j;
+
+	i = 0;
+	do {
+		buf[i++] = radchar[val % radix];
+		val /= radix;
+	} while (val != 0);
+
+	width -= minus;
+	if (minus > 0 && padzero > 0) {
+		(*putc)('-');
+	}
+	for (j = i; j < width; j++) {
+		(*putc)((char)(padzero > 0 ? '0' : ' '));
+	}
+	if (minus > 0 && padzero <= 0) {
+		(*putc)('-');
+	}
+	while (i > 0) {
+		(*putc)(buf[--i]);
+	}
+}
+
+/*
+ *  ã­ã°æ
+å ±ãã©ã¼ãããç¨ã©ã¤ãã©ãªé¢æ°
+ */
+static char const raddec[] = "0123456789";
+static char const radhex[] = "0123456789abcdef";
+static char const radHEX[] = "0123456789ABCDEF";
+
+void
+syslog_print(SYSLOG *p_syslog, void (*putc)(char))
+{
+	char const	*format;
+	int	argno;
+	int	c;
+	int	width;
+	int	padzero;
+	long	val;
+	char const	*str;
+
+	format = (char const *)(p_syslog->loginfo[0]);
+	argno = 1;
+
+	while ((c = *format++) != '\0') {
+		if (c != '%') {
+			(*putc)((char) c);
+			continue;
+		}
+
+		width = padzero = 0;
+		if ((c = *format++) == '0') {
+			padzero = 1;
+			c = *format++;
+		}
+		while ('0' <= c && c <= '9') {
+			width = width*10 + c - '0';
+			c = *format++;
+		}
+		switch (c) {
+		case 'd':
+			val = (long)(p_syslog->loginfo[argno++]);
+			if (val >= 0) {
+				convert(val, 10, raddec, width,
+						0, padzero, putc);
+			}
+			else {
+				convert(-val, 10, raddec, width,
+						1, padzero, putc);
+			}
+			break;
+		case 'u':
+			val = (long)(p_syslog->loginfo[argno++]);
+			convert(val, 10, raddec, width, 0, padzero, putc);
+			break;
+		case 'x':
+			val = (long)(p_syslog->loginfo[argno++]);
+			convert(val, 16, radhex, width, 0, padzero, putc);
+			break;
+		case 'X':
+			val = (long)(p_syslog->loginfo[argno++]);
+			convert(val, 16, radHEX, width, 0, padzero, putc);
+			break;
+		case 'c':
+			(*putc)((char)(int)(p_syslog->loginfo[argno++]));
+			break;
+		case 's':
+			str = (char const *)(p_syslog->loginfo[argno++]);
+			while ((c = *str++) != '\0') {
+				(*putc)((char) c);
+			}
+			break;
+		case '%':
+			(*putc)('%');
+			break;
+		case '\0':
+			format--;
+			break;
+		default:
+			break;
+		}
+	}
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/start.a30
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/start.a30	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/start.a30	(revision 26)
@@ -0,0 +1,154 @@
+;*
+;*  TOPPERS/JSP Kernel
+;*      Toyohashi Open Platform for Embedded Real-Time Systems/
+;*      Just Standard Profile Kernel
+;* 
+;*  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+;*                              Toyohashi Univ. of Technology, JAPAN
+;*  Copyright (C) 2001 by OAKS16KIT support
+;*  Copyright (C) 2003-2004 by Naoki Saito
+;*             Nagoya Municipal Industrial Research Institute, JAPAN
+;*  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+;*               Platform Development Center RICOH COMPANY,LTD. JAPAN
+;* 
+;*  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+;*  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+;*  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+;*  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;*  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;*  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;*      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;*      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;*  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+;*      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+;*      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+;*      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+;*      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+;*    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+;*        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+;*        ãã¨ï¼
+;*  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;*      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+;* 
+;*  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+;*  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+;*  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+;*  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;* 
+;*  @(#) $Id: start.a30,v 1.5 2006/08/03 04:15:57 honda Exp $
+
+PRCR  .EQU		000AH			; ãã­ãã¯ãã¬ã¸ã¹ã¿
+PRC0  .BTEQU	0,PRCR			; ã·ã¹ãã ã¯ã­ãã¯ã¬ã¸ã¹ã¿ããã
+PRC1  .BTEQU	1,PRCR			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ããã
+;
+PM0   .EQU		0004H			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+PM1   .EQU		0005H			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+;
+CM0   .EQU		0006H			; ã¯ã­ãã¯ã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+CM1   .EQU		0007H			; ã¯ã­ãã¯ã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+C_CM0 .EQU		00001000B		; CM0(Xcin-HIGH) 
+C_CM1 .EQU		00100000B		; CM1(Xin-HIGH)
+
+.IF   M3029
+CM2   .EQU		000CH			; ã¯ã­ãã¯ã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+C_CM2 .EQU		00000000B		; CM2
+.ENDIF
+
+;/*	å®æ°å®ç¾©ï¼åæåï¼*/
+;
+.IF   M3029
+VECTOR_ADR 	.EQU	0FA000h		; ãã¯ã¿ã¢ãã¬ã¹
+.ELSE
+VECTOR_ADR 	.EQU	0FFE00h		; ãã¯ã¿ã¢ãã¬ã¹
+.ENDIF
+
+	.include	m16cvec.inc
+
+	.section	bss_NE,DATA,ALIGN
+	.section	data_NE,DATA,ALIGN
+	.section	data_NEI,ROMDATA,ALIGN
+	.section	bss_NO,DATA,ALIGN
+	.section	data_NO,DATA,ALIGN
+	.section	data_NOI,ROMDATA,ALIGN
+
+;
+;************************************************
+;*	åæåã«ã¼ãã³                              *
+;************************************************
+	.section	program
+	.glb		_hardware_start
+	.glb		_kernel_start
+	.glb		_software_init_hook
+;
+_hardware_start:
+	ldc			#RAMEND,ISP		; å²ãè¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã»ãã
+; ----- set Processor mode -----
+	bset		PRC1			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ã¤ãã¼ãã«
+	mov.b		#00000000b,PM0	; ã·ã³ã°ã«ãããã¢ã¼ã
+	mov.b		#00000000b,PM1	; éæ¡å¼µããã¼ã¦ã§ã¤ã
+	bclr		PRC1			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ãã£ã¼ã¼ãã«
+; ----- set System clock -----
+	bset		PRC0			; ã¯ã­ãã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ã¤ãã¼ãã«
+.IF   M3029
+	mov.b		#C_CM2,CM2		; ã·ã¹ãã ã¯ã­ãã¯ãã¡ã¤ã³ã¯ã­ãã¯ã«
+.ENDIF
+	mov.b		#C_CM0,CM0		; ã¡ã¤ã³ã¯ã­ãã¯çºä¿¡
+	mov.b		#C_CM1,CM1		; åå¨ãªã
+	bclr		PRC0			; ã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ãã£ã¼ã¼ãã«
+;
+	ldc			#0000h,FLG		; bank#0,å²ãè¾¼ã¿è¨±å¯,ISP
+	ldintb		#VECTOR_ADR		; ãã¯ã¿ãã¼ãã«ã®è¨­å®
+
+;------ DATAé åã®åæå ------
+	mov.w		#(topof bss_NE),R3
+	mov.w		#(topof data_NE),A1
+	sub.w		A1,R3
+	jz			bss_clear
+	mov.w		#(topof data_NEI & 0ffffh),A0
+	mov.b		#(topof data_NEI >> 16),R1H
+	smovf.b
+;------ BSSé åã®åæå ------
+bss_clear:
+	mov.w		#(topof bss_NE),A0
+	mov.w		#0,R0
+clear_loop:
+	mov.w		R0,[A0]
+	add.w		#2,A0
+	cmp.w		#RAMEND,A0
+	jne			clear_loop
+
+;*  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+;*
+;*  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+;*  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+;*  ããï¼M16Cã®å ´åãã³ã³ãã¤ã«æEXTERN_SOFT_HOOKãããã¡ã¤ã³ãã
+	mov.w		#(_software_init_hook & 0ffffh),A0
+	mov.w		#(_software_init_hook >> 16),A1
+	lde.w		[A1A0],R0
+	mov.w		#((_software_init_hook+2) & 0ffffh),A0
+	mov.w		#((_software_init_hook+2) >> 16),A1
+	lde.w		[A1A0],R1
+	mov.w		R0,A0
+	mov.w		R1,A1
+	or.w		R0,R1
+	jz			kernel_link
+	jsri.a		A1A0
+;;
+;***** ã«ã¼ãã«ã¹ã¿ã¼ãã¸	*****
+kernel_link:
+	jsr.a		_kernel_start	; --> kernel_start()
+;
+	.end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_config.h	(revision 26)
@@ -0,0 +1,260 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#define call_atexit()
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/tool_defs.h	(revision 26)
@@ -0,0 +1,99 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å	*/
+#define	_int16_		short		/* 16ãããã®æ´æ°å	*/
+#define	_int32_		long		/* 32ãããã®æ´æ°å	*/
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+
+#define	Inline		_inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		_asm
+#endif /* __cplusplus */
+
+#define	Asm		_asm
+
+/*
+ *  MYTOOLç¨ã®è¨­å®
+ */
+#define	NC30
+
+/*
+ *  VP_INTãFARãã¤ã³ã¿ã¨ãã¦å®ç¾©
+ */
+
+#define	_vp_int_	void _far *
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/api.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/api.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/api.h	(revision 26)
@@ -0,0 +1,183 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: api.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+#ifndef API_H
+#define API_H
+
+#define __cycini
+#define __cycenq
+#define __sta_cyc
+#define __stp_cyc
+#define __cyccal
+#define __dtqini
+#define __dtqenq
+#define __dtqfenq
+#define __dtqdeq
+#define __dtqsnd
+#define __dtqrcv
+#define __snd_dtq
+#define __psnd_dtq
+#define __ipsnd_dtq
+#define __tsnd_dtq
+#define __fsnd_dtq
+#define __ifsnd_dtq
+#define __rcv_dtq
+#define __prcv_dtq
+#define __trcv_dtq
+#define __flgini
+#define __flgcnd
+#define __set_flg
+#define __iset_flg
+#define __clr_flg
+#define __wai_flg
+#define __pol_flg
+#define __twai_flg
+#define __excini
+#define __vxsns_ctx
+#define __vxsns_loc
+#define __vxsns_dsp
+#define __vxsns_dpn
+#define __vxsns_tex
+#define __inhini
+#define __mbxini
+#define __snd_mbx
+#define __rcv_mbx
+#define __prcv_mbx
+#define __trcv_mbx
+#define __mpfini
+#define __mpfget
+#define __get_mpf
+#define __pget_mpf
+#define __tget_mpf
+#define __rel_mpf
+#define __semini
+#define __sig_sem
+#define __isig_sem
+#define __wai_sem
+#define __pol_sem
+#define __twai_sem
+#define __rot_rdq
+#define __irot_rdq
+#define __get_tid
+#define __iget_tid
+#define __loc_cpu
+#define __iloc_cpu
+#define __unl_cpu
+#define __iunl_cpu
+#define __dis_dsp
+#define __ena_dsp
+#define __sns_ctx
+#define __sns_loc
+#define __sns_dsp
+#define __sns_dpn
+#define __logini
+#define __vwri_log
+#define __vrea_log
+#define __vmsk_log
+#define __logter
+#define __tskini
+#define __tsksched
+#define __tskrun
+#define __tsknrun
+#define __tskdmt
+#define __tskact
+#define __tskext
+#define __tskpri
+#define __tskrot
+#define __tsktex
+#define __ras_tex
+#define __iras_tex
+#define __dis_tex
+#define __ena_tex
+#define __sns_tex
+#define __act_tsk
+#define __iact_tsk
+#define __can_act
+#define __ext_tsk
+#define __ter_tsk
+#define __chg_pri
+#define __get_pri
+#define __slp_tsk
+#define __tslp_tsk
+#define __wup_tsk
+#define __iwup_tsk
+#define __can_wup
+#define __rel_wai
+#define __irel_wai
+#define __sus_tsk
+#define __rsm_tsk
+#define __frsm_tsk
+#define __dly_tsk
+#define __tmeini
+#define __tmeup
+#define __tmedown
+#define __tmeins
+#define __tmedel
+#define __isig_tim
+#define __set_tim
+#define __get_tim
+#define __vxget_tim
+#define __waimake
+#define __waicmp
+#define __waitmo
+#define __waitmook
+#define __waican
+#define __wairel
+#define __wobjwai
+#define __wobjwaitmo
+#define __wobjpri
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.c	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M32Cç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "sil.h"
+#include "check.h"
+#include "task.h"
+#include "oaks32.h"
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+char	intnest;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+	/* M32C(100ãã³ç)ã®å ´å, ä»¥ä¸ã®6ã¤ã®ã¬ã¸ã¹ã¿åæåãå¿
+è¦ */
+	sil_wrb_mem((VP)TADR_SFR_PD11 , 0xff);
+	sil_wrb_mem((VP)TADR_SFR_PD12 , 0xff);
+	sil_wrb_mem((VP)TADR_SFR_PD13 , 0xff);
+	sil_wrb_mem((VP)TADR_SFR_PD14 , 0xff);
+	sil_wrb_mem((VP)TADR_SFR_PD15 , 0xff);
+	sil_wrb_mem((VP)TADR_SFR_PUR4 , 0);
+
+	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ãåæå(éã¿ã¹ã¯ã³ã³ãã­ã¹ã) */
+	intnest = 1;
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+}
+
+/*
+ * software_init_hookã®ä»®å®ç¾©
+ */
+#ifndef EXTERNAL_SOFT_HOOK
+const VP_INT software_init_hook = 0;
+#endif  /* EXTERNAL_SOFT_HOOK */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_config.h	(revision 26)
@@ -0,0 +1,322 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M32Cç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#ifdef NEED_API
+#include "api.h"
+#endif /* NEED_API */
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define TBIT_TCB_PRIORITY	4	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	VP	sp;	/*  ã¹ã¿ãã¯ãã¤ã³ã¿  */
+	FP	pc;	/*  ãã­ã°ã©ã ã«ã¦ã³ã¿  */
+} CTXB;
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern char	intnest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããè¿ãé¢æ°.
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ããªãTRUEãè¿ã.
+ */
+Inline BOOL
+sense_context(void)
+{
+	/*  ãã¹ãã«ã¦ã³ã¿0ããå¤§ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ã  */
+	return(intnest > 0);
+}
+
+/*
+ *  ç¾å¨ã®CPUã­ãã¯ç¶æ
+ãè¿ãé¢æ°.
+ *  CPUã­ãã¯ç¶æ
+ãªãTRUEãè¿ã.
+ */
+Inline BOOL
+sense_lock(void)
+{
+	return((current_flgreg() & FLG_I_MASK) == 0);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ */
+Inline void
+lock_cpu(void)
+{
+	disint();
+}
+
+Inline void
+unlock_cpu(void)
+{
+	enaint();
+}
+
+#define t_lock_cpu	lock_cpu
+#define i_lock_cpu	lock_cpu
+#define t_unlock_cpu	unlock_cpu
+#define i_unlock_cpu	unlock_cpu
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.a30ï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããã
+ *  ãµã¼ãã¹ã³ã¼ã«å¦çã®ä¸­ããï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã(cpu_support.a30)
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çåå
+ *
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãçºçæã®CPUã®ç¶æ
+ã¯æ¬¡ã®ã¨ãã.
+ *
+ *  FLGã¬ã¸ã¹ã¿ã®Iãããã¯ 0(å²è¾¼ã¿ç¦æ­¢) 
+ *  FLGã¬ã¸ã¹ã¿ã®IPLã¯åãä»ããå²è¾¼ã¿ã®IPL
+ *  FLGã¬ã¸ã¹ã¿ã®Uãããã¯, å²è¾¼ã¿ã®ç¨®é¡ã«ãã£ã¦ç°ãªãã,
+ *  ã«ã¼ãã«ã§ã¯ISPã®ã¿ãä½¿ç¨ã, USPãä½¿ç¨ãã¦ããªããã,
+ *  ããã§ã¯åé¡ã¨ãªããªã.
+ *
+ *  å²è¾¼ã¿/ä¾å¤çºçæã«ã¯, èªåçã« FLG, PCãã¹ã¿ãã¯ã¸ä¿å­ããã.
+ *  åºå
+¥ãå£å¦çã§ã¯ã¾ãæ®ãã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿å­ãã.
+ *  åæ®µã®å²è¾¼ã¿ã®å ´åã¯ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã«,
+ *  å¤éå²ãè¾¼ã¿ã®å ´åã¯å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã«, ããããä¿å­ããã.
+ *
+ *  ãã®å¾, ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ã r3r1 ã«, 
+ *  å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ã a0 ã«æ ¼ç´ããç¶æ
+ã§
+ *  å²è¾¼ã¿åºå
+¥å£å¦çã®å¾åã¸ã¸ã£ã³ããã.
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  å²è¾¼ã¿çºçæãå®è¡ä¸­ã®ã¬ã¸ã¹ã¿ã®å¤ãã¹ã¿ãã¯ã«éé¿ããï¼ãã®å¾ãã¹
+ *  ã¿ãã¯ãã¤ã³ã¿ã®å¤ãR3R1ã¬ã¸ã¹ã¿ã«ã»ããããã¢ã»ã³ãã©ã§è¨è¿°ããã
+ *  ãã³ããªã³ã°ãã­ã°ã©ã ã«åå²ããï¼
+ */
+
+#define INTHDR_ENTRY(inthdr)\
+extern void inthdr##_entry(void);\
+asm("	.glb _" #inthdr "						");\
+asm("	.glb __kernel_interrupt						");\
+asm("	.section program, code, align					");\
+asm("_" #inthdr "_entry:						");\
+asm("	pushm	r0,r1,r2,r3,a0,a1,sb,fb	; ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã¹ã¿ãã¯ã¸éé¿");\
+asm("	stc	isp, r3r1		; ã¹ã¿ãã¯ãã¤ã³ã¿ãåãåºã	");\
+asm("	mov.l	#_" #inthdr ", a0	; å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãa0ã¸");\
+asm("	jmp	__kernel_interrupt	; å²è¾¼ã¿å¦çã«ã¼ãã³å¾åã¸	");
+
+#define INT_ENTRY(inthdr)	inthdr##_entry
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define EXC_ENTRY(exchdr)	INT_ENTRY(exchdr)
+#define EXCHDR_ENTRY(exchdr)	INTHDR_ENTRY(exchdr)
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* 
+	 *  ãã¹ãã«ã¦ã³ã¿ã1ããå¤§ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+	 */
+	return( intnest > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	/*
+	 *  ä¾å¤çºçåã®FLGã¬ã¸ã¹ã¿Iãããã0ãªãCPUã­ãã¯ç¶æ
+
+	 *
+	 *  ä¸å¼ã®å®æ°28ã¯CPUä¾å¤å
+¥ãå£å¦çã§ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ã©ã
+	 *  ä¿å­ããã¦ãããã«ä¾å­ãã¦æ±ºå®ããæ°å¤
+	 */
+	return( ( *(char *)((char *)p_excinf+28) & FLG_I_MASK ) == 0);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå(cpu_config.c)
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç(cpu_config.c)
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_context.h	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼M32Cç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW *sp;
+
+	/*  ã¹ã¿ãã¯ãã¤ã³ã¿åæå¤ã®è¨­å®  */
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+
+	/*  ã¿ã¹ã¯èµ·åã«å¿
+è¦ãªãã¼ã¿(å¼æ°,æ»ãçªå°,èµ·åçªå°)ãã¹ã¿ãã¯ã«ç©ã  */
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW)ext_tsk;
+	*--sp = (VW)(tcb->tinib->task);
+
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.a30  */
+	tcb->tskctxb.sp = sp;
+}
+
+/*
+ *  calltex ãä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_defs.h	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼M32Cç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define	M32C		/* ãã­ã»ããµç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+typedef char	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå·	*/
+typedef char	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå·	*/
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_insn.h	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼M32Cç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  FLGã¬ã¸ã¹ã¿ã®åãããã«å¯¾ãããã¹ã¯
+ */
+#define FLG_I_MASK		(0x0040)
+
+
+/*
+ *  Inlineé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+Inline volatile unsigned short current_flgreg(void);
+Inline void disint(void);
+Inline void enaint(void);
+
+
+/*
+ *  ãã©ã°ã¬ã¸ã¹ã¿(FLG)ã®ç¾å¨å¤ã®èª­åºã
+ */
+
+Inline volatile unsigned short
+current_flgreg(void)
+{
+	volatile unsigned short flg;
+	asm("	stc flg, $$[FB]", flg);
+	return(flg);
+}
+
+/*
+ *  å¤é¨å²è¾¼ã¿å
+¨ç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+	asm("	fclr	i");
+}
+
+/*
+ *  å¤é¨å²è¾¼ã¿å
+¨ç¦æ­¢è§£é¤
+ */
+Inline void
+enaint(void)
+{
+	asm("	fset	i");
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+activate_r
+ret_int
+interrupt
+intnest
+break_wait
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_rename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define interrupt		_kernel_interrupt
+#define intnest			_kernel_intnest
+#define break_wait		_kernel_break_wait
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _interrupt		__kernel_interrupt
+#define _intnest		__kernel_intnest
+#define _break_wait		__kernel_break_wait
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_support.a30
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_support.a30	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_support.a30	(revision 26)
@@ -0,0 +1,350 @@
+;*
+;*  TOPPERS/JSP Kernel
+;*      Toyohashi Open Platform for Embedded Real-Time Systems/
+;*      Just Standard Profile Kernel
+;*
+;*  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+;*                              Toyohashi Univ. of Technology, JAPAN
+;*  Copyright (C) 2003-2005 by Naoki Saito
+;*             Nagoya Municipal Industrial Research Institute, JAPAN
+;*  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+;*              Platform Development Center RICOH COMPANY,LTD. JAPAN
+;*
+;*  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+;*  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;*  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;*  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;*  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;*  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;*      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;*      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;*  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;*      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;*      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;*      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;*      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;*      ã¨ï¼
+;*    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;*        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;*        å ±åãããã¨ï¼
+;*  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;*      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;*
+;*  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;*  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;*  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;*  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;* 
+;*  @(#) $Id: cpu_support.a30,v 1.4 2005/11/24 12:41:23 honda Exp $
+
+
+;
+;	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼M32Cç¨ï¼
+;
+
+;
+;  offset.inc ã¯TCBã®å
+é ­ããã¡ã³ãã¾ã§ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+;
+	.include	offset.inc
+
+	.glb	__kernel_runtsk
+	.glb	__kernel_schedtsk
+	.glb	__kernel_reqflg
+	.glb	__kernel_enadsp
+
+	.glb	__kernel_dispatch
+	.glb	__kernel_exit_and_dispatch
+	.glb	__kernel_activate_r
+	.glb	__kernel_call_texrtn
+	.glb	__kernel_interrupt
+	.glb	__kernel_intnest
+
+	.glb	_iana_tsk
+	.glb	__kernel_break_wait
+
+	.section	program, code, align
+;
+;	ã¿ã¹ã¯ãã£ã¹ãããã£
+;
+;   dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªã
+;   ãã°ãªããªãï¼exit_and_dispatch ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼
+;   ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼
+;   å²è¾¼ã¿ã¢ã¼ãã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+;	å¼ã³åºãæ¡ä»¶: IPL=0, FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+),
+;			intnest = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+__kernel_dispatch:
+	pushm	r0,r1,r2,r3,a0,a1,sb,fb 	; ã¹ã¿ãã¯ã¸ã¬ã¸ã¹ã¿ä¿å­
+	mov.l	__kernel_runtsk, a0     
+	stc  	isp, TCB_sp[a0]         	; ã¹ã¿ãã¯ãã¤ã³ã¿ãTCBã«ä¿å­
+	mov.l	#dispatch_r, TCB_pc[a0] 	; å®è¡åéçªå°ãTCBã«ä¿å­
+	jmp.b	dispatcher
+;
+;	å¼ã³åºãæ¡ä»¶: IPL=0, FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+),
+;			intnest = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+;	a0 ã«ã¯runtsk ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã
+;
+dispatch_r:
+	mov.b	TCB_enatex[a0], r0l
+	btst 	TCB_enatex_bit, r0l     	; ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯?
+	jz   	dispatch_r_1            	; è¨±å¯ã§ãªããã° dispatch_r_1 ã¸
+	mov.w	TCB_texptn[a0], r0      	; ä¿çä¾å¤è¦å ããããï¼
+	jz   	dispatch_r_1            	; ãªããã° dispatch_r_1 ã¸
+	jsr.a	__kernel_call_texrtn    	; ã¿ã¹ã¯ä¾å¤ãã³ãã©ã¸
+dispatch_r_1:	                    	; ã¿ã¹ã¯ä¾å¤ãå®è¡ããªãå ´å
+	popm 	r0,r1,r2,r3,a0,a1,sb,fb 	; ã¿ã¹ã¯ã¹ã¿ãã¯ããã¬ã¸ã¹ã¿å¾©å¸°
+	rts  	                        	; dispatch å¼ã³åºãå
+ã¸æ»ã.
+
+
+;
+;	ã¿ã¹ã¯èµ·åæå¦ç
+;
+;	ããã§ã¯, CPUã­ãã¯è§£é¤ç¶æ
+ã«ã, ã¿ã¹ã¯ãèµ·åãã.
+;
+;	å¼åºæ¡ä»¶: FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+), ã¿ã¹ã¯ã¹ã¿ãã¯
+;		IPL=0, ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;
+__kernel_activate_r:
+	pop.w 	r0
+	pop.w 	r2
+	mov.l 	r2r0, a0    	; ã¿ã¹ã¯ã®èµ·åçªå°ãA0ã«è¨­å®
+	ldc   	#0040h, flg 	; å²è¾¼ã¿è¨±å¯, ISP, IPL=0
+	jmpi.a	a0
+
+;
+;	dispatchå¼ã³åºãæ¡ä»¶:
+;		ã»ãã¹ã¦ã®ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ãã¯ä¿å­ããã¦ãã.
+;		ã»FLGã¬ã¸ã¹ã¿Iããã=0 (CPUã­ãã¯ç¶æ
+)
+;		ã»ã³ã³ãã­ã¹ãã¯ã«ã¼ãã«èµ·åæãé¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;		èµ·åæã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=1)ã§, ãã®å ´åã«ãå¯¾å¿.
+;	dispatcher å¼åºæã®ã¹ã¿ãã¯:
+;		__kernel_dispatch ããããå ´å: ã¿ã¹ã¯ã¹ã¿ãã¯
+;		exit_and_dispatch ããããå ´å: 
+;			exit_task ããããå ´åã¯ã¿ã¹ã¯ã¹ã¿ãã¯
+;			ã«ã¼ãã«èµ·åæã¯å²è¾¼ã¿ã¹ã¿ãã¯
+;		ret_int ããããå ´å: å²è¾¼ã¿ã¹ã¿ãã¯
+;		dispatcher_2 ã§ã®å²è¾¼ã¿å¾
+ã¡ããããå ´å: å²è¾¼ã¿ã¹ã¿ãã¯
+;
+
+__kernel_exit_and_dispatch:
+	fclr  	i                    	; å²è¾¼ã¿ç¦æ­¢
+	mov.b 	#0, __kernel_intnest 	; ãã¹ãã«ã¦ã³ã¿ã¯ãªã¢
+dispatcher:
+	mov.l 	__kernel_schedtsk, a0	; 
+	mov.l 	a0, __kernel_runtsk  	; schedtsk ã runtsk ã«
+	.IF MON == 1
+;   ã¿ã¹ã¯ã¢ãã¿ã¼æ©è½ç¨åå²
+;   ä¸è¦ã®å ´åã¯ (MON = 0)
+	jsr.a 	_iana_tsk            	; ã¿ã¹ã¯å®è¡æ
+å ±ã®è¨­å®
+	mov.l 	__kernel_runtsk,a0   	; a0ãå¾©å¸°
+	.ENDIF
+	jz    	dispatcher_1         	; schedtsk ããªããã°å²è¾¼ã¿å¾
+ã¡
+	ldc   	TCB_sp[a0], isp      	; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å¸°
+	jmpi.a	TCB_pc[a0]           	; å®è¡åéçªå°ã¸ã¸ã£ã³ã
+;
+;	schdedtskã NULL ã®å ´åã¯ãããããä¸ã«ã¯è¡ããªã
+;
+dispatcher_1:
+	ldc   	#RAMEND, isp         	; å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã¸åæ¿ã
+	inc.b 	__kernel_intnest     	; éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+dispatcher_2:
+	fset  	i                    	; å²è¾¼ã¿å¾
+ã¡
+	.IF USE_KD3083 != 1          	; KD3083ãä½¿ç¨ããã¨ãã¯waitå½ä»¤ãä½¿ããªã
+	wait
+	.ENDIF
+	nop
+	nop
+	nop
+	nop
+;
+;	ããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ã,å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæããã®ã¯,
+;	ããã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨,
+;	å²è¾¼ã¿ãã³ãã©å
+ã§ã®ãã£ã¹ãããé²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+;
+	fclr 	i                  	; å²è¾¼ã¿ç¦æ­¢
+	mov.w	__kernel_reqflg, r0	; reqflg ã FALSE ãªã
+	jz   	dispatcher_2       	; dispatcher_2 ã¸
+	mov.w	#0, __kernel_reqflg	; reqflgãTRUEãªãFALSEã«ãã
+	dec.b	__kernel_intnest   	; ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«æ»ã
+	jmp.b	dispatcher         	; dispatcher ã¸æ»ã
+
+
+;
+;  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+;
+;	å¼åºãæ¡ä»¶:
+;	ã»FLGã¬ã¸ã¹ã¿ã®Iããã=0, IPL=0, ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intnest=0)
+;	ã»ä½¿ç¨ã¹ã¿ãã¯ã¯ã¿ã¹ã¯ã¹ã¿ãã¯, reqflg = TRUE
+;
+ret_int:
+	mov.w	#0, __kernel_reqflg    	; reqflg <--- FALSE
+	mov.l	__kernel_runtsk, a0    	; ãã ret_int_r ã«ã¸ã£ã³ãããå ´åãããã®ã§ããã§ã»ãã
+	mov.w	__kernel_enadsp, r0    	; enadsp ã FALSE ãªã
+	jz   	ret_int_r              	; ret_int_r ã¸
+	mov.l	__kernel_schedtsk, a1  	; schedtskã¨
+	cmp.l	a0, a1                 	; runtsk ãåããªã
+	jeq  	ret_int_r              	; ret_int_r ã¸
+	mov.l	a0, r2r0               	; runtsk = NULL ãªã
+	jz   	dispatcher             	; ä¿å­ããdispatherã¸
+	stc  	isp, TCB_sp[a0]        	; ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­
+	mov.l	#ret_int_r, TCB_pc[a0] 	; å®è¡åéçªå°ãä¿å­
+	jmp.b	dispatcher
+
+__kernel_break_wait:
+ret_int_r:
+	mov.b	TCB_enatex[a0],r0l     	; enatex ã FALSE ãªããªã¿ã¼ã³
+	btst 	TCB_enatex_bit,r0l
+	jz   	ret_int_r_1
+	mov.w	TCB_texptn[a0],r0      	; texptn ã 0 ãªãã°ãªã¿ã¼ã³
+	jz   	ret_int_r_1
+	jsr.a	__kernel_call_texrtn   	; ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã
+ret_int_r_1:
+	popm 	r0,r1,r2,r3,a0,a1,sb,fb	; ã¹ã¿ãã¯ããã¬ã¸ã¹ã¿ãå¾©å¸°
+	reit 	                       	; ã¿ã¹ã¯ã¸æ»ã
+
+
+;
+;	å²è¾¼ã¿/CPUä¾å¤ã®åºå
+¥å£å¦ç(ã¢ã»ã³ããªè¨èªè¨è¿°é¨å)
+;
+;	å¼åºãæ¡ä»¶:
+;	ã»FLGã¬ã¸ã¹ã¿ã®Iããã=0, IPLã¯åä»ããå²è¾¼ã¿ã®IPL.
+;	ã»ã¹ã¿ãã¯ã¯å¤éå²ãè¾¼ã¿ãªãå²è¾¼ã¿ã¹ã¿ãã¯, ããã§ãªããã°
+;	  ã¿ã¹ã¯ã¹ã¿ãã¯
+;	ã»a0 ã«ã¯å²è¾¼ã¿/CPUä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã.
+;	ã»r3r1 ã«ã¯(ã¿ã¹ã¯orå²è¾¼ã¿)ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ãæ ¼ç´ããã¦ãã.
+;	ããã¯ãã®ã¾ã¾CPUä¾å¤ãã³ãã©ã«æ¸¡ãVPåã®å¤æ° p_excinf ã¨ãªã.
+;	ãã¤ã³ã¿å¤æ°ã¯ããã©ã«ãã§farãã¤ã³ã¿ãªã®ã§VPåã¯4ãã¤ããµã¤ãºã®
+;	ãã¤ã³ã¿ã¨ãªã, å¼æ°ãã¹ã¿ãã¯ã§æ¸¡ããã¨ã«ãªã.
+;
+;	ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ä¸ã«ã©ã®ããã«ä¿å­ããã¦ããããä»¥ä¸ã«ç¤ºã.
+;	ãã®å³ã§ã¯ä¸ãä½ä½, ä¸ãé«ä½ã®ã¢ãã¬ã¹ã§, ã¹ã¿ãã¯ã¯ä¸ãã
+;	ä¸æ¹åã«åãã£ã¦ç©ã¿ä¸ãããããã®ã¨ãã.
+;
+;	--------------------------
+;	|       R0(2byte)        | <----- p_excinf
+;	-------------------------
+;	|       R1(2byte)        |
+;	-------------------------
+;	|       R2(2byte)        |
+;	-------------------------
+;	|       R3(2byte)        |
+;	-------------------------
+;	|       A0(4byte)        |
+;	|                        |
+;	-------------------------
+;	|       A1(4byte)        |
+;	|                        |
+;	-------------------------
+;	|       SB(4byte)        |
+;	|                        |
+;	-------------------------
+;	|       FB(4byte)        |
+;	|                        |
+;	-------------------------
+;	|       PC(4byte)        |
+;	|                        |
+;	-------------------------
+;	|       FLG(2byte)       |
+;	-------------------------
+;
+;	ãã³ãã©ãããªã¿ã¼ã³ããå¾ã¯, å¤éå²è¾¼ã¿ã§ãªã, ãã¤ reqflg ã
+;	TRUE ã«ãªã£ãæã«ï¼ret_int ã¸åå²ããï¼
+;
+;	å¤éå²è¾¼ã¿ãã©ããã¯å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®å¤ã§å¤å®ãã.
+;	intnest != 0 ãªãã°å¤éå²è¾¼ã¿ã§ããã¨å¤å®ãã.
+;
+;	reqflg ã¯CPUã­ãã¯ç¶æ
+ã§ãã§ãã¯ãã. ããã§ãªãã¨ï¼
+;	reqflg ãã§ãã¯å¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+;	ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£ã¹ããããããªã.
+;
+__kernel_interrupt:
+	cmp.b   	#0, __kernel_intnest	; å¤éå²ãè¾¼ã¿ãã©ãã
+	jnz     	int_from_int        	; 0ã§ãªããã°å¤éå²è¾¼ã¿
+int_from_task:                      	; åæ®µã®å²è¾¼ã¿
+	ldc     	#RAMEND, isp        	; å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã¸åæ¿ãã
+int_from_int:                       	; å¤éå²è¾¼ã¿
+	inc.b   	__kernel_intnest    	; ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã
+	push.w  	r3                  	; ã¹ã¿ãã¯ãã¤ã³ã¿ãå²è¾¼ã¿ã¹ã¿ãã¯ã¸ä¿å­
+	push.w  	r1                  	; (å²è¾¼ã¿æã¯ä¿å­ã®å¿
+è¦ãªãã, ä¾å¤æã¨ã«ã¼ãã³å
+±æã®ãã)
+	fset    	i                   	; å²è¾¼ã¿ç¦æ­¢è§£é¤
+	jsri.a  	a0                  	; Cã«ã¼ãã³å¼ã³åºã
+	fclr    	i                   	; å²è¾¼ã¿ç¦æ­¢
+	pop.w   	r1                  	; ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å¸°
+	pop.w   	r3                  	; (å²è¾¼ã¿æã¯å¾©å¸°ã®å¿
+è¦ãªãã, ä¾å¤æã¨ã«ã¼ãã³å
+±æã®ãã)
+	dec.b   	__kernel_intnest    	; ãã¹ãåæ°ããã¯ãªã¡ã³ã
+	jnz     	int_return          	; å¤éå²ãè¾¼ã¿ãªããªã¿ã¼ã³
+int_from_task2:                     	; åæ®µã®å²è¾¼ã¿
+	ldc     	r3r1, isp           	; ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã«æ»ã
+	ldipl   	#0                  	; ã¿ã¹ã¯ã®IPLå¤ãã»ãã(IPL=0)
+	mov.w   	__kernel_reqflg, r1 	; ãã£ã¹ãããè¦æ±ããªãã?
+	jz      	int_return          	; ãªããã°å²è¾¼ã¿çºçå
+ã®ã¿ã¹ã¯ã«æ»ã
+	jmp.b   	ret_int             	; ããã° ret_int ã¸ã¸ã£ã³ã
+int_return:
+	popm    	r0,r1,r2,r3,a0,a1,sb,fb	; ã¬ã¸ã¹ã¿å¾©å¸°
+	reit    	                    	; å²è¾¼ã¿åã®å¦çã«æ»ã
+
+;
+;  å¾®å°æéå¾
+ã¡
+;
+SIL_DLY_TIM1	.equ	264	; æå°æé(ã«ã¼ã0å)[ns]
+SIL_DLY_TIM2	.equ	66	; ã«ã¼ã1åãããã®æé[ns]
+
+	.glb	$sil_dly_nse
+$sil_dly_nse:
+	sub.w #SIL_DLY_TIM1, r0
+	jgtu L0
+	rts
+L0:
+	sub.w #SIL_DLY_TIM2, r0
+	jgtu L0
+	rts
+
+
+	; æªä½¿ç¨å²è¾¼ã¿ã®å¦ç
+	.glb _unused_interrupt
+_unused_interrupt:
+	reit
+
+	.end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/cpu_unrename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef interrupt
+#undef intnest
+#undef break_wait
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _interrupt
+#undef _intnest
+#undef _break_wait
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.a30
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.a30	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.a30	(revision 26)
@@ -0,0 +1,370 @@
+	._LANG	'C','5.02.05','REV.F'
+
+;## NC308 C Compiler OUTPUT
+;## ccom308 Version 5.02.05
+;## COPYRIGHT(C) 1999(2004) RENESAS TECHNOLOGY CORPORATION
+;## AND RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+;## Compile Start Time Wed Aug 04 13:51:05 2004
+
+;## COMMAND_LINE: ccom308  C:\MTOOL\TMP\makeoffset.i -o ..\..\config\m32c-renesas\makeoffset.a30 -dS
+
+
+;## Normal Optimize		OFF
+;## ROM size Optimize		OFF
+;## Speed Optimize		OFF
+;## Default ROM is		far
+;## Default RAM is		near
+
+	.GLB	__SB__
+	.SB	__SB__
+	.FB	0
+
+;## #	FUNCTION kernel_abort
+
+;## #	FUNCTION _syslog_0
+
+;## #	FUNCTION _syslog_1
+
+;## #	FUNCTION _syslog_2
+
+;## #	FUNCTION _syslog_3
+
+;## #	FUNCTION _syslog_4
+
+;## #	FUNCTION _syslog_5
+
+;## #	FUNCTION _syslog_6
+
+;## #	FUNCTION current_flgreg
+
+;## #	FUNCTION disint
+
+;## #	FUNCTION enaint
+
+;## #	FUNCTION sense_context
+
+;## #	FUNCTION sense_lock
+
+;## #	FUNCTION lock_cpu
+
+;## #	FUNCTION unlock_cpu
+
+;## #	FUNCTION define_inh
+
+;## #	FUNCTION define_exc
+
+;## #	FUNCTION exc_sense_context
+
+;## #	FUNCTION exc_sense_lock
+
+;## #	FUNCTION queue_initialize
+
+;## #	FUNCTION queue_insert_prev
+
+;## #	FUNCTION queue_delete
+
+;## #	FUNCTION queue_delete_next
+
+;## #	FUNCTION queue_empty
+
+;## #	FUNCTION tmevtb_enqueue
+
+;## #	FUNCTION tmevtb_enqueue_evttim
+
+;## #	FUNCTION tmevtb_dequeue
+
+;## #	FUNCTION makeoffset
+;## #	ARG Size(0)	Auto Size(0)	Context Size(4)
+
+
+	.SECTION	program,CODE,ALIGN
+	._file	'../../config/m32c-renesas/makeoffset.c'
+	.align
+	._line	196
+;## # C_SRC :	{
+	.glb	_makeoffset
+_makeoffset:
+	pushm	A0
+	._line	197
+;## # C_SRC :		asm("! BEGIN TCB_texptn\n");
+;#### ASM START
+! BEGIN TCB_texptn
+;#### ASM END
+	._line	198
+;## # C_SRC :		(INT)(((TCB *)0)->texptn) |= 1;
+	mov.l	#00000000H,A0
+	or.w	#0001H,00000eH[A0]
+	._line	199
+;## # C_SRC :		asm("! END");
+;#### ASM START
+! END
+	._line	201
+;## # C_SRC :		asm("! BEGIN TCB_sp\n");
+! BEGIN TCB_sp
+;#### ASM END
+	._line	202
+;## # C_SRC :		*(char *)(((TCB *)0)->tskctxb.sp) |= 1;
+	mov.l	00000014H,A0
+	extz	[A0],R0
+	bset	0,R0L
+	mov.l	#00000014H,A0
+	mov.b	R0L,[[A0]]
+	._line	203
+;## # C_SRC :		asm("! END");
+;#### ASM START
+! END
+	._line	205
+;## # C_SRC :		asm("! BEGIN TCB_pc\n");
+! BEGIN TCB_pc
+;#### ASM END
+	._line	206
+;## # C_SRC :		(((TCB *)0)->tskctxb.pc)();
+	mov.l	#00000018H,A0
+	jsri.a	[A0]
+	._line	207
+;## # C_SRC :		asm("! END");
+;#### ASM START
+! END
+	._line	209
+;## # C_SRC :		asm("! BEGIN TCB_enatex\n");
+! BEGIN TCB_enatex
+;#### ASM END
+	._line	210
+;## # C_SRC :		(INT)(((TCB *)0)->enatex) = 1;
+	bset	6,0000000cH+1
+	._line	211
+;## # C_SRC :		asm("! END");
+;#### ASM START
+! END
+;#### ASM END
+	._line	212
+;## # C_SRC :	}
+	popm	A0
+	rts	
+E1:
+	.glb	_vxget_tim
+	.glb	_hardware_start
+	.glb	$vwri_log
+	.glb	_vrea_log
+	.glb	$vmsk_log
+	.glb	_syslog
+	.glb	_syslog_printf
+	.glb	_syslog_print
+	.glb	_syslog_output
+	.glb	$act_tsk
+	.glb	$iact_tsk
+	.glb	$can_act
+	.glb	_ext_tsk
+	.glb	$ter_tsk
+	.glb	$chg_pri
+	.glb	$get_pri
+	.glb	_slp_tsk
+	.glb	$tslp_tsk
+	.glb	$wup_tsk
+	.glb	$iwup_tsk
+	.glb	$can_wup
+	.glb	$rel_wai
+	.glb	$irel_wai
+	.glb	$sus_tsk
+	.glb	$rsm_tsk
+	.glb	$frsm_tsk
+	.glb	$dly_tsk
+	.glb	$ras_tex
+	.glb	$iras_tex
+	.glb	_dis_tex
+	.glb	_ena_tex
+	.glb	_sns_tex
+	.glb	$sig_sem
+	.glb	$isig_sem
+	.glb	$wai_sem
+	.glb	$pol_sem
+	.glb	$twai_sem
+	.glb	$set_flg
+	.glb	$iset_flg
+	.glb	$clr_flg
+	.glb	$wai_flg
+	.glb	$pol_flg
+	.glb	$twai_flg
+	.glb	$snd_dtq
+	.glb	$psnd_dtq
+	.glb	$ipsnd_dtq
+	.glb	$tsnd_dtq
+	.glb	$fsnd_dtq
+	.glb	$ifsnd_dtq
+	.glb	$rcv_dtq
+	.glb	$prcv_dtq
+	.glb	$trcv_dtq
+	.glb	$snd_mbx
+	.glb	$rcv_mbx
+	.glb	$prcv_mbx
+	.glb	$trcv_mbx
+	.glb	$get_mpf
+	.glb	$pget_mpf
+	.glb	$tget_mpf
+	.glb	$rel_mpf
+	.glb	_set_tim
+	.glb	_get_tim
+	.glb	_isig_tim
+	.glb	$sta_cyc
+	.glb	$stp_cyc
+	.glb	$rot_rdq
+	.glb	$irot_rdq
+	.glb	_get_tid
+	.glb	_iget_tid
+	.glb	_loc_cpu
+	.glb	_iloc_cpu
+	.glb	_unl_cpu
+	.glb	_iunl_cpu
+	.glb	_dis_dsp
+	.glb	_ena_dsp
+	.glb	_sns_ctx
+	.glb	_sns_loc
+	.glb	_sns_dsp
+	.glb	_sns_dpn
+	.glb	_vxsns_ctx
+	.glb	_vxsns_loc
+	.glb	_vxsns_dsp
+	.glb	_vxsns_dpn
+	.glb	_vxsns_tex
+	.glb	_vsns_ini
+	.glb	__kernel_sys_initialize
+	.glb	__kernel_sys_exit
+	.glb	$_kernel_sys_putc
+	.glb	_sys_led
+	.glb	__kernel_intnest
+	.glb	__kernel_dispatch
+	.glb	__kernel_exit_and_dispatch
+	.glb	__kernel_cpu_initialize
+	.glb	__kernel_cpu_terminate
+	.glb	__kernel_object_initialize
+	.glb	__kernel_call_inirtn
+	.glb	__kernel_call_terrtn
+	.glb	__kernel_print_banner
+	.glb	_kernel_exit
+	.glb	__kernel_iniflg
+	.glb	__kernel_tmevt_heap
+	.glb	__kernel_systim_offset
+	.glb	__kernel_current_time
+	.glb	__kernel_next_time
+	.glb	__kernel_last_index
+	.glb	__kernel_tmevt_initialize
+	.glb	$_kernel_tmevt_up
+	.glb	$_kernel_tmevt_down
+	.glb	__kernel_tmevtb_insert
+	.glb	__kernel_tmevtb_delete
+	.glb	__kernel_runtsk
+	.glb	__kernel_schedtsk
+	.glb	__kernel_reqflg
+	.glb	__kernel_enadsp
+	.glb	__kernel_ready_queue
+	.glb	__kernel_ready_primap
+	.glb	__kernel_tmax_tskid
+	.glb	__kernel_tinib_table
+	.glb	__kernel_torder_table
+	.glb	__kernel_tcb_table
+	.glb	__kernel_task_initialize
+	.glb	__kernel_search_schedtsk
+	.glb	__kernel_make_runnable
+	.glb	__kernel_make_non_runnable
+	.glb	__kernel_make_dormant
+	.glb	__kernel_make_active
+	.glb	__kernel_exit_task
+	.glb	__kernel_change_priority
+	.glb	$_kernel_rotate_ready_queue
+	.glb	__kernel_call_texrtn
+	.glb	__kernel_calltex
+
+	.SECTION	rom_FO,ROMDATA
+___T4:
+	.byte	74H	;  't'
+	.byte	69H	;  'i'
+	.byte	6dH	;  'm'
+	.byte	65H	;  'e'
+	.byte	5fH	;  '_'
+	.byte	65H	;  'e'
+	.byte	76H	;  'v'
+	.byte	65H	;  'e'
+	.byte	6eH	;  'n'
+	.byte	74H	;  't'
+	.byte	2eH	;  '.'
+	.byte	68H	;  'h'
+	.byte	00H
+___T3:
+	.byte	74H	;  't'
+	.byte	69H	;  'i'
+	.byte	6dH	;  'm'
+	.byte	65H	;  'e'
+	.byte	20H	;  ' '
+	.byte	3cH	;  '<'
+	.byte	3dH	;  '='
+	.byte	20H	;  ' '
+	.byte	54H	;  'T'
+	.byte	4dH	;  'M'
+	.byte	41H	;  'A'
+	.byte	58H	;  'X'
+	.byte	5fH	;  '_'
+	.byte	52H	;  'R'
+	.byte	45H	;  'E'
+	.byte	4cH	;  'L'
+	.byte	54H	;  'T'
+	.byte	49H	;  'I'
+	.byte	4dH	;  'M'
+	.byte	00H
+___T2:
+	.byte	71H	;  'q'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	2dH	;  '-'
+	.byte	3eH	;  '>'
+	.byte	70H	;  'p'
+	.byte	72H	;  'r'
+	.byte	65H	;  'e'
+	.byte	76H	;  'v'
+	.byte	20H	;  ' '
+	.byte	3dH	;  '='
+	.byte	3dH	;  '='
+	.byte	20H	;  ' '
+	.byte	71H	;  'q'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	00H
+___T1:
+	.byte	71H	;  'q'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	2eH	;  '.'
+	.byte	68H	;  'h'
+	.byte	00H
+___T0:
+	.byte	71H	;  'q'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	2dH	;  '-'
+	.byte	3eH	;  '>'
+	.byte	6eH	;  'n'
+	.byte	65H	;  'e'
+	.byte	78H	;  'x'
+	.byte	74H	;  't'
+	.byte	20H	;  ' '
+	.byte	21H	;  '!'
+	.byte	3dH	;  '='
+	.byte	20H	;  ' '
+	.byte	71H	;  'q'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	75H	;  'u'
+	.byte	65H	;  'e'
+	.byte	00H
+	.END
+
+;## Compile End Time Wed Aug 04 13:51:05 2004
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/makeoffset.c	(revision 26)
@@ -0,0 +1,239 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+
+/*
+ *	offset.inc (ãããã¯ offset.h) ã«ã¤ãã¦
+ *
+ *	  offset.inc ã¯æ§é ä½ã®ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãç®ã«
+ *	å­å¨ãããã¨ãããã¨ã, ç¹å®ã®ããããã£ã¼ã«ããå
+é ­ãã
+ *	ä½ãã¤ãå
+ã®ä½ãããç®ã«å­å¨ããã, ã¨ããæ
+å ±ã
+ *	ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã«ä¸ããããã«å­å¨ãã¦ãã.
+ *
+ *	  offset.inc ãã¡ã¤ã«ã®ä¸­èº«ã¯, åãªãã·ã³ãã«å®ç¾©ãã¡ã¤ã«ã§ãã.
+ *	ã·ã³ãã«ã¨ãã£ã¦ãå®ç¾©ããã·ã³ãã«ã®åç§°ã«ã¯ãã¿ã¼ã³ããã,
+ *	å¤§ããåãã¦æ¬¡ã®3ç¨®é¡ã«åé¡ã§ãã.
+ *
+ *	<æ§é ä½å>_<è¦ç´ å>	(ä¾) TCB_sp, TCB_pc, TCB_enatex ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_bit	(ä¾) TCB_enatex_bit ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_mask (ä¾) TCB_enatex_mask ãªã©
+ *
+ *	(ä¾)
+ *		TCB_texptn		.equ	14
+ *		TCB_sp			.equ	20
+ *		TCB_pc			.equ	24
+ *		TCB_enatex		.equ	13
+ *		TCB_enatex_bit		.equ	 6
+ *		TCB_enatex_mask		.equ	0040H
+ *
+ *	  ä¸çªã¯ããã¯ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãå
+ã«ããã
+ *	ã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°.
+ *	  äºçªç®ã¯ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã, ä¸ä½ããæ°ãã¦
+ *	ä½ãããç®ã«ãããã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°. 
+ *	0ããå§ã¾ãæ°å¤ã§è¡¨ç¾ãã. æãä¸ä½ã®ãããã¯ç¬¬0ãããã§ãã.
+ *	  ä¸çªç®ã¯å
+ã»ã©ã® <æ§é ä½å>_<è¦ç´ å>_bit ã¨ãé¢é£ããã,
+ *	ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã®ãã¹ã¯å¤ã®åç§°.
+ *	_bit ã¨ *_mask ã®å¤ã®éã«ã¯æ¬¡ã®é¢ä¿ããã.
+ *		(*_mask) == (1 << *_bit)
+ * *	(ä¾) TCB_enatex_bit ã 6 ã®æ, TCB_enatex_mask ã¯ 40H
+ *
+ *	  ã¡ãªã¿ã«M32Cä¾å­é¨ã®å®è£
+ã§ã¯, ç¹å®ãããã®ãã§ãã¯ãªã©ã«
+ *	ãããå½ä»¤ã¢ãã¬ãã·ã³ã°ãä½¿ç¨ãã¦ããã®ã§ *_mask ã¨ããã©ãã«ã¯
+ *	ä½¿ç¨ãã¦ããªã.
+ */
+
+/*
+ *	offset.inc ã®ä½ãæ¹(M32Cã¿ã¼ã²ããä¾å­é¨åã)
+ *
+ *	  GNU Cã³ã³ãã¤ã©ãç¨ãã¦ããã¿ã¼ã²ããä¾å­é¨ã«ã¤ãã¦ã¯,
+ *	ã«ã¼ãã«ã®ããããã£ã¬ã¯ããªã®ä¸ã«ãã util ã¨ãããã£ã¬ã¯ããªã®
+ *	ä¸ã« genoffset ã¨ãã perl ã¹ã¯ãªãããç¨æããã¦ããã®ã§,
+ *	ç¹ã«æåã§ offset.h ãä½æããå¿
+è¦ã¯ãªã.
+ *	  genoffset ã¯ GNU éçºç°å¢ãæ³å®ãã¦ä½æããã¦ããã®ã§,
+ *	çæãããã¢ã»ã³ããªè¨èªçä¼¼å½ä»¤ãçæè¦åã®ç°ãªãä»ã®
+ *	Cã³ã³ãã¤ã©ã«ã¯ãã®ã¾ã¾é©ç¨ã§ããªãå¯è½æ§ããã.
+ *	  ããã§, ããã§ã¯Windowsç°å¢ åãã® genoffset ãç¨æãã,
+ *	ä½ãæ¹ãããã«è¨ã, æä½æ¥­ã§ offset.inc ãä½æãã¦ããããã¨ã¨
+ *	ãã. ä»¥ä¸ã«ãã®æ¹æ³ãç¤ºã. ãªã, ãã®æ¹æ³ã¯M32Cã®éçºç°å¢ã
+ *	å½ä»¤ã»ããã«ä¾å­ãã¦ãããã, ä»ã®ã¿ã¼ã²ãããä½¿ç¨ãã¦ããå ´åã¯
+ *	ãã®ã¾ã¾é©ç¨ã§ããªã.
+ *
+ *  1.	makeoffset.c ã¨ãããã¡ã¤ã«ããCã³ã³ãã¤ã©ãä½¿ç¨ãã¦
+ *	ã¢ã»ã³ããªè¨èªãã¡ã¤ã« makeoffset.a30 ãçæãã.
+ *	ã³ã³ãã¤ã«ãªãã·ã§ã³ã¯ã«ã¼ãã«ã³ã¼ãã«ä¸ãããã®ã¨åã
+ *	ãã®ãä¸ãã. 
+ *	ã«ããµã¹è£½ãã¼ã« TM ãä½¿ç¨ãã¦ããå ´åã¯, ãã­ã¸ã§ã¯ãã¨ãã£ã¿ã®
+ *	çææé ãã¥ã¼ãã makeoffset.a30 ãé¸ã³, å³ã¯ãªãã¯ã¡ãã¥ã¼ã®
+ *	ãé¨åãã«ãããé¸æãããã¨ã§çæã§ãã.
+ *	ãããã¯ã³ãã³ããã­ã³ããã§ã¡ã¤ã¯ãã¡ã¤ã«ã¨åããã£ã¬ã¯ããªã«
+ *	ç§»åã, "make -f ã¡ã¤ã¯ãã¡ã¤ã«å makeoffset.a30" ã
+ *	å®è¡ãã¦ãåæ§ã®çµæãå¾ããã. (ã¡ã¤ã¯ãã¡ã¤ã«ã¯TMãä½¿ç¨ãã¦
+ *	ãããã®ã¨åããã¡ã¤ã«ãæå®å¯è½)
+ *
+ *  2.	å
+ã»ã©ã® 1. ã®ä½æ¥­ã§å¾ããã, makeoffset.a30 ãã¡ã¤ã«ãã
+ *	"! BEGIN XXXX"  ã§ã¯ãã¾ã "! END" ã§çµãã£ã¦ããé¨åãæ¢ã.
+ *
+ *	4ç®æãã, ããããå°ããã¤ç°ãªãã®ã§é ã«èª¬æãã.
+ *	(ä»¥ä¸, èª¬æä¸­ã§ã¯ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã®ã³ã¡ã³ãè¡ã¯çã)
+ *
+ * (1)	æ§é ä½ã®å
+é ­ããã¡ã³ãã¸ã®ãªãã»ãã
+ *
+ *	! BEGIN TCB_texptn
+ *		bset	00H,0000000eH
+ *	! END
+ *
+ *	ä¸è¨"! BEGIN"ã®å¾ãã®æå­åãoffset.incã§å®ç¾©ããã·ã³ãã«åã¨ãªã.
+ *	ãã®ã·ã³ãã«ã®å¤ã¯, æ¬¡è¡ã®bsetå½ä»¤ã®ç¬¬2ãªãã©ã³ãã®å¤ã§ãã
+ *	0000000eHãããã«ç¸å½ãã. ãããæ§é ä½ã®å
+é ­ããtexptnã¾ã§ã®
+ *	ãªãã»ããå¤ã¨ãªã. ãããã£ã¦ãã®å ´å, offset.inc ã«ã¯
+ *	TCB_texptn	.equ	14
+ *	ã¨ããè¡ãè¨è¿°ãã.
+ *
+ * (2)	æ§é ä½ã®ã¡ã³ããæ§é ä½ã§, ãã®ä¸­ã®ã¡ã³ãã«å¯¾ãããªãã»ãã
+ *
+ *	TCB_sp ã«ã¤ãã¦ãã»ã¼åæ§ã ã, sp ã¯TCBæ§é ä½ã®ç´æ¥ã®
+ *	ã¡ã³ãã§ãªãTCBæ§é ä½ã®ã¡ã³ãã§ããCTXBæ§é ä½ã®ã¡ã³ãã§
+ *	ããç¹ãç°ãªã. ããã§ãå®ç¾©ããã·ã³ãã«åã¨ãã¦ã¯
+ *	TCB_sp ã®ããã«è¡¨ç¾ãã. ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã§ã¯
+ *
+ *	! BEGIN TCB_sp
+ *		mov.l	00000014H,A0
+ *		extz	[A0],R0
+ *		bset	0,R0L
+ *		mov.l	#00000014H,A0
+ *		mov.b	R0L,[[A0]]
+ *	! END *
+ *
+ *	ã®ããã«ãªã,14H(=20) ãæ±ããå¤ãªã®ã§offset.inc ã«ã¯æ¬¡ã®ããã«
+ *	è¨è¿°ãã.
+ *
+ *	TCB_sp	.equ	20
+ *
+ * (3)	ã¡ã³ããé¢æ°ã¸ã®ãã¤ã³ã¿ã§ãã£ãå ´å
+ *
+ *	æ¬¡ã¯ TCB_pc ã®å ´å.
+ *
+ *	! BEGIN TCB_pc
+ *		mov.l	#00000018H,A0
+ *		jsri.a	[A0]
+ *	! END
+ *
+ *	pc ã sp ã¨åãã, TCBæ§é ä½ã®ç´æ¥ã®ã¡ã³ãã§ã¯ãªãã
+ *	TCB_pc ã¨è¡¨ç¾ãã¦ãã. ããã¯é¢æ°ã®ã¢ãã¬ã¹ãæ ¼ç´ããå¤æ°ãªã®ã§,
+ *	(((TCB *)0)->tskctxb.pc)();
+ *	ã¨ãã¦é¢æ°å¼ã³åºãã®ããã«è¨è¿°ããã¨ä¸è¨ã®ãããªã¢ã»ã³ããªè¨èª
+ *	ã³ã¼ããåºåãã. ã·ã³ãã«å®ç¾©ããéã®ã·ã³ãã«åã¯ä»ã¾ã§ã¨
+ *	åãã, TCB_pc ã¨ãã. 
+ *	æ±ããå¤ã¯æ§é ä½ããé¢æ°ãã¤ã³ã¿ã¾ã§ã®ãªãã»ããã§ãã, ä¸ã®mov.l
+ *	å½ä»¤ã®çµæãã 	00000018H(=24) ã¨ãªã.
+ *	ãããã£ã¦, offset.inc ã«ã¯æ¬¡ã®ããã«è¨è¿°ãã.
+ *
+ *	TCB_pc	.equ	24
+ *
+ * (4)	æ§é ä½ã®ã¡ã³ããããããã£ã¼ã«ãã§ãã®ãããä½ç½®ãç¥ãããå ´å
+ *
+ *	! BEGIN TCB_enatex
+ *		bset	6,0000000cH+1
+ *	! END
+ *
+ *	ä»ã¾ã§ã¨åæ§, BEGIN ã®å¾ã®æå­åãã·ã³ãã«åã¨ãã.
+ *	ããã§ã®TCB_enatexã®å¤ã¯æ§é ä½ã®å
+é ­ããããããã£ã¼ã«ããå«ãã
+ *	ã¤ãã¾ã§ã®ãªãã»ããã§, M32Cã®ãããå½ä»¤ã¢ãã¬ãã·ã³ã°ã¯æå®ã§ã
+ *	ããããä½ç½®ã0ãã7ã®éã«åã¾ãããã«ã¢ã¯ã»ã¹ããã¢ãã¬ã¹ã«é©å½
+ *	æ°ãå ããããã®ã§ cH+1(=13) ã¨ãªã£ã¦ãã. ã¾ã, ããããã£ã¼ã«ã
+ *	ä¸­ã®æä¸ä½ãããããã®ãããä½ç½®ã¯ 6ã¨ãªã.
+ *	ä»¥ä¸ããæ¬¡ã®ããã«æ¸ããã¨ãã§ãã.
+ *
+ *		TCB_enatex	.equ	13
+ *		TCB_enatex_bit	.equ	 6
+ *		TCB_enatex_mask	.equ	40H
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+
+void makeoffset(void);
+
+void
+makeoffset(void)
+{
+	asm("! BEGIN TCB_texptn\n");
+	(INT)(((TCB *)0)->texptn) |= 1;
+	asm("! END");
+
+	asm("! BEGIN TCB_sp\n");
+	*(char *)(((TCB *)0)->tskctxb.sp) |= 1;
+	asm("! END");
+
+	asm("! BEGIN TCB_pc\n");
+	(((TCB *)0)->tskctxb.pc)();
+	asm("! END");
+
+	asm("! BEGIN TCB_enatex\n");
+	(INT)(((TCB *)0)->enatex) = 1;
+	asm("! END");
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/Makefile.kernel
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/Makefile.kernel	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/Makefile.kernel	(revision 26)
@@ -0,0 +1,150 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.kernel,v 1.3 2005/11/24 12:41:23 honda Exp $
+# 
+
+#
+#	ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#	(M32Cã§ä½¿ç¨ããããã«ãã¡ã¤ã«ã®æ¡å¼µå­é¨åãå¤æ´)
+#
+
+#
+#  ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼1ã¤ã®ã½ã¼ã¹ãã¡
+#  ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæãããã®ã®å®ç¾©
+#
+KERNEL_LCSRCS = task.c wait.c time_event.c syslog.c \
+		task_manage.c task_sync.c task_except.c \
+		semaphore.c eventflag.c dataqueue.c mailbox.c \
+		mempfix.c time_manage.c cyclic.c sys_manage.c \
+		interrupt.c exception.c
+
+ifdef USE_LB308    # ã©ã¤ãã©ãªã¢ã³ãä½¿ç¨ããå ´å
+
+#
+#  ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+KERNEL_LCOBJS = $(foreach file,$(KERNEL_LCSRCS),$($(file:.c=)))
+
+#
+#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+task = tskini.r30 tsksched.r30 tskrun.r30 tsknrun.r30 \
+		tskdmt.r30 tskact.r30 tskext.r30 tskpri.r30 tskrot.r30 tsktex.r30
+
+wait = waimake.r30 waicmp.r30 waitmo.r30 waitmook.r30 \
+		waican.r30 wairel.r30 wobjwai.r30 wobjwaitmo.r30 wobjpri.r30
+
+time_event = tmeini.r30 tmeup.r30 tmedown.r30 tmeins.r30 tmedel.r30 isig_tim.r30
+
+syslog = logini.r30 vwri_log.r30 vrea_log.r30 vmsk_log.r30 logter.r30
+
+task_manage = act_tsk.r30 iact_tsk.r30 can_act.r30 ext_tsk.r30 ter_tsk.r30 \
+		chg_pri.r30 get_pri.r30
+
+task_sync = slp_tsk.r30 tslp_tsk.r30 wup_tsk.r30 iwup_tsk.r30 can_wup.r30 \
+		rel_wai.r30 irel_wai.r30 sus_tsk.r30 rsm_tsk.r30 frsm_tsk.r30 dly_tsk.r30
+
+task_except = ras_tex.r30 iras_tex.r30 dis_tex.r30 ena_tex.r30 sns_tex.r30
+
+semaphore = semini.r30 sig_sem.r30 isig_sem.r30 wai_sem.r30 pol_sem.r30 twai_sem.r30
+
+eventflag = flgini.r30 flgcnd.r30 set_flg.r30 iset_flg.r30 clr_flg.r30 \
+		wai_flg.r30 pol_flg.r30 twai_flg.r30
+
+dataqueue = dtqini.r30 dtqenq.r30 dtqfenq.r30 dtqdeq.r30 dtqsnd.r30 dtqrcv.r30 \
+		snd_dtq.r30 psnd_dtq.r30 ipsnd_dtq.r30 tsnd_dtq.r30 \
+		fsnd_dtq.r30 ifsnd_dtq.r30 rcv_dtq.r30 prcv_dtq.r30 trcv_dtq.r30
+
+mailbox = mbxini.r30 snd_mbx.r30 rcv_mbx.r30 prcv_mbx.r30 trcv_mbx.r30
+
+mempfix = mpfini.r30 mpfget.r30 get_mpf.r30 pget_mpf.r30 tget_mpf.r30 rel_mpf.r30
+
+time_manage = set_tim.r30 get_tim.r30 vxget_tim.r30
+
+cyclic = cycini.r30 cycenq.r30 sta_cyc.r30 stp_cyc.r30 cyccal.r30
+
+sys_manage = rot_rdq.r30 irot_rdq.r30 get_tid.r30 iget_tid.r30 \
+		loc_cpu.r30 iloc_cpu.r30 unl_cpu.r30 iunl_cpu.r30 \
+		dis_dsp.r30 ena_dsp.r30 sns_ctx.r30 sns_loc.r30 sns_dsp.r30 \
+		sns_dpn.r30 vsns_ini.r30
+
+interrupt = inhini.r30
+
+exception = excini.r30 vxsns_ctx.r30 vxsns_loc.r30 \
+		vxsns_dsp.r30 vxsns_dpn.r30 vxsns_tex.r30
+
+#
+#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#
+$(task) $(task:.r30=.a30) $(task:.r30=.d): task.c
+$(wait) $(wait:.r30=.a30) $(wait:.r30=.d): wait.c
+$(time_event) $(time_event:.r30=.a30) $(time_event:.r30=.d): time_event.c
+$(syslog) $(syslog:.r30=.a30) $(syslog:.r30=.d): syslog.c
+$(task_manage) $(task_manage:.r30=.a30) $(task_manage:.r30=.d): task_manage.c
+$(task_sync) $(task_sync:.r30=.a30) $(task_sync:.r30=.d): task_sync.c
+$(task_except) $(task_except:.r30=.a30) $(task_except:.r30=.d): task_except.c
+$(semaphore) $(semaphore:.r30=.a30) $(semaphore:.r30=.d): semaphore.c
+$(eventflag) $(eventflag:.r30=.a30) $(eventflag:.r30=.d): eventflag.c
+$(dataqueue) $(dataqueue:.r30=.a30) $(dataqueue:.r30=.d): dataqueue.c
+$(mailbox) $(mailbox:.r30=.a30) $(mailbox:.r30=.d): mailbox.c
+$(mempfix) $(mempfix:.r30=.a30) $(mempfix:.r30=.d): mempfix.c
+$(time_manage) $(time_manage:.r30=.a30) $(time_manage:.r30=.d): time_manage.c
+$(cyclic) $(cyclic:.r30=.a30) $(cyclic:.r30=.d): cyclic.c
+$(sys_manage) $(sys_manage:.r30=.a30) $(sys_manage:.r30=.d): sys_manage.c
+$(interrupt) $(interrupt:.r30=.a30) $(interrupt:.r30=.d): interrupt.c
+$(exception) $(exception:.r30=.a30) $(exception:.r30=.d): exception.c
+
+else
+	# ã©ã¤ãã©ãªã¢ã³ãä½¿ç¨ã§ããªãå ´åã¯å
+¨ãã¡ã¤ã«ããªã³ã¯
+	KERNEL_LCOBJS = $(KERNEL_LCSRCS:.c=.r30)
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.cfg	(revision 26)
@@ -0,0 +1,16 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.4 2007/01/05 02:27:56 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼OAKS32ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL_IN1, { TA_HLNG, serial_in_handler1 });
+DEF_INH(INHNO_SERIAL_OUT1, { TA_HLNG, serial_out_handler1 });
+#if TNUM_PORT >= 2
+DEF_INH(INHNO_SERIAL_IN2, { TA_HLNG, serial_in_handler2 });
+DEF_INH(INHNO_SERIAL_OUT2, { TA_HLNG, serial_out_handler2 });
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_serial.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼OAKS32ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <sfruart.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SERIAL_IN1	INT_S0RACK
+#define	INHNO_SERIAL_OUT1	INT_S0TNACK
+#define INHNO_SERIAL_IN2	INT_S1RACK
+#define INHNO_SERIAL_OUT2	INT_S1TNACK
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sfruart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+#define	sio_opn_por	sfruart_opn_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+#define	sio_cls_por	sfruart_cls_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sfruart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sfruart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sfruart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sfruart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	sfruart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	sfruart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/hw_timer.h	(revision 26)
@@ -0,0 +1,195 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.4 2005/12/06 02:55:09 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼OAKS32ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <oaks32.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	INT_TA0
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+
+#define INT_LEVEL_TIMER	0x05
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ *
+ *  1msã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãä½¿ç¨ããã®ã§ãã®ã¯ã­ãã¯ãå®ç¾©ããï¼
+ */
+#define TIMER_CLOCK		(30000u)	/* 30MHz */
+#define TO_CLOCK(nume, deno)	((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
+#define	TO_USEC(clock)		((SYSUTIM)(clock) * 1000u / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffu)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	GET_TOLERANCE	(100u)	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	VB tabsr;
+
+	/*
+	 * ã¿ã¤ãåæå
+	 */
+
+	/* ã¿ã¤ãã«ã¦ã³ãåæ­¢  */
+	tabsr = sil_reb_mem((VP)TADR_SFR_TABSR);
+	tabsr &= ~TBIT_TABSR_TA0S;
+	sil_wrb_mem((VP)TADR_SFR_TABSR, tabsr);
+
+	sil_wrb_mem((VP)TADR_SFR_UDF, 0x00);	/* ãã¦ã³ã«ã¦ã³ãè¨­å®	*/
+	sil_wrb_mem((VP)TADR_SFR_TA0MR, 0x00);	/*  ã«ã¦ã³ãã½ã¼ã¹f1, ã¿ã¤ãã¢ã¼ã  */
+	/*
+	 *  ã¿ã¤ãã¯ 1msã§ TIMER_CLOCK ã«ã¦ã³ã,
+	 *  ã¬ã¸ã¹ã¿è¨­å®å¤ã¯ãã¤ãã¹1ãã.
+	 */
+	sil_wrh_mem((VP)TADR_SFR_TA0, TO_CLOCK(TIC_NUME, TIC_DENO)-1);/* ã¿ã¤ãå¤ã®åæå */
+
+	/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®	*/
+	sil_wrb_mem((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET), INT_LEVEL_TIMER);
+				/* ã«ã¦ã³ãéå§	*/
+	/* ã¿ã¤ãã«ã¦ã³ãéå§  */
+	tabsr = sil_reb_mem((VP)TADR_SFR_TABSR);
+	tabsr |= TBIT_TABSR_TA0S;
+	sil_wrb_mem((VP)TADR_SFR_TABSR, tabsr);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/*
+	 *  ãã®é¢æ°ã¯ã¿ã¤ãå²ãè¾¼ã¿ãã³ãã©ã
+	 *  isig_tim ãå¼ã³åºãåã«å®è¡ããã.
+	 *  å²è¾¼ã¿ãåãä»ãããã¦ãã
+	 *  å²è¾¼ã¿ãã³ãã©ã«å¦çãç§»ã£ãæç¹ã§
+	 *  å²è¾¼ã¿è¦æ±ãããã¯ã¯ãªã¢ããããã
+	 *  ä½ãããå¿
+è¦ããªã. 
+	 */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	VB c;
+
+	c = sil_reb_mem((VP)TADR_SFR_TABSR);
+	c &= ~TBIT_TABSR_TA0S;		/* ã«ã¦ã³ãçµäº	*/
+	sil_wrb_mem((VP)TADR_SFR_TABSR, c);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return ((CLOCK)(TO_CLOCK(TIC_NUME, TIC_DENO)-1)-sil_reh_mem((VP)TADR_SFR_TA0));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return ((sil_reb_mem((VP)(TADR_SFR_INT_BASE+TADR_SFR_TA0IC_OFFSET)) & TBIT_TAiIC_IR) != 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/oaks32.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/oaks32.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/oaks32.h	(revision 26)
@@ -0,0 +1,396 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: oaks32.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+#ifndef _OAKS32_H_
+#define	_OAKS32_H_
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ */
+#define	INT_BRK		0		/* BRK */
+#define INT_AD1		7		/* ï¼¡-ï¼¤å¤æå¨1 */
+#define INT_DMA0	8		/* DMA0 */
+#define INT_DMA1	9		/* DMA1 */
+#define INT_DMA2	10		/* DMA2 */
+#define INT_DMA3	11		/* DMA3 */
+#define INT_TA0		12		/* ã¿ã¤ãA0 */
+#define INT_TA1		13		/* ã¿ã¤ãA1 */
+#define INT_TA2		14		/* ã¿ã¤ãA2 */
+#define INT_TA3		15		/* ã¿ã¤ãA3 */
+#define INT_TA4		16		/* ã¿ã¤ãA4 */
+#define INT_S0TNACK	17		/* UART0éä¿¡,NACK */
+#define INT_S0RACK	18		/* UART0åä¿¡,ACK */
+#define INT_S1TNACK	19		/* UART1éä¿¡,NACK */
+#define INT_S1RACK	20		/* UART1åä¿¡,ACK */
+#define INT_TB0		21		/* ã¿ã¤ãB0 */
+#define INT_TB1		22		/* ã¿ã¤ãB1 */
+#define INT_TB2		23		/* ã¿ã¤ãB2 */
+#define INT_TB3		24		/* ã¿ã¤ãB3 */
+#define INT_TB4		25		/* ã¿ã¤ãB4 */
+#define INT_INT5	26		/* INT5 */
+#define INT_INT4	27		/* INT4 */
+#define INT_INT3	28		/* INT3 */
+#define INT_INT2	29		/* INT2 */
+#define INT_INT1	30		/* INT1 */
+#define INT_INT0	31		/* INT0 */
+#define INT_TB5		32		/* ã¿ã¤ãB5 */
+#define INT_S2TNACK 	33		/* UART2éä¿¡,NACK */
+#define INT_S2RACK 	34		/* UART2åä¿¡,ACK */
+#define INT_S3TNACK 	35		/* UART3éä¿¡,NACK */
+#define INT_S3RACK 	36		/* UART3åä¿¡,ACK */
+#define INT_S4TNACK 	37		/* UART4éä¿¡,NACK */
+#define INT_S4RACK 	38		/* UART4åä¿¡,ACK */
+
+#define INT_AD0		42		/* ï¼¡-ï¼¤å¤æå¨0 */
+#define INT_KEY		43		/* ã­ã¼å
+¥åå²ãè¾¼ã¿ */
+#define INT_IIO0	44		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿0 */
+#define INT_IIO1	45		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿1 */
+#define INT_IIO2	46		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿2 */
+#define INT_IIO3	47		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿3 */
+#define INT_IIO4	48		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿4 */
+#define INT_IIO5	49		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿5 */
+#define INT_IIO6	50		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿6 */
+#define INT_IIO7	51		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿7 */
+#define INT_IIO8	52		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿8 */
+#define INT_IIO9CAN0	53		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿9,CAN0 */
+#define INT_IIO10CAN1	54		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿10,CAN1 */
+#define INT_IIO11CAN2	57		/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿11,CAN2 */
+
+/*
+ *  OAKS32 SFRã¢ãã¬ã¹å®ç¾©
+ *
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_INT_BASE       0x60			/* å²è¾¼ã¿é¢é£ã®ãã¼ã¹ã¢ãã¬ã¹ */
+#define TADR_SFR_DM0IC_OFFSET  8				/* DMA0å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB5IC_OFFSET   9				/* timerB5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DMA2IC_OFFSET  10				/* DMA2å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2RIC_OFFSET   11				/* uart2åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0IC_OFFSET   12				/* timerA0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S3RIC_OFFSET   13				/* uart3åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2IC_OFFSET   14				/* timerA2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S4RIC_OFFSET   15				/* uart4åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4IC_OFFSET   16				/* timerA4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCN0IC_OFFSET  17				/* UART0ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCN3IC_OFFSET  17				/* UART3ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0RIC_OFFSET   18				/* uart0åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_AD0IC_OFFSET   19				/* A-D0å¤æå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1RIC_OFFSET   20				/* uart1åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO0IC_OFFSET  21				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define TADR_SFR_TB1IC_OFFSET   22				/* timerB1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO2IC_OFFSET  23				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define TADR_SFR_TB3IC_OFFSET   24				/* timerB3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO4IC_OFFSET  25				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿4 */
+#define TADR_SFR_INT5IC_OFFSET  26				/* SI/O4/INT5 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO6IC_OFFSET  27				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿6 */
+#define TADR_SFR_INT3IC_OFFSET  28				/* INT3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO8IC_OFFSET  29				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿8 */
+#define TADR_SFR_INT1IC_OFFSET  30				/* INT1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO10IC_OFFSET 31				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿10 */
+#define TADR_SFR_CAN1IC_OFFSET  31				/* CANå²è¾¼ã¿1å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO11IC_OFFSET 33				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿11 */
+#define TADR_SFR_CAN2IC_OFFSET  33				/* CANå²è¾¼ã¿2å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_AD1IC_OFFSET   38				/* A-D1å¤æå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DM1IC_OFFSET   40				/* DMA1å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S2TIC_OFFSET   41				/* uart2éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_DM3IC_OFFSET   42				/* DMA3å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S3TIC_OFFSET   43				/* uart3éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1IC_OFFSET   44				/* timerA1 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S4TIC_OFFSET   45				/* uart4éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3IC_OFFSET   46				/* timerA3 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCN2IC_OFFSET  47				/* UART2ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S0TIC_OFFSET   48				/* uart0éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCN1IC_OFFSET  49				/* UART1ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_BCN4IC_OFFSET  49				/* UART4ãã¹è¡çªæ¤åºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_S1TIC_OFFSET   50				/* uart1éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_KUPIC_OFFSET   51				/* ã­ã¼å
+¥åå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0IC_OFFSET   52				/* timerB0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO1IC_OFFSET  53				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define TADR_SFR_TB2IC_OFFSET   54				/* timerB2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO3IC_OFFSET  55				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿3 */
+#define TADR_SFR_TB4IC_OFFSET   56				/* timerB4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO5IC_OFFSET  57				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿5 */
+#define TADR_SFR_INT4IC_OFFSET  58				/* INT4 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO7IC_OFFSET  59				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿7 */
+#define TADR_SFR_INT2IC_OFFSET  60				/* INT2 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IIO9IC_OFFSET  61				/* ã¤ã³ããªã¸ã§ã³ãI/Oå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿9 */
+#define TADR_SFR_CAN0IC_OFFSET  61				/* CANå²è¾¼ã¿0å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INT0IC_OFFSET  62				/* INT0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã¿ã¤ãã¼ã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_TBSR           0x300			/* timerB3,4,5ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_TA11           0x302			/* timerA1-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA21           0x304			/* timerA2-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA41           0x306			/* timerA4-1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_INVC0          0x308			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_INVC1          0x309			/* ä¸ç¸PWMå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB0           0x30a			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_IDB1           0x30b			/* ä¸ç¸åºåãããã¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DTT            0x30c			/* ç­çµ¡é²æ­¢ã¿ã¤ã */
+#define TADR_SFR_ICTB2          0x30d			/* timerB2å²è¾¼ã¿çºçé »åº¦è¨­å®ã«ã¦ã³ã¿ */
+#define TADR_SFR_TB3            0x310			/* timerB3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB4            0x312			/* timerB4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB5            0x314			/* timerB5ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB3MR          0x31b			/* timerB3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB4MR          0x31c			/* timerB4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB5MR          0x31d			/* timerB5ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define TADR_SFR_IFSR           0x31f			/* å²è¾¼ã¿è¦å é¸æã¬ã¸ã¹ã¿ */
+
+#define	TADR_SFR_TABSR          0x340			/* ã«ã¦ã³ãéå§ãã©ã° */
+#define TADR_SFR_CPSRF          0x341			/* ãªã»ãã ããªã¹ã±ã¼ã© ãªã»ãããã©ã° */
+#define TADR_SFR_ONSF           0x342			/* ã¯ã³ã·ã§ã ã¹ã¿ã¼ããã©ã° */
+#define TADR_SFR_TRGSR          0x343			/* ããªã¬ã¼ã»ã¬ã¯ã ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UDF            0x344			/* ã¢ãããã¦ã³ãã©ã° */
+#define	TADR_SFR_TA0            0x346			/* timerA0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA1            0x348			/* timerA1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA2            0x34a			/* timerA2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA3            0x34c			/* timerA3ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TA4            0x34e			/* timerA4ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB0            0x350			/* timerB0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB1            0x352			/* timerB1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TB2            0x354			/* timerB2ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA0MR          0x356			/* timerA0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA1MR          0x357			/* timerA1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA2MR          0x358			/* timerA2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA3MR          0x359			/* timerA3ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TA4MR          0x35a			/* timerA4ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB0MR          0x35b			/* timerB0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB1MR		0x35c			/* timerB1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2MR          0x35d			/* timerB2ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_TB2SC          0x35e			/* timerB2ã¹ãã·ã£ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define TADR_SFR_TCSPR          0x35f			/* ã«ã¦ã³ãã½ã¼ã¹ããªã¹ã±ã¼ã©ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã·ãªã¢ã«ã¬ã¸ã¹ã¿
+ */
+#define	TADR_SFR_UART0_BASE     0x360			/* uart0ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART1_BASE     0x2e0			/* uart1ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART2_BASE     0x330			/* uart2ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART3_BASE     0x320			/* uart3ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define	TADR_SFR_UART4_BASE     0x2f0			/* uart4ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+
+#define	TADR_SFR_USMR_OFFSET    7			/* ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_USMR2_OFFSET   6			/* ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿2 */
+#define	TADR_SFR_USMR3_OFFSET   5			/* ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿3 */
+#define	TADR_SFR_USMR4_OFFSET   4			/* ç¹æ®ã¢ã¼ãã¬ã¸ã¹ã¿4 */
+
+#define	TADR_SFR_UMR_OFFSET     8			/* uartéåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UBRG_OFFSET    9			/* uartãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ */
+#define	TADR_SFR_UTB_OFFSET     10			/* uartéä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_UC0_OFFSET     12			/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#0 */
+#define	TADR_SFR_UC1_OFFSET     13			/* uartéåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿#1 */
+#define	TADR_SFR_URB_OFFSET     14			/* uartåä¿¡ãããã¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  A-D/D-Aã¬ã¸ã¹ã¿
+ */
+#define TADR_SFR_AD00            0x380			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD01            0x382			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD02            0x384			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD03            0x386			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD04            0x388			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD05            0x38a			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD06            0x38c			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD07            0x38e			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD0CON2         0x394			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD0CON0         0x396			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD0CON1         0x397			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+
+#define TADR_SFR_AD10            0x1c0			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD11            0x1c2			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD12            0x1c4			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD13            0x1c6			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD14            0x1c8			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD15            0x1ca			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD16            0x1cc			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD17            0x1ce			/* A-Dã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD1CON2         0x1d4			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD1CON0         0x1d6			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_AD1CON1         0x1d7			/* A-Då¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+
+#define TADR_SFR_DA0            0x398			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DA1            0x39a			/* D-Aã¬ã¸ã¹ã¿ï¼ */
+#define TADR_SFR_DACON          0x39c			/* D-Aå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ *  æ±ç¨ãã¼ãã¬ã¸ã¹ã¿(ä¸é¨ã144ãã³çã®ã¿)
+ */
+#define TADR_SFR_P0             0x3e0           /* ãã¼ãP0ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P1             0x3e1           /* ãã¼ãP1ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD0            0x3e2		/* ãã¼ãP0æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD1            0x3e3		/* ãã¼ãP1æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P2             0x3e4		/* ãã¼ãP2ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P3             0x3e5		/* ãã¼ãP3ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD2            0x3e6		/* ãã¼ãP2æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD3            0x3e7		/* ãã¼ãP3æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P4             0x3e8		/* ãã¼ãP4ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P5             0x3e9		/* ãã¼ãP5ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD4            0x3ea		/* ãã¼ãP4æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD5            0x3eb		/* ãã¼ãP5æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P6             0x3c0		/* ãã¼ãP6ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P7             0x3c1		/* ãã¼ãP7ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD6            0x3c2		/* ãã¼ãP6æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD7            0x3c3		/* ãã¼ãP7æ¹åã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_P8             0x3c4		/* ãã¼ãP8ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P9             0x3c5		/* ãã¼ãP9ã¬ã¸ã¹ã¿ */
+#define	TADR_SFR_PD8            0x3c6		/* ãã¼ãP8æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD9            0x3c7		/* ãã¼ãP9æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P10            0x3c8		/* ãã¼ãP10ã¬ã¸ã¹ã¿ */
+#define TADR_SFR_P11            0x3c9		/* ãã¼ãP11ã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_PD10           0x3ca		/* ãã¼ãP10æ¹åã¬ã¸ã¹ã¿ */
+#define TADR_SFR_PD11           0x3cb		/* ãã¼ãP11æ¹åã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_P12            0x3cc		/* ãã¼ãP12ã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_P13            0x3cd		/* ãã¼ãP13ã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_PD12           0x3ce		/* ãã¼ãP12æ¹åã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_PD13           0x3cf		/* ãã¼ãP13æ¹åã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_P14            0x3d0		/* ãã¼ãP14ã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_P15            0x3d1		/* ãã¼ãP15ã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_PD14           0x3d2		/* ãã¼ãP14æ¹åã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+#define TADR_SFR_PD15           0x3d3		/* ãã¼ãP15æ¹åã¬ã¸ã¹ã¿(144ãã³çã®ã¿) */
+
+#define	TADR_SFR_PUR0           0x3f0		/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR1           0x3f1		/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR2           0x3da		/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR3           0x3db		/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼ */
+#define	TADR_SFR_PUR4           0x3dc		/* ãã«ã¢ããå¶å¾¡ã¬ã¸ã¹ã¿ï¼(144ãã³çã®ã¿) */
+
+#define	TADR_SFR_PCR            0x3ff		/* ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿ */
+
+#define TADR_SFR_PS0            0x3b0		/* æ©è½é¸æã¬ã¸ã¹ã¿A0 */
+#define TADR_SFR_PS1            0x3b1		/* æ©è½é¸æã¬ã¸ã¹ã¿A1 */
+#define TADR_SFR_PS2            0x3b4		/* æ©è½é¸æã¬ã¸ã¹ã¿A2 */
+#define TADR_SFR_PS3            0x3b5		/* æ©è½é¸æã¬ã¸ã¹ã¿A3 */
+#define TADR_SFR_PS5            0x3b9		/* æ©è½é¸æã¬ã¸ã¹ã¿A5(144ãã³çã®ã¿) */
+#define TADR_SFR_PS6            0x3bc		/* æ©è½é¸æã¬ã¸ã¹ã¿A6(144ãã³çã®ã¿) */
+#define TADR_SFR_PS7            0x3bd		/* æ©è½é¸æã¬ã¸ã¹ã¿A7(144ãã³çã®ã¿) */
+#define TADR_SFR_PS8            0x3a0		/* æ©è½é¸æã¬ã¸ã¹ã¿A8(144ãã³çã®ã¿) */
+#define TADR_SFR_PS9            0x3a1		/* æ©è½é¸æã¬ã¸ã¹ã¿A9(144ãã³çã®ã¿) */
+
+#define TADR_SFR_PSL0           0x3b2		/* æ©è½é¸æã¬ã¸ã¹ã¿B0 */
+#define TADR_SFR_PSL1           0x3b3		/* æ©è½é¸æã¬ã¸ã¹ã¿B1 */
+#define TADR_SFR_PSL2           0x3b6		/* æ©è½é¸æã¬ã¸ã¹ã¿B2 */
+#define TADR_SFR_PSL3           0x3b7		/* æ©è½é¸æã¬ã¸ã¹ã¿B3 */
+
+#define TADR_SFR_PSC            0x3af		/* æ©è½é¸æã¬ã¸ã¹ã¿C */
+
+
+/*
+ *  éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿1 (UART0,UART1)
+ */
+#define	TBIT_UiC1_RI	0x08	/* åä¿¡å®äºãã©ã° */
+#define	TBIT_UiC1_RE	0x04	/* åä¿¡è¨±å¯ããã */
+#define	TBIT_UiC1_TI	0x02	/* éä¿¡ãããã¡ç©ºãã©ã° */
+#define	TBIT_UiC1_TE	0x01	/* éä¿¡è¨±å¯ããã */
+
+#define TBIT_UiC0_TXEPT	0x08	/* éä¿¡ã¬ã¸ã¹ã¿ç©ºãã©ã° */
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿
+ */
+#define	TBIT_TAiIC_IR	0x08
+
+/*
+ *  ã«ã¦ã³ãéå§ãã©ã° (TABSR)
+ */
+#define TBIT_TABSR_TA0S	0x01
+
+/*
+ *  ã¢ãããã¦ã³ãã©ã°(UDF)
+ */
+#define TBIT_UDF_TA0UD	0x01
+
+
+/*
+ *  ãã¼ãï¼è¨­å®
+ */
+//#define	P7_LED1					0x10			/* LED1ãããå®ç¾© */
+//#define	P7_LED2					0x20			/* LED2ãããå®ç¾© */
+
+#ifndef _MACRO_ONLY
+
+#include "cpu_defs.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+
+Inline void
+oaks32_putc(char c)
+{
+	char enabled;
+	volatile char * p = (volatile char *)TADR_SFR_UART0_BASE;
+
+	/* éä¿¡è¨±å¯ããã¦ããªããã°è¨±å¯ãã */
+	enabled = p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TE;
+	if(!enabled) {
+		p[TADR_SFR_UC1_OFFSET] |= TBIT_UiC1_TE;
+	}
+
+	/* éä¿¡ãããã¡ãç©ºã«ãªãã¾ã§å¾
+ã¤(æéæéå
+ã®æ¡ä»¶æç«ãä»®å®) */
+	while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
+
+	/* 1æå­éä¿¡ */
+	p[TADR_SFR_UTB_OFFSET] = c;
+
+	if(!enabled) {
+		p[TADR_SFR_UC1_OFFSET] &= ~TBIT_UiC1_TE;
+	}
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _OAKS32_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.c	(revision 26)
@@ -0,0 +1,351 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.c,v 1.4 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	OAKS32 UARTç¨ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+#include <s_services.h>
+#include "oaks32.h"
+#include <sfruart.h>
+
+/*
+ *  ããã¤ã¹ãªã¼ãã³ã®ãªãã©ã¤ã«ã¦ã³ã
+ *
+ *  500åãªãã©ã¤ããã°ãååã«çµäºããï¼
+ */
+#define	SFRUART_COUNT	500
+
+/*
+ * ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤ 
+ */
+#define	MR_DEF		0x05	/* å
+é¨ã¯ã­ãã¯ãéåæã8ããããããªãã£ãªããã¹ãªã¼ããªã */
+#define MR_DISABLE_DEF	0x00	/* ã·ãªã¢ã«ã¢ã¸ã¥ã¼ã«ç¡å¹ */
+#define	C0_DEF		0x10	/* RTS/CTSæªä½¿ç¨, ã«ã¦ã³ãã½ã¼ã¹f1, éä¿¡å²è¾¼ã¿è¦å ã¯ãéä¿¡ãããã¡ç©ºã */
+#define	C1_DEF		0x00	/* ã·ãªã¢ã«éåä¿¡ç¦æ­¢ */
+#define	BRG1_DEF	48	/* 30000000/{(UxBRG+1)*16} = 38400 */
+#define	BRG2_DEF	97	/* 30000000/{(UxBRG+1)*16} = 19200 */
+
+#define	TB_LEVEL	4	/* éä¿¡å²è¾¼ã¿ã¬ãã« */
+#define	RB_LEVEL	5	/* åä¿¡å²è¾¼ã¿ã¬ãã« */
+#define DISABLE_LEVEL	0	/* å²è¾¼ã¿ç¦æ­¢ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UH  cntrl_addr;	/* å¶å¾¡ã¬ã¸ã¹ã¿ã®çªå° */
+	UH  tic_addr;	/* éä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®çªå° */
+	UH  ric_addr;	/* åä¿¡å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®çªå° */
+
+	UB  mr_def;	/* ããã©ã«ãã®è¨­å®å¤ (MR) */
+	UB  c0_def;	/* ããã©ã«ãã®è¨­å®å¤ (C0) */
+	UB  brg_def;	/* ããã©ã«ãã®è¨­å®å¤ (BRG) */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;	/* æ¡å¼µæ
+å ± */
+	UB     uc1;	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿UiC1ã®è¨­å®å¤ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *
+ *  ID = 1 ãuart0ï¼ID = 2 ãuart1ã«å¯¾å¿ããã¦ããï¼
+ */
+static const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ TADR_SFR_UART0_BASE, (TADR_SFR_INT_BASE+TADR_SFR_S0TIC_OFFSET),
+	  (TADR_SFR_INT_BASE+TADR_SFR_S0RIC_OFFSET), MR_DEF, C0_DEF, BRG1_DEF },
+#if TNUM_SIOP>1
+	{ TADR_SFR_UART1_BASE, (TADR_SFR_INT_BASE+TADR_SFR_S1TIC_OFFSET),
+	  (TADR_SFR_INT_BASE+TADR_SFR_S1RIC_OFFSET), MR_DEF, C0_DEF, BRG1_DEF }
+#endif
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sfruart_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->uc1 = C1_DEF;
+		/*
+		 * æç¤ºçã«ãã¼ããä¸æ´»æ§åãã¦ãã
+		 */
+		/* å²ãè¾¼ã¿ç¦æ­¢ */
+		sil_wrb_mem((VP)(siopcb->siopinib->tic_addr), DISABLE_LEVEL);
+		sil_wrb_mem((VP)(siopcb->siopinib->ric_addr), DISABLE_LEVEL);
+		/* éåä¿¡ç¦æ­¢ */
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sfruart_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb;
+	const SIOPINIB	*siopinib;
+	int i;
+
+	siopcb = get_siopcb(siopid);
+	siopinib = siopcb->siopinib;
+
+	/* éåä¿¡ç¦æ­¢ */
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET),
+	   sil_reb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET))&~(TBIT_UiC1_TE | TBIT_UiC1_RE));
+
+	/* ãã¼ãè¨­å®(åä½ã¢ã¼ããéä¿¡éåº¦) */
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UMR_OFFSET), siopinib->mr_def);
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UC0_OFFSET), siopinib->c0_def);
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UBRG_OFFSET), siopinib->brg_def);
+
+	/*
+	 *  ã·ãªã¢ã«å²è¾¼ã¿ã®è¨­å®
+	 */
+	sil_wrb_mem((VP)(siopinib->tic_addr), TB_LEVEL);
+	sil_wrb_mem((VP)(siopinib->ric_addr), RB_LEVEL);
+
+	/* ãªã¼ãã³æã¯ã³ã¼ã«ããã¯ç¦æ­¢ */
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+
+	/*
+	 * ããã¼ãã¼ã¿åä¿¡
+	 */
+	sil_reb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_URB_OFFSET));
+	sil_reb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_URB_OFFSET));
+
+	for(i = 0 ; i < SFRUART_COUNT ; i++){	/* ãªã¼ãã³æéä¿¡READYã¾ã§å¾
+ã¡ */
+		if(sil_reb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI)
+			break;
+	}
+
+	siopcb->exinf = exinf;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sfruart_cls_por(SIOPCB *siopcb)
+{
+	const SIOPINIB	*siopinib;
+
+	siopinib = siopcb->siopinib;
+
+	/* å²ãè¾¼ã¿ç¦æ­¢ */
+	sil_wrb_mem((VP)(siopinib->tic_addr), DISABLE_LEVEL);
+	sil_wrb_mem((VP)(siopinib->ric_addr), DISABLE_LEVEL);
+
+	/* éåä¿¡ç¦æ­¢ */
+	siopcb->uc1 = C1_DEF;
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+
+	/* ã·ãªã¢ã«ã¢ã¸ã¥ã¼ã«ãç¡å¹ã«ãã */
+	sil_wrb_mem((VP)(siopinib->cntrl_addr+TADR_SFR_UMR_OFFSET), MR_DISABLE_DEF);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sfruart_snd_chr(SIOPCB *siopcb, char c)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_TI){
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UTB_OFFSET), c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sfruart_rcv_chr(SIOPCB *siopcb)
+{
+	if(sil_reb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET)) & TBIT_UiC1_RI){
+		return((INT)sil_reb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_URB_OFFSET)));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->uc1 |= TBIT_UiC1_TE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+		break;
+	case SIO_ERDY_RCV:
+		siopcb->uc1 |= TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		siopcb->uc1 &= ~TBIT_UiC1_TE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+		break;
+	case SIO_ERDY_RCV:
+		siopcb->uc1 &= ~TBIT_UiC1_RE;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl_addr+TADR_SFR_UC1_OFFSET), siopcb->uc1);
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  uart0ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+	if((siopcb->uc1 & TBIT_UiC1_RE) != 0) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart0ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler1(void)
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+
+	if((siopcb->uc1 & TBIT_UiC1_TE) != 0) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+#if TNUM_SIOP > 1
+/*
+ *  uart1ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if((siopcb->uc1 & TBIT_UiC1_RE) != 0){
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  uart1ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler2(void)
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+	if((siopcb->uc1 & TBIT_UiC1_TE) != 0) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sfruart_ierdy_snd(siopcb->exinf);
+	}
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sfruart.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sfruart.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼m32cç¨ï¼
+ */
+
+#ifndef _SFRUART_H_
+#define _SFRUART_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sfruart_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sfruart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sfruart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sfruart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	sfruart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	sfruart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	sfruart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sfruart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _SFRUART_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.c	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS32ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "oaks32.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize(void)
+{
+	VB * p;
+	volatile char ps0, pd6;
+
+	/*
+	 * ãã¼ãã®è¨­å®
+	 */
+
+	/* ãã¼ãP63ã TxD0, ãã¼ãP62ã RxD0 ã« */
+	ps0 = sil_reb_mem((VP)TADR_SFR_PS0);
+	ps0 |= 0x08;
+	ps0 &= ~0x04;
+	sil_wrb_mem((VP)TADR_SFR_PS0, ps0);
+	pd6 = sil_reb_mem((VP)TADR_SFR_PD6);
+	pd6 &= ~0x04;
+	pd6 |= 0x08;
+	sil_wrb_mem((VP)TADR_SFR_PD6, pd6);
+
+	p = (VB*)TADR_SFR_UART0_BASE;
+
+	/*
+	 * UARTé¢é£ã¬ã¸ã¹ã¿ã®è¨­å®
+	 */
+	/* éåä¿¡ç¦æ­¢ */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC1_OFFSET), 0x00);
+
+	/* éåä¿¡ã¢ã¼ãã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UMR_OFFSET), 0x05);	/* éåä¿¡ã¢âãã¬ã¸ã¹ã¿ å
+é¨ã¯ã­ãã¯,*/
+				/* éåæã8ããããããªãã£ãªãã*/
+				/* ã¹ãªã¼ããªã	*/
+			/* éä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC0_OFFSET), 0x10);	/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿0 ã¯ã­ãã¯f8é¸æ */
+			/* è»¢ééåº¦ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UBRG_OFFSET), 48);	/* è»¢ééåº¦ã¬ã¸ã¹ã¿(38400bps)		*/
+			/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ã®åæå */
+	sil_wrb_mem((VP)(p+TADR_SFR_UC1_OFFSET), (TBIT_UiC1_TE | TBIT_UiC1_RE));
+							/* éåä¿¡å¶å¾¡ã¬ã¸ã¹ã¿ï¼ éåä¿¡è¨±å¯ */
+
+	/*
+	 * LED ã®åæå
+	 */
+	sil_wrb_mem((VP)TADR_SFR_P0, 0xff);	/* ãã¼ã0ãã¼ã¿åæå	*/
+	sil_wrb_mem((VP)TADR_SFR_PD0, 0xff);	/* ãã¼ã0åºåè¨­å®	*/
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while (1);
+}
+
+void
+sys_putc(char c)
+{
+	if(c == '\n'){
+	    oaks32_putc( '\r' );
+	}
+    oaks32_putc( c );
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_config.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼OAKS32ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"OAKS32"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	1	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_defs.h	(revision 26)
@@ -0,0 +1,101 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Platform Development Center
+ *                                          RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.4 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼OAKS32ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/* 
+ *  ã¿ã¼ã²ããè­å¥ãã¯ã­(ã·ã¹ãã åã®å®ç¾©)
+ */
+#define OAKS32
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+extern void hardware_start(void);
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort(void)
+{
+	hardware_start();
+	/* ãªã¹ã¿ã¼ã */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/offset.inc	(revision 26)
@@ -0,0 +1,5 @@
+TCB_texptn		.equ	14
+TCB_sp			.equ	20
+TCB_pc			.equ	24
+TCB_enatex		.equ	13
+TCB_enatex_bit		.equ	 6
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/start.a30
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/start.a30	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/start.a30	(revision 26)
@@ -0,0 +1,157 @@
+;*
+;*  TOPPERS/JSP Kernel
+;*      Toyohashi Open Platform for Embedded Real-Time Systems/
+;*      Just Standard Profile Kernel
+;* 
+;*  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+;*                              Toyohashi Univ. of Technology, JAPAN
+;*  Copyright (C) 2001 by OAKS16KIT support
+;*  Copyright (C) 2003-2004 by Naoki Saito
+;*             Nagoya Municipal Industrial Research Institute, JAPAN
+;*  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+;*               Platform Development Center RICOH COMPANY,LTD. JAPAN
+;* 
+;*  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+;*  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+;*  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+;*  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;*  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;*  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;*      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;*      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;*  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+;*      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+;*      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+;*      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+;*      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+;*    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+;*        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;*    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+;*        ãã¨ï¼
+;*  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;*      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+;* 
+;*  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+;*  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+;*  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+;*  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+;* 
+;*  @(#) $Id: start.a30,v 1.3 2005/11/24 12:41:23 honda Exp $
+
+PRCR  .EQU		000AH			; ãã­ãã¯ãã¬ã¸ã¹ã¿
+PRC0  .BTEQU	0,PRCR			; ã·ã¹ãã ã¯ã­ãã¯ã¬ã¸ã¹ã¿ããã
+PRC1  .BTEQU	1,PRCR			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ããã
+;
+PM0   .EQU		0004H			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+PM1   .EQU		0005H			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+;
+CM0   .EQU		0006H			; ã¯ã­ãã¯ã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+CM1   .EQU		0007H			; ã¯ã­ãã¯ã¢ã¼ãã¬ã¸ã¹ã¿ï¼
+MCD   .EQU		000CH
+CM2   .EQU		000DH
+C_CM0 .EQU		00000000B		; CM0(Xcin-HIGH)
+C_CM1 .EQU		00100000B		; CM1(Xin-HIGH)
+C_CM2 .EQU		00000000B		; ã¡ã¤ã³ã¯ã­ãã¯åå¨ãªã
+C_MCD .EQU		00010010B		; çºæ¯åæ­¢æ¤åºæ©è½ç¡å¹
+
+
+;/*	å®æ°å®ç¾©ï¼åæåï¼*/
+;
+VECTOR_ADR 	.EQU	0FFBD00h		; ãã¯ã¿ã¢ãã¬ã¹
+
+	.include	m16cvec.inc
+
+	.section	bss_NE,DATA,ALIGN
+	.section	data_NE,DATA,ALIGN
+	.section	data_NEI,ROMDATA,ALIGN
+	.section	bss_NO,DATA,ALIGN
+	.section	data_NO,DATA,ALIGN
+	.section	data_NOI,ROMDATA,ALIGN
+
+;
+;************************************************
+;*	åæåã«ã¼ãã³                              *
+;************************************************
+	.section	program, code, align
+	.glb		_hardware_start
+	.glb		_kernel_start
+	.glb		_software_init_hook
+;
+_hardware_start:
+	ldc			#RAMEND,ISP		; å²ãè¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã»ãã
+
+; ----- set Processor mode -----
+	bset		PRC1			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ã¤ãã¼ãã«
+	mov.b		#00000000b,PM0		; ã·ã³ã°ã«ãããã¢ã¼ããBCLKåºåããªã
+	mov.b		#00000000b,PM1		; ã¡ã¢ãªéæ¡å¼µããã¼ã¦ã§ã¤ã
+	;	CAN é¢é£ã¬ã¸ã¹ã¿ãä½¿ç¨ããå ´åã¯æ¬¡ã®ããã«ãã.
+	;	mov.b	#00001000b, PM1		; ã¡ã¢ãªéæ¡å¼µ, 0wait,SFR 1wait(CANä½¿ç¨æ)
+	bclr		PRC1			; ãã­ã»ããµã¢ã¼ãã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ãã£ã¼ã¼ãã«
+; ----- set System clock -----
+	bset		PRC0			; ã¯ã­ãã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ã¤ãã¼ãã«
+	mov.b		#C_CM0,CM0		; çºä¿¡
+	mov.b		#C_CM1,CM1		; 
+	mov.b		#C_CM2,CM2		; çºæ¯åæ­¢æ¤åºæ©è½ç¡å¹
+	mov.b		#C_MCD,MCD		; ã¡ã¤ã³ã¯ã­ãã¯åå¨ãªã
+	bclr		PRC0			; ã¬ã¸ã¹ã¿æ¸ãè¾¼ã¿ãã£ã¼ã¼ãã«
+;
+;	ldc		#0000h, flg		; bank#0,å²ãè¾¼ã¿ç¦æ­¢,ISP
+	ldc		#VECTOR_ADR, intb	; ãã¯ã¿ãã¼ãã«ã®è¨­å®
+
+;------ DATAé åã®åæå ------
+init_data_NE:
+	mov.w	#(sizeof data_NE), r3
+	jz	init_data_NO	; ãµã¤ãº0ãªãåæåå¿
+è¦ãªã
+	mov.l	#(topof data_NEI), a0
+	mov.l	#(topof data_NE), a1
+	smovf.b
+
+init_data_NO:
+	mov.w	#(sizeof data_NO), r3
+	jz	clear_bss	; ãµã¤ãº0ãªãåæåå¿
+è¦ãªã
+	mov.l	#(topof data_NOI), a0
+	mov.l	#(topof data_NO), a1
+	smovf.b
+
+;------ BSSé åã®åæå ------
+clear_bss:
+	mov.b	#0, r0l
+	mov.w	#(topof bss_NE & 0ffffh), a1
+	mov.w	#(sizeof bss_NE) , r3
+	sstr.b
+
+	mov.w	#(topof bss_NO & 0ffffh), a1
+	mov.w	#(sizeof bss_NO) , r3
+	sstr.b
+
+;*  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+;*
+;*  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+;*  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+;*  ããï¼M32Cã®å ´åãã³ã³ãã¤ã«æEXTERN_SOFT_HOOKãããã¡ã¤ã³ãã
+	mov.l		#_software_init_hook, a0
+	mov.l		[a0], a1
+	cmp.l		#0, a1
+	jz		kernel_link
+	jsri.a		a1
+
+;;
+;***** ã«ã¼ãã«ã¹ã¿ã¼ãã¸	*****
+kernel_link:
+	jmp		_kernel_start	; --> kernel_start()
+;
+	.end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_config.h	(revision 26)
@@ -0,0 +1,260 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#define call_atexit()
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/tool_defs.h	(revision 26)
@@ -0,0 +1,100 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RICOH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2003-2004 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2005/11/24 12:41:23 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å	*/
+#define	_int16_		short		/* 16ãããã®æ´æ°å	*/
+#define	_int32_		long		/* 32ãããã®æ´æ°å	*/
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+
+#define	Inline		_inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		_asm
+#endif /* __cplusplus */
+
+#define	Asm		_asm
+
+/*
+ *  MYTOOLç¨ã®è¨­å®
+ */
+#define	NC308
+
+/*
+ *  VP_INTãFARãã¤ã³ã¿ã¨ãã¦å®ç¾©
+ */
+/* #define	_vp_int_	void _far * */
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/Makefile.config	(revision 26)
@@ -0,0 +1,73 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.11 2007/05/30 03:56:47 honda Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (M32Rç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = m32r-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -O2 -g 
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o start.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.c	(revision 26)
@@ -0,0 +1,79 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.4 2003/12/24 07:35:03 takayuki Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M32Rç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ãã¼ãã«
+ */
+FP InterruptHandlerEntry[NUM_INTERRUPT];
+FP ExceptionHandlerEntry[NUM_EXCEPTION];
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_config.h	(revision 26)
@@ -0,0 +1,299 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Monami Software Limited Partnership, JAPAN	
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.11 2007/05/30 03:56:47 honda Exp $
+ */
+
+//#include <sys_config.h>
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M32Rç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#include <cpu_rename.h>
+
+#include "m32r.h"
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/*#define	SUPPORT_CHG_IPM*/
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	unsigned long sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;					/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ *  CPUã­ãã¯ã¯CPUãæã¤å²è¾¼ã¿è¦æ±è¨±å¯/ç¦æ­¢ã«å¯¾å¿ä»ãããPSWã®IEããã
+ *  ãæä½ããã
+ */
+
+#define t_lock_cpu		lock_cpu
+#define i_lock_cpu		lock_cpu
+#define t_unlock_cpu	unlock_cpu
+#define i_unlock_cpu	unlock_cpu
+#define ena_int			lock_cpu
+#define dis_int			unlock_cpu
+
+Inline void
+lock_cpu()
+{
+	__asm("mvfc r0, psw        \n"
+	      "and3 r0, r0, 0xffbf \n"
+	      "mvtc r0, psw " : : : "r0");
+}
+
+Inline void
+unlock_cpu()
+{
+	__asm("mvfc r0, psw       \n"
+	      "or3  r0, r0, 0x40  \n"
+	      "mvtc r0, psw " : : : "r0");
+}
+
+/*
+ *  sense_context
+ *  
+ *  ã¦ã¼ã¶ã¹ã¿ãã¯ãä½¿ã£ã¦ãããªãã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ */
+
+Inline BOOL
+sense_context(void)
+{
+	int psw;
+	__asm("mvfc	%0, psw" : "=r"(psw));
+	return (psw & 0x80) != 0 ? FALSE : TRUE;
+}
+
+/*
+ *  sense_lock
+ *  
+ *  å²è¾¼ã¿ç¦æ­¢ãªãCPUã­ãã¯ç¶æ
+
+ */
+Inline BOOL
+sense_lock(void)
+{
+	int psw;
+	__asm("mvfc	%0, psw" : "=r"(psw));
+	return (psw & 0x40) != 0 ? FALSE : TRUE;
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+extern FP InterruptHandlerEntry[NUM_INTERRUPT];
+extern FP ExceptionHandlerEntry[NUM_EXCEPTION];
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+	InterruptHandlerEntry[inhno-1] = inthdr;
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+	ExceptionHandlerEntry[excno-1] = exchdr;
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+#define INT_ENTRY(hdr) hdr
+#define INTHDR_ENTRY(entry)	extern void entry();
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+#define EXC_ENTRY(hdr) hdr
+#define EXCHDR_ENTRY(entry)	extern void entry();
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ã
+ *
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã«TRUEãè¿ãï¼p_excinfã«ä¾å¤ãã³ãã©ãå¼
+ *  ã³åºãéã®ã¹ã¿ãã¯ãã¤ã³ã¿ãæ ¼ç´ããã¦ããï¼cpu_support.Sï¼ã®ã§ï¼
+ *  ããããä¾å¤çºçæã®pswãåå¾ãã³ã³ãã­ã¹ããå¤æ­ããï¼
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return (((unsigned int*)p_excinf)[1] & 0x8000) == 0;
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return (((unsigned int*)p_excinf)[1] & 0x4000) == 0;
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+/*
+ * ç¾å¨å¦çä¸­ã®å²è¾¼ã¿åªå
+åº¦
+ */
+extern ER get_ipr(IPR *);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_context.h	(revision 26)
@@ -0,0 +1,100 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Monami Software Limited Partnership, JAPAN	
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.6 2007/05/30 03:56:47 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB 
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	_kernel_activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	tcb->tskctxb.pc  = _kernel_activate_r;
+	tcb->tskctxb.sp  = (unsigned long)((char *)tcb->tinib->stk + tcb->tinib->stksz);
+}
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_defs.h	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Monami Software Limited Partnership, JAPAN	
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã« *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.8 2007/05/30 03:56:47 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼M32Rç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define M32R
+
+/* ä¾å¤è¦å çªå· */
+#define NUM_EXCEPTION	20
+
+#define EXC_RESET	0
+#define EXC_SBI		1
+#define EXC_RIE		2
+#define EXC_AE		3
+#define EXC_TRAP00	4
+#define EXC_TRAP01	5
+#define EXC_TRAP02	6
+#define EXC_TRAP03	7
+#define EXC_TRAP04	8
+#define EXC_TRAP05	9
+#define EXC_TRAP06	10
+#define EXC_TRAP07	11
+#define EXC_TRAP08	12
+#define EXC_TRAP09	13
+#define EXC_TRAP10	14
+#define EXC_TRAP11	15
+#define EXC_TRAP12	16
+#define EXC_TRAP13	17
+#define EXC_TRAP14	18
+#define EXC_TRAP15	19
+
+/* å²è¾¼ã¿è¦å çªå· */
+#define INT_INT0	1
+#define INT_INT1	2
+#define INT_INT2	3
+#define INT_INT3	4
+#define INT_INT4	5
+#define INT_INT5	6
+#define INT_INT6	7
+#define INT_MFT0	16
+#define INT_MFT1	17
+#define INT_MFT2	18
+#define INT_MFT3	19
+#define INT_MFT4	20
+#define INT_MFT5	21
+#define INT_DMA0	32
+#define INT_SIO0RCV	48
+#define INT_SIO0XMT	49
+#define INT_SIO1RCV	50
+#define INT_SIO1XMT	51
+#define INT_SIO2RCV	52
+#define INT_SIO2XMT	53
+#define INT_SIO3RCV	54
+#define INT_SIO3XMT	55
+#define INT_SIO4RCV	56
+#define INT_SIO4XMT	57
+
+
+#ifndef _MACRO_ONLY
+
+typedef unsigned int   INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå·  */
+typedef unsigned char  IPR;			/* å²è¾¼ã¿åªå
+åº¦        */
+typedef unsigned int   EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2006 by Monami Software Limited Partnership, JAPAN\n" \
+"Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory\n" \
+"            Graduate School of Information Science, Nagoya Univ., JAPAN\n"
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.def	(revision 26)
@@ -0,0 +1,42 @@
+_reset
+vector_entry_SBI
+vector_entry_RIE
+vector_entry_AE
+vector_entry_trap
+_trap_handler_0
+_trap_handler_1
+_trap_handler_2
+_trap_handler_3
+_trap_handler_4
+_trap_handler_5
+_trap_handler_6
+_trap_handler_7
+_trap_handler_8
+_trap_handler_9
+_trap_handler_10
+_trap_handler_11
+_trap_handler_12
+_trap_handler_13
+_trap_handler_14
+_trap_handler_15
+interrupt_handler
+InterruptHandlerEntry
+interrupt_handler_r
+recover_task_r
+recover_task
+recover_int
+exit_interrupt_handler
+_exception_handler
+ExceptionHandlerEntry
+_unhandled_interrupt_handler
+exit_exception_handler
+exception_handler_r
+recover_exception_exc_task_r
+dispatch
+reqflg
+calltex
+runtsk
+dispatch_r
+exit_and_dispatch
+schedtsk
+activate_r
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_rename.h	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_rename.h,v 1.2 2003/06/30 17:22:47 takayuki Exp $
+ */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define _reset			_kernel__reset
+#define vector_entry_SBI	_kernel_vector_entry_SBI
+#define vector_entry_RIE	_kernel_vector_entry_RIE
+#define vector_entry_AE		_kernel_vector_entry_AE
+#define vector_entry_trap	_kernel_vector_entry_trap
+#define _trap_handler_0		_kernel__trap_handler_0
+#define _trap_handler_1		_kernel__trap_handler_1
+#define _trap_handler_2		_kernel__trap_handler_2
+#define _trap_handler_3		_kernel__trap_handler_3
+#define _trap_handler_4		_kernel__trap_handler_4
+#define _trap_handler_5		_kernel__trap_handler_5
+#define _trap_handler_6		_kernel__trap_handler_6
+#define _trap_handler_7		_kernel__trap_handler_7
+#define _trap_handler_8		_kernel__trap_handler_8
+#define _trap_handler_9		_kernel__trap_handler_9
+#define _trap_handler_10	_kernel__trap_handler_10
+#define _trap_handler_11	_kernel__trap_handler_11
+#define _trap_handler_12	_kernel__trap_handler_12
+#define _trap_handler_13	_kernel__trap_handler_13
+#define _trap_handler_14	_kernel__trap_handler_14
+#define _trap_handler_15	_kernel__trap_handler_15
+#define interrupt_handler	_kernel_interrupt_handler
+#define InterruptHandlerEntry	_kernel_InterruptHandlerEntry
+#define interrupt_handler_r	_kernel_interrupt_handler_r
+#define recover_task_r		_kernel_recover_task_r
+#define recover_task		_kernel_recover_task
+#define recover_int		_kernel_recover_int
+#define exit_interrupt_handler	_kernel_exit_interrupt_handler
+#define _exception_handler	_kernel__exception_handler
+#define ExceptionHandlerEntry	_kernel_ExceptionHandlerEntry
+#define _unhandled_interrupt_handler	_kernel__unhandled_interrupt_handler
+#define exit_exception_handler	_kernel_exit_exception_handler
+#define exception_handler_r	_kernel_exception_handler_r
+#define recover_exception_exc_task_r	_kernel_recover_exception_exc_task_r
+#define dispatch		_kernel_dispatch
+#define reqflg			_kernel_reqflg
+#define calltex			_kernel_calltex
+#define runtsk			_kernel_runtsk
+#define dispatch_r		_kernel_dispatch_r
+#define exit_and_dispatch	_kernel_exit_and_dispatch
+#define schedtsk		_kernel_schedtsk
+#define activate_r		_kernel_activate_r
+
+#ifdef LABEL_ASM
+
+#define __reset			__kernel__reset
+#define _vector_entry_SBI	__kernel_vector_entry_SBI
+#define _vector_entry_RIE	__kernel_vector_entry_RIE
+#define _vector_entry_AE	__kernel_vector_entry_AE
+#define _vector_entry_trap	__kernel_vector_entry_trap
+#define __trap_handler_0	__kernel__trap_handler_0
+#define __trap_handler_1	__kernel__trap_handler_1
+#define __trap_handler_2	__kernel__trap_handler_2
+#define __trap_handler_3	__kernel__trap_handler_3
+#define __trap_handler_4	__kernel__trap_handler_4
+#define __trap_handler_5	__kernel__trap_handler_5
+#define __trap_handler_6	__kernel__trap_handler_6
+#define __trap_handler_7	__kernel__trap_handler_7
+#define __trap_handler_8	__kernel__trap_handler_8
+#define __trap_handler_9	__kernel__trap_handler_9
+#define __trap_handler_10	__kernel__trap_handler_10
+#define __trap_handler_11	__kernel__trap_handler_11
+#define __trap_handler_12	__kernel__trap_handler_12
+#define __trap_handler_13	__kernel__trap_handler_13
+#define __trap_handler_14	__kernel__trap_handler_14
+#define __trap_handler_15	__kernel__trap_handler_15
+#define _interrupt_handler	__kernel_interrupt_handler
+#define _InterruptHandlerEntry	__kernel_InterruptHandlerEntry
+#define _interrupt_handler_r	__kernel_interrupt_handler_r
+#define _recover_task_r		__kernel_recover_task_r
+#define _recover_task		__kernel_recover_task
+#define _recover_int		__kernel_recover_int
+#define _exit_interrupt_handler	__kernel_exit_interrupt_handler
+#define __exception_handler	__kernel__exception_handler
+#define _ExceptionHandlerEntry	__kernel_ExceptionHandlerEntry
+#define __unhandled_interrupt_handler	__kernel__unhandled_interrupt_handler
+#define _exit_exception_handler	__kernel_exit_exception_handler
+#define _exception_handler_r	__kernel_exception_handler_r
+#define _recover_exception_exc_task_r	__kernel_recover_exception_exc_task_r
+#define _dispatch		__kernel_dispatch
+#define _reqflg			__kernel_reqflg
+#define _calltex		__kernel_calltex
+#define _runtsk			__kernel_runtsk
+#define _dispatch_r		__kernel_dispatch_r
+#define _exit_and_dispatch	__kernel_exit_and_dispatch
+#define _schedtsk		__kernel_schedtsk
+#define _activate_r		__kernel_activate_r
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_support.S	(revision 26)
@@ -0,0 +1,596 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Monami Software Limited Partnership, JAPAN	
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.12 2007/05/30 03:56:47 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼M32Rç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+
+#include <cpu_rename.h>
+
+#include <m32rasm.inc>
+#include <s_services.h>
+
+#include "offset.h"
+
+#define _trap_handler_0 _kernel__trap_handler_0
+#define _trap_handler_1 _kernel__trap_handler_1
+#define _trap_handler_2 _kernel__trap_handler_2
+#define _trap_handler_3 _kernel__trap_handler_3
+#define _trap_handler_4 _kernel__trap_handler_4
+#define _trap_handler_5 _kernel__trap_handler_5
+#define _trap_handler_6 _kernel__trap_handler_6
+#define _trap_handler_7 _kernel__trap_handler_7
+#define _trap_handler_8 _kernel__trap_handler_8
+#define _trap_handler_9 _kernel__trap_handler_9
+#define _trap_handler_10 _kernel__trap_handler_10
+#define _trap_handler_11 _kernel__trap_handler_11
+#define _trap_handler_12 _kernel__trap_handler_12
+#define _trap_handler_13 _kernel__trap_handler_13
+#define _trap_handler_14 _kernel__trap_handler_14
+#define _trap_handler_15 _kernel__trap_handler_15
+
+	.extern	_kernel_runtsk
+	.extern	_kernel_schedtsk
+	.extern	_kernel_reqflg
+	.extern _kernel_enaflg
+	.extern	InterruptHandlerEntry
+	.extern	ExceptionHandlerEntry
+	.extern	ext_tsk
+		
+/*
+ *  EITãã¯ã¿ã¨ã³ããªã®å®ç¾©
+ */
+	.section ".vector","ax"
+	.global	  reset
+	.extern   start
+
+	.balign 0x10
+reset:
+	bra		start
+
+	.balign 0x10
+vector_entry_SBI:
+    /* 
+	 *  ã·ã¹ãã ãã¬ã¼ã¯å²è¾¼ã¿
+	 */
+	bra 	vector_entry_SBI
+
+	.balign 0x10
+vector_entry_RIE:
+    /* 
+	 *  äºç´å½ä»¤ä¾å¤ï¼Reserved Instruction Exceptionï¼
+	 */
+	stmdb	"r0,r1"
+	ldi		r1, #(EXC_RIE*4-4)
+	bra		_exception_handler
+
+	.balign 0x10
+vector_entry_AE:
+    /* 
+	 *  ã¢ãã¬ã¹ä¾å¤ï¼Address Exceptionï¼
+	 */
+	stmdb	"r0,r1"
+	ldi		r1, #(EXC_AE*4-4)
+	bra		_exception_handler
+
+	.balign 0x10
+vector_entry_trap:
+    /*
+	 *  ãã©ãããã¯ã¿ã¨ã³ããª
+	 */
+	bra		_trap_handler_0
+	bra		_trap_handler_1
+	bra		_trap_handler_2
+	bra		_trap_handler_3
+	bra		_trap_handler_4
+	bra		_trap_handler_5
+	bra		_trap_handler_6
+	bra		_trap_handler_7
+	bra		_trap_handler_8
+	bra		_trap_handler_9
+	bra		_trap_handler_10
+	bra		_trap_handler_11
+	bra		_trap_handler_12
+	bra		_trap_handler_13
+	bra		_trap_handler_14
+	bra		_trap_handler_15
+
+/*
+ *  å²è¾¼ã¿ãã¯ã¿ã¨ã³ããªã¨å²è¾¼ã¿ãã³ãã©èµ·åï¼å¾©å¸°å¦çé¨
+ *
+ *  å²è¾¼ã¿çºçæã®ãã¼ãã¦ã¨ã¢ã®åä½
+ *
+ *  pswã¬ã¸ã¹ã¿ä¸­ã®smï¼ieï¼pmï¼cããããbsmï¼bieï¼bpmï¼bcãããã«éé¿
+ *  ããï¼bpcã«ã¯å²è¾¼ã¿çºçæã®pcå¤ãå
+¥ãï¼
+ *
+ *	bsm <- sm
+ *  bie <- ie
+ *  bpm <- pm
+ *  bc <- c
+ *  bpc <- å²è¾¼ã¿çºçæã®pcå¤
+ *
+ *	pswã¬ã¸ã¹ã¿ä¸­ã®smï¼ieï¼pmï¼cããããä»¥ä¸ã®ããã«æ´æ°ããï¼
+ *
+ *	sm <- 0
+ *  ie <- 0
+ *  pm <- 0
+ *  c <- 0
+ *
+ *ãã¬ã¸ã¹ã¿ã®ç©ã¿æ¹
+ *  r0-r1ï¼ä½æ¥­é åï¼
+ *  r0-r7ï¼r14ï¼acc(hi/lo)ï¼bpcï¼pswï¼ICUISTSï¼pswï¼å²è¾¼ã¿ãã³ãã©å¼åºåï¼
+ *  
+ *  äºã¤ç®ã®pswä»¥å¤ã¯ï¼å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ãã«å¯¾å¿ããã¹ã¿ãã¯ã«
+ *  éé¿ããï¼2ã¤ç®ã®pswã¯ï¼å²è¾¼ã¿ãã³ãã©ã®å®è¡ç´å¾ã«å¾©å¸°ããããã«ï¼
+ *  å¿
+ãå²è¾¼ã¿ã¹ã¿ãã¯ã«éé¿ããï¼é
+å»¶ãã£ã¹ãããããå ´åã«ã¯ï¼ä¸è¨ã®
+ *  ã¬ã¸ã¹ã¿ä»¥å¤ã«ãï¼r8-r13ãéé¿ãã¦ãã£ã¹ãããã£ãå¼ã³åºãï¼
+ */
+	.balign 0x10
+interrupt_handler:
+
+	/* 
+	 *  ä½æ¥­ç¨ã¬ã¸ã¹ã¿ã®éé¿ 
+	 *
+	 *  æåã«ä½æ¥­ç¨ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«éé¿ããï¼å²è¾¼ã¿çºçç´å¾ã¯ï¼å¿
+
+	 *  ãå²è¾¼ã¿ã¹ã¿ãã¯ã«ãªãã®ã§ï¼ããã§éé¿ããä½æ¥­ç¨ã¬ã¸ã¹ã¿ã¯å²è¾¼
+	 *  ã¿ã¹ã¿ãã¯ã«ç©ã¾ããï¼
+	 */
+	stmdb	"r0,r1"
+
+	/* 
+	 *  å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ãå¤å®
+	 *
+	 *  pswã®bsmãããããå²è¾¼ã¿çºçæã«ä½¿ç¨ãã¦ããã¹ã¿ãã¯æ
+å ±ãåå¾
+	 *  ããï¼bsmã0ã®å ´åã¯ï¼å²è¾¼ã¿ã¹ã¿ãã¯ãä½¿ç¨ãã¦ãããã¨ã«ãªãã®
+	 *  ã§ï¼å²è¾¼ã¿ã³ã³ãã­ã¹ãã§å²è¾¼ã¿ãçºçããã¨å¤æ­ããï¼bsmã1ã®å ´
+	 *  åã¯ï¼ã¦ã¼ã¶ã¹ã¿ãã¯ãä½¿ç¨ãã¦ãããã¨ã«ãªãã®ã§ï¼ã¿ã¹ã¯ã³ã³ã
+	 *  ã­ã¹ãã§å²è¾¼ã¿ãçºçããã¨å¤æ­ããï¼å¾è
+ã®å ´åã¯ï¼ä½æ¥­é åï¼r0
+	 *  ã¨r1ï¼ã®ç©ã¿ç´ãã¯å¿
+è¦ãªãï¼
+	 */
+	mvfc	r0, psw
+	and3	r1, r0, 0x8000
+	beqz	r1, L1
+
+	/* 
+	 *  éé¿ã¬ã¸ã¹ã¿ã®ã¦ã¼ã¶ã¹ã¿ãã¯ã¸ã®ç©ã¿ç´ã  
+	 *
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å²è¾¼ã¿ãçºçããå ´åã¯ï¼å²è¾¼ã¿ã¹ã¿ãã¯ã«é
+	 *  é¿ããä½æ¥­ç¨ã¬ã¸ã¹ã¿r0ã¨r1ãã¦ã¼ã¶ã¹ã¿ãã¯ã«ç©ã¿ç´ãå¿
+è¦ãããï¼
+	 */
+
+	or3		r0, r0, 0x80		
+	mvtc	r0, psw				/* ã¦ã¼ã¶ã¹ã¿ãã¯ã«åæ¿ï¼sp = spuï¼ */
+
+	mvfc	r1, spi
+	ld		r0, @(4, r1)		/* éé¿ããr0ãå²è¾¼ã¿ã¹ã¿ãã¯ããåãåºã */
+	st		r0, @-sp			/* r0ãã¦ã¼ã¶ã¹ã¿ãã¯ã«ç©ã */
+	ld		r0, @r1				/* éé¿ããr1ãå²è¾¼ã¿ã¹ã¿ãã¯ããåãåºã */
+	st		r0, @-sp			/* r1ãã¦ã¼ã¶ã¹ã¿ãã¯ã«ç©ã */
+	addi	r1, 8				/* å²è¾¼ã¿ã¹ã¿ãã¯ãä½æ¥­ã¹ã¿ãã¯éé¿åã«æ»ã */
+	mvtc	r1, spi				/* å²è¾¼ã¿ã¹ã¿ãã¯ä½ç½®ãspiã«ä¿å­ */
+	mvfc	r0, psw
+
+L1:
+	/* 
+	 *  ã³ã³ãã­ã¹ãã®éé¿
+	 * 
+	 *  r2-r7, r14, acch, accl, bpc, psw, å²è¾¼ã¿ãã¹ã¯ï¼ICUISTSï¼,psw
+	 *  ã®é ã«ã¹ã¿ãã¯ã«éé¿ããï¼ããã§ã¯ï¼å¿
+ãpswãr0ã«ä¿å­ããã¦ã
+	 *  ãï¼
+	 */
+	stmdb	"r2,r3,r4,r5,r6,r7,r14"
+	mvfachi	r1
+	st		r1, @-sp			/* acchãéé¿ */
+	mvfaclo	r1
+	st		r1, @-sp			/* acclãéé¿ */
+	mvfc	r1, bpc
+	st		r1, @-sp			/* bpcãéé¿ */
+	st 		r0, @-sp			/* pswãéé¿ */
+
+	ld24	r1, ICUISTS
+	ld		r0, @r1				/* å²è¾¼ã¿ãã¹ã¯èª­ã¿è¾¼ã¿ï¼å²è¾¼ã¿è¦æ±ã¯ã¯ãªã¢ãããï¼*/
+	st		r0, @-sp			/* å²è¾¼ã¿ãã¹ã¯ãéé¿ */
+
+	lea		r1, InterruptHandlerEntry /* å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ãåãåºã */
+	srli	r0, 22				/* å²è¾¼ã¿è¦å çªå·ãåå¾ */
+	addi	r0, -1				/* å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã®ã¤ã³ããã¯ã¹ãè¨ç® */
+	slli	r0, 2				/* å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã®ãªãã»ãããè¨ç® */
+	add		r1, r0				/* å²è¾¼ã¿ãã³ãã©ãã¼ãã«ä¸­ã®å²è¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹è¨ç® */
+	ld		r1, @r1				/* å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ãåãåºã */
+
+L2:
+	/*
+	 *  å²è¾¼ã¿ãã³ãã©ã®å¼åºã
+	 *
+	 *  pswãéé¿ãï¼å²è¾¼ã¿ã¹ã¿ãã¯, å²è¾¼ã¿è¨±å¯ã«ãã¦å²è¾¼ã¿ãã³ãã©ã
+	 *  å¼ã³åºãï¼å²è¾¼ã¿ãã³ãã©ããã®æ»ãçªå°ãeit_handler_rã¨ããï¼
+	 *  ããã§ï¼ååº¦pswãéé¿ããã®ã¯ï¼eit_handler_rã®æåã§ï¼ä½¿ç¨ãã
+	 *  ã¹ã¿ãã¯ãæ»ãå¿
+è¦ãããããã§ï¼å¿
+ãå²è¾¼ã¿ã¹ã¿ãã¯ã«éé¿ãã¦ã
+	 *  ãï¼
+	 */
+	mvfc	r2, psw						
+	and3	r3, r2, 0xff7f				
+	mvtc	r3, psw						/* å²è¾¼ã¿ã¹ã¿ãã¯ */
+	st		r2, @-sp					/* pswãå²è¾¼ã¿ã¹ã¿ãã¯ã«éé¿ */
+	lea		r14, eit_handler_r 			/* æ»ãçªå°ãè¨­å® */
+	or3		r3, r3, 0x40				
+	mvtc	r3, psw						/* å²è¾¼ã¿è¨±å¯ */
+	jmp		r1							/* ãã³ãã©èµ·å */
+
+	.text
+	.align 4
+eit_handler_r:
+	/*
+	 *  EITãã³ãã©ããã®å¾©å¸°å¦ç
+	 *
+	 *  EITãã³ãã©ã®å®è¡ãçµäºããã¨å¼ã³åºãããï¼å²è¾¼ã¿çºçæã®ã³ã³
+	 *  ãã­ã¹ãï¼å²è¾¼ã¿è¦æ±ã®æç¡ï¼ãã£ã¹ãããè¨±å¯ï¼ç¦æ­¢ç¶æ
+ããï¼é©
+	 *  åãªå¾©å¸°å¦çãè¡ãªãï¼
+	 */
+	ld		r0, @sp+
+	mvtc	r0, psw			/* å²è¾¼ã¿ã¹ã¿ãã¯ããpswãå¾©å¸°ï¼EITçºçæ
+							   ã®ã³ã³ãã­ã¹ãã«æ»ãï¼å²è¾¼ã¿ã¯ç¦æ­¢ç¶æ
+ï¼
+							    */
+
+	ld24 	r1, ICUIMASK
+	ld 		r2, @sp+
+	st 		r2, @r1			/* å²è¾¼ã¿ãã¹ã¯ã®å¾©å¸° */
+
+	and3	r0, r0, 0x8000
+	beqz	r0, recover_int	/* EITçºçæã®ã³ã³ãã­ã¹ããå²è¾¼ã¿ã³ã³ãã­
+							   ã¹ãã§ããã°ï¼å¤éå²è¾¼ã¿ã§ããã¨å¤æ­ãï¼
+							   å³åº§ã«å
+±éå¾©å¸°å¦çã¸ */
+
+	/* 
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¸ã®å¾©å¸°ã«ã¼ãã³
+	 *
+	 *  ãã£ã¹ãããï¼ã¿ã¹ã¯ä¾å¤èµ·åè¦æ±ããªãå ´åã¯ï¼å³åº§ã«å
+±éå¾©å¸°ã«ã¼
+	 *  ãã³ã«é£ã¶ï¼é
+å»¶ãã£ã¹ãããå¦çãè¡ãªãï¼ãã£ã¹ãããè¦æ±ããª
+	 *  ããã°å
+±éã®å¾©å¸°å¦çï¼recover_intï¼ãè¡ãªãï¼
+	 */
+	lea		r0, _kernel_reqflg
+	ld		r1, @r0
+	beqz	r1, recover_int		/* å
+±éå¾©å¸°ã«ã¼ãã³ã¸ */
+
+	/* 
+	 *  ãã£ã¹ãããï¼ã¿ã¹ã¯ä¾å¤èµ·åè¦æ±ãããå ´åã®å¦ç
+	 *
+	 *  ã¾ãï¼ãã£ã¹ãããè¦æ±ãã©ã°ï¼reqflgï¼ãã¯ãªã¢ããï¼ããã¦ï¼ãã£
+	 *  ã¹ãããè¨±å¯ãã©ã°ï¼enadspï¼ãFALSEã®å ´åã¨ï¼runtskã¨schedtsk 
+	 *  ãåãå ´åã«ã¯ï¼ãã£ã¹ãããããã«ï¼ã¿ã¹ã¯ä¾å¤èµ·åå¦çã«ã¼ãã³
+	 *  ã¸é£ã¶ï¼ãã£ã¹ããããè¨±å¯ããã¦ããï¼runtskã¨schedtskãç°ãªã
+	 *  å ´åã«ã¯ï¼é
+å»¶ãã£ã¹ãããå¦çãè¡ãï¼
+	 */
+	ldi		r1, #0
+	st		r1, @r0				/* reqflgãã¯ãªã¢ */
+
+	lea 	r0,  _kernel_enadsp
+	ld 		r0, @r0
+	beqz 	r0, recover_task 	/* enaflgã®ãã§ãã¯ */
+
+	lea		r0, _kernel_runtsk
+	lea		r1, _kernel_schedtsk
+	ld		r0, @r0	
+    ld		r1, @r1
+    beq		r0, r1, recover_task	/* runtskã¨schedtskãåãå ´åã¯ã¿
+								       ã¹ã¯ä¾å¤èµ·åå¦çã¸ */
+
+	/*
+	 *  ä¾å¤ï¼å²è¾¼ã¿åºå£ã§ã®é
+å»¶ãã£ã¹ãããå¦ç
+	 *
+	 *  éé¿ãã¦ããªãæ®ãã®ã¬ã¸ã¹ã¿ãéé¿ãï¼å®è¡ç¶æ
+ã¿ã¹ã¯ã®pcã¨spã
+	 *  éé¿ãã¦ãããã£ã¹ãããã£ãå¼ã³åºãï¼
+	 */
+	stmdb	"r8,r9,r10,r11,r12,r13"
+
+	lea		r0, _kernel_runtsk
+	ld		r0, @r0
+
+	lea		r1, recover_task_r
+	st		r1, @(TCB_pc, r0)
+	st		sp, @(TCB_sp, r0)
+	bra		_kernel_exit_and_dispatch
+
+	.align 4
+recover_task_r:
+	ldmia	"r13,r12,r11,r10,r9,r8"
+
+recover_task:
+	/* 
+	 *  ã¿ã¹ã¯ä¾å¤èµ·åå¦ç
+	 *
+	 *  ããã§ï¼enatexãTRUEã§ï¼texptnã0ã§ãªããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼
+	 *  ãã³ãå¼ã³åºãï¼calltexã®å¦çå
+å®¹ï¼runtsk->enatexãTRUEã§ï¼
+	 *  runtsk->texptnã0ã§ãªãå ´åã«ï¼call_texrtnãå¼ã¶ï¼ãããã«ã¤ã³
+	 *  ã©ã¤ã³å±éããæ¹ãå¹çãè¯ããï¼å®è£
+ã®ç°¡æåã®ããã«calltex ã
+	 *  å¼ã³åºãï¼
+	 */
+	bl		_kernel_calltex
+
+recover_int:
+	/* 
+	 *  EITå
+±éå¾©å¸°å¦çï¼ä½åªå
+åº¦å²è¾¼ã¿ã¸ã®å¾©å¸°å«ãï¼
+	 *
+	 *  éé¿ããé çªï¼r2-r7, r14, acch, accl, bpc, pswï¼ã®éé ã§ã¹ã¿ã
+	 *  ã¯ããåãåºãã¦å¾©å¸°ããï¼ã¾ãï¼ä½æ¥­ç¨ã¬ã¸ã¹ã¿ï¼r0ï¼r1ï¼ãå¾©å¸°
+	 *  ããï¼
+	 */
+	ld 		r0, @sp+
+	mvtc 	r0, psw						/* pswãå¾©å¸° */
+	ld		r0, @sp+			
+	mvtc	r0, bpc						/* bpcãå¾©å¸° */
+	ld		r0, @sp+	
+	mvtaclo	r0							/* acclãå¾©å¸° */
+	ld		r0, @sp+
+	mvtachi	r0							/* acchlãå¾©å¸° */
+	ldmia	"r14,r7,r6,r5,r4,r3,r2"		/* ãã®ä»ã®ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	ldmia	"r1,r0"						/* ä½æ¥­ç¨ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+	rte									/* å²è¾¼ã¿å¦çããå¾©å¸° */
+
+	.section ".vector","ax"
+	/*
+	 *  ãã©ããã®ã¨ã³ããªé¨ : ãã©ããçªå·ã®æ ¼ç´
+	 */
+	.irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
+		.align	4
+
+	_kernel__trap_handler_\num:
+		stmdb	"r0,r1"
+		ldi		r1, #((\num + EXC_TRAP00 - 1) * 4)
+		bra		_exception_handler
+	.endr
+		
+/*
+ *  ä¾å¤ï¼ãã©ãããã³ãã©å
+¥å£å¦ç
+ *
+ *  ä¾å¤ãçºçããå ´åã«ã¯ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãéé¿ãã¦ä¾å¤è¦å ï¼r1ã«
+ *  å
+¥ã£ã¦ããï¼ã«å¯¾å¿ããä¾å¤ãã³ãã©ãå¼ã³åºãï¼ä¾å¤ãã³ãã©ããã®å¾©
+ *  å¸°å¦çã¯ï¼å²è¾¼ã¿ãã³ãã©ããã®å¾©å¸°å¦çã¨å
+±éï¼eit_handler_rï¼ã§ããï¼
+ *
+ *  ä¾å¤çºçæã®ãã¼ãã¦ã¨ã¢ã®åä½
+ *
+ *  pswã¬ã¸ã¹ã¿ä¸­ã®smï¼ieï¼pmï¼cããããbsmï¼bieï¼bpmï¼bcãããã«éé¿
+ *  ããï¼bpcã«ã¯ä¾å¤ãèµ·ãããå½ä»¤ã®pcå¤ãå
+¥ãï¼
+ *
+ *	bsm <- sm
+ *  bie <- ie
+ *  bpm <- pm
+ *  bc <- c
+ *  bpc <- ä¾å¤ãèµ·ãããå½ä»¤ã®ã¢ãã¬ã¹
+ *
+ *	pswã¬ã¸ã¹ã¿ä¸­ã®smï¼ieï¼pmï¼cããããä»¥ä¸ã®ããã«æ´æ°ããï¼
+ *
+ *	sm <- ä¸å¤
+ *  ie <- 0
+ *  pm <- 0
+ *  c <- 0
+ *
+ *  ã¬ã¸ã¹ã¿ã®ç©ã¿æ¹
+ *
+ *  r0-r1ï¼ä½æ¥­é åï¼ãã¯ã¿ã®æåã§éé¿ï¼
+ *  r2-r7ï¼r14ï¼acc(hi/lo)ï¼bpcï¼pswï¼ICUIMASKï¼ä¾å¤ãã³ãã©å¼åºåï¼
+ *
+ *  ããã§ï¼ICUISTSã§ã¯ãªãICUIMASKãéé¿ããã®ã¯ï¼ä¾å¤å¦çä¸­ã«å¤é¨å²
+ *  è¾¼ã¿ãçºçããå ´åã«ï¼ICUISTSã®èª­è¾¼ã¿ã«ããå²è¾¼ã¿è¦å ãã¯ãªã¢ãã
+ *  ã¦ãã¾ãã®ãé²ãããã§ããï¼
+ */
+_exception_handler:
+
+	stmdb 	"r2,r3,r4,r5,r6,r7,r14"
+	mvfachi r0
+	st 		r0, @-sp
+	mvfaclo r0
+	st 		r0, @-sp
+	mvfc 	r0, bpc
+	st 		r0, @-sp
+	mvfc 	r2, psw
+	st 		r2, @-sp
+	ld24 	r0, ICUIMASK
+	ld 		r0, @r0
+	st 		r0, @-sp
+
+	lea		r0, ExceptionHandlerEntry
+	add		r0, r1
+	ld		r1, @r0				/* ä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾ */
+
+	mv 		r0, sp				/* ã¹ã¿ãã¯ã®ä½ç½®ãä¾å¤ãã³ãã©ã®å¼æ°
+								   ã«è¨­å® */
+	and3 	r3, r2, 0x7f00
+	srli 	r3, 8
+	mvtc 	r3, psw 			/* å²è¾¼ã¿ã¹ã¿ãã¯ï¼å²è¾¼ã¿è¨±å¯ç¶æ
+ã« */
+	st 		r2, @-sp			/* ä¾å¤çºçç´å¾ã®pswãå²è¾¼ã¿ã¹ã¿ãã¯ã«éé¿ */
+	lea 	r14, eit_handler_r 
+	jmp 	r1
+				
+Function _kernel_dispatch
+	/*
+	 *  ã¿ã¹ã¯åæ¿ãã®ããã®éé¿å¦ç
+	 *
+	 *  ãã®ã«ã¼ãã³ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼CPUã­ãã¯ç¶æ
+ï¼ãã£ã¹ãã
+	 *  ãè¨±å¯ç¶æ
+ã§å¼ã³åºãããï¼å¼åºå
+ã§ã¯ä¿å­ãããªãã¬ã¸ã¹ã¿ãã¹ã¿ã
+	 *  ã¯ã«éé¿ãï¼pcã¨spã¯TCBã«éé¿ããï¼pcã¯ãã£ã¹ãããã£åºå£å¦ç
+	 *  ï¼dispatch_rï¼ã«è¨­å®ããï¼
+	 */
+	stmdb	"r8,r9,r10,r11,r12,r13,r14"
+
+	lea 	r0, _kernel_runtsk
+	lea		r1, dispatch_r
+	ld		r0, @r0
+	st		r1, @(TCB_pc, r0)		/* å¾©å¸°ããæã¯dispatch_rã«å¸°ã£ã¦ãã */
+	st		sp, @(TCB_sp, r0)		/* ã¹ã¿ãã¯ãã¤ã³ã¿ãéé¿ */
+
+Function _kernel_exit_and_dispatch
+	/*
+	 *  ã¿ã¹ã¯åæ¿ãã®åå¦ç
+	 *
+	 *  schedtskãç©ºã§ãªããããã§ãã¯ããï¼schedtskãç©ºã§ãªãå ´åã¯ï¼
+	 *  ã¿ã¹ã¯åæ¿ãå¦çã«ç§»ãï¼ç©ºã®å ´åã¯ï¼å²è¾¼ã¿ãè¨±å¯ãã¦ã«ã¼ããã
+	 *  å¦çã«ç§»ãï¼
+	 */	
+	xor		r0, r0
+	mvtc	r0, psw						/* å²è¾¼ã¿ç¦æ­¢ï¼å²è¾¼ã¿ã¹ã¿ãã¯ */
+	
+	lea		r1,  _kernel_schedtsk
+L6:	ld		r0, @r1
+	bnez	r0, L7						/* schedtskã®æç¡ããã§ãã¯ */
+
+	/* 
+	 *  èµ·åãã¹ãã¿ã¹ã¯ããªãå ´åã®å¦ç
+	 *
+	 *  èµ·åãã¹ãã¿ã¹ã¯ããªãå ´åã¯ï¼å²è¾¼ã¿ãè¨±å¯ãã¦ã«ã¼ãããï¼ã«ã¼
+	 *  ãã®éä¸­ã§å²è¾¼ã¿ãè¨±å¯ãï¼å®è¡å¯è½ã¿ã¹ã¯ãå¾
+ã¤ï¼
+	 */
+	ldi		r0, 0x40
+	mvtc	r0, psw						/* å²è¾¼ã¿è¨±å¯ */
+	xor		r0, r0
+	mvtc	r0, psw						/* å²è¾¼ã¿ç¦æ­¢ */
+
+	lea 	r0, _kernel_reqflg
+	xor 	r2, r2
+	st 		r2, @r0 					/* reqflg = 0 */
+	bl 		L6
+
+L7:
+    /* 
+	 *  ã¿ã¹ã¯åæ¿ãå¦ç
+	 *
+	 *  å®è¡ä¸­ã¿ã¹ã¯ï¼runtskï¼ã«æé«åªå
+é ä½ã¿ã¹ã¯ï¼schedtskï¼ãè¨­å®ãï¼
+	 *  ã¹ã¿ãã¯ãã¦ã¼ã¶ã¹ã¿ãã¯ã«åæ¿ããï¼runtskã®TCBã®spã¨pcãå¾©å¸°
+	 *  ããï¼ããã§ã¯ï¼r0 = schedtskã§ããï¼
+	 */
+	lea		r2, _kernel_runtsk
+	st		r0, @r2 					/* runtsk = schedtsk */
+
+	ldi 	r1, 0x80
+	mvtc 	r1, psw 					/* ã¦ã¼ã¶ã¹ã¿ãã¯ï¼å²è¾¼ã¿ç¦æ­¢ */
+
+	ld		sp, @(TCB_sp, r0)			/* ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å¸° */
+	ld		r0, @(TCB_pc, r0)			/* ãã­ã°ã©ã ã«ã¦ã³ã¿ãå¾©å¸° */
+	jmp		r0
+
+	.align 4
+Label dispatch_r
+	/* 
+	 *  ãã£ã¹ãããã£ã®åºå£å¦ç
+	 * 
+	 *  dispatchã§éé¿ããã¬ã¸ã¹ã¿ãå¾©å¸°ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼
+	 *  ã³åºãï¼
+	 */
+	bl 		_kernel_calltex 
+    ldmia 	"r14,r13,r12,r11,r10,r9,r8" 
+	rts
+
+Function _kernel_activate_r
+	/*
+	 *  ã¿ã¹ã¯ã®èµ·åã«ã¼ãã³
+	 *
+	 *  runtskã®ã¿ã¹ã¯åæåãã­ãã¯ããã¿ã¹ã¯é¢æ°ã¨æ¡å¼µæ
+å ±ãåãåºã
+	 *  ã¦ï¼æ¡å¼µæ
+å ±ãå¼æ°ã¬ã¸ã¹ã¿ï¼r0ï¼ã«è¨­å®ããï¼ext_tskãå¼ã³åºã
+	 *  ãã«ã¿ã¹ã¯ãçµäºããå ´åãããããï¼ã¿ã¹ã¯é¢æ°ã®æ»ãçªå°ã
+	 *  ext_tskã«è¨­å®ããï¼èµ·åæºåãå
+¨ã¦å®äºãã¦ããï¼å²è¾¼ã¿ãè¨±å¯ã
+	 *  ã¦ã¿ã¹ã¯é¢æ°ã«é£ã¶ï¼
+	 */
+	lea		r2, _kernel_runtsk
+	ld		r2, @r2
+	ld		r2, @(TCB_tinib, r2)		/* r2 = runtsk->tinib */
+	ld		r0, @(TINIB_exinf, r2)
+	ld		r1, @(TINIB_task,  r2)
+
+	lea		r14, ext_tsk				/* ã¿ã¹ã¯ã®æ»ãçªå°ãext_tskã« */
+
+	ldi 	r2, 0xc0
+	mvtc 	r2, psw						/* ã¦ã¼ã¶ã¹ã¿ãã¯ï¼å²è¾¼ã¿è¨±å¯ */
+	jmp		r1							/* ã¿ã¹ã¯é¢æ°ã¸ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/cpu_unrename.h	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_unrename.h,v 1.6 2007/05/30 03:56:47 honda Exp $
+ */
+
+#ifdef _CPU_RENAME_H_
+#undef _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef _reset
+#undef vector_entry_SBI
+#undef vector_entry_RIE
+#undef vector_entry_AE
+#undef vector_entry_trap
+#undef _trap_handler_0
+#undef _trap_handler_1
+#undef _trap_handler_2
+#undef _trap_handler_3
+#undef _trap_handler_4
+#undef _trap_handler_5
+#undef _trap_handler_6
+#undef _trap_handler_7
+#undef _trap_handler_8
+#undef _trap_handler_9
+#undef _trap_handler_10
+#undef _trap_handler_11
+#undef _trap_handler_12
+#undef _trap_handler_13
+#undef _trap_handler_14
+#undef _trap_handler_15
+#undef interrupt_handler
+#undef InterruptHandlerEntry
+#undef interrupt_handler_r
+#undef recover_task_r
+#undef recover_task
+#undef recover_int
+#undef exit_interrupt_handler
+#undef _exception_handler
+#undef ExceptionHandlerEntry
+#undef _unhandled_interrupt_handler
+#undef exit_exception_handler
+#undef exception_handler_r
+#undef recover_exception_exc_task_r
+#undef dispatch
+#undef reqflg
+#undef calltex
+#undef runtsk
+#undef dispatch_r
+#undef exit_and_dispatch
+#undef schedtsk
+#undef activate_r
+
+#ifdef LABEL_ASM
+
+#undef __reset
+#undef _vector_entry_SBI
+#undef _vector_entry_RIE
+#undef _vector_entry_AE
+#undef _vector_entry_trap
+#undef __trap_handler_0
+#undef __trap_handler_1
+#undef __trap_handler_2
+#undef __trap_handler_3
+#undef __trap_handler_4
+#undef __trap_handler_5
+#undef __trap_handler_6
+#undef __trap_handler_7
+#undef __trap_handler_8
+#undef __trap_handler_9
+#undef __trap_handler_10
+#undef __trap_handler_11
+#undef __trap_handler_12
+#undef __trap_handler_13
+#undef __trap_handler_14
+#undef __trap_handler_15
+#undef _interrupt_handler
+#undef _InterruptHandlerEntry
+#undef _interrupt_handler_r
+#undef _recover_task_r
+#undef _recover_task
+#undef _recover_int
+#undef _exit_interrupt_handler
+#undef __exception_handler
+#undef _ExceptionHandlerEntry
+#undef __unhandled_interrupt_handler
+#undef _exit_exception_handler
+#undef _exception_handler_r
+#undef _recover_exception_exc_task_r
+#undef _dispatch
+#undef _reqflg
+#undef _calltex
+#undef _runtsk
+#undef _dispatch_r
+#undef _exit_and_dispatch
+#undef _schedtsk
+#undef _activate_r
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32r.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32r.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32r.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m32r.h,v 1.1 2007/05/30 03:56:47 honda Exp $
+ */
+
+#ifndef _M32R_H_
+#define _M32R_H_
+
+/*
+ *  M32Rï¼32102ï¼å
+±éã®ã¬ã¸ã¹ã¿
+ */
+
+/* å²è¾¼ã¿é¢é£ã®ã¬ã¸ã¹ã¿ */
+#define ICUISTS		0xeff004
+#define ICUIREQ0	0xeff008
+#define ICUIREQ1	0xeff00c
+#define ICUSBICR	0xeff018
+#define ICUIMASK	0xeff01c
+
+#define __ICUCR(x)	ICUCR_##x
+#define _ICUCR(x)	__ICUCR(x)
+#define ICUCR_INT	0xeff200
+#define ICUCR_MFT	0xeff23c
+#define ICUCR_SIO	0xeff2bc
+#define ICUCR(x,y)	(_ICUCR(x) + (0x4*y))
+
+/* ã¿ã¤ãé¢é£ã¬ã¸ã¹ã¿ */
+#define MFTCR			0xefc000
+#define MFTRPR			0xefc004
+#define MFTMOD(x)		(0xefc100 + ((x) * 0x100))
+#define MFTBOS(x)		(0xefc104 + ((x) * 0x100))
+#define MFTCUT(x)		(0xefc108 + ((x) * 0x100))
+#define MFTRLD(x)		(0xefc10c + ((x) * 0x100))
+#define MFTMCMPRLD(x)	(0xefc110 + ((x) * 0x100))
+
+/* ã·ãªã¢ã«é¢é£ã¬ã¸ã¹ã¿ */
+#define SIOCR(x)	(0xefd000 + ((x) * 0x100))
+#define SIOMOD0(x)	(0xefd004 + ((x) * 0x100))
+#define SIOMOD1(x)	(0xefd008 + ((x) * 0x100))
+#define SIOSTS(x)	(0xefd00c + ((x) * 0x100))
+#define SIOTRCR(x)	(0xefd010 + ((x) * 0x100))
+#define SIOBAUR(x)	(0xefd014 + ((x) * 0x100))
+#define SIORBAUR(x)	(0xefd018 + ((x) * 0x100))
+#define SIOTXB(x)	(0xefd01c + ((x) * 0x100))
+#define SIORXB(x)	(0xefd020 + ((x) * 0x100))
+
+/* ãã­ã°ã©ããã«I/Oãã¼ãé¢é£ã¬ã¸ã¹ã¿ */
+#define PIEN		0xef1000
+#define PDATA(x)	(0xef1020+(x))
+#define PDIR(x)		(0xef1040+(x))
+#define PMOD(x)		(0xef1060+((x)*2))
+#define PODCR(x)	(0xef1080+((x)*2))
+/* å¤é¨ãã¹ã³ã³ãã­ã¼ã© */
+#define BSELCR(x)	(0xef5000 + ((x)*4))
+
+/* SDRAMã³ã³ãã­ã¼ã© */
+#define SDRF0		0xef6000
+#define SDRF1		0xef6004
+#define SDIR0		0xef6008
+#define SDIR1		0xef600c
+#define SDBR		(0xef6010)
+#define SDADR(x)	(0xef6020 + ((x)*32))
+#define SDER(x)		(0xef6024 + ((x)*32))
+#define SDTR(x)		(0xef6028 + ((x)*32))
+#define SDMOD(x)	(0xef602c + ((x)*32))
+
+/* CPUåä½ã¢ã¼ãé¢é£ã®ã¬ã¸ã¹ã¿ */
+#define CPUCLKCR	0xef4000
+#define CLKMOD		0xef4004
+#define PLLCR		0xef4008
+
+#endif /* _M32R_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32rasm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32rasm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32rasm.inc	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m32rasm.inc,v 1.10 2007/05/30 03:56:47 honda Exp $
+ */
+
+#ifndef __M32RASM_INC
+#define __M32RASM_INC
+
+/*
+ *  M32Rç¨ã¢ã»ã³ãã©ãã¯ã­ã©ã¤ãã©ãª
+ */
+
+/* 32ãããå³å¤ã­ã¼ã (å³å¤ & ã·ã³ãã«) */
+
+	.macro	lea reg, value
+		seth	\reg, #high(\value)
+		or3		\reg, \reg, #low(\value)
+	.endm
+
+/* å¤é¨åç
+§å¯è½ãªã·ã³ãã«ã®ä½æ */
+	.macro Label name
+		.globl \name
+		\name:
+	.endm
+
+/* é¢æ°ã¨ã³ããªã®ä½æ */
+	.macro Function name
+		.text
+		.align 4
+		.globl \name
+		\name:
+	.endm
+
+/* é¢æ°ããã®å¾©å¸° */
+	.macro rts
+		jmp  r14
+	.endm
+
+/* ã¹ã¿ãã¯ç©ã¿ */
+	.macro stmdb regset
+		.irp reg, \regset
+		st	\reg, @-r15
+		.endr
+	.endm
+
+/* ã¹ã¿ãã¯æ»ã */
+
+	.macro ldmia regset
+		.irp reg, \regset
+		ld	\reg, @r15+
+		.endr
+	.endm
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32relf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32relf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m32relf.ld	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m32relf.ld,v 1.5 2003/12/24 07:35:03 takayuki Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m32r","elf32-m32r","elf32-m32r")
+OUTPUT_ARCH(m32r)
+
+PROVIDE(__stack = 0x00f10000);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+MEMORY
+{
+	ROM(raxi) :   { org = 0x00000000, len = 1M }
+	RAM(waxi) :   { org = 0x00f0c000, len = 16k }
+}
+
+SECTIONS
+{
+	.vector : AT(0)
+	{	*(.vector)		}
+
+	. = ALIGN(4);
+    .text :	
+    {
+        __stext = . ;
+        *(.text)
+		__etext = . ;
+    }
+
+	. = ALIGN(4);
+    .rodata : 
+	{
+		__srodata = .;
+		 *(.rodata)
+		__erodata = .;
+	}
+
+	. = ALIGN(4);
+	__sidata = . ;
+
+    .data   :  AT(__sidata) 
+    {
+		. = ALIGN(4);
+		__sdata = .;
+        *(.data)
+		. = ALIGN(4);
+		__edata = .;
+    }
+
+	__eidata = __edata - __sdata + __sidata;
+
+    .bss :
+    {
+		. = ALIGN(4);
+		__sbss = .;
+		*(.bss)
+		*(COMMON)
+		. = ALIGN(4);
+		__ebss = .;
+    }
+
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/Makefile.config	(revision 26)
@@ -0,0 +1,81 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.2 2007/05/30 08:38:51 honda Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼M3A-2131ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS) -mmodel=medium 
+LDFLAGS := $(LDFLAGS) -mmodel=medium
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o hw_serial.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+#TEXT_START_ADDRESS = 00F00000		#å
+èµRAM
+#DATA_START_ADDRESS = 01000000		#å¤é¨SDRAM
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/m32relf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.c	(revision 26)
@@ -0,0 +1,227 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.c,v 1.1 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼M32102å
+èµéåæã·ãªã¢ã«ç¨ï¼
+ */
+
+#include <sil.h>
+#include <hw_serial.h>
+
+#include <cpu_rename.h>
+#include <sys_rename.h>
+
+SIOPCB siopcb_table[TNUM_PORT];
+
+extern FP InterruptHandlerEntry[];
+
+/* 
+ *  ä½æ¥­ç¨é¢æ° 
+ */
+#define ID_PORT(x)		((x) + 1)
+#define INDEX_PORT(x)	((x) - 1)
+#define GET_SIOPCB(x)	(&siopcb_table[INDEX_PORT(x)])
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+void
+sio_initialize(void)
+{
+	int i;
+
+	for(i=0;i<TNUM_PORT;i++)
+	{
+		siopcb_table[i].flags = SIO_TYP_M32RUART;
+		siopcb_table[i].port  = i;
+		siopcb_table[i].exinf = 0;
+
+		InterruptHandlerEntry[INT_SIO0RCV + (siopcb_table[i].port * 2) - 1] = sio_handler_in;
+		InterruptHandlerEntry[INT_SIO0XMT + (siopcb_table[i].port * 2) - 1] = sio_handler_out;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB * siopcb = GET_SIOPCB(siopid);
+
+	siopcb->exinf = exinf;
+
+	switch(SIO_TYP(siopcb->flags)) {
+	case SIO_TYP_M32RUART:
+
+		/* UARTåæå */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0);
+
+		/* ãã¼ããéã(UART0) */
+		sil_wrb_mem((void *)PDATA(5), 0);
+		sil_wrb_mem((void *)PDIR(5),  0x80);
+
+		/* UART, Non-parity, 1 stop-bit */
+		sil_wrb_mem((void *)(SIOMOD0(siopcb->port)+3), 0);
+
+		/* 8bit, internal clock */
+		sil_wrh_mem((void *)(SIOMOD1(siopcb->port)+2), 0x0800);
+
+		/* M32R(32102) - f(BLK)=16MHzã§115200bps */
+		sil_wrh_mem((void *)(SIOBAUR(siopcb->port)+2), SERIAL_CLKDIV);
+		sil_wrb_mem((void *)(SIORBAUR(siopcb->port)+3), SERIAL_CLKCMP);
+
+		/* éåä¿¡å²è¾¼ã¿çºçè¨±å¯ */
+		sil_wrh_mem((void *)(SIOTRCR(siopcb->port)+2), 0x0006);
+
+		/* ã¹ãã¼ã¿ã¹ã¯ãªã¢, éåä¿¡åä½éå§ */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+2), 0x3);
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0x3);
+
+		/* åä¿¡å²è¾¼ã¿åä»è¨±å¯ */
+		sil_wrh_mem((void *)(ICUCR(SIO,siopcb->port)+2), 0x1000);
+		sil_wrh_mem((void *)(ICUCR(SIO,siopcb->port)+6), 0x1000);
+
+		/* TxD,RxDãã³æå¹(UART0) */
+		sil_wrh_mem((void *)PMOD(5), 0x5500);
+
+		break;
+	}
+
+	return siopcb;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sio_cls_por(SIOPCB *siopcb)
+{
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:
+		/* éåä¿¡åä½ãç¦æ­¢ãã */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT sio_rcv_chr(SIOPCB * siopcb)
+{
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:
+		return sil_reb_mem((void *)(SIORXB(siopcb->port)+3));
+	}
+
+	return -1;
+}
+
+
+/*
+ *  æå­ãåä¿¡ãããããã§ãã¯
+ */
+
+inline BOOL
+hw_port_getready(SIOPCB *p)
+{
+	switch(SIO_TYP(p->flags))
+	{
+	case SIO_TYP_M32RUART:
+		return (sil_reb_mem((void *)(SIOSTS(p->port)+3)) & 0x4) != 0 ? TRUE : FALSE;
+	}
+	return FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯è¨±å¯
+ */
+void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ç¦æ­¢
+ */
+void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+void sio_handler_in(void)
+{
+	int port;
+
+	for(port = 0; port < TNUM_PORT; ++ port)
+	{
+		if( hw_port_getready(&siopcb_table[port]) == TRUE )
+			sio_ierdy_rcv(GET_SIOPCB(ID_PORT(port))->exinf);
+	}
+}
+
+void sio_handler_out(void)
+{
+	int port;
+
+	for(port = 0; port < TNUM_PORT; ++ port)
+	{
+		if((siopcb_table[port].flags & SIO_STS_SENDING) != 0)
+		{
+			/* éä¿¡ã¹ãã¼ã¿ã¹åæå */
+			sil_wrb_mem((void *)(SIOCR(port)+2), 0x1);
+			siopcb_table[port].flags &= ~SIO_STS_SENDING;
+
+			sio_ierdy_snd(GET_SIOPCB(ID_PORT(port))->exinf);
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.cfg	(revision 26)
@@ -0,0 +1,58 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼M3A-2131ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_serial.h	(revision 26)
@@ -0,0 +1,172 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼M32102å
+èµéåæã·ãªã¢ã«ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <sil.h>
+#include <s_services.h>
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(48 + ((CONSOLE_PORTID-1)*2))
+#define INHNO_SERIAL_OUT	(49 + ((CONSOLE_PORTID-1)*2))
+
+#define SIO_TYP(x)				( (x) & 0x000000ff )
+#define SIO_TYP_M32RUART	0x00000001
+
+#define SIO_STS(x)				( (x) & 0xffff0000 )
+#define SIO_STS_SENDING		0x80000000
+
+typedef struct
+{
+	int		flags;
+	int		port;
+	VP_INT	exinf;
+} SIOPCB;
+
+//extern SIOPCB siopcb_table[TNUM_PORT];
+
+extern void sio_handler_in(void);
+extern void sio_handler_out(void);
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+extern void sio_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sio_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sio_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ä¸æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB * siopcb, INT chr)
+{
+	if((siopcb->flags & SIO_STS_SENDING) != 0)
+		return FALSE;
+
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:	
+		if((sil_reb_mem((void *)(SIOSTS(siopcb->port)+3)) & 0x3) != 0)
+		{
+			siopcb->flags |= SIO_STS_SENDING;
+			sil_wrb_mem((void *)(SIOTXB(siopcb->port)+3), (char)chr);
+		} else
+			return FALSE;
+		break;
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡
+ */
+extern INT	sio_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sio_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sio_ercv_chr(ID siopid, INT chr);
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/hw_timer.h	(revision 26)
@@ -0,0 +1,131 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼M32R å
+èµã¿ã¤ã(MFT0)ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#define WAIT __asm("nop;nop;nop;nop");
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER 21 //INT_MFT0(16) + TIMER_PORT(5)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	*(volatile unsigned short *)(ICUCR(MFT,TIMER_PORT)+2) = 0x1000;
+	*(volatile unsigned short *)(MFTMOD(TIMER_PORT)+2) = 0x8000;
+	*(volatile unsigned short *)(MFTCUT(TIMER_PORT)+2) = TIMER_CLKCNT;
+	*(volatile unsigned short *)(MFTCR+2) = 0x8080 >> TIMER_PORT;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{	
+	*(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) = 0x10;	
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{	
+	*(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) = 0x0;	
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return *(volatile unsigned short *)(MFTCUT(TIMER_PORT)+2);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{	return *(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) & 0x1;	}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/m32relf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/m32relf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/m32relf.ld	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m32relf.ld,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m32r","elf32-m32r","elf32-m32r")
+OUTPUT_ARCH(m32r)
+
+PROVIDE(__stack = 0x00f10000);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(_kernel__unhandled_interrupt_handler = 0);
+
+MEMORY
+{
+	ROM(raxi) : org = 0x00f00000, len = 64k	/* å
+èµRAM */
+	RAM(waxi) : org = 0x01000000, len = 16M /* å¤é¨SDRAM */
+}
+
+SECTIONS
+{
+	/* å²è¾¼ã¿ãã¯ã¿ãç§»åããããå ´åã¯æ¬¡ã®ã³ã¡ã³ããã¨ã£ã¦ã
+	   .textã®å
+é ­ã«ãã*(.vector)ãã³ã¡ã³ãã¢ã¦ãããã°ãã */
+/*
+	.vector : 
+	{	*(.vector)		} > ROM
+*/
+
+	. = ALIGN(4);
+    .text :	
+    {
+        *(.vector)
+
+        __stext = . ;
+        *(.text)
+		__etext = . ;
+    } > ROM
+
+	. = ALIGN(4);
+    .rodata : 
+	{
+		__srodata = .;
+		 *(.rodata)
+		__erodata = .;
+	} > ROM
+
+	. = ALIGN(4);
+	__sidata = . ;
+
+    .data   :  AT(__sidata) 
+    {
+		. = ALIGN(4);
+		__sdata = .;
+        *(.data)
+		. = ALIGN(4);
+		__edata = .;
+    } > RAM
+
+	__eidata = __edata - __sdata + __sidata;
+
+    .bss :
+    {
+		. = ALIGN(4);
+		__sbss = .;
+		*(.bss)
+		*(COMMON)
+		. = ALIGN(4);
+		__ebss = .;
+    } > RAM
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.c	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M3A-2131ç¨ï¼
+ */
+
+#include <sys_rename.h>
+
+#include <s_services.h>
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	sil_wrh_mem((void *)0xef106e, 0);		//ãã¼ã7ãä½¿ç¨ãã
+	sil_wrb_mem((void *)0xef1047, 0xff);	//åºåã¢ã¼ã
+	sil_wrb_mem((void *)LED,      0);
+
+		/* UARTåæå */
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+3), 0);
+
+		/* ãã¼ããéã(UART0) */
+	sil_wrb_mem((void *)PDATA(5), 0);
+	sil_wrb_mem((void *)PDIR(5),  0x80);
+
+		/* UART, Non-parity, 1 stop-bit */
+	sil_wrb_mem((void *)(SIOMOD0(CONSOLE_PORTID-1)+3), 0);
+
+		/* 8bit, internal clock */
+	sil_wrh_mem((void *)(SIOMOD1(CONSOLE_PORTID-1)+2), 0x0800);
+
+		/* M32R(32102) - f(BLK)=16MHzã§115200bps */
+	sil_wrh_mem((void *)(SIOBAUR(CONSOLE_PORTID-1)+2), SERIAL_CLKDIV);
+	sil_wrb_mem((void *)(SIORBAUR(CONSOLE_PORTID-1)+3), SERIAL_CLKCMP);
+
+		/* ã¹ãã¼ã¿ã¹ã¯ãªã¢, éåä¿¡åä½éå§ */
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+2), 0x3);
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+3), 0x3);
+
+		/* TxD,RxDãã³æå¹(UART0) */
+	sil_wrh_mem((void *)PMOD(5), 0x5500);
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	dis_int();
+	*(volatile unsigned char *)(ICUIMASK+1) = 0;
+	while(1==1)
+	{
+		sil_wrb_mem((void *)LED, sil_reb_mem((void *)LED) + 1);
+
+			/* ä½æ¶è²»é»åã¢ã¼ãã¸ç§»è¡ */
+		__asm(	"stb	%0, @%1	\n"
+				"ldb	%0, @%1 \n"
+			  	"nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop"
+			: : "r"(1), "r"(CLKMOD+3) );
+	}
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if(c == '\n')
+		sys_putc('\r');
+	while( (sil_reb_mem((void *)(SIOSTS(CONSOLE_PORTID-1)+3)) & 0x1) == 0);	//éä¿¡å®äºå¾
+ã¡
+	sil_wrb_mem((void *)(SIOTXB(CONSOLE_PORTID-1)+3), c);	//ä¸æå­éä¿¡
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_config.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M32R / M3A-2131ç¨ï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"M3A-2131"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_VXGET_TIM
+
+#define NUM_INTERRUPT	64
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID		1	/* ã­ã°ã¿ã¹ã¯ãåºåç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID		1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#define TNUM_PORT			1
+
+	/* M3A-2131 66MHz ã§ 115.2kbps */
+#define SERIAL_INT_PRIORITY   0
+#define SERIAL_CLKDIV         17
+#define SERIAL_CLKCMP         7
+
+#define TIMER_CLKCNT	 	(16667*2)
+#define TIMER_PORT			5
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_defs.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *  M3A-2131 M32102 66MHz
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define M3A2131
+
+/*
+ * ã¡ã¢ãªããããã¬ã¸ã¹ã¿
+ */
+
+#define LED 0xef1027
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+
+typedef	unsigned char INTNO;		/* å²è¾¼ã¿çªå· */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+Inline void kernel_abort(void)
+{
+    extern void _kernel_sys_exit(void);
+    _kernel_sys_exit();
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_rename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_rename.h,v 1.1 2007/05/30 08:38:51 honda Exp $
+ */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_support.S	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/05/30 08:38:51 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼M3A-2131ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+
+#include <m32rasm.inc>
+#include <s_services.h>
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+	.macro	out		addr, val
+		ld24	r0, \addr
+		seth	r1, #((\val) >> 16)
+		or3		r1, r1, #((\val) & 0xffff)
+		st		r1, @r0
+	.endm
+
+	.macro	outh	addr, val
+		ld24	r0, #(\addr)
+		ldi		r1, #(\val)
+		sth		r1, @r0
+	.endm
+
+	.macro	outb	addr, val
+		ld24	r0, #(\addr)
+		ldi		r1, #(\val)
+		stb		r1, @r0
+
+	.endm
+
+Function hardware_init_hook
+
+	outb	PLLCR+3,   0x1			/* PLLã¯ã­ãã¯åä½éå§ */
+	out		BSELCR(1), 0x0fffb50f	/* å¤é¨ãã¹ï¼ãã­ãã¯ï¼ãä½¿ç¨ï¼SDRAMï¼ */
+
+	/* PIOã®è¨­å® */
+	outh	PMOD(0),   0x0100	/* å¤é¨ãã¹BSEL1ãä½¿ç¨ */
+	outh	PMOD(1),   0x1		/* å¤é¨ãã¹RD/WR */
+	outh	PMOD(2),   0x1		/* å¤é¨ãã¹WS3 */
+	outh	PMOD(3),   0x5555	/* å¤é¨ãã¹ */
+	outh	PMOD(4),   0x5555	/* å¤é¨ãã¹ */
+	outh	PMOD(5),   0x0555	/* å
+é¨å¨è¾ºI/O */
+	outh	PMOD(6),   0x0555	/* å
+é¨å¨è¾ºI/O */
+
+	outh	SDIR0+2,   0x182
+
+	/* SDRAMåæå */
+	ld24	r0, SDIR1+3
+	ldi		r1, 1
+	stb		r1, @r0
+	addi	r0, -2
+L1:	ldb		r1, @r0
+	bnez	r1, L1					/* DINSTããããã¯ãªã¢ãããã¨åæåçµäº */
+
+	outb	SDBR+3, 0x2
+	outh	SDRF1+2, 0x0020
+	outh	SDMOD(0)+2, 0
+	out		SDADR(0), 0x01000042	/* 0x01000000, 32bit, bank 4, 16MB */
+	outh	SDTR(0)+2,0x0001
+
+	outb	SDRF1+1, 1				/* ãªãã¬ãã·ã¥æå¹ */
+	outb	SDER(0)+3, 1			/* SDRAMæå¹ */
+	outb	CPUCLKCR+1, 0x2			/* CPUã¯ã­ãã¯ã¨ãã¦PLLã¯ã­ãã¯ãä½¿ç¨ */
+	rts
+
+Function software_init_hook
+	rts
+
+Function vxget_tim
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_2131/sys_unrename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_unrename.h,v 1.1 2007/05/30 08:38:51 honda Exp $
+ */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/Makefile.config	(revision 26)
@@ -0,0 +1,75 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.2 2007/05/28 02:03:55 honda Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼m3a_za36ç¨ï¼
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS) -mmodel=medium
+LDFLAGS := $(LDFLAGS) -mmodel=medium
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o hw_serial.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/m32relf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.c	(revision 26)
@@ -0,0 +1,232 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.c,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼M32102å
+èµéåæã·ãªã¢ã«ç¨ï¼
+ */
+
+#include <sil.h>
+#include <hw_serial.h>
+
+#include <cpu_rename.h>
+#include <sys_rename.h>
+
+SIOPCB siopcb_table[TNUM_PORT];
+
+extern FP InterruptHandlerEntry[];
+
+/* 
+ *  ä½æ¥­ç¨é¢æ° 
+ */
+#define ID_PORT(x)		((x) + 1)
+#define INDEX_PORT(x)	((x) - 1)
+#define GET_SIOPCB(x)	(&siopcb_table[INDEX_PORT(x)])
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+void
+sio_initialize(void)
+{
+	int i;
+
+	for(i=0;i<TNUM_PORT;i++)
+	{
+		siopcb_table[i].flags = SIO_TYP_M32RUART;
+		siopcb_table[i].port  = i;
+		siopcb_table[i].exinf = 0;
+
+		InterruptHandlerEntry[INT_SIO0RCV + (siopcb_table[i].port * 2) - 1] = sio_handler_in;
+		InterruptHandlerEntry[INT_SIO0XMT + (siopcb_table[i].port * 2) - 1] = sio_handler_out;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB * siopcb = GET_SIOPCB(siopid);
+
+	siopcb->exinf = exinf;
+
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:
+		/* UARTåæå */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0);
+
+		/* ãã¼ããéã(UART0) */
+		sil_wrb_mem((void *)PDATA(5), 0);
+		sil_wrb_mem((void *)PDIR(5),  0x80);
+
+		/* UART, Non-parity, 1 stop-bit */
+		sil_wrb_mem((void *)(SIOMOD0(siopcb->port)+3), 0);
+
+		/* 8bit, internal clock */
+		sil_wrh_mem((void *)(SIOMOD1(siopcb->port)+2), 0x0800);
+
+		/* m3a_za36 10MHzã§57600bps */
+		sil_wrh_mem((void *)(SIOBAUR(siopcb->port)+2),SERIAL_CLKDIV);
+		sil_wrb_mem((void *)(SIORBAUR(siopcb->port)+3), SERIAL_CLKCMP);
+
+		/* éåä¿¡å²è¾¼ã¿çºçè¨±å¯ */
+		sil_wrh_mem((void *)(SIOTRCR(siopcb->port)+2), 0x0006);
+
+		/* ã¹ãã¼ã¿ã¹ã¯ãªã¢, éåä¿¡åä½éå§ */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+2), 0x3);
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0x3);
+
+		/* éåä¿¡å²è¾¼ã¿è¦æ±åä»è¨±å¯ */
+		sil_wrh_mem((void *)(ICUCR(SIO,siopcb->port)+2), 0x1000); /* åä¿¡å²è¾¼ã¿è¦æ±è¨±å¯ */
+		sil_wrh_mem((void *)(ICUCR(SIO,siopcb->port)+6), 0x1000); /* éä¿¡å²è¾¼ã¿è¦æ±è¨±å¯ */
+
+		/* TxD,RxDãã³æå¹(UART0) */
+		sil_wrh_mem((void *)PMOD(5), 0x5500);
+
+		break;
+	}
+	return siopcb;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sio_cls_por(SIOPCB *siopcb)
+{
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:
+		/* éåä¿¡åä½ãç¦æ­¢ãã */
+		sil_wrb_mem((void *)(SIOCR(siopcb->port)+3), 0);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT sio_rcv_chr(SIOPCB * siopcb)
+{
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:
+		return sil_reb_mem((void *)(SIORXB(siopcb->port)+3));
+	}
+	return -1;
+}
+
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+
+inline BOOL
+hw_port_getready(SIOPCB *p)
+{
+	switch(SIO_TYP(p->flags))
+	{
+	case SIO_TYP_M32RUART:
+		return (sil_reb_mem((void *)(SIOSTS(p->port)+3)) & 0x4) != 0 ? TRUE : FALSE;
+	}
+	return FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯è¨±å¯
+ */
+void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ç¦æ­¢
+ */
+void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+/*
+ * ã·ãªã¢ã«ãã¼ãã®åä¿¡å²è¾¼ã¿ãã³ãã©
+ */
+void sio_handler_in(void)
+{
+	int port;
+
+	for(port = 0; port < TNUM_PORT; ++ port){
+		if( hw_port_getready(&siopcb_table[port]) == TRUE )
+			{
+				sio_ierdy_rcv(GET_SIOPCB(ID_PORT(port))->exinf);
+			}	
+	}
+}
+
+/*
+ * ã·ãªã¢ã«ãã¼ãã®éä¿¡å²è¾¼ã¿ãã³ãã©
+ */
+void sio_handler_out(void)
+{
+	int port;
+	
+	for(port = 0; port < TNUM_PORT; ++ port) {
+		if((siopcb_table[port].flags & SIO_STS_SENDING) != 0) {		
+			//éä¿¡ã¹ãã¼ã¿ã¹åæå
+			sil_wrb_mem((void *)(SIOCR(port)+2), 0x1);
+			siopcb_table[port].flags &= ~SIO_STS_SENDING;
+
+			sio_ierdy_snd(GET_SIOPCB(ID_PORT(port))->exinf);
+		}
+	}
+}		
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.cfg	(revision 26)
@@ -0,0 +1,60 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼m3a_za36ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_serial.h	(revision 26)
@@ -0,0 +1,170 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼M32102å
+èµéåæã·ãªã¢ã«ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <sil.h>
+#include <sys_config.h>
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(48 + ((CONSOLE_PORTID-1)*2))
+#define INHNO_SERIAL_OUT	(49 + ((CONSOLE_PORTID-1)*2))
+
+#define SIO_TYP(x)			( (x) & 0x000000ff )
+#define SIO_TYP_M32RUART	0x00000001
+
+#define SIO_STS(x)			( (x) & 0xffff0000 )
+#define SIO_STS_SENDING		0x80000000
+
+typedef struct
+{
+	int		flags;
+	int		port;
+	VP_INT	exinf;
+} SIOPCB;
+
+//extern SIOPCB siopcb_table[TNUM_PORT];
+
+extern void sio_handler_in(void);
+extern void sio_handler_out(void);
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+extern void sio_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sio_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sio_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ä¸æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB * siopcb, INT chr)
+{
+	if((siopcb->flags & SIO_STS_SENDING) != 0)
+		return FALSE;
+
+	switch(SIO_TYP(siopcb->flags))
+	{
+	case SIO_TYP_M32RUART:	
+		if((sil_reb_mem((void *)(SIOSTS(siopcb->port)+3)) & 0x3) != 0)
+		{
+			siopcb->flags |= SIO_STS_SENDING;
+			sil_wrb_mem((void *)(SIOTXB(siopcb->port)+3), (char)chr);
+		} else
+			return FALSE;
+		break;
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡
+ */
+extern INT	sio_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sio_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sio_ercv_chr(ID siopid, INT chr);
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/hw_timer.h	(revision 26)
@@ -0,0 +1,150 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ * 32 (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼M32R å
+èµã¿ã¤ã(MFT0)ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <sys_config.h>
+
+#define WAIT __asm("nop;nop;nop;nop");
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+
+#define	INHNO_TIMER 20 //INT_MFT0(16) + TIMER_PORT(4) 
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*                                                                             
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ                               
+ */
+#define TO_CLOCK(nume, deno)  	(TIMER_CLKCNT * (nume) / (deno))
+#define TO_USEC(clock)      	((TO_CLOCK(TIC_NUME, TIC_DENO) - (clock)) * 1000 / TIMER_CLKCNT)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define GET_TOLERANCE			100
+#define BEFORE_IREQ(clock)    	((clock) <= GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®åæå
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/* ã¿ã¤ãåæå */
+	*(volatile unsigned short *)(ICUCR(MFT,TIMER_PORT)+2) = 0x1000;
+	*(volatile unsigned short *)(MFTMOD(TIMER_PORT)+2) = 0x8001;
+	*(volatile unsigned short *)(MFTCUT(TIMER_PORT)+2) = TIMER_CLKCNT;
+	*(volatile unsigned short *)(MFTCR+2) = 0x8080 >> TIMER_PORT;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{	
+	*(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) = 0x10;	
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ããï¼
+ */
+Inline void
+hw_timer_terminate()
+{	
+	*(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) = 0x0;	
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return *(volatile unsigned short *)(MFTCUT(TIMER_PORT)+2); 
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return *(volatile unsigned char *)(ICUCR(MFT,TIMER_PORT)+2) & 0x1;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/m32relf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/m32relf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/m32relf.ld	(revision 26)
@@ -0,0 +1,127 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m32relf.ld,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m32r","elf32-m32r","elf32-m32r")
+OUTPUT_ARCH(m32r)
+
+PROVIDE(__stack = 0x04100000);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+MEMORY
+{
+	iram(waxi)	: org = 0x00f00000, len = 32k		/* å
+èRAMé å 32kB	*/
+	eram(waxi)	: org = 0x04000000, len = 64m		/* å¤é¨RAMé å 64MB	*/
+}
+
+SECTIONS
+{
+	/* å²è¾¼ã¿ãã¯ã¿ãç§»åããããå ´åã¯æ¬¡ã®ã³ã¡ã³ããã¨ã£ã¦ã
+	   .textã®å
+é ­ã«ãã*(.vector)ãã³ã¡ã³ãã¢ã¦ãããã°ãã */
+/*
+	.vector : 
+	{	*(.vector)		} > iram
+*/
+
+	. = ALIGN(4);
+    .text :	
+    {
+        *(.vector)
+       	__stext = . ;
+       	*(.text)
+		__etext = . ;
+   
+	 } > iram
+
+	. = ALIGN(4);
+    .rodata : 
+	{
+		__srodata = .;
+		 *(.rodata)
+		__erodata = .;
+	} > iram
+
+	. = ALIGN(4);
+	__sidata = . ;
+
+    .data   :  AT(__sidata) 
+    {
+		. = ALIGN(4);
+		__sdata = .;
+        	*(.data)
+		. = ALIGN(4);
+		__edata = .;
+    } > eram
+
+	__eidata = __edata - __sdata + __sidata;
+
+    .bss :
+    {
+		. = ALIGN(4);
+		__sbss = .;
+		*(.bss)
+		*(COMMON) 
+		. = ALIGN(4);
+		__ebss = .;
+    } > eram
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.c	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼M3A-ZA36ç¨ï¼
+ */
+#include <sys_rename.h>
+#include <s_services.h>
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	/* UARTåæå */
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+3), 0);
+
+	/* ãã¼ããéã(UART0) */
+	sil_wrb_mem((void *)PDATA(5), 0);
+	sil_wrb_mem((void *)PDIR(5),  0x80);
+
+	/* UART, Non-parity, 1 stop-bit */
+	sil_wrb_mem((void *)(SIOMOD0(CONSOLE_PORTID-1)+3), 0);
+
+	/* 8bit, internal clock */
+	sil_wrh_mem((void *)(SIOMOD1(CONSOLE_PORTID-1)+2), 0x0800);
+
+	/* M32R(32102) - f(BLK)=10MHzã§57600bps */
+	sil_wrh_mem((void *)(SIOBAUR(CONSOLE_PORTID-1)+2), SERIAL_CLKDIV);
+	sil_wrb_mem((void *)(SIORBAUR(CONSOLE_PORTID-1)+3), SERIAL_CLKCMP);
+
+	/* ã¹ãã¼ã¿ã¹ã¯ãªã¢, éåä¿¡åä½éå§ */
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+2), 0x3);
+	sil_wrb_mem((void *)(SIOCR(CONSOLE_PORTID-1)+3), 0x3);
+
+	/* TxD,RxDãã³æå¹(UART0) */
+	sil_wrh_mem((void *)PMOD(5), 0x5500);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	dis_int();
+	*(volatile unsigned char *)(ICUIMASK+1) = 0;
+	while(1==1)
+	{
+		/* ä½æ¶è²»é»åã¢ã¼ãã¸ç§»è¡ */
+		__asm(	"stb	%0, @%1	\n"
+				"ldb	%0, @%1 \n"
+			  	"nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop"
+			: : "r"(1), "r"(CLKMOD+3) );
+	}
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if(c == '\n')
+		sys_putc('\r');
+	while( (sil_reb_mem((void *)(SIOSTS(CONSOLE_PORTID-1)+3)) & 0x1) == 0);	/* éä¿¡å®äºå¾
+ã¡ */
+	sil_wrb_mem((void *)(SIOTXB(CONSOLE_PORTID-1)+3), c);	/* ä¸æå­éä¿¡ */
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_config.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼m3a_za36ç¨ï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"M3A-ZA36(MAPPI-II)"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+#define NUM_INTERRUPT	64
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT			1
+#define	LOGTASK_PORTID		1	/* ã­ã°ã¿ã¹ã¯ãåºåç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	CONSOLE_PORTID		1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#define SERIAL_CLKDIV		9
+#define SERIAL_CLKCMP		7
+
+/*
+ *  ã¿ã¤ãã«é¢ããå®ç¾©
+ */
+#define TIMER_CLKCNT		1250		/* 10MHz ã§ 57600bps */
+#define TIMER_PORT			4
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_defs.h	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼m3a_za36/10MHzï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define m3a_za36
+
+/*
+ *  ã¡ã¢ãªããããã¬ã¸ã¹ã¿
+ */
+
+/* å²è¾¼ã¿é¢é£ã®ã¬ã¸ã¹ã¿ */
+#define ICUISTS		0xeff004
+#define ICUIREQ0	0xeff008
+#define ICUIREQ1	0xeff00c
+#define ICUSBICR	0xeff018
+#define ICUIMASK	0xeff01c
+
+#define __ICUCR(x)	ICUCR_##x
+#define _ICUCR(x)	__ICUCR(x)
+#define ICUCR_INT	0xeff200
+#define ICUCR_MFT	0xeff23c
+#define ICUCR_SIO	0xeff2bc
+#define ICUCR(x,y)	(_ICUCR(x) + (0x4*y))
+
+/* ã¿ã¤ãé¢é£ã¬ã¸ã¹ã¿ */
+#define MFTCR			0xefc000
+#define MFTRPR			0xefc004
+#define MFTMOD(x)		(0xefc100 + ((x) * 0x100))
+#define MFTBOS(x)		(0xefc104 + ((x) * 0x100))
+#define MFTCUT(x)		(0xefc108 + ((x) * 0x100))
+#define MFTRLD(x)		(0xefc10c + ((x) * 0x100))
+#define MFTMCMPRLD(x)	(0xefc110 + ((x) * 0x100))
+
+/* ã·ãªã¢ã«é¢é£ã¬ã¸ã¹ã¿ */
+#define SIOCR(x)	(0xefd000 + ((x) * 0x100))
+#define SIOMOD0(x)	(0xefd004 + ((x) * 0x100))
+#define SIOMOD1(x)	(0xefd008 + ((x) * 0x100))
+#define SIOSTS(x)	(0xefd00c + ((x) * 0x100))
+#define SIOTRCR(x)	(0xefd010 + ((x) * 0x100))
+#define SIOBAUR(x)	(0xefd014 + ((x) * 0x100))
+#define SIORBAUR(x)	(0xefd018 + ((x) * 0x100))
+#define SIOTXB(x)	(0xefd01c + ((x) * 0x100))
+#define SIORXB(x)	(0xefd020 + ((x) * 0x100))
+
+/* ãã­ã°ã©ããã«I/Oãã¼ãé¢é£ã¬ã¸ã¹ã¿ */
+#define PIEN		0xef1000
+#define PDATA(x)	(0xef1020+(x))
+#define PDIR(x)		(0xef1040+(x))
+#define PMOD(x)		(0xef1060+((x)*2))
+#define PODCR(x)	(0xef1080+((x)*2))
+
+/* å¤é¨ãã¹ã³ã³ãã­ã¼ã© */
+#define BSELCR(x)	(0xef5000 + ((x)*4))
+
+/* SDRAMã³ã³ãã­ã¼ã© */
+#define SDRF0		0xef6000
+#define SDRF1		0xef6004
+#define SDIR0		0xef6008
+#define SDIR1		0xef600c
+#define SDBR		(0xef6010)
+#define SDADR(x)	(0xef6020 + ((x)*32))
+#define SDER(x)		(0xef6024 + ((x)*32))
+#define SDTR(x)		(0xef6028 + ((x)*32))
+#define SDMOD(x)	(0xef602c + ((x)*32))
+
+/* CPUåä½ã¢ã¼ãé¢é£ã®ã¬ã¸ã¹ã¿ */
+#define CPUCLKCR	0xef4000
+#define CLKMOD		0xef4004
+#define PLLCR		0xef4008
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	unsigned char INTNO;		/* å²è¾¼ã¿çªå· */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	unsigned long SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+Inline void kernel_abort(void)
+{
+    extern void _kernel_sys_exit(void);
+    _kernel_sys_exit();
+}
+
+extern ER	vxget_tim(SYSUTIM *pk_sysutim);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_rename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_rename.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_support.S	(revision 26)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼m3a_za36ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+
+#include <m32rasm.inc>
+
+/*
+ *  ä½¿ç¨ããSFRå®ç¾©
+ */
+#define BSEL0CR		0x00ef5000	/* BSEL0å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define SDRF0		0x00ef6000	/* SDRAMãªãã¬ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define SDRF1		0x00ef6004	/* SDRAMãªãã¬ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define SDIR0		0x00ef6008	/* SDRAMåæåã¬ã¸ã¹ã¿0 */
+#define SDIR1		0x00ef600c	/* SDRAMåæåã¬ã¸ã¹ã¿1 */
+#define SD0ADR		0x00ef6020	/* SDRAM0ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */
+#define SD0ER		0x00ef6024	/* SDRAM0ã¢ã¯ã»ã¹ã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define SD0TR		0x00ef6028	/* SDRAM0ã¿ã¤ãã³ã°ã¬ã¸ã¹ã¿ */
+#define SD0MOD		0x00ef602c	/* SDRAM0ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define SD1ADR		0x00ef6040	/* SDRAM1ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */
+#define SD1ER		0x00ef6044	/* SDRAM1ã¢ã¯ã»ã¹ã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define SD1TR		0x00ef6048	/* SDRAM1ã¿ã¤ãã³ã°ã¬ã¸ã¹ã¿ */
+#define SD1MOD		0x00ef604c	/* SDRAM1ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define MCCR		0xfffffffc	/* ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define ICUIMASK	0x00eff01c	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿	*/
+
+/*
+ *	SDRAMè¨­å®ãã¯ã­å®ç¾©
+ */
+#define SDRF1_VAL	0x00010017	/* SDRAMãªãã¬ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿1è¨­å®å¤	*/
+#define	SDIR0_VAL	0x00000001	/* SDRAMåæåã¬ã¸ã¹ã¿0è¨­å®å¤			*/
+#define	SD0ADR_VAL	0x04000004	/* SDRAM0ã¢ãã¬ã¹ã¬ã¸ã¹ã¿è¨­å®å¤			*/
+#define SD0TR_VAL	0x00020102	/* SDRAM0ã¿ã¤ãã³ã°ã¬ã¸ã¹ã¿è¨­å®å¤		*/
+#define SD0MOD_VAL	0x00000020	/* SDRAM0ã¢ã¼ãã¬ã¸ã¹ã¿è¨­å®å¤			*/
+
+/*
+ *	ãã­ãã¯ã»ã¬ã¯ãã³ã³ãã­ã¼ã©ã®è¨­å®å¤
+ */
+#define BSEL0CR_VAL	0x01011100
+
+/*
+ *  ãã¼ãã¦ã§ã¢åæåå¦ç
+ *
+ *  dataï¼bssã»ã¯ã·ã§ã³ãSDRAMé åã«é
+ç½®ããå ´åã«ã¯ï¼ãããã¬å´ã§
+ *  SDRAMãåæåããï¼ãã®å ´åã¯ï¼hardware_init_hookã§ã¯ä½ãããªãï¼
+ */
+#if 0
+Function hardware_init_hook
+
+	/*
+	 * ãã­ãã¯ã»ã¬ã¯ãã³ã³ãã­ã¼ã©ã®è¨­å®
+	 */
+	mLdadr	r2, BSEL0CR_VAL
+	ld24	r3, #BSEL0CR
+	st		r2, @r3
+
+	/*
+	 *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+	 */
+	ldi	r0, #0x00   /* ã­ã£ãã·ã¥OFF */
+	ldi	r2, #MCCR	/* ç¬¦å·æ¡å¼µããã¦ã¢ãã¬ã¹ãã­ã¼ã */
+	st	r0, @r2		/* å½ä»¤/ãã¼ã¿ã­ã£ãã·ã¥ã¢ã¼ãé¸æ */
+
+	/*
+	 *  å¤é¨SDRAMã®è¨­å® 
+	 */
+	/* --- SDRAMåæå -- */
+	ld24	r2, #SDIR0		/* SDRAMåæåã¬ã¸ã¹ã¿0 */
+	mLdadr	r3, SDIR0_VAL	/* åæåããªãã£ã¼ã¸å¾ã¦ã¨ã¤ã(DPC)       3BCLK	*/
+							/* åæåãªã¼ããªãã¬ãã·ã¥åæ°(DARFC)     8å		*/
+							/* åæåãªã¼ããªãã¬ãã·ã¥è¦æ±éé(DARFI) 8BCLK	*/
+	st		r3, @r2		/* è¨­å®	*/
+
+	ld24	r2, #SDIR1			/* H'00EF600c	*/
+	ldi		r3, #0x00000001		/* åæåéå§	*/
+	st		r3, @r2
+
+	/* --- SDRAMåæåã·ã¼ã±ã³ã¹å®äºå¾
+ã¡ -- */
+wait_sdram:
+	ldh		r3, @r2
+	bnez	r3, wait_sdram		/* åæåçµäºï¼ */
+
+	/* -- SDRAMã¢ã¼ãã¬ã¸ã¹ã¿ã»ããã³ãã³ãçºè¡ */
+	ld24	r2, #SD0MOD			/* SDRAM0ã¢ã¼ãã¬ã¸ã¹ã¿					*/
+	mLdadr	r3, SD0MOD_VAL			/* ãã¼ã¹ãã¢ã¼ã						*/
+								/* CL=2									*/
+								/* ãã¼ã¹ãã¿ã¤ãï¼ã·ã¼ã±ã³ã·ã£ã«		*/
+								/* ãã¼ã¹ãé·							*/
+	st		r3, @r2				/* è¨­å®	*/
+
+	/* ---- SDRAMã¿ã¤ãã³ã°ã¬ã¸ã¹ã¿è¨­å® -- */
+	ld24	r2, #SD0TR			/* SDRAMã¿ã¤ãã³ã°ã¬ã¸ã¹ã¿							*/
+	mLdadr	r3, SD0TR_VAL		/* RASã¢ã¯ãã£ãæé(DRAS)             3BCLK		*/
+								/* RAS-CASã¬ã¼ãã³ã·(DRCD)             1BCLK		*/
+								/* RASããªãã£ã¼ã¸(DPCG)               1BCLK		*/
+								/* ã©ã¤ããªã«ããªæé(DWR)             2BCLK		*/
+								/* SDRAMã³ã³ãã­ã¼ã©CASã¬ã¼ãã³ã·(DCL) 2BCLK		*/
+	st      r3, @r2			/* è¨­å®	*/
+
+	/* --- SDRAMé åè¨­å®(H'04000000ãã32Mãã¤ã,32bitBUS)	*/
+	ld24	r2, #SD0ADR		/* SDRAM0ã¢ãã¬ã¹ã¬ã¸ã¹ã¿							*/
+	mLdadr	r3, SD0ADR_VAL		/* å
+é ­ã¢ãã¬ã¹(DADR)         H'0400 xxxx			*/
+								/* ãã¼ã¿ãã¹å¹
+é¸æ(DBSZ)     32ããã				*/
+								/* ãã£ãã«ãµã¤ãºè¨­å®(DSZ)    64Mãã¤ã				*/
+	st		r3, @r2			/* è¨­å®	*/
+
+	/* ---- ãªã¼ããªãã¬ãã·ã¥æå¹ãè¦æ±éé:1344ã¯ã­ãã¯ã«è¨­å®	*/
+	ld24	r2, #SDRF1		/* SDRAMãªãã¬ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿1					*/
+	mLdadr	r3, SDRF1_VAL		/* ãªã¼ããªãã¬ãã·ã¥(DRFEN)	1(æå¹ï¼			*/
+								/* ãªã¼ããªãã¬ãã·ã¥ã¦ã§ã¤ã(DREFW) 8BCLK			*/
+								/* ãªã¼ããªãã¬ãã·ã¥è¦æ±éé(DRFC)  1344BCLK		*/
+	st		r3, @r2
+
+	/* SDRAMã¢ã¯ã»ã¹æå¹ */
+	ld24	r2, #SD0ER			/* SDRAMã¢ã¯ã»ã¹ã¤ãã¼ãã«ã¬ã¸ã¹ã¿	*/
+	ldi		r3, #0x01			/* è¨­å®å¤ãã¬ã¸ã¹ã¿ã«æ ¼ç´			*/
+	st		r3, @r2
+	rts
+#endif
+		
+Function software_init_hook
+	ld24 	r0, ICUIMASK + 1
+	ldi 	r1, 7
+	stb 	r1, @r0 			/* å²è¾¼ã¿ãã¹ã¯ãå
+¨è¨±å¯ã«è¨­å® */
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/m3a_za36/sys_unrename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_unrename.h,v 1.2 2007/05/28 02:03:55 honda Exp $
+ */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/makeoffset.c	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.9 2007/05/30 03:56:47 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define	offsetof(structure, field) \
+			((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, tinib);
+	OFFSET_DEF(TINIB, task);
+	OFFSET_DEF(TINIB, exinf);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/start.S	(revision 26)
@@ -0,0 +1,127 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+
+ *  @(#) $Id: start.S,v 1.10 2007/05/30 03:56:47 honda Exp $
+ */
+
+#define _MACRO_ONLY
+
+#include <m32rasm.inc>
+#include <s_services.h>
+		
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ 
+ */
+	.text
+	.align 4
+	.globl start
+
+start:
+	.extern		kernel_start
+	.extern		hardware_init_hook
+	.extern		software_init_hook
+	.extern 	reset
+
+	/* pswã®åæå */
+	ldi		r0, 0	
+	mvtc	r0, psw
+
+	/* å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå */
+	lea		r15, __stack
+	
+	/* EITãã¼ã¹ã¬ã¸ã¹ã¿ã®è¨­å® */
+	lea		r0, reset
+	mvtc	r0, cr5
+
+	/* ãã¼ãã¦ã§ã¢åæåã«ã¼ãã³ã®èµ·å */
+	lea		r0, hardware_init_hook
+	beqz	r0, L1
+	jl		r0
+
+L1:
+	/* .bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢ */
+	xor		r0, r0
+	lea		r1, __sbss
+	lea		r2, __ebss
+	beq		r1, r2, L3
+L2:
+	st		r0, @-r2
+	bne		r1, r2, L2
+
+L3:
+	/* .dataã»ã¯ã·ã§ã³ã®åæå */
+	lea		r1, __sidata
+	lea		r2, __eidata
+	lea		r3, __sdata
+
+	addi	r3, -4
+	beq		r1, r2, L5
+L4:	ld		r0, @r1+
+	st		r0, @+r3
+	bne		r1, r2, L4
+
+L5:
+	/* ã½ããã¦ã§ã¢åæåã«ã¼ãã³ã®èµ·å */
+	lea		r0, software_init_hook
+	beqz	r0, L6
+	jl		r0
+
+L6:
+	/* å²è¾¼ã¿ãã¹ã¯ã®è¨­å® */
+	ld24 	r0, ICUIMASK + 1
+	ldi 	r1, 7				/* ãã¹ã¦ã®å²è¾¼ã¿è¦æ±ãåä»ã */
+	stb 	r1, @r0 			
+
+	/* ã«ã¼ãã«èµ·å */
+	bl		kernel_start
+
+L7:	bra		L7
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_config.h	(revision 26)
@@ -0,0 +1,263 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.9 2007/05/30 03:56:47 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåå¦ç
+ */
+#define tool_initialize()
+
+/*
+ *  atexitã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+        extern void     software_term_hook(void);
+
+        if (software_term_hook != 0) {
+                software_term_hook();
+        }
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32r/tool_defs.h	(revision 26)
@@ -0,0 +1,85 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2002-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/06 08:09:54 takayuki Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*                                                                             
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©                                 
+ */
+#ifndef __cplusplus         /* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L      /* C99 ã«ã¯ inline ããã */
+#define inline      __inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define Inline      static inline
+
+#ifndef __cplusplus         /* C++ ã«ã¯ asm ããã */
+#define asm     __asm__
+#endif /* __cplusplus */
+
+#define Asm     __asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/Makefile.config	(revision 26)
@@ -0,0 +1,37 @@
+#
+#  @(#) $Id: Makefile.config,v 1.9 2003/06/18 15:13:33 hiro Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼M68040ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = m68k-unknown-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -Wall -g -O2 -m68020-40
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.c	(revision 26)
@@ -0,0 +1,167 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.10 2005/11/12 14:57:17 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M68040ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UH	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UH	int_intmask;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+	task_intmask = 0x0000;
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®åæå
+	 */
+#ifdef EXCVT_KERNEL
+	memcpy(EXCVT_KERNEL, EXCVT_ORIG, EXCVT_LEN);
+	set_vbr(EXCVT_KERNEL);
+#endif /* EXCVT_KERNEL */
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+#ifdef EXCVT_KERNEL
+	set_vbr(EXCVT_ORIG);
+#endif /* EXCVT_KERNEL */
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã 7ï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«å¤æ´
+ *  ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ã§ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ããããã¨ã«
+ *  ãã£ã¦ï¼æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿
+ *  ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= 6);
+
+	t_lock_cpu();
+	task_intmask = (ipm << 8);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 8);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_config.h	(revision 26)
@@ -0,0 +1,391 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.14 2003/07/08 14:57:12 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼M68040ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	VP	msp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã8ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UH
+current_intmask()
+{
+	return(current_sr() & 0x0700);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UH intmask)
+{
+	set_sr((current_sr() & ~0x0700) | intmask);
+}
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+	return((current_sr() & 0x1000) == 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+	return(current_intmask() == 0x0700);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UH	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu()
+{
+	disint();
+}
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UH	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+	UH	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask() ãå¼
+	 *  ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+Inline void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®æ§é ã®å®ç¾©
+ */
+typedef struct exc_vector_entry {
+	FP	exchdr;			/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+	EXCVE	*excvt;
+
+#ifdef EXCVT_KERNEL
+	/*
+	 *  EXCVT_KERNEL ãå®ç¾©ããã¦ããæã¯ï¼åæåå¦çã®ä¸­ã§ VBR ã 
+	 *  EXCVT_KERNEL ã«è¨­å®ããã®ã§ï¼EXCVT_KERNEL ãä½¿ãï¼
+	 */
+	excvt = (EXCVE *) EXCVT_KERNEL;
+#else /* EXCVT_KERNEL */
+	excvt = (EXCVE *) current_vbr();
+#endif /* EXCVT_KERNEL */
+	excvt[inhno].exchdr = inthdr;
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+	define_inh(excno, exchdr);
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+#define	INTHDR_ENTRY(inthdr)		\
+extern void inthdr##_entry(void);	\
+asm(".text				\n" \
+#inthdr "_entry:			\n" \
+"	movem.l %d0-%d1/%a0-%a1, -(%sp)	\n" /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+"	jsr " #inthdr "			\n" /* å²è¾¼ã¿ãã³ãã©ãå¼ã³åºã */ \
+"	movem.l (%sp)+, %d0-%d1/%a0-%a1	\n" /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */ \
+"	btst.b #4, (%sp)		\n" /* æ»ãå
+ãå²è¾¼ã¿ã¢ã¼ããªã */ \
+"	jbeq 1f				\n" /*           ããã«ãªã¿ã¼ã³ */ \
+"	or.w #0x0700, %sr		\n" /* å²è¾¼ã¿ç¦æ­¢ */ \
+"	tst.l _kernel_reqflg		\n" /* reqflg ã TRUE ã§ããã° */ \
+"	jbne _kernel_ret_int		\n" /*              ret_int ã¸ */ \
+"1:	rte				\n")
+
+#define	INT_ENTRY(inthdr)	inthdr##_entry
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+#define	EXCHDR_ENTRY(exchdr)		\
+extern void exchdr##_entry(VP sp);	\
+asm(".text				\n" \
+#exchdr "_entry:			\n" \
+"	movem.l %d0-%d1/%a0-%a1, -(%sp)	\n" /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+"	lea.l 16(%sp), %a0		\n" /* ä¾å¤ãã¬ã¼ã ã®å
+é ­ã A0 ã« */ \
+"	move.w %sr, %d0			\n" /* SR ã D0 ã« */ \
+"	and.w #~0x1000, %sr		\n" /* å²è¾¼ã¿ã¢ã¼ã */ \
+"	move.l %d0, -(%sp)		\n" /* å
+ã® SR ãã¹ã¿ãã¯ã«ä¿å­ */ \
+"	move.l %a0, -(%sp)		\n" /* A0 ãå¼æ°ã¨ãã¦æ¸¡ã */ \
+"	jsr " #exchdr "			\n" /* CPUä¾å¤ãã³ãã©ãå¼ã³åºã */ \
+"	addq.l #4, %sp			\n" \
+"	move.l (%sp)+, %d0		\n" \
+"	and.w #0x1000, %d0		\n" /* å
+ãå²è¾¼ã¿ã¢ã¼ããªã */ \
+"	jbeq 1f				\n" /*       ããã«ãªã¿ã¼ã³ */ \
+"	or.w #0x1700, %sr		\n" /* ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ */ \
+"	tst.l _kernel_reqflg		\n" /* reqflg ã TRUE ã§ããã° */ \
+"	jbne _kernel_ret_exc		\n" /*              ret_exc ã¸ */ \
+"1:	movem.l (%sp)+, %d0-%d1/%a0-%a1	\n" /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */ \
+"	rte				\n")
+
+#define	EXC_ENTRY(exchdr)	exchdr##_entry
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x1000) == 0);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x0700) == 0x0700);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_context.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.8 2003/12/10 16:58:27 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼M68040ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)((SIZE)(tcb->tinib->stk) + tcb->tinib->stksz);
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW) ext_tsk;
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.msp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_defs.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.13 2005/11/12 14:58:24 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼M68040ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define M68K			/* ãã­ã»ããµç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+typedef	UINT	IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+Inline void
+sil_dly_nse(UINT dlytim)
+{
+	register VW d0 asm("d0") = (VW) dlytim;
+	Asm("jsr _sil_dly_nse" : "=g"(d0) : "0"(d0));
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_insn.h	(revision 26)
@@ -0,0 +1,143 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.9 2003/06/04 01:51:39 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼M68040ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UH
+current_sr()
+{
+	UH	sr;
+
+	Asm("move.w %%sr, %0" : "=g"(sr));
+	return(sr);
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UH sr)
+{
+	Asm("move.w %0, %%sr" : : "g"(sr));
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint()
+{
+	Asm("or.w #0x0700, %sr");
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+	Asm("and.w #~0x0700, %sr");
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+current_vbr()
+{
+	VP	vbr;
+
+	Asm("movec.l %%vbr, %0" : "=r"(vbr));
+	return(vbr);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+Inline void
+set_vbr(VP vbr)
+{
+	Asm("movec.l %0, %%vbr" : : "r"(vbr));
+}
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *  ããããããã®ä¸ä½16ããããä½¿ç¨ãï¼æä¸ä½ããããæä½åªå
+åº¦ã«å¯¾å¿
+ *  ãããï¼
+ */
+#define	CPU_BITMAP_SEARCH
+#define	PRIMAP_BIT(pri)		(0x8000u >> (pri))
+
+Inline UINT
+bitmap_search(UINT bitmap)
+{
+	UINT	offset;
+
+	/*
+	 *  ãã®ã³ã¼ãã¯ï¼bitmapï¼UINTåï¼ã32ãããã§ãããã¨ãä»®å®ã
+	 *  ã¦ããï¼
+	 */
+	Asm("bfffo %1{16,16}, %0" : "=d"(offset) : "g"(bitmap));
+	return(offset - 16);
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+activate_r
+ret_int
+ret_exc
+task_intmask
+int_intmask
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_rename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_support.S	(revision 26)
@@ -0,0 +1,222 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.16 2005/11/12 14:58:46 hiro Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼M68040ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatch ã¯ï¼ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããª
+ *  ãï¼exit_and_dispatch ãï¼ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®
+ *  ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ã¢ã¼ãã§å¼ã³åº
+ *  ããå ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+	.text
+	.globl dispatch
+	.globl exit_and_dispatch
+dispatch:
+	movem.l %d2-%d7/%a2-%a6, -(%sp)	/* ã¬ã¸ã¹ã¿ãä¿å­ */
+	move.l runtsk, %a0		/* A0 ã runtsk ã« */
+	move.l %sp, TCB_msp(%a0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	move.l #dispatch_r, TCB_pc(%a0)	/* å®è¡åéçªå°ãä¿å­ */
+	jbra dispatcher
+
+dispatch_r:
+	movem.l (%sp)+, %d2-%d7/%a2-%a6	/* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+	jbeq dispatch_r_1		/* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	tst.l TCB_texptn(%a0)		/* texptn ã 0 ã§ãªããã°           */
+	jbne call_texrtn		/*   ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã */
+dispatch_r_1:
+	rts
+
+exit_and_dispatch:
+	or.w #0x1000, %sr		/* ãã¹ã¿ã¢ã¼ã */
+dispatcher:
+	/*
+	 *  ããã§ã¯ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ãªããã°ãªããªãï¼
+	 */
+	move.l schedtsk, %a0
+	move.l %a0, runtsk		/* schedtsk ã runtsk ã« */
+	jbeq dispatcher_1		/* runtsk ããããï¼ */
+	move.l TCB_msp(%a0), %sp	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+	move.l TCB_pc(%a0), %a1		/* å®è¡åéçªå°ãå¾©å¸° */
+	jmp (%a1)
+dispatcher_1:
+	stop #0x2000			/* å²è¾¼ã¿å¾
+ã¡ï¼å²è¾¼ã¿ã¢ã¼ãï¼ */
+	/*
+	 *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+	 *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+	 *
+	 *  ãã® stopå½ä»¤ã¯ï¼IPM ã 0 ã«ãããï¼æ¬æ¥ã¯ task_intmask ã«
+	 *  è¨­å®ãã¹ãã§ããï¼M68040 ã§ã¯ï¼stop å½ä»¤ã®ãã©ã¡ã¼ã¿ã«å®æ°
+	 *  ããã¨ããªãããï¼ããããã 0 ã«ãã¦ããï¼stop å½ä»¤ã 8ã¤
+	 *  ä¸¦ã¹ã¦ï¼task_intmask ã®å¤ã§é£ã³åããæã¯ãããï¼ããã¾ã§
+	 *  ããæç¾©ã¯ãªãã¨èããï¼ï¼
+	 *
+	 *  ãã­ã»ããµãå¾
+ã¡ã¢ã¼ãã«ç§»è¡ãããå¦çã¨ï¼å²è¾¼ã¿è¨±å¯ã¨ã¯ï¼
+	 *  ä¸å¯åã«è¡ãªãå¿
+è¦ãããï¼M68040 ã§ã¯ stopå½ä»¤ã§ä¸¡æ¹è¡ãªã
+	 *  ã®ã§åé¡ãªãï¼ï¼ãããä¸å¯åã«è¡ãªããªãå ´åï¼å²è¾¼ã¿ãè¨±å¯
+	 *  ããç´å¾ã«å²è¾¼ã¿ãå
+¥ãï¼ãã®ä¸­ã§ã¿ã¹ã¯ãå®è¡å¯è½ç¶æ
+ã«ãªã
+	 *  ã¨ï¼å®è¡ãã¹ãã¿ã¹ã¯ãããã«ãããããããã­ã»ããµãå¾
+ã¡ã¢ã¼
+	 *  ãã«ãªã£ã¦ãã¾ãï¼
+	 *
+	 *  å²è¾¼ã¿ãå¾
+ã¤éã¯ï¼runtsk ã NULLï¼=0ï¼ã«è¨­å®ããªããã°ãªã
+	 *  ãªãï¼ãã®ããã«è¨­å®ããªãã¨ï¼å²è¾¼ã¿ãã³ãã©ãã iget_tid 
+	 *  ãå¼ã³åºããéã®åä½ãä»æ§ã«åè´ããªããªãï¼
+	 */
+	or.w #0x1700, %sr		/* ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ */
+	tst.l reqflg			/* reqflg ã FALSE ãªã */
+	jbeq dispatcher_1		/*      dispatcher_1 ã¸ */
+	clr.l reqflg			/* reqflg ã FALSE ã« */
+	jbra dispatcher
+	
+/*
+ *  ã¿ã¹ã¯èµ·åæå¦ç
+ */
+	.text
+	.globl activate_r
+activate_r:
+	/*
+	 *  ã¿ã¹ã¯èµ·åç´å¾ã¯ã¿ã¹ã¯ä¾å¤å¦çãç¦æ­¢ããã¦ããããï¼ããã§ã¿
+	 *  ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãæ¡ä»¶ã¯æãç«ããªãï¼
+	 */
+#ifdef SUPPORT_CHG_IPM			/* t_unlock_cpu ç¸å½ã®å¦ç */
+	move.w %sr, %d0			/* å²è¾¼ã¿ãã¹ã¯ã task_intmask ã« */
+	and.w #~0x0700, %d0
+	or.w task_intmask, %d0
+	move.w %d0, %sr
+#else /* SUPPORT_CHG_IPM */
+	and.w #~0x0700, %sr		/* å²è¾¼ã¿è¨±å¯ */
+#endif /* SUPPORT_CHG_IPM */
+	move.l (%sp)+, %a0		/* ã¿ã¹ã¯ã®èµ·åçªå°ã a0 ã« */
+	jmp (%a0)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ *  ret_int ã¯å²è¾¼ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ï¼ret_exc ã¯ãã¹ã¿ã¢ã¼ãã»
+ *  å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼ã¾ã ret_exc ã¯ï¼ã¹ã¯ã©ã
+ *  ãã¬ã¸ã¹ã¿ãä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ï¼
+ */
+	.text
+	.globl ret_int
+	.globl ret_exc
+ret_int:
+	addq.l #8, %sp			/* ã¹ã­ã¼ã¢ã¦ã§ã¤ãã¬ã¼ã ãæ¨ã¦ã */
+	or.w #0x1000, %sr		/* ãã¹ã¿ã¢ã¼ã */
+	movem.l %d0-%d1/%a0-%a1, -(%sp)	/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */
+ret_exc:
+	clr.l reqflg			/* reqflg ã FALSE ã« */
+	move.l runtsk, %a0		/* A0 â runtsk */
+	tst.l enadsp			/* enadsp ã FALSE ãªã */
+	jbeq ret_int_1			/*         ret_int_1 ã¸ */
+	cmp.l schedtsk, %a0		/* runtsk ã¨ schedtsk ãåããªã */
+	jbeq ret_int_1			/*                  ret_int_1 ã¸ */
+	movem.l %d2-%d7/%a2-%a6, -(%sp)	/* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+	move.l %sp, TCB_msp(%a0)	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	move.l #ret_int_r, TCB_pc(%a0)	/* å®è¡åéçªå°ãä¿å­ */
+	jbra dispatcher
+
+ret_int_r:
+	movem.l (%sp)+, %d2-%d7/%a2-%a6	/* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+ret_int_1:
+	btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+	jbeq ret_int_2			/* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	tst.l TCB_texptn(%a0)		/* texptn ã 0 ãªããªã¿ã¼ã³ */
+	jbeq ret_int_2
+	jsr call_texrtn			/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã */
+ret_int_2:
+#ifdef SUPPORT_CHG_IPM
+	move.w 16(%sp), %d0		/* æ»ãå
+ã®å²è¾¼ã¿ãã¹ã¯ã */
+	and.w #~0x0700, %d0		/*        task_intmask ã« */
+	or.w task_intmask, %d0
+	move.w %d0, 16(%sp)
+#endif /* SUPPORT_CHG_IPM */
+	movem.l (%sp)+, %d0-%d1/%a0-%a1	/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+	rte
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+	subi.l #SIL_DLY_TIM1, %d0	/* D0 ãã SIL_DLY_TIM1 ãå¼ã */
+	jbhi _sil_dly_nse_1		/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+	rts
+_sil_dly_nse_1:
+	subi.l #SIL_DLY_TIM2, %d0	/* D0 ãã SIL_DLY_TIM2 ãå¼ã */
+	jbhi _sil_dly_nse_1		/* çµæã 0 ããå¤§ãããã°ã«ã¼ã */
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/cpu_unrename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef task_intmask
+#undef int_intmask
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _task_intmask
+#undef _int_intmask
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/Makefile.config	(revision 26)
@@ -0,0 +1,34 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2003/06/04 05:41:16 hiro Exp $
+# 
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼DVE68K/40ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+			-I$(SRCDIR)/pdic/simple_sio
+COPTS := $(COPTS) -msoft-float
+LDFLAGS := $(LDFLAGS) -msoft-float
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS) \
+				:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o upd72001.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS = 00010000
+DATA_START_ADDRESS = 00100000
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/m68kelf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k.h	(revision 26)
@@ -0,0 +1,178 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: dve68k.h,v 1.8 2003/06/18 12:40:08 hiro Exp $
+ */
+
+/*
+ *	DVE68K/40 CPUãã¼ãã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _DVE68K_H_
+#define _DVE68K_H_
+
+/*
+ *  å²è¾¼ã¿ãã¯ãã«ã®å®ç¾©
+ */
+#define	TVEC_G0I	0x40u		/* ã°ã«ã¼ã0 å²è¾¼ã¿ãã¯ãã« */
+#define TVEC_SQR	0x42u		/* SQR å²è¾¼ã¿ãã¯ãã« */
+#define TVEC_ABT	0x46u		/* ã¢ãã¼ãå²è¾¼ã¿ãã¯ãã« */
+
+#define	TVEC_G1I	0x48u		/* ã°ã«ã¼ã1 å²è¾¼ã¿ãã¯ãã« */
+#define	TVEC_GP0	0x48u		/* ã·ãªã¢ã«I/O å²è¾¼ã¿ãã¯ãã« */
+#define	TVEC_TT0	0x4cu		/* ã¿ã¤ã0 å²è¾¼ã¿ãã¯ãã« */
+
+#define	TVEC_SWI	0X50u		/* ã½ããã¦ã§ã¢å²è¾¼ã¿ãã¯ãã« */
+#define	TVEC_SPRI	0x40u		/* ã¹ããªã¢ã¹å²è¾¼ã¿ãã¯ãã« */
+
+/*
+ *  CPUãã¼ãä¸ã®ã¬ã¸ã¹ã¿
+ */
+#define TADR_BOARD_REG0		0xfff48000
+#define TADR_BOARD_REG1		0xfff48004
+#define TADR_BOARD_REG2		0xfff48008
+
+/*
+ *  DGA-001ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+#define TADR_DGA_CSR0		0xfff44000
+#define TADR_DGA_CSR1		0xfff44004
+#define TADR_DGA_CSR3		0xfff4400c
+#define TADR_DGA_CSR4		0xfff44010
+#define TADR_DGA_CSR5		0xfff44014
+#define TADR_DGA_CSR12		0xfff44030
+#define TADR_DGA_CSR13		0xfff44034
+#define	TADR_DGA_CSR19		0xfff4404c
+#define	TADR_DGA_CSR20		0xfff44050
+#define	TADR_DGA_CSR21		0xfff44054
+#define TADR_DGA_CSR23		0xfff4405c
+#define TADR_DGA_CSR24		0xfff44060
+#define	TADR_DGA_CSR25		0xfff44064
+#define	TADR_DGA_IFR0		0xfff44070
+#define TADR_DGA_IFR3		0xfff4407c
+
+/*
+ *  DGAã¸ã®ã¢ã¯ã»ã¹é¢æ°
+ */
+#define	dga_rew_reg(addr)		sil_rew_mem(addr)
+#define dga_wrw_reg(addr, val)		sil_wrw_mem(addr, val)
+
+/*
+ *  Î¼PD72001ï¼MPSCï¼ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+#define	TADR_UPD72001_DATAA	0xfff45003
+#define	TADR_UPD72001_CTRLA	0xfff45007
+#define	TADR_UPD72001_DATAB	0xfff4500b
+#define	TADR_UPD72001_CTRLB	0xfff4500f
+
+/*
+ *  Î¼PD72001ã¸ã®ã¢ã¯ã»ã¹é¢æ°
+ */
+#define	upd72001_reb_reg(addr)		sil_reb_mem(addr)
+#define upd72001_wrb_reg(addr, val)	sil_wrb_mem(addr, val)
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+#ifndef _MACRO_ONLY
+#ifdef GDB_STUB
+
+Inline void
+dve68k_exit()
+{
+	Asm("trap #2");
+}
+
+Inline void
+dve68k_putc(char c)
+{
+	Asm("move.l %0, %%d1; trap #3"
+	  : /* no output */
+	  : "g"((INT) c)
+	  : "d0", "d1", "d2", "d6", "d7");
+}
+
+/*
+ *  ã¢ãã¿å¼åºãã«ã¼ãã³
+ */
+#else /* GDB_STUB */
+
+Inline void
+dve68k_exit()
+{
+	Asm("clr.l %%d0; trap #3"
+	  : /* no output */
+	  : /* no input */
+	  : "d0", "d1", "d2", "d6", "d7");
+}
+
+Inline char
+dve68k_getc()
+{
+	INT	c;
+
+	Asm("moveq.l #3, %%d0; trap #3; move.l %%d0, %0"
+	  : "=g"(c)
+	  : /* no input */
+	  : "d0", "d1", "d2", "d6", "d7");
+	  return((char) c);
+}
+
+Inline void
+dve68k_putc(char c)
+{
+	Asm("moveq.l #5, %%d0; move.l %0, %%d1; trap #3"
+	  : /* no output */
+	  : "g"((INT) c)
+	  : "d0", "d1", "d2", "d6", "d7");
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _DVE68K_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k_dga.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k_dga.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/dve68k_dga.h	(revision 26)
@@ -0,0 +1,123 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: dve68k_dga.h,v 1.2 2003/06/04 01:52:23 hiro Exp $
+ */
+
+/*
+ *	DGAã®ã¢ã¯ã»ã¹ã¦ã¼ãã£ãªãã£
+ */
+
+#ifndef _DVE68K_DGA_H_
+#define _DVE68K_DGA_H_
+
+/*
+ *  DGAã®å²è¾¼ã¿å¶å¾¡ãããã®å®ç¾©
+ */
+#define TBIT_ABT	0x40000000u	/* ã¢ãã¼ãå²è¾¼ã¿ããã */
+#define TBIT_SQR	0x04000000u	/* SQR å²è¾¼ã¿ããã */
+#define	TBIT_TT0	0x00100000u	/* ã¿ã¤ã0 å²è¾¼ã¿ããã */
+#define	TBIT_GP0	0x00010000u	/* ã·ãªã¢ã«I/O å²è¾¼ã¿ããã */
+
+/*
+ *  DGAã®å²è¾¼ã¿ã¬ãã«è¨­å®ã®ããã®å®ç¾©
+ */
+#define	TIRQ_NMI	0x7u		/* ãã³ãã¹ã«ãã«å²è¾¼ã¿ */
+#define	TIRQ_LEVEL6	0x6u		/* å²è¾¼ã¿ã¬ãã«6 */
+#define	TIRQ_LEVEL5	0x5u		/* å²è¾¼ã¿ã¬ãã«5 */
+#define	TIRQ_LEVEL4	0x4u		/* å²è¾¼ã¿ã¬ãã«4 */
+#define	TIRQ_LEVEL3	0x3u		/* å²è¾¼ã¿ã¬ãã«3 */
+#define	TIRQ_LEVEL2	0x2u		/* å²è¾¼ã¿ã¬ãã«2 */
+#define	TIRQ_LEVEL1	0x1u		/* å²è¾¼ã¿ã¬ãã«1 */
+
+#define TBIT_ABTIL	24		/* ã¢ãã¼ãå²è¾¼ã¿ */
+#define TBIT_SQRIL	8		/* SRQ å²è¾¼ã¿ */
+
+#define TBIT_TT0IL	16		/* ã¿ã¤ã0 å²è¾¼ã¿ */
+#define TBIT_GP0IL	0		/* ã·ãªã¢ã«I/O å²è¾¼ã¿ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  DGAã®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹é¢æ°
+ */
+
+Inline UW
+dga_read(VP addr)
+{
+	return((UW) dga_rew_reg(addr));
+}
+
+Inline void
+dga_write(VP addr, UW val)
+{
+	dga_wrw_reg(addr, (VW) val);
+}
+
+Inline void
+dga_bit_or(VP addr, UW bitpat)
+{
+	dga_write(addr, dga_read(addr) | bitpat);
+}
+
+Inline void
+dga_bit_and(VP addr, UW bitpat)
+{
+	dga_write(addr, dga_read(addr) & bitpat);
+}
+
+Inline void
+dga_set_ilv(VP addr, UINT shift, UINT level)
+{
+	dga_write(addr, (dga_read(addr) & ~(0x07 << shift))
+						| (level << shift));
+} 
+
+#endif /* _MACRO_ONLY */
+#endif /* _DVE68K_DGA_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.cfg	(revision 26)
@@ -0,0 +1,11 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.3 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼DVE68K/40ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_serial.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.9 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼DVE68K/40ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <dve68k_dga.h>
+#ifndef _MACRO_ONLY
+#include <upd72001.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO	TVEC_GP0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	upd72001_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = upd72001_openflag();
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = upd72001_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	if (!openflag) {
+		dga_set_ilv((VP) TADR_DGA_CSR25, TBIT_GP0IL, TIRQ_LEVEL6);
+		dga_bit_or((VP) TADR_DGA_CSR21, TBIT_GP0);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	upd72001_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+	if (!upd72001_openflag()) {
+		dga_bit_and((VP) TADR_DGA_CSR21, ~TBIT_GP0);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler	upd72001_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	upd72001_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	upd72001_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	upd72001_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	upd72001_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	upd72001_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	upd72001_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/hw_timer.h	(revision 26)
@@ -0,0 +1,195 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.9 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼DVE68K/40ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <dve68k_dga.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	TVEC_TT0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ *  DVE68K/40 CPUãã¼ãã§ã¯ï¼ã¿ã¤ãã¯1Î¼ç§æ¯ã«ã«ã¦ã³ãã¢ããããï¼
+ */
+#define	TIMER_CLOCK		1000
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãåæ­¢ã¾ã§ã®æéï¼nsecåä½ï¼
+ *
+ *  å¤ã«æ ¹æ ã¯ãªãï¼
+ */
+#define	TIMER_STOP_DELAY	200
+
+/*
+ *  ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+#define	CSR12_START	0x80000000u	/* ã¿ã¤ãåä½ */
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	CLOCK	cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+	/*
+	 *  ã¿ã¤ãå¨æãè¨­å®ãï¼ã¿ã¤ãã®åä½ãéå§ããï¼
+	 */
+	assert(cyc <= MAX_CLOCK);
+	dga_write((VP) TADR_DGA_CSR12, CSR12_START | cyc);
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼è¦æ±ãã¯ãªã¢ããå¾ï¼
+	 *  ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	dga_set_ilv((VP) TADR_DGA_CSR25, TBIT_TT0IL, TIRQ_LEVEL4);
+	dga_write((VP) TADR_DGA_CSR23, TBIT_TT0);
+	dga_bit_or((VP) TADR_DGA_CSR21, TBIT_TT0);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+	dga_write((VP) TADR_DGA_CSR23, TBIT_TT0);
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{
+	/*
+	 *  ã¿ã¤ãã®åä½ãåæ­¢ããï¼
+	 */
+	dga_bit_and((VP) TADR_DGA_CSR12, ~CSR12_START);
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ããã¹ã¯ãï¼è¦æ±ãã¯ãªã¢ããï¼
+	 */
+	dga_bit_and((VP) TADR_DGA_CSR21, ~TBIT_TT0);
+	dga_write((VP) TADR_DGA_CSR23, TBIT_TT0);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current()
+{
+	CLOCK	clk;
+
+	/*
+	 *  ã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+	 */
+	dga_bit_and((VP) TADR_DGA_CSR12, ~CSR12_START);
+	sil_dly_nse(TIMER_STOP_DELAY);
+	clk = dga_read((VP) TADR_DGA_CSR13) & 0x00ffffffu;
+	dga_bit_or((VP) TADR_DGA_CSR12, CSR12_START);
+	return(clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt()
+{
+	return((dga_read((VP) TADR_DGA_CSR20) & TBIT_TT0) != 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.c	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.7 2003/07/08 14:57:15 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼DVE68K/40ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <dve68k_dga.h>
+
+/*
+ *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ï¼ãã«ããã­ã»ããµå¯¾å¿ï¼
+ */
+UINT	board_id;		/* ãã¼ãID */
+VP	board_addr;		/* ã­ã¼ã«ã«ã¡ã¢ãªã®å
+é ­ã¢ãã¬ã¹ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	/*
+	 *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ã®åæå
+	 */
+	board_id = ((UINT)(sil_rew_mem((VP) TADR_BOARD_REG0)) & 0x1f);
+	board_addr = (VP)(board_id << 24);
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®åæå
+	 *
+	 *  ãã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ã»ã¯ãªã¢ãï¼å²è¾¼ã¿ãã¯ãã«ãè¨­å®ããï¼
+	 */
+	dga_write((VP) TADR_DGA_CSR21, 0);
+	dga_write((VP) TADR_DGA_CSR23, ~0);
+	dga_write((VP) TADR_DGA_CSR19, (TVEC_G0I << 24) | (TVEC_G1I << 16)
+					| (TVEC_SWI << 8) | TVEC_SPRI);
+
+	/*
+	 *  ã¢ãã¼ãå²è¾¼ã¿ã®è¨­å®ï¼NMIï¼
+	 *
+	 *  ã¢ãã¼ãå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼è¦æ±ãã¯ãªã¢ããå¾ï¼
+	 *  ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	dga_set_ilv((VP) TADR_DGA_CSR24, TBIT_ABTIL, TIRQ_NMI);
+	dga_write((VP) TADR_DGA_CSR23, TBIT_ABT);
+	dga_bit_or((VP) TADR_DGA_CSR21, TBIT_ABT);
+
+	/*
+	 *  ã¡ã¢ãªé åã®è¨­å®
+	 *
+	 *  ã­ã¼ã«ã«ã¡ã¢ãªã®VMEãã¹ä¸ã§ã®å
+é ­ã¢ãã¬ã¹ã¨ãµã¤ãºï¼16MBï¼
+	 *  ãï¼ã¢ã¯ã»ã¹ãåãä»ããããã«è¨­å®ããï¼ã¾ãï¼VMEãã¹ãã
+	 *  æ¡å¼µã¢ãã¬ã¹ã¢ã¯ã»ã¹ãåãä»ããããã«ã«è¨­å®ããï¼
+	 */
+	dga_write((VP) TADR_DGA_CSR4, (UW) board_addr | 0x00ff);
+	dga_write((VP) TADR_DGA_CSR5, 0x0000012fu);
+
+	/*
+	 *  ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ï¼IFRï¼ã®è¨­å®
+	 *
+	 *  ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ãè¨­å®ããï¼ã¾ãï¼ã¤
+	 *  ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿0ã®ãµã¼ãã¹ãªã¯ã¨ã¹ããã©ã°ãã¯ãªã¢ï¼
+	 *  ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿3ã«ãã¼ãã®IDçªå·ãè¨­å®ï¼
+	 */
+	dga_write((VP) TADR_DGA_CSR3, (board_id << 4) | 0x3);
+	dga_write((VP) TADR_DGA_IFR0, 0x80000000u);
+	dga_write((VP) TADR_DGA_IFR3, board_id);
+
+	/*
+	 *  ã©ã¦ã³ãã­ãã³ã¢ã¼ãã«è¨­å®ï¼ãã«ããã­ã»ããµå¯¾å¿ï¼
+	 */
+	dga_write((VP) TADR_DGA_CSR1, (dga_read((VP) TADR_DGA_CSR1)
+			& 0xffeffcff) | (1u << 20) | ((board_id % 4) << 8));
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+	dve68k_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		dve68k_putc('\r');
+	}
+	dve68k_putc(c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_config.h	(revision 26)
@@ -0,0 +1,149 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.10 2003/12/06 09:47:04 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼DVE68K/40ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <dve68k.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"DVE-68K/40"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ *
+ *	00000000 - 0000ffff	ROMã¢ãã¿ï¼ã¹ã¿ãã¯ã¼ã¯ã¨ãªã¢ (64KB)
+ *	00010000 - 000fffff	ã³ã¼ãé å (ç´1MB)
+ *	00100000 -		ãã¼ã¿é å (ç´3MB)
+ *		 - 003fffff	éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+ */
+#define	STACKTOP 0x00400000	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	2	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	2	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ã¬ã¼ãã«é¢ããå®ç¾©
+ *
+ *  Î¼PD72001ã®ãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ã«è¨­å®ãã¹ãå¤ï¼
+ */
+#define BRG1_DEF	0x00u		/* 9600bpsï¼ä¸ä½ï¼*/
+#define BRG2_DEF	0x1eu		/* 9600bpsï¼ä¸ä½ï¼*/
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	420
+#define	SIL_DLY_TIM2	90
+
+#ifndef _MACRO_ONLY
+/*
+ *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ï¼ãã«ããã­ã»ããµå¯¾å¿ï¼
+ */
+extern UINT	board_id;	/* ãã¼ãID */
+extern VP	board_addr;	/* ã­ã¼ã«ã«ã¡ã¢ãªã®å
+é ­ã¢ãã¬ã¹ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿ï¼GDB STUBå¼åºãã§å®ç¾ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿ï¼GDB STUBå¼åºãã§å®
+ *  ç¾ããï¼
+ */
+extern void	sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_defs.h	(revision 26)
@@ -0,0 +1,123 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.12 2003/06/18 12:41:39 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼DVE68K/40ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define DVE68K			/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	Asm("trap #2");
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	Asm("clr.l %%d0; trap #3"
+	  : /* no output */
+	  : /* no input */
+	  : "d0", "d1", "d2", "d6", "d7");
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+board_id
+board_addr
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define board_id		_kernel_board_id
+#define board_addr		_kernel_board_addr
+
+#ifdef LABEL_ASM
+
+#define _board_id		__kernel_board_id
+#define _board_addr		__kernel_board_addr
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_support.S	(revision 26)
@@ -0,0 +1,71 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.6 2003/06/04 01:52:23 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼DVE68K/40ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+	.text
+	.globl hardware_init_hook
+hardware_init_hook:	
+	move.l #0x09, TADR_BOARD_REG1
+	move.l #0x2c07e000, TADR_DGA_CSR0
+	move.l #0x60000300, TADR_DGA_CSR1
+	rts
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/dve68k/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef board_id
+#undef board_addr
+
+#ifdef LABEL_ASM
+
+#undef _board_id
+#undef _board_addr
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/m68kelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/m68kelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/m68kelf.ld	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  @(#) $Id: m68kelf.ld,v 1.3 2003/07/01 13:54:47 hiro Exp $
+ */
+
+OUTPUT_FORMAT("elf32-m68k","elf32-m68k","elf32-m68k")
+OUTPUT_ARCH(m68k)
+
+PROVIDE (__stack = 0) ;
+PROVIDE (hardware_init_hook = 0) ;
+PROVIDE (software_init_hook = 0) ;
+PROVIDE (software_term_hook = 0) ;
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/makeoffset.c	(revision 26)
@@ -0,0 +1,88 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.9 2004/09/06 15:09:19 hiro Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define	offsetof(structure, field) \
+			((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.msp, msp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/start.S	(revision 26)
@@ -0,0 +1,142 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.6 2003/06/04 01:51:39 hiro Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼M68040ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include <t_config.h>
+
+	.text
+	.globl start
+start:
+	/*
+	 *  ãã­ã»ããµã¢ã¼ãã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+	 */
+	cinva %bc			/* ãã¹ã¦ã®ã­ã£ãã·ã¥ãç¡å¹å */
+	move.l #0x80008000, %d0		/* ä¸¡æ¹ã®ã­ã£ãã·ã¥ã ON */
+	movec.l %d0, %cacr
+
+	move.w %sr, %d0
+	or.w #0x2700, %d0		/* ã¹ã¼ããã¤ã¶ã¢ã¼ãï¼IPM=7ã«è¨­å® */
+	and.w #0xefff ,%d0		/* å²è¾¼ã¿ã¢ã¼ãã«è¨­å® */
+	move.w %d0, %sr
+
+	movea.l #STACKTOP, %sp		/* ã¹ã¿ãã¯ãã¤ã³ã¿ï¼SPIï¼ã®åæå */
+	movea.l #0, %fp			/* ãã¬ã¼ã ãã¤ã³ã¿ã®åæå */
+
+	/*
+	 *  hardware_init_hook ã®å¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+	 *  ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+	move.l #hardware_init_hook, %a0
+	cmp.l #0, %a0
+	jbeq start_1
+	jsr (%a0)
+
+	/*
+	 *  bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
+	 */
+start_1:
+	move.l #__bss_start, %a0
+	move.l #_end, %d0
+	sub.l %a0, %d0
+	jbeq start_3
+start_2:
+	clr.b (%a0)+
+	dbra %d0, start_2
+	clr.w %d0
+	subq.l #1, %d0
+	jbcc start_2
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ã®åæåï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 */
+start_3:
+	move.l #__idata_end, %d0
+	sub.l #__idata_start, %d0
+	jbls start_5
+	move.l #__idata_start, %a0
+	move.l #__data_start, %a1
+start_4:
+	move.b (%a0)+, (%a1)+
+	dbra %d0, start_4
+	clr.w %d0
+	subq.l #1, %d0
+	jbcc start_4
+
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:
+	move.l #software_init_hook, %a0
+	cmp.l #0, %a0
+	jbeq start_6
+	jsr (%a0)
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åããï¼
+	 */
+start_6:
+	jmp kernel_start
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_config.h	(revision 26)
@@ -0,0 +1,284 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.8 2006/05/30 08:24:15 hiro Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_CHG_IPM_LEAVE(ercd)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_ENTER(p_ipm)	/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)	/* ãã­ã»ããµä¾å­é¨ */
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m68k/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.5 2003/06/18 12:42:57 hiro Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/Makefile.config	(revision 26)
@@ -0,0 +1,50 @@
+#
+#@(#) $Id: Makefile.config,v 1.10 2004/01/09 10:32:36 honda Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (Microblazeç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = mb
+
+#
+# Microblaze ã® gcc ã§ã¯ -nostdlib ãä½¿ç¨ã§ããªã
+#
+MICROBLAZE = true
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS    := $(COPTS) -g -O2  -mxl-gp-opt 
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR) $(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o microblaze.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/mbelf.l
+# ROMåç¨
+#LDSCRIPT = $(CPU)/mbelf.l
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.c	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.4 2003/12/11 00:58:01 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Microblazeç¨ï¼
+ */
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <microblaze.h>
+
+
+/*
+ * å²ãè¾¼ã¿ãã³ãã©/ããããã¹ã¯ã®ãã¼ãã«
+ */
+FP  int_handler_table[32];
+UW  int_bit_table[32];
+
+/*
+ * CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ * Not Support!
+ */
+/* FP	exc_table[(0x1E0 >> 5) + 1]; */
+
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ * ã«ã¼ãã«èµ·åæã¯ã¿ã¹ã¯ç¬ç«é¨ã¨ã¿ãªããã1ã§åæåãã
+ */
+UW interrupt_count = 1;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+  int i;
+    
+  /*
+   * int_handler_table[],int_plevel_table[]ã®åæå
+   * æªç»é²ã®å²è¾¼ã¿çºçæã«cpu_interrup()ãå¼ã³åºãããããã«
+   * no_reg_interrup()ãç»é²ãã
+   */
+  for(i = 0; i < 32; i++){
+    int_handler_table[i] = no_reg_interrupt;
+    int_bit_table[i]  = 1 << i; /* ããããã¿ã¼ã³ã®çæ */
+  }
+  
+  /*
+   *  INTCã¹ã¿ã¼ã
+   */
+  intc_start();
+}
+
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ * Not Support! 
+ */
+/*
+void
+cpu_expevt(void)
+{
+}
+*/
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ * Not Yet!
+ */
+void
+cpu_interrupt(void)
+{
+    syslog(LOG_EMERG, "Unregisted Interrupt Occur!");
+
+    while(1);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_config.h	(revision 26)
@@ -0,0 +1,345 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.9 2005/07/06 01:48:21 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼MicroBlazeç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+
+/*
+ *  ã­ã£ãã·ã¥ã®ç¶æ
+
+ */
+#if defined(D_CACHE_ENABLE) && defined(I_CACHE_ENABLE)
+#define MSR_CACHE_SETTING  MSR_DCE|MSR_ICE
+#elif defined(D_CACHE_ENABLE)
+#define MSR_CACHE_SETTING  MSR_DCE
+#elif defined(I_CACHE_ENABLE)
+#define MSR_CACHE_SETTING  MSR_ICE
+#else
+#define MSR_CACHE_SETTING  0x00
+#endif        
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+        VP	sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP  pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+extern UW interrupt_count;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+  return(interrupt_count > 0);    
+}
+
+Inline BOOL
+sense_lock()
+{
+  return((current_msr() & MSR_IE) == 0);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ */
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+Inline void
+lock_cpu()
+{
+	disint();
+}
+
+Inline void
+unlock_cpu()
+{
+	enaint();
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *  MicroBlazeã¯ä¾å¤ãã¯ã¿ã¯å­å¨ãããï¼ä¾å¤ãçºçããäºè±¡ã¯ãªããã
+ *  ä¾å¤é¢é£ã¯ç©ºã®é¢æ°ãç¨æãã¦ãã
+ */
+
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©/ããããã¹ã¯ã®ãã¼ãã«
+ *  int_handler_table[] ã¯å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¼ãã«
+ *  int_bit_table[]ãã¯å²è¾¼ã¿ã®åªå
+é ä½ã«å¿ãããããã®ãã¼ãã«ã§ããï¼
+ *  MicroBlazeã®ã·ããå½ä»¤ã¯ï¼1å½ä»¤ã§1ãããããã·ããã§ããªãããï¼
+ *  å²è¾¼ã¿ãçºçãã¦ãããã®ããããã¿ã¼ã³ãçæããã¨æéãããããã
+ *  
+ */
+extern FP	int_handler_table[32];
+extern UW   int_bit_table[32];
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ */
+/*
+extern FP	exc_table[];
+*/
+
+extern FP exception_entry();
+extern FP interrupt_entry();
+
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿åªå
+åº¦ inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  çä¼¼ãã¼ãã«ã«ç»é²ãã
+ *  
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+  int_handler_table[inhno-1] = inthdr;
+}
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *   æ¬ä¼¼ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²
+ *   Not Support! 
+ */   
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *  
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define	INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define	EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+
+#define	EXC_ENTRY(exchdr)     exchdr
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ *  Not Support! 
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+  	return(interrupt_count > 1); 
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ *  Not Support!
+ *  Not Yet!   
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return(FALSE);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿/ä¾å¤çºçæã®ã­ã°åºå
+ */
+extern void     no_reg_interrupt(void);
+/* extern void     cpu_expevt(VW,VW,VW,VW); */
+extern void     cpu_interrupt(void);
+
+#endif /* _MACRO_ONLY_ */
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_context.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.4 2003/06/19 17:41:37 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *  
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((SIZE) tcb->tinib->stk) + tcb->tinib->stksz);
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 2)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_defs.h	(revision 26)
@@ -0,0 +1,174 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.10 2005/07/27 10:38:55 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼Microblazeç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+//#include "microblaze.h"
+
+#ifndef MICROBLAZE
+#define MICROBLAZE   /* ãã­ã»ããµç¥ç§° */
+#endif 
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw(); 
+extern ER	ena_int(INTNO intno) throw();
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	UW  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern  ER   vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+
+/*
+ *  MSRã®ããã
+ */
+#define MSR_IE 0x02
+#define MSR_BE 0x01
+
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+_disint_()
+{
+    UW msr;
+  
+    Asm("mfs %0,rmsr": "=r"(msr));
+    msr &= ~MSR_IE;
+    Asm("mts rmsr,%0" : : "r"(msr));
+}
+
+
+/*
+ *  å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+_enaint_()
+{
+    UW msr;
+    
+    Asm("mfs %0,rmsr": "=r"(msr));
+    msr |= MSR_IE;
+    Asm("mts rmsr,%0" : : "r"(msr));    
+}
+
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC 
+#define SIL_LOC_INT()   _disint_()
+#define SIL_UNL_INT()   _enaint_()
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort()
+{
+    Asm("brki r16 0x20");
+}
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+Inline void
+sil_dly_nse(UINT dlytim)
+{
+    Asm("add r5, r0, %0; \
+         brlid r15, _sil_dly_nse; \
+         nop\n"
+        : 
+        : "r"(dlytim)
+        : "r15", "r5");
+    
+}
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_BIG  /* ããã¯ã¨ã³ãã£ã¢ã³ */
+
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_insn.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.5 2003/12/24 07:30:16 honda Exp $
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#include <microblaze.h>
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼MSRï¼ã®ç¾å¨å¤ã®èª­ã¿åºã
+ */
+Inline UW
+current_msr(void)
+{
+  UW msr;
+  Asm("mfs %0,rmsr": "=r"(msr));
+  return(msr);
+}
+
+/*
+ *ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼MSRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_msr(UW msr)
+{
+  Asm("mts rmsr,%0" : : "r"(msr));
+}
+
+/*
+ *  å
+¨ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+  set_msr(current_msr() & ~MSR_IE);
+}
+
+/*
+ *  å
+¨ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+  set_msr(current_msr() | MSR_IE);
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.def	(revision 26)
@@ -0,0 +1,9 @@
+activate_r
+ret_int
+ret_exc
+interrupt_count
+int_handler_table
+int_bit_table
+exception_entry
+interrupt_entry
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_rename.h	(revision 26)
@@ -0,0 +1,30 @@
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define interrupt_count		_kernel_interrupt_count
+#define int_handler_table	_kernel_int_handler_table
+#define int_bit_table		_kernel_int_bit_table
+#define exception_entry		_kernel_exception_entry
+#define interrupt_entry		_kernel_interrupt_entry
+
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _interrupt_count	__kernel_interrupt_count
+#define _int_handler_table	__kernel_int_handler_table
+#define _int_bit_table		__kernel_int_bit_table
+#define _exception_entry	__kernel_exception_entry
+#define _interrupt_entry	__kernel_interrupt_entry
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_support.S	(revision 26)
@@ -0,0 +1,493 @@
+/* 
+ *
+ *  TOPPERS/JSP Kernel
+ *     Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ * ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ * ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *     ã¨ï¼
+ *   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *       å ±åãããã¨ï¼
+ * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ * ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ * æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_support.S,v 1.15 2007/04/19 06:38:27 honda Exp $
+ */
+
+#define _MACRO_ONLY
+        
+/*
+ *  ã¢ããªã±ã¼ã·ã§ã³ã¨å
+±éã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <kernel.h>
+                
+/*
+ *  ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <t_config.h>
+
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <microblaze_asm.inc>
+#include <microblaze.h>
+
+
+/*
+ * INTCã®è¨­è¨ã«ã¤ãã¦ï¼
+ *
+ *  ä¿å­ããã¬ã¸ã¹ã¿
+ *  R3-R4   Return Valus        (Volatile)
+ *  R5-R10  Passing parameters  (Volatile)
+ *  R11-R12 Temporaries         (Volatile)
+ *  R14     Return address for interrupt
+ *  R15     Return address for Sub-routine
+ *  R16     Return address for Trap(Debugger)
+ *  R17     Return address for Exeptions
+ * ?R18     Reserved for Assember    
+ */
+
+#define STACK_TOP (STACKTOP - 0x4) 
+
+#define INTC_ISR (INTC_BASE + INTC_INT_STATUS_REG)
+#define INTC_IPR (INTC_BASE + INTC_INT_PENDING_REG)
+#define INTC_IER (INTC_BASE + INTC_INT_ENABLE_REG)
+#define INTC_IAR (INTC_BASE + INTC_INT_ACK_REG)
+#define INTC_SIE (INTC_BASE + INTC_SET_INT_ENABLE)
+#define INTC_CIE (INTC_BASE + INTC_CLEAR_INT_ENABLE)
+#define INTC_IVR (INTC_BASE + INTC_INT_VECTOR_REG)
+#define INTC_MER (INTC_BASE + INTC_MASTER_ENABLE_REG)
+
+
+/*
+ *  ä¾å¤ã¨ã³ããª
+ *  Not Support!
+ */
+	.text
+	.globl exception_entry
+	.align 2
+exception_entry:
+	nop
+	
+
+
+
+	.text
+	.globl interrupt_entry
+	.align 2
+interrupt_entry:
+/*
+ * ã¹ã¿ãã¯ãã¤ã³ã¿ã®åãæ¿ããå¿
+è¦
+ */
+	addik r1,r1,-64
+	swi r3,  r1, 60
+	swi r4,  r1, 56
+	swi r5,  r1, 52
+	swi r6,  r1, 48
+	swi r7,  r1, 44
+	swi r8,  r1, 40
+	swi r9,  r1, 36
+	swi r10, r1, 32
+	swi r11, r1, 28
+	swi r12, r1, 24
+	swi r14, r1, 20
+	swi r15, r1, 16
+	swi r16, r1, 12
+	swi r17, r1, 8
+	swi r18, r1, 4
+	mfs r3,  rmsr     /* msrã®ä¿å­ */
+	swi r3,  r1, 0
+
+	lwi   r5,  r13, interrupt_count
+	bgti  r5,  nest_int      /* ãã¹ãåæ°ã1ä»¥ä¸ãªãã¹ã¿ãã¯ãåãæ¿ããªã */
+	
+	/*
+	 * ã¹ã¿ãã¯ãã¤ã³ã¿åãæ¿ã
+	 */
+	la    r4,  r0, STACK_TOP   /* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®èª­ã¿è¾¼ã¿ */
+	sw    r1,  r0, r4          /* ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä¿å­             */
+	Mov   r1,  r4              /* ã¹ã¿ãã¯ãã¤ã³ã¿åãæ¿ã         */
+nest_int:
+	/* 
+     * å²è¾¼ã¿ãã¹ãåæ°ã®ã¤ã³ã¯ãªã¡ã³ã
+	 */
+	addi  r5,  r5,  1 
+	swi   r5,  r13, interrupt_count
+
+	lwi   r3,  r0, INTC_IVR    /* ãã¯ã¿ã®èª­ã¿è¾¼ã¿                 */
+	add   r3,  r3, r3          /* ãã¯ã¿ã4å                      */
+	add   r3,  r3, r3	        
+	lwi   r5,  r3, int_handler_table /* ãã³ãã©ã¢ãã¬ã¹ã®èª­ã¿è¾¼ã¿ */
+	lwi   r6,  r3, int_bit_table     /* ãã¹ã¯ãããã®èª­ã¿è¾¼ã¿     */
+	swi   r6,  r0, INTC_CIE          /* çºçããå²è¾¼ã¿ããã¹ã¯     */
+	ori   r4,  r0, 0x02 | MSR_CACHE_SETTING /* r4 = 0x02           */
+	Push  r6                         /* ãã¹ã¯ããããã¹ã¿ãã¯ã«   */
+
+	mts   rmsr,r4                    /* å²è¾¼ã¿è¨±å¯(MSR(IE)ãã»ãã)*/
+
+	brald r15, r5             /* ãã³ãã©å¼ã³åºã */
+	 nop
+
+    la    r4, r0, MSR_CACHE_SETTING  
+	mts   rmsr,r4                    /* å²è¾¼ã¿ç¦æ­¢                 */
+
+//    ori   r4,  r0, 0x03       /* r4 = 0x03                         */
+//    swi   r4,  r0, INTC_MER   /* INTC_MER = 0x0 INTCã¹ã¿ã¼ã       */
+
+	Pop   r6                         /* ãã¹ã¯ãããã®åãåºã     */
+//	swi   r6,  r0, INTC_IAR          /* ACK                        */        
+	swi   r6,  r0, INTC_SIE          /* çºçå²è¾¼ã¿ã®è¨±å¯           */
+
+	/*
+	 *  å²è¾¼ã¿ãã¹ãåæ°ã®ãã¯ãªã¡ã³ã
+     */
+	lwi   r5,  r13, interrupt_count
+	addi  r5,  r5,  -1 
+	swi   r5,  r13, interrupt_count
+	
+	bgti  r5,  ret_to_task_int      /* ãã¹ãåæ°ã1ä»¥ä¸ãªãæ»ã */
+
+	lw    r1,  r0, r1	            /* ã¹ã¿ãã¯ãã¤ã³ã¿ãæ»ã    */  
+	lwi   r4,  r13, reqflg          /* reqflg ã®ãã§ãã¯         */
+	beqi  r4,  ret_to_task_int      /* FALSE ãªã ã¿ã¹ã¯ã«æ»ã   */
+	bri   ret_int                   /* TRUE ãªã ret_int ã«      */
+ret_to_task_int:
+	lwi  r3,  r1, 0
+	mts  rmsr,r3
+	lwi  r18, r1, 4
+	lwi  r17, r1, 8
+	lwi  r16, r1, 12
+	lwi  r15, r1, 16
+	lwi  r14, r1, 20
+	lwi  r12, r1, 24
+	lwi  r11, r1, 28
+	lwi  r10, r1, 32
+	lwi  r9,  r1, 36
+	lwi  r8,  r1, 40
+	lwi  r7,  r1, 44
+	lwi  r6,  r1, 48
+	lwi  r5,  r1, 52
+	lwi  r4,  r1, 56
+	lwi  r3,  r1, 60
+	rtid r14,0 
+	addik r1,r1,64
+
+
+
+	/*
+	 * æªç»é²ã®å²è¾¼ã¿ãçºçããã¨å¼ã³åºããã
+	 * Not Yet!
+	 */
+	.globl no_reg_interrupt
+	.align 2
+no_reg_interrupt:
+	nop
+
+
+	/*
+	 * ã¿ã¹ã¯ãã£ã¹ãããã£
+	 * 
+	 * dispatch ã¯ï¼interrupt_count = 0 
+     * MSRã® IE=0 ã®å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+	 * exit_and_dispatch ãåæ§ã«ï¼interrupt_count = 0 å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§
+     * å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼
+     * interrupt_count = 1 ã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+	 *    
+	 */
+	
+	.globl dispatch
+	.align  2
+dispatch:
+	addi  r1,  r1,  -64  /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ãä¿å­ãã */
+	swi   r15, r1,  60
+	mfs   r3,  rmsr      /* msrã®ä¿å­(ã­ã£ãã·ã¥ã®è¨­å®ã®ä¿å­) */
+	swi   r3,  r1,  56                
+	swi   r18, r1,  52   /* å¿
+è¦ã? */
+	swi   r19, r1,  48
+	swi   r20, r1,  44
+	swi   r21, r1,  40
+	swi   r22, r1,  36
+	swi   r23, r1,  32
+	swi   r24, r1,  28
+	swi   r25, r1,  24
+	swi   r26, r1,  20
+	swi   r27, r1,  16
+	swi   r28, r1,  12
+	swi   r29, r1,  8
+	swi   r30, r1,  4
+	swi   r31, r1,  0
+	lwi   r4 , r13, runtsk     /* r4 <- runtsk */
+	swi   r1 , r4,  TCB_sp 	   /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ */	
+	la    r5 , r0,  dispatch_r /* å®è¡åéçªå°ãä¿å­ */
+	swi   r5 , r4,  TCB_pc     /* å®è¡åéçªå°ãTCBã«ä¿å­   */
+	bri   dispatcher
+
+dispatch_r:
+	lwi  r31,  r1, 0      /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	lwi  r30,  r1, 4
+	lwi  r29,  r1, 8
+	lwi  r28,  r1, 12
+	lwi  r27,  r1, 16
+	lwi  r26,  r1, 20
+	lwi  r25,  r1, 24
+	lwi  r24,  r1, 28
+	lwi  r23,  r1, 32
+	lwi  r22,  r1, 36
+	lwi  r21,  r1, 40
+	lwi  r20,  r1, 44
+	lwi  r19,  r1, 48
+	lwi  r18,  r1, 52
+    lwi  r3,   r1, 56   /* MSRãæ»ã(ã­ã£ãã·ã¥ã®è¨­å®ãæ»ã) */
+    mts  rmsr,r3            
+	addi r1,   r1, 60   /* ã¹ã¿ãã¯ãã¤ã³ã¿ãæ»ã */
+	/*
+	 *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+	 *  dispatch_r ã¯ dispatcher ããå¼ã³åºãããããï¼
+	 *  tcb ã®ã¢ãã¬ã¹ã¯ r4 ã«å
+¥ã£ã¦ãã
+     *  Not Yet!
+	 */
+	lwi  r5,  r4,  TCB_enatex  /* r5 <- enatex                 */
+	andi r6,  r5,  TCB_enatex_mask  
+	beqi r6,  dispatch_r_1     /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	lwi  r7,  r4,  TCB_texptn  /* r5 <- texptn                 */
+	beqi r7,  dispatch_r_1     /* texptn ã 0 ã§ãªããã°       */
+	brlid r15  call_texrtn     /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */	
+	 nop
+dispatch_r_1:
+	Pop     r15
+	rtsd	r15,8 
+	 nop
+
+
+
+	.globl exit_and_dispatch
+exit_and_dispatch:
+	/* interrupt_count ãã¯ãªã¢ */
+	swi   r0,  r13, interrupt_count 
+dispatcher:
+	/*
+	 * ããã¯å²è¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+	 */
+	lwi  r4,  r13, schedtsk  /* r4 <- schedtsk              */
+	swi  r4,  r13, runtsk    /* schedtsk ã runtsk ã«       */        
+	beqi r4,  dispatcher_1   /* schedtsk ãããã           */
+	lwi  r1,  r4,  TCB_sp    /* TCBããã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+	lwi  r5,  r4,  TCB_pc    /* TCBããå®è¡åéçªå°ãå¾©å¸°   */
+	bra  r5	  
+dispatcher_1:
+	/*
+	 * ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæ¿ããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+     * ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 * ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+	 */
+	la   r1,  r0,  STACKTOP         /* å²è¾¼ã¿ã¹ã¿ãã¯ã«å¤æ´             */
+	la   r6,  r0,  1                /* interrupt_count ã1ã«            */
+	swi  r6,  r13, interrupt_count
+	la   r5,  r0, 0x02 | MSR_CACHE_SETTING /* IE = '1'               */
+	la   r4,  r0, MSR_CACHE_SETTING        /* IE = '0'               */        
+dispatcher_2:
+	mts   rmsr, r5   /* å²è¾¼ã¿è¨±å¯(MSR(IE)ãã»ãã)      */
+	nop
+	nop
+	mts   rmsr, r4                  /* å²è¾¼ã¿ç¦æ­¢(MSR(IE)ãã¯ãªã¢)      */
+	lwi   r6,  r13,  reqflg         /* r6 <- reqflg                     */
+	beqi  r6,  dispatcher_2         /* reqflg ã FALSE ãªã             */
+	swi   r0,  r13, interrupt_count /* interrupt_count ãã¯ãªã¢         */
+	swi   r0,  r13,  reqflg         /* reqflg ã FALSE ã«               */	
+	bri   dispatcher
+
+	/*
+	 *  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+	 * 
+	 * æ»ãå
+ãã¿ã¹ã¯ã§ reqflg ãã»ããããã¦ããå ´åã®ã¿ããã«ããï¼
+	 * interrupt_count = 0ï¼å²è¾¼ã¿ç¦æ­¢ç¶æ
+ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã
+	 * ç¶æ
+ã§å¼ã³åºããã¨ï¼
+	 */
+	.align 2
+	.globl ret_int
+	.globl ret_exc
+ret_exc:
+ret_int:
+	swi  r0,  r13,  reqflg   /* reqflg ã FALSE ã« */
+	lwi  r4,  r13,  runtsk   /* r4 <- runtsk        */
+	lwi  r6,  r13,  enadsp   /* r6 <- enadsp        */
+	beqi r6,  ret_int_1      /* enadsp ã FALSE ãªã ret_int_1 ã¸ */
+	lwi  r5,  r13,  schedtsk /* r5 <- schedtsk                    */
+	sub  r6,  r5,   r4       /* runtsk ã¨ schedtsk ãåããªã     */
+	beqi r6,  ret_int_1      /* ret_int_1 ã¸                      */
+	addi  r1,  r1,  -52      /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ãã          */
+	swi   r19, r1,  48
+	swi   r20, r1,  44
+	swi   r21, r1,  40
+	swi   r22, r1,  36
+	swi   r23, r1,  32
+	swi   r24, r1,  28
+	swi   r25, r1,  24
+	swi   r26, r1,  20
+	swi   r27, r1,  16
+	swi   r28, r1,  12
+	swi   r29, r1,  8
+	swi   r30, r1,  4
+	swi   r31, r1,  0	
+	swi   r1 , r4,  TCB_sp 	   /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ */	
+	la    r6 , r0,  ret_int_r  /* å®è¡åéçªå°ãä¿å­ */
+	swi   r6 , r4,  TCB_pc     /* å®è¡åéçªå°ãTCBã«ä¿å­   */
+	bri   dispatcher
+
+ret_int_r:	
+	lwi  r31,  r1,  0      /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+	lwi  r30,  r1,  4
+	lwi  r29,  r1,  8
+	lwi  r28,  r1,  12
+	lwi  r27,  r1,  16
+	lwi  r26,  r1,  20
+	lwi  r25,  r1,  24
+	lwi  r24,  r1,  28
+	lwi  r23,  r1,  32
+	lwi  r22,  r1,  36
+	lwi  r21,  r1,  40
+	lwi  r20,  r1,  44
+	lwi  r19,  r1,  48
+	addi r1,   r1,  52
+	lwi  r3,   r1,   0    /* MSR ãæ»ãï¼ã­ã£ãã·ã¥ã®è¨­å®ãæ»ãï¼*/
+	mts  rmsr, r3                
+ret_int_1:
+	/*
+	 * ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®èµ·å
+	 * ret_int_r ã¯ dispatcher ããå¼ã³åºãããããï¼
+	 * tcb ã®ã¢ãã¬ã¹ã¯ r4 ã«å
+¥ã£ã¦ãã
+	 */
+	lwi  r5,  r4,  TCB_enatex  /* r5 <- enatex                 */
+	andi r6,  r5,  TCB_enatex_mask  
+	beqi r6,  ret_int_2        /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+	lwi  r7,  r4,  TCB_texptn  /* r5 <- texptn                 */
+	beqi r7,  ret_int_2        /* texptn ã 0 ã§ãªããã°       */
+	brlid r15  call_texrtn     /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */	
+	 nop
+ret_int_2:
+	lwi  r3,  r1, 0    /* MSR ãæ»ãï¼å²è¾¼ã¿IE=0ã§å²è¾¼ã¿ç¦æ­¢ã«ãªãï¼*/
+	mts  rmsr,r3
+	lwi  r18, r1, 4
+	lwi  r17, r1, 8
+	lwi  r16, r1, 12
+	lwi  r15, r1, 16
+	lwi  r14, r1, 20
+	lwi  r12, r1, 24
+	lwi  r11, r1, 28
+	lwi  r10, r1, 32
+	lwi  r9,  r1, 36
+	lwi  r8,  r1, 40
+	lwi  r7,  r1, 44
+	lwi  r6,  r1, 48
+	lwi  r5,  r1, 52
+	lwi  r4,  r1, 56
+	lwi  r3,  r1, 60
+	rtid r14,0 
+	 addik r1,r1,64	
+
+
+
+	/*
+	 * ã¿ã¹ã¯èµ·åå¦ç
+     *   
+     *  ã¹ã¿ãã¯ã®åãæ¹
+     *  Microblaze Processor Reference Guide 52ã53ãã
+     *  é¢æ°å¼åºãã®ããå¼æ°ã¯ï¼r5ãr10 ã«æ ¼ç´ããï¼
+     *  ããã¨åæã«å¼åºãå
+ã¯ã¹ã¿ãã¯ãã¬ã¼ã ã«å¼æ°ã®æ ¼ç´å ´æãç¢ºä¿ããå¿
+è¦
+     *  ãããï¼ããã«ãã®ä¸ã«ã¯ãªã³ã¯ã¬ã¸ã¹ã¿(R15)ã®åã®é åãå¿
+è¦ã¨ãªãï¼
+     *  å¼åºãå
+ã¯æ´ã«ä»ã®é¢æ°ãå¼ã³åºãå ´åç­ã« r5ãr10 ããã®é åã«ä¿å­ã
+     * ãï¼
+     *  Low Address
+     *             --------------------
+     *  new_sp -> | Link Register(R15) |
+     *             --------------------
+     *            |   Arg1ç¨ã®é å     |
+     *             --------------------
+     *            |   Arg2ç¨ã®é å     |
+     *             --------------------        
+     *            |      ....          |
+     *             --------------------
+     *  High Address
+	 */
+
+	.text
+	.globl activate_r
+	.align 2
+activate_r:
+	ori   r4,  r0, 0x02 | MSR_CACHE_SETTING  /* msrã®åæå¤        */
+	mts   rmsr,r4              /* å²è¾¼ã¿è¨±å¯(MSR(IE)ãã»ãã)      */
+    lw    r11, r1, r0          /* ã¿ã¹ã¯ã®å®è¡çªå°                 */
+    lwi   r5,  r1,  4          /* å¼æ°ï¼exinfï¼                    */
+	la    r15, r0,  ext_tsk -8 /* ã¿ã¹ã¯ããã®æ»ãå
+               */
+	bra   r11                  /* ã¿ã¹ã¯ã®å®è¡éå§                 */
+
+
+        
+    /*
+     * å¾®å°æéå¾
+ã¡
+     */
+     .globl _sil_dly_nse
+_sil_dly_nse:
+     addi   r5, r5, -SIL_DLY_TIM1
+     bgti   r5, _sil_dly_nse_1
+     rtsd   r15, 8
+      nop  
+_sil_dly_nse_1:
+     addi   r5, r5, -SIL_DLY_TIM2
+     bgti   r5, _sil_dly_nse_1
+     rtsd   r15, 8
+      nop          
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/cpu_unrename.h	(revision 26)
@@ -0,0 +1,32 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef interrupt_count
+#undef int_handler_table
+#undef int_bit_table
+#undef exception_entry
+#undef interrupt_entry
+
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _interrupt_count
+#undef _int_handler_table
+#undef _int_bit_table
+#undef _exception_entry
+#undef _interrupt_entry
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/06/17 05:57:01 honda Exp $
+ */
+
+/* 
+ *	SIOãã©ã¤ãï¼Microblaze UART Liteç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_serial.h	(revision 26)
@@ -0,0 +1,158 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.9 2003/12/11 00:58:01 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼MicroBlaze opb_uartç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <microblaze.h>
+
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®å²è¾¼ã¿çªå·
+ */
+#define INHNO_SIO UARTINTLVL
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦ç
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+    /*
+     * INTCã®å²è¾¼ã¿è¨±å¯
+     */
+    intc_enable_interrupt((1 << (UARTINTLVL - 1)));
+
+    return(siopcb);
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+  /*                                                                          
+   *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼                                            
+   */
+  uart_cls_por(siopcb);
+  
+  /*
+   * ãã§ã«å²è¾¼ã¿ãå
+¥ã£ã¦ããå ´åãããã®ã§å²è¾¼ã¿è¦æ±ãã¯ãªã¢
+   */
+  intc_ack_interrupt(1 << (UARTINTLVL -1));
+  intc_disable_interrupt(1 << (UARTINTLVL -1));  /* INTCã®åãä»ãç¦æ­¢ */
+}
+
+
+/*                                                                             
+ *  SIOã®å²è¾¼ã¿ãã³ãã©                                                        
+ */
+#define sio_handler uart_isr
+
+/*                                                                             
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                              
+ */
+#define sio_snd_chr uart_snd_chr
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+
+#endif /* _MACRO_ONLY */
+#endif /*  _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/hw_timer.h	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.7 2003/12/11 00:58:01 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+/*
+ * CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼MicroBlazeç¨ï¼
+ */ 
+#include <s_services.h>
+#include <microblaze.h>
+
+/*
+ * ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®å²è¾¼ã¿çªå·
+ */
+#define INHNO_TIMER TIMINTLVL
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW CLOCK;
+
+/*                                                                             
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ                               
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®                                     
+ */
+#define TO_CLOCK(nume, deno)  (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK ((CLOCK) 0xffffffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define GET_TOLERANCE	100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ * ã¿ã¤ãã®èµ·åå¦ç
+ *
+ * ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿ãçºçããã
+ */ 
+Inline void
+hw_timer_initialize(void)
+{
+  
+  CLOCK cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+  sil_wrw_mem((VP)TIMER_TCSR0,TIMER_RESET); /* ãªã»ãã */
+  
+  assert(cyc <= MAX_CLOCK);	                /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+  sil_wrw_mem((VP)TIMER_TCCR0, cyc);        /* ã«ã¦ã³ã¿ã¼ã»ãã */
+  
+  /*
+   * ã¿ã¤ãã¼0ã¤ãã¼ãã«ï¼ãªã¼ããªã­ã¼ãï¼ãã¦ã³ã«ã¦ã³ããå²è¾¼ã¿è¨±å¯ã
+   */
+  sil_wrw_mem((VP)TIMER_TCSR0,TIMER_ENABLE | TIMER_RELOAD | TIMER_DOWN_COUNT
+                                | TIMER_ENABLE_INTR);
+
+  /*
+   *  INTCå²è¾¼ã¿è¨±å¯
+   */
+  intc_enable_interrupt((1 << (TIMINTLVL - 1)));
+}
+
+
+
+/*
+ *   ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+  sil_wrw_mem((VP)TIMER_TCSR0,sil_rew_mem((VP)TIMER_TCSR0));
+  /*
+   * ã¬ãã«å²è¾¼ã¿ã®ããï¼å²è¾¼ã¿è¦å ãä¸ãããå¾ã«ACK
+   */
+  intc_ack_interrupt(1 << (TIMINTLVL - 1));
+}
+
+
+
+/*
+ *   ã¿ã¤ãã®ç¦æ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+  int dummy;
+  
+  sil_wrw_mem((VP)TIMER_TCSR0, ~TIMER_ENABLE); /* ã¿ã¤ãåæ­¢         */
+  sil_wrw_mem((VP)TIMER_TCSR0, sil_rew_mem((VP)TIMER_TCSR0));  /* å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ */
+  
+  /*
+   * ãã§ã«å²è¾¼ã¿ãå
+¥ã£ã¦ããå ´åãããã®ã§å²è¾¼ã¿è¦æ±ãã¯ãªã¢
+   */
+  dummy = 1 << (TIMINTLVL - 1);
+  intc_ack_interrupt(dummy);
+  intc_disable_interrupt(dummy);  /* INTCã®åãä»ãç¦æ­¢ */
+}
+
+
+
+/*
+ *   ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *
+ *   å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+  return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)TIMER_TCR0));
+}
+
+
+
+/*
+ *   å²è¾¼ã¿ãçºçãã¦ãããã®å¤å®
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+  return(sil_rew_mem((VP)TIMER_TCSR0) & TIMER_INTERRUPT);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/makeoffset.c	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.6 2004/09/06 16:00:31 hiro Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_BW_TCB_enatex = {
+               { NULL, NULL }, NULL, 0, 0,
+               FALSE, FALSE, TRUE,
+               0, NULL, {NULL, NULL }
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf.l
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf.l	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf.l	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  @(#) $Id: mbelf.l,v 1.4 2004/01/09 10:32:36 honda Exp $
+ */
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(__idata_start = 0);
+PROVIDE(__idata_end = 0);
+PROVIDE(__isdata2_start = 0);
+PROVIDE(__isdata2_end = 0);
+PROVIDE(__isdata_start = 0);
+PROVIDE(__isdata_end = 0);
+PROVIDE(__data_start = 0);
+PROVIDE(__sdata2_start = 0);
+PROVIDE(__sdata_start = 0);
+
+/*
+ * Specify the default entry point to the program
+ */
+ENTRY(_start)
+
+SECTIONS
+{
+/*
+ * Specify that the .text section from all input object files will be placed
+ * in LMB memory into the output file section .text Note that mb-gdb expects
+ * the executable to have a section called .text
+ */
+ 
+    .text : {
+     /* Uncomment the following line to add specific files in the opb_text */
+     /* region */
+     /* *(EXCLUDE_FILE(file1.o).text) */
+     /* Comment out the following line to have multiple text sections */
+     __text = . ;
+     *(.text)
+    } 
+    _extext = . ;
+
+    . = ALIGN(4);
+    .rodata : {
+     *(.rodata)
+    } 
+
+
+    . = ALIGN(4);
+    .data : {
+       *(.data)
+    } 
+
+ /*
+  * Alignments by 8 to ensure that _SDA2_BASE_ on a word boundary
+  */
+    . = ALIGN(8);
+    _ssrw = .;
+    .sdata2 : {
+        *(.sdata2)
+    } 
+    . = ALIGN(8);
+    _essrw = .;
+    _ssrw_size = _essrw - _ssrw;
+    _SDA2_BASE_ = _ssrw + (_ssrw_size / 2 );
+
+
+ /*
+  * Alignments by 8 to ensure that _SDA_BASE_ on a word boundary 
+  * Note that .sdata and .sbss must be contiguous
+  */
+    . = ALIGN(8);
+     _ssro = .;
+    .sdata : {
+        *(.sdata)
+    } 
+
+    . = ALIGN(4);
+    __bss_start = . ;
+    .sbss : {
+        *(.sbss)
+    } 
+
+    . = ALIGN(8);
+    _essro = .;
+    _ssro_size = _essro - _ssro;
+    _SDA_BASE_ = _ssro + (_ssro_size / 2 );
+
+    /*
+     * Define space for the stack and heap 
+     * Note that variables _heap must be set to the beginning of this area 
+     * and _stack set to the end of this area
+     */
+   . = ALIGN(4);
+   _heap = .;
+   .bss : {
+    *(.bss)
+    *(COMMON)
+   } 
+   _stack = .;
+   . = ALIGN(4);
+   _end = .;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf_rom.l
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf_rom.l	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mbelf_rom.l	(revision 26)
@@ -0,0 +1,111 @@
+/*
+ *  @(#) $Id: mbelf_rom.l,v 1.1 2004/01/09 10:32:36 honda Exp $
+ */
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+/*
+ * Specify the default entry point to the program
+ */
+ENTRY(_start)
+
+SECTIONS
+{
+/*
+ * Specify that the .text section from all input object files will be placed
+ * in LMB memory into the output file section .text Note that mb-gdb expects
+ * the executable to have a section called .text
+ */
+ 
+    .text : {
+     /* Uncomment the following line to add specific files in the opb_text */
+     /* region */
+     /* *(EXCLUDE_FILE(file1.o).text) */
+     /* Comment out the following line to have multiple text sections */
+     __text = . ;
+     *(.text)
+    } 
+    _extext = . ;
+
+    . = ALIGN(4);
+    .rodata : {
+     *(.rodata)
+    } 
+
+
+    . = ALIGN(4);
+    __idata_start = .;
+    .data : AT(__idata_start)
+    {
+       __data_start = .;
+       *(.data)
+    } 
+    __idata_end = __idata_start + SIZEOF(.data);
+
+ /*
+  * Alignments by 8 to ensure that _SDA2_BASE_ on a word boundary
+  */
+    . = ALIGN(8);
+    _ssrw = .;
+    __isdata2_start = __idata_start + (_ssrw - __data_start);
+    .sdata2 :AT(__isdata2_start)
+    {
+        __sdata2_start = .;
+        *(.sdata2)
+    } 
+    . = ALIGN(8);
+    _essrw = .;
+    __isdata2_end = __isdata2_start + SIZEOF(.sdata2);
+    _ssrw_size = _essrw - _ssrw;
+    _SDA2_BASE_ = _ssrw + (_ssrw_size / 2 );
+
+
+ /*
+  * Alignments by 8 to ensure that _SDA_BASE_ on a word boundary 
+  * Note that .sdata and .sbss must be contiguous
+  */
+    . = ALIGN(8);
+     _ssro = .;
+    __isdata_start = __idata_start + (_ssro - __data_start);
+    .sdata : AT(__isdata_start)
+    {
+        __sdata_start = .;
+        *(.sdata)
+    } 
+    __isdata_end = __isdata_start + SIZEOF(.sdata);
+
+    . = ALIGN(4);
+    __bss_start = . ;
+    .sbss : {
+        *(.sbss)
+    } 
+
+    . = ALIGN(8);
+    _essro = .;
+    _ssro_size = _essro - _ssro;
+    _SDA_BASE_ = _ssro + (_ssro_size / 2 );
+
+    /*
+     * Define space for the stack and heap 
+     * Note that variables _heap must be set to the beginning of this area 
+     * and _stack set to the end of this area
+     */
+   . = ALIGN(4);
+   _heap = .;
+   .bss : {
+    *(.bss)
+    *(COMMON)
+   } 
+   _stack = .;
+   . = ALIGN(4);
+   _end = .;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.c	(revision 26)
@@ -0,0 +1,297 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: microblaze.c,v 1.8 2003/12/11 04:52:44 honda Exp $
+ */
+
+/*                                                                              * Microblaze æ¨æºããªãã§ã©ã«ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <microblaze.h>
+
+
+/*
+ * UART Liteç¨ ç°¡æãã©ã¤ã
+ */
+
+/*                                                                       
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯                                         
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {{}};
+
+/*                                                                      
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢                                
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+/*                                                                          
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­                  
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+Inline void
+uart_ena_int(void){
+  sil_wrw_mem((VP)UARTLITE_CTREG,
+              sil_rew_mem((VP)UARTLITE_CTREG) | UARTLITE_ENABLE_INTR);
+}
+
+Inline void
+uart_dis_int(void){
+  sil_wrw_mem((VP)UARTLITE_CTREG,
+              sil_rew_mem((VP)UARTLITE_CTREG) & ~UARTLITE_ENABLE_INTR);
+}
+
+/*
+ * æå­ãåä¿¡ããã?                                                       
+ */
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    return((sil_rew_mem((VP)UARTLITE_SRREG) &
+            UARTLITE_RX_FIFO_VALID_DATA) != 0);
+
+}
+
+/*                                                                             
+ * æå­ãéä¿¡ã§ããã?                                                         
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+  return((sil_rew_mem((VP)UARTLITE_SRREG) & UARTLITE_TX_FIFO_FULL) == 0);
+}
+
+/*                                                                             
+ *  åä¿¡ããæå­ã®åãåºã                                                     
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return((UB)sil_rew_mem((VP)UARTLITE_RXREG));
+}
+
+/*                                                                            
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿                                                    
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+  sil_wrw_mem((VP)UARTLITE_TXREG, c);
+}
+
+/*
+ * éä¿¡å¶å¾¡é¢æ°
+ * UART Lite ã«ã¯éä¿¡å²è¾¼ã¿ãåå¥ã«ç¦æ­¢è¨±å¯ããæ©è½ã¯ãªã
+ * ãã®ããï¼éä¿¡çµäºæã«ã¯å¿
+ã1åå²è¾¼ã¿ãå
+¥ã  
+ */
+/*                                                                             
+ *  éä¿¡å²è¾¼ã¿è¨±å¯                                                             
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+  
+}
+
+/*                                                                             
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢                                                             
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+
+}
+
+
+/*                                                                             
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³                                                
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã                                      
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*                                                                         
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå                                  
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+
+SIOPCB   *
+uart_opn_por(ID siopid, VP_INT exinf){
+
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    /*
+     *  éåä¿¡ãããã¡ã¯ãªã¢
+     */
+    sil_wrw_mem((VP)UARTLITE_CTREG, UARTLITE_RST_RX_FIFO
+                | UARTLITE_RST_TX_FIFO | UARTLITE_ENABLE_INTR);
+    
+//    sil_wrw_mem((VP)UARTLITE_CTREG, UARTLITE_RST_RX_FIFO
+//                | UARTLITE_RST_TX_FIFO );
+    
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+
+void
+uart_cls_por(SIOPCB *siopcb){
+  sil_wrw_mem((VP)UARTLITE_CTREG, ~UARTLITE_ENABLE_INTR);   /* å²è¾¼ã¿ç¦æ­¢    */
+  siopcb->openflag = FALSE;
+  siopcb->sendflag = FALSE;
+}
+
+
+
+/*                                                                             
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                            
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, INT chr)
+{
+    if(uart_putready(siopcb)){
+        uart_putchar(siopcb, (UB) chr);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+/*
+ *  OPB_UARTLITE ã¯éä¿¡ã¨åä¿¡å²è¾¼ã¿ãåå¥ã«è¨±å¯/ç¦æ­¢ããæ©è½ã¯æããªã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+}
+
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç                                       
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    /*
+     * ã¨ãã¸å²è¾¼ã¿ã®ããå²è¾¼ã¿å¦çåã«ACK
+     */
+    intc_ack_interrupt(1 << (UARTINTLVL - 1));
+    
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*                                                                             
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³                                                
+ */
+void
+uart_isr()
+{
+    if (siopcb_table[0].openflag) {
+        uart_isr_siop(&(siopcb_table[0]));
+    }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze.h	(revision 26)
@@ -0,0 +1,337 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: microblaze.h,v 1.6 2004/02/05 09:16:25 honda Exp $
+ */
+
+#ifndef _MICROBLAZE_H_
+#define _MICROBLAZE_H_
+
+
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  MSRã®ããã
+ */
+#define MSR_CC  0x80000000
+#define MSR_DCE 0x80
+#define MSR_DZ  0x40
+#define MSR_ICE 0x20
+#define MSR_FSL 0x10
+#define MSR_BIP 0x08
+#define MSR_C   0x04
+#define MSR_IE  0x02
+#define MSR_BE  0x01
+
+
+/*
+ * INTC Registers
+ */
+#define INTC_INT_STATUS_REG    0x00
+#define INTC_INT_PENDING_REG   0x04
+#define INTC_INT_ENABLE_REG    0x08
+#define INTC_INT_ACK_REG       0x0c
+#define INTC_SET_INT_ENABLE    0x10
+#define INTC_CLEAR_INT_ENABLE  0x14
+#define INTC_INT_VECTOR_REG    0x18
+#define INTC_MASTER_ENABLE_REG 0x1c
+
+/* 
+ * Masks for the INTC Registers
+ */
+#define INTC_HIE_MASK 0x2
+#define INTC_ME_MASK  0x1
+
+
+
+#define INTC_ISR (INTC_BASE + INTC_INT_STATUS_REG)
+#define INTC_IPR (INTC_BASE + INTC_INT_PENDING_REG)
+#define INTC_IER (INTC_BASE + INTC_INT_ENABLE_REG)
+#define INTC_IAR (INTC_BASE + INTC_INT_ACK_REG)
+#define INTC_SIE (INTC_BASE + INTC_SET_INT_ENABLE)
+#define INTC_CIE (INTC_BASE + INTC_CLEAR_INT_ENABLE)
+#define INTC_IVR (INTC_BASE + INTC_INT_VECTOR_REG)
+#define INTC_MER (INTC_BASE + INTC_MASTER_ENABLE_REG)
+
+#ifndef _MACRO_ONLY
+/*
+ *  INTCæä½é¢æ°
+ */
+Inline void
+intc_start(void){
+  sil_wrw_mem((VP)INTC_MER, INTC_HIE_MASK | INTC_ME_MASK);
+}
+
+Inline void
+intc_disable_allinterrupt(){
+  sil_wrw_mem((VP)INTC_MER, 0);
+}
+
+Inline void
+intc_enable_interrupt(UW mask)
+{
+  sil_wrw_mem((VP)INTC_SIE, mask);
+}
+
+Inline void
+intc_disable_interrupt(UW mask)
+{
+  sil_wrw_mem((VP)INTC_CIE, mask);
+}
+
+Inline void
+intc_ack_interrupt(UW mask)
+{
+  sil_wrw_mem((VP)INTC_IAR, mask);
+}
+
+#endif /* _MACRO_ONLY */
+
+
+
+/*
+ * ã¿ã¤ããã©ã¤ãç¨ã®ãã¯ã­å®ç¾©
+ */
+
+
+/*
+ * Masks for the control/status register
+ */
+#define TIMER_ENABLE_ALL    0x400
+#define TIMER_PWM           0x200
+#define TIMER_INTERRUPT     0x100
+#define TIMER_ENABLE        0x080
+#define TIMER_ENABLE_INTR   0x040
+#define TIMER_RESET         0x020
+#define TIMER_RELOAD        0x010
+#define TIMER_EXT_CAPTURE   0x008
+#define TIMER_EXT_COMPARE   0x004
+#define TIMER_DOWN_COUNT    0x002
+#define TIMER_CAPTURE_MODE  0x001
+
+#define TIMER_CONTROL_STATUS_0  0x0
+#define TIMER_COMPARE_CAPTURE_0 0x4
+#define TIMER_COUNTER_0         0x8
+#define TIMER_CONTROL_STATUS_1  0x10
+#define TIMER_COMPARE_CAPTURE_1 0x14
+#define TIMER_COUNTER_1         0x18
+
+
+#define TIMER_TCSR0 (TIMER_BASE + TIMER_CONTROL_STATUS_0)
+#define TIMER_TCCR0 (TIMER_BASE + TIMER_COMPARE_CAPTURE_0)
+#define TIMER_TCR0  (TIMER_BASE + TIMER_COUNTER_0)
+#define TIMER_TCSR1 (TIMER_BASE + TIMER_CONTROL_STATUS_1)
+#define TIMER_TCCR1 (TIMER_BASE + TIMER_COMPARE_CAPTURE_1)
+#define TIMER_TCR1  (TIMER_BASE + TIMER_COUNTER_1)
+
+
+/*
+ *  UARTãã©ã¤ãç¨ã®ãã¯ã­å®ç¾©
+ */
+
+/*
+ * Error condition masks 
+ */
+#define UARTLITE_PAR_ERROR     0x80
+#define UARTLITE_FRAME_ERROR   0x40
+#define UARTLITE_OVERRUN_ERROR 0x20
+
+
+/*
+ * Other status bit masks
+ */
+#define UARTLITE_INTR_ENABLED       0x10
+#define UARTLITE_TX_FIFO_FULL       0x08
+#define UARTLITE_TX_FIFO_EMPTY      0x04
+#define UARTLITE_RX_FIFO_FULL       0x02
+#define UARTLITE_RX_FIFO_VALID_DATA 0x01
+
+/*
+ * Control bit masks 
+ */
+#define UARTLITE_ENABLE_INTR  0x10
+#define UARTLITE_RST_RX_FIFO  0x02
+#define UARTLITE_RST_TX_FIFO  0x01
+
+/*
+ * UARTLITE Registers
+ */
+#define UARTLITE_RECEIVE_REG  0x0
+#define UARTLITE_TRANSMIT_REG 0x4
+#define UARTLITE_STATUS_REG   0x8
+#define UARTLITE_CONTROL_REG  0xc
+
+
+#define UARTLITE_RXREG (UART_BASE + UARTLITE_RECEIVE_REG)
+#define UARTLITE_TXREG (UART_BASE + UARTLITE_TRANSMIT_REG)
+#define UARTLITE_SRREG (UART_BASE + UARTLITE_STATUS_REG)
+#define UARTLITE_CTREG (UART_BASE + UARTLITE_CONTROL_REG)
+
+
+
+#ifndef _MACRO_ONLY
+/*                                                                          
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã                                                 
+ */
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯                                         
+ */
+typedef struct sio_port_initialization_block {
+
+} SIOPINIB;
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯                                            
+ */
+typedef struct sio_port_control_block {
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;           /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;           /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;           /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;           /* æå­ãéä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+extern SIOPCB   siopcb_table[];
+
+#define uart_openflag   (siopcb_table[0].openflag)
+
+Inline void
+uart_putc(unsigned char c){
+  while(sil_rew_mem((VP)UARTLITE_SRREG) & UARTLITE_TX_FIFO_FULL);
+  sil_wrw_mem((VP)UARTLITE_TXREG, c);
+}
+
+Inline unsigned char
+uart_getc(void){
+  while(!(sil_rew_mem((VP)UARTLITE_SRREG) & UARTLITE_RX_FIFO_VALID_DATA));
+  return (char)(sil_rew_mem((VP)UARTLITE_RXREG));
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ *  OPB_UARTLITE ã¯ï¼éåä¿¡å²è¾¼ã¿ãåããã¦ããªãããï¼æå³ã¯ãªãï¼
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*                                                                           
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³                                                
+ */
+extern void uart_initialize(void);
+
+
+/*                                                                           
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³                                              
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*                                                                         
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº                                             
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                            
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, INT chr);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*                                                                            
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³                                              
+ */
+extern void uart_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+
+
+#endif  /* _MACRO_ONLY */
+
+#endif /* _MICROBLAZE_H_*/
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze_asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze_asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/microblaze_asm.inc	(revision 26)
@@ -0,0 +1,78 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: microblaze_asm.inc,v 1.3 2003/12/24 07:30:16 honda Exp $
+ */
+
+/*
+ *  microblazeã¢ã»ã³ãã©ç¨å®ç¾©ãã¡ã¤ã«
+ */
+
+/*
+ * ã¬ã¸ã¹ã¿éè»¢é
+ */
+ .macro Mov destination, source
+ addk \destination, r0, \source
+ .endm
+
+/*
+ * ã¹ã¿ãã¯æä½ : ããã·ã¥
+ */
+ .macro Push source
+ addik r1,r1,-4
+ sw    \source,r0,r1
+ .endm	
+
+/*
+ * ã¹ã¿ãã¯æä½ : ããã
+ */
+ .macro Pop source
+ lw \source,r0,r1
+ addik r1,r1,4
+ .endm
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/Makefile.config	(revision 26)
@@ -0,0 +1,35 @@
+#
+#  @(#) $Id: Makefile.config,v 1.4 2004/05/02 08:21:02 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼MIRE-MULTIç¨ï¼
+#
+
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS)    -mno-xl-soft-mul -mno-xl-soft-div  -mxl-barrel-shift
+LDFLAGS  := $(LDFLAGS) 
+
+LIBS    := $(LIBS) -lc_hard_shift
+
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o 
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS=0x0400
+DATA_START_ADDRESS=0x9000
+#TEXT_START_ADDRESS=0xF1100000
+#DATA_START_ADDRESS=0xF1180000
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2003/12/24 07:30:16 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <microblaze.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+  
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    Asm("brki r16 0x20");
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_config.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.4 2003/12/24 07:30:16 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MIRE-MULTIç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#ifndef OMIT_RENAME
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_defs.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.6 2004/05/02 08:21:02 honda Exp $
+ */
+
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MIRE-MULTIï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define MB_TEMPLATE_SYSTEM
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MIRE-MULTI(Microblaze)"
+
+/*
+ *  ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */                 
+#define STACKTOP    0x10000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK	 50000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  INTC ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define INTC_BASE 0xF1001000
+
+/*
+ *  TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define TIMER_BASE 0xF1002000
+
+/*
+ * ã«ã¼ãã«ã§ä½¿ç¨ãã UART ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define UART_BASE 0xF1003000
+
+/*
+ * YG0130ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define  YG0130_0_BASE_ADDR  0xFFFF8200    
+
+/*
+ *  TIM å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define TIMINTLVL        1
+
+/*
+ * UART å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define UARTINTLVL       2
+
+/*
+ *  YG0130ã®å²è¾¼ã¿çªå·
+ */
+#define  YG0130_0_INTLVL 4
+
+#define INHNO_IF_ED YG0130_0_INTLVL
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define SIL_DLY_TIM1    420
+#define SIL_DLY_TIM2    90
+
+/*
+ * èµ·åæã®ã­ã£ãã·ã¥ã®è¨­å®
+ * ã­ã£ãã·ã¥ãONã«ãããå ´åã«å®ç¾©ããï¼
+ */
+//#define D_CACHE_ENABLE
+//#define I_CACHE_ENABLE
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_support.S	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2003/12/24 07:30:16 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/mire_multi/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/Makefile.config	(revision 26)
@@ -0,0 +1,39 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2003/06/20 09:26:05 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼Mirefç¨ï¼
+#
+
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS)
+LDFLAGS  := $(LDFLAGS) 
+
+#COPTS := $(COPTS) -mno-xl-soft-mul
+COPTS  := $(COPTS) -mxl-soft-mul
+
+LIBS    := $(LIBS) -lc_soft
+
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o 
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS=0x0800000   # 128k
+DATA_START_ADDRESS=0x0820000   # 128k
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2003/12/24 07:30:16 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <microblaze.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+  
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    Asm("brki r16 0x20");
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_config.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.5 2003/12/24 07:30:16 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MIREFç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#ifndef OMIT_RENAME
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_defs.h	(revision 26)
@@ -0,0 +1,177 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.5 2004/02/05 09:16:25 honda Exp $
+ */
+
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MIREFï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define MB_TEMPLATE_SYSTEM
+
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MIREF(Microblaze)"
+
+/*
+ *  ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+ */
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *  BRAM
+ *  0x00000000 - 0x000003ff    STUBãä½¿ç¨
+ *  0x00000400 - 0000000fff    ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *  SRAM
+ *  0x00800000 - 0x0081ffff ã³ã¼ãé å(128KB)
+ *  0x00820000 - 0x0083ffff ãã¼ã¿é å(128KB)
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */                 
+#define STACKTOP    0x1000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK		25000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  INTC ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define INTC_BASE 0xFFFF2000
+
+/*
+ *  TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define TIMER_BASE 0xFFFF2300   
+
+/*
+ * ã«ã¼ãã«ã§ä½¿ç¨ãã UART ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define UART_BASE 0xFFFF2200
+
+/*
+ * YG0130ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define  YG0130_0_BASE_ADDR  0xffff8200    
+
+
+/*
+ *  TIM å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define TIMINTLVL        5
+
+
+/*
+ * UART å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define UARTINTLVL 2
+
+/*
+ *  YG0130ã®å²è¾¼ã¿çªå·
+ */
+#define  YG0130_0_INTLVL 4
+
+#define INHNO_IF_ED YG0130_0_INTLVL
+
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define SIL_DLY_TIM1    420
+#define SIL_DLY_TIM2    90
+
+
+/*
+ * èµ·åæã®ã­ã£ãã·ã¥ã®è¨­å®
+ * ã­ã£ãã·ã¥ãONã«ãããå ´åã«å®ç¾©ããï¼
+ */
+#define D_CACHE_ENABLE
+#define I_CACHE_ENABLE
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_support.S	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2003/12/24 07:30:16 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/miref/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/Makefile.config	(revision 26)
@@ -0,0 +1,65 @@
+#
+#  @(#) $Id: Makefile.config,v 1.3 2005/07/27 10:38:55 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼Xilinx Multimedia Board ç¨ï¼
+# 
+
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+
+# ãã¼ãã«
+#COPTS    := $(COPTS)    -mxl-soft-mul  -mxl-soft-div
+
+#ä¹ç®å¨
+#COPTS    := $(COPTS)    -mno-xl-soft-mul  -mxl-soft-div
+
+#ãã¬ã«ã·ãã¿
+#COPTS    := $(COPTS)    -mxl-soft-mul  -mxl-soft-div  -mxl-barrel-shift
+
+#é¤ç®å¨
+#COPTS    := $(COPTS)    -mxl-soft-mul  -mno-xl-soft-div  
+
+#ä¹ç®å¨ + ãã¬ã«ã·ãã¿
+#COPTS    := $(COPTS)    -mno-xl-soft-mul  -mxl-soft-div  -mxl-barrel-shift
+
+#ä¹ç®å¨ + é¤ç®å¨
+#COPTS    := $(COPTS)    -mno-xl-soft-mul  -mno-xl-soft-div 
+
+#é¤ç®å¨ + ãã¬ã«ã·ãã¿
+#COPTS    := $(COPTS)    -mxl-soft-mul  -mno-xl-soft-div  -mxl-barrel-shift
+
+
+#ä¹ç®å¨ + é¤ç®å¨ + ãã¬ã«ã·ãã¿ 
+COPTS    := $(COPTS)    -mno-xl-soft-mul  -mno-xl-soft-div  -mxl-barrel-shift
+LIBS    := $(LIBS) -lc_m_bs
+
+
+
+LDFLAGS  := $(LDFLAGS) 
+
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o 
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS=0x0400
+DATA_START_ADDRESS=0x40000000
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2003/12/24 07:30:16 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <microblaze.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+  
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    Asm("brki r16 0x20");
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_config.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2003/12/24 07:30:16 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MIRE-MULTIç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#ifndef OMIT_RENAME
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_defs.h	(revision 26)
@@ -0,0 +1,161 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.3 2004/02/05 09:16:26 honda Exp $
+ */
+
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MIRE-MULTIï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define MB_TEMPLATE_SYSTEM
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MultiMddia(Microblaze)"
+
+/*
+ *  ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */                 
+#define STACKTOP    0x10000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK	 50000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  INTC ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define INTC_BASE 0xFFFF1000
+
+/*
+ *  TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define TIMER_BASE 0xFFFF8000   
+
+/*
+ * ã«ã¼ãã«ã§ä½¿ç¨ãã UART ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define UART_BASE 0xFFFF8200
+
+/*
+ * YG0130ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define  YG0130_0_BASE_ADDR  0xFFFF8900    
+
+/*
+ *  TIM å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define TIMINTLVL        1
+
+/*
+ * UART å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define UARTINTLVL       2
+
+/*
+ *  YG0130ã®å²è¾¼ã¿çªå·
+ */
+#define  YG0130_0_INTLVL 3
+
+#define INHNO_IF_ED YG0130_0_INTLVL
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define SIL_DLY_TIM1    420
+#define SIL_DLY_TIM2    90
+
+/*
+ * èµ·åæã®ã­ã£ãã·ã¥ã®è¨­å®
+ * ã­ã£ãã·ã¥ãONã«ãããå ´åã«å®ç¾©ããï¼
+ */
+#define D_CACHE_ENABLE
+#define I_CACHE_ENABLE
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_support.S	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2003/12/24 07:30:16 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/multimedia/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/start.S	(revision 26)
@@ -0,0 +1,247 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.9 2004/02/05 09:16:25 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include <microblaze_asm.inc>
+#include <t_config.h>
+#include <sys_defs.h>
+/*
+ *  # 0x00 #		Imm instr for reset address     [Hi halfword]
+ *  # 0x04 #		Jump to _start                  [Lo halfword]
+ *  # 0x08 #		Imm instr for exception address [Hi halfword]
+ *  # 0x0c #		Jump to Exception handler       [Lo halfword]
+ *  # 0x10 #		Imm instr for interrupt address [Hi halfword]
+ *  # 0x14 #		Jump to interrupt handler       [Lo halfword]
+ */
+
+        
+	.text
+	.global _start
+	.align  2
+    .ent _start
+_start:
+    /*
+     *  msrãåæå
+     */
+    la   r1, r0, MSR_CACHE_SETTING         
+    mts  rmsr,r1 
+                
+    /*
+     *  opb_mdm ãä½¿ãã¨ msr ã®BIPãããã'1'ã§å®è¡ãããããï¼
+     *  rtbdå½ä»¤ã«ãã'0'ã«åæåããï¼
+     *  stub ãä½¿ãå ´åã¯å¿
+è¦ãªããç¹ã«å¯ä½ç¨ããªãããï¼ç¡æ¡ä»¶ã«å®è¡ããï¼
+     */
+    la    r1, r0, _start_
+    rtbd  r1,0
+_start_:        
+               
+    /*
+     * R2ã¨R3ã®è¨­å®
+     *ã»R2  : Read-only small data area anchor
+     *   _SDA2_BASE_ .sdata2ã®ä¸­å¿
+     *ã»R13 : Read-write small data area anchor
+     *   .sdataã¨sbssãé£ç¶ãã¦ç½®ãï¼ãã®ä¸­éã«_SDA_BASE_ ãè¨­å®ãã
+     */
+	la	r13, r0, _SDA_BASE_
+	la	r2,  r0, _SDA2_BASE_
+
+	/*
+	 * ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+	 */
+	la	r1, r0, STACKTOP - 4
+
+   /*
+	* ãã¯ã¿ãã¼ãã«ã®åæå
+	*/
+	/*
+     *  brai å½ä»¤ã®æ¸ãè¾¼ã¿
+     */
+	la  r3,  r0,  0xb8080000  /* brai ã®ãªãã³ã¼ã      */
+	swi r3,  r0,  0xc         /* exceptionãã¯ã¿ã¸ç»é²  */
+	swi r3,  r0,  0x14        /* interrruptãã¯ã¿ã¸ç»é² */
+	/*
+     * imm å½ä»¤ã®æ¸ãè¾¼ã¿
+     */
+	la  r4,  r0,  0xb0000000  /* imm ã®ãªãã³ã¼ã       */
+	swi r4,  r0,  0x8         /* exceptionãã¯ã¿ã¸ç»é²  */
+    swi r4,  r0,  0x10        /* interrruptãã¯ã¿ã¸ç»é² */
+
+	/*
+     *  ä¾å¤ãã³ãã©ã®ç»é²
+     */
+	la   r5,  r0,  exception_entry
+	sw	 r5,  r1,  r0
+	lhu  r6,  r1,  r0
+	shi	 r5,  r0,  0xe       /* å²è¾¼ã¿ãã³ãã©ä¸ä½16bit */
+	shi	 r6,  r0,  0xa       /* å²è¾¼ã¿ãã³ãã©ä¸ä½16bit */
+
+	/*
+	 *  å²è¾¼ã¿ãã³ãã©ã®ç»é²
+	 */
+	la   r5,  r0,  interrupt_entry
+	sw	 r5,  r1,  r0
+	lhu  r6,  r1,  r0
+	shi	 r5,  r0,  0x16      /* å²è¾¼ã¿ãã³ãã©ä¸ä½16bit */
+	shi	 r6,  r0,  0x12      /* å²è¾¼ã¿ãã³ãã©ä¸ä½16bit */
+
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ _hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+start_0:
+	la    r3,  r0,  _hardware_init_hook
+	beqi  r3,  start_1
+	brald r15, r3
+	nop
+
+
+	/*
+     *  bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+     */
+start_1:
+	la    r3,  r0,  __bss_start
+	la    r4,  r0,  _end
+	sub   r5,  r4,  r3
+	beqi  r5,  start_3
+start_2:
+	sb    r0,  r0,  r3
+	addi  r3,  r3,  1
+	sub   r5,  r4,  r3
+	bgti  r5,  start_2
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ã®åæåï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+     *  Microblazeã¯å
+èRAMãå°ãããã¨ã¨ï¼BRAMã®å
+å®¹ã¯
+     *  ãªã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ããã¨åæåããããã
+     *  dataã»ã¯ã·ã§ã³ã®åæåã¯è¡ããªã
+     *  ãã ãå ´åã«ãã£ã¦ã¯å®è£
+ãããã¨ãèãã¦ã©ãã«ã®ã¿å®ç¾©ãã¦ãã
+	 */
+start_3:
+	la    r3,  r0,  __idata_start
+	la    r4,  r0,  __idata_end
+	sub   r5,  r4,  r3     /* ãµã¤ãºããã§ãã¯ */
+	beqi  r5,  start_5
+	la    r6,  r0,  __data_start
+start_4:
+	lbu   r7,  r0,  r3
+    sb    r7,  r0,  r6
+	addi  r3,  r3,  1
+	addi  r6,  r6,  1
+	sub   r5,  r4,  r3
+	bgti  r5,  start_4
+
+
+start_5:
+	la    r3,  r0,  __isdata2_start
+	la    r4,  r0,  __isdata2_end
+	sub   r5,  r4,  r3     /* ãµã¤ãºããã§ãã¯ */
+	beqi  r5,  start_7
+	la    r6,  r0,  __sdata2_start
+start_6:
+	lbu   r7,  r0,  r3
+    sb    r7,  r0,  r6
+	addi  r3,  r3,  1
+	addi  r6,  r6,  1
+	sub   r5,  r4,  r3
+	bgti  r5,  start_6
+
+
+start_7:
+	la    r3,  r0,  __isdata_start
+	la    r4,  r0,  __isdata_end
+	sub   r5,  r4,  r3     /* ãµã¤ãºããã§ãã¯ */
+	beqi  r5,  start_9
+	la    r6,  r0,  __sdata_start
+start_8:
+	lbu   r7,  r0,  r3
+    sb    r7,  r0,  r6
+	addi  r3,  r3,  1
+	addi  r6,  r6,  1
+	sub   r5,  r4,  r3
+	bgti  r5,  start_8
+
+
+	/*
+	 *  _software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_9:
+	la    r3,  r0,  _software_init_hook
+	beqi  r3,  start_10
+	brald r15, r3
+	nop
+
+start_10:
+	brlid	r15, kernel_start
+    addik r1,r1,4            /* ã¹ã¿ãã¯ãå
+ã«æ»ã */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/Makefile.config	(revision 26)
@@ -0,0 +1,39 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2007/05/08 07:47:39 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼SUZAKUç¨ï¼
+#
+
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS)
+LDFLAGS  := $(LDFLAGS) 
+
+#COPTS := $(COPTS) -mno-xl-soft-mul
+COPTS  := $(COPTS) -mxl-soft-mul
+
+#LIBS    := $(LIBS) -lc_soft
+
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o 
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS=0x80000000   # 128KB
+DATA_START_ADDRESS=0x80020000   # 128KB
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/05/08 07:47:39 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <microblaze.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+  
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    Asm("brki r16 0x20");
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_config.h	(revision 26)
@@ -0,0 +1,99 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Atmark Techno, Inc.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2007/05/08 07:47:39 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼SUZAKUç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#ifndef OMIT_RENAME
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_defs.h	(revision 26)
@@ -0,0 +1,171 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Atmark Techno, Inc.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2007/05/08 07:47:39 honda Exp $
+ */
+
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼SUZAKUï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define MB_TEMPLATE_SYSTEM
+
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"SUZAKU(Microblaze)"
+
+/*
+ *  ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+ */
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *  BRAM
+ *  0x00000000 - 0x0000001f    å²ãè¾¼ã¿ãã¯ã¿
+ *  0x00000400 - 0000000fff    ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *  SDRAM
+ *  0x80000000 - 0x8001ffff ã³ã¼ãé å(128KB)
+ *  0x80020000 - 0x8003ffff ãã¼ã¿é å(128KB)
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */                 
+#define STACKTOP    0x1000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK		51610	/* 51609.6 */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  INTC ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define INTC_BASE 0xFFFF3000
+
+/*
+ *  TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define TIMER_BASE 0xFFFF1000
+
+/*
+ * ã«ã¼ãã«ã§ä½¿ç¨ãã UART ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define UART_BASE 0xFFFF2000
+
+/*
+ * SMC91C113ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define  SMC91C113_BASE_ADDR  0xffe00000
+
+
+/*
+ *  TIM å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define TIMINTLVL	1
+
+
+/*
+ * UART å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define UARTINTLVL	2
+
+/*
+ *  SMC91C113ã®å²è¾¼ã¿çªå·
+ */
+#define  SMC91C113_INTLVL 3
+
+#define INHNO_IF_ED YG0130_0_INTLVL
+
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define SIL_DLY_TIM1    420
+#define SIL_DLY_TIM2    90
+
+
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_support.S	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/05/08 07:47:39 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/suzaku/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.6 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+} 
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/microblaze/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/06 08:00:46 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus         /* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/Makefile.config	(revision 26)
@@ -0,0 +1,28 @@
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (MIPS3ç¨)
+#
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -g -O2 -mips3 -G 0
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o start.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = exception_vector.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.c	(revision 26)
@@ -0,0 +1,231 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼MIPS3ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«
+ */
+INT_TABLE int_table[ TMAX_ALL_INTNO ];
+
+/*
+ *  ä¾å¤ãã³ãã©ã®æ¬ä¼¼ãã¼ãã«
+ */
+FP exc_table[ TMAX_CORE_EXCNO ];
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void cpu_initialize() {
+
+	int i;
+
+	/* å²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«åæå */
+	for( i = 0; i < TMAX_ALL_INTNO; i++ ) {
+		define_inh( i, (FP) &cpu_experr );
+	}
+
+	/* ä¾å¤ãã¯ã¿ã®æ¬ä¼¼ãã¼ãã«åæå */
+	for( i = 0; i < TMAX_CORE_EXCNO; i++ ) {
+		define_exc( i, (FP) &cpu_experr );
+	}
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void cpu_terminate() {
+}
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+void sil_dly_nse(UINT dlytim) {
+
+	/* $2 : v0, $3 : v1 */
+	Asm("	move	$2, %0" :: "r"(dlytim) );
+	Asm("	li	$3, %0" :: "g"(SIL_DLY_TIM1) );
+
+	Asm("	sub	$2, $2, $3");	/* v0 -= v1 (dlytim -= SIL_DLY_TIM1) */
+	Asm("	blez    $2, sil_dly_nse_2");	/* v0 <= 0 ãªããªã¿ã¼ã³ */
+
+	Asm("	li      $3, %0" :: "g"(SIL_DLY_TIM2) );
+
+	Asm("sil_dly_nse_1:");
+	Asm("	sub     $2, $2, $3");	/* v0 -= v1 (dlytim -= SIL_DLY_TIM2) */
+	Asm("	bgtz    $2, sil_dly_nse_1");	/* v0 > 0 ãªãã«ã¼ã */
+
+	Asm("sil_dly_nse_2:");
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ã¯ãã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ãæ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã«
+ *  å¼ãç¶ãããããã®ãããã¿ã¹ã¯ãå®è¡ä¸­ã«ãå¥ã®ã¿ã¹ã¯ã«ãã£ã¦å²è¾¼ã¿ãã¹ã¯ã
+ *  å¤æ´ãããå ´åããããJSPã«ã¼ãã«ã§ã¯ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦ç
+ *  ã«ã¼ãã³ã«ãã£ã¦ãèµ·ããããããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æã
+ *  ãããå²è¾¼ã¿ãã¹ã¯ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ã
+ *  dis_dsp ãä½µç¨ããã°ããã
+ *  MIPS3ã¿ã¼ã²ããã§ã¯ãMIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯ã ãã§ãªããå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ *  ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãæ±ã£ã¦ããã®ã§æ³¨æã
+ */
+
+SYSCALL ER chg_ipm(IPM ipm) {
+
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_IPM(ipm);
+
+	t_lock_cpu();
+	cpu_set_ipm( ipm.core );	/* MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯ã®è¨­å® */
+	icu_set_ipm( &(ipm.icu) );	/* å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯
+					   ã®è¨­å® */
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER get_ipm(IPM *p_ipm) {
+
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	p_ipm->core = cpu_get_ipm();	/* MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯åç
+§ */
+	icu_get_ipm(&(p_ipm->icu));	/* å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯
+					   ã®åç
+§ */
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*
+ * ãã³ãã©ãç»é²ããã¦ããªãå²è¾¼ã¿ã»ä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void cpu_experr( EXCSTACK *sp, UW SR, UW CR) {
+
+    syslog_0(LOG_EMERG, "Interrupt/Exception error occurs.");
+
+    syslog_1(LOG_EMERG, "PC(EPC;CP0_r14) = 0x%08x",
+    			sp->CP0_EPC);
+    syslog_2(LOG_EMERG, "SR(Status;CP0_r12) = 0x%08x CR(Cause;CP0_r13) = 0x%08x",
+    			SR, CR);	/* SRã§ããsp->CP0_Statusã§ãå¯ */
+    syslog_3(LOG_EMERG, "at(r1 ) = %08x v0(r2 ) = %08x v1(r3 ) = %08x",
+    			sp->at, sp->v0, sp->v1);
+    syslog_4(LOG_EMERG, "a0(r4 ) = %08x a1(r5 ) = %08x a2(r6 ) = %08x a3(r7 ) = %08x",
+    			sp->a0, sp->a1, sp->a2, sp->a3);
+    syslog_4(LOG_EMERG, "t0(r8 ) = %08x t1(r9 ) = %08x t2(r10) = %08x t3(r11) = %08x",
+    			sp->t0, sp->t1, sp->t2, sp->t3);
+    syslog_4(LOG_EMERG, "t4(r12) = %08x t5(r13) = %08x t6(r14) = %08x t7(r15) = %08x",
+    			sp->t4, sp->t5, sp->t6, sp->t7);
+    syslog_2(LOG_EMERG, "t8(r24) = %08x t9(r25) = %08x",
+    			sp->t8, sp->t9);
+    syslog_2(LOG_EMERG, "HI = %08x LO = %08x",
+    			sp->hi, sp->lo);
+    syslog_4(LOG_EMERG, "gp(r28) = %08x sp(r29) = %08x fp(r30) = %08x ra(r31) = %08x",
+    			sp->gp, sp->sp, sp->fp, sp->ra);
+    while(1);
+}
+
+/*
+ *  ã¡ã¢ãªãã­ãã¯æä½ã©ã¤ãã©ãªï¼ãªã³ã¯ã¹ã¯ãªããå
+ã§ä½¿ç¨ï¼
+ *	(ItIsããã®æµç¨)
+ *
+ *  é¢æ°ã®ä»æ§ã¯ï¼ANSI C ã©ã¤ãã©ãªã®ä»æ§ã¨åãï¼æ¨æºã©ã¤ãã©ãªã®ãã®ã
+ *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ */
+VP _dummy_memcpy(VP dest, VP src, UINT len) {
+
+	VB	*d = dest;
+	VB	*s = src;
+
+	while (len-- > 0) {
+		*d++ = *s++;
+	}
+
+	return(dest);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_config.h	(revision 26)
@@ -0,0 +1,316 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#include <cpu_insn.h>
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#ifndef _MACRO_ONLY
+
+/*  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©  */
+typedef struct task_context_block {
+        VP	sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP	pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+#endif /* _MACRO_ONLY */
+
+/*  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©  */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *    å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨ãã«ã¯
+ *    ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ããã
+ */
+Inline BOOL sense_context() {
+
+	UW intnest;
+
+	Asm("move %0, "str_k0 :"=r"(intnest));
+
+	return(intnest > 0);
+}
+
+Inline BOOL sense_lock() {
+
+	return(!(current_sr() & SR_IE));
+}
+
+#endif /* _MACRO_ONLY */
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *    CPUã­ãã¯ç¶æ
+ã®å¤æ­ã¯ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®IEããããç¨ãã¦å¤æ­ãã¦ããã
+ */
+
+#ifndef _MACRO_ONLY
+
+Inline void t_lock_cpu() {
+
+	disint();		/* cpu_insn.h */
+}
+
+Inline void t_unlock_cpu() {
+
+	enaint();		/* cpu_insn.h */
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+#define i_lock_cpu	t_lock_cpu
+#define i_unlock_cpu	t_unlock_cpu
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *    dispatch ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çå
+ã§ã
+ *    CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *    exit_and_dispatch ã¯ãCPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*  å²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿ãã¹ã¯æ¬ä¼¼ãã¼ãã«  */
+extern INT_TABLE int_table[ TMAX_ALL_INTNO ];
+
+/*  ä¾å¤ãã³ãã©æ¬ä¼¼ãã¼ãã«  */
+extern FP	 exc_table[ TMAX_CORE_EXCNO ];
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå·(å²è¾¼ã¿è¦å çªå·)intno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ãinthdrã«è¨­å®ã
+ */
+
+Inline void define_inh(INTNO intno, FP inthdr) {
+
+	int_table[intno].inthdr = inthdr;
+}
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+Inline void define_exc(EXCNO excno, FP exchdr) {
+
+	exc_table[excno] = exchdr;
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define	INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define	EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+#define	EXC_ENTRY(exchdr)     exchdr
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å¥
+ */
+Inline BOOL exc_sense_context(VP p_excinf) {
+
+	UW  nest;
+
+	Asm( "move %0, "str_k0 : "=r"(nest) );
+
+	return( nest > 1 );
+		/* 1ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®åã ãå²è¾¼ã¿ãã¹ã
+		   ã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã */
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL exc_sense_lock(VP p_excinf) {
+
+	/* Statusã¬ã¸ã¹ã¿ã¯ãã¹ã¿ãã¯ã«22çªç®ã«ç©ã¾ãã¦ããã
+	   exc_stack(mips3.h), cpu_support.S åç
+§ */
+	return( !( *((UW *)p_excinf + 21) & SR_IE) );
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ã¯ãªããç¬èªã®é¨å  */
+
+/*  ãã­ã»ããµã³ã¢ï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®ãã§ãã¯  */
+#define CHECK_IPM(ipm)	     CHECK_CORE_IPM( (ipm.core >> 8) & 0xff );	\
+			     CHECK_ICU_IPM( ipm.icu )
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®ï¼å
+±éé¨ããã¯å¼ã³åºãããªãï¼
+ */
+
+Inline void all_set_ilv(INTNO intno, IPM *ipm) {
+
+	/*  MIPSã³ã¢ã® intmask ãã¼ãã«ã®è¨­å®  */
+	int_table[intno].intmask = SR_BEV | (ipm->core) | SR_IE;
+			/* å²è¾¼ã¿ãã¯ã¿ããkseg1ã«æã£ã¦ãããããBEV=1 */
+
+	/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãã¼ãã«ã®è¨­å®  */
+	/*  ï¼å²è¾¼ã¿ã¬ãã«ã®è¨­å®ï¼  */
+	icu_set_ilv( intno, &(ipm->icu) );
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã­ã°åºåç¨ã®é¢æ°
+ */
+
+#ifndef _MACRO_ONLY
+
+/* ç»é²ããã¦ããªãå²è¾¼ã¿ã»ä¾å¤çºçæã®ã­ã°åºå (cpu_config.c, cpu_support.S) */
+extern void     cpu_experr( EXCSTACK *sp, UW SR, UW CR );
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_context.h	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void create_context(TCB *tcb) {
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ */
+extern void	activate_r(void);	/*  cpu_support.S  */
+
+Inline void activate_context(TCB *tcb) {
+
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.S  */
+}
+
+/*  calltex ã¯ä½¿ç¨ããªã  */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_defs.h	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼MIPS3ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#define MIPS3
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2003 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;			/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;			/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+
+/* MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯ã®åå®ç¾© (åæå¤ã¯ã·ã¹ãã ä¾å­é¨ã«è¨è¿°) */
+typedef	UW	CORE_IPM;
+
+/* å²è¾¼ã¿ãã¹ã¯ã®å */
+typedef	struct {
+	CORE_IPM	core;	/*  MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯  */
+	ICU_IPM		icu;	/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯  */
+} IPM;
+
+/* å²è¾¼ã¿ãã¹ã¯æä½ç¨ã®é¢æ° */
+extern ER	chg_ipm(IPM p_ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ */
+extern ER	get_ipm(IPM *p_ipm) throw();	/* å²è¾¼ã¿ãã¹ã¯ã®åå¾ */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ *    MIPS3ã§ã¯ãå
+¨ã¦ã®å²ãè¾¼ã¿ãã«ã¼ãã«ç®¡çå
+ãªã®ã§ã
+ *      å²è¾¼ã¿ã­ãã¯ç¶æ
+ = CPUã­ãã¯ç¶æ
+
+ *    ã¨ãªãããã®ãã¯ã­ã®å
+å®¹ã¯ãæ¨æºã«æä¾ããã¦ãããã®ãä½¿ãã
+ *    (ãããåå¥ã«å®ç¾©ããããã¨ãããªãã°ãä¸è¨ã®ããã«ãªãã)
+ */
+/*
+#define	SIL_PRE_LOC
+#define	SIL_LOC_INT()	t_lock_cpu()
+#define	SIL_UNL_INT()	t_unlock_cpu()
+*/
+/*============================================================================*/
+/*  å
+±éãã­ã¥ã¡ã³ãã«ç¡ãå®ç¾©  */
+
+/*  å
+¨ä½ã®å²è¾¼ã¿ã®æ¬æ°  */
+#define TMAX_ALL_INTNO	(TMAX_CORE_INTNO + TMAX_ICU_INTNO)
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿ãã¹ã¯æ¬ä¼¼ãã¼ãã«ç¨ã®å  */
+typedef struct {
+	FP		inthdr;		/*  å²è¾¼ã¿ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹  */
+	CORE_IPM	intmask;	/*  MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯  */
+} INT_TABLE;
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_insn.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#include <mips3.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/* ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã */
+Inline UW current_sr(void) {
+
+	UW	sr;
+
+	Asm( "mfc0 %0, "str_Status : "=r"(sr) );
+
+	return( sr );
+}
+
+
+/* ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´ */
+Inline void set_sr(UW sr) {
+
+	Asm( "mtc0 %0, "str_Status : : "r"(sr) );
+}
+
+
+/* NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ */
+Inline void disint(void) {
+
+	set_sr( (current_sr() & ~SR_IE) );
+}
+
+
+/* å²è¾¼ã¿ãè¨±å¯ */
+Inline void enaint() {
+
+	set_sr( (current_sr() | SR_IE) );
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãªï¼MIPS3ã³ã¢ç¨ï¼
+ */
+
+/* å²è¾¼ã¿ãã¹ã¯ã®è¨­å® */
+Inline void cpu_set_ipm(CORE_IPM intmask) {
+
+	set_sr( (CORE_IPM) ((current_sr() & ~SR_IM) | intmask) );
+}
+
+/* å²è¾¼ã¿ãã¹ã¯ã®èª­åºã */
+Inline CORE_IPM cpu_get_ipm() {
+
+	return( (CORE_IPM)  (current_sr() &  SR_IM) );
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.def	(revision 26)
@@ -0,0 +1,9 @@
+activate_r
+ret_int
+ret_exc
+int_intmask
+general_exception
+cpu_experr
+join_interrupt_and_exception
+exc_table
+int_table
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_rename.h	(revision 26)
@@ -0,0 +1,29 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define int_intmask		_kernel_int_intmask
+#define general_exception	_kernel_general_exception
+#define cpu_experr		_kernel_cpu_experr
+#define join_interrupt_and_exception	_kernel_join_interrupt_and_exception
+#define exc_table		_kernel_exc_table
+#define int_table		_kernel_int_table
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _int_intmask		__kernel_int_intmask
+#define _general_exception	__kernel_general_exception
+#define _cpu_experr		__kernel_cpu_experr
+#define _join_interrupt_and_exception	__kernel_join_interrupt_and_exception
+#define _exc_table		__kernel_exc_table
+#define _int_table		__kernel_int_table
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_support.S	(revision 26)
@@ -0,0 +1,678 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"
+#include "offset.h"
+
+	.section .text
+	.align 2
+
+	.set noat
+		/* atã¬ã¸ã¹ã¿ãå©ç¨ããã¨ãã«ã¯ã¼ãã³ã°ãåºåããªãããæå® */
+	.set noreorder
+
+/*
+ *  ä¾å¤/å²ãè¾¼ã¿åºå
+¥å£å¦çã«ã¼ãã³ï¼ä¸è¬ä¾å¤ï¼
+ *
+ *  ä»æ§ï¼
+ *  ã»CPUä¾å¤ãã³ãã©ã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããã
+ *  ã»k0 ã¬ã¸ã¹ã¿ããå²è¾¼ã¿ï¼ä¾å¤ãã¹ãã«ã¦ã³ã¿ã¨ãã¦ä½¿ç¨ããã
+ *  ã»reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ãreqflg ããã§ãã¯å¾ã«èµ·åã
+ *    ããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ãã£ã¹ããããããªãã
+ *  ã»å²è¾¼ã¿è¨±å¯ï¼ä¸è¨±å¯ã®å¦çã¯ãEXLããããç¨ãã¦è¡ãã
+ *    ããã¯ãå¼åºå
+ã®ã³ã³ãã­ã¹ãã® CPUã­ãã¯ç¶æ
+ãä¿å­ããããã§ããã
+ *    ãã ããå
+±éé¨ã«å¦çãç§»è¡ããå ´åã«ã¯IEããããç¨ãã¦ãå²è¾¼ã¿è¨±å¯ï¼ä¸è¨±å¯
+ *    ãå®ç¾ããå¿
+è¦ãããããã«ãIEãããã«ããå²è¾¼ã¿è¨±å¯ï¼ä¸è¨±å¯ã«å¤æ´ãã¦ãã
+ *    äºã«æ³¨æã
+ *    ï¼ä¾ï¼é
+å»¶ãã£ã¹ãããã®å¦çã«å
+¥ãç´åãã¿ã¹ã¯ä¾å¤å¦çãå¼åºãç´åï¼
+ *
+ *  Cè¨èªã«ã¼ãã³ã§long longåãä½¿ãå ´åã¯ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ãdouble wordã§è¡
+ *  ãã¹ãã ããä½¿ç¨é »åº¦ãä½ãã®ã¨ãåºå
+¥å£å¦çã®ãªã¼ãã¼ããããèãã¦ãwordã§å¾
+
+ *  é¿ï¼å¾©å
+ãè¡ã£ã¦ãããå°æ¥çã«ã¯å¾
+é¿ãããã¼ã¿ãµã¤ãºãã¿ã¹ã¯å±æ§ã§æå®ã§ãã
+ *  ããã«ããäºå®
+ */
+
+	.global general_exception
+	.global join_interrupt_and_exception
+		/* é¢æ°å¼åº(proc_interrupt_sys)æã«å¿
+è¦ */
+
+general_exception:
+	addi    sp, sp, -25*4
+	sw      sp,  0*4(sp)		/* EXCSTACKæ§é ä½ç¨(cpu_experré¢æ°ç¨) */
+	sw      at,  1*4(sp)
+	sw      v0,  2*4(sp)
+	sw      v1,  3*4(sp)
+	sw      a0,  4*4(sp)
+	sw      a1,  5*4(sp)
+	sw      a2,  6*4(sp)
+	sw      a3,  7*4(sp)
+	sw      t0,  8*4(sp)
+	sw      t1,  9*4(sp)
+	sw      t2, 10*4(sp)
+	sw      t3, 11*4(sp)
+	sw      t4, 12*4(sp)
+	sw      t5, 13*4(sp)
+	sw      t6, 14*4(sp)
+	sw      t7, 15*4(sp)
+	sw      t8, 16*4(sp)
+	sw      t9, 17*4(sp)
+	sw      gp, 18*4(sp)
+	sw      fp, 19*4(sp)
+	sw      ra, 20*4(sp)
+
+	mfc0    a1, Status		/* a1 -> ä¾å¤å¦çã§ä½¿ã */
+	mfc0    t1, EPC
+
+	sw      a1, 21*4(sp)		/* Status */
+	sw      t1, 22*4(sp)		/* EPC */
+
+	mfhi    t2			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ HI ã®å¾
+é¿ */
+	mflo    t3			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ LO ã®å¾
+é¿ */
+
+	sw      t2, 23*4(sp)		/* HI */
+	sw      t3, 24*4(sp)		/* LO */
+
+	move	a0, sp			/* ä¾å¤ãã³ãã©ã®å¼æ°è¨­å® */
+		/* å¼æ°ã¯ãä¾å¤çºçæã®ãã¼ã¿ãéé¿ããã¹ã¿ãã¯é åã¸ã®ãã¤ã³ã¿
+		   å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¼ã¿ãå«ããã¨è¤éã«ãªãããã
+		   å¯¾è±¡ã¯MIPS3ã³ã¢ã®ã¬ã¸ã¹ã¿é¨åã®ã¿ã¨ããã */
+
+	PUSH_ICU_IPM			/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®
+					   å¾
+é¿ãã¯ã­(ã·ã¹ãã ä¾å­é¨ã§å®ç¾©) */
+
+	bgtz    k0, multipul_exception  /*  åæ®µã®ä¾å¤ã¨å¤éä¾å¤ã®å¤å¥ */
+	addi    k0, k0, 1               /* ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã */
+
+/* åæ®µã®ä¾å¤ã®å ´å */
+first_exception:
+	la      t3, _stack_top		/* _stack_top ã¯ãã·ã¹ãã ä¾å­é¨
+					   (ãªã³ã«ã¹ã¯ãªããæ¨å¥¨)å®ç¾© */
+					/* ã¹ã¿ãã¯ãã¤ã³ã¿ã®æ¸ç®(t3=t3-4)ã¯ã
+					   _stack_top è¨­å®æã«è¡ã£ã¦ããã®ã§ã
+					   ããã§ã¯ä¸è¦ */
+	sw      sp, (t3)		/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­ */
+	move    sp, t3			/* ã¹ã¿ãã¯åãæ¿ã */
+
+	jal     proc_interrupt_and_exception	/* å²è¾¼ã¿ã¨ä¾å¤ã®å¤å¥å¦çã¸ */
+	nop
+
+	/*  å²è¾¼ã¿ç¦æ­¢ã§æ»ã£ã¦ãã  */
+	la      t2, reqflg
+	lw      t3, (t2)		/* t3 = reqflg */
+	lw      sp, (sp)		/* ã¹ã¿ãã¯åãæ¿ã */
+	beq     t3, zero, ret_to_task_int	/* ãã£ã¹ãããè¦æ±ããªãå ´å */
+	nop
+
+	j       ret_int			/* å²è¾¼ã¿ï¼ä¾å¤ã®åºå£å¦çã¸ */
+	sw      zero, (t2)		/* reqflg ã®ã¯ãªã¢ */
+
+/* å¤éä¾å¤ï¼å¤éå²è¾¼ã¿ï¼ã®å ´å (ä¾å¤ãã³ãã©ã®å¼æ°ã¯æ¢ã« a0 ã«è¨­å®æ¸ã¿) */
+multipul_exception:
+	jal     proc_interrupt_and_exception	/* å²è¾¼ã¿ã¨ä¾å¤ã®å¤å¥å¦çã¸ */
+	nop
+
+/* ãã£ã¹ãããã£ãå¼ã°ãã«åç´ã«å²è¾¼ã¿å
+ï¼ä¾å¤çºçå
+ï¼ã«æ»ãå ´å */
+ret_to_task_int:
+	POP_ICU_IPM			/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®
+					   å¾©å¸°ãã¯ã­(ã·ã¹ãã ä¾å­é¨ã§å®ç¾©) */
+
+	lw      t0, 23*4(sp)		/* HI */
+	lw      t1, 24*4(sp)		/* LO */
+
+	mthi    t0			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ HI ã®å¾©å
+ */
+	mtlo    t1			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ LO ã®å¾©å
+ */
+
+/*  ä¿çï¼long longåãä½¿ç¨ããå ´å  */
+	lw      t0, 21*4(sp)    	/* Status */
+	lw      t1, 22*4(sp)		/* EPC */
+
+	lw      at,  1*4(sp)
+	lw      v0,  2*4(sp)
+	lw      v1,  3*4(sp)
+	lw      a0,  4*4(sp)
+	lw      a1,  5*4(sp)
+	lw      a2,  6*4(sp)
+	lw      a3,  7*4(sp)
+
+	/*
+	 *  å¤éä¾å¤æãªã®ã§ãã¿ã¹ã¯ã¹ã¤ããããªãå ´åãªã®ã§ãã¿ã¹ã¯ã³ã³ãã­ã¹ã
+	 *  ã®å²è¾¼ã¿ãã¹ã¯ãå¤æ´ããã¦ããå¿é
+ã¯ãªãã
+	 *  ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã¯å
+ã®å¤ããã®ã¾ã¾æ¸ãæ»ãï¼
+	 */
+	mtc0    t0, Status
+	mtc0    t1, EPC
+
+	lw      t0,  8*4(sp)
+	lw      t1,  9*4(sp)
+	lw      t2, 10*4(sp)
+	lw      t3, 11*4(sp)
+	lw      t4, 12*4(sp)
+	lw      t5, 13*4(sp)
+	lw      t6, 14*4(sp)
+	lw      t7, 15*4(sp)
+	lw      t8, 16*4(sp)
+	lw      t9, 17*4(sp)
+	lw      gp, 18*4(sp)
+	lw      fp, 19*4(sp)
+	lw      ra, 20*4(sp)
+
+	addi    sp, sp, 25*4		/* ERET å½ä»¤ã¯ãç´å¾ã®å½ä»¤ãå®è¡ããªã
+					   ã®ã§é
+å»¶ã¹ã­ããã«ã¯å
+¥ããããªãã*/
+
+	eret				/* ä¾å¤ããã®å¾©å¸° */
+	nop
+
+/*
+ *  å²è¾¼ã¿ã¨ä¾å¤ã®å¤å¥å¦çé¢æ°
+ *    ä»¥ä¸ã®ã¬ã¸ã¹ã¿ã«å¤ãä»£å
+¥æ¸ã¿
+ *      a0 : ä¾å¤ãã³ãã©ã®å¼æ°, a1 : ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
+ */
+proc_interrupt_and_exception:
+	addi    sp, sp, -4
+	sw      ra, 0(sp)
+
+	mfc0    a2, Cause
+	andi    t2, a2, ExcCode_mask
+	beq     t2, zero, proc_interrupt        /* å²è¾¼ã¿ã¨ä¾å¤ã®å¤å¥ */
+		/* ããããç´æ¥proc_interrupt_sysã¸é£ã³ããããå±ããªã
+		   å¯è½æ§ãããã®ã§ãä¸åº¦proc_interruptã«é£ã¶ã */
+	nop
+
+/* å²è¾¼ã¿ä»¥å¤ã®ä¾å¤ã®å¦ç */
+	la      t4, exc_table
+         	              		/* a1 = Status  */
+	ori     t5, a1, SR_EXL
+	xori    t5, t5, SR_EXL		/* EXLãããã¯ãªã¢ */
+		/* å²è¾¼ã¿ä»¥å¤ã®ä¾å¤ã¯CPUã­ãã¯ç¶æ
+ã§ãåãä»ããã®ã§ãCPUã­ãã¯
+		   ç¶æ
+ãä¿å­ããå¿
+è¦ãããããã®ããIEãããã¯æä½ããã«ãå²ã
+		   è¾¼ã¿ç¦æ­¢ã»è¨±å¯ã¯EXLããããç¨ãã¦å®ç¾ãã */
+	add     t6, t4, t2		/* ä¾å¤ã³ã¼ãå¯¾å¿ã¢ãã¬ã¹ã®è¨­å® */
+	lw      t7, (t6)		/* Cè¨èªã«ã¼ãã³ã®å¼åºã¢ãã¬ã¹åå¾ */
+	jalr    t7			/* Cè¨èªã«ã¼ãã³å¼ã³åºã */
+	mtc0    t5, Status		/* å²è¾¼ã¿è¨±å¯ (EXLããã = 0) */
+
+	mfc0    t0, Status
+	ori     t0, t0, SR_EXL
+	mtc0    t0, Status              /* å²è¾¼ã¿ç¦æ­¢ (EXLããã = 1) */
+
+	NOP_FOR_CP0_HAZARD		/* CP0ãã¶ã¼ãã®ããã®æéç¨¼ããã¯ã­
+					   (ãã®ãã¯ã­ã¯ã·ã¹ãã ä¾å­é¨å®ç¾©) */
+
+	j       join_interrupt_and_exception	/* ä¾å¤ã»å²è¾¼ã¿ã®åæµå°ç¹ã¸ */
+	nop
+
+/* å²è¾¼ã¿ã®å ´åã®å¦ç */
+proc_interrupt:
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å¤æ§æ§ã«å¯¾å¿ãããããå®è£
+ã¯ã·ã¹ãã ä¾å­é¨ã§è¡ãã
+ *    å®è£
+æ¹æ³ã¯ã
+ *	ãã¯ã­ï¼PROC_INTERRUPT_SYSï¼ã¾ãã¯ãé¢æ°å¼åº(proc_interrupt_sys)
+ *    ã¨ããã
+ *
+ *  ã»å¼åºæã«ã»ããããã¦ããå¼æ°
+ *	a1 : ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
+ *	a2 : åå ã¬ã¸ã¹ã¿
+ *
+ *  ã»å®è£
+æã«ã¯ãraã¬ã¸ã¹ã¿ãç ´å£ãã¦ã¯ãªããªãã
+ *
+ *  ã»å®è£
+ããå
+·ä½çãªå¦çã®æµãï¼
+ *	1. å²è¾¼ã¿è¦å ã®å¤å¥
+ *	2. å²è¾¼ã¿ãã¹ã¯ï¼ã³ã¢ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ï¼ã®è¨­å®
+ *	3. å²è¾¼ã¿è¨±å¯
+ *	4. ï¼£è¨èªã«ã¼ãã³ã®å¼åº
+ *	5. å²è¾¼ã¿ç¦æ­¢
+ *	6. å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *     (7. join_interrupt_and_exceptionã«æ»ãã; é¢æ°å¼åºã®å ´å)
+ */
+
+#ifdef PROC_INTERRUPT_SYS
+	PROC_INTERRUPT_SYS
+#else /* PROC_INTERRUPT_SYS */
+	j	proc_interrupt_sys
+	nop
+#endif /* PROC_INTERRUPT_SYS */
+
+/* ä¾å¤ã»å²è¾¼ã¿å¦çã®åæµå°ç¹ */
+join_interrupt_and_exception:
+	addi	k0, k0, -1		/* ãã¹ãã«ã¦ã³ã¿ ãã£ã¯ãªã¡ã³ã */
+	lw      ra, (sp)		/* ra ãå¾©å
+ */
+	jr      ra			/* proc_interrupt_and_exeption ã®å¼åºå
+
+					   ã«æ»ã */
+	addi    sp, sp, 4
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ *  æ»ãå
+ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§reqflgãã»ããããã¦ããå ´åã®ã¿ãããã«ããã
+ *  ã»k0 = 0ãå²è¾¼ã¿ç¦æ­¢ç¶æ
+ãæ±ç¨ã¬ã¸ã¹ã¿ãä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+ *  ã»t1ã«runtskã®å¤ãå
+¥ãã¦ããret_int_1ã«ã¸ã£ã³ããããã¨ã
+ */
+
+ret_int:
+	POP_ICU_IPM			/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®
+					   å¾©å¸°ãã¯ã­(ã·ã¹ãã ä¾å­é¨ã§å®ç¾©) */
+
+	lw      t1, 21*4(sp)		/* Status */
+	ori	t1, t1, SR_EXL		/* å²è¾¼ã¿å¦çã«å
+¥ãã¨ãã®ãCPUã­ãã¯
+					   ç¶æ
+ãä¿æãããã®ã§ãå²è¾¼ã¿ç¦æ­¢ã¯
+					   EXLããããç¨ãã¦è¡ãã */
+	mtc0    t1, Status		/* MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯ã®å¾©å¸°
+					    + EXLãããã«ããå²è¾¼ã¿ç¦æ­¢ */
+
+	la      t0, enadsp
+	la      t3, runtsk
+	lw      t2, (t0)		/* t2 = enadsp */
+	lw      t1, (t3)		/* t1 = runtsk */
+ 	beq     t2, zero, ret_int_1	/* ãã£ã¹ãããç¦æ­¢ãªãã¸ã£ã³ã */
+	nop
+	la      t4, schedtsk
+	lw      t5, (t4)		/* t5 = schedtsk */
+	beq     t1, t5, ret_int_1	/* runtsk = schedtsk ãªãã¸ã£ã³ã */
+	nop
+
+/* ãã£ã¹ãããã£ãçµç±ããå ´åã®å¦ç (t1 = runtsk ã«æ³¨æ) */
+	/* ãããããå²è¾¼ã¿ç¦æ­¢ï¼è¨±å¯ããEXLããããç¨ãã¦å®ç¾ããæ¹æ³ã«å¤æ´ */
+	mfc0	t0, Status
+	ori	t0, t0, SR_EXL_IE
+	xori	t0, t0, SR_EXL_IE	/* lock_cpu ç¸å½ (å²è¾¼ã¿ç¦æ­¢)
+					    + EXLãããã¯ãªã¢ (å²è¾¼ã¿è¨±å¯) */
+	mtc0	t0, Status
+
+	addi    sp, sp, -8*4		/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®ä¿å­ */
+	sw      s0, 0*4(sp)
+	sw      s1, 1*4(sp)
+	sw      s2, 2*4(sp)
+	sw      s3, 3*4(sp)
+	sw      s4, 4*4(sp)
+	sw      s5, 5*4(sp)
+	sw      s6, 6*4(sp)
+	sw      s7, 7*4(sp)
+					/* t1 = runtsk ã«æ³¨æ  */
+	sw      sp, TCB_sp(t1)		/* runtsk->sp = sp
+					   (ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­) */
+	la      t2, ret_int_r
+
+	j       dispatcher		/* ãã£ã¹ãããã£å¼ã³åºã */
+	sw      t2, TCB_pc(t1)		/* runtsk->pc = ret_int_r
+					   (å®è¡åéçªå°ã®ä¿å­) */
+
+/*
+ * å²è¾¼ã¿ã»ä¾å¤ã®åºå£å¦ç
+ *   ã»ãã£ã¹ãããã£å¦çã«ããã¦ãt1 = runtsk ã¨ãªã£ã¦ãããã¨ã«æ³¨æ
+ *   ã»ã¹ã¿ãã¯ãã¤ã³ã¿ãè¨­å®æ¸ã¿
+ */
+/* ãã£ã¹ãããã£å¼ã³åºãå¾ã®ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®åæµå°ç¹ */
+ret_int_r:
+	lw      s0, 0*4(sp)		/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾©å
+ */
+	lw      s1, 1*4(sp)
+	lw      s2, 2*4(sp)
+	lw      s3, 3*4(sp)
+ 	lw      s4, 4*4(sp)
+	lw      s5, 5*4(sp)
+	lw      s6, 6*4(sp)
+	lw      s7, 7*4(sp)
+	addi    sp, sp, 8*4
+
+	mfc0	t0, Status
+	ori	t0, t0, SR_EXL_IE	/* unlock_cpu ç¸å½ (å²è¾¼ã¿è¨±å¯)
+					    + EXLãããã»ãã (å²è¾¼ã¿ç¦æ­¢) */
+	mtc0	t0, Status
+
+/* ãã£ã¹ãããã£ãçµç±ããªãå ´åã®åæµå°ç¹ (t1 = runtsk ã«æ³¨æ) */
+ret_int_1:
+
+	/* ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯ */
+	lb      t2, TCB_enatex(t1)
+	andi    t4, t2, TCB_enatex_mask /* t3 = runtsk->enatex  */
+	beq     t4, zero, ret_int_2     /* ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ã®æãã¸ã£ã³ã */
+	nop
+
+	lw      t5, TCB_texptn(t1)      /* t5 = runtsk->texptn */
+	beq     t5, zero, ret_int_2	/* ã¿ã¹ã¯ä¾å¤è¦æ±ãç¡ãæãã¸ã£ã³ã */
+	nop
+
+	mfc0	t0, Status
+	ori	t0, t0, SR_EXL_IE
+	xori	t0, t0, SR_EXL_IE	/* lock_cpuç¸å½ (å²è¾¼ã¿ç¦æ­¢)
+					    + EXLãããã¯ãªã¢ (å²è¾¼ã¿è¨±å¯) */
+	mtc0	t0, Status
+
+	jal     call_texrtn             /* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³(ã¿ã¼ã²ããé
+					   ä¾å­é¨å®ç¾©)ã®å¼ã³åºã */
+	nop
+		/* call_texrtn()(task.c)ã§ã¯ãå®éã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å¼ã³
+		   åºãåå¾ã§ãunlock_cpuãlock_cpuå¦çãè¡ã£ã¦ããã®ã§ãç¶æ
+ã¯
+		   ä¿æãããã */
+
+	mfc0	t0, Status
+	ori	t0, t0, SR_EXL_IE	/* unlock_cpu ç¸å½ (å²è¾¼ã¿è¨±å¯)
+					    + EXLãããã»ãã (å²è¾¼ã¿ç¦æ­¢) */
+	mtc0	t0, Status
+	/* ããã¾ã§ããå²è¾¼ã¿ç¦æ­¢ï¼è¨±å¯ããEXLããããç¨ãã¦å®ç¾ããæ¹æ³ */
+
+ret_int_2:
+	/* ã¬ã¸ã¹ã¿ã®å¾©å¸° (Statusã¬ã¸ã¹ã¿ã¯ãæ¢ã«å¾©å
+æ¸ã¿) */
+	lw      t1, 22*4(sp)		/* EPC */
+	mtc0    t1, EPC
+
+	lw      t2, 23*4(sp)		/* HI */
+	lw      t3, 24*4(sp)		/* LO */
+
+	mthi    t2			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ HI ã®å¾©å
+ */
+	mtlo    t3			/* ä¹é¤ç®ã¬ã¸ã¹ã¿ LO ã®å¾©å
+ */
+
+	lw      at,  1*4(sp)
+	lw      v0,  2*4(sp)
+	lw      v1,  3*4(sp)
+	lw      a0,  4*4(sp)
+	lw      a1,  5*4(sp)
+	lw      a2,  6*4(sp)
+	lw      a3,  7*4(sp)
+	lw      t0,  8*4(sp)
+	lw      t1,  9*4(sp)
+	lw      t2, 10*4(sp)
+	lw      t3, 11*4(sp)
+	lw      t4, 12*4(sp)
+	lw      t5, 13*4(sp)
+	lw      t6, 14*4(sp)
+	lw      t7, 15*4(sp)
+	lw      t8, 16*4(sp)
+	lw      t9, 17*4(sp)
+
+	lw      gp, 18*4(sp)
+	lw      fp, 19*4(sp)
+	lw      ra, 20*4(sp)
+
+	addi    sp, sp, 25*4
+
+	eret				/* å²è¾¼ã¿/ä¾å¤å¦çããã®å¾©å¸° */
+	nop
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *  ã»dispatch ã¯ãk0 = 0ãCPUã­ãã¯(å²è¾¼ã¿ç¦æ­¢)ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãã
+ *  ã»exit_and_dispatch ã¯ï¼k0 = 0ãCPUã­ãã¯(å²è¾¼ã¿ç¦æ­¢)ç¶æ
+ã§å¼ã³åºãã®ãåå
+ *    ããããã«ã¼ãã«èµ·åå¦çã®ããï¼k0 = 1ã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããã
+ */
+
+	.global dispatch
+	.global exit_and_dispatch
+
+/* ã¿ã¹ã¯ãã£ã¹ãããã£ãæç¤ºçã«å¼ã³åºãæ */
+dispatch:
+	addi    sp, sp, -13*4
+	sw      at,  1*4(sp)		/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾
+é¿ */
+	sw      s0,  2*4(sp)
+	sw      s1,  3*4(sp)
+	sw      s2,  4*4(sp)
+	sw      s3,  5*4(sp)
+	sw      s4,  6*4(sp)
+	sw      s5,  7*4(sp)
+	sw      s6,  8*4(sp)
+	sw      s7,  9*4(sp)
+	sw      gp, 10*4(sp)
+	sw      fp, 11*4(sp)
+	sw      ra, 12*4(sp)
+
+	la      t0, runtsk
+	la      t2, dispatch_r
+	lw      t1, (t0)		/* t1 = runtsk */
+	sw      sp, TCB_sp(t1)		/* runtsk->sp = sp */
+	j       dispatcher
+	sw      t2, TCB_pc(t1)		/* runtsk->pc = dispatch_r */
+
+/* ç¾å¨å®è¡ä¸­ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã¿ã¹ã¯ãã£ã¹ãããã£ãå¼ã³åºãæ */
+exit_and_dispatch:
+	move    k0, zero		/* ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ */
+
+dispatcher:
+	/* ããã«ã¯ CPUã­ãã¯ï¼å²ãè¾¼ã¿ç¦æ­¢ï¼ã§æ¥ããã¨ */
+	la      t0, schedtsk
+	lw      t1, (t0)		/* t1 = schedtsk */
+	beq     t1, zero, dispatcher_2	/* schedtsk ãç¡ããã°å²è¾¼ã¿å¾
+ã¡ã¸ */
+	nop
+
+dispatcher_1:
+	la      t0, runtsk
+	sw      t1, (t0)		/* runtsk = t1 (= schedtsk)
+					   (ã¿ã¹ã¯ã¹ã¤ããã®å®è¡) */
+	lw      t2, TCB_pc(t1)		/* å®è¡åéçªå°ãåå¾ããã
+					   å®è¡åéçªå°ã¯ä»¥ä¸ã®3éã
+					     ã»ãã£ã¹ãããã£ã®åºå£  dispatch_r
+					     ã»å²è¾¼ã¿ï¼ä¾å¤ã®åºå£    ret_int_r
+					     ã»ã¿ã¹ã¯èµ·åç´å¾        activate_r
+					   ãããã®å ´åã t1=runtsk ã¨ãã¦å¼ã³
+					   åºãã¦ãããã¨ã«æ³¨æã */
+	jr      t2			/* å®è¡åéçªå°ã¸ã¸ã£ã³ã */
+	lw      sp, TCB_sp(t1)		/* ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ */
+
+	/*
+	 *  å®è¡ãã¹ãã¿ã¹ã¯ãç¾ããã¾ã§å¾
+ã¤å¦ç
+	 *
+	 *  ããã§ã³ã³ãã­ã¹ããåãæããã®ã¯ï¼
+	 *    ã»ããã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±º
+	 *    ã»å²è¾¼ã¿ãã³ãã©å
+ã§ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢
+	 *  ã¨ããäºã¤ã®æå³ãããï¼
+	 */ 
+dispatcher_2:
+	la	t2, runtsk
+	sw	zero, (t2)		/* runtsk = NULL
+					   ããã¯ãiget_id ããTSK_NONEãè¿ã
+					   å ´åã«å¯¾å¿ããããã*/
+
+	la      sp, _stack_top		/* ã¹ã¿ãã¯åãæ¿ã */
+					/* _stack_top ã¯ãã·ã¹ãã ä¾å­é¨
+					   (ãªã³ã«ã¹ã¯ãªããæ¨å¥¨)å®ç¾© */
+	li      k0, 1			/* ãã¹ãã«ã¦ã³ã¿ï¼1 */
+
+	/* ã«ã¼ãå
+ã§ä½¿ãå®æ°ã®æºå */
+	la      t2, reqflg              /* reqflg ã®ã¢ãã¬ã¹ */
+	li      t3, ~SR_ERL_EXL         /* Status ã®å²è¾¼ã¿é¢é£ããã */
+	li      t4, ~SR_IE              /* Status ã®å²è¾¼ã¿è¨±å¯ããã */
+
+dispatcher_3:
+	mfc0    t1, Status
+	and     t1, t1, t3		/* ERL, EXL ãããã¯ãªã¢ */
+	ori     t1, t1, SR_IE		/* IEãããã»ãã */
+	mtc0    t1, Status		/* å²è¾¼ã¿è¨±å¯ : unlock_cpu ç¸å½ */
+	and     t1, t1, t4		/* IEããããªã»ãã */
+	mtc0    t1, Status		/* å²è¾¼ã¿ç¦æ­¢ : lock_cpu ç¸å½ */
+
+	NOP_FOR_CP0_HAZARD		/* CP0ãã¶ã¼ãã®ããã®æéç¨¼ããã¯ã­
+					   (ãã®ãã¯ã­ã¯ã·ã¹ãã ä¾å­é¨å®ç¾©) */
+
+	lw      t5, (t2)		/* t5 = reqflg */
+
+	beq     t5, zero, dispatcher_3	/* ãã£ã¹ãããè¦æ±ããªããã°ã«ã¼ãã®
+					   å
+é ­ã¸ */
+	nop
+	sw      zero, (t2)		/* reqflg = NULL (reqflgãã¯ãªã¢) */
+	j       dispatcher		/* å®è¡åéçªå°ã®åå¾å¦çã¸ã¸ã£ã³ã */
+	move    k0, zero		/* ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ */
+
+/*
+ *  ãã£ã¹ãããã£åºå£å¦ç
+ *  ã»ãã£ã¹ãããã£å¦çã«ããã¦ãt1 = runtsk ã¨ãªã£ã¦ãããã¨ã«æ³¨æ
+ *  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ãè¨­å®æ¸ã¿
+ */
+dispatch_r: 
+	lw      at,  1*4(sp)		/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+	lw      s0,  2*4(sp)
+	lw      s1,  3*4(sp)
+	lw      s2,  4*4(sp)
+	lw      s3,  5*4(sp)
+	lw      s4,  6*4(sp)
+	lw      s5,  7*4(sp)
+	lw      s6,  8*4(sp)
+	lw      s7,  9*4(sp)
+	lw      gp, 10*4(sp)
+	lw      fp, 11*4(sp)
+	lw      ra, 12*4(sp)
+	addi    sp, sp, 13*4
+
+	/* ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯ */
+	lb      t2, TCB_enatex(t1)
+	andi    t4, t2, TCB_enatex_mask	/* t4 = runtsk->enatex */
+	beq     t4, zero, dispatch_r_1	/* ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ã®æãã¸ã£ã³ã */
+	nop
+
+	lw      t5, TCB_texptn(t1)	/* t5 = runtsk->texptn */
+	beq     t5, zero, dispatch_r_1	/* ã¿ã¹ã¯ä¾å¤è¦æ±ãç¡ãæãã¸ã£ã³ã */
+	nop
+
+	j       call_texrtn		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³(ã¿ã¼ã²ããé
+					   ä¾å­é¨å®ç¾©)ã®å¼ã³åºã */
+	nop
+		/* call_texrtn()(task.c)ã§ã¯ãå®éã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å¼ã³
+		   åºãåå¾ã§ãunlock_cpuãlock_cpuå¦çãè¡ã£ã¦ããã®ã§ãç¶æ
+ã¯
+		   ä¿æãããã */
+
+dispatch_r_1:
+	jr      ra			/* dispatch å¼ã³åºãå
+ã¸æ»ã */
+	nop
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ *  ã»ãã£ã¹ãããã£å¦çã«ããã¦ãt1 = runtsk ã¨ãªã£ã¦ãããã¨ã«æ³¨æ
+ *  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ãè¨­å®æ¸ã¿
+ */
+
+	.globl activate_r
+
+activate_r:
+	/* ããã«æ¥ãã¨ãã¯ãCPUã­ãã¯ã«ãªã£ã¦ããï¼IEããã = 0) */
+
+	/* å²ãè¾¼ã¿è¨±å¯ã®æºå */
+	mfc0    t0, Status
+	ori     t0, t0, SR_ERL_EXL_IE   /* xorãä½¿ãããã1åº¦ãããã»ãããã */
+	xori    t0, t0, SR_ERL_EXL      /* ERL, EXLããããã¯ãªã¢
+					   (IEãããã¯æ®ã)  */
+
+	/* ã¿ã¹ã¯é¢ä¿ã®è¨­å®æºå */
+					/* t1 = runtsk (ãã£ã¹ãããã£ã§è¨­å®) */
+	lw      t2, TCB_tinib(t1)       /* t2 = runtsk->tinib */
+
+	/* ã¿ã¹ã¯èµ·åçªå°ã®è¨­å® */
+	lw      t3, TINIB_task(t2)      /* t3 = runtsk->tinib->task */
+
+	/* ã¿ã¹ã¯ã¸ã®å¼æ°ï¼æ¡å¼µæ
+å ±ï¼è¨­å® */
+	lw      a0, TINIB_exinf(t2)     /* a0 = runtsk->tinib->exinf */
+
+	mtc0    t0, Status              /* unlock_cpu ç¸å½ (å²è¾¼ã¿è¨±å¯) */
+
+	la      ra, ext_tsk             /* ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å® */
+
+	j       t3                      /* ã¿ã¹ã¯èµ·å */
+	nop
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/cpu_unrename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef int_intmask
+#undef general_exception
+#undef cpu_experr
+#undef join_interrupt_and_exception
+#undef exc_table
+#undef int_table
+#undef sil_dly_nse_asm
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _int_intmask
+#undef _general_exception
+#undef _cpu_experr
+#undef _join_interrupt_and_exception
+#undef _exc_table
+#undef _int_table
+#undef _sil_dly_nse_asm
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/exception_vector.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/exception_vector.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/exception_vector.S	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"
+
+	.section ".exce_vec_map","xa"
+		/* exce_vec_map ã»ã¯ã·ã§ã³ã®è¨è¿°ã¯ã1kbyteå
+ã«åãã
+		   ãã¨ã(0xbfc00000-0xbfc00400 ã®ç¯å²å
+)
+		   ããã¯ã0xbfc00400 ããã®é åã«ãinit ã»ã¯ã·ã§ã³
+		   ãªãã³ã« text ã»ã¯ã·ã§ã³ãè¨è¿°ãããããã*/
+
+	.set noreorder
+
+	.align 2
+
+/*
+ *  ä¾å¤ãã¯ã¿ã¢ãã¬ã¹ã§ã®åå²å¦ç (BEV=1ãæ³å®)
+ */
+
+/*
+ *  ã³ã¼ã«ããªã»ãããã½ãããªã»ãããNMI(Non Maskable Interrupt)
+ *     ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãããã«
+ *         ä¾å­ããªãï¼0xbfc00000çªå°  (kseg1é åï¼ã­ã£ãã·ã¥ãªã)
+ */
+
+	.global start	/* ãããã¨ã³ããªã¼ãã¤ã³ã */
+
+start:
+reset_and_NMI:
+	mfc0	k0, Status
+	li	k1, SR_SR
+	and	k1, k0, k1
+	bne	k1, zero, NMI_exception
+	nop
+
+	/* ã³ã¼ã«ããªã»ããæ */
+	la	k1, reset
+	jr	k1
+	nop
+
+	/* ã½ãããªã»ãããNMI æ */
+NMI_exception:
+	la	k1, reset
+	jr	k1
+	nop
+
+/*
+ *  TLBä¸ä¸è´ä¾å¤ï¼JSPã«ã¼ãã«ã§ã¯TLBæªä½¿ç¨ï¼
+ *      ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãããã
+ *          1ã®ã¨ãï¼0xbfc00200çªå°  (kseg1é åï¼ã­ã£ãã·ã¥ãªã)
+ *          0ã®ã¨ãï¼0x80000000çªå°  (kseg0é åï¼ã­ã£ãã·ã¥ãã)
+ */
+	.org 0x200
+
+TLB_miscompare_exception:
+	move	a0, sp
+	mfc0	a1, Status
+	mfc0	a2, Cause
+	la	k1, cpu_experr
+	jr	k1
+	nop
+
+/*
+ *  XTLBä¸ä¸è´ä¾å¤ï¼JSPã«ã¼ãã«ã§ã¯TLBæªä½¿ç¨ï¼
+ *      ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãããã
+ *          1ã®ã¨ãï¼0xbfc00280çªå°  (kseg1é åï¼ã­ã£ãã·ã¥ãªã)
+ *          0ã®ã¨ãï¼0x80000080çªå°  (kseg0é åï¼ã­ã£ãã·ã¥ãã)
+ */
+	.org 0x280
+
+XTLB_miscompare_exception:
+	move	a0, sp
+	mfc0	a1, Status
+	mfc0	a2, Cause
+	la	k1, cpu_experr
+	jr	k1
+	nop
+
+/*
+ *  ã­ã£ãã·ã¥ã¨ã©ã¼ä¾å¤
+ *      ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãããã
+ *          1ã®ã¨ãï¼0xbfc00300çªå°  (kseg1é åï¼ã­ã£ãã·ã¥ãªã)
+ *          0ã®ã¨ãï¼0xa0000100çªå°  (kseg0é åï¼ã­ã£ãã·ã¥ãã)
+ */
+	.org 0x300
+
+cashe_error_exception:
+	move	a0, sp
+	mfc0	a1, Status
+	mfc0	a2, Cause
+	la	k1, cpu_experr
+	jr	k1
+	nop
+
+/*
+ *  ãã®ä»ä¾å¤ï¼ä¾å¤/å²ãè¾¼ã¿åºå
+¥å£å¦çã«ã¼ãã³
+ *  (MIPSã¢ã¼ã­ãã¯ãã£ã¯å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ãä¸è¬ä¾å¤ã®
+ *   ä¸ç¨®ã¨ãã¦åå²ãã)
+ *      ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãããã
+ *          1ã®ã¨ãï¼0xbfc00380çªå°  (kseg1é åï¼ã­ã£ãã·ã¥ãªã)
+ *          0ã®ã¨ãï¼0x80000180çªå°  (kseg0é åï¼ã­ã£ãã·ã¥ãã)
+ */
+
+	.org 0x200 + 0x180	/* TLBä¸ä¸è´ä¾å¤ã®0x180çªå°å¾ãã«é
+ç½® */
+
+other_exception:
+	la	k1, general_exception
+	jr	k1
+	nop
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/makeoffset.c	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+        OFFSET_DEF2(TCB, tinib, tinib);
+        OFFSET_DEF2(TINIB, task, task);
+        OFFSET_DEF2(TINIB, exinf, exinf);
+	OFFSET_DEF(TCB, texptn);
+
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+
+	OFFSET_DEF(INT_TABLE, intmask);
+
+	/*
+	 *  æ§é ä½ICU_IPMå
+ã®ãªãã»ãã 
+	 *    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã®ã§ãã·ã¹ãã ä¾å­é¨ã§å®ç¾©
+	 */
+#ifdef OFFSET_DEF_ICU_IPM
+	OFFSET_DEF_ICU_IPM;
+#endif /* OFFSET_DEF_ICU_IPM */
+
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+TCB	BIT_BB_TCB_enatex = {
+	/* BIT_BBï¼ããã°ã¨ã³ãã£ã¢ã³ã
+	           ãã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã */
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG *//* ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+TCB	BIT_LB_TCB_enatex = {
+	/* BIT_LBï¼ãªãã«ã¨ã³ãã£ã¢ã³ã
+	           ãã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã */
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/mips3.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/mips3.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/mips3.h	(revision 26)
@@ -0,0 +1,271 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _MIPS3_H_
+#define _MIPS3_H_
+
+#include <util.h>
+
+/*
+ *  MIPS3 ç¨å®ç¾©
+ */
+
+/* CPUã³ã¢ã®å
+é¨ã¬ã¸ã¹ã¿ã®åç§° */
+#define zero    $0      /* å¸¸æã¼ã­ */
+#define at      $1      /* ã¢ã»ã³ãã©ã®ãã³ãã©ãª */
+#define v0      $2      /* é¢æ°ã®æ»ãå¤ */
+#define v1      $3
+#define a0      $4      /* é¢æ°ã®å¼æ° */
+#define a1      $5
+#define a2      $6
+#define a3      $7
+#define t0      $8      /* ãã³ãã©ãªã¬ã¸ã¹ã¿ tx (x=0-9)ï¼é¢æ°å¼ã³åºãã§ç ´å£ */
+#define t1      $9
+#define t2      $10
+#define t3      $11
+#define t4      $12
+#define t5      $13
+#define t6      $14
+#define t7      $15
+#define s0      $16     /* sx (x=0-7) : é¢æ°å¼ã³åºãã§ä¸å¤ãªã¬ã¸ã¹ã¿ */
+#define s1      $17
+#define s2      $18
+#define s3      $19
+#define s4      $20
+#define s5      $21
+#define s6      $22
+#define s7      $23
+#define t8      $24     /* ãã³ãã©ãªã¬ã¸ã¹ã¿ tx (x=0-9)ï¼é¢æ°å¼ã³åºãã§ç ´å£ */
+#define t9      $25
+#define k0      $26     /* OSç¨ã«äºç´æ¸ã¿ */
+#define kt0     $26
+#define k1      $27
+#define kt1     $27
+#define gp      $28     /* å¤§åå¤æ°é åã®ãã¼ã¹ã¢ãã¬ã¹ */
+#define sp      $29     /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+#define fp      $30     /* ãã¬ã¼ã ãã¤ã³ã¿ */
+/* ãããã¯ */
+#define s8      $30     /* s8 : é¢æ°å¼ã³åºãã§ä¸å¤ãªã¬ã¸ã¹ã¿ */
+#define ra      $31     /* é¢æ°ããã®æ»ãã¢ãã¬ã¹ */
+
+/* CP0ã®å
+é¨ã¬ã¸ã¹ã¿ã®åç§° */
+#define Index           $0
+#define Random          $1
+#define EntryLo0        $2
+#define EntryLo1        $3
+#define Context         $4
+#define PageMask        $5
+#define Wired           $6
+#define Error           $7
+#define BadVAddr        $8
+#define Count           $9
+#define EntryHi         $10
+#define Compare         $11
+#define Status          $12
+#define Cause           $13
+#define EPC             $14
+#define PRId            $15
+#define Config          $16
+#define LLAddr          $17
+#define WatchLo         $18
+#define WatchHi         $19
+#define XContext        $20
+/* $21-$24 - äºç´ */
+#define Performance     $25
+#define ParityErr       $26
+#define CacheErr        $27
+#define TagLo           $28
+#define TagHi           $29
+#define ErrorEPC        $30
+/* $31 - äºç´ */
+
+/*  ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©å
+ã§ä½¿ãå ´åã®å®ç¾©  */
+#define str_k0		"$26"
+#define str_Status	"$12"
+
+/*  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿é¢ä¿  */
+#define SR_IE		BIT0			/*  IEããã  */
+#define SR_EXL		BIT1			/*  EXLããã  */
+#define SR_ERL		BIT2			/*  ERLããã  */
+
+#define SR_EXL_IE	(SR_EXL | SR_IE)	/*  EXL,IEããã  */
+#define SR_ERL_EXL	(SR_ERL | SR_EXL)	/*  ERL,EXLããã  */
+#define SR_ERL_EXL_IE	(SR_ERL_EXL | SR_IE)	/*  ERL,EXL,IEããã  */
+#define SR_IM		0xff00			/*  IMããããåãåºããã¹ã¯  */
+
+#define SR_UX		BIT5			/*  UXããã  */
+#define SR_SX		BIT6			/*  SXããã  */
+#define SR_KX		BIT7			/*  SXããã  */
+#define SR_DE		BIT16			/*  DEããã  */
+#define SR_SR		BIT20			/*  SRããã  */
+#define SR_BEV		BIT22			/*  BEVããã  */
+#define SR_RE		BIT25			/*  REããã  */
+#define SR_CU0		BIT28			/*  CU0ããã  */
+#define SR_CU1		BIT29			/*  CU1ããã  */
+#define SR_CU2		BIT30			/*  CU2ããã  */
+#define SR_XX		BIT31			/*  XXããã  */
+
+/*  åå ã¬ã¸ã¹ã¿é¢ä¿  */
+#define Cause_IP0       BIT8    /*  IP0ããã  */
+#define Cause_IP1       BIT9    /*  IP1ããã  */
+#define Cause_IP2       BIT10   /*  IP2ããã  */
+#define Cause_IP3       BIT11   /*  IP3ããã  */
+#define Cause_IP4       BIT12   /*  IP4ããã  */
+#define Cause_IP5       BIT13   /*  IP5ããã  */
+#define Cause_IP6       BIT14   /*  IP6ããã  */
+#define Cause_IP7       BIT15   /*  IP7ããã  */
+
+/*  å¤é¨å²ãè¾¼ã¿ã«å¯¾ããIPãããã®å¥å  */
+#define Cause_Int0	Cause_IP2  /*  Int0è¦æ±ããã  */
+#define Cause_Int1	Cause_IP3  /*  Int1è¦æ±ããã  */
+#define Cause_Int2	Cause_IP4  /*  Int2è¦æ±ããã  */
+#define Cause_Int3	Cause_IP5  /*  Int3è¦æ±ããã  */
+#define Cause_Int4	Cause_IP6  /*  Int4è¦æ±ããã  */
+
+/*  åå ã¬ã¸ã¹ã¿ããåå ã³ã¼ããåãåºããã¹ã¯  */
+#define ExcCode_mask    0x7c
+
+/* ä¾å¤ã³ã¼ã */
+#define Int     0       /* å²ãè¾¼ã¿ä¾å¤ */
+#define Mod     1       /* TLBå¤æ´ä¾å¤ */
+#define TLBL    2       /* TLBä¸ä¸è´ä¾å¤ (ã­ã¼ãã¾ãã¯å½ä»¤ãã§ãã) */
+#define TLBS    3       /* TLBä¸ä¸è´ä¾å¤ (ã¹ãã¢) */
+#define AdEL    4       /* ã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ (ã­ã¼ãã¾ãã¯å½ä»¤ãã§ãã) */
+#define AdES    5       /* ã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ (ã¹ãã¢) */
+#define IBE     6       /* ãã¹ã¨ã©ã¼ä¾å¤ (å½ä»¤ãã§ãã) */
+#define DBE     7       /* ãã¹ã¨ã©ã¼ä¾å¤ (ãã¼ã¿ã®ã­ã¼ãã¾ãã¯ã¹ãã¢) */
+#define Sys     8       /* ã·ã¹ãã ã³ã¼ã«ä¾å¤ */
+#define Bp      9       /* ãã¬ã¤ã¯ãã¤ã³ãä¾å¤ */
+#define RI      10      /* äºç´å½ä»¤ä¾å¤ */
+#define CpU     11      /* ã³ãã­ã»ããµä½¿ç¨ä¸å¯ä¾å¤ */
+#define Ov      12      /* æ¼ç®ãªã¼ãã¼ãã­ã¼ä¾å¤ */
+#define Tr      13      /* ãã©ããä¾å¤ */
+/* 14 - äºç´ */
+#define FPE     15      /* æµ®åå°æ°ç¹ä¾å¤ */
+/* 16-22 - äºç´ */
+#define WATCH   23      /* ã¦ã©ããä¾å¤ */
+/* 24-31 - äºç´ */
+
+/*  å²è¾¼ã¿è¦å çªå·  */
+#define INTNO_IP0               0
+#define INTNO_IP1               1
+#define INTNO_IP2               2
+#define INTNO_IP3               3
+#define INTNO_IP4               4
+#define INTNO_IP5               5
+#define INTNO_IP6               6
+#define INTNO_IP7               7
+
+/*  ã³ã¢ã®å²è¾¼ã¿ã®æ¬æ°ï¼ã½ããã¦ã§ã¢å²è¾¼ã¿ãå«ãï¼ */
+#define TMAX_CORE_INTNO		8
+
+/*
+ *  MIPS3ã³ã¢ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã«è¨­å®å¯è½ãªæé«å²è¾¼ã¿è¨±å¯ããããã¿ã¼ã³
+ */
+#define MAX_IPM  0xff
+
+/*
+ *  MIPS3ã³ã¢ã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®ãã§ãã¯
+ */
+#define CHECK_CORE_IPM(ipm)  CHECK_PAR(0 <= (ipm) && (ipm) <= MAX_IPM)
+
+/*
+ *  CPUä¾å¤ã®ç¨®é¡æ°
+ */
+#define TMAX_CORE_EXCNO	32u
+
+/*
+ *  ã­ã°åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ *    cpu_config.hã«ãããcpu_experré¢æ°ãcpu_support.Sãåç
+§ã®ãã¨ã
+ */
+#ifndef _MACRO_ONLY
+
+typedef struct exc_stack {
+
+	/*  ã¬ã¸ã¹ã¿ç¾¤ã®å®ç¾©  */
+	UW	sp;
+	UW	at;
+	UW	v0;
+	UW	v1;
+	UW	a0;
+	UW	a1;
+	UW	a2;
+	UW	a3;
+	UW	t0;
+	UW	t1;
+	UW	t2;
+	UW	t3;
+	UW	t4;
+	UW	t5;
+	UW	t6;
+	UW	t7;
+	UW	t8;
+	UW	t9;
+	UW	gp;
+	UW	fp;
+	UW	ra;
+
+	UW	CP0_Status;
+	UW	CP0_EPC;
+
+	UW	hi;
+	UW	lo;
+
+} EXCSTACK;
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _MIPS3_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/start.S	(revision 26)
@@ -0,0 +1,191 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"		/* INIT_SR */
+
+/*
+ *   MIPS3ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ *     ãªã»ãããã¯ã¿  0xbfc00000çªå°ã«é
+ç½®
+ *   
+ *   ã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ããã ããªã®ã§
+ *   JSPã«ã¼ãã«ã®ã¿ä½¿ç¨ããã
+ */
+
+	.section ".reset","xa"
+
+	.set noreorder
+
+	.align 2
+	.global	reset
+
+reset:
+	/*
+	 *  CPUã¬ã¸ã¹ã¿ã®åæå
+	 */
+
+	/* HI, LO (ä¹é¤ç®ã¬ã¸ã¹ã¿) */
+	mthi	zero
+	mtlo	zero
+
+	/* sp (ã¹ã¿ãã¯ãã¤ã³ã¿ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨)
+	     _stack_top ã¯ãã·ã¹ãã ä¾å­é¨(ãªã³ã«ã¹ã¯ãªããæ¨å¥¨)å®ç¾© */
+	la	sp, _stack_top
+
+	/* gp (ã°ã­ã¼ãã«ãã¤ã³ã¿)
+	     _gp ã¯ãã·ã¹ãã ä¾å­é¨(ãªã³ã«ã¹ã¯ãªããæ¨å¥¨)å®ç¾© */
+	la	gp, _gp
+
+	/* k0 (å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ç¨) */
+	li	k0, 0x1		/* ã¿ã¹ã¯èµ·åã¾ã§ã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®
+				   å®è¡ã¨ã¿ãªãã */
+	/* k1ã¯ãæ¢ã«æ±ç¨ã¨ãã¦å©ç¨ãã¦ããã®ã§åæåããªãã */
+
+	/*
+	 *  CP0ã¬ã¸ã¹ã¿ã®åæå
+	 */
+
+	/* SR (ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿)
+	     (ããã§ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯ãè¨­å®ãããããã¯ãå®è³ªçãªå²è¾¼ã¿å¶å¾¡ã¯ã
+	     å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã§è¡ãããã)
+	     INIT_SR ã¯ãsys_config.h ã§å®ç¾© */
+	li	t0, INIT_SR
+	mtc0	t0, Status
+
+	/* Config (ã³ã³ãã£ã°ã¬ã¸ã¹ã¿)
+	     INIT_CONFIG_MASK ã¯ãsys_config.h ã§å®ç¾© */
+	mfc0	t0, Config
+	li	t1, INIT_CONFIG_MASK
+	or	t0, t0, t1
+	mtc0	t0, Config
+
+	/* WatchLo (ã¦ã©ããLoã¬ã¸ã¹ã¿) */
+	mtc0	zero, WatchLo
+
+	/* Compare (æ¯è¼ã¬ã¸ã¹ã¿) */
+	li	t0, 0xffffffff
+	mtc0	t0, Compare
+
+	/*
+	 *  hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ã»ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ããåæåå¦çãããå ´åã¯ï¼
+	 *    hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 *      ä¾ï¼ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®ãã¹ã³ã³ãã­ã¼ã©ã®åæå
+	 *    ä»åã¯ãsys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ããï¼
+	 */
+hardware_init:
+	la	t0, hardware_init_hook
+	beq	t0, zero, bss_clear
+	nop
+	jalr	ra, t0
+	nop
+
+	/*
+         * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+bss_clear:
+	la	t1, __bss_start
+	la	t2, __bss_end
+	beq	t1, t2, data_sec_copy
+	nop
+        sw	zero, (t1)
+loop_bss_clear:
+        addi	t1, t1, 4
+        sub	t3, t2, t1
+        bgez 	t3, loop_bss_clear
+        sw	zero, (t1)
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåãã (ROMåå¯¾å¿)
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«ã³ãã¼ãã
+	 */
+data_sec_copy:
+	la	t1, __idata_start
+	la	t2, __idata_end
+	beq	t1, t2, software_init
+	nop
+	la	t3, __data_start
+loop_data_sec_copy:
+	lw	t5, (t1)
+        sw	t5, (t3)
+        addi	t1, t1, 4
+        addi	t3, t3, 4
+        sub	t4, t2, t1
+        bgtz 	t4, loop_data_sec_copy
+	nop
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çããã
+	 *  å ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+software_init:
+	la	t0, software_init_hook
+	beq	t0, zero, start_kernel
+	nop
+	jalr	ra, t0
+	nop
+
+	/*
+         *  ã«ã¼ãã«ãèµ·åãã
+	 */
+start_kernel:
+	la	t0, kernel_start
+	j	t0
+	nop
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_config.h	(revision 26)
@@ -0,0 +1,286 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.7 2007/01/05 02:02:38 honda Exp $
+ */
+
+#include <kernel_debug.h>	/* ITRON DB/IF å¯¾å¿ç¨ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ãä½¿ç¨ããã©ã¤ãã©ãªã«é¢ããå®ç¾©
+ */
+#define NEWLIB				/* newlib ãç¨ãã */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#include <sys_tool_config.h>		/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«é¢ããé¨å */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.1 2003/07/03 06:27:57 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/util.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  ãããçªå·ã®å®ç¾©
+ */
+#define BIT0              0x1
+#define BIT1              0x2
+#define BIT2              0x4
+#define BIT3              0x8
+#define BIT4             0x10
+#define BIT5             0x20
+#define BIT6             0x40
+#define BIT7             0x80
+#define BIT8            0x100
+#define BIT9            0x200
+#define BIT10           0x400
+#define BIT11           0x800
+#define BIT12          0x1000
+#define BIT13          0x2000
+#define BIT14          0x4000
+#define BIT15          0x8000
+#define BIT16         0x10000
+#define BIT17         0x20000
+#define BIT18         0x40000
+#define BIT19         0x80000
+#define BIT20        0x100000
+#define BIT21        0x200000
+#define BIT22        0x400000
+#define BIT23        0x800000
+#define BIT24       0x1000000
+#define BIT25       0x2000000
+#define BIT26       0x4000000
+#define BIT27       0x8000000
+#define BIT28      0x10000000
+#define BIT29      0x20000000
+#define BIT30      0x40000000
+#define BIT31      0x80000000
+
+/*
+ *  ãã¤ããã¼ã¿æä½ç¨ãã¯ã­
+ */
+/* ä»¥ä¸ã«ããã¦ãxï¼ä¸å® */
+
+/* ä»¥ä¸ã®ãããªæ¸ãæ¹ã¨ãã©ã£ã¡ãè¯ããï¼
+     (UH) (((UW) (c)) & 0x0000ffff)
+     (UH) (((UW) (c)) & 0xffff0000) >> 16
+*/
+
+/* (UH) xxaa -> (UB) aa */
+#define LO8(c)		(UB)( (UH)(c) & 0xff )	/*  ä¸ä½1ãã¤ãåãåºã  */
+/* (UH) aaxx -> (UB) aa */
+#define HI8(c)		LO8( (UH)(c) >>  8 )	/*  ä¸ä½1ãã¤ãåãåºã  */
+
+/* (UW) xxxxaaaa -> (UH) aaaa */
+#define LO16(c)		(UH)( (UW)(c) & 0xffff )/*  ä¸ä½2ãã¤ãåãåºã  */
+/* (UW) aaaaxxxx -> (UH) aaaa */
+#define HI16(c)		LO16( (UW)(c) >> 16 )	/*  ä¸ä½2ãã¤ãåãåºã  */
+
+/* (UH) aaaa, (UH) bbbb -> (UW) aaaabbbb */
+#define JOIN16(hi, lo)	(UW)( ((UW)(hi) << 16) | (lo) )	/*  2ãã¤ããã¼ã¿ã®çµå  */
+/* (UB) aa, (UB) bb -> (UH) aabb */
+#define JOIN8(hi, lo)	(UH)( ((UH)(hi) <<  8) | (lo) )	/*  1ãã¤ããã¼ã¿ã®çµå  */
+
+/* (UB) xxxxaaaaï¼ï¼é²æ°ï¼ -> (UB) ooooaaaaï¼ï¼é²æ°ï¼ */
+#define TO_LO4(c)	( (UB)(c) & 0xf )		/*  0-3ãããã«é
+ç½®  */
+/* ï¼ï¼é²æ°ï¼xxxxaaaa -> ï¼ï¼é²æ°ï¼aaaaoooo */
+#define TO_HI4(c)	(((UB)(c) << 4) & 0xf0)		/*  4-7ãããã«é
+ç½®  */
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/Makefile.config	(revision 26)
@@ -0,0 +1,34 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼VR4131ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = mipsel-nec-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS) -msoft-float -mgp32
+LDFLAGS := $(LDFLAGS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o vr4131_dsiu.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+#LDSCRIPT = $(CPU)/$(SYS)/vr4131elf.ld
+
+ifeq ($(DBGENV),GDB_STUB)
+	LDSCRIPT = $(CPU)/$(SYS)/vr4131_elf_gdb.ld
+else
+	LDSCRIPT = $(CPU)/$(SYS)/vr4131_elf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.cfg	(revision 26)
@@ -0,0 +1,7 @@
+/*
+ *	SIOãã©ã¤ãï¼KZ-VR4131PCI-01ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+#include <hw_serial.h>
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH( INHNO_SIO, { TA_HLNG, sio_handler } );
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_serial.h	(revision 26)
@@ -0,0 +1,192 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼VR4131å
+èµDSIUç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <vr4131_dsiu.h>		/* siopcb, vr4131_dsiu_openflag */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO		INTNO_DSIU
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize		vr4131_dsiu_initialize
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+#define sio_init		vr4131_dsiu_init
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = vr4131_dsiu_openflag();
+
+	/*
+	 * DSIUã¸ã®ã¯ã­ãã¯ä¾çµ¦éå§
+	 */
+	vr4131_orh( (VP) CMUCLKMSK, (MSKDSIU | MSKSSIU | MSKSIU) );
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = vr4131_dsiu_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	if (!openflag) {
+		/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+		all_set_ilv( (UINT) INTNO_DSIU, &((IPM) IPM_DSIU) );
+
+		/* ãã¹ã¯è§£é¤å¦ç(ã¬ãã«ï¼) */
+		vr4131_orh( (VP) MSYSINT2REG, DSIUINTR );
+
+		/* ãã¹ã¯è§£é¤å¦ç(ã¬ãã«ï¼) */
+		vr4131_orh( (VP) MDSIUINTREG, INTDSIU );
+	}
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+	if (!vr4131_dsiu_openflag) {
+		/* ãã¹ã¯è¨­å®å¦ç(ã¬ãã«ï¼) */
+		vr4131_andh( (VP) MSYSINT2REG, ~DSIUINTR );
+
+		/* ãã¹ã¯è¨­å®å¦ç(ã¬ãã«ï¼) */
+		vr4131_andh( (VP) MDSIUINTREG, ~INTDSIU );
+	}
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	vr4131_dsiu_cls_por(siopcb);
+
+	/*
+	 *  DSIUã¸ã®ã¯ã­ãã¯ä¾çµ¦åæ­¢
+	 */
+	vr4131_andh( (VP) CMUCLKMSK, ~(MSKDSIU | MSKSSIU | MSKSIU) );
+
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler		vr4131_dsiu_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		vr4131_dsiu_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#define	sio_snd_chr_pol		vr4131_dsiu_putchar_pol
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		vr4131_dsiu_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		vr4131_dsiu_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		vr4131_dsiu_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd		vr4131_dsiu_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv		vr4131_dsiu_ierdy_rcv
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/hw_timer.h	(revision 26)
@@ -0,0 +1,205 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *   ã¿ã¤ããã©ã¤ãï¼VR4131å
+èµRTCå
+TClockã¿ã¤ãç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <vr4131_rtc.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	INTNO_TCLK
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH		CLOCK;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCKã¯ããã¼ãé¢ä¿ã®ããããã¡ã¤ã«ã«è¨è¼ãã¦ããã
+ */
+/* 1ããªç§å¨æ(isig_tim ãå¼ã³åºãå¨æ;1kHz)ãçºçãããããã®ã«ã¦ã³ãæ° */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+/* clock ã usec åä½ã«å¤æãããã¯ã­ */
+#define	TO_USEC(clock)		((clock) * 1000u / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ *  (å©ç¨ããã¿ã¤ãããã¦ã³ã«ã¦ã³ã¿ãªã®ã§ããã®ãã¯ã­ãããã¨ä¾¿å©)
+ */
+#define CLOCK_PER_TICK		((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK		((CLOCK) 0x1ffffff)	/*  25ããã  */
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE		100u	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãåæ­¢ã¾ã§ã®æéï¼nsecåä½ï¼
+ *  å¤ã«æ ¹æ ã¯ãªãï¼
+ */
+#define	TIMER_STOP_DELAY	200u
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void hw_timer_int_clear() {
+
+	vr4131_wrh_mem( (VP) RTCINTREG, RTCINTR3 );
+}
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *    ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void hw_timer_initialize() {
+
+	/*
+	 *  ã¿ã¤ãå¨æãè¨­å®ãï¼ã¿ã¤ãã®åä½ãéå§ããï¼
+	 */
+	assert( CLOCK_PER_TICK <= MAX_CLOCK );
+
+	vr4131_wrh_mem( (VP) TCLKLREG, (UH) LO16(CLOCK_PER_TICK) );
+	vr4131_wrh_mem( (VP) TCLKHREG, (UH) HI16(CLOCK_PER_TICK) );
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼è¦æ±ãã¯ãªã¢ããå¾ï¼
+	 *  ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	all_set_ilv( INHNO_TIMER, &((IPM) IPM_TIMER) );	/* å²è¾¼ã¿ã¬ãã«ã®è¨­å® */
+
+	hw_timer_int_clear();				/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	/* ãã¹ã¯è§£é¤å¦ç(ã¬ãã«ï¼ãã¬ãã«ï¼ã«ç¸å½ããã¬ã¸ã¹ã¿ã¯ç¡ã) */
+	vr4131_orh( (VP) MSYSINT2REG, TCLKINTR );
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void hw_timer_terminate() {
+
+	/*  ã¿ã¤ãã®åä½ãåæ­¢ãã  */
+	vr4131_wrh_mem( (VP) TCLKLREG, 0 );
+	vr4131_wrh_mem( (VP) TCLKHREG, 0 );
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ããã¹ã¯ãï¼è¦æ±ãã¯ãªã¢ããï¼
+	 */
+	/* ãã¹ã¯è¨­å®å¦ç(ã¬ãã«ï¼ãã¬ãã«ï¼ã«ç¸å½ããã¬ã¸ã¹ã¿ã¯ç¡ã) */
+	vr4131_andh( (VP) MSYSINT2REG, ~TCLKINTR );
+
+	hw_timer_int_clear();				/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK hw_timer_get_current() {
+
+	UH 	count;
+	UH	hi1, lo1, hi2, lo2;
+
+	/* ã«ã¦ã³ã¿å¤ã®èª­ã¿åºã */
+	/* 2åèª­ã¿åºãã¦ããçç±ã¯ããã¼ãã¦ã§ã¢ç·¨p261åç
+§ */
+	lo1 = vr4131_reh_mem( (VP) TCLKCNTLREG );
+	hi1 = vr4131_reh_mem( (VP) TCLKCNTHREG );
+
+	lo2 = vr4131_reh_mem( (VP) TCLKCNTLREG );
+	hi2 = vr4131_reh_mem( (VP) TCLKCNTHREG );
+
+	if( hi2 == hi1 )
+		count = JOIN16( hi1, lo1 );
+	else
+		count = JOIN16( hi2, lo2 );
+
+	return (CLOCK_PER_TICK - count);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL hw_timer_fetch_interrupt() {
+
+	return( ( vr4131_reh_mem( (VP) RTCINTREG ) & RTCINTR3 ) != 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/kz_vr4131pci_01.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/kz_vr4131pci_01.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/kz_vr4131pci_01.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _KZ_VR4131PCI_01_
+#define _KZ_VR4131PCI_01_
+
+#define KZ_VR4131PCI_01
+
+/*
+ *  ããã¤ã¹ã®å²ãå½ã¦ãã¼ã¹ã¢ãã¬ã¹
+ */
+
+#define VR4131_BASE_ADDR	0xa0000000
+
+/*
+ *  ããã¤ã¹ã«ä¾çµ¦ãããã¯ã­ãã¯
+ */
+/*
+ *  VR4131 ã¯èµ·åæã« CLKSEL(2:0) ç«¯å­ãè¦ã¦ããã¤ãã©ã¤ã³ã¯ã­ãã¯PClockã
+ *  æ±ºå®ãããä»åã®ã¿ã¼ã²ãããã¼ãã®ããã©ã«ãã¯ã
+ *        CLKSEL(2:0) = 110
+ *  ãã¯ã¼ããã¸ã¡ã³ãã¦ãããã®ãPMUTCLKDIVREGã«å¤æ´ã¯å ããªãããä¸è¨ã¨ãªãã
+ *        PClock 199.1[MHz], VTClock 33.2[MHz], TClock 16.6[MHz]
+ */
+/* ã·ãªã¢ã«ã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [Hz]ï¼ãã¼ã¬ã¼ãè¨­å®ã§ä½¿ç¨ï¼
+ * ï¼18.432MHz = 18432000 Hz ; ãã¼ãã¦ã§ã¢ç·¨p193åç
+§ï¼ */
+#define XIN_CLOCK	18432000u	/* [Hz] */
+
+/* ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [kHz]ï¼TO_CLOCKã§ä½¿ç¨ï¼
+ * ï¼TO_CLOCK ã§1ããªç§å¨æ(1kHz)ãçºçãããããã«ä½¿ç¨ï¼
+ * ï¼VTClock=33.2MHz = 33200kHz ; ãã¼ãã¦ã§ã¢ç·¨p22åç
+§ï¼ */
+#define TIMER_CLOCK	33200u	/* [kHz] */
+
+/*
+ *  ããã¤ã¹ã®å²è¾¼ã¿ãã¹ã¯ã®å®ç¾©
+ *
+ *  åªå
+åº¦ : (ä½) DSIU -> TClockã«ã¦ã³ã¿ -> ããããªæ®éä¸è¶³æ¤ç¥ (é«)
+ */
+/* MSYSINT1 ã® BATINTR ã®è¨­å®ã«ã¤ãã¦ã¯ããã¼ãã¦ã§ã¢ç·¨p224åç
+§  */
+
+/*
+ *  DSIU å²è¾¼ã¿ã®å²è¾¼ã¿ãã¹ã¯ï¼éåä¿¡å
+±ç¨ï¼
+ *  ã»å²è¾¼ã¿ã¬ãã«ã¯éä¿¡ãåä¿¡ãåãã¬ãã«ã«è¨­å®ãã¦ãã
+ */
+#define CORE_IPM_DSIU		INIT_CORE_IPM	/* MIPS3ã³ã¢(SR)ç¨ãã¼ã¿ */
+
+/* BATINTRãTCLKINTR å²è¾¼ã¿ã®ã¿ãè¨±å¯ããã */
+#define ICU_IPM_SYSINT1_DSIU	BATINTR		/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ç¨ãã¼ã¿ */
+#define ICU_IPM_SYSINT2_DSIU	TCLKINTR
+
+/*  è¨­å®ããå²è¾¼ã¿ãã¹ã¯ï¼IPMåã§è¨è¿°ããï¼ */
+#define IPM_DSIU	{ CORE_IPM_DSIU, {ICU_IPM_SYSINT1_DSIU, ICU_IPM_SYSINT2_DSIU} }
+
+/*
+ *  RTC é¢é£ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#define CORE_IPM_TIMER		INIT_CORE_IPM	/* MIPS3ã³ã¢(SR)ç¨ãã¼ã¿ */
+
+/* BATINTR å²è¾¼ã¿ã®ã¿ãè¨±å¯ããã */
+#define ICU_IPM_SYSINT1_TCLK	BATINTR		/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ç¨ãã¼ã¿ */
+#define ICU_IPM_SYSINT2_TCLK	0u
+
+/*  è¨­å®ããå²è¾¼ã¿ãã¹ã¯ï¼IPMåã§è¨è¿°ããï¼ */
+#define IPM_TIMER	{ CORE_IPM_TIMER, {ICU_IPM_SYSINT1_TCLK, ICU_IPM_SYSINT2_TCLK} }
+
+#endif /* _KZ_VR4131PCI_01_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.c	(revision 26)
@@ -0,0 +1,141 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>		/* ãããã¯ã·ãªã¢ã«ã³ã³ãã­ã¼ã©é¢ä¿ */
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ç¨ããå²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«  */
+ICU_IPM icu_intmask_table[ TMAX_ALL_INTNO ];
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void sys_initialize() {
+
+	ICU_IPM icu_ipm0 = {INIT_MSYSINT1, INIT_MSYSINT2};
+
+	/*
+	 *  å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+	icu_set_ipm( &icu_ipm0 );
+
+#ifndef GDB_STUB
+
+	/*
+	 *  DSIUã¸ã®ã¯ã­ãã¯ä¾çµ¦éå§
+	 */
+	vr4131_orh( (VP) CMUCLKMSK, (MSKDSIU | MSKSSIU | MSKSIU) );
+
+	/*
+	 *  ããã¼è¡¨ç¤ºç¨ã·ãªã¢ã«ã³ã³ãã­ã¼ã©(DSIU)ã®åæå
+	 */
+	sio_init();
+
+#endif	/*  GDB_STUB  */
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+void sys_exit(void) {
+
+#ifndef GDB_STUB
+	while (1);
+#else	/*  GDB_STUB  */
+	vr4131_exit();
+#endif	/*  GDB_STUB  */
+
+}
+
+/*
+ *  GDB STUB / ç´æ¥å¼åºã ã³ã³ã½ã¼ã«å¼åºãã«ã¼ãã³
+ */
+
+/*
+ *  gdb stub ã«ããã³ã³ã½ã¼ã«åºå
+ */
+/* a0($4) = 0xfe00, a1($5) = åºåãããã­ã£ã©ã¯ã¿ ãä»£å
+¥ãã¦ã
+   SYSCALL ä¾å¤ãçºçãããã */
+
+/* ãã®é¢æ°ãå¼ã³åºãæã«ã¯ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®EXLããã = 0 ã§å¼ã³åºããã¨ã
+   ãªããç¾å¨ãã«ã¼ãã«ã§ã¯ãããã¼è¡¨ç¤ºæãã·ãªã¢ã«åºåæã«å¼åºãè¡ã£ã¦ããã*/
+void stub_putc(int c) {
+
+	Asm("	move	$5, %0;		\
+	     	li	$4, 0xfe00;	\
+		syscall;		\
+		nop"
+		:: "r"(c)
+		: "$4","$5" );
+}
+
+#ifdef GDB_STUB			/* GDB_STUB ã®å ´å */
+#define vr4131_putc(c)	stub_putc( c )
+#else /* GDB_STUB */		/* ãã®ä» */
+#define	vr4131_putc(c)	sio_snd_chr_pol( c )
+#endif /* GDB_STUB */
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+void sys_putc(char c) {
+
+	if (c == '\n') {
+		vr4131_putc('\r');
+	}
+	vr4131_putc(c);
+}
+
+/*============================================================================*/
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_config.h	(revision 26)
@@ -0,0 +1,179 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã»ãã¼ãä¾å­ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®èª­ã¿è¾¼ã¿
+ */
+#include <vr4131_sil.h>
+#include <vr4131_icu.h>	/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿ã®æ
+å ±ãcpu_config.hã«æ¸¡ãçº */
+#include <vr4131.h>	/* NOP_FOR_CP0_HAZARDã®æ
+å ±ãcpu_support.Sã«æ¸¡ãçº */
+			/* CMUCLKMSKã®æ
+å ±ãsys_support.cã«æ¸¡ãçº */
+
+/*
+ *  vgxet_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ãããã°ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾© (VR4131å
+èµã®DSIUãå©ç¨ããã)
+ */
+#define TNUM_PORT	1u	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define	TNUM_SIOP	1u	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1u	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+/* ã³ã¼ãã kseg1 ã§æ¸¬å® */
+#define	SIL_DLY_TIM1	33
+#define	SIL_DLY_TIM2	10
+/* ã³ã¼ãã kseg0 ã§æ¸¬å® */
+/*
+#define	SIL_DLY_TIM1	11280
+#define	SIL_DLY_TIM2	1818
+*/
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åæå¤ (MIPS3ã³ã¢ã®ãã¿ã¼ã²ããã·ã¹ãã ä¾å­ãªã®ã§ãããã§å®ç¾©)
+ */
+
+/*  MIPS3ã³ã¢ã®é¢ä¿ */
+/*  å®è³ªçãªå²è¾¼ã¿å¶å¾¡ã¯ãå¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã§è¡ããããMIPS3ã³ã¢ã«é¢ãã¦ã¯
+    å¯è½ãªåãè¨±å¯ããã*/
+/*  Int2: RTCLong2å²è¾¼ã¿ Int1: RTCLong1å²è¾¼ã¿ Int0: ãã®ä»ã®å²è¾¼ã¿ */
+#define INIT_CORE_IPM	( Cause_Int0 | Cause_Int1 | Cause_Int2 )
+
+/*  å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿  */
+/*  (BATINTR ä»¥å¤ã¯ãå²è¾¼ã¿ç¦æ­¢ããã¼ãã¦ã§ã¢ç·¨p224åç
+§)  */
+#define INIT_MSYSINT1	BATINTR
+#define INIT_MSYSINT2	0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/* ä»¥ä¸ã¯ãå
+±éãã­ã¥ã¡ã³ãã«ç¡ãç¬èªã®å®ç¾© */
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®åæå¤
+ */
+#define INIT_SR			(SR_BEV | INIT_CORE_IPM)
+	/*
+	 *  BEV = 1ï¼ä¾å¤ãã¯ã¿ãkseg0ã»ã°ã¡ã³ãã«é
+ç½®
+	 *  IM = 0ï¼CPUã­ãã¯ç¶æ
+ (å²è¾¼ã¿ç¦æ­¢)
+	 */
+
+/*
+ *  ã³ã³ãã£ã°ã¬ã¸ã¹ã¿åæå¤è¨­å®ç¨ãã¹ã¯
+ *
+ *  ã»BPãããã®è¨­å®ã«ã¤ãã¦
+ *    åå²äºæ¸¬æ©è½ã®ä¸å
+·åï¼VR4131ã®å¶éäºé 
+ï¼ï¼ã¸ã£ã³ãå½ä»¤ã®ï¼ã¤å¾ã«æ¡ä»¶åå²
+ *    å½ä»¤ãå
+¥ãã¨æ­£ããåä½ããªãï¼ã«å¯¾å¿ããããã«ãBPãããã1ã«ã»ãããã
+ *    ããã«ãã¦ããã
+ *    ãªããªãã°ãCè¨èªé¨åã§ã¯åé¿ã§ããªãã®ã§ãåå²äºæ¸¬æ©è½ããªãã«ããããã
+ */
+#define INIT_CONFIG_MASK	(BP)
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãã®è¨­å®ï¼åå¨æ¯è¨­å®ãã¼ã¿ï¼[bps]ã§æå®ï¼
+ */
+#define DEVIDE_RATIO	9600u	/*  9600bpsãé¸æ  */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_defs.h	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã¿ã¤ã
+ */
+#define VR4131
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ãããã¼ãå
+ */
+#define	TARGET_NAME	"KZ-VR4131PCI-01"
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT	INTNO;			/* å²è¾¼ã¿çªå·ï¼icu_set_ilvã§å©ç¨ï¼ */
+
+#if 0		/*  MIPS3çã§ã¯ãµãã¼ããã¦ããªã  */
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+#endif
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UD 	SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern	ER	vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®åå®ç¾©
+ */
+typedef struct{
+	UH	msysint1;	/*  ã·ã¹ãã å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿1  */
+	UH	msysint2;	/*  ã·ã¹ãã å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2  */
+} ICU_IPM;
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort()
+{
+	Asm("break");
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+icu_intmask_table
+proc_interrupt_sys
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define icu_intmask_table	_kernel_icu_intmask_table
+#define proc_interrupt_sys	_kernel_proc_interrupt_sys
+
+#ifdef LABEL_ASM
+
+#define _icu_intmask_table	__kernel_icu_intmask_table
+#define _proc_interrupt_sys	__kernel_proc_interrupt_sys
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_support.S	(revision 26)
@@ -0,0 +1,201 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"
+
+	.set noreorder
+	.align 2
+
+/*
+ *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ä¾å­ããåæåå¦ç (reset.S ããå¼ã³åºããã)
+ */
+#ifndef GDB_STUB
+
+	.section .reset
+	.global	hardware_init_hook
+
+hardware_init_hook:
+
+	/*
+	 *  ãã¹ã³ã³ãã­ã¼ã«ã¦ããã(BCU)é¢ä¿ã®åæè¨­å®
+	 */
+	li	t0, ASM_SIL( ROMSIZEREG )
+	lh	t1, (t0)
+	ori	t1, t1, (SIZE3_4 | SIZE2_4 | SIZE1_4 | SIZE0_4)
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( ROMSPEEDREG )
+	lh	t1, (t0)
+	ori	t1, t1, (ROM4_WAIT_5VTClock | ROM2_WAIT_8VTClock)
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( BCUCNTREG3 )
+	lh	t1, (t0)
+	ori	t1, t1, (EXT_ROMCS_3ROM_2ROM | IO32 | LCDSEL1_BUFFER | LCDSEL0_BUFFER)
+	sh	t1, (t0)
+
+	/*
+	 * SDRAMã³ã³ãã­ã¼ã«ã¦ããã(SDRAMU)é¢ä¿ã®åæè¨­å®
+	 */
+
+	li	t0, ASM_SIL( SDRAMMODEREG )
+	lh	t1, (t0)
+	ori	t1, t1, (SCLK | LTMODE_2)
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( SDRAMCNTREG )
+	lh	t1, (t0)
+	ori	t1, t1, (TRC_3VTClock | TDAL_2VTClock | TRCD_2VTClock)
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( BCURFCNTREG )
+	lh	t1, (t0)
+	ori	t1, t1, 0x3ec
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( BCURFCNTREG )
+	lh	t1, (t0)
+	ori	t1, t1, 0x3ec
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( RAMSIZEREG )
+	lh	t1, (t0)
+	ori	t1, t1, (SIZE3_64 | SIZE2_64 | SIZE1_64 | SIZE0_64)
+	sh	t1, (t0)
+
+	/*
+	 *  ãã¹ã³ã³ãã­ã¼ã«ã¦ããã(BCU)é¢ä¿ã®åæè¨­å®
+	 */
+	li	t0, ASM_SIL( IO0SPEEDREG )
+	lh	t1, (t0)
+	ori	t1, t1, IO0_1_WAIT_4
+	sh	t1, (t0)
+
+	li	t0, ASM_SIL( IO1SPEEDREG )
+	lh	t1, (t0)
+	ori	t1, t1, IO1_3_WAIT_11
+	sh	t1, (t0)
+
+	/*
+	 *  HALTimerã·ã£ãããã¦ã³ã®ã¯ãªã¢
+	 *  CPUèµ·åå¾ã4ç§ä»¥å
+ã«è¡ããªããã°ãªããªã
+	 *  PMUã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®HALTimerãªã»ãããããã«ï¼ãæ¸ãè¾¼ã
+	 */
+	li	t0, ASM_SIL( PMUCNTREG )
+	lh	t1, (t0)
+	ori	t1, t1, HALTIMERRST
+	sh	t1, (t0)
+
+	/*
+	 *  HALTimerãªã»ããã®ã¯ãªã¢
+	 *  PMUå²è¾¼ã¿ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®TIMOUTRSTãããã«ï¼ãæ¸ãè¾¼ã
+	 */
+	li	t0, ASM_SIL( PMUINTREG )
+	lh	t1, (t0)
+	ori	t1, t1, TIMOUTRST
+	sh	t1, (t0)
+
+	/*
+	 * TLBã®åæå
+	 */
+tlb_initialize:
+	mtc0	zero, PageMask
+	mtc0	zero, EntryLo0
+	mtc0	zero, EntryLo1
+
+	li	t0, TMAX_TLB
+	li	t1, 0xA0000000		/* kseg1 ã®ä¸­ã®DRAMã®æãä½¿ç¨ */
+loop_TLB_clear:
+	mtc0	t0, Index
+	mtc0	t1, EntryHi
+	addiu	t0, t0, -1
+	addiu	t1, t1, TLB_VPN2	/* 1ãã¼ã¸ã4kãã¤ãã§ã2ãã¼ã¸åãããã
+					   ã³ã°ãããã */
+	tlbwi
+	bgez	t0, loop_TLB_clear
+	nop
+
+	/*
+	 * ã­ã£ãã·ã¥ã®åæå
+	 */
+cache_initialize:
+	mtc0	zero, TagLo
+	mtc0	zero, TagHi
+
+	li	t0, 0x80001ff0	/* 512 line å (1 line = 16 byte) */
+	li	t1, 0x80000000
+loop_I_cache_clear:
+	cache	Index_Invalidate_I, 0x0000(t0)
+	cache	Index_Invalidate_I, 0x2000(t0)
+	bne	t0, t1, loop_I_cache_clear
+	addiu	t0, t0, -I_CACHE_LINE_SIZE
+
+	li	t0, 0x80001ff0	/* 512 line å (1 line = 16 byte) */
+	li	t1, 0x80000000
+loop_D_cache_clear:
+	cache	Index_Store_Tag_D, 0x0000(t0)
+	cache	Index_Store_Tag_D, 0x2000(t0)
+	bne	t0, t1, loop_D_cache_clear
+	addiu	t0, t0, -D_CACHE_LINE_SIZE
+
+	/*
+	 * å¼ã³åºãå
+ã¸ãªã¿ã¼ã³
+	 */
+return_to_common:
+	j	ra
+	nop
+
+#endif /* GDB_STUB */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_tool_config.h	(revision 26)
@@ -0,0 +1,67 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _SYS_TOOL_CONFIG_H_
+#define _SYS_TOOL_CONFIG_H_
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å® (å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿)
+ */
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _SYS_TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef icu_intmask_table
+#undef proc_interrupt_sys
+
+#ifdef LABEL_ASM
+
+#undef _icu_intmask_table
+#undef _proc_interrupt_sys
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131.h	(revision 26)
@@ -0,0 +1,190 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _VR4131_H_
+#define _VR4131_H_
+
+/*
+ *  VR4131 ãã¼ãã¦ã§ã¢å®ç¾©
+ */
+
+/* CP0ãã¶ã¼ãã®ããã®æéç¨¼ã NOP_FOR_CP0_HAZARD  */
+/* VR4131ã§ã¯mtc0å½ä»¤ã®ç´å¾ããå²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããã®ã§nopå½ä»¤ãæ¿å
+¥ããªãã¦ã
+   å¤§ä¸å¤« */
+#define NOP_FOR_CP0_HAZARD
+
+/* Configã¬ã¸ã¹ã¿  */
+#define BP		BIT16	/* åå²äºæ¸¬ã®è¨­å® */
+
+/* TLB ã®ã¨ã³ããªã®æå¤§å¤  */
+#define TMAX_TLB	31
+
+/* TLBãã¹ã¯å¤ */
+#define TLB_VPN2	0x800
+
+/* ã­ã£ãã·ã¥å½ä»¤ */
+#define Index_Invalidate_I	(0x0+0x0)
+#define Index_Store_Tag_I       (0x8+0x0)
+#define Index_Store_Tag_D       (0x8+0x1)
+
+/* ã­ã£ãã·ã¥ã®ã©ã¤ã³ãµã¤ãº(ãã¤ãåä½)  */
+#define D_CACHE_LINE_SIZE 	0x10	/* 16ãã¤ã */
+#define I_CACHE_LINE_SIZE 	0x10	/* 16ãã¤ã */
+
+/*============================================================================*/
+
+#ifndef _MACRO_ONLY
+
+Inline void
+vr4131_exit() {
+	while(1);
+	/* GDB_STUB ä½¿ç¨æã«ã¯ãSTUBã®é ­ã«é£ã¶å¦çãå¿
+è¦ããã */
+}
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/* ä»¥ä¸ã®å®ç¾©ã¯ãåã¦ããããã¨ã«ãvr4131_xxx.hã¨ãã¦ã¾ã¨ãããã¨ãå¿
+è¦ããã */
+
+/*
+ * ã¯ã­ãã¯ãã¹ã¯ã¦ããã(CMU)é¢ä¿ã®å®ç¾©
+ */
+#define CMUCLKMSK	0x0f000060
+
+#define MSKSIU		BIT1	/* SIU, DSIUã¸ã®TClockä¾çµ¦ã®å¶å¾¡ */
+#define MSKSSIU		BIT8	/* SIUã¸ã®18.432MHzã¯ã­ãã¯ä¾çµ¦ã®å¶å¾¡ */
+#define MSKDSIU		BIT11	/* DSIUã¸ã®18.432MHzã¯ã­ãã¯ä¾çµ¦ã®å¶å¾¡ */
+
+/*
+ * ãã¯ã¼ããã¼ã¸ã¡ã³ãã¦ããã(PMU)é¢ä¿ã®å®ç¾©
+ */
+#define PMUINTREG	0x0f0000c0	/* PMU å²è¾¼ã¿ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define PMUCNTREG	0x0f0000c2	/* PMU ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define PMUTCLKDIVREG	0x0f0000cc
+
+/* for PMUINTREG */
+#define TIMOUTRST	BIT5		/* HALTimerãªã»ããæ¤åº */
+
+/* for PMUCNTREG */
+#define HALTIMERRST	BIT2		/* HALTimerãªã»ãã*/
+
+/* for PMUTCLKDIVREG */
+#define VTDIV_3		(BIT1 | BIT0)
+
+/*
+ * ãã¹ã³ã³ãã­ã¼ã«ã¦ããã(BCU)é¢ä¿ã®å®ç¾©
+ */
+#define BCUCNTREG1	0x0f000000
+#define ROMSIZEREG	0x0f000004
+#define ROMSPEEDREG	0x0f000006
+#define IO0SPEEDREG	0x0f000008
+#define IO1SPEEDREG	0x0f00000a
+#define BCUCNTREG3	0x0f000016
+
+/* for ROMSIZEREG */
+#define SIZE3_4			BIT12
+#define SIZE2_4			BIT8
+#define SIZE1_4			BIT4
+#define SIZE0_4			BIT0
+
+/* for ROMSPEEDREG */
+#define ROM4_WAIT_5VTClock	(BIT13 | BIT12)
+#define ROM2_WAIT_8VTClock	(BIT2 | BIT0)
+
+/* for IO0SPEEDREG */
+#define IO0_1_WAIT_4		(BIT1 | BIT0)
+
+/* for IO1SPEEDREG */
+#define IO1_3_WAIT_11		BIT11
+
+/* for BCUCNTREG3 */
+#define EXT_ROMCS_3ROM_2ROM	(BIT13 | BIT12)
+#define IO32			BIT7
+#define LCDSEL1_BUFFER		BIT1
+#define LCDSEL0_BUFFER		BIT0
+
+/*
+ * SDRAMã³ã³ãã­ã¼ã«ã¦ããã(SDRAMU)é¢ä¿ã®å®ç¾©
+ */
+#define SDRAMMODEREG	0x0f000400
+#define SDRAMCNTREG	0x0f000402
+#define BCURFCNTREG	0x0f000404
+#define BCURFCOUNTREG	0x0f000406
+#define RAMSIZEREG	0x0f000408
+
+/* for SDRAMMODEREG */
+#define SCLK		BIT15
+#define LTMODE_2	BIT5
+
+/* for SDRAMCNTREG */
+#define TRC_3VTClock	(BIT9 | BIT8)
+#define TDAL_2VTClock	BIT5
+#define TRCD_2VTClock	BIT1
+
+/* for RAMSIZEREG */
+#define SIZE3_64	(BIT14 | BIT12)
+#define SIZE2_64	(BIT10 | BIT8)
+#define SIZE1_64	(BIT6 | BIT4)
+#define SIZE0_64	(BIT2 | BIT0)
+
+/*
+ * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¦ããã(SIU)é¢ä¿ã®å®ç¾©
+ */
+#define SIURESET	0x0f000809
+
+/* for SIURESET */
+#define DSIURESET	BIT1	/*  DSIUããªã»ãããããã©ã°  */
+
+#endif /* _VR4131_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.c	(revision 26)
@@ -0,0 +1,391 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+ 
+#include <vr4131_dsiu.h>
+
+/*
+ *	VR4131å
+èµDSIUç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UB	lcr_def;	/* LCRè¨­å®å¤ b0-b6;
+				   (éåä¿¡ãããæ°ãã¹ããããããï¼ããªãã£) */
+	UB	boud_hi_def;	/* DLMè¨­å®å¤ï¼ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ï¼ */
+	UB	boud_lo_def;	/* DLLè¨­å®å¤ï¼ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ï¼ */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL		getready;	/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL		putready;	/* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *  ï¼ãã¼ãã¯ï¼ã¤ãããªãããä»ã®ã½ã¼ã¹ã³ã¼ãã¨ã®è¦ªåæ§ããé
+åã§å®ç¾©ããï¼
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ (UB)	WORD_LENGTH_8 | STOP_BITS_1 | PARITY_NON,
+	  (UB)	HI8(DIVISOR),
+	  (UB)	LO8(DIVISOR) }
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)	((UINT)((siopid) - 1))
+#define get_siopinib(siopid)	(&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  ç¶æ
+ã®èª­åºãï¼IIDã®èª­åºãï¼
+ */
+static void
+vr4131_dsiu_get_stat(SIOPCB *siopcb)
+{
+	UB	iid;
+
+	iid = vr4131_reb_mem( (VP) DSIUIID ) & INT_MASK;
+
+	switch( iid ) {
+		case INT_TRANS_EMPTY :
+			siopcb->putready = TRUE;
+			break;
+		case INT_RECEIVE_DATA :
+		case INT_CHAR_TIME_OUT :
+			siopcb->getready = TRUE;
+			break;
+		default :
+			break;
+	}
+
+
+}
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+vr4131_dsiu_getready(SIOPCB *siopcb)
+{
+	return(siopcb->getready);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+vr4131_dsiu_putready(SIOPCB *siopcb)
+{
+	return(siopcb->putready);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+vr4131_dsiu_getchar(SIOPCB *siopcb)
+{
+	siopcb->getready = FALSE;
+	return((char) vr4131_reb_mem( (VP) DSIURB ));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+vr4131_dsiu_putchar(SIOPCB *siopcb, char c)
+{
+	siopcb->putready = FALSE;
+
+#ifndef GDB_STUB
+	vr4131_wrb_mem( (VP) DSIUTH, c );
+#else /* GDB_STUB */
+	stub_putc( c );
+#endif /* GDB_STUB */
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+vr4131_dsiu_initialize()
+{
+	SIOPCB	*siopcb = siopcb_table;
+	UINT	i = 0;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	siopcb->siopinib = &(siopinib_table[i]);
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  SIOã¬ã¸ã¹ã¿åæåã«ã¼ãã³
+ */
+void
+vr4131_dsiu_init_siopinib( const SIOPINIB  *siopinib )
+{
+	/*
+	 * DSIUã¬ã¸ã¹ã¿ã®åæå
+	 */
+	/* åæå¦ç */
+	vr4131_wrb_mem( (VP) DSIUIE,  DIS_INT );
+
+	/* ãã¼ã¬ã¼ãã®è¨­å® */
+	vr4131_wrb_mem( (VP) DSIULC,  siopinib->lcr_def | DIVISOR_LATCH_ACC );
+
+	vr4131_wrb_mem( (VP) DSIUDLL, siopinib->boud_lo_def );
+	vr4131_wrb_mem( (VP) DSIUDLM, siopinib->boud_hi_def );
+
+	/* ã¢ã¼ãã®è¨­å® */
+	vr4131_wrb_mem( (VP) DSIULC,  siopinib->lcr_def );
+
+	/* FIFOã®è¨­å® */
+	vr4131_wrb_mem( (VP) DSIUFC,  FIFO_ENABLE );
+	vr4131_wrb_mem( (VP) DSIUFC,  FIFO_ENABLE | RECEIVE_FIFO_RESET | TRANS_FIFO_RESET | RECEIVE_TRIG_1_BYTE );
+	vr4131_wrb_mem( (VP) DSIUFC,  FIFO_ENABLE | RECEIVE_TRIG_1_BYTE );
+
+	/* çµäºå¦ç */
+	vr4131_wrb_mem( (VP) DSIUMC,  RTS );
+
+	vr4131_wrb_mem( (VP) DSIUIE,  RECEIVE_DATA_AVAILABLE);
+}
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ãã¼ãã¼åºåç¨ã®åæå
+ */
+void
+vr4131_dsiu_init(void)
+{
+	vr4131_dsiu_init_siopinib( get_siopinib(1) );
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+vr4131_dsiu_openflag(void)
+{
+	return( siopcb_table[0].openflag );
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+vr4131_dsiu_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb = get_siopcb(siopid);
+	const SIOPINIB	*siopinib = siopcb->siopinib;
+
+#ifndef GDB_STUB
+	/* DSIUã¬ã¸ã¹ã¿ã®åæå */
+	vr4131_dsiu_init_siopinib( siopinib );
+#endif	/*  GDB_STUB  */
+
+	/* å²è¾¼ã¿ã¬ãã«è¨­å®ãå²è¾¼ã¿è¦æ±ã¯ãªã¢ã¯ãsio_opn_por(hw_serial.h)ã§è¡ãã */
+
+	siopcb->exinf = exinf;
+	siopcb->getready = siopcb->putready = FALSE;
+	siopcb->openflag = TRUE;
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+vr4131_dsiu_cls_por(SIOPCB *siopcb)
+{
+	vr4131_wrb_mem( (VP) DSIUIE, DIS_INT );
+
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+vr4131_dsiu_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (vr4131_dsiu_putready(siopcb)) {
+		vr4131_dsiu_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+vr4131_dsiu_rcv_chr(SIOPCB *siopcb)
+{
+	if (vr4131_dsiu_getready(siopcb)) {
+		return((INT)(UB) vr4131_dsiu_getchar(siopcb));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+vr4131_dsiu_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ie_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		ie_bit = TRANS_REG_EMPTY;
+		break;
+	case SIO_ERDY_RCV:
+		ie_bit = RECEIVE_DATA_AVAILABLE | RECEIVE_LINE_STATUS;
+		break;
+	}
+
+	vr4131_orb( (VP) DSIUIE, ie_bit );
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+vr4131_dsiu_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ie_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		ie_bit = TRANS_REG_EMPTY;
+		break;
+	case SIO_ERDY_RCV:
+		ie_bit = RECEIVE_DATA_AVAILABLE | RECEIVE_LINE_STATUS;
+		break;
+	}
+
+	vr4131_andb( (VP) DSIUIE, ~ie_bit );
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+vr4131_dsiu_isr_siop(SIOPCB *siopcb)
+{
+	vr4131_dsiu_get_stat(siopcb);
+
+	if ( vr4131_dsiu_getready(siopcb) ) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		vr4131_dsiu_ierdy_rcv(siopcb->exinf);
+	}
+	if ( vr4131_dsiu_putready(siopcb) ) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		vr4131_dsiu_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+vr4131_dsiu_isr()
+{
+	if (siopcb_table[0].openflag) {
+		vr4131_dsiu_isr_siop(&(siopcb_table[0]));
+	}
+}
+
+/*
+ *  VR4131 å
+èµ DSIU ç¨ãã¼ãªã³ã°åºå (sys_putcã§å©ç¨)
+ */
+void
+vr4131_dsiu_putchar_pol( char val ) {
+
+	/* éä¿¡é¨ã¨ã³ããã£ã«ãªãã¾ã§å¾
+ã¤ã */
+	while( (vr4131_reb_mem( (VP)DSIULS ) & (TEMT) ) == 0 );
+
+	vr4131_wrb_mem( (VP)DSIUTH, (VB) val );
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_dsiu.h	(revision 26)
@@ -0,0 +1,204 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _VR4131_DSIU_H_
+#define _VR4131_DSIU_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+
+/*
+ *  VR4131å
+èµãããã°ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¦ããã(DSIU)é¢é£ã®å®ç¾©
+ *  (ç°¡æNS16550)
+ */
+
+/* DSIUã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define DSIURB		0x0f000820	/* åä¿¡ãããã¡ã¬ã¸ã¹ã¿(ãªã¼ãæ) */
+#define DSIUTH		0x0f000820	/* éä¿¡ä¿æã¬ã¸ã¹ã¿(ã©ã¤ãæ) */
+#define DSIUDLL		0x0f000820	/* åå¨æ¯ä¸ä½ã¬ã¸ã¹ã¿ */
+#define DSIUIE		0x0f000821	/* å²è¾¼ã¿è¨±å¯ã¬ã¸ã¹ã¿ */
+#define DSIUDLM		0x0f000821	/* åå¨æ¯ä¸ä½ã¬ã¸ã¹ã¿ */
+#define DSIUIID		0x0f000822	/* å²è¾¼ã¿è¡¨ç¤ºã¬ã¸ã¹ã¿(ãªã¼ãæ) */
+#define DSIUFC		0x0f000822	/* FIFO å¶å¾¡ã¬ã¸ã¹ã¿(ã©ã¤ãæ) */
+#define DSIULC		0x0f000823	/* ã©ã¤ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define DSIUMC		0x0f000824	/* ã¢ãã å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define DSIULS		0x0f000825	/* ã©ã¤ã³ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define DSIUMS		0x0f000826	/* ã¢ãã ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define DSIUSC		0x0f000827	/* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ */
+
+/* for DSIULC */
+#define	WORD_LENGTH_8		(BIT1 | BIT0)
+#define	STOP_BITS_1		0u		/* BIT2 */
+#define	PARITY_NON		0u		/* BIT3, 4 */
+/* BIT5,6 çç¥ */
+#define	DIVISOR_LATCH_ACC	BIT7
+
+/* for DSIUIE */
+#define	DIS_INT			0u
+#define	RECEIVE_DATA_AVAILABLE	BIT0
+#define	TRANS_REG_EMPTY		BIT1
+#define RECEIVE_LINE_STATUS	BIT2
+#define MODEM_STATUS		BIT3
+
+/* for DSIUMC */
+#define	DTR			BIT0
+#define	RTS			BIT1
+
+/* for DSIUFC */
+#define	FIFO_ENABLE		BIT0
+#define	RECEIVE_FIFO_RESET	BIT1
+#define	TRANS_FIFO_RESET	BIT2
+#define RECEIVE_TRIG_1_BYTE	0u	/* BIT6, 7 */
+#define RECEIVE_TRIG_4_BYTE	BIT6
+#define	RECEIVE_TRIG_8_BYTE	BIT7
+#define	RECEIVE_TRIG_14_BYTE	(BIT6 | BIT7)
+
+/* for DSIUIID */
+#define	INT_MASK		0x0eu
+#define	INT_RECEIVE_DATA	BIT2
+#define INT_CHAR_TIME_OUT	(BIT3 | BIT2)
+#define	INT_TRANS_EMPTY		BIT1
+
+/* for DSIULS */
+#define	THRE			BIT5
+#define TEMT			BIT6
+
+/* ãã¼ã¬ã¼ãå®ç¾©é¢ä¿ */
+#define	DIVISOR			XIN_CLOCK / (16u * DEVIDE_RATIO)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	vr4131_dsiu_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	vr4131_dsiu_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*vr4131_dsiu_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	vr4131_dsiu_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	vr4131_dsiu_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	vr4131_dsiu_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	vr4131_dsiu_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	vr4131_dsiu_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	vr4131_dsiu_dsiu_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	vr4131_dsiu_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	vr4131_dsiu_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+extern void	vr4131_dsiu_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+extern void	vr4131_dsiu_putchar_pol(char c);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _VR4131_DSIU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf.ld	(revision 26)
@@ -0,0 +1,96 @@
+OUTPUT_FORMAT("elf32-littlemips","elf32-littlemips","elf32-littlemips")
+OUTPUT_ARCH(mips)
+
+MEMORY
+{
+	ROM0(rxai):ORIGIN = 0xbfc00000, LENGTH =      0x700	/* kseg0 */
+	ROM1(rxai):ORIGIN = 0x9fc00700, LENGTH =   2M-0x700	/* kseg1 */
+/*	ROM1(rxai):ORIGIN = 0xbfc00700, LENGTH =   2M-0x700*/	/* kseg0 */
+	RAM (wxai):ORIGIN = 0xa0200000, LENGTH =  14M		/* kseg0 */
+		/* SDRAM ã®æåããåã£ã¦ããªãã®ã¯ãæåã®2MBåã¯
+		   ROM ã®ãã©ã¼ç¨ã«ç¢ºä¿ãããã */
+}
+
+PROVIDE(_stack_top = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+	_stack_top = 0x8c03fffc;	/* = 0x8c040000 - 0x4 (SRAM) ; kseg1 */
+/*	_stack_top = 0xac03fffc;*/	/* = 0xac040000 - 0x4 (SRAM) ; kseg0 */
+
+	.exce_vec_map :
+	{
+		*(.exce_vec_map)
+	} > ROM0
+
+	.reset 0xbfc00400 :		/* ã­ã£ãã·ã¥åæåãªã©ãå«ã */
+	{
+		*(.reset)
+	} > ROM0
+
+	.text :
+	{
+		_stext = . ;
+		*(.text)
+		_etext  = . ;
+	} > ROM1
+
+	.rodata :
+	{
+		*(.rodata)
+	} > ROM1
+
+	__idata_start = .;
+	.data : AT ( __idata_start )
+	{
+		__data_start  = . ;
+		*(.data)
+	} > RAM
+
+	/* çç±ã¯è¯ãåãããªãããã©ããããæ¸ãã®ãä¸è¬çãããã */
+	_gp = . + 0x8000;
+
+	/* sdata ã»ã¯ã·ã§ã³ã¯ chk ã§å¼ã£ãããã®ã§ãä¿çã
+	   ã³ã³ãã¤ã«æã«ã-G 0 ãªãã·ã§ã³ã§é¿ãã¦ãã¾ãã */
+
+	__isdata_start = .;
+	.sdata : AT ( __isdata_start + SIZEOF(.data) )
+	{
+		*(.lit8) 
+		*(.lit4) 
+		*(.sdata) 
+	} > RAM
+	__idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata);
+
+	__bss_start = .	;
+
+	.sbss : 
+	{
+		_fbss = . ;
+		*(.sbss)
+		*(.scommon)
+	} > RAM
+
+	.bss : 
+	{
+		*(.bss)
+		*(COMMON)
+		__bss_end = .;
+		_end = . ;
+	} > RAM
+
+	PROVIDE (end = .);
+
+	.comment 	0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(memcpy = _dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf_gdb.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf_gdb.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_elf_gdb.ld	(revision 26)
@@ -0,0 +1,96 @@
+OUTPUT_FORMAT("elf32-littlemips","elf32-littlemips","elf32-littlemips")
+OUTPUT_ARCH(mips)
+
+MEMORY
+{
+	ROM0(rxai):ORIGIN = 0xa0000000, LENGTH =      0x700	/* kseg0 */
+	ROM1(rxai):ORIGIN = 0xa0000700, LENGTH =   2M-0x700	/* kseg0 */
+	RAM(wxai) :ORIGIN = 0xa0200000, LENGTH =  14M		/* kseg0 */
+		/* SDRAM ã®æåããåã£ã¦ããªãã®ã¯ãæåã®2MBåã¯
+		   ROM ã®ãã©ã¼ç¨ã«ç¢ºä¿ãããã */
+}
+
+PROVIDE(_stack_top = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+	_stack_top = 0xac03fffc;	/* = 0xac040000 - 0x4 (SRAM) ; kseg0 */
+
+	.exce_vec_map :
+	{
+		*(.exce_vec_map)
+	} > ROM0
+
+	.reset 0xa0000400 :		/* ã­ã£ãã·ã¥åæåãªã©ãå«ã */
+	{
+		*(.reset)
+	} > ROM0
+
+	.text :
+	{
+		_stext = . ;
+		*(.text)
+		_etext  = . ;
+	} > ROM1
+
+	.rodata :
+	{
+		*(.rodata)
+	} > ROM1
+
+	__idata_start = .;
+	.data :
+	AT ( __idata_start )
+	{
+		__data_start  = . ;
+		*(.data)
+	} > RAM
+
+	/* çç±ã¯è¯ãåãããªãããã©ããããæ¸ãã®ãä¸è¬çãããã */
+	_gp = . + 0x8000;
+
+	/* sdata ã»ã¯ã·ã§ã³ã¯ chk ã§å¼ã£ãããã®ã§ãä¿çã
+	   ã³ã³ãã¤ã«æã«ã-G 0 ãªãã·ã§ã³ã§é¿ãã¦ãã¾ãã */
+
+	__isdata_start = .;
+	.sdata :
+	AT ( __isdata_start + SIZEOF(.data) )
+	{
+		*(.lit8) 
+		*(.lit4) 
+		*(.sdata) 
+	} > RAM
+
+	__idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata);
+
+	__bss_start = .	;
+	.sbss : 
+	{
+		_fbss = . ;
+		*(.sbss)
+		*(.scommon)
+	} > RAM
+
+	.bss : 
+	{
+		*(.bss)
+		*(COMMON)
+		__bss_end = .;
+		_end = . ;
+	} > RAM
+
+	PROVIDE (end = .);
+
+	.comment 	0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(memcpy = _dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_icu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_icu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_icu.h	(revision 26)
@@ -0,0 +1,436 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _VR4131_ICU_H_
+#define _VR4131_ICU_H_
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©(ICU)é¢ä¿ã®å®ç¾©
+ */
+
+/*  å²è¾¼ã¿çªå·ã®å®ç¾©ï¼0-7çªã¯ mips3.h ã§ä½¿ç¨ã8çªä»¥éãæå®ãããï¼ */
+/*  SYSINT1REG  */
+#define INTNO_BAT        8	/*  ããããªå²è¾¼ã¿  */
+#define INTNO_POWER      9	/*  ãã¯ã¼ã¹ã¤ããå²è¾¼ã¿  */
+#define INTNO_RTCL1     10	/*  RTCLong1å²è¾¼ã¿  */
+#define INTNO_ETIME     11	/*  ElipsedTimeã¿ã¤ãå²è¾¼ã¿ */
+#define INTNO_GIU       12	/*  GIUå²è¾¼ã¿  */
+#define INTNO_SIU       13	/*  SIUå²è¾¼ã¿  */
+#define INTNO_SOFTINT   14	/*  ã½ããã¦ã§ã¢å²è¾¼ã¿  */
+#define INTNO_CLKRUN    15	/*  CLKRUNå²è¾¼ã¿  */
+
+/*  SYSINT2REG  */
+#define INTNO_RTCL2     16	/*  RTCLong2å²è¾¼ã¿  */
+#define INTNO_LED       17	/*  LEDå²è¾¼ã¿  */
+#define INTNO_TCLK      18	/*  TClockã«ã¦ã³ã¿å²è¾¼ã¿  */
+#define INTNO_FIR       19	/*  FIRå²è¾¼ã¿  */
+#define INTNO_DSIU      20	/*  DSIUå²è¾¼ã¿  */
+#define INTNO_PCI       21	/*  PCIå²è¾¼ã¿  */
+#define INTNO_SCU       22	/*  SCUå²è¾¼ã¿  */
+#define INTNO_CSI       23	/*  CSIå²è¾¼ã¿  */
+#define INTNO_BCU       24	/*  BCUå²è¾¼ã¿  */
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãç®¡çããå²è¾¼ã¿ã®æ¬æ°  */
+#define TMAX_ICU_INTNO	17u
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹å®ç¾©  */
+/* ä»¥ä¸ã® xxx_asmãxxx_offset ã¯ãã¢ã»ã³ãã©ã§ã®å©ç¨åãã */
+#define ICU_BASE_ADDR		0x0f000000
+#define ICU_BASE_ADDR_asm	ASM_SIL( ICU_BASE_ADDR )
+
+#define SYSINT1_offset		0x80
+#define MSYSINT1_offset		0x8c
+#define MDSIUINT_offset		0x96
+#define SYSINT2_offset		0xa0
+#define MSYSINT2_offset		0xa6
+
+#define MSYSINT1REG	(ICU_BASE_ADDR + MSYSINT1_offset)
+				/* ã·ã¹ãã å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿1(ã¬ãã«1) */
+#define MDSIUINTREG	(ICU_BASE_ADDR + MDSIUINT_offset)
+				/* DSIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿(ã¬ãã«2)  */
+#define MSYSINT2REG	(ICU_BASE_ADDR + MSYSINT2_offset)
+				/* ã·ã¹ãã å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2(ã¬ãã«1) */
+
+/*  å²è¾¼ã¿è¦å ããããã¿ã¼ã³ (ä¸è¨ãã¢ã»ã³ãã©é¨åã§ãå©ç¨ãã¦ããã) */
+/* MSYSINT1REG / SYSINT1REG é¢ä¿ */
+#define CLKRUNINTR	BIT12	/* CLKRUN å²è¾¼ã¿ */
+#define SOFTINTR	BIT11	/* ã½ããã¦ã§ã¢å²è¾¼ã¿ */
+#define SIUINTR		BIT9	/* SIU å²è¾¼ã¿ */
+#define	GIUINTR		BIT8	/* GIU(ä¸ä½) å²è¾¼ã¿ */
+#define	ETIMERINTR	BIT3	/* ElapsedTimeã¿ã¤ã å²è¾¼ã¿ */
+#define RTCL1INTR	BIT2	/* RTCLong1ã¿ã¤ã å²è¾¼ã¿ */
+#define POWERINTR	BIT1	/* ãã¯ã¼ã¹ã¤ããå²è¾¼ã¿ */
+#define BATINTR		BIT0	/* ããããªå²è¾¼ã¿ */
+
+/* MSYSINT2REG / SYSINT2REG é¢ä¿ */
+#define BCUINTR		BIT9	/* BCU å²è¾¼ã¿ */
+#define CSIINTR		BIT8	/* CSI å²è¾¼ã¿ */
+#define SCUINTR		BIT7	/* SCU å²è¾¼ã¿ */
+#define PCIINTR		BIT6	/* PCI å²è¾¼ã¿ */
+#define DSIUINTR	BIT5	/* DSIU å²è¾¼ã¿ */
+#define FIRINTR		BIT4	/* FIR å²è¾¼ã¿ */
+#define TCLKINTR	BIT3	/* VTClockã«ã¦ã³ã¿ å²è¾¼ã¿ */
+#define LEDINTR		BIT1	/* LED å²è¾¼ã¿ */
+#define RTCL2INTR	BIT0	/* RTCLong2 å²è¾¼ã¿ */
+
+/* MDSIUINTREG é¢ä¿ */
+#define INTDSIU  	BIT11	/* DSIUã®å¤åå²è¾¼ã¿è¨±å¯ */
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯é¢ä¿
+ */
+
+/*  æ§é ä½ICU_IPMå
+ã®ãªãã»ãããæ±ããããã®ãã¯ã­ï¼makeoffset.cã§ç¨ããï¼
+    ãªãããã®ãã¯ã­ã§å®ç¾©ããå¤ã¯ãç¹ã«å©ç¨ãã¦ããªãã*/
+#define OFFSET_DEF_ICU_IPM	OFFSET_DEF(ICU_IPM, msysint2)
+
+/*  MSYSINT1,2ã«è¨­å®ãã¦ã¯ãããªãããã  */
+#define NG_BIT_MSYSINT1	(BIT4 | BIT5 | BIT6 | BIT7 | BIT10 | BIT13 |BIT14 | BIT15)
+#define NG_BIT_MSYSINT2	(BIT2 | BIT10 | BIT11 | BIT12 | BIT13 | BIT14 | BIT15)
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®ãã§ãã¯  */
+#define CHECK_ICU_IPM(ipm)						\
+		CHECK_PAR(!(ipm.msysint1 & NG_BIT_MSYSINT1));		\
+		CHECK_PAR(!(ipm.msysint2 & NG_BIT_MSYSINT2))
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«å¯¾ããå²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«  */
+extern ICU_IPM icu_intmask_table[];
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®intmaskãã¼ãã«ã®è¨­å®  */
+Inline void icu_set_ilv(INTNO intno, ICU_IPM *ipm) {
+	/* CHECK_ICU_IPM(ipm) ã¯ãä¸ä½ã«ã¼ãã³ã§å®è¡æ¸ã¿ */
+	icu_intmask_table[intno].msysint1 = ipm->msysint1;
+	icu_intmask_table[intno].msysint2 = ipm->msysint2;
+}
+
+/*  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯è¨­å®  */
+Inline void icu_set_ipm(ICU_IPM *ipm) {
+	/* CHECK_ICU_IPM(ipm) ã¯ãä¸ä½ã«ã¼ãã³ã§å®è¡æ¸ã¿ */
+	vr4131_wrh_mem( (VP) MSYSINT1REG, ipm->msysint1 );
+	vr4131_wrh_mem( (VP) MSYSINT2REG, ipm->msysint2 );
+}
+
+/*  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯åå¾  */
+Inline void icu_get_ipm(ICU_IPM *ipm) {
+	ipm->msysint1 = vr4131_reh_mem( (VP) MSYSINT1REG );
+	ipm->msysint2 = vr4131_reh_mem( (VP) MSYSINT2REG );
+}
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/*  ã¢ã»ã³ãã©å¦çé¢ä¿  */
+
+/*  å²è¾¼ã¿è¨±å¯ãããã®å¾
+é¿ã¨å¾©å
+  */
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãã¹ã¿ãã¯ã«ä¿å­  */
+#define PUSH_ICU_IPM						\
+    li      t1, ICU_BASE_ADDR_asm;				\
+    addi    sp, sp, -2*2;					\
+    lh      t3, MSYSINT1_offset(t1);	/* t3 = MSYSINT1REG */	\
+    lh      t4, MSYSINT2_offset(t1);	/* t4 = MSYSINT2REG */	\
+    sh      t3, (sp);						\
+    sh      t4, 2(sp)
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãã¹ã¿ãã¯ããå¾©å
+  */
+#define POP_ICU_IPM							      \
+    li      t1, ICU_BASE_ADDR_asm;					      \
+    lw      t3, (sp);			/* t3 = MSYSINT2REG:MSYSINT1REG */    \
+					/* æ³¨æï¼ãªãã«ã¨ã³ãã£ã¢ã³ä¾å­ */    \
+    sh      t3, MSYSINT1_offset(t1);	/* MSYSINT1REG = t3ã®ä¸ä½2ãã¤ã*/    \
+    srl     t4, t3, 16;							      \
+    sh      t4, MSYSINT2_offset(t1);	/* MSYSINT2REG = t3ã®ä¸ä½2ãã¤ã*/    \
+    addi    sp, sp, 2*2
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãè¨­å®  */
+/*      t0ã«å²è¾¼ã¿è¦å çªå·ãå
+¥ã£ãç¶æ
+ã§å¼ã°ãã  */
+/*      t0ã®å
+å®¹ãå£ãã¦ã¯ãããªã  */
+/*      t1ã«å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®å®æ°ãå
+¥ã£ã¦ããã®ã§ç ´å£ãã¦ã¯ãªããªãã  */
+#define SET_ICU_IPM							      \
+    la      t4, icu_intmask_table;	/* ãã¼ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ */    \
+    sll     t2, t0, 2;			/* ãªãã»ããï¼å²è¾¼ã¿è¦å çªå·Ã4å */ \
+    li      t3, ICU_BASE_ADDR_asm;					      \
+    add     t4, t4, t2;			/* å
+é ­ã¢ãã¬ã¹ï¼ãªãã»ãã */        \
+    lw      t5, (t4);			/* t5 = MSYSINT2REG:MSYSINT1REG */    \
+					/* æ³¨æï¼ãªãã«ã¨ã³ãã£ã¢ã³ä¾å­ */    \
+    sh      t5, MSYSINT1_offset(t3);	/* MSYSINT1REG = t5ã®ä¸ä½2ãã¤ã */   \
+    srl     t6, t5, 16;							      \
+    sh      t6, MSYSINT2_offset(t3)	/* MSYSINT2REG = t5ã®ä¸ä½2ãã¤ã */
+
+/*  ããã¤ã¹åããåå¥å¦çãå±éãããã¯ã­
+      å²è¾¼ã¿è¦å ã t0 ã«å
+¥ãã¦ proc_END ã«é£ã¶  */
+#define MAKE_PROC(device)	\
+proc_##device:			\
+    li      t0, INTNO_##device;	\
+    j       proc_END;		\
+    nop;
+
+/*  å²è¾¼ã¿è¦å ã®å¤å¥  */
+/*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯MIPS3ã³ã¢ã®Int0ã«æ¥ç¶ããã¦ãããã¹ã¯ã®ãã§ãã¯ */
+#define PROC_INT0						\
+/*  ã¿ã¤ãã®å¿ç­æ§ãä¸ãããããSYSINT2REGããèª¿ã¹ã  */	\
+    li      t1, ICU_BASE_ADDR_asm;				\
+    lh      t3, SYSINT2_offset(t1);    /* t3 = SYSINT2REG */	\
+    lh      t4, MSYSINT2_offset(t1);   /* t4 = MSYSINT2REG */	\
+    and     t5, t3, t4;     /*  å²è¾¼ã¿è¦æ±ãããã«ãã¹ã¯  */	\
+    beq     t5, zero, proc_SYSINT1;				\
+    andi    t6, t5, (BIT0 | BIT1 | BIT2 | BIT3 | BIT4 );	\
+    beq     t6, zero, proc_SYSINT2_HIGH_5BIT;			\
+								\
+/*  SYSINT2REG (b0:4) ã®å¦ç  */				\
+    andi    t7, t5, ( RTCL2INTR | LEDINTR );			\
+    beq     t7, zero, proc_SYSINT2_BIT3_4;			\
+    andi    t8, t5, LEDINTR;					\
+    beq     t8, zero, proc_LED;					\
+MAKE_PROC(RTCL2);						\
+MAKE_PROC(LED);							\
+								\
+proc_SYSINT2_BIT3_4:						\
+    andi    t1, t5, TCLKINTR;					\
+    beq     t1, zero, proc_FIR;					\
+MAKE_PROC(TCLK);						\
+MAKE_PROC(FIR);							\
+								\
+/*  SYSINT2REG (b5:9) ã®å¦ç  */				\
+proc_SYSINT2_HIGH_5BIT:						\
+    andi    t7, t5, (DSIUINTR | PCIINTR);			\
+    beq     t7, zero, proc_SYSINT2_BIT7_7;			\
+    andi    t2, t5, DSIUINTR;					\
+    beq     t2, zero, proc_PCI;					\
+MAKE_PROC(DSIU);						\
+MAKE_PROC(PCI);							\
+								\
+proc_SYSINT2_BIT7_7:						\
+    andi    t3, t5, SCUINTR;					\
+    beq     t3, zero, proc_SYSINT2_BIT8_9;			\
+MAKE_PROC(SCU);							\
+								\
+proc_SYSINT2_BIT8_9:						\
+    andi    t4, t5, CSIINTR;					\
+    beq     t4, zero, proc_BCU;					\
+MAKE_PROC(CSI);							\
+MAKE_PROC(BCU);							\
+								\
+/*  SYSINT1REGã®ãã§ãã¯  */					\
+/*  t1ã«ICU_BASE_ADDRãå
+¥ã£ãç¶æ
+ã§ããã«æ¥ã  */		\
+proc_SYSINT1:							\
+    lh      t3, SYSINT1_offset(t1);	/* t3 = SYSINT1REG */	\
+    lh      t4, MSYSINT1_offset(t2);	/* t4 = MSYSINT1REG */	\
+    and     t5, t3, t4;     /*  å²è¾¼ã¿è¦æ±ãããã«ãã¹ã¯  */	\
+    andi    t6, t5, 0xff;					\
+    beq     t6, zero, proc_SYSINT1_HIGH_BYTE;			\
+								\
+/*  SYSINT1REG (ä¸ä½ãã¤ã) ã®å¦ç  */				\
+    andi    t7, t5, (BATINTR | POWERINTR);			\
+    beq     t7, zero, proc_SYSINT1_BIT2_3;			\
+    andi    t8, t5, BATINTR;					\
+    beq     t8, zero, proc_POWER;				\
+MAKE_PROC(BAT);							\
+MAKE_PROC(POWER);						\
+								\
+proc_SYSINT1_BIT2_3:						\
+    andi    t1, t5, ETIMERINTR;					\
+    beq     t1, zero, proc_ETIME;				\
+MAKE_PROC(RTCL1);						\
+MAKE_PROC(ETIME);						\
+								\
+/*  SYSINT1REG (ä¸ä½ãã¤ã) ã®å¦ç  */				\
+proc_SYSINT1_HIGH_BYTE:						\
+    andi    t8, t5, (GIUINTR | SIUINTR);			\
+    beq     t8, zero, proc_SYSINT1_BIT11_12;			\
+    andi    t9, t5, GIUINTR;					\
+    beq     t9, zero, proc_SIU;					\
+MAKE_PROC(GIU);							\
+MAKE_PROC(SIU);							\
+								\
+proc_SYSINT1_BIT11_12:						\
+    andi    t1, t5, SOFTINTR;					\
+    beq     t1, zero, proc_CLKRUN;				\
+MAKE_PROC(SOFTINT);						\
+MAKE_PROC(CLKRUN);						\
+								\
+proc_END:
+
+/*============================================================================*/
+
+/* å²è¾¼ã¿å¦çã«é¢ãããå²è¾¼ã¿è¦å ã®å¤æ­åå²å¦çã®ã·ã¹ãã ä¾å­é¨ */
+
+	/*  å¼ã³åºãããã¨ãã       */
+	/*    a1ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+	/*    a2ã«åå ã¬ã¸ã¹ã¿       */
+	/*  ã®å¤ãå
+¥ã£ã¦ãã         */
+
+#define PROC_INTERRUPT_SYS							\
+	and     t2, a2, a1;          /*  å²è¾¼ã¿è¦æ±ãããã«ãã¹ã¯ãããã  */	\
+	andi    t3, t2, Cause_IP0;   /*  IP0ãããåãåºã  */			\
+	bne     t3, zero, proc_IP0;						\
+	andi    t4, t2, Cause_IP1;   /*  IP1ãããåãåºã  */			\
+	bne     t4, zero, proc_IP1;						\
+	andi    t5, t2, Cause_IP2;   /*  IP2ãããåãåºã  */			\
+	bne     t5, zero, proc_IP2;						\
+	andi    t6, t2, Cause_IP3;   /*  IP3ãããåãåºã  */			\
+	bne     t6, zero, proc_IP3;						\
+	andi    t7, t2, Cause_IP4;   /*  IP4ãããåãåºã  */			\
+	bne     t7, zero, proc_IP4;						\
+	nop;									\
+	/* VR4131ã®å ´åãCause_IP5ã¨Cause_IP6ã¯æªæ¥ç¶ãªã®ã§çç¥ */		\
+	/*ï¼ãã¼ãã¦ã§ã¢ç·¨p196åç
+§ï¼*/						\
+										\
+	/* ãªãããã®åå ã§åå²ã§ããªãå ´å */					\
+	j       join_interrupt_and_exception;					\
+	nop;									\
+										\
+										\
+/*  MIPS3ã³ã¢ã¬ãã«ã§åå²ããã¬ãã«ã§ã®å¦ç		*/			\
+/*    å²è¾¼ã¿è¦å çªå·ã t0 ã«å
+¥ãã¦			*/			\
+/*    å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°ã t1 ã«å
+¥ãã¦	*/			\
+/*    set_ICU_IPM ã¸é£ã¶				*/			\
+proc_IP7:   /*  å²è¾¼ã¿è¦å IP7ï¼ã¿ã¤ãï¼ã®å ´å  */				\
+	xori    t1, zero, Cause_IP7;						\
+	j       set_ICU_IPM;							\
+	ori     t0, zero, INTNO_IP7;						\
+										\
+proc_IP0:   /*  å²è¾¼ã¿è¦å IP0ï¼ã½ããã¦ã§ã¢å²è¾¼ã¿0ï¼ã®å ´å  */			\
+	xori    t1, zero, Cause_IP0;						\
+	j       set_ICU_IPM;							\
+	ori     t0, zero, INTNO_IP0;						\
+										\
+proc_IP1:   /*  å²è¾¼ã¿è¦å IP1ï¼ã½ããã¦ã§ã¢å²è¾¼ã¿1ï¼ã®å ´å  */			\
+	xori    t1, zero, Cause_IP1;						\
+	j       set_ICU_IPM;							\
+	ori     t0, zero, INTNO_IP1;						\
+										\
+proc_IP2:   /*  å²è¾¼ã¿è¦å IP2ï¼Int0ï¼ã®å ´å  */					\
+            /*  ããã¹ã¦ã®å²è¾¼ã¿ããéç¥ãããã*/				\
+	PROC_INT0;	/* åå²å¦çã¯ vr4131_icu.h ã§ãã¯ã­å®ç¾©ããã¦ãã */	\
+	xori    t1, zero, Cause_IP2;						\
+	j       set_ICU_IPM;							\
+	nop;									\
+										\
+proc_IP3:   /*  å²è¾¼ã¿è¦å IP3ï¼Int1ï¼ã®å ´å  */ 				\
+            /*  ãrtc_long1_intrãï¼ã¤ã³ã¿ã¼ãã«ã¿ã¤ãï¼ãéç¥ãããã*/	\
+	xori    t1, zero, Cause_IP3;						\
+	j       set_ICU_IPM;							\
+	ori     t0, zero, INTNO_IP3;						\
+										\
+proc_IP4:   /*  å²è¾¼ã¿è¦å IP4ï¼Int2ï¼ã®å ´å  */ 				\
+            /*  ãrtc_long2_intrãï¼ã¤ã³ã¿ã¼ãã«ã¿ã¤ãï¼ãéç¥ãããã*/	\
+	xori    t1, zero, Cause_IP4;						\
+	j       set_ICU_IPM;							\
+	ori     t0, zero, INTNO_IP4;						\
+										\
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®ãã¹ã¯è¨­å®  */					\
+set_ICU_IPM:									\
+										\
+	SET_ICU_IPM;	/* å²è¾¼ã¿ãã¹ã¯ãè¨­å®ãããã¯ã­			    */	\
+			/*   å®è£
+ãè¡ãã¨ãã«ã¯ãä¸è¨ã«ã¦t0ãt1ã¯å©ç¨ããã® */	\
+			/*   ã§ç ´å£ããªãããã«ãæ³¨æããªããã°ãªããªãã   */	\
+										\
+/*  åå ã¬ã¸ã¹ã¿IPãããã«ä¿æããã¦ããåç¨®å²è¾¼ã¿ã®å²è¾¼ã¿è¦æ±ãã¯ãªã¢ããã	\
+    t1ã«ã¯ãå²è¾¼ã¿è¦æ±ããããåè»¢ãããã®ãå
+¥ã£ã¦ããã */			\
+										\
+	mfc0    t8, Cause;							\
+	and     t8, t8, t1;							\
+	mtc0    t8, Cause;							\
+										\
+/*  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®ãã¹ã¯è¨­å®ã¨Cè¨èªã«ã¼ãã³å¼ã³åºã  */			\
+/*    t0ã«å²è¾¼ã¿è¦å çªå·ãè¨­å®ãããç¶æ
+ã§ããã«æ¥ã  */			\
+	la      t3, int_table;   /* æ¬ä¼¼ãã¯ã¿ã¢ãã¬ã¹ */			\
+	sll     t4, t0, 3;       /* å²è¾¼ã¿è¦å çªå·ã8å				\
+				      INT_TABLEåã¯ã				\
+					ãã³ãã©ã®ã¢ãã¬ã¹(4ãã¤ã)		\
+					ï¼MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯(4ãã¤ã)	\
+				      ã®ãåè¨8ãã¤ãã */			\
+	add     t5, t3, t4;      /* ãã¯ã¿ã¢ãã¬ã¹ãç®åº */			\
+	lw      t6, INT_TABLE_intmask(t5);					\
+           		    	/*  IPM(å²è¾¼ã¿è¨±å¯ããã)èª­ã¿åºãã		\
+				    å²è¾¼ã¿ãã¹ã¯ä»¥å¤ã®å¤ã¯ã			\
+					IEãããã¯ã»ãã			\
+					EXLãããã¯ãªã»ãã			\
+				    ç¶æ
+ã«ãªã£ã¦ããã*/			\
+	lw      t7, (t5);        /* Cè¨èªã«ã¼ãã³å
+é ­ã¢ãã¬ã¹èª­ã¿åºã  */	\
+										\
+	jalr    ra, t7;          /* Cè¨èªã«ã¼ãã³å¼ã³åºã  */			\
+	mtc0    t6, Status;      /* å²è¾¼ã¿è¨±å¯ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®ãã¹ã¯è¨­å®*/\
+										\
+	mfc0    t0, Status;							\
+	ori     t0, t0, SR_EXL;  /* å²è¾¼ã¿ç¦æ­¢ï¼IEãããã®å¤ã¯ä¿æããªããã°ãªã\
+						ãªãã®ã§EXLããããç¨ããã*/	\
+	mtc0    t0, Status;							\
+										\
+	/*  CP0ãã¶ã¼ãã®ããã®æéç¨¼ã  */					\
+	NOP_FOR_CP0_HAZARD;
+
+#endif /* _VR4131_ICU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_rtc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_rtc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_rtc.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _VR4131_RTC_H_
+#define _VR4131_RTC_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+
+/*
+ *  VR4131å
+èµãªã¢ã«ã¿ã¤ã ã¯ã­ãã¯ã¦ããã(RTC)é¢é£ã®å®ç¾©
+ *  ã¿ã¤ãã¨ãã¦ã¯ãTClockã«ã¦ã³ã¿ãå©ç¨ããã
+ */
+
+/* RTCå
+ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+/* TClockã«ã¦ã³ã¿é¢ä¿ */
+#define TCLKLREG	0x0f000120
+#define TCLKHREG	0x0f000122
+#define TCLKCNTLREG	0x0f000124
+#define TCLKCNTHREG	0x0f000126
+
+#define RTCINTREG	0x0f00013e
+
+/*  TClockã«ã¦ã³ã¿å²è¾¼ã¿è¦æ±ããã  */
+#define RTCINTR3  	BIT3	/*  RTCå²è¾¼ã¿ã¬ã¸ã¹ã¿  */
+
+#endif /* _VR4131_RTC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131_sil.h	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _MIPS3_SIL_H_
+#define _MIPS3_SIL_H_
+
+#include <kz_vr4131pci_01.h>	/* VR4131_BASE_ADDR */
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  VR4131ç¨ä¸è¬ã¢ã¯ã»ã¹ã¤ã³ã¿ãã§ã¼ã¹
+ */
+#define vr4131_reb_mem(x)	sil_reb_mem( (VP)(VR4131_BASE_ADDR + x) )
+#define vr4131_wrb_mem(x, y)	sil_wrb_mem( (VP)(VR4131_BASE_ADDR + x), y )
+
+#define vr4131_reh_mem(x)	sil_reh_mem( (VP)(VR4131_BASE_ADDR + x) )
+#define vr4131_wrh_mem(x, y)	sil_wrh_mem( (VP)(VR4131_BASE_ADDR + x), y )
+
+/* ã¢ã»ã³ãã©ç¨ SIL */
+#define ASM_SIL(x)	(VR4131_BASE_ADDR + x)
+
+/*
+ *  VR4131ç¨ä¸è¬ã¬ã¸ã¹ã¿æä½é¢æ°
+ */
+#define vr4131_orb( mem, val )	vr4131_wrb_mem( mem, vr4131_reb_mem( mem ) | val )
+#define vr4131_andb( mem, val )	vr4131_wrb_mem( mem, vr4131_reb_mem( mem ) & val )
+
+#define vr4131_orh( mem, val )	vr4131_wrh_mem( mem, vr4131_reh_mem( mem ) | val )
+#define vr4131_andh( mem, val )	vr4131_wrh_mem( mem, vr4131_reh_mem( mem ) & val )
+
+#endif /* _MIPS3_SIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/Makefile.config	(revision 26)
@@ -0,0 +1,35 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼VR5500, RTE-VR5500-CBç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = mipsel-nec-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+			-I$(SRCDIR)/pdic/simple_sio
+COPTS := $(COPTS) -mgp32
+LDFLAGS := $(LDFLAGS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS) \
+				:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o tl16pir552.o
+# tl16pir552.o ã¯ããã¼ãæ­è¼ã·ãªã¢ã«ã³ã³ãã­ã¼ã©é¢ä¿ã®ãªãã¸ã§ã¯ããã¡ã¤ã«
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+#LDSCRIPT = $(CPU)/$(SYS)/vr5500_elf.ld
+
+#ROM ã«ç¡æ¡ä»¶ã¸ã£ã³ããå
+¥ããã¨ãã«ä½¿ãã
+LDSCRIPT = $(CPU)/$(SYS)/vr5500_elf_ram.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.cfg	(revision 26)
@@ -0,0 +1,13 @@
+/*
+ *	SIOãã©ã¤ãï¼RTE-VR5500-CBç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+#include <hw_serial.h>
+INCLUDE("\"hw_serial.h\"");
+
+/* ãã¼ãï¼ */
+DEF_INH( INHNO_SIO1, { TA_HLNG, sio1_handler } );
+
+/* ãã¼ãï¼ */
+#if TNUM_PORT >= 2
+DEF_INH( INHNO_SIO2, { TA_HLNG, sio2_handler } );
+#endif /* TNUM_PORT */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_serial.h	(revision 26)
@@ -0,0 +1,189 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼TI16PIR552ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <tl16pir552.h>		/* siopcb, tl16pir552_openflag */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO1		INTNO_SERIAL0
+#define INHNO_SIO2		INTNO_SERIAL1
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize		tl16pir552_initialize
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+#define sio_init		tl16pir552_init
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	UB	mask = 0;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = tl16pir552_openflag();
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = tl16pir552_opn_por(siopid, exinf);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	if (!openflag) {
+		switch(siopid) {
+		case 1 :	/* ãã¼ãï¼; ã·ãªã¢ã«ï¼ */
+			all_set_ilv( INTNO_SERIAL0, &((IPM) IPM_SCC0) );
+							/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+			mask = SERIAL0;
+			break;
+		case 2 :	/* ãã¼ãï¼; ã·ãªã¢ã«ï¼ */
+			all_set_ilv( INTNO_SERIAL1, &((IPM) IPM_SCC1) );
+							/* å²è¾¼ã¿ã¬ãã«è¨­å® */
+			mask = SERIAL1;
+			break;
+		}
+		icu_orb( (VP) ICU_INT0M, mask );
+							/* ãã¹ã¯è¨­å®å¦ç */
+	}
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	tl16pir552_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼(ãã¼ãï¼ãï¼ã®ä¸¡æ¹)
+	 */
+	if (!tl16pir552_openflag) {
+		icu_andb( (VP) ICU_INT0M, ~(SERIAL0 | SERIAL1) );
+							/* ãã¹ã¯è¨­å®å¦ç */
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio1_handler		tl16pir552_uart0_isr
+#if TNUM_SIOP >= 2
+#define sio2_handler		tl16pir552_uart1_isr
+#endif /* TNUM_SIOP */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		tl16pir552_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#define	sio_snd_chr_pol		tl16pir552_putchar_pol
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		tl16pir552_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		tl16pir552_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		tl16pir552_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd		tl16pir552_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv		tl16pir552_ierdy_rcv
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/hw_timer.h	(revision 26)
@@ -0,0 +1,199 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼uPD71054ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <upd71054.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	INTNO_TIMER0
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH		CLOCK;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *  TIMER_CLOCKã¯ããã¼ãé¢ä¿ã®ããããã¡ã¤ã«ã«è¨è¼ãã¦ããã
+ */
+/* 1ããªç§å¨æ(isig_tim ãå¼ã³åºãå¨æ;1kHz)ãçºçãããããã®ã«ã¦ã³ãæ° */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+/* clock ã usec åä½ã«å¤æãããã¯ã­ */
+#define	TO_USEC(clock)		((clock) * 1000u / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãå¨æã®åä½ãå
+é¨è¡¨ç¾ã«å¤æ
+ *  (å©ç¨ããã¿ã¤ãããã¦ã³ã«ã¦ã³ã¿ãªã®ã§ããã®ãã¯ã­ãããã¨ä¾¿å©)
+ */
+#define CLOCK_PER_TICK		((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK		((CLOCK) 0xffff)	/* ï¼ãã¤ã */
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE		100u	/* å¦çé
+ãã®è¦ç©ãå¤(åä½ã¯å
+é¨è¡¨ç¾) */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãåæ­¢ã¾ã§ã®æéï¼nsecåä½ï¼
+ *  å¤ã«æ ¹æ ã¯ãªãï¼
+ */
+#define	TIMER_STOP_DELAY	200u
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void hw_timer_int_clear() {
+
+	icu_wrb( (VP) ICU_INTR, TIMER0 );
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *  ã»ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void hw_timer_initialize() {
+
+	upd71054_wrb( (VP) PCNTL, (COUNTER_0 | LOW_HIGH_BYTE | MODE_2 | BINARY) );
+
+	/*
+	 *  ã¿ã¤ãå¨æãè¨­å®ãï¼ã¿ã¤ãã®åä½ãéå§ããï¼
+	 */
+	assert( CLOCK_PER_TICK <= MAX_CLOCK );
+
+	upd71054_wrb( (VP) PCNT0, (UB) LO8(CLOCK_PER_TICK) );
+	upd71054_wrb( (VP) PCNT0, (UB) HI8(CLOCK_PER_TICK) );
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãï¼è¦æ±ãã¯ãªã¢ããå¾ï¼
+	 *  ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	all_set_ilv( INHNO_TIMER, &((IPM) IPM_TIMER0) );/* å²è¾¼ã¿ã¬ãã«ã®è¨­å® */
+
+	hw_timer_int_clear();				/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	icu_orb( (VP) ICU_INT0M, TIMER0 );		/* å²è¾¼ã¿ãã¹ã¯è§£é¤ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void hw_timer_terminate() {
+
+	/*  ã¿ã¤ãã®åä½ãåæ­¢ãã  */
+	upd71054_wrb( (VP) PCNTL, (COUNTER_0 | LOW_HIGH_BYTE | MODE_2 | BINARY) );
+
+	upd71054_wrb( (VP) PCNT0, 0 );
+	upd71054_wrb( (VP) PCNT0, 0 );
+
+	/*
+	 *  ã¿ã¤ãå²è¾¼ã¿ããã¹ã¯ãï¼è¦æ±ãã¯ãªã¢ããï¼
+	 */
+	icu_andb( (VP) ICU_INT0M, ~TIMER0 );		/* å²è¾¼ã¿ããã¹ã¯ */
+
+	hw_timer_int_clear();				/* å²è¾¼ã¿è¦æ±ãã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK hw_timer_get_current() {
+
+	UH 	count;
+	UB	hi, lo;
+
+	/* ã«ã¦ã³ã¿å¤ã®èª­ã¿åºã */
+	upd71054_wrb( (VP) PCNTL, (COUNTER_0 | COUNT_LATCH_COMM) );
+
+	lo = upd71054_reb( (VP) PCNT0 );
+	hi = upd71054_reb( (VP) PCNT0 );
+	count = JOIN8( hi, lo );
+
+	return (CLOCK_PER_TICK - count);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL hw_timer_fetch_interrupt() {
+
+	return( ( icu_reb( (VP) ICU_INTR ) & TIMER0 ) != 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/pic_icu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/pic_icu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/pic_icu.h	(revision 26)
@@ -0,0 +1,273 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _PIC_ICU_H_
+#define _PIC_ICU_H_
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+#include <rte_vr5500_cb.h>	/* ICU_BASE_ADDR */
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©(Programable Interrupt Controler)é¢ä¿ã®å®ç¾©
+ */
+
+/*  å²è¾¼ã¿çªå·ã®å®ç¾©ï¼0-7ã¯mips3.hã§ä½¿ç¨ã8ä»¥éãæå®ãããï¼ */
+#define INTNO_TIMER0	 8	/*  ã¿ã¤ãï¼      */
+#define INTNO_SERIAL0	 9	/*  ã·ãªã¢ã«ï¼    */
+#define INTNO_GBUS	10	/*  GBUS-INT0-    */
+#define	INTNO_BUS_ERR	11	/*  BUS_ERROR     */
+#define	INTNO_TIMER1	12	/*  ã¿ã¤ãï¼      */
+#define INTNO_SERIAL1	13	/*  ã·ãªã¢ã«ï¼    */
+#define INTNO_PARALEL	14	/*  ãã©ã¬ã«      */
+#define INTNO_DMAC	15	/*  DMAC_INTREQ-  */
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãç®¡çããå²è¾¼ã¿ã®æ¬æ°  */
+#define TMAX_ICU_INTNO	8u
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹å®ç¾©  */
+/* ä»¥ä¸ã®xxx_offsetã¯ãã¢ã»ã³ãã©ã§ä½¿ãã */
+#define INT0M_offset	0x00
+#define INT1M_offset	0x10
+#define INTR_offset	0x20
+#define INTEN_offset	0x30
+
+#define ICU_INT0M	INT0M_offset
+#define ICU_INT1M	INT1M_offset
+#define ICU_INTR	INTR_offset
+#define ICU_INTEN	INTEN_offset
+
+/*  å²è¾¼ã¿è¦å ããããã¿ã¼ã³ (ä¸è¨ãã¢ã»ã³ãã©é¨åã§ãå©ç¨ãã¦ããã) */
+#define TIMER0		BIT0
+#define SERIAL0		BIT1
+#define GBUS		BIT2
+#define	BUS_ERR		BIT3
+#define	TIMER1		BIT4
+#define SERIAL1		BIT5
+#define PARALEL		BIT6
+#define DMAC		BIT7
+
+/* ICUå
+ã®ã¬ã¸ã¹ã¿ã¢ã¯ã»ã¹ç¨ã®é¢æ°  */
+#define icu_reb( addr )		sil_reb_mem( (VP)(ICU_BASE_ADDR + addr) )
+#define icu_wrb( addr, val )	sil_wrb_mem( (VP)(ICU_BASE_ADDR + addr), val )
+
+#define icu_orb( mem, val )	icu_wrb( mem, icu_reb( mem ) | val )
+#define icu_andb( mem, val )	icu_wrb( mem, icu_reb( mem ) & val )
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯é¢ä¿
+ */
+
+/*  æ§é ä½ICU_IPMå
+ã®ãªãã»ãããæ±ããããã®ãã¯ã­ï¼makeoffset.cã§ç¨ããï¼
+    ãªãããã®ãã¯ã­ã§å®ç¾©ããå¤ã¯ãç¹ã«å©ç¨ãã¦ããªãã*/
+#define OFFSET_DEF_ICU_IPM	OFFSET_DEF(ICU_IPM, int1m)
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¨­å®å¯è½ãªå²è¾¼ã¿ãã¹ã¯ããããã¿ã¼ã³ï¼æé«å¤ï¼*/
+#define MAX_ICU_IPM  0xff
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®ãã§ãã¯  */
+#define CHECK_ICU_IPM(ipm)						       \
+		CHECK_PAR( 0 < (ipm.int0m) && (ipm.int0m) <= MAX_ICU_IPM );    \
+		CHECK_PAR( 0 < (ipm.int1m) && (ipm.int1m) <= MAX_ICU_IPM )
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«å¯¾ããå²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«  */
+extern ICU_IPM icu_intmask_table[];
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®intmaskãã¼ãã«ã®è¨­å®  */
+Inline void icu_set_ilv(INTNO intno, ICU_IPM *ipm) {
+	/* CHECK_ICU_IPM(ipm) ã¯ãä¸ä½ã«ã¼ãã³ã§å®è¡æ¸ã¿ */
+	icu_intmask_table[intno].int0m = ipm->int0m;
+	icu_intmask_table[intno].int1m = ipm->int1m;
+}
+
+/*  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯è¨­å®  */
+Inline void icu_set_ipm(ICU_IPM *ipm) {
+	/* CHECK_ICU_IPM(ipm) ã¯ãä¸ä½ã«ã¼ãã³ã§å®è¡æ¸ã¿ */
+	icu_wrb( (VP) ICU_INT0M, ipm->int0m );
+	icu_wrb( (VP) ICU_INT1M, ipm->int1m );
+}
+
+/*  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯åå¾  */
+Inline void icu_get_ipm(ICU_IPM *ipm) {
+	ipm->int0m = icu_reb( (VP) ICU_INT0M );
+	ipm->int1m = icu_reb( (VP) ICU_INT1M );
+}
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/*  ã¢ã»ã³ãã©å¦çé¢ä¿  */
+
+/*  å²è¾¼ã¿è¨±å¯ãããã®å¾
+é¿ã¨å¾©å
+  */
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãã¹ã¿ãã¯ã«ä¿å­  */
+/*  ã¯ã¼ãå¢çã®é¢ä¿ã§ãæ¬æ¥ã¯1ãã¤ãã®ãã¹ã¯ã§ã¯ããããã©ãã
+    ã¯ã¼ãå¢çã®ããã«2ãã¤ãåä½ã§æ±ãå¿
+è¦ãããã */
+#define PUSH_ICU_IPM						\
+	li	t1, ICU_BASE_ADDR;				\
+	addi	sp, sp, -2*2;					\
+	lb	t3, INT0M_offset(t1);	/* t3 = INT0M */	\
+	lb	t4, INT1M_offset(t1);	/* t4 = INT1M */	\
+	sh	t3, (sp);					\
+	sh	t4, 2(sp)
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãã¹ã¿ãã¯ããå¾©å
+  */
+#define POP_ICU_IPM						\
+	li	t1, ICU_BASE_ADDR;				\
+	lh	t3, (sp);					\
+	lh	t4, 2(sp);					\
+	sb	t3, INT0M_offset(t1);	/* INT0M = t3 */	\
+	sb	t4, INT1M_offset(t1);	/* INT1M = t4 */	\
+	addi	sp, sp, 2*2
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãè¨­å®  */
+/*      t0ã«å²è¾¼ã¿è¦å çªå·ãå
+¥ã£ãç¶æ
+ã§å¼ã°ãã  */
+/*      t0ã®å
+å®¹ãå£ãã¦ã¯ãããªã  */
+/*      t1ã«å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®å®æ°ãå
+¥ã£ã¦ããã®ã§ç ´å£ãã¦ã¯ãªããªãã  */
+#define SET_ICU_IPM								\
+	la	t4, icu_intmask_table;	/*  ãã¼ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹  */	\
+	sll	t2, t0, 1;		/*  ãªãã»ããï¼å²è¾¼ã¿è¦å çªå·Ã2å	\
+						(ãã¹ã¯ã¯ã2ãã¤ã)  */		\
+	li	t3, ICU_BASE_ADDR;						\
+	add	t4, t4, t2;		/*  å
+é ­ã¢ãã¬ã¹ï¼ãªãã»ãã  */	\
+	lh	t5, (t4);		/*  t5 = INT0M:INT1M  */		\
+					/*  æ³¨æï¼ãªãã«ã¨ã³ãã£ã¢ã³ä¾å­  */	\
+	sb	t5, INT0M_offset(t3);	/*  INT0M=t5ã®ä¸ä½1ãã¤ã  */		\
+	srl	t6, t5, 8;							\
+	sb	t6, INT1M_offset(t3);	/*  INT1M=t5ã®ä¸ä½1ãã¤ã  */
+
+/*  ããã¤ã¹åããåå¥å¦çãå±éãããã¯ã­  */
+/*    å²è¾¼ã¿è¦å ãt0ã«å
+¥ãã¦ proc_END ã«é£ã¶  */
+#define MAKE_PROC(device)		\
+proc_##device:				\
+	li	t0, INTNO_##device;	\
+ 	j	proc_END;		\
+	nop;
+
+/*  å²è¾¼ã¿è¦å ã®å¤å¥  */
+/*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯MIPS3ã³ã¢ã®Int0ã«æ¥ç¶ããã¦ãã  */
+/*    ãã¹ã¯ã®ãã§ãã¯*/
+#define PROC_INT0				\
+	li      t2, ICU_BASE_ADDR;		\
+	lb      t3, INTR_offset(t2);		\
+	lb	t4, INT0M_offset(t2);		\
+	and	t5, t3, t4;		/* INT0M ã¨ãã¹ã¯ */	\
+	beq	t5, zero, proc_END;		\
+	nop;					\
+						\
+proc_BIT0:					\
+	andi	t4, t3, TIMER0;			\
+	beq	t4, zero, proc_BIT1;		\
+	nop;					\
+MAKE_PROC(TIMER0)				\
+						\
+proc_BIT1:					\
+	andi	t4, t3, SERIAL0;		\
+	beq	t4, zero, proc_BIT2;		\
+	nop;					\
+MAKE_PROC(SERIAL0)				\
+						\
+proc_BIT2:					\
+	andi	t4, t3, GBUS;			\
+	beq	t4, zero, proc_BIT3;		\
+	nop;					\
+MAKE_PROC(GBUS)					\
+						\
+proc_BIT3:					\
+	andi	t4, t3, BUS_ERR;		\
+	beq	t4, zero, proc_BIT4;		\
+	nop;					\
+MAKE_PROC(BUS_ERR)				\
+						\
+proc_BIT4:					\
+	andi	t4, t3, TIMER1;			\
+	beq	t4, zero, proc_BIT5;		\
+	nop;					\
+MAKE_PROC(TIMER1)				\
+						\
+proc_BIT5:					\
+	andi	t4, t3, SERIAL1;		\
+	beq	t4, zero, proc_BIT6;		\
+	nop;					\
+MAKE_PROC(SERIAL1)				\
+						\
+proc_BIT6:					\
+	andi	t4, t3, PARALEL;		\
+	beq	t4, zero, proc_BIT7;		\
+	nop;					\
+MAKE_PROC(PARALEL)				\
+						\
+proc_BIT7:					\
+	andi	t4, t3, DMAC;			\
+	beq	t4, zero, proc_END;		\
+	nop;					\
+MAKE_PROC(DMAC)					\
+						\
+proc_END:
+
+#endif /* _PIC_ICU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/rte_vr5500_cb.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/rte_vr5500_cb.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/rte_vr5500_cb.h	(revision 26)
@@ -0,0 +1,136 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _RTE_VR5500_CB_
+#define _RTE_VR5500_CB_
+
+#define RTE_VR5500_CB
+
+/*
+ *  ããã¤ã¹ã®å²ãå½ã¦ãã¼ã¹ã¢ãã¬ã¹
+ */
+
+/* ã·ãªã¢ã«ã³ã³ãã­ã¼ã© (TL16PIR552) */
+#define UART_CH01	0xb9001000
+#define UART_CH02	0xb9002000
+#define PRINTER_PPCS	0xb9003000
+#define PRINTER_ECPCS	0xb9004000
+
+/* ã¿ã¤ã (uPD71054) */
+#define TIMER_BASE_ADDR	0xb9005000
+
+/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©(PIC) */
+#define ICU_BASE_ADDR	0xb9000000
+
+/*
+ *  ããã¤ã¹ã«ä¾çµ¦ãããã¯ã­ãã¯
+ */
+/* ã·ãªã¢ã«ã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [Hz]ï¼ãã¼ã¬ã¼ãè¨­å®ã§ä½¿ç¨ï¼
+ * ï¼16MHz = 16000000 Hz ; ãã¼ãã®ããã¥ã¢ã«p21åç
+§ï¼ */
+#define XIN_CLOCK	16000000u
+
+/* ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [kHz]
+ *ï¼TO_CLOCK ã§1ããªç§å¨æ(1kHz)ãçºçãããããã«ä½¿ç¨ï¼
+ * (2MHz = 2000kHz ; ãã¼ãã®ããã¥ã¢ã«p22åç
+§) */
+#define TIMER_CLOCK	2000u
+
+/*
+ *  ããã¤ã¹ã®å²è¾¼ã¿ãã¹ã¯ã®å®ç¾©
+ *
+ *  åªå
+åº¦ : (ä½) ã·ãªã¢ã«ï¼ -> ã·ãªã¢ã«ï¼ -> ã¿ã¤ãï¼ (é«)
+ */
+
+/*
+ *  ã·ãªã¢ã«ï¼å²è¾¼ã¿ã®å²è¾¼ã¿ãã¹ã¯ï¼éåä¿¡å
+±ç¨ï¼
+ *  ã»å²è¾¼ã¿ã¬ãã«ã¯éä¿¡ãåä¿¡ãåãã¬ãã«ã«è¨­å®ãã¦ãã
+ */
+#define CORE_IPM_SCC		INIT_CORE_IPM	/* MIPS3ã³ã¢(SR)ç¨ãã¼ã¿ */
+
+#define ICU_IPM_INT0_SCC0	TIMER0		/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ç¨ãã¼ã¿ */
+#define ICU_IPM_INT1_SCC0	0u
+
+/*  è¨­å®ããå²è¾¼ã¿ãã¹ã¯ï¼IPMåã§è¨è¿°ããï¼ */
+#define IPM_SCC0	{ CORE_IPM_SCC, {ICU_IPM_INT0_SCC0, ICU_IPM_INT1_SCC0} }
+
+/*
+ *  ã·ãªã¢ã«ï¼å²è¾¼ã¿ã®å²è¾¼ã¿ãã¹ã¯ï¼éåä¿¡å
+±ç¨ï¼
+ *  ã»å²è¾¼ã¿ã¬ãã«ã¯éä¿¡ãåä¿¡ãåãã¬ãã«ã«è¨­å®ãã¦ãã
+ *  ã»MIPS3ã³ã¢ç¨ã®ãã¼ã¿ã¯ãSCC0ã¨å
+±é
+ */
+#define ICU_IPM_INT0_SCC1	(TIMER0 | SERIAL0) /* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ç¨ãã¼ã¿ */
+#define ICU_IPM_INT1_SCC1	0u
+
+/*  è¨­å®ããå²è¾¼ã¿ãã¹ã¯ï¼IPMåã§è¨è¿°ããï¼ */
+#define IPM_SCC1	{ CORE_IPM_SCC, {ICU_IPM_INT0_SCC1, ICU_IPM_INT1_SCC1} }
+
+/*
+ *  ã¿ã¤ãï¼å²è¾¼ã¿ã®å²è¾¼ã¿ãã¹ã¯
+ *  æ¬å®è£
+ã§ã¯ãã¿ã¤ãå²è¾¼ã¿ãå
+¥ã£ãã¨ãã¯ãå
+¨ã¦ã®å¤é¨å²è¾¼ã¿ãç¦æ­¢ãã¦ããã
+ */
+#define CORE_IPM_TIMER		INIT_CORE_IPM	/* MIPS3ã³ã¢(SR)ç¨ãã¼ã¿ */
+
+#define ICU_IPM_INT0_TIMER0	0u		/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ç¨ãã¼ã¿ */
+#define ICU_IPM_INT1_TIMER0	0u
+
+/*  è¨­å®ããå²è¾¼ã¿ãã¹ã¯ï¼IPMåã§è¨è¿°ããï¼ */
+#define IPM_TIMER0	{ CORE_IPM_TIMER, {ICU_IPM_INT0_TIMER0, ICU_IPM_INT1_TIMER0} }
+
+#endif /* _PIC_ICU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.c	(revision 26)
@@ -0,0 +1,131 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#include "jsp_kernel.h"
+#include <hw_serial.h>		/* ã·ãªã¢ã«ã³ã³ãã­ã¼ã©é¢ä¿ */
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ç¨ããå²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«  */
+ICU_IPM icu_intmask_table[ TMAX_ALL_INTNO ];
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void sys_initialize() {
+
+	ICU_IPM icu_ipm0 = {INIT_INT0M, INIT_INT1M};
+
+	/*
+	 *  å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+	icu_set_ipm( &icu_ipm0 );
+
+	/*
+	 *  ããã¼è¡¨ç¤ºç¨ã·ãªã¢ã«ãã¼ãã®åæå
+	 */
+	sio_init();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+void sys_exit(void) {
+
+#ifndef GDB_STUB
+	while (1);
+#else	/*  GDB_STUB  */
+	vr5500_exit();
+#endif	/*  GDB_STUB  */
+
+}
+
+/*
+ *  GDB STUB / ç´æ¥å¼åºã ã³ã³ã½ã¼ã«å¼åºãã«ã¼ãã³
+ */
+
+/*
+ *  gdb stub ã«ããã³ã³ã½ã¼ã«åºå
+ */
+/* a0($4) = 0xfe00, a1($5) = åºåãããã­ã£ã©ã¯ã¿ ãä»£å
+¥ãã¦ã
+   SYSCALL ä¾å¤ãçºçãããã */
+
+/* ãã®é¢æ°ãå¼ã³åºãæã«ã¯ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®EXLããã = 0 ã§å¼ã³åºããã¨ã
+   ãªããç¾å¨ãã«ã¼ãã«ã§ã¯ãããã¼è¡¨ç¤ºæãã·ãªã¢ã«åºåæã«å¼åºãè¡ã£ã¦ããã*/
+Inline void stub_putc(int c) {
+
+	Asm("	move	$5, %0;		\
+	     	li	$4, 0xfe00;	\
+		syscall;		\
+		nop"
+		:: "r"(c)
+		: "$4","$5" );
+}
+
+#ifdef GDB_STUB
+#define vr5500_putc(c) stub_putc( c )
+#else  /* GDB_STUB */
+#define	vr5500_putc(c) sio_snd_chr_pol( c )
+#endif /* GDB_STUB */
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		vr5500_putc('\r');
+	}
+	vr5500_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_config.h	(revision 26)
@@ -0,0 +1,168 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã»ãã¼ãä¾å­ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®èª­ã¿è¾¼ã¿
+ */
+#include <pic_icu.h>	/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿ã®æ
+å ±ã<CPU>ã«æ¸¡ãçº */
+#include <vr5500.h>	/* NOP_FOR_CP0_HAZARDã®æ
+å ±ãcpu_support.Sã«æ¸¡ãçº */
+
+/*
+ *  vgxet_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#ifndef GDB_STUB
+#define TNUM_SIOP	2u	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_PORT	2u	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+#else  /* GDB_STUB */
+#define TNUM_SIOP	1u	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_PORT	1u	/* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+				/* GDB_STUB ãå©ç¨ããã¨ãã¯ãSCC1ã GDB_STUB ã
+				   å©ç¨ããããã«ãSCC0ã®ã¿ããå©ç¨ã§ããªãã */
+#endif /* GDB_STUB */
+
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1u	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	2865
+#define	SIL_DLY_TIM2	398
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åæå¤ (MIPS3ã³ã¢ã®ãã¿ã¼ã²ããã·ã¹ãã ä¾å­ãªã®ã§ãããã§å®ç¾©)
+ */
+
+/*  MIPS3ã³ã¢ã®é¢ä¿ */
+/*  å®è³ªçãªå²è¾¼ã¿å¶å¾¡ã¯ãå¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã§è¡ããããMIPS3ã³ã¢ã«é¢ãã¦ã¯
+    å¯è½ãªåãè¨±å¯ããã*/
+/*  RTE-VR5500-CBã§ã¯2æ¬ã®å²è¾¼ã¿ç·ãæ¥ç¶ããã¦ããã */
+#define INIT_CORE_IPM	( Cause_Int1 | Cause_Int0 )
+
+/*  å¤é¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿  */
+/*  (å²è¾¼ã¿ç·ï¼ã«ããã¦ãã¿ã¤ãï¼ã®ã¿å²è¾¼ã¿è¨±å¯ï¼ */
+#define INIT_INT0M	TIMER0
+#define INIT_INT1M	0u
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*============================================================================*/
+/* ä»¥ä¸ã¯ãå
+±éãã­ã¥ã¡ã³ãã«ç¡ãç¬èªã®å®ç¾© */
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®åæå¤
+ */
+#define INIT_SR		(SR_BEV | INIT_CORE_IPM | SR_DE)
+	/*
+	 *  BEV = 1ï¼ä¾å¤ãã¯ã¿ãkseg0ã»ã°ã¡ã³ãã«é
+ç½®
+	 *  IM = 0ï¼CPUã­ãã¯ç¶æ
+ (å²è¾¼ã¿ç¦æ­¢)
+	 *  DE = 1 : ã­ã£ãã·ã¥ããªãã£ã¨ã©ã¼ã«ããä¾å¤çºçã®ç¦æ­¢
+	 */
+
+/*
+ *  ã³ã³ãã£ã°ã¬ã¸ã¹ã¿åæå¤è¨­å®ç¨ãã¹ã¯
+ */
+#define INIT_CONFIG_MASK	0x0
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãã®è¨­å® (åå¨æ¯è¨­å®ãã¼ã¿ï¼[bps]ã§æå®)
+ */
+#define DEVIDE_RATIO	9600u	/*  9600bpsãé¸æ  */
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_defs.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã¿ã¤ã
+ */
+#define VR5500
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ãããã¼ãå
+ */
+#define	TARGET_NAME	"RTE-VR5500-CB(64)"
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT	INTNO;			/* å²è¾¼ã¿çªå·ï¼icu_set_ilvã§å©ç¨ï¼ */
+
+#if 0		/*  MIPS3çã§ã¯ãµãã¼ããã¦ããªã  */
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+#endif
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UD 	SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern	ER	vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®åå®ç¾©  */
+typedef struct{
+	UB	int0m;			/*  ãã¹ã¯ã¬ã¸ã¹ã¿1  */
+	UB	int1m;			/*  ãã¹ã¯ã¬ã¸ã¹ã¿2  */
+} ICU_IPM;
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort()
+{
+	Asm("break");
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.def	(revision 26)
@@ -0,0 +1,2 @@
+icu_intmask_table
+proc_interrupt_sys
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define icu_intmask_table	_kernel_icu_intmask_table
+#define proc_interrupt_sys	_kernel_proc_interrupt_sys
+
+#ifdef LABEL_ASM
+
+#define _icu_intmask_table	__kernel_icu_intmask_table
+#define _proc_interrupt_sys	__kernel_proc_interrupt_sys
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_support.S	(revision 26)
@@ -0,0 +1,354 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#define _MACRO_ONLY
+
+#include "jsp_kernel.h"
+#include "offset.h"		/* INT_TABLE_intmaskã®ããã«å¿
+è¦ */
+
+	.set noreorder
+	.align 2
+
+/*
+ *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ä¾å­ããåæåå¦ç
+ */
+#ifndef GDB_STUB
+
+	.section .reset
+	.global	hardware_init_hook
+
+hardware_init_hook:
+
+	/*
+	 * ã­ã£ãã·ã¥ã®åæå
+	 */
+	mtc0	zero, TagLo
+	mtc0	zero, TagHi
+
+	li	t0, 0x80003fe0
+	li	t1, 0x80000000
+loop_I_cache_clear:
+	cache	Index_Store_Tag_I, +0(t0)
+	cache	Index_Store_Tag_I, +1(t0)
+	bne	t0, t1, loop_I_cache_clear
+	addiu	t0, t0, -I_CACHE_LINE_SIZE
+
+	li	t0, 0x80003fe0
+	li	t1, 0x80000000
+loop_D_cache_clear:
+	cache	Index_Store_Tag_D, +0(t0)
+	cache	Index_Store_Tag_D, +1(t0)
+	bne	t0, t1, loop_D_cache_clear
+	addiu	t0, t0, -D_CACHE_LINE_SIZE
+
+	/*
+	 * TLBã®åæå
+	 */
+	mtc0	zero, PageMask
+	mtc0	zero, EntryLo0
+	mtc0	zero, EntryLo1
+
+	li	t0, TMAX_TLB
+	li	t1, 0xA8000000		/* kseg1 ã®ä¸­ã®DRAMã®æãä½¿ç¨ */
+loop_TLB_clear:
+	mtc0	t0, Index
+	mtc0	t1, EntryHi
+	addiu	t0, t0, -1
+	addiu	t1, t1, TLB_VPN2	/* 1ãã¼ã¸ã4kãã¤ãã§ã2ãã¼ã¸åã
+					   ãããã³ã°ãããã */
+	tlbwi
+	bgez	t0, loop_TLB_clear
+	nop
+
+	/*
+	 * ãã¼ãã®åæå
+	 */
+
+	/* SDRAM ã³ã³ãã­ã¼ã©ã®åæå */
+	li	t0, 0x00
+	sb	t0, 0xb8006000		/* SRAMC_SWAIT */
+
+	li	t0, 0x02
+	sb	t0, 0xb8005000		/* DRAMC_RCD */
+	li	t0, 0x02
+	sb	t0, 0xb8005010		/* DRAMC_RP */
+	li	t0, 0x05
+	sb	t0, 0xb8005020		/* DRAMC_RC */
+	li	t0, 0x06
+	sb	t0, 0xb8005030		/* DRAMC_RRC */
+	li	t0, 0x04
+	sb	t0, 0xb8005040		/* DRAMC_RAS */
+	li	t0, 0x02
+	sb	t0, 0xb8005050		/* DRAMC_LAT */
+	li	t0, 0x02
+	sb	t0, 0xb8005060		/* DRAMC_RSC */
+	li	t0, 0x01
+	sb	t0, 0xb8005070		/* DRAMC_AP */
+
+	li	t0, 0x00
+	sb	t0, 0xb8004000		/* DRAM_INIT */
+
+	/* DRAMãªãã¬ãã·ã¥ç¨ã¿ã¤ãã®åæå */
+	li	t0, 0xb4
+	sb	t0, 0xb9005030		/* PCNTL */
+	li	t0, 0x1f
+	sb	t0, 0xb9005020		/* PCNT2 */
+	li	t0, 0x00
+	sb	t0, 0xb9005020		/* PCNT2 */
+
+	/* SRAMã®åæå */
+
+	/* SRAMã®å
+¨é åã«å¯¾ãã¦ãä¸åº¦æ¸ãè¾¼ã¿ãè¡ãå¦çãå¿
+è¦ */
+	la	t0, 0xa0000000
+	li	t1, 0x00100000-4
+loop_sram_clear:
+	add	t2, t1, t0
+	sw	zero, (t2)
+	bgez	t1, loop_sram_clear
+	addiu	t1, t1, -4
+
+	/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®è¨­å® */
+	sb	zero, 0xb9000000	/* PIC_INT0Mï¼å
+¨å²è¾¼ã¿ã®ãã¹ã¯ */
+	sb	zero, 0xb9000010	/* PIC_INT1Mï¼å
+¨å²è¾¼ã¿ã®ãã¹ã¯ */
+	sb	zero, 0xb9000020	/* PIC_INTR ï¼å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ */
+	li	t0, 0x01		/* å²è¾¼ã¿ç·ã¯çæ¹ã®ã¿ä½¿ã */
+	sb	t0, 0xb9000030		/* PIC_INTEN */
+
+	/*----------*/
+
+	j	ra		/*  å¼ã³åºãå
+ã¸ãªã¿ã¼ã³  */
+	nop
+
+#endif /* GDB_STUB */
+
+/*============================================================================*/
+
+/* å²è¾¼ã¿å¦çã«é¢ãããå²è¾¼ã¿è¦å ã®å¤æ­åå²å¦çã®ã·ã¹ãã ä¾å­é¨ */
+
+	.align 2
+	.section .text
+	.global proc_interrupt_sys
+	.global int_table	/* å²è¾¼ã¿ãã³ãã©ã®æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+				   cpu_config.h, cpu_config.cã§å®ç¾© */
+
+	/*  å¼ã³åºãããã¨ãã       */
+	/*    a1ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+	/*    a2ã«åå ã¬ã¸ã¹ã¿       */
+	/*  ã®å¤ãå
+¥ã£ã¦ãã         */
+
+proc_interrupt_sys:
+	and     t2, a2, a1          /*  å²è¾¼ã¿è¦æ±ãããã«ãã¹ã¯ãããã  */
+	andi    t3, t2, Cause_IP0   /*  IP0ãããåãåºã  */
+	bne     t3, zero, proc_IP0
+	andi    t4, t2, Cause_IP1   /*  IP1ãããåãåºã  */
+	bne     t4, zero, proc_IP1
+	andi    t5, t2, Cause_IP2   /*  IP2ãããåãåºã  */
+	bne     t5, zero, proc_IP2
+	andi    t6, t2, Cause_IP3   /*  IP3ãããåãåºã  */
+	bne     t6, zero, proc_IP3
+	andi    t7, t2, Cause_IP4   /*  IP4ãããåãåºã  */
+	bne     t7, zero, proc_IP4
+	andi    t8, t2, Cause_IP5   /*  IP5ãããåãåºã  */
+	bne     t8, zero, proc_IP5
+	andi    t9, t2, Cause_IP6   /*  IP6ãããåãåºã  */
+	bne     t9, zero, proc_IP6
+	nop
+
+	/* ãªãããã®åå ã§åå²ã§ããªãå ´å */
+	j       join_interrupt_and_exception
+	nop
+
+/*  MIPS3ã³ã¢ã¬ãã«ã§åå²ããã¬ãã«ã§ã®å¦ç	*/
+/*    å²è¾¼ã¿è¦å çªå·ãt0ã«å
+¥ãã¦		*/
+/*    å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°ãt1ã«å
+¥ãã¦	*/
+/*    set_ICU_IPMã¸é£ã¶				*/
+proc_IP7:   /*  å²è¾¼ã¿è¦å IP7ï¼ã¿ã¤ãï¼ã®å ´å  */
+	xori    t1, zero, Cause_IP7
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP7
+
+proc_IP0:   /*  å²è¾¼ã¿è¦å IP0ï¼ã½ããã¦ã§ã¢å²è¾¼ã¿0ï¼ã®å ´å  */
+	xori    t1, zero, Cause_IP0
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP0
+
+proc_IP1:   /*  å²è¾¼ã¿è¦å IP1ï¼ã½ããã¦ã§ã¢å²è¾¼ã¿1ï¼ã®å ´å  */
+	xori    t1, zero, Cause_IP1
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP1
+
+proc_IP2:   /*  å²è¾¼ã¿è¦å IP2ã®å ´å  */ 
+            /*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©ãããã°ããã¡ããå®è¡ãã  */
+#ifdef PROC_INT0
+	PROC_INT0		/* ã·ã¹ãã ä¾å­é¨ã§å®ç¾©ãããã¯ã­ */
+	xori    t1, zero, Cause_IP2
+	j       set_ICU_IPM
+	nop
+#else /* PROC_INT0 */
+	xori    t1, zero, Cause_IP2
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP2
+#endif /* PROC_INT0 */
+
+proc_IP3:   /*  å²è¾¼ã¿è¦å IP3ã®å ´å  */ 
+            /*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©ãããã°ããã¡ããå®è¡ãã  */
+#ifdef PROC_INT1
+	PROC_INT1		/* ã·ã¹ãã ä¾å­é¨ã§å®ç¾©ãããã¯ã­ */
+	xori    t1, zero, Cause_IP3
+	j       set_ICU_IPM
+	nop
+#else /* PROC_INT1 */
+	xori    t1, zero, Cause_IP3
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP3
+#endif /* PROC_INT1 */
+
+proc_IP4:   /*  å²è¾¼ã¿è¦å IP4ã®å ´å  */ 
+            /*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©ãããã°ããã¡ããå®è¡ãã  */
+#ifdef PROC_INT2
+	PROC_INT2		/* ã·ã¹ãã ä¾å­é¨ã§å®ç¾©ãããã¯ã­ */
+	xori    t1, zero, Cause_IP4
+	j       set_ICU_IPM
+	nop
+#else /* PROC_INT2 */
+	xori    t1, zero, Cause_IP4
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP4
+#endif /* PROC_INT2 */
+
+proc_IP5:   /*  å²è¾¼ã¿è¦å IP5ã®å ´å  */ 
+            /*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©ãããã°ããã¡ããå®è¡ãã  */
+#ifdef PROC_INT3
+	PROC_INT3		/* ã·ã¹ãã ä¾å­é¨ã§å®ç¾©ãããã¯ã­ */
+	xori    t1, zero, Cause_IP5
+	j       set_ICU_IPM
+	nop
+#else /* PROC_INT3 */
+	xori    t1, zero, Cause_IP5
+	j       set_ICU_IPM
+	ori     t0, zero, INTNO_IP5
+#endif /* PROC_INT3 */
+
+proc_IP6:   /*  å²è¾¼ã¿è¦å IP6ã®å ´å  */ 
+            /*    å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©ãããã°ããã¡ããå®è¡ãã  */
+#ifdef PROC_INT4
+	PROC_INT4		/* ã·ã¹ãã ä¾å­é¨ã§å®ç¾©ãããã¯ã­ */
+	xori    t1, zero, Cause_IP6
+#else /* PROC_INT4 */
+	xori    t1, zero, Cause_IP6
+	ori     t0, zero, INTNO_IP6
+#endif /* PROC_INT4 */
+
+/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®ãã¹ã¯è¨­å®  */
+set_ICU_IPM:
+
+#ifdef SET_ICU_IPM
+	SET_ICU_IPM	/* å²è¾¼ã¿ãã¹ã¯ãè¨­å®ãããã¯ã­			    */
+			/*   å®è£
+ãè¡ãã¨ãã«ã¯ãä¸è¨ã«ã¦t0ãt1ã¯å©ç¨ããã® */
+			/*   ã§ç ´å£ããªãããã«ãæ³¨æããªããã°ãªããªãã   */
+#endif /* SET_ICU_IPM */
+
+/*
+ *  åå ã¬ã¸ã¹ã¿IPãããã«ä¿æããã¦ããåç¨®å²è¾¼ã¿ã®å²è¾¼ã¿è¦æ±ãã¯ãªã¢ããã
+ *  t1ã«ã¯ãå²è¾¼ã¿è¦æ±ããããåè»¢ãããã®ãå
+¥ã£ã¦ããã
+ */
+	mfc0    t8, Cause
+	and     t8, t8, t1
+	mtc0    t8, Cause
+
+/*  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®ãã¹ã¯è¨­å®ã¨Cè¨èªã«ã¼ãã³å¼ã³åºã  */
+/*    t0ã«å²è¾¼ã¿è¦å çªå·ãè¨­å®ãããç¶æ
+ã§ããã«æ¥ã  */
+	la      t3, int_table   /*  æ¬ä¼¼ãã¯ã¿ã¢ãã¬ã¹  */
+	sll     t4, t0, 3       /*  å²è¾¼ã¿è¦å çªå·ã8å
+				      TNT_TABLEåã¯ã
+					ãã³ãã©ã®ã¢ãã¬ã¹(4ãã¤ã)
+					ï¼MIPS3ã³ã¢ã®å²è¾¼ã¿ãã¹ã¯(4ãã¤ã)
+				      ã®ãåè¨8ãã¤ãã */
+	add     t5, t3, t4      /*  ãã¯ã¿ã¢ãã¬ã¹ãç®åº  */
+	lw      t6, INT_TABLE_intmask(t5)
+           		    	/*  IPM(å²è¾¼ã¿è¨±å¯ããã)èª­ã¿åºãã
+				    å²è¾¼ã¿ãã¹ã¯ä»¥å¤ã®å¤ã¯ã
+					IEãããã¯ã»ãã
+					EXLãããã¯ãªã»ãã
+				    ç¶æ
+ã«ãªã£ã¦ããã*/
+	lw      t7, (t5)        /*  Cè¨èªã«ã¼ãã³å
+é ­ã¢ãã¬ã¹èª­ã¿åºã  */
+
+	jalr    ra, t7          /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */
+	mtc0    t6, Status      /*  å²è¾¼ã¿è¨±å¯ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®ãã¹ã¯è¨­å®*/
+
+	mfc0    t0, Status
+	ori     t0, t0, SR_EXL  /*  å²è¾¼ã¿ç¦æ­¢ï¼IEãããã®å¤ã¯ä¿æããªããã°ãªã
+						ãªãã®ã§EXLããããç¨ããã*/
+	mtc0    t0, Status
+
+	/*  CP0ãã¶ã¼ãã®ããã®æéç¨¼ã  */
+#ifdef NOP_FOR_CP0_HAZARD
+	NOP_FOR_CP0_HAZARD
+#endif /* NOP_FOR_CP0_HAZARD */
+
+	j	join_interrupt_and_exception
+	nop
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_tool_config.h	(revision 26)
@@ -0,0 +1,67 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _SYS_TOOL_CONFIG_H_
+#define _SYS_TOOL_CONFIG_H_
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å® (å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿)
+ */
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _SYS_TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#undef icu_intmask_table
+#undef proc_interrupt_sys
+
+#ifdef LABEL_ASM
+
+#undef _icu_intmask_table
+#undef _proc_interrupt_sys
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/upd71054.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/upd71054.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/upd71054.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UPD71054_H_
+#define _UPD71054_H_
+
+#include <s_services.h>
+
+/*
+ *  ã¿ã¤ã uPD71054(NEC) é¢é£ã®å®ç¾©
+ */
+
+/* uPD71054ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define PCNT0		0x00
+#define PCNT1		0x10
+#define PCNT2		0x20
+#define PCNTL		0x30
+
+/* control word foemat */
+#define BINARY			0u	/* BIT0 */
+#define BCD			BIT0
+
+#define MODE_0			0u	/* BIT1, 2, 3 */
+#define MODE_1			BIT1
+#define MODE_2			BIT2
+#define MODE_3			(BIT2 | BIT1)
+#define MODE_4			BIT3
+#define MODE_5			(BIT3 | BIT1)
+
+#define COUNT_LATCH_COMM	0u	/* BIT5, 4 */
+#define LOWER_BYTE		BIT4
+#define HIGH_BYTE		BIT5
+#define LOW_HIGH_BYTE		(BIT5 | BIT4)
+
+#define COUNTER_0		0u	/* BIT6, 7 */
+#define COUNTER_1		BIT6
+#define COUNTER_2		BIT7
+#define MULT_LATCH_COMM		(BIT7 | BIT6)
+
+/* multiple latch command format */
+#define SEL_COUNTER_0		BIT1
+#define SEL_COUNTER_1		BIT2
+#define SEL_COUNTER_2		BIT3
+#define DO_NOT_LATCH_STATUS	BIT4
+#define LATCH_STATUS		0u	/* BIT4 */
+#define DO_NOT_LATCH_COUNT	BIT5
+#define LATCH_COUNT		0u	/* BIT5 */
+
+/*
+ *  ã¿ã¤ãã®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹é¢æ°
+ */
+#define upd71054_reb( addr )		sil_reb_mem( (VP)(TIMER_BASE_ADDR + addr) )
+#define upd71054_wrb( addr, val )	sil_wrb_mem( (VP)(TIMER_BASE_ADDR + addr), val )
+
+#endif /* _UPD71054_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500.h	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _VR5500_H_ 
+#define _VR5500_H_ 
+
+/* CP0ãã¶ã¼ãã®ããã®æéç¨¼ã NOP_FOR_CP0_HAZARD  */
+/* VR5500ã§ã¯CP0ãã¶ã¼ãã¯MIPS3ã³ã¢ãå¤æ­ãã¦ãããããã«å®ç¾©ãè¡ã
+   å¿
+è¦ããªãã*/
+#define NOP_FOR_CP0_HAZARD
+
+/* TLB ã®ã¨ã³ããªã®æå¤§å¤  */
+#define TMAX_TLB	47
+
+/* TLB VPN2å¤ */
+#define TLB_VPN2	0x2000
+
+/* ã­ã£ãã·ã¥å½ä»¤ */
+#define Index_Store_Tag_I       0x8+0x0
+#define Index_Store_Tag_D       0x8+0x1
+
+/* ã­ã£ãã·ã¥ã®ã©ã¤ã³ãµã¤ãº(ãã¤ãåä½)  */
+#define D_CACHE_LINE_SIZE 0x20	/* ï¼ã¯ã¼ã */
+#define I_CACHE_LINE_SIZE 0x20	/* ï¼ã¯ã¼ã */
+
+/*============================================================================*/
+
+#ifndef _MACRO_ONLY
+
+Inline void
+vr5500_exit() {
+	while(1);
+	/* GDB_STUB ä½¿ç¨æã«ã¯ãSTUBã®é ­ã«é£ã¶å¦çãå¿
+è¦ããã */
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _VR5500_H_  */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf.ld	(revision 26)
@@ -0,0 +1,95 @@
+OUTPUT_FORMAT("elf32-littlemips","elf32-littlemips","elf32-littlemips")
+OUTPUT_ARCH(mips)
+
+MEMORY
+{
+	ROM0(rxai):ORIGIN = 0xbfc00000, LENGTH =      0x700	/* kseg0 */
+	ROM1(rxai):ORIGIN = 0x9fc00700, LENGTH =   1M-0x700	/* kseg1 */
+/*	ROM1(rxai):ORIGIN = 0xbfc00700, LENGTH =   1M-0x700*/	/* kseg0 */
+	RAM (wxai):ORIGIN = 0xa8000000, LENGTH =  64M		/* kseg0 */
+		/* SDRAM ã®æåããåã£ã¦ããªãã®ã¯ãæåã®2MBåã¯
+		   ROM ã®ãã©ã¼ç¨ã«ç¢ºä¿ãããã */
+}
+
+PROVIDE(_stack_top = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+	_stack_top = 0xabfffffc;	/* = 0xac000000 - 0x4 (DRAM) ; kseg0 */
+
+	.exce_vec_map :
+	{
+		*(.exce_vec_map)
+	} > ROM0
+
+	.reset 0xbfc00400 :		/* ã­ã£ãã·ã¥åæåãªã©ãå«ã */
+	{
+		*(.reset)
+	} > ROM0
+
+	.text :
+	{
+		_stext = . ;
+		*(.text)
+		_etext  = . ;
+	} > ROM1
+
+	.rodata :
+	{
+		*(.rodata)
+	} > ROM1
+
+	__idata_start = .;
+	.data : AT ( __idata_start )
+	{
+		__data_start  = . ;
+		*(.data)
+	} > RAM
+
+	/* çç±ã¯è¯ãåãããªãããã©ããããæ¸ãã®ãä¸è¬çãããã */
+	_gp = . + 0x8000;
+
+	/* sdata ã»ã¯ã·ã§ã³ã¯ chk ã§å¼ã£ãããã®ã§ãä¿çã
+	   ã³ã³ãã¤ã«æã«ã-G 0 ãªãã·ã§ã³ã§é¿ãã¦ãã¾ãã */
+
+	__isdata_start = .;
+	.sdata : AT ( __isdata_start + SIZEOF(.data) )
+	{
+		*(.lit8) 
+		*(.lit4) 
+		*(.sdata) 
+	} > RAM
+	__idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata);
+
+	__bss_start = .	;
+
+	.sbss : 
+	{
+		_fbss = . ;
+		*(.sbss)
+		*(.scommon)
+	} > RAM
+
+	.bss : 
+	{
+		*(.bss)
+		*(COMMON)
+		__bss_end = .;
+		_end = . ;
+	} > RAM
+
+	PROVIDE (end = .);
+
+	.comment 	0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(memcpy = _dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf_ram.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf_ram.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr5500/vr5500_elf_ram.ld	(revision 26)
@@ -0,0 +1,97 @@
+/* ROM ã«ç¡æ¡ä»¶ã¸ã£ã³ããå
+¥ããã¨ãã«ä½¿ããªã³ã«ã¹ã¯ãªãã */
+
+OUTPUT_FORMAT("elf32-littlemips","elf32-littlemips","elf32-littlemips")
+OUTPUT_ARCH(mips)
+
+MEMORY
+{
+	ROM0(rxai):ORIGIN = 0xafc00000, LENGTH =      0x700	/* kseg0 */
+	ROM1(rxai):ORIGIN = 0xafc00700, LENGTH =   1M-0x700	/* kseg0 */
+	RAM (wxai):ORIGIN = 0xa8000000, LENGTH =  64M		/* kseg0 */
+		/* SDRAM ã®æåããåã£ã¦ããªãã®ã¯ãæåã®2MBåã¯
+		   ROM ã®ãã©ã¼ç¨ã«ç¢ºä¿ãããã */
+}
+
+PROVIDE(_stack_top = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+
+SECTIONS
+{
+	_stack_top = 0xabfffffc;	/* = 0xac000000 - 0x4 (DRAM) ; kseg0 */
+
+	.exce_vec_map :
+	{
+		*(.exce_vec_map)
+	} > ROM0
+
+	.reset 0xafc00400 :		/* ã­ã£ãã·ã¥åæåãªã©ãå«ã */
+	{
+		*(.reset)
+	} > ROM0
+
+	.text :
+	{
+		_stext = . ;
+		*(.text)
+		_etext  = . ;
+	} > ROM1
+
+	.rodata :
+	{
+		*(.rodata)
+	} > ROM1
+
+	__idata_start = .;
+	.data : AT ( __idata_start )
+	{
+		__data_start  = . ;
+		*(.data)
+	} > RAM
+
+	/* çç±ã¯è¯ãåãããªãããã©ããããæ¸ãã®ãä¸è¬çãããã */
+	_gp = . + 0x8000;
+
+	/* sdata ã»ã¯ã·ã§ã³ã¯ chk ã§å¼ã£ãããã®ã§ãä¿çã
+	   ã³ã³ãã¤ã«æã«ã-G 0 ãªãã·ã§ã³ã§é¿ãã¦ãã¾ãã */
+
+	__isdata_start = .;
+	.sdata : AT ( __isdata_start + SIZEOF(.data) )
+	{
+		*(.lit8) 
+		*(.lit4) 
+		*(.sdata) 
+	} > RAM
+	__idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata);
+
+	__bss_start = .	;
+
+	.sbss : 
+	{
+		_fbss = . ;
+		*(.sbss)
+		*(.scommon)
+	} > RAM
+
+	.bss : 
+	{
+		*(.bss)
+		*(COMMON)
+		__bss_end = .;
+		_end = . ;
+	} > RAM
+
+	PROVIDE (end = .);
+
+	.comment 	0 : { *(.comment) }
+	.debug          0 : { *(.debug) }
+	.line           0 : { *(.line) }
+	.debug_srcinfo  0 : { *(.debug_srcinfo) }
+	.debug_sfnames  0 : { *(.debug_sfnames) }
+	.debug_aranges  0 : { *(.debug_aranges) }
+	.debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
+PROVIDE(memcpy = _dummy_memcpy);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/Makefile.config	(revision 26)
@@ -0,0 +1,51 @@
+#
+#@(#) $Id: Makefile.config,v 1.8 2007/01/15 08:47:10 honda Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (Nios2ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = nios2-elf
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = elf
+
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS    := $(COPTS)  -O2  -Wall -g
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR) $(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o nios2.o
+
+#
+# ROMåã«é¢ããå®ç¾©
+#
+ifdef BOOT_ROM
+	COPTS    := $(COPTS) -DBOOT_ROM
+endif
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/Makefile.config	(revision 26)
@@ -0,0 +1,51 @@
+#
+#  @(#) $Id: Makefile.config,v 1.4 2006/02/10 10:57:04 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼Altera Stratix Professional Board ç¨ï¼
+# 
+
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS    := $(COPTS) -mno-hw-mul  
+LIBS     := $(LIBS) -lc
+LDFLAGS  := $(LDFLAGS) 
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+DBGENV := 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o 
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifdef BOOT_ROM	
+	LDSCRIPT = $(CPU)/$(SYS)/nios2elf_rom.l
+else
+	LDSCRIPT = $(CPU)/$(SYS)/nios2elf.l
+endif
+
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+#TEXT_START_ADDRESS=0x0400
+#DATA_START_ADDRESS=0x40000000
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf.l
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf.l	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf.l	(revision 26)
@@ -0,0 +1,285 @@
+MEMORY
+{
+    reset : ORIGIN = 0x00000000, LENGTH = 32
+    ext_flash : ORIGIN = 0x00000020, LENGTH = 8388576
+    ext_ram : ORIGIN = 0x00800000, LENGTH = 1048576
+    onchip_ram_64_kbytes : ORIGIN = 0x00900000, LENGTH = 65536
+    sdram_UNUSED : ORIGIN = 0x01000000, LENGTH = 32
+    sdram : ORIGIN = 0x01000020, LENGTH = 16777184
+}
+
+    /* Define symbols for each memory base-address */
+ __alt_mem_ext_flash = 0x00000000 ;
+ __alt_mem_ext_ram = 0x00800000 ;
+ __alt_mem_onchip_ram_64_kbytes = 0x00900000 ;
+ __alt_mem_sdram = 0x01000000 ;
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE( __alt_data_end = 0x02000000 );
+
+OUTPUT_FORMAT( "elf32-littlenios2",
+               "elf32-littlenios2",
+               "elf32-littlenios2" )
+OUTPUT_ARCH( nios2 )
+ENTRY( _start )
+
+/* Do we need any of these for elf?
+   __DYNAMIC = 0;
+ */
+
+SECTIONS
+{
+    .entry :
+    {
+        KEEP (*(.entry))
+    } > reset
+
+    .exceptions :
+    {
+        . = ALIGN(0x20);
+        *(.irq)
+        KEEP (*(.exceptions));
+    } > sdram
+
+    .text :
+    {
+        /*
+         * All code sections are merged into the text output section, along with
+         * the read only data sections.
+         *
+         */
+
+        PROVIDE (stext = ABSOLUTE(.));
+
+        *(.interp)
+        *(.hash)
+        *(.dynsym)
+        *(.dynstr)
+        *(.gnu.version)
+        *(.gnu.version_d)
+        *(.gnu.version_r)
+        *(.rel.init)
+        *(.rela.init)
+        *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
+        *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+        *(.rel.fini)
+        *(.rela.fini)
+        *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
+        *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+        *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
+        *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+        *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
+        *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+        *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
+        *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+        *(.rel.ctors)
+        *(.rela.ctors)
+        *(.rel.dtors)
+        *(.rela.dtors)
+        *(.rel.got)
+        *(.rela.got)
+        *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
+        *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
+        *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
+        *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
+        *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
+        *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
+        *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
+        *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
+        *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
+        *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+        *(.rel.plt)
+        *(.rela.plt)
+
+        KEEP (*(.init))
+        *(.plt)
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+
+        /* .gnu.warning sections are handled specially by elf32.em.  */
+
+        *(.gnu.warning.*)
+        KEEP (*(.fini))
+        PROVIDE (__etext = ABSOLUTE(.));
+        PROVIDE (_etext = ABSOLUTE(.));
+        PROVIDE (etext = ABSOLUTE(.));
+
+        *(.eh_frame_hdr)
+        /* Ensure the __preinit_array_start label is properly aligned.  We
+           could instead move the label definition inside the section, but
+           the linker would then create the section even if it turns out to
+           be empty, which isn't pretty.  */
+        . = ALIGN(32 / 8);
+        PROVIDE (__preinit_array_start = ABSOLUTE(.));
+        *(.preinit_array)
+        PROVIDE (__preinit_array_end = ABSOLUTE(.));
+        PROVIDE (__init_array_start = ABSOLUTE(.));
+        *(.init_array)
+        PROVIDE (__init_array_end = ABSOLUTE(.));
+        PROVIDE (__fini_array_start = ABSOLUTE(.));
+        *(.fini_array)
+        PROVIDE (__fini_array_end = ABSOLUTE(.));
+        SORT(CONSTRUCTORS)
+        KEEP (*(.eh_frame))
+        *(.gcc_except_table)
+        *(.dynamic)
+
+        /* gcc normally uses crtbegin.o to find the start of
+           the constructors instead nios2 use crtdotors.o,
+           so we make sure it is
+           first.  Because this is a wildcard, it
+           doesn't matter if the user does not
+           actually link against crtdotors.o; the
+           linker won't look for a file to match a
+           wildcard.  The wildcard also means that it
+           doesn't matter which directory crtdotors.o
+           is in.  */
+        KEEP (*crtdotors.o(.ctors))
+        /* We don't want to include the .ctor section from
+           from the crtendtors (gcc normally uses crtend.o)
+           file until after the sorted ctors.
+           The .ctor section from the crtendtors file contains the
+           end of ctors marker and it must be last */
+        KEEP (*(EXCLUDE_FILE (*crtendtors.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+        KEEP (*crtdotors.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtendtors.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+        KEEP (*(.jcr))
+    } > sdram =0x0001883a /* NOP on Nios2 */
+
+    .rodata :
+    {
+        . = ALIGN(32 / 8);
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+        *(.rodata1)
+    } > sdram
+
+    .rwdata :
+    {
+        . = ALIGN(32 / 8);
+        *(.got.plt) *(.got)
+        *(.data1)
+        *(.data .data.* .gnu.linkonce.d.*)
+
+        _gp = ABSOLUTE(. + 0x7ff0);
+        PROVIDE(gp = _gp);
+
+        *(.sdata .sdata.* .gnu.linkonce.s.*)
+        *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
+
+        . = ALIGN(32 / 8);
+        _edata = ABSOLUTE(.);
+        PROVIDE (edata = ABSOLUTE(.));
+    } > sdram
+
+    .bss :
+    {
+        __bss_start = ABSOLUTE(.);
+        PROVIDE (__sbss_start = ABSOLUTE(.));
+        PROVIDE (___sbss_start = ABSOLUTE(.));
+
+        *(.dynsbss)
+        *(.sbss .sbss.* .gnu.linkonce.sb.*)
+        *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
+        *(.scommon)
+
+        PROVIDE (__sbss_end = ABSOLUTE(.));
+        PROVIDE (___sbss_end = ABSOLUTE(.));
+
+        *(.dynbss)
+        *(.bss .bss.* .gnu.linkonce.b.*)
+        *(COMMON)
+
+        . = ALIGN(32 / 8);
+        __bss_end = ABSOLUTE(.);
+    } > sdram
+
+    /*
+     * One output section for each of the available partitions. These are not
+     * used by default, but can be used by users applications using the .section
+     * directive.
+     *
+     * The memory partition used for the heap is treated in  special way, i.e. a
+     * symbol is added to point to the heap start.
+     *
+     */
+
+    .ext_flash :
+    {
+        PROVIDE (_alt_partition_ext_flash_start = ABSOLUTE(.));
+        *(.ext_flash)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_ext_flash_end = ABSOLUTE(.));
+    } > ext_flash
+
+    .ext_ram :
+    {
+        PROVIDE (_alt_partition_ext_ram_start = ABSOLUTE(.));        
+        *(.ext_ram)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_ext_ram_end = ABSOLUTE(.));
+    } > ext_ram
+
+    .onchip_ram_64_kbytes :
+    {
+        PROVIDE (_alt_partition_onchip_ram_64_kbytes_start = ABSOLUTE(.));
+        *(.onchip_ram_64_kbytes)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_onchip_ram_64_kbytes_end = ABSOLUTE(.));
+    } > onchip_ram_64_kbytes
+
+    .sdram :
+    {
+        PROVIDE (_alt_partition_sdram_start = ABSOLUTE(.));
+        *(.sdram)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_sdram_end = ABSOLUTE(.));
+        _end = ABSOLUTE(.);
+        PROVIDE (end = ABSOLUTE(.));
+    } > sdram
+
+    /*
+     * Stabs debugging sections.
+     *
+     */
+
+    .stab          0 : { *(.stab) }
+    .stabstr       0 : { *(.stabstr) }
+    .stab.excl     0 : { *(.stab.excl) }
+    .stab.exclstr  0 : { *(.stab.exclstr) }
+    .stab.index    0 : { *(.stab.index) }
+    .stab.indexstr 0 : { *(.stab.indexstr) }
+    .comment       0 : { *(.comment) }
+    /* DWARF debug sections.
+       Symbols in the DWARF debugging sections are relative to the beginning
+       of the section so we begin them at 0.  */
+    /* DWARF 1 */
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    /* GNU DWARF 1 extensions */
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    /* DWARF 1.1 and DWARF 2 */
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+    /* DWARF 2 */
+    .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+    .debug_abbrev   0 : { *(.debug_abbrev) }
+    .debug_line     0 : { *(.debug_line) }
+    .debug_frame    0 : { *(.debug_frame) }
+    .debug_str      0 : { *(.debug_str) }
+    .debug_loc      0 : { *(.debug_loc) }
+    .debug_macinfo  0 : { *(.debug_macinfo) }
+    /* SGI/MIPS DWARF 2 extensions */
+    .debug_weaknames 0 : { *(.debug_weaknames) }
+    .debug_funcnames 0 : { *(.debug_funcnames) }
+    .debug_typenames 0 : { *(.debug_typenames) }
+    .debug_varnames  0 : { *(.debug_varnames) }
+}
+/* provide a pointer for the stack */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf_rom.l
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf_rom.l	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/nios2elf_rom.l	(revision 26)
@@ -0,0 +1,285 @@
+MEMORY
+{
+    reset : ORIGIN = 0x00000000, LENGTH = 32
+    ext_flash : ORIGIN = 0x00000020, LENGTH = 8388576
+    ext_ram : ORIGIN = 0x00800000, LENGTH = 1048576
+    onchip_ram_64_kbytes : ORIGIN = 0x00900000, LENGTH = 65536
+    sdram_UNUSED : ORIGIN = 0x01000000, LENGTH = 32
+    sdram : ORIGIN = 0x01000020, LENGTH = 16777184
+}
+
+    /* Define symbols for each memory base-address */
+ __alt_mem_ext_flash = 0x00000000 ;
+ __alt_mem_ext_ram = 0x00800000 ;
+ __alt_mem_onchip_ram_64_kbytes = 0x00900000 ;
+ __alt_mem_sdram = 0x01000000 ;
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE( __alt_data_end = 0x02000000 );
+
+OUTPUT_FORMAT( "elf32-littlenios2",
+               "elf32-littlenios2",
+               "elf32-littlenios2" )
+OUTPUT_ARCH( nios2 )
+ENTRY( _start )
+
+/* Do we need any of these for elf?
+   __DYNAMIC = 0;
+ */
+
+SECTIONS
+{
+    .entry :
+    {
+        KEEP (*(.entry))
+    } > sdram_UNUSED
+
+    .exceptions :
+    {
+        . = ALIGN(0x20);
+        *(.irq)
+        KEEP (*(.exceptions));
+    } > sdram
+
+    .text :
+    {
+        /*
+         * All code sections are merged into the text output section, along with
+         * the read only data sections.
+         *
+         */
+
+        PROVIDE (stext = ABSOLUTE(.));
+
+        *(.interp)
+        *(.hash)
+        *(.dynsym)
+        *(.dynstr)
+        *(.gnu.version)
+        *(.gnu.version_d)
+        *(.gnu.version_r)
+        *(.rel.init)
+        *(.rela.init)
+        *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
+        *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+        *(.rel.fini)
+        *(.rela.fini)
+        *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
+        *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+        *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
+        *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+        *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
+        *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+        *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
+        *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+        *(.rel.ctors)
+        *(.rela.ctors)
+        *(.rel.dtors)
+        *(.rela.dtors)
+        *(.rel.got)
+        *(.rela.got)
+        *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
+        *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
+        *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
+        *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
+        *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
+        *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
+        *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
+        *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
+        *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
+        *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+        *(.rel.plt)
+        *(.rela.plt)
+
+        KEEP (*(.init))
+        *(.plt)
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+
+        /* .gnu.warning sections are handled specially by elf32.em.  */
+
+        *(.gnu.warning.*)
+        KEEP (*(.fini))
+        PROVIDE (__etext = ABSOLUTE(.));
+        PROVIDE (_etext = ABSOLUTE(.));
+        PROVIDE (etext = ABSOLUTE(.));
+
+        *(.eh_frame_hdr)
+        /* Ensure the __preinit_array_start label is properly aligned.  We
+           could instead move the label definition inside the section, but
+           the linker would then create the section even if it turns out to
+           be empty, which isn't pretty.  */
+        . = ALIGN(32 / 8);
+        PROVIDE (__preinit_array_start = ABSOLUTE(.));
+        *(.preinit_array)
+        PROVIDE (__preinit_array_end = ABSOLUTE(.));
+        PROVIDE (__init_array_start = ABSOLUTE(.));
+        *(.init_array)
+        PROVIDE (__init_array_end = ABSOLUTE(.));
+        PROVIDE (__fini_array_start = ABSOLUTE(.));
+        *(.fini_array)
+        PROVIDE (__fini_array_end = ABSOLUTE(.));
+        SORT(CONSTRUCTORS)
+        KEEP (*(.eh_frame))
+        *(.gcc_except_table)
+        *(.dynamic)
+
+        /* gcc normally uses crtbegin.o to find the start of
+           the constructors instead nios2 use crtdotors.o,
+           so we make sure it is
+           first.  Because this is a wildcard, it
+           doesn't matter if the user does not
+           actually link against crtdotors.o; the
+           linker won't look for a file to match a
+           wildcard.  The wildcard also means that it
+           doesn't matter which directory crtdotors.o
+           is in.  */
+        KEEP (*crtdotors.o(.ctors))
+        /* We don't want to include the .ctor section from
+           from the crtendtors (gcc normally uses crtend.o)
+           file until after the sorted ctors.
+           The .ctor section from the crtendtors file contains the
+           end of ctors marker and it must be last */
+        KEEP (*(EXCLUDE_FILE (*crtendtors.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+        KEEP (*crtdotors.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtendtors.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+        KEEP (*(.jcr))
+    } > sdram =0x0001883a /* NOP on Nios2 */
+
+    .rodata :
+    {
+        . = ALIGN(32 / 8);
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+        *(.rodata1)
+    } > sdram
+
+    .rwdata :
+    {
+        . = ALIGN(32 / 8);
+        *(.got.plt) *(.got)
+        *(.data1)
+        *(.data .data.* .gnu.linkonce.d.*)
+
+        _gp = ABSOLUTE(. + 0x7ff0);
+        PROVIDE(gp = _gp);
+
+        *(.sdata .sdata.* .gnu.linkonce.s.*)
+        *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
+
+        . = ALIGN(32 / 8);
+        _edata = ABSOLUTE(.);
+        PROVIDE (edata = ABSOLUTE(.));
+    } > sdram
+
+    .bss :
+    {
+        __bss_start = ABSOLUTE(.);
+        PROVIDE (__sbss_start = ABSOLUTE(.));
+        PROVIDE (___sbss_start = ABSOLUTE(.));
+
+        *(.dynsbss)
+        *(.sbss .sbss.* .gnu.linkonce.sb.*)
+        *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
+        *(.scommon)
+
+        PROVIDE (__sbss_end = ABSOLUTE(.));
+        PROVIDE (___sbss_end = ABSOLUTE(.));
+
+        *(.dynbss)
+        *(.bss .bss.* .gnu.linkonce.b.*)
+        *(COMMON)
+
+        . = ALIGN(32 / 8);
+        __bss_end = ABSOLUTE(.);
+    } > sdram
+
+    /*
+     * One output section for each of the available partitions. These are not
+     * used by default, but can be used by users applications using the .section
+     * directive.
+     *
+     * The memory partition used for the heap is treated in  special way, i.e. a
+     * symbol is added to point to the heap start.
+     *
+     */
+
+    .ext_flash :
+    {
+        PROVIDE (_alt_partition_ext_flash_start = ABSOLUTE(.));
+        *(.ext_flash)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_ext_flash_end = ABSOLUTE(.));
+    } > ext_flash
+
+    .ext_ram :
+    {
+        PROVIDE (_alt_partition_ext_ram_start = ABSOLUTE(.));
+        *(.ext_ram)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_ext_ram_end = ABSOLUTE(.));
+    } > ext_ram
+
+    .onchip_ram_64_kbytes :
+    {
+        PROVIDE (_alt_partition_onchip_ram_64_kbytes_start = ABSOLUTE(.));
+        *(.onchip_ram_64_kbytes)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_onchip_ram_64_kbytes_end = ABSOLUTE(.));
+    } > onchip_ram_64_kbytes
+
+    .sdram :
+    {
+        PROVIDE (_alt_partition_sdram_start = ABSOLUTE(.));
+        *(.sdram)
+        . = ALIGN(32 / 8);
+        PROVIDE (_alt_partition_sdram_end = ABSOLUTE(.));
+        _end = ABSOLUTE(.);
+        PROVIDE (end = ABSOLUTE(.));
+    } > sdram
+
+    /*
+     * Stabs debugging sections.
+     *
+     */
+
+    .stab          0 : { *(.stab) }
+    .stabstr       0 : { *(.stabstr) }
+    .stab.excl     0 : { *(.stab.excl) }
+    .stab.exclstr  0 : { *(.stab.exclstr) }
+    .stab.index    0 : { *(.stab.index) }
+    .stab.indexstr 0 : { *(.stab.indexstr) }
+    .comment       0 : { *(.comment) }
+    /* DWARF debug sections.
+       Symbols in the DWARF debugging sections are relative to the beginning
+       of the section so we begin them at 0.  */
+    /* DWARF 1 */
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    /* GNU DWARF 1 extensions */
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    /* DWARF 1.1 and DWARF 2 */
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+    /* DWARF 2 */
+    .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+    .debug_abbrev   0 : { *(.debug_abbrev) }
+    .debug_line     0 : { *(.debug_line) }
+    .debug_frame    0 : { *(.debug_frame) }
+    .debug_str      0 : { *(.debug_str) }
+    .debug_loc      0 : { *(.debug_loc) }
+    .debug_macinfo  0 : { *(.debug_macinfo) }
+    /* SGI/MIPS DWARF 2 extensions */
+    .debug_weaknames 0 : { *(.debug_weaknames) }
+    .debug_funcnames 0 : { *(.debug_funcnames) }
+    .debug_typenames 0 : { *(.debug_typenames) }
+    .debug_varnames  0 : { *(.debug_varnames) }
+}
+/* provide a pointer for the stack */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.1 2004/06/27 10:51:54 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <nios2.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+  
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    Asm("break");
+}
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        uart_putc('\r');
+    }
+    uart_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_config.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.1 2004/06/27 10:51:54 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Altera NiosII Development Board ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#ifndef OMIT_RENAME
+
+#ifdef LABEL_ASM
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_defs.h	(revision 26)
@@ -0,0 +1,173 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.7 2007/03/23 06:56:03 honda Exp $
+ */
+
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Altera NiosII Development Board ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define ALTERA_DEV
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define    TARGET_NAME    "Nios Development Board(Nios2)"
+
+/*
+ *  ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */                 
+#define STACKTOP    0x02000000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK     50000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define    TIC_NUME    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define    TIC_DENO    1        /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+#define USE_JTAG_UART
+
+
+/*
+ * ããªãã§ã©ã«ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#ifdef  STRATIX_II_2S180
+#define PERI_BASE 0x08000000u
+#else
+#define PERI_BASE 0x00800000u
+#endif  /* STRATIX_II_2S180 */
+
+/*
+ *  TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define TIM_BASE (PERI_BASE + 0x00010800u)
+
+/*
+ * ã«ã¼ãã«ã§ä½¿ç¨ãã UART ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#ifndef USE_JTAG_UART
+#define UART_BASE  (PERI_BASE + 0x00010840)
+#else
+#define UART_BASE  (PERI_BASE + 0x00010820)
+#endif /* USE_JTAG_UART */
+
+
+/*
+ *  TIM å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#define TIM_INTLVL        1
+
+/*
+ * UART å²è¾¼ã¿ã®å²è¾¼ã¿çªå·
+ */
+#ifndef USE_JTAG_UART
+#define UART_INTLVL       3
+#else
+#define UART_INTLVL       2
+#endif /* USE_JTAG_UART */
+
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID    1    /* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define SIL_DLY_TIM1    420
+#define SIL_DLY_TIM2    90
+
+/*
+ * ã­ã£ãã·ã¥ã®è¨­å®
+ */ 
+#define NIOS2_ICACHE_SIZE 4096
+#define NIOS2_DCACHE_SIZE 0
+#define NIOS2_ICACHE_LINE_SIZE 32
+#define NIOS2_DCACHE_LINE_SIZE 4
+
+/*
+ * ROMåã®å ´åã®ï¼ROM(FLASH)ã¨RAM
+ */ 
+#define ROM_BASE   0x00000000
+#define RAM_BASE   0x01000000
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_support.S	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.1 2004/06/27 10:51:54 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/altera_dev_board/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.c	(revision 26)
@@ -0,0 +1,190 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.3 2004/09/03 17:32:25 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Nios2ç¨ï¼
+ */
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <nios2.h>
+
+/*
+ * å²ãè¾¼ã¿ãã³ãã©/ããããã¹ã¯ãã¼ãã«
+ */
+FP  int_handler_table[MAX_INT_NUM];
+UW  int_bit_table[MAX_INT_NUM];
+
+/*
+ * CPUä¾å¤ãã³ãã©ãã¼ãã«
+ */
+FP	exc_handler_table[MAX_EXC_NUM]; 
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ * ã«ã¼ãã«èµ·åæã¯ã¿ã¹ã¯ç¬ç«é¨ã¨ã¿ãªããã1ã§åæåãã
+ */
+UW interrupt_count = 1;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+    int i;
+    
+    /*
+     * int_handler_table[],int_plevel_table[]ã®åæå
+     * æªç»é²ã®å²è¾¼ã¿çºçæã«cpu_interrup()ãå¼ã³åºãããããã«
+     * no_reg_interrup()ãç»é²ãã
+     */
+    for(i = 0; i < MAX_INT_NUM; i++){
+        int_handler_table[i] = no_reg_interrupt;
+        int_bit_table[i]  = 1 << i; /* ããããã¿ã¼ã³ã®çæ */
+    }
+
+    /*
+     *  CPUä¾å¤ãã³ãã©ãã¼ãã«
+     */
+    for(i = 0; i < MAX_EXC_NUM; i++){
+        exc_handler_table[i] = no_reg_exception; 
+    }
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ *  å²è¾¼ã¿ç¦æ­¢
+ */
+void
+cpu_terminate()
+{
+    disint();
+}
+
+
+/*
+ * å²è¾¼ã¿ã®è¨±å¯/ç¦æ­¢
+ */
+SYSCALL ER
+ena_int(INTNO intno){
+    set_ienable((1 << intno) | current_ienable()); 
+}
+
+SYSCALL ER
+dis_int(INTNO intno){
+    set_ienable(~(1 << intno) & current_ienable());    
+}
+
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ */
+void
+no_reg_interrupt(void)
+{
+    syslog(LOG_EMERG, "Unregisted Interrupt Occur!");
+    while(1);
+}
+
+/*
+ * æªç»é²ã®ä¾å¤ãçºçããå ´åã«å¼ã³åºããã
+ */
+void
+no_reg_exception(void)
+{
+    syslog(LOG_EMERG, "Unregisted Exception Occur!");
+    while(1);    
+}
+
+/*
+ * å²è¾¼ã¿è¦å ã®å¤å®ã¨å²è¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+ */
+void
+int_handler_call(){
+    UW status;
+    UW mask;
+    int i;
+    
+    interrupt_count++;
+    status = current_ipending();
+    for(i = 0; i < 32; i++){
+        if((status & (1 << i)) != 0x00){
+            mask = current_ienable();
+            set_ienable(~int_bit_table[i] & mask);
+            
+            enaint();
+            (int_handler_table[i])();
+            disint();
+            
+            set_ienable(mask);
+            break;
+        }
+    }
+    interrupt_count--;    
+}
+
+/*
+ *  ä¾å¤ã®å¤å®ã¨CPUä¾å¤ãã³ãã©ã®å¼ã³åºã
+ *  ç¾å¨ã¯æªå®è£
+å½ä»¤ä¾å¤ã®ã¿ããµãã¼ã 
+ */
+void
+exc_handler_call(VP p_excinf){
+    interrupt_count++;
+
+    enaint();
+    (exc_handler_table[0])(p_excinf);
+    disint();
+    
+    interrupt_count--;    
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_config.h	(revision 26)
@@ -0,0 +1,311 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.3 2005/07/06 01:48:21 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼NiosIIç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define    TBIT_TCB_PRIORITY    8    /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define    TBIT_TCB_TSTAT       8    /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+        VP    sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP  pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+extern UW interrupt_count;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+Inline BOOL
+sense_context()
+{
+    return(interrupt_count > 0);    
+}
+
+Inline BOOL
+sense_lock()
+{
+    return((current_status() & STATUS_PIE) == 0);
+}
+
+#define t_sense_lock    sense_lock
+#define i_sense_lock    sense_lock
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ */
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+Inline void
+lock_cpu()
+{
+    disint();
+}
+
+Inline void
+unlock_cpu()
+{
+    enaint();
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void    exit_and_dispatch(void);
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©/ããããã¹ã¯ã®ãã¼ãã«
+ *  int_handler_table[] ã¯å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¼ãã«
+ *  int_bit_table[]ã¯å²è¾¼ã¿ã®åªå
+é ä½ã«å¿ãããããã®ãã¼ãã«ã§ããï¼
+ *  
+ */
+extern FP   int_handler_table[MAX_INT_NUM];
+extern UW   int_bit_table[MAX_INT_NUM];
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ */
+extern FP    exc_handler_table[];
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  å²è¾¼ã¿åªå
+åº¦ inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  çä¼¼ãã¼ãã«ã«ç»é²ãã
+ *  
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+    int_handler_table[inhno] = inthdr;
+}
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *   æ¬ä¼¼ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²
+ */   
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+    exc_handler_table[excno] = exchdr;
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *  
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void);
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define    EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp);
+
+#define    EXC_ENTRY(exchdr)     exchdr
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    return(interrupt_count > 1); 
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+    return((*(UW*)p_excinf & STATUS_PIE) == 0);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void    cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void    cpu_terminate(void);
+
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿/ä¾å¤çºçæã®ã­ã°åºå
+ */
+extern void     no_reg_interrupt(void);
+extern void     no_reg_exception(void);
+
+#endif /* _MACRO_ONLY_ */
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define    SUPPORT_VXGET_TIM
+
+/*                                                                             
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©      
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define    LOGTASK_PORTID    1    /* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_context.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.2 2004/09/03 17:32:25 honda Exp $
+ */
+
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼Nios2ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+    
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *  
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((SIZE) tcb->tinib->stk) + tcb->tinib->stksz);
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 2)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_defs.h	(revision 26)
@@ -0,0 +1,276 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.3 2007/01/15 06:05:22 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼Nios2ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define OMIT_SIL_ACCESS
+
+/*
+ *  ã¨ã³ãã£ã¢ã³ã®åè»¢
+ *  sil.hã§ãå®ç¾©ãã¦ãããï¼OMIT_SIL_ACCESSã«ãããã®ãã¡ã¤ã«ã§
+ *  ã¢ã¯ã»ã¹é¢æ°ãå®ç¾©ãã¦ãããï¼ããã§å®ç¾©ãã 
+ */
+#ifndef SIL_REV_ENDIAN_H
+#define	SIL_REV_ENDIAN_H(data) \
+	((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+#ifndef SIL_REV_ENDIAN_W
+#define	SIL_REV_ENDIAN_W(data) \
+	((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
+		| (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+
+#ifndef NIOS2
+#define NIOS2   /* ãã­ã»ããµç¥ç§° */
+#endif 
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw(); 
+extern ER	ena_int(INTNO intno) throw();
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	UD  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern  ER  vxget_tim(SYSUTIM *pk_sysutim) throw();
+
+
+/*
+ *  å²è¾¼ã¿è¨±å¯ããã
+ */
+#define STATUS_PIE 0x01
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+_disint_()
+{
+    UW status;
+    
+    Asm("rdctl %0, status" : "=r" (status));
+    status &= ~STATUS_PIE;
+    Asm("wrctl status, %0" :: "r" (status));
+}
+
+
+/*
+ *  å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+_enaint_()
+{
+    UW status;
+
+    Asm("rdctl %0, status" : "=r" (status));
+    status |= STATUS_PIE;
+    Asm("wrctl status, %0" :: "r" (status));
+}
+
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC 
+#define SIL_LOC_INT()   _disint_()
+#define SIL_UNL_INT()   _enaint_()
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort()
+{
+
+}
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE 
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã¡ã¢ãªã¢ã¯ã»ã¹é¢æ°
+ */
+
+/*
+ *  8ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VB
+sil_reb_mem(VP mem)
+{
+  return(__builtin_ldbuio(mem));
+}
+
+Inline void
+sil_wrb_mem(VP mem, VB data)
+{
+    __builtin_stbio(mem, data);
+}
+
+
+/*
+ *  16ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VH
+sil_reh_mem(VP mem)
+{
+	return(__builtin_ldhuio(mem));
+}
+
+Inline void
+sil_wrh_mem(VP mem, VH data)
+{
+    __builtin_sthio(mem, data);
+}
+
+
+#define	sil_reh_lem(mem)	sil_reh_mem(mem)
+#define	sil_wrh_lem(mem, data)	sil_wrh_mem(mem, data)
+
+Inline VH
+sil_reh_bem(VP mem)
+{
+	VH	data;
+
+	data = __builtin_ldhuio(mem);
+	return(SIL_REV_ENDIAN_H(data));
+}
+
+Inline void
+sil_wrh_bem(VP mem, VH data)
+{
+    __builtin_sthio(mem, SIL_REV_ENDIAN_H(data));
+}
+
+
+/*
+ *  32ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VW
+sil_rew_mem(VP mem)
+{
+    return(__builtin_ldwio(mem));
+}
+
+Inline void
+sil_wrw_mem(VP mem, VW data)
+{
+    __builtin_stwio(mem, data);
+}
+
+
+#define	sil_rew_lem(mem)	sil_rew_mem(mem)
+#define	sil_wrw_lem(mem, data)	sil_wrw_mem(mem, data)
+
+Inline VW
+sil_rew_bem(VP mem)
+{
+	VW	data;
+
+	data = __builtin_ldwio(mem);
+	return(SIL_REV_ENDIAN_W(data));
+}
+
+Inline void
+sil_wrw_bem(VP mem, VW data)
+{
+    __builtin_stwio(mem, SIL_REV_ENDIAN_W(data));
+}
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+Inline void
+sil_dly_nse(UINT dlytim)
+{
+    
+}
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_insn.h	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.3 2004/09/03 17:32:25 honda Exp $
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#include <nios2.h>
+
+Inline UW
+current_status(void)
+{
+    UW status;
+    Asm("rdctl %0, status" : "=r" (status));
+    return(status);
+}
+
+Inline UW
+current_estatus(void)
+{
+    UW status;
+    Asm("rdctl %0, estatus" : "=r" (status));
+    return(status);
+}
+
+Inline UW
+current_bstatus(void)
+{
+    UW status;
+    Asm("rdctl %0, bstatus" : "=r" (status));
+    return(status);
+}
+
+Inline UW
+current_ipending(void)
+{
+    UW status;
+    Asm("rdctl %0, ipending" : "=r" (status));
+    return(status);
+}
+
+Inline UW
+current_ienable(void)
+{
+    UW status;
+    Asm("rdctl %0, ienable" : "=r" (status));
+    return(status);
+}
+
+Inline void
+set_status(UW status)
+{
+    Asm("wrctl status, %0" :: "r" (status));
+}
+
+Inline void
+set_ienable(UW ienable)
+{
+    Asm("wrctl ienable, %0" :: "r" (ienable));
+}
+
+Inline void
+disint(void)
+{
+    set_status(current_status() & ~STATUS_PIE);
+}
+
+Inline void
+enaint()
+{
+    set_status(current_status() | STATUS_PIE);    
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.def	(revision 26)
@@ -0,0 +1,7 @@
+activate_r
+ret_int
+ret_exc
+interrupt_count
+int_handler_table
+exc_handler_table
+_irq_entry
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_rename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define interrupt_count		_kernel_interrupt_count
+#define int_handler_table	_kernel_int_handler_table
+#define exc_handler_table	_kernel_exc_handler_table
+#define _irq_entry		_kernel__irq_entry
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _interrupt_count	__kernel_interrupt_count
+#define _int_handler_table	__kernel_int_handler_table
+#define _exc_handler_table	__kernel_exc_handler_table
+#define __irq_entry		__kernel__irq_entry
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_support.S	(revision 26)
@@ -0,0 +1,415 @@
+/* 
+ *
+ *  TOPPERS/JSP Kernel
+ *     Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN  
+ * 
+ * ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ * ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *     ã¨ï¼
+ *   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *       å ±åãããã¨ï¼
+ * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ * ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ * æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_support.S,v 1.4 2005/07/06 01:48:21 honda Exp $
+ */
+
+#define _MACRO_ONLY
+
+/*
+ *  ã¢ããªã±ã¼ã·ã§ã³ã¨å
+±éã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <kernel.h>
+/*
+ *  ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <t_config.h>
+
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <nios2.h>
+
+    .set noat
+    .section .exceptions, "xa"
+    .align 2
+    .global _irq_entry
+    .type   _irq_entry, @function
+_irq_entry:
+    /*
+     *  ä¾å¤è¦å ã®å¤å®
+     */
+    rdctl   et, estatus
+    andi    et, et, 1
+    beq     et, zero, _check_trap
+    rdctl   et, ipending
+    beq     et, zero, _check_trap
+
+    
+   /*
+    * ä¾å¤è¦å ã¯å²è¾¼ã¿
+    */
+    addi ea, ea, -4      /* æ»ãçªå°ããã¯ãªã¡ã³ã */
+
+    addi  sp, sp, -76    /* ã¬ã¸ã¹ã¿ã®ä¿å­ */
+    rdctl et, estatus
+    stw   et,   0(sp)
+    stw   at,   4(sp)
+    stw   r2,   8(sp)
+    stw   r3,  12(sp)
+    stw   r4,  16(sp)
+    stw   r5,  20(sp)
+    stw   r6,  24(sp)
+    stw   r7,  28(sp)
+    stw   r8,  32(sp)
+    stw   r9,  36(sp)
+    stw   r10, 40(sp)
+    stw   r11, 44(sp)
+    stw   r12, 48(sp)
+    stw   r13, 52(sp)
+    stw   r14, 56(sp)
+    stw   r15, 60(sp)
+    stw   fp,  64(sp)
+    stw   ra,  68(sp)
+    stw   ea,  72(sp)
+
+    /*
+     * å¤éå²è¾¼ã¿ãå¤å®
+     */
+    ldw   r3, %gprel(interrupt_count)(gp)  /* ãã¹ãåæ°ã®ãã§ãã¯ */
+    bltu  zero, r3,  nest_int
+
+    movhi r2, %hiadj(STACKTOP-4)
+    addi  r2, r2, %lo(STACKTOP-4)
+    stw   sp, 0(r2)     /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­ */        
+    mov   sp, r2        /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®å
+¥ãæ¿ã */
+nest_int:
+    /*
+     *  å²è¾¼ã¿è¦å ã®å¤å®ã¨å¼ã³åºã
+     */
+    call int_handler_call
+
+ret_from_int:
+    ldw   r3, %gprel(interrupt_count)(gp)   
+    bltu  zero, r3, res_reg_and_ret /* ãã¹ãåæ°ã1ä»¥ä¸ãªãæ»ã */
+
+    ldw   r2, 0(sp)                 /* ã¹ã¿ãã¯ãã¤ã³ã¿ãæ»ã */
+    mov   sp, r2                    /* ã¹ã¿ãã¯ãã¤ã³ã¿ãæ»ã */
+
+    ldw   r3, %gprel(reqflg)(gp)    /* reqflgã®ãã§ãã¯ */
+    beq   r3, zero, res_reg_and_ret
+    br    ret_int
+
+res_reg_and_ret:
+    ldw   et,   0(sp)  /* ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+    wrctl estatus, et
+    ldw   at,   4(sp)
+    ldw   r2,   8(sp)
+    ldw   r3,  12(sp)
+    ldw   r4,  16(sp)
+    ldw   r5,  20(sp)
+    ldw   r6,  24(sp)
+    ldw   r7,  28(sp)
+    ldw   r8,  32(sp)
+    ldw   r9,  36(sp)
+    ldw   r10, 40(sp)
+    ldw   r11, 44(sp)
+    ldw   r12, 48(sp)
+    ldw   r13, 52(sp)
+    ldw   r14, 56(sp)
+    ldw   r15, 60(sp)
+    ldw   fp,  64(sp)
+    ldw   ra,  68(sp)
+    ldw   ea,  72(sp)
+    addi  sp, sp, 76        
+    eret      
+
+
+_check_trap:        
+    /*
+     *  Trapãå¤å®
+     */
+    ldw   et, -4(ea)               /* ä¾å¤ãåºããå½ä»¤ãåå¾ */
+    xorhi et, et, 0x003b           /*  ä¸ä½16bit             */
+    xori  et, et, 0x683a           /*  ä¸ä½16bit             */
+    beq   et, zero, trap_handler
+
+_check_exc:
+    addi  sp, sp, -76
+    rdctl et,   estatus
+    stw   et,    0(sp)
+    stw   at,    4(sp)
+    stw   r2,    8(sp)
+    stw   r3,   12(sp)
+    stw   r4,   16(sp)
+    stw   r5,   20(sp)
+    stw   r6,   24(sp)
+    stw   r7,   28(sp)
+    stw   r8,   32(sp)
+    stw   r9,   36(sp)
+    stw   r10,  40(sp)
+    stw   r11,  44(sp)
+    stw   r12,  48(sp)
+    stw   r13,  52(sp)
+    stw   r14,  56(sp)
+    stw   r15,  60(sp)
+    stw   fp,   64(sp)
+    stw   ra,   68(sp)
+    stw   ea,   72(sp)
+    mov   r4,   sp     /* ãã³ãã©ã®å¼æ° */
+
+    /*
+     * å¤éå²è¾¼ã¿ãå¤å®
+     */
+    ldw   r3, %gprel(interrupt_count)(gp)  /* ãã¹ãåæ°ã®ãã§ãã¯ */
+    bltu  zero, r3,  nest_int_exc
+    
+    movhi r2, %hiadj(STACKTOP-4)
+    addi  r2, r2, %lo(STACKTOP-4)
+    stw   sp, 0(r2)     /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­ */        
+    mov   sp, r2        /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®å
+¥ãæ¿ã */
+nest_int_exc:
+    
+    call exc_handler_call  /* CPUä¾å¤ãã³ãã©å¼ã³åºãã«ã¼ãã³ã®å®è¡ */
+
+    br ret_from_int        /* ãªã¿ã¼ã³å¦ç */
+
+
+trap_handler:
+   /*
+    *  Trapãã³ãã©ã¼
+    */
+    eret  
+
+
+
+    .set noat
+    .align  2
+    .global ret_int
+    .global ret_exc
+ret_int:
+ret_exc:
+    stw   zero, %gprel(reqflg)(gp)   /* reqflg ã FALSEã« */
+    ldw   r5,   %gprel(runtsk)(gp)   /* r5 <- runtsk      */
+    ldw   r6,   %gprel(enadsp)(gp)   /* r6 <- enadsp      */
+    beq   r6,   zero, ret_int_1      /* enadsp ã FALSE ãªã ret_int_1 ã¸ */
+    ldw   r4,   %gprel(schedtsk)(gp) /* r4 <- schedtsk    */
+    beq   r4,   r5, ret_int_1        /* runtsk ã¨ schedtskãåããªãret_int_1ã¸ */
+    addi  sp,   sp, -32              /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */    
+    stw   r16,  0(sp)
+    stw   r17,  4(sp)
+    stw   r18,  8(sp)
+    stw   r19, 12(sp)
+    stw   r20, 16(sp)
+    stw   r21, 20(sp)
+    stw   r22, 24(sp)
+    stw   r23, 28(sp)
+    stw   sp,  TCB_sp(r5)         /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ */
+    movhi r2,  %hiadj(ret_int_r)  /* å®è¡éå§çªå°ãä¿å­        */
+    addi  r2,  r2, %lo(ret_int_r)
+    stw   r2,  TCB_pc(r5)         /* å®è¡åéçªå°ãTCBã«ä¿å­   */
+    br    dispatcher
+
+ret_int_r:
+    ldw   r16,  0(sp)       /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+    ldw   r17,  4(sp)
+    ldw   r18,  8(sp)
+    ldw   r19, 12(sp)
+    ldw   r20, 16(sp)
+    ldw   r21, 20(sp)
+    ldw   r22, 24(sp)
+    ldw   r23, 28(sp)
+    addi  sp, sp, 32    
+ret_int_1:
+    /*
+     *  ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®èµ·å    
+     *  ret_int_r ã¯ dispatcher ããå¼ã³åºãããããï¼
+     *  tcbã®ã¢ãã¬ã¹ã¯ r4 ã«å
+¥ã£ã¦ãã
+     */
+    ldw  r5, TCB_enatex(r4)       /* r5 <- enatex */
+#if TCB_enatex_mask > 0xffff
+    andhi r6, r5, %hi(TCB_enatex_mask)
+#else
+    andi r6, r5, %lo(TCB_enatex_mask)
+#endif /* TCB_enatex_mask > 0xffff */
+    andhi r6, r5, 4
+    beq  r6, zero, ret_int_2      /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+    ldw  r7, TCB_texptn(r4)       /* r7 <- texptn, texptnã0ã§ãªããã° */
+    beq  zero, r7, ret_int_2      
+    call call_texrtn              /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+
+ret_int_2:
+    ldw   et,   0(sp)    /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+    wrctl estatus, et
+    ldw   at,   4(sp)
+    ldw   r2,   8(sp)
+    ldw   r3,  12(sp)
+    ldw   r4,  16(sp)
+    ldw   r5,  20(sp)
+    ldw   r6,  24(sp)
+    ldw   r7,  28(sp)
+    ldw   r8,  32(sp)
+    ldw   r9,  36(sp)
+    ldw   r10, 40(sp)
+    ldw   r11, 44(sp)
+    ldw   r12, 48(sp)
+    ldw   r13, 52(sp)
+    ldw   r14, 56(sp)
+    ldw   r15, 60(sp)
+    ldw   fp,  64(sp)
+    ldw   ra,  68(sp)
+    ldw   ea,  72(sp)
+    addi  sp, sp, 76        
+    eret      
+
+
+    
+
+    .global dispatch
+    .align  2
+dispatch:
+    addi  sp, sp, -40                /* ã¬ã¸ã¹ã¿ãä¿å­ */    
+    stw   r16,  0(sp)
+    stw   r17,  4(sp)
+    stw   r18,  8(sp)
+    stw   r19, 12(sp)
+    stw   r20, 16(sp)
+    stw   r21, 20(sp)
+    stw   r22, 24(sp)
+    stw   r23, 28(sp)
+    stw   fp,  32(sp)
+    stw   ra,  36(sp)
+    ldw   r4,  %gprel(runtsk)(gp)  /* r4 <- runtsk              */
+    stw   sp,  TCB_sp(r4)          /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ */
+    movhi r5,  %hiadj(dispatch_r)  /* å®è¡éå§çªå°ãä¿å­        */
+    addi  r5,  r5, %lo(dispatch_r)
+    stw   r5,  TCB_pc(r4)          /* å®è¡åéçªå°ãTCBã«ä¿å­   */
+    br    dispatcher
+
+dispatch_r:
+    ldw   r16,  0(sp)              /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+    ldw   r17,  4(sp)
+    ldw   r18,  8(sp)
+    ldw   r19, 12(sp)
+    ldw   r20, 16(sp)
+    ldw   r21, 20(sp)
+    ldw   r22, 24(sp)
+    ldw   r23, 28(sp)
+    ldw   fp,  32(sp)     
+    /*
+     * ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®èµ·å
+     *  dispatch_r ã¯ dispatcher ããå¼ã³åºãããããï¼
+     *  tcb ã®ã¢ãã¬ã¹ã¯ r4 ã«å
+¥ã£ã¦ãã
+     */    
+    ldw  r5, TCB_enatex(r4)       /* r5 <- enatex */
+#if TCB_enatex_mask > 0xffff
+    andhi r6, r5, %hi(TCB_enatex_mask)
+#else
+    andi r6, r5, %lo(TCB_enatex_mask)
+#endif /* TCB_enatex_mask > 0xffff */
+    beq  r6, zero, dispatch_r_1   /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+    ldw  r7, TCB_texptn(r4)       /* r7 <- texptn, texptnã0ã§ãªããã° */
+    beq  r7, zero, dispatch_r_1    
+    call call_texrtn              /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+
+dispatch_r_1:
+    ldw   ra, 36(sp)              /* æ®ãã®ã¬ã¸ã¹ã¿ãå¾©å¸° */    
+    addi  sp, sp, 40                
+    ret
+
+
+
+    .global exit_and_dispatch
+exit_and_dispatch:
+    stw      zero, %gprel(interrupt_count)(gp)  /* interrupt_count ãã¯ãªã¢ */
+dispatcher:
+    /*
+     * ããã¯å²è¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+     */    
+    ldw   r4,   %gprel(schedtsk)(gp) /* r4 <- schedtsk              */
+    stw   r4,   %gprel(runtsk)(gp)   /* schedtsk ã runtskã«        */
+    beq   r4,   zero, dispatcher_1   /* schedtskãããã            */
+    ldw   sp,   TCB_sp(r4)           /* TCBããã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+    ldw   r5,   TCB_pc(r4)           /* TCBããå®è¡åéçªå°ãå¾©å¸°   */
+    jmp   r5
+dispatcher_1:
+    /*
+     * ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæ¿ããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+     * ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+     * ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+     */
+    movhi sp, %hiadj(STACKTOP)            /* å²è¾¼ã¿ã¹ã¿ãã¯ã«å¤æ´  */
+    addi  sp, sp, %lo(STACKTOP)              
+    movi  r5, 1                           /* interrupt_count ã1ã« */
+    stw   r5, %gprel(interrupt_count)(gp)  
+dispatcher_2:
+    wrctl status, r5      /* å²è¾¼ã¿ã®è¨±å¯ */
+    nop
+    nop
+    nop
+    nop
+    wrctl status, zero                      /* å²è¾¼ã¿ã®ç¦æ­¢             */
+    ldw   r6, %gprel(reqflg)(gp)            /* r6 <- reqflg             */
+    beq   r6, zero, dispatcher_2            /* reqflg ã FALSE ãªã     */
+    stw   zero, %gprel(interrupt_count)(gp) /* interrupt_count ãã¯ãªã¢ */ 
+    stw   zero, %gprel(reqflg)(gp)          /* reqflg ã FALSE ã«       */ 
+    br    dispatcher
+
+
+    .text
+    .global activate_r
+    .align 2
+activate_r:
+    movi  r2, 1
+    wrctl status, r2      /* å²è¾¼ã¿è¨±å¯       */
+    ldw   r4, 4(sp)       /* å¼æ°(exinf)      */
+    ldw   r2, 0(sp)       /* ã¿ã¹ã¯ã®å®è¡çªå° */
+    addi  sp, sp, 8
+    movhi ra, %hiadj(ext_tsk)
+    addi  ra, ra, %lo(ext_tsk)
+    jmp   r2              /* ã¿ã¹ã¯ã®å®è¡éå§ */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/cpu_unrename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef interrupt_count
+#undef int_handler_table
+#undef exc_handler_table
+#undef _irq_entry
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _interrupt_count
+#undef _int_handler_table
+#undef _exc_handler_table
+#undef __irq_entry
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2004/06/27 10:14:00 honda Exp $
+ */
+
+/* 
+ *	SIOãã©ã¤ãï¼Nios2 UARTç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_serial.h	(revision 26)
@@ -0,0 +1,156 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2004/07/25 05:20:13 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Nios2 UARTç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <nios2.h>
+
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®å²è¾¼ã¿çªå·
+ */
+#define INHNO_SIO UART_INTLVL
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize uart_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦ç
+     */
+    siopcb = uart_opn_por(siopid, exinf);
+
+    /*
+     * å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿è¨±å¯
+     */
+    ena_int(UART_INTLVL);
+
+    return(siopcb);
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*                                                                          
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼                                            
+     */
+    uart_cls_por(siopcb);
+  
+    /*
+     * å²è¾¼ã¿ã®ç¦æ­¢
+     */
+    dis_int(UART_INTLVL);
+}
+
+
+/*                                                                             
+ *  SIOã®å²è¾¼ã¿ãã³ãã©                                                        
+ */
+#define sio_handler uart_isr
+
+/*                                                                             
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                              
+ */
+#define sio_snd_chr uart_snd_chr
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+
+#endif /* _MACRO_ONLY */
+#endif /*  _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/hw_timer.h	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.4 2004/09/10 14:38:21 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+/*
+ * CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Nios2ç¨ï¼
+ */ 
+#include <s_services.h>
+#include <nios2.h>
+
+/*
+ * ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®å²è¾¼ã¿çªå·
+ */
+#define INHNO_TIMER TIM_INTLVL
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW CLOCK;
+
+/*                                                                             
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ                               
+ *  TIMER_CLOCK ã¯ã¿ã¼ã²ãããã¼ãæ¯ã«è¨­å®                                     
+ */
+#define TO_CLOCK(nume, deno)  (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK ((CLOCK) 0xffffffff)
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåãåºãéã®å¦çæéã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define GET_TOLERANCE	100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ * ã¿ã¤ãã®èµ·åå¦ç
+ *
+ * ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿ãçºçããã
+ */ 
+Inline void
+hw_timer_initialize(void)
+{
+  
+    CLOCK cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+    /* ã¿ã¤ãã¼ã¹ããã */
+    sil_wrw_mem((VP)TIM_CONTROL,TIM_CONTROL_STOP);
+    /* ã¿ã¤ã ã¢ã¦ãã¹ãã¼ã¿ã¹ã¯ãªã¢ */
+    sil_wrw_mem((VP)TIM_STATUS, 0x00);
+    
+      
+    assert(cyc <= MAX_CLOCK);                          /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+    sil_wrw_mem((VP)TIM_PERIODL, (cyc & 0xffff)); /* ã«ã¦ã³ã¿ã¼ã»ãã ä¸ä½16bit */
+    sil_wrw_mem((VP)TIM_PERIODH, (cyc >> 16));    /* ã«ã¦ã³ã¿ã¼ã»ãã ä¸ä½16bit */
+  
+    /*
+     * ã¿ã¤ãã¼ã¹ã¿ã¼ãï¼ãªã¼ããªã­ã¼ãï¼å²è¾¼ã¿è¨±å¯
+     */
+    sil_wrw_mem((VP)TIM_CONTROL, TIM_CONTROL_START
+                                 |TIM_CONTROL_COUNT|TIM_CONTROL_ITO);
+
+    /*
+     * å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®è¨±å¯
+     */
+    ena_int(TIM_INTLVL);
+}
+
+
+/*
+ *   ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+    /* TOãããã®ã¯ãªã¢ */
+    sil_wrw_mem((VP)TIM_STATUS,0x00);
+}
+
+
+/*
+ *   ã¿ã¤ãã®ç¦æ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ã¿ã¤ãåæ­¢ */
+    sil_wrw_mem((VP)TIM_CONTROL, TIM_CONTROL_STOP);
+
+    /* å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ */
+    sil_wrw_mem((VP)TIM_STATUS, 0x00);
+}
+
+
+/*
+ *   ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿åºã
+ *
+ *   å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+    CLOCK count;
+
+    /* ã¹ãããã¬ã¸ã¹ã¿ã«æ¸ãè¾¼ãã¨å¤ããã¼ã«ããã */
+    sil_wrw_mem((VP)TIM_SNAPL, 0x00);
+
+    /* ã«ã¦ã³ãå¤ãèª­ã¿è¾¼ã */
+    count = sil_rew_mem((VP)TIM_SNAPL);
+    count |= sil_rew_mem((VP)TIM_SNAPH) << 16; 
+    
+    return(TIMER_CLOCK - count);
+}
+
+
+/*
+ *   å²è¾¼ã¿ãçºçãã¦ãããã®å¤å®
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+    return(sil_rew_mem((VP)TIM_STATUS) & TIM_STATUS_TO);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/makeoffset.c	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.2 2004/09/06 16:00:37 hiro Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_LW_TCB_enatex = {
+               { NULL, NULL }, NULL, 0, 0,
+               FALSE, FALSE, TRUE,
+               0, NULL, {NULL, NULL }
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.c	(revision 26)
@@ -0,0 +1,381 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: nios2.c,v 1.6 2005/07/17 14:24:04 honda Exp $
+ */
+
+/*
+ * Nios2 æ¨æºããªãã§ã©ã«ç¨ãã©ã¤ã
+ */
+#include <s_services.h>
+#include <nios2.h>
+
+
+/*
+ * UART ç¨ ç°¡æãã©ã¤ã
+ */
+
+/*                                                                       
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯                                         
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {{}};
+
+/*                                                                      
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢                                
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+/*                                                                          
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­                  
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+#ifdef USE_JTAG_UART
+/*
+ *  JTAG_UART ã¯ã¹ãã¼ã¿ã¹ã¨ãã¼ã¿ãåæã«åå¾ããããï¼ã¹ãã¼ã¿ã¹ã
+ *  ãã§ãã¯ããã¨ãã¼ã¿ãèª­ã¿è¾¼ãã§ãã¾ãï¼ãã®ããï¼uart_getready()
+ *  ãå®è¡ããå¾ã®ãã¼ã¿ãå
+¥ããï¼  
+ */ 
+UB jtag_uart_buf = -1;
+#endif /* USE_JTAG_UART */
+
+/*
+ * æå­ãåä¿¡ããã?                                                       
+ */
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	return((sil_rew_mem((VP)UART_STATUS) &
+			UART_STATUS_RRDY) != 0);
+#else
+	UW tmp = sil_rew_mem((VP)JTAG_UART_DATA);
+	jtag_uart_buf = (UB)tmp;	
+	return ((tmp & JTAG_UART_DATA_RVALID) != 0);
+#endif /* USE_JTAG_UART	*/	
+}
+
+/*                                                                             
+ * æå­ãéä¿¡ã§ããã?                                                         
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART		
+	return((sil_rew_mem((VP)UART_STATUS) & UART_STATUS_TRDY) != 0);
+#else
+	return((sil_rew_mem(
+		(VP)JTAG_UART_CONTROL) & JTAG_UART_CONTROL_WSAPCE) > 0);
+#endif /* USE_JTAG_UART	*/
+}
+
+/*                                                                             
+ *  åä¿¡ããæå­ã®åãåºã                                                     
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	return((UB)(sil_rew_mem((VP)UART_RXDATA)));
+#else
+	return((UB)(sil_rew_mem((VP)JTAG_UART_DATA)));
+#endif /* USE_JTAG_UART	*/
+}
+
+/*                                                                            
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿                                                    
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+#ifndef USE_JTAG_UART
+	sil_wrw_mem((VP)UART_TXDATA, c);
+#else
+	sil_wrw_mem((VP)JTAG_UART_DATA,c);
+#endif /* USE_JTAG_UART	*/
+}
+
+/*
+ * éä¿¡å¶å¾¡é¢æ°
+ */
+/*                                                                             
+ *  éä¿¡å²è¾¼ã¿è¨±å¯                                                             
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	sil_wrw_mem((VP)UART_CONTROL,
+				sil_rew_mem((VP)UART_CONTROL)|UART_CONTROL_ITRD);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,
+				sil_rew_mem((VP)JTAG_UART_CONTROL)|JTAG_UART_CONTROL_WIE);
+#endif /* USE_JTAG_UART	*/	
+}
+
+/*                                                                             
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢                                                             
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	sil_wrw_mem((VP)UART_CONTROL,
+				sil_rew_mem((VP)UART_CONTROL)&~UART_CONTROL_ITRD);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,
+				sil_rew_mem((VP)JTAG_UART_CONTROL)&~JTAG_UART_CONTROL_WIE);
+#endif /* USE_JTAG_UART	*/
+}
+
+/*
+ * åä¿¡å¶å¾¡é¢æ°
+ */
+/*                                                                             
+ *  åä¿¡å²è¾¼ã¿è¨±å¯                                                             
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	sil_wrw_mem((VP)UART_CONTROL,
+				sil_rew_mem((VP)UART_CONTROL)|UART_STATUS_RRDY);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,
+				sil_rew_mem((VP)JTAG_UART_CONTROL)|JTAG_UART_CONTROL_RIE);
+#endif /* USE_JTAG_UART	*/
+}
+
+/*                                                                             
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢                                                             
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART	
+	sil_wrw_mem((VP)UART_CONTROL,
+				sil_rew_mem((VP)UART_CONTROL)&~UART_STATUS_RRDY);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,
+				sil_rew_mem((VP)JTAG_UART_CONTROL)&~JTAG_UART_CONTROL_RIE);
+#endif /* USE_JTAG_UART	*/	
+}
+
+
+/*                                                                             
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³                                                
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã                                      
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*                                                                         
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå                                  
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+
+SIOPCB   *
+uart_opn_por(ID siopid, VP_INT exinf){
+
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+#ifndef USE_JTAG_UART		
+//    sil_wrw_mem(UART_DIVISOR, UART_DIVISOR_VAL);
+    sil_wrw_mem((VP)UART_STATUS, 0x00);
+    
+    /*
+     *  åä¿¡å²ãè¾¼ã¿è¨±å¯
+     */
+    sil_wrw_mem((VP)UART_CONTROL, UART_STATUS_RRDY);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,JTAG_UART_CONTROL_RIE);
+#endif /* USE_JTAG_UART	*/
+	
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+
+void
+uart_cls_por(SIOPCB *siopcb){
+#ifndef USE_JTAG_UART	
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    sil_wrw_mem((VP)UART_CONTROL, 0x00);
+#else
+	sil_wrw_mem((VP)JTAG_UART_CONTROL,0x00);
+#endif /* USE_JTAG_UART	*/		
+    siopcb->openflag = FALSE;
+    siopcb->sendflag = FALSE;
+}
+
+
+
+/*                                                                             
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                            
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, INT chr)
+{
+    if(uart_putready(siopcb)){
+        uart_putchar(siopcb, (UB) chr);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+#ifndef USE_JTAG_UART
+	if (uart_getready(siopcb)) {
+		return((INT)(UB) uart_getchar(siopcb));
+	}
+	return(-1);
+#else
+	UB tmp;
+	
+	if (jtag_uart_buf != -1) {
+		tmp = jtag_uart_buf;
+		jtag_uart_buf = -1;
+		return tmp;
+	}
+	return(-1);
+#endif /* USE_JTAG_UART	*/	
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+      case SIO_ERDY_SND:
+        uart_enable_send(siopcb);
+        break;
+      case SIO_ERDY_RCV:
+        uart_enable_rcv(siopcb);
+        break;
+    }
+
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+      case SIO_ERDY_SND:
+        uart_disable_send(siopcb);
+        break;
+      case SIO_ERDY_RCV:
+        uart_disable_rcv(siopcb);
+        break;
+    }
+}
+
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç                                       
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+
+/*                                                                             
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³                                                
+ */
+void
+uart_isr()
+{
+    if (siopcb_table[0].openflag) {
+        uart_isr_siop(&(siopcb_table[0]));
+    }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/nios2.h	(revision 26)
@@ -0,0 +1,300 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: nios2.h,v 1.5 2005/03/11 07:37:57 honda Exp $
+ */
+
+#ifndef _NIOSII_H_
+#define _NIOSII_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ããã
+ */
+#define STATUS_U   0x02
+#define STATUS_PIE 0x01
+
+/*
+ * å²è¾¼ã¿ã®æ°
+ */
+#define MAX_INT_NUM 32
+
+/*
+ * ä¾å¤ã®åæ°
+ */
+#define MAX_EXC_NUM 32
+
+
+/*
+ *  Timer
+ *  Full-featuredãµãã¼ã 
+ */
+
+/*
+ * ãªãã»ããå¤
+ */
+#define TIM_STATUS_OFFSET  0x00
+#define TIM_CONTROL_OFFSET 0x04
+#define TIM_PERIODL_OFFSET 0x08
+#define TIM_PERIODH_OFFSET 0x0C
+#define TIM_SNAPL_OFFSET 0x10
+#define TIM_SNAPH_OFFSET 0x14
+
+#define TIM_STATUS_RUN 0x02
+#define TIM_STATUS_TO  0x01
+
+#define TIM_CONTROL_STOP  0x08
+#define TIM_CONTROL_START 0x04
+#define TIM_CONTROL_COUNT 0x02
+#define TIM_CONTROL_ITO   0x01
+
+/*
+ *
+ */
+#define TIM_STATUS  (TIM_BASE + TIM_STATUS_OFFSET)
+#define TIM_CONTROL (TIM_BASE + TIM_CONTROL_OFFSET)
+#define TIM_PERIODL (TIM_BASE + TIM_PERIODL_OFFSET)
+#define TIM_PERIODH (TIM_BASE + TIM_PERIODH_OFFSET)
+#define TIM_SNAPL   (TIM_BASE + TIM_SNAPL_OFFSET)
+#define TIM_SNAPH   (TIM_BASE + TIM_SNAPH_OFFSET)
+
+
+/*
+ * UART
+ */
+#define UART_RXDATA_OFFSET  0x00
+#define UART_TXDATA_OFFSET  0x04
+#define UART_STATUS_OFFSET  0x08
+#define UART_CONTROL_OFFSET 0x0C
+#define UART_DIVISOR_OFFSET 0x10
+#define UART_ENDOFPACKET_OFFSET 0x1C
+
+#define UART_STATUS_EOP   0x1000
+#define UART_STATUS_CTS   0x0800
+#define UART_STATUS_DCTS  0x0400
+#define UART_STATUS_E     0x0100
+#define UART_STATUS_RRDY  0x0080
+#define UART_STATUS_TRDY  0x0040
+#define UART_STATUS_TMT   0x0020
+#define UART_STATUS_TOE   0x0010
+#define UART_STATUS_ROE   0x0008
+#define UART_STATUS_BRK   0x0004
+#define UART_STATUS_FE    0x0002
+#define UART_STATUS_PE    0x0001
+
+#define UART_CONTROL_IEOP  0x1000
+#define UART_CONTROL_RTS   0x0800
+#define UART_CONTROL_IDCTS 0x0400
+#define UART_CONTROL_TRDK  0x0200
+#define UART_CONTROL_IE    0x0100
+#define UART_CONTROL_IRRDY 0x0080
+#define UART_CONTROL_ITRD  0x0040
+#define UART_CONTROL_ITMT  0x0020
+#define UART_CONTROL_ITOE  0x0010
+#define UART_CONTROL_IROE  0x0008
+#define UART_CONTROL_IBRK  0x0004
+#define UART_CONTROL_IFE   0x0002
+#define UART_CONTROL_IPE   0x0001
+
+#define UART_RXDATA  (UART_BASE + UART_RXDATA_OFFSET)
+#define UART_TXDATA  (UART_BASE + UART_TXDATA_OFFSET)
+#define UART_STATUS  (UART_BASE + UART_STATUS_OFFSET)
+#define UART_CONTROL (UART_BASE + UART_CONTROL_OFFSET)
+#define UART_DIVISOR (UART_BASE + UART_DIVISOR_OFFSET)
+#define UART_ENDOFPACKET (UART_BASE + UART_ENDOFPACKET_OFFSET)
+
+
+/*
+ * JTAG UARTé¢é£
+ */ 
+#define JTAG_UART_DATA_OFFSET    0x00
+#define JTAG_UART_CONTROL_OFFSET 0x04
+
+#define JTAG_UART_DATA_RVALID 0x8000
+
+#define JTAG_UART_CONTROL_RIE 0x01
+#define JTAG_UART_CONTROL_WIE 0x02
+#define JTAG_UART_CONTROL_RIP 0x04
+#define JTAG_UART_CONTROL_WIP 0x08
+#define JTAG_UART_CONTROL_WSAPCE 0x0ffff0000
+
+#define JTAG_UART_DATA    (UART_BASE + JTAG_UART_DATA_OFFSET)
+#define JTAG_UART_CONTROL (UART_BASE + JTAG_UART_CONTROL_OFFSET)
+
+
+#ifndef _MACRO_ONLY
+
+/*                                                                          
+ * å
+èµUARTç¨ ç°¡æSIOãã©ã¤ã                                                 
+ */
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯                                         
+ */
+typedef struct sio_port_initialization_block {
+
+} SIOPINIB;
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯                                            
+ */
+typedef struct sio_port_control_block {
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;           /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;           /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;           /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;           /* æå­ãéä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+extern SIOPCB   siopcb_table[];
+
+#define uart_openflag   (siopcb_table[0].openflag)
+
+Inline void
+uart_putc(unsigned char c){
+#ifndef USE_JTAG_UART	
+	while(!(sil_rew_mem((VP)UART_STATUS) & UART_STATUS_TRDY));
+	sil_wrw_mem((VP)UART_TXDATA, c);
+#else
+	while(!((sil_rew_mem((VP)JTAG_UART_CONTROL) & JTAG_UART_CONTROL_WSAPCE) > 0));
+	sil_wrw_mem((VP)JTAG_UART_DATA, c);	
+#endif /* USE_JTAG_UART	*/	
+}
+
+Inline unsigned char
+uart_getc(void){
+#ifndef USE_JTAG_UART	
+	while(!(sil_rew_mem((VP)UART_STATUS) & UART_STATUS_RRDY));
+	return (char)(sil_rew_mem((VP)UART_RXDATA));
+#else
+	int tmp;
+	do{
+		tmp = sil_rew_mem((VP)JTAG_UART_DATA);
+	}while((tmp &JTAG_UART_DATA_RVALID) == 0);
+
+	return (char)tmp;
+#endif /* USE_JTAG_UART	*/			
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ *  OPB_UARTLITE ã¯ï¼éåä¿¡å²è¾¼ã¿ãåããã¦ããªãããï¼æå³ã¯ãªãï¼
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*                                                                           
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³                                                
+ */
+extern void uart_initialize(void);
+
+
+/*                                                                           
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³                                              
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+/*                                                                         
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº                                             
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+/*                                                                            
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡                                            
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, INT chr);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*                                                                            
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³                                              
+ */
+extern void uart_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+#endif  /* _MACRO_ONLY */
+
+#endif /* _NIOSII_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/start.S	(revision 26)
@@ -0,0 +1,204 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN    
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.5 2006/01/13 07:01:03 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include <t_config.h>
+#include <sys_defs.h>
+
+
+     .section .entry, "xa"
+     .align 2
+     .global __reset
+__reset:
+#if NIOS2_ICACHE_SIZE > 0
+    /* 
+     * The assumption here is that the instruction cache size is always
+     * a power of two.
+     */
+
+#if NIOS2_ICACHE_SIZE > 0x8000
+    movhi r2, %hi(NIOS2_ICACHE_SIZE)
+#else 
+    movui r2, NIOS2_ICACHE_SIZE
+#endif
+0:
+    initi r2
+    addi r2, r2, -NIOS2_ICACHE_LINE_SIZE
+    bgt r2, zero, 0b
+1:
+
+    .pushsection .debug_alt_sim_info
+    .int 1, 1, 0b, 1b
+    .popsection
+#endif /* NIOS2_ICACHE_SIZE > 0 */
+
+#ifndef BOOT_ROM
+    movhi r3, %hiadj(_start)
+    addi r3, r3, %lo(_start)
+    jmp r3    
+#else
+    br _boot_rom
+#endif  /* BOOT_ROM */
+
+
+#ifdef BOOT_ROM
+    .section .text
+    .align 2
+    .globl _
+    .type _boot_rom, @function
+_boot_rom:
+#if NIOS2_DCACHE_SIZE > 0
+#if NIOS2_DCACHE_SIZE > 0x8000
+    movhi r2, %hi(NIOS2_DCACHE_SIZE)
+#else
+    movui r2, NIOS2_DCACHE_SIZE
+#endif
+0:
+    initd 0(r2)
+    addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
+    bgt r2, zero, 0b
+1:
+    .pushsection .debug_alt_sim_info
+    .int 2, 1, 0b, 1b
+    .popsection
+#endif /* NIOS2_DCACHE_SIZE > 0 */
+
+_boot_rom_1:
+    movhi   r3, %hiadj(ROM_BASE)  /* r3 source */
+    addi    r3, r3, %lo(ROM_BASE)
+    movhi   r4, %hiadj(RAM_BASE)  /* r4 destination */
+    addi    r4, r4, %lo(RAM_BASE)
+    movhi   r2, %hiadj(_edata)
+    addi    r2, r2, %lo(_edata)
+
+_flash_copy:    
+    ldw     r5, 0(r3)
+    addi    r3, r3, 1
+    stw     r5, 0(r4)
+    addi    r4, r4, 1
+    bgeu    r2, r4, _flash_copy
+
+    movhi r2, %hiadj(_start)
+    addi  r2, r2, %lo(_start)
+    jmp   r2    
+     nop
+    
+#endif /* BOOT_ROM */
+
+
+    .section .text
+    .align 2
+    .globl _start
+    .type _start, @function
+_start:
+#if NIOS2_DCACHE_SIZE > 0
+#if NIOS2_DCACHE_SIZE > 0x8000
+    movhi r2, %hi(NIOS2_DCACHE_SIZE)
+#else
+    movui r2, NIOS2_DCACHE_SIZE
+#endif
+0:
+    initd 0(r2)
+    addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
+    bgt r2, zero, 0b
+1:
+    .pushsection .debug_alt_sim_info
+    .int 2, 1, 0b, 1b
+    .popsection
+#endif /* NIOS2_DCACHE_SIZE > 0 */
+
+    /*
+     *  ã¹ã¿ãã¯ã®è¨­å®
+     */
+    movhi sp, %hiadj(STACKTOP)
+    addi  sp, sp, %lo(STACKTOP)
+    
+    /* 
+     * set up the global pointer. 
+     */
+    movhi gp, %hiadj(_gp)
+    addi  gp, gp, %lo(_gp)
+
+start_0:
+    movhi r2, %hiadj(_hardware_init_hook)
+    addi  r2, r2, %lo(_hardware_init_hook)
+    beq   zero, r2, start_1
+    callr r2
+    
+    /*
+     * Clear bss.
+     */
+start_1:
+    movhi r3, %hiadj(__bss_start)
+    addi  r3, r3, %lo(__bss_start)
+
+    movhi r2, %hiadj(__bss_end)
+    addi  r2, r2, %lo(__bss_end)
+
+    beq   r3, r2, start_3
+start_2:
+    stw  zero, (r3)
+    addi r3, r3, 4
+    bltu r3, r2, start_2
+
+start_3:
+    movhi r2, %hiadj(_software_init_hook)
+    addi  r2, r2, %lo(_software_init_hook)
+    beq   zero, r2, start_4
+    callr r2
+
+start_4:
+    
+    call kernel_start
+
+crt0_end:
+    br crt0_end    
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.2 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/nios2/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.1 2004/06/27 10:14:00 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus         /* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/Makefile.config	(revision 26)
@@ -0,0 +1,47 @@
+#
+#  @(#) $Id: Makefile.config,v 1.1 2004/09/03 16:39:56 honda Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼PowerPCç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#      powerpc-elf-gccä»¥å¤ã®ã³ã³ãã¤ã©ãç¨ããå ´åã¯
+#      $(SYS)/Makefile.configã§å¤æ°TARGETãå®ç¾©ããã
+#ãããå®ç¾©ããã¦ããªãå ´åã¯ãããã©ã«ãã§TARGETã«
+#ãããpowerpc-elfãè¨­å®ãããã
+#
+ifndef TARGET
+   TARGET = powerpc-elf
+endif
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -Wall -O2
+
+# PowerPCã¯Cè¨èªã®ã·ã³ãã«ã«_ãä»ããªãã®ã§ã-DLABEL_ASMã¯ãããªã
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+# æªå®æ
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.c	(revision 26)
@@ -0,0 +1,268 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼PowerPCç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <sil.h>
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿ãã¹ã¯ã®æ¬ä¼¼ãã¼ãã«
+ */
+FP int_table[TMAX_INTNO];
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ã®æ¬ä¼¼ãã¼ãã«
+ */
+FP exc_table[TMAX_EXCNO];
+
+/*
+ *  ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®ãã¼ã¿ãã¼ãã«
+ *
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x1000ã¯ã«ã¼ãã«ãç¨æããåº
+ *  å
+¥å£å¦çãçµç±ããªãã®ã§ããã®ãã¼ãã«ã®0x10çªç®ãä½¿ç¨ããã
+ *  ãã¨ã¯ãªãã
+ */
+static const char *(exe_list[]) = {
+	"",				/*  0x0  */
+	"System Reset",			/*  0x1  */
+	"Machine Check",		/*  0x2  */
+	"DSI",				/*  0x3  */
+	"ISI",				/*  0x4  */
+	"External Interrupt",		/*  0x5  */
+	"Alignment",			/*  0x6  */
+	"Program",			/*  0x7  */
+	"Floating Point Unavailable",	/*  0x8  */
+	"Decrementer",			/*  0x9  */
+	"Implement Exception 0xa00",	/*  0xa  */
+	"",				/*  0xb  */
+	"System Call",			/*  0xc  */
+	"Trace",			/*  0xd  */
+	"Floating Point Assist",	/*  0xe  */
+};
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+    	INHNO i;
+    	EXCNO j;
+
+    	/* 
+    	 * å²è¾¼ã¿æ¬ä¼¼ãã¯ã¿ãã¼ãã«åæå
+    	 *
+    	 *ãã0ã§åæåãã¦æªç»é²æ±ãã«ãã¦ããã®ã§ã
+    	 *ããå²è¾¼ã¿å¦çã®ICUä¾å­é¨åPROC_ICUã§ã¯ã
+    	 *ããæªç»é²ã®å ´åã®å¦çãå
+¥ãã¦ãããã¨
+         */
+    	for( i = 0; i < TMAX_INTNO; i++ ) {
+        	define_inh( i, (FP)0 );
+    	}
+
+    	/* CPUä¾å¤æ¬ä¼¼ãã¯ã¿ãã¼ãã«åæå */
+    	for( j = 0; j < TMAX_EXCNO; j++ ) {
+        	define_exc( j, (FP)&no_reg_exception );
+    	}
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  PowerPCã³ã¢ã«ã¯IPMããªããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®IPMã®ã¿æ±ã£ã¦
+ *  ããç¹ã«æ³¨æ
+ *
+ *  chg_ipm ãä½¿ã£ã¦ NMIä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ã§ãããã©ãã
+ *  ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ä¾å­ããã
+ *  NMIä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼loc_cpuã«ããCPU
+ *  ã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPMã«ãã£ã¦ä¸é¨ã®å²è¾¼ã¿ããã¹ã¯ããã¦ããæã«ãï¼ã¿ã¹ã¯ãã£ã¹
+ *  ãããã¯ä¿çãããªãï¼IPMã¯ï¼ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ã
+ *  ãå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ãããï¼ãã®ããï¼ã¿ã¹ã¯ãå®
+ *  è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPMãå¤æ´ãããå ´åãããï¼JSPã«ã¼
+ *  ãã«ã§ã¯ï¼IPMã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã«ãã£ã¦ãèµ·ãããï¼
+ *  ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨æãããï¼IPM ã®å¤
+ *  ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dspãä½µç¨
+ *  ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);	/*  ICUä¾å­  */
+	CHECK_TSKCTX_UNL();
+	CHECK_IPM(ipm);		/*  ICUä¾å­  */
+
+	t_lock_cpu();
+	CHG_IPM(ipm);		/*  ICUä¾å­  */
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);		/*  ICUä¾å­  */
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	GET_IPM(p_ipm);				/*  ICUä¾å­  */
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);	/*  ICUä¾å­  */
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+
+/*  CPUä¾å¤ï¼å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä¸ã®ãã¼ã¿è¡¨ç¤º  */
+void syslog_data_on_stack(EXCSTACK *sp)
+{
+    syslog(LOG_EMERG, "PC = 0x%08x SR = 0x%08x",
+    			sp->srr0, sp->srr1);
+
+    syslog(LOG_EMERG, "r0 = 0x%08x ", sp->r0);
+    syslog(LOG_EMERG, "r3 = 0x%08x r4 = 0x%08x r5 = 0x%08x",
+    			sp->r3, sp->r4, sp->r5);
+    syslog(LOG_EMERG, "r6 = 0x%08x r7 = 0x%08x r8 = 0x%08x",
+    			sp->r6, sp->r7, sp->r8);
+    syslog(LOG_EMERG, "r9 = 0x%08x r10 = 0x%08x r11 = 0x%08x",
+    			sp->r9, sp->r10, sp->r11);
+    syslog(LOG_EMERG, "r12 = 0x%08x ", sp->r12);
+
+
+    syslog(LOG_EMERG, "LR = 0x%08x CTR = 0x%08x",
+    			sp->lr, sp->ctr );
+    syslog(LOG_EMERG, "CR = 0x%08x XER = 0x%08x",
+    			sp->cr, sp->xer );
+}
+
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+
+void no_reg_exception(EXCSTACK *sp)
+{
+    syslog(LOG_EMERG, "Exception error occurs.");
+    syslog(LOG_EMERG, " [0x%02x]: %s", 
+    	   sp->exc_no, exe_list[sp->exc_no]);
+
+    /*  ã¹ã¿ãã¯ä¸ã®ãã¼ã¿ã®è¡¨ç¤º  */
+    syslog_data_on_stack(sp);
+
+    while(1);
+}
+
+
+/*
+ *  ã¡ã¢ãªãã­ãã¯æä½ã©ã¤ãã©ãª
+ *	(ItIsããã®æµç¨)
+ *
+ *  é¢æ°ã®ä»æ§ã¯ï¼ANSI C ã©ã¤ãã©ãªã®ä»æ§ã¨åãï¼æ¨æºã©ã¤ãã©ãªã®ãã®ã
+ *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *
+ */
+VP
+_dummy_memcpy(VP dest, VP src, UINT len)
+{
+	VB *d = (VB *)dest;
+	VB *s = (VB *)src;
+
+	while (len-- > 0) {
+		*d++ = *s++;
+	}
+	return(dest);
+}
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_config.h	(revision 26)
@@ -0,0 +1,421 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼PowerPCç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  PowerPCãã­ã»ããµã®å
+é¨ã¬ã¸ã¹ã¿ã®å®ç¾©
+ */
+#include <powerpc.h>
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+/*
+ *  ã¹ã¿ãã¯ã«å¿
+è¦ãªãã¼ã¸ã³
+ *  
+ *  PowerPC EABIã§è¦å®ããã¦ããã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã§ã¯é¢æ°å¼ã³
+ *  åºãæã®ãã¬ã¼ã ã¹ã¿ãã¯ãã¤ã³ã¿ãæãã¦ãã8ãã¤ãå
+(sp+4)ã
+ *  (sp+7)çªå°ã«å¼ã°ããå´ã®æ
+å ±ãå¾
+é¿ãããããã®ãããã¢ã»ã³ãã©ã«ã¼
+ *  ãã³ããCè¨èªã«ã¼ãã³ãå¼ã³åºãç®æï¼ç¹ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ *  é¨ï¼ã§ã¯æ³¨æãå¿
+è¦ã§ããã
+ *  å
+·ä½çã«ã¯ä»¥ä¸ã®ç®æãè©²å½ããã
+ *   ã(1) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³
+ *   ã(2) ã¿ã¹ã¯èµ·å
+ *   ã  (2-1) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å
+ *   ã(3) å²è¾¼ã¿ãã³ãã©èµ·å
+ *   ã(4) CPUä¾å¤ã«ã¼ãã³èµ·å
+ *  
+ *  ãããããããããããããã¹ã¿ãã¯ãä¼¸ã³ãæ¹å
+ *  ãããããããããããããããããâ
+ *  ã é¢æ°å¼ã³åºãåã®spâ  ---------------------- 
+ *  ã ããããã           |                      |
+ *  ãããããã         +4  ----------------------ã
+ *  ãããããã            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºã
+ *  ãããããã         +8  ----------------------   ã«ããæ¸ãè¾¼ã¾ãã
+ *  ã
+ *  ãåè
+ *  ãã64ãããåã®éã«ã¯æ³¨æãå¿
+è¦ã§ããã
+ *  ã
+ */
+#define STACK_MARGIN	8
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ *ããspã4ãã¤ãå¢çã§ãããã¨ãæç¤ºããããã
+ *ããUW*åã§å®£è¨ãã¦ããã
+ */
+
+typedef struct task_context_block {
+        UW	*sp;            /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP	pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *  
+ *    æ»ãå¤
+ *    ãTRUE ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ *    ãFALSEï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ *
+ *ãSPRG0ãå²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã«ç¨ãã¦ãã
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ãã
+ *  æ»ã£ãã¨ãã«ã¯ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ *
+ */
+Inline BOOL
+sense_context()
+{
+    UW intnest;
+    
+    intnest = current_sprg0();    	/*  intnest â SPRG0  */
+    return(intnest > 0);
+}
+
+/*
+ *  CPUã­ãã¯ç¶æ
+åç
+§
+ *  
+ *    æ»ãå¤
+ *    ãTRUE ï¼CPUã­ãã¯ç¶æ
+
+ *    ãFALSEï¼CPUã­ãã¯è§£é¤ç¶æ
+
+ *
+ *  MSRãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ããæ»ã£ãã¨ãã«ã¯
+ *  MSRãå
+ã«æ»ã£ã¦ãã
+ *
+ */
+Inline BOOL
+sense_lock()
+{
+    return(!(current_msr() & MSR_EE));
+}
+
+#define t_sense_lock    sense_lock
+#define i_sense_lock    sense_lock
+
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ *  ãMSRã®EEãããã§CPUã­ãã¯ãå®ç¾ãã¦ããã
+ *  ãå²è¾¼ã¿ãã¹ã¯ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ããã
+ *  ãå²è¾¼ã¿å
+¨ç¦æ­¢ã¨å²è¾¼ã¿ãã¹ã¯ãç¬ç«ãã¦ããããã
+ *  ãåç´ã«å®è£
+ã§ããã
+ */
+
+/*  ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨  */
+#define t_lock_cpu      disint      /*  cpu_insn.h  */
+#define t_unlock_cpu    enaint      /*  cpu_insn.h  */
+
+/*  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨  */
+#define i_lock_cpu      disint      /*  cpu_insn.h  */
+#define i_unlock_cpu    enaint      /*  cpu_insn.h  */
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®æ¬ä¼¼ãã¼ãã«
+ */
+extern FP int_table[];
+
+/*
+ *  ä¾å¤ãã¯ã¿ã®æ¬ä¼¼ãã¼ãã«
+ */
+extern FP exc_table[];
+
+
+Inline void
+define_inh(INHNO intno, FP inthdr)
+{
+    int_table[intno] = inthdr;
+
+#ifdef GDB_STUB     /*  ä¿ç  */
+
+#endif
+}
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+    exc_table[excno] = exchdr;
+
+#ifdef GDB_STUB     /*  ä¿ç  */
+
+#endif
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+
+#define EXC_ENTRY(exchdr)     exchdr
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å¥
+ *  
+ *    æ»ãå¤
+ *    ãTRUE ï¼CPUä¾å¤çºçæã«éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ *    ãFALSEï¼CPUä¾å¤çºçæã«ã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ *
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    UW  intnest;
+    
+    intnest = current_sprg0();    	/*  intnest â SPRG0  */
+
+    /*
+     * ï¼ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®å
+     * å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã
+     */
+    return(intnest > 1);
+}
+
+
+/*
+ * ä¾å¤ãã³ãã©ã®å¼æ°p_excinfãæãç¤ºãçªå°ãã
+ * ããããããããããããSSR1ã¬ã¸ã¹ã¿ã¾ã§ã®ãªãã»ãã
+ * 
+ * ããMSRã®ã³ãã¼SSR1ã¬ã¸ã¹ã¿ã¯ãã¹ã¿ãã¯ã«(OFFSET_SSR1+1)çªç®ã«
+ * ããç©ã¾ãã¦ããã
+ * ããsupport.Sã®SAVE_GPR0_12_SPRGãåç
+§ 
+ */
+#define OFFSET_SSR1	12
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ *  
+ *    æ»ãå¤
+ *    ãTRUE ï¼CPUä¾å¤çºçæã«CPUã­ãã¯ç¶æ
+
+ *    ãFALSEï¼CPUä¾å¤çºçæã«CPUã­ãã¯è§£é¤ç¶æ
+
+ *  
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+    UW  ssr1;
+
+    ssr1 = *((volatile UW *)p_excinf + OFFSET_SSR1);
+    return( !(ssr1 & MSR_EE) );
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void cpu_terminate(void);
+
+/*
+ *  ä¸è¨ã®ã­ã°åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+typedef struct exc_stack {
+	UW	r0;
+	UW	r3;
+	UW	r4;
+	UW	r5;
+	UW	r6;
+	UW	r7;
+	UW	r8;
+	UW	r9;
+	UW	r10;
+	UW	r11;
+	UW	r12;
+	UW	srr0;	/*   å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿0ã*/
+	UW	srr1;	/*   å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿1ã*/
+	UW	lr;	/*   ãªã³ã¯ã»ã¬ã¸ã¹ã¿ 	*/
+	UW	ctr;	/*   ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿	*/
+	UW	cr;	/*   ã³ã³ãã£ã·ã§ã³ã»ã¬ã¸ã¹ã¿ 	*/
+	UW	xer;	/*   æ´æ°ãªãã¬ã¼ã·ã§ã³ã®æ¡ä»¶è­å¥ã¬ã¸ã¹ã¿ã*/
+			/*  ãï¼ã­ã£ãªã¼ããªã¼ããã­ã¼ãªã©ï¼  */
+	UW	exc_no;	/*   ä¾å¤çªå· 	*/
+} EXCSTACK;
+
+/*  ã¹ã¿ãã¯ä¸ã®ãã¼ã¿ã®è¡¨ç¤º  */
+void syslog_data_on_stack(EXCSTACK *sp);
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤çºçæã®ã­ã°åºå (cpu_config.c)
+ */
+extern void no_reg_exception(EXCSTACK *);
+
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_context.h	(revision 26)
@@ -0,0 +1,126 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼PowerPCç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	UW *sp;
+
+	sp = (UW *)(((VB *) tcb->tinib->stk) 
+	             + tcb->tinib->stksz - STACK_MARGIN);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.S  */
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *
+ *      PowerPCã§ã¯activate_context()ã¨create_context()ã§ã¹ã¿ãã¯ã«ä½ã
+ *      ç©ã¾ãªããããACTIVATED_STACK_SIZEãå®ç¾©ããå¿
+è¦ããªã
+ */
+/* #define	ACTIVATED_STACK_SIZE */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_defs.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼PowerPCç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define POWERPC32			/* ãã­ã»ããµç¥ç§° */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2004 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ *ãããIPMã¯sys_defs.hã§å®ç¾©ãã¦ãã
+ */
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SILé¢é£ã®å®ç¾©
+ */
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ *  ããsil.hã§ç¨æãã¦ããããã©ã«ãã®å¦çã§ã¯ã³ã³ãã­ã¹ãã®å¤å¥ãè¡ã£
+ *  ããã¦ãããPowerPCã®å²è¾¼ã¿ã­ãã¯ã®å®è£
+ã§ã¯ã³ã³ãã­ã¹ãã®å¤å¥ãå¿
+è¦
+ *  ãããªãã®ã§ãæ©ç¨®ä¾å­é¨ã§å®ç¾©ãã¦ããã
+ */
+#define	SIL_PRE_LOC	UW _msr_ = current_msr()
+#define	SIL_LOC_INT()	disint()
+#define	SIL_UNL_INT()	set_msr(_msr_)
+
+
+#endif /* _CPU_DEFS_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_insn.h	(revision 26)
@@ -0,0 +1,190 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼PowerPCç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/*
+ *  ãã·ã³ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼MSRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_msr(void)
+{
+	UW msr;
+	Asm("mfmsr %0" : "=r"(msr));
+	return(msr);
+}
+
+
+/*
+ *  ãã·ã³ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼MSRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_msr(UW msr)
+{
+	Asm("mtmsr %0" : : "r"(msr) );
+}
+
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+#if !defined(IBM_PPC_EMB_ENV)
+	/*  
+	 *   ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã®å ´å
+	 *   ããã¢ãã­ã¼ã©MPCã·ãªã¼ãºãIPM PowerPC6xx/7xxã·ãªã¼ãºã¯
+	 *   ãããã¡ãã«è©²å½ããã
+	 */   
+	UW msr;
+	
+	msr = current_msr();
+	msr |= MSR_EE;
+	msr ^= MSR_EE;
+	set_msr(msr);
+
+#else	/*  IBM_PPC_EMB_ENV  */
+	/*  
+	 *   The IBM PowerPC Embedded Environmentã®å ´å
+	 *   ãIBMç³»PowerPC40xã·ãªã¼ãºå¯¾å¿
+	 *   ããwrteeiå½ä»¤ã§ç´æ¥EEããããã¯ãªã¢ã§ããã
+	 */   
+	Asm("wrteei 0" : );	/*  MSR.EEâ0  */
+
+#endif	/*  IBM_PPC_EMB_ENV  */
+}
+
+
+/*
+ *  å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+#if !defined(IBM_PPC_EMB_ENV)
+	/*  
+	 *   ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã®å ´å
+	 *   ããã¢ãã­ã¼ã©MPCã·ãªã¼ãºãIPM PowerPC6xx/7xxã·ãªã¼ãºã¯
+	 *   ãããã¡ãã«è©²å½ããã
+	 */   
+	UW msr;
+	
+	msr = current_msr();
+	msr |= MSR_EE;
+	set_msr(msr);
+
+#else	/*  IBM_PPC_EMB_ENV  */
+	/*  
+	 *   The IBM PowerPC Embedded Environmentã®å ´å
+	 *   ãIBMç³»PowerPC40xã·ãªã¼ãºå¯¾å¿
+	 *   ããwrteeiå½ä»¤ã§ç´æ¥EEããããã»ããã§ããã
+	 */   
+	Asm("wrteei 1" : );	/*  MSR.EEâ1  */
+
+#endif	/*  IBM_PPC_EMB_ENV  */
+}
+
+
+/*
+ *  ã¹ãã·ã£ã«ã»ãã¼ãã¹ã»ã¹ã¬ã¸ã¹ã¿ï¼SPRï¼ã®ç¾å¨å¤ã®èª­åºã
+ *     no :ã¬ã¸ã¹ã¿çªå·
+ *     dst:èª­ã¿åºããå¤ãæ ¼ç´ããå¤æ°
+ */
+
+#define _current_spr(no, dst)	Asm("mfspr %0," #no : "=r"(dst))
+#define current_spr(no, dst)	_current_spr(no, dst)
+
+
+/*
+ *  ã¹ãã·ã£ã«ã»ãã¼ãã¹ã»ã¹ã¬ã¸ã¹ã¿ï¼SPRï¼ã®ç¾å¨å¤ã®å¤æ´
+ *     no :ã¬ã¸ã¹ã¿çªå·
+ *     src:è¨­å®ããå¤
+ */
+#define set_spr(no, src)	_set_spr(no, src)
+#define _set_spr(no, src)	Asm("mtspr "#no", %1" : : "r"(src) )
+
+/*
+ *  SPRG0ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_sprg0()
+{
+    UW sprg0;
+    
+    current_spr(SPRG0, sprg0);	/*  sprg0 â SPRG0  */
+    return(sprg0);
+}
+
+
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *ããæ©ç¨®éä¾å­é¨ã§ç¨æããé¢æ°ãå©ç¨ããã®ã§
+ *ããCPU_BITMAP_SEARCHãã¯ã­ã¯å®ç¾©ããªã
+ */
+
+
+#endif /* _CPU_INSN_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.def	(revision 26)
@@ -0,0 +1,17 @@
+#cpu_support.S
+activate_r
+ret_int
+ret_exc
+Exception_Entry
+External_interrupt_1
+
+#cpu_config.c
+int_table
+exc_table
+exe_list
+no_reg_exception
+syslog_data_on_stack
+
+#cpu_config.h
+define_inh
+define_exc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_rename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define Exception_Entry		_kernel_Exception_Entry
+#define External_interrupt_1	_kernel_External_interrupt_1
+
+/*
+ * cpu_config.c
+ */
+#define int_table		_kernel_int_table
+#define exc_table		_kernel_exc_table
+#define exe_list		_kernel_exe_list
+#define no_reg_exception	_kernel_no_reg_exception
+#define syslog_data_on_stack	_kernel_syslog_data_on_stack
+
+/*
+ * cpu_config.h
+ */
+#define define_inh		_kernel_define_inh
+#define define_exc		_kernel_define_exc
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _Exception_Entry	__kernel_Exception_Entry
+#define _External_interrupt_1	__kernel_External_interrupt_1
+
+/*
+ * cpu_config.c
+ */
+#define _int_table		__kernel_int_table
+#define _exc_table		__kernel_exc_table
+#define _exe_list		__kernel_exe_list
+#define _no_reg_exception	__kernel_no_reg_exception
+#define _syslog_data_on_stack	__kernel_syslog_data_on_stack
+
+/*
+ * cpu_config.h
+ */
+#define _define_inh		__kernel_define_inh
+#define _define_exc		__kernel_define_exc
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_support.S	(revision 26)
@@ -0,0 +1,1748 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼PowerPCç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  TCBæ§é ä½ã®ãªãã»ããã®ãã§ãã¯
+ *ããã15ãããã«åã¾ã£ã¦ããªãã¨ç¬¦å·æ¡å¼µãèµ·ããã
+ *ãããæå¾
+ããåä½ã«ãªããªãã
+ */
+#define CHECK_OFFSET(offset)	(((offset)&~0x8fff) != 0)
+#if CHECK_OFFSET(TCB_pc) || CHECK_OFFSET(TCB_sp) 		\
+    || CHECK_OFFSET(TCB_enatex) || CHECK_OFFSET(TCB_texptn) 	\
+    || CHECK_OFFSET(TCB_tinib) || CHECK_OFFSET(TINIB_task) 	\
+    || CHECK_OFFSET(TINIB_exinf) 
+	ããã§ã³ã³ãã¤ã«ã¨ã©ã¼
+#endif
+
+
+/*
+ *ãä¾å¤å¦çã®ååã§éé¿ããã¬ã¸ã¹ã¿æ°
+ *ãããæ±ç¨ã¬ã¸ã¹ã¿ï¼gpr0-1,3-12
+ *ãããç¹æ®ã¬ã¸ã¹ã¿ï¼LR,CTR,XER,SRR0,SRR1
+ */
+#define NUM_REG			17
+
+/*  ã¬ã¸ã¹ã¿ãå¾
+é¿ããã®ã«å¿
+è¦ãªãã¤ãæ°  */
+#define GPR0_12_SPRG_AREA_SIZE  (NUM_REG*4 + 4)  
+		/*  +4ã¯ä¾å¤è¦å çªå·ãä¿å­ããã¹ãã¼ã¹  */
+		/*  æ³¨æï¼4ãã¤ãå¢çã«ãªã£ã¦ãã  */
+
+#define GPR13_31_AREA_SIZE      (19*4)  /*  gpr13-31  */
+
+    /*
+     *ãæ³¨æ
+     *ãããMPC860ã¯æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ããªãããããã®é¨åã¯
+     *ããããã¹ãããã¦ããªã
+     */
+#ifdef SUPPORT_FLOATING_POINT_REG
+/*  ãã¼ãã¦ã§ã¢ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ããã¦ããå ´å  */
+#define FPR_AREA_SIZE       (32*8+8)    /*  fpr0-31,FPSCR  */
+#define FPR0_13_AREA_SIZE   (14*8+8)    /*  fpr0-14,FPSCR  */
+#define FPR14_31_AREA_SIZE  (18*8)      /*  fpr15-31  */
+
+#else   /*  SUPPORT_FLOATING_POINT_REG  */
+/*  ãã¼ãã¦ã§ã¢ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ããã¦ããªãå ´å  */
+#define FPR_AREA_SIZE       0           /*  fpr0-31,FPSCR  */
+#define FPR0_13_AREA_SIZE   0           /*  fpr0-14,FPSCR  */
+#define FPR14_31_AREA_SIZE  0           /*  fpr15-31  */
+#endif  /* SUPPORT_FLOATING_POINT_REG */    
+
+/*
+ *  å²è¾¼ã¿ãCPUä¾å¤åä»æã®ã¬ã¸ã¹ã¿ã®å¾
+é¿
+ *ããæ³¨æ
+ *ãããæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿ã¯ãã£ã¹ãããå¼ã³åºããããã¨ã
+ *ãããï¼ã¿ã¹ã¯ã¹ã¤ããã®å¯è½æ§ãããã¨ãï¼ã®ã¿è¡ãã
+ *ãããå²è¾¼ã¿ãã³ãã©ãCPUä¾å¤ãã³ãã©å
+ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã
+ *ãããä½¿ç¨ããå ´åã¯ãåãã³ãã©å
+ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼
+ *ãããå¾©å
+ãè¡ããã¨ã
+ *ããã
+ *ãããr4ã®SRR1ã¯CPUä¾å¤çºçæã®CPUã­ãã¯ç¶æ
+å¤å¥ã«ãä½¿ç¨ããã
+ *ããã
+ */
+#define SAVE_GPR0_12_SPRG                   \
+    subi    sp, sp, GPR0_12_SPRG_AREA_SIZE; \
+    stw     r0, 0*4(sp);                    \
+    stw     r3, 1*4(sp);                    \
+    stw     r4, 2*4(sp);                    \
+    stw     r5, 3*4(sp);                    \
+    stw     r6, 4*4(sp);                    \
+    stw     r7, 5*4(sp);                    \
+    stw     r8, 6*4(sp);                    \
+    stw     r9, 7*4(sp);                    \
+    stw     r10, 8*4(sp);                   \
+    stw     r11, 9*4(sp);                   \
+    stw     r12,10*4(sp);                   \
+    mfspr   r3, SRR0;                       \
+    stw     r3, 11*4(sp);                   \
+    mfspr   r4, SRR1;                       \
+    stw     r4, 12*4(sp);                   \
+    mfspr   r5, LR;                         \
+    stw     r5, 13*4(sp);                   \
+    mfspr   r6, CTR;                        \
+    stw     r6, 14*4(sp);                   \
+    mfcr    r7;             /*  CR  */      \
+    stw     r7, 15*4(sp);                   \
+    mfspr   r8, XER;                        \
+    stw     r8, 16*4(sp)
+
+
+/*  
+ *  å²è¾¼ã¿ãCPUä¾å¤åä»æã®ã¬ã¸ã¹ã¿ã®å¾©å
+
+ *  ããï¼gpr0-1,3-12, ç¹æ®ã¬ã¸ã¹ã¿ã®å¾©å
+ï¼
+ *  
+ *  ãããã£ã¹ãããå¼ã³åºãããªãå ´å
+ */
+#define LOAD_R0_12_SPRG                         \
+    /*  ç¹æ®ã¬ã¸ã¹ã¿ã®å¾©å
+  */                  \
+    lwz     r3, 11*4(sp);                       \
+    mtspr   SRR0, r3;                           \
+    lwz     r4, 12*4(sp);                       \
+    mtspr   SRR1, r4;                           \
+    lwz     r5, 13*4(sp);                       \
+    mtspr   LR, r5;                             \
+    lwz     r6, 14*4(sp);                       \
+    mtspr   CTR, r6;                            \
+    lwz     r7, 15*4(sp);                       \
+    mtcr    r7;             /*  CR  */          \
+    lwz     r8, 16*4(sp);                       \
+    mtspr   XER, r8;                            \
+    /*  æ±ç¨ã¬ã¸ã¹ã¿gpr0-1,3-12ã®å¾©å
+  */       \
+    lwz     r0, 0*4(sp);                        \
+    lwz     r3, 1*4(sp);                        \
+    lwz     r4, 2*4(sp);                        \
+    lwz     r5, 3*4(sp);                        \
+    lwz     r6, 4*4(sp);                        \
+    lwz     r7, 5*4(sp);                        \
+    lwz     r8, 6*4(sp);                        \
+    lwz     r9, 7*4(sp);                        \
+    lwz     r10, 8*4(sp);                       \
+    lwz     r11, 9*4(sp);                       \
+    lwz     r12, 10*4(sp)
+    /*  ãã¯ã­å®ç¾©ããã¾ã§  */
+
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®å
+ãåä¾å¤ãã¯ã¿ã«é
+ç½®ããååé¨å
+ *  
+ *  ããã¯ã­å¼æ°
+ *  ããexc_noï¼ä¾å¤çªå·
+ *  ã
+ *  ãã¬ã¸ã¹ã¿å²ãå½ã¦
+ *  ããSPRG2ï¼exc_tableï¼CPUä¾å¤æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ï¼
+ *  ããCTRï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *  ããr3ï¼CPUä¾å¤ãã³ãã©ã®å¼æ°
+ *  ããr4ï¼SRR1ã®ã³ãã¼
+ */
+#define MAKE_EXCEPTION_ENTRY(exe_no)                            \
+    SAVE_GPR0_12_SPRG;  /*  ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾
+é¿  */        \
+                        /*  ï¼r4ã«SRR1ãã³ãã¼ãããï¼  */      \
+    mr  r3, sp;         /*  CPUä¾å¤ãã³ãã©ã®å¼æ°è¨­å®  */       \
+    /*  Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹è¨­å®  */                     \
+    mfspr   r5, SPRG2;  /*  r5âSPRG2ï¼exc_table  */            \
+                        /*  æ¬ä¼¼ãã¯ã¿ãã¼ãã«èª­ã¿åºã  */      \
+    lwz     r6, (exe_no<<2)(r5);                                \
+    li      r7, exe_no; /*  ä¾å¤è¦å çªå·ã®ä¿å­  */              \
+    stw     r7, NUM_REG*4(sp)    /*  (cpu_experr()ã§ä½¿ç¨)  */
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®å
+ãåä¾å¤ãã¯ã¿ã«é
+ç½®ãããªã
+ *  ååé¨åã¸ã®åå²
+ *  
+ *  ä¾å¤ãã¯ã¿ã®é
+ç½®ã«ãã£ã¦ã¯bå½ä»¤ã«ããåå²ï¼åå¾0x07ff,ffffï¼ã§
+ *  å±ããªãå ´åãããããã®å ´åã¯çµ¶å¯¾çªå°ãæå®ãã¦åå²ããã
+ */
+#ifdef ABSOLUTE_JUMP_EXC_ENTRY
+#define JUMP_EXC_ENTRY(label)			\
+		LI32(r8, label);		\
+		mtctr r8;			\
+		bctr
+
+#else	/*  ABSOLUTE_JUMP_EXE_ENTRY  */
+#define JUMP_EXC_ENTRY(label)	b label
+#endif	/*  ABSOLUTE_JUMP_EXE_ENTRY  */
+
+/*  
+ *   ä¾å¤ãã¯ã¿ã®å®ç¾©
+ */   
+
+#ifndef IBM_PPC_EMB_ENV
+/*  
+ *   ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã®å ´å
+ *   ããã¢ãã­ã¼ã©MPCã·ãªã¼ãºãIPM PowerPC6xx/7xxã·ãªã¼ãºã¯
+ *   ãããã¡ãã«è©²å½ããã
+ */   
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹
+ *  ãããã·ã³ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿MSRã®IPãããã
+ *  ãããã0ã®ã¨ãï¼0x0000,0000çªå°
+ *  ãããã1ã®ã¨ãï¼0xfff0,0000çªå°
+ * ãããããã®ãªãã»ããã«ãªã
+ */
+#define EXCEPTION_VECTOR_BASE   0x100
+
+/*
+ *  ã·ã¹ãã ãªã»ããä¾å¤
+ */
+    .section ".exception_vector","rxai"
+    .align 2
+    .org 0x100 - EXCEPTION_VECTOR_BASE
+
+System_reset_exception:
+    JUMP_EXC_ENTRY(start)               /*  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³  */
+
+/*
+ *  ãã·ã³ã»ãã§ãã¯ä¾å¤
+ */
+    .org 0x200 - EXCEPTION_VECTOR_BASE
+
+Machine_check_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_MACHINE_CHECK)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  DSIä¾å¤
+ *  ããã¼ã¿ã»ã¡ã¢ãªã»ã¢ã¯ã»ã¹
+ *  ããã¼ã¿TLBã¨ã©ã¼ï¼ãã¹
+ */
+    .org 0x300 - EXCEPTION_VECTOR_BASE
+
+DSI_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_DSI)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ISIä¾å¤
+ *  ãå½ä»¤ãã§ãã
+ *  ãå½ä»¤TLBã¨ã©ã¼ï¼ãã¹
+ */
+    .org 0x400 - EXCEPTION_VECTOR_BASE
+
+ISI_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_ISI)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+
+/*
+ *  å¤é¨å²è¾¼ã¿
+ *  ããã¹ã¦ã®å¤é¨å²ãè¾¼ã¿ã§åãçªå°ã«åå²ãã
+ */
+    .org 0x500 - EXCEPTION_VECTOR_BASE
+
+External_interrupt:
+    SAVE_GPR0_12_SPRG           /*  ã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+    /*
+     *  æ¬å½ã¯ããã§ç¶ãã®å¦çãè¡ããããã0x100ãã¤ãï¼64å½ä»¤ï¼å¾ãã«
+     *  ã¢ã©ã¤ã¡ã³ãä¾å¤ã®å¦çãå
+¥ããããç¶ãã¯External_interrupt_1:ã§è¡
+     *  ãã
+     */
+    JUMP_EXC_ENTRY(External_interrupt_1)
+
+/*
+ *  ã¢ã©ã¤ã¡ã³ãä¾å¤
+ */
+    .org 0x600 - EXCEPTION_VECTOR_BASE
+
+Alignment_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_ALIGNMENT)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ãã­ã°ã©ã ä¾å¤
+ *  ããFloating point enabled
+ *  ããIllegal instruction
+ *  ããPrivileged instruction
+ *  ããTrap instruction
+ */
+    .org 0x700 - EXCEPTION_VECTOR_BASE
+
+Program_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_PROGRAM)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  æµ®åå°æ°ç¹ä½¿ç¨ä¸å¯
+ */
+    .org 0x800 - EXCEPTION_VECTOR_BASE
+
+Floating_point_unavailable:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_FLOATING_POINT_UNAVAILABLE)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ãã¯ãªã¡ã³ã¿ä¾å¤
+ */
+    .org 0x900 - EXCEPTION_VECTOR_BASE
+
+Decrementer_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_DECREMENTER)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x00a00
+ */
+#ifdef IMPLEMENT_EXCEPTION_00A00
+    .org 0xa00 - EXCEPTION_VECTOR_BASE
+
+Implementation_exception_00a00:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_IMPLEMENT_EXCEPTION_00A00)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+#endif /* IMPLEMENT_EXCEPTION_00A00 */
+
+
+/*
+ *  ã·ã¹ãã ã³ã¼ã«
+ */
+    .org 0xc00 - EXCEPTION_VECTOR_BASE
+
+System_call:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_SYSTEM_CALL)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ãã¬ã¼ã¹ï¼ãªãã·ã§ã³ï¼
+ */
+    .org 0xd00 - EXCEPTION_VECTOR_BASE
+
+Trace_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_TRACE)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+
+/*
+ *  æµ®åå°æ°ç¹è£å©
+ */
+    .org 0xe00 - EXCEPTION_VECTOR_BASE
+
+Floating_point_assist:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_FLOATING_POINT_ASSIST)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦ç 0x01000-0x2ffff
+ *    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿ï¼ï¼ã¤ã¨ã¯éããªãï¼ã
+ *    ä»ã®ç¨éã«ä½¿ç¨ããã
+ */
+#ifdef IMPLEMENT_EXCEPTION_01000_PROC
+    .org 0x1000 - EXCEPTION_VECTOR_BASE
+
+    IMPLEMENT_EXCEPTION_01000_PROC
+    
+#endif /* IMPLEMENT_EXCEPTION_01000_PROC */
+
+#else	/*  IBM_PPC_EMB_ENV  */
+
+/*  
+ *   The IBM PowerPC Embedded Environmentã®å ´å
+ *   ãIBMç³»PowerPC40xã·ãªã¼ãºå¯¾å¿
+ */   
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹
+ *   ã The IBM PowerPC Embedded Environmentã®å ´å
+ *  ãããã»ä¾å¤ãã¯ã¿ã®å
+é ­ã¢ãã¬ã¹ã¯EVPRã¬ã¸ã¹ã¿ã§è¨­å®ãã
+ *  ãããã»ãã·ã³ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿MSRã®IPãããããªã
+ */
+#define EXCEPTION_VECTOR_BASE   0x100
+
+/*
+ *  Critical Interrupt
+ *  ããªãã»ããï¼0x100
+ *  ãCritical Interruptã¯ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ãªã®ã§
+ *  ãå¦çå
+å®¹ã¯ãã¯ã­å®ç¾©ãã¦ããã
+ *  ãããã¯ã­åï¼CRITICAL_INTERRUPT_EXCEPTION_PROC
+ *  ããã®å¦çå
+å®¹ã¯0x100ãã¤ããè¶
+ãã¦ã¯ãããªãã
+ *  ãï¼è¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+ *  ããããã«åå²ãããã¨ï¼
+ *
+ *  ãCritical Interruptã¯ã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ */
+    .section ".exception_vector","rxai"
+    .align 2
+    .org 0x100 - EXCEPTION_VECTOR_BASE
+
+Critical_Interrupt_exception:
+    CRITICAL_INTERRUPT_EXCEPTION_PROC
+    /*  æ³¨æï¼ãªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)  */
+
+/*
+ *  ãã·ã³ã»ãã§ãã¯ä¾å¤
+ *  ããã®å¦çå
+å®¹ã¯0x100ãã¤ããè¶
+ãã¦ã¯ãããªãã
+ *  ãï¼è¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+ *  ããããã«åå²ãããã¨ï¼
+ *
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ */
+    .org 0x200 - EXCEPTION_VECTOR_BASE
+
+Machine_check_exception:
+    MACHINE_CHECK_PROC
+
+/*
+ *  Data storageä¾å¤
+ *  ããã¼ã¿ã»ã¡ã¢ãªã»ã¢ã¯ã»ã¹
+ */
+    .org 0x300 - EXCEPTION_VECTOR_BASE
+
+DSI_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_DATA_STORAGE)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  Instruction storageä¾å¤
+ *  ãå½ä»¤ãã§ãã
+ */
+    .org 0x400 - EXCEPTION_VECTOR_BASE
+
+ISI_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_INSTRUCTION_STORAGE)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+
+/*
+ *  å¤é¨å²è¾¼ã¿
+ *  ããã¹ã¦ã®å¤é¨å²ãè¾¼ã¿ã§åãçªå°ã«åå²ãã
+ */
+    .org 0x500 - EXCEPTION_VECTOR_BASE
+
+External_interrupt:
+    SAVE_GPR0_12_SPRG           /*  ã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+    /*
+     *  æ¬å½ã¯ããã§ç¶ãã®å¦çãè¡ããããã0x100ãã¤ãï¼64å½ä»¤ï¼å¾ãã«
+     *  ã¢ã©ã¤ã¡ã³ãä¾å¤ã®å¦çãå
+¥ããããç¶ãã¯External_interrupt_1:ã§è¡
+     *  ãã
+     */
+    JUMP_EXC_ENTRY(External_interrupt_1)
+
+/*
+ *  ã¢ã©ã¤ã¡ã³ãä¾å¤
+ */
+    .org 0x600 - EXCEPTION_VECTOR_BASE
+
+Alignment_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_ALIGNMENT)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ãã­ã°ã©ã ä¾å¤
+ *  ããIllegal instruction
+ *  ããPrivileged instruction
+ *  ããTrap instruction
+ *  ããFloating point enabled
+ *  ããFloating point unimplemented
+ *  ããAuxiliary processor unavailable
+ *  ããAuxiliary processor enabled
+ */
+    .org 0x700 - EXCEPTION_VECTOR_BASE
+
+Program_exception:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_PROGRAM)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  æµ®åå°æ°ç¹ä½¿ç¨ä¸å¯
+ */
+#ifdef SUPPORT_IBM_PPC_EMB_APU	/*  APUãæã¤æ©ç¨®ã¯å©ç¨å¯è½  */
+    .org 0x800 - EXCEPTION_VECTOR_BASE
+
+Floating_point_unavailable:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_FLOATING_POINT_UNAVAILABLE)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+#endif /* SUPPORT_IBM_PPC_EMB_APU */
+
+
+/*
+ *  ã·ã¹ãã ã³ã¼ã«
+ */
+    .org 0xc00 - EXCEPTION_VECTOR_BASE
+
+System_call:
+    MAKE_EXCEPTION_ENTRY(EXC_NO_SYSTEM_CALL)
+    JUMP_EXC_ENTRY(Exception_Entry)
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦çï¼ãªãã»ãã 0xd00-0xff0ï¼
+ *    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿
+ *    
+ * ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ *  ãå
+·ä½çã«ã¯
+ *     .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ * ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+ *    ä¾ãã°ãPowerPC405ã§ã¯ãªãã»ãã0xf20ã«
+ *    APU Unavailableä¾å¤ã®å¦çãé
+ç½®ãã
+ */
+#ifdef IMPLEMENT_EXCEPTION_D00_PROC
+
+    IMPLEMENT_EXCEPTION_D00_PROC
+    
+#endif /* IMPLEMENT_EXCEPTION_D00_PROC */
+
+/*
+ *  Programmable Interval timer
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+    .org 0x1000 - EXCEPTION_VECTOR_BASE
+
+Programmable_Interval_timer:
+	PROGRAMMABLE_INTERVAL_TIMER_PROC
+
+/*
+ *  Fixed Interval timer
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+    .org 0x1010 - EXCEPTION_VECTOR_BASE
+
+Fixed_Interval_timer:
+	FIXED_INTERVAL_TIMER_PROC
+
+/*
+ *  Watchdog timer
+ *  ããªãã»ããï¼0x1020
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ *
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ */
+    .org 0x1020 - EXCEPTION_VECTOR_BASE
+
+Watchdog_timer:
+	WATCHDOG_TIMER_PROC
+
+/*
+ *  Data TLB miss
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+    .org 0x1100 - EXCEPTION_VECTOR_BASE
+
+Data_TLB_miss:
+	DATA_TLB_MISS_PROC
+
+/*
+ *  Instruction TLB miss
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+    .org 0x1200 - EXCEPTION_VECTOR_BASE
+
+Instruction_TLB_miss:
+	INSTRUCTION_TLB_MISS_PROC
+
+/*
+ *  Debugä¾å¤
+ *  ããªãã»ããï¼0x2000
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ *  ã
+ *  ãè¦å ã¯ä»¥ä¸ã®7ç¨®é¡
+ *  ããTrap
+ *  ããInstruction address compare
+ *  ããData address compare
+ *  ããInstruction complete
+ *  ããBranch taken
+ *  ããException
+ *  ããUnconditional debug event
+ *  ã
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *  ã
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+    .org 0x2000 - EXCEPTION_VECTOR_BASE
+
+Debug_exception:
+	DEBUG_PROC
+
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦çï¼ãªãã»ãã 0x2010-0x2ff0ï¼
+ *    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿ï¼ï¼ã¤ã¨ã¯éããªãï¼ã
+ *    ä»ã®ç¨éã«ä½¿ç¨ããã
+ *    
+ * ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ *  ãå
+·ä½çã«ã¯
+ *     .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ * ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+ */
+#ifdef IMPLEMENT_EXCEPTION_02010_PROC
+
+    IMPLEMENT_EXCEPTION_02010_PROC
+    
+#endif /* IMPLEMENT_EXCEPTION_01000 */
+
+
+/*
+ *  System reset
+ *    ãªã»ãããã¯ã¿ã¯0xffff,fffcçªå°ã«åºå®ããã¦ãã
+ */
+    .section ".system_reset_vector","rxai"
+    .align 2
+    
+/*  ãã®è¡ã(0xffff,fffc - 4ãã¤ãÃ4å½ä»¤)çªå°ã«é
+ç½®ããã  */
+jump_to_start:    
+    LI32(r8, start)
+    mtctr	r8
+    bctrl
+
+/*  ãã®è¡ã0xffff,fffcçªå°ã«é
+ç½®ããã  */
+reset_vector:
+    b		jump_to_start
+    /*  ããã«ã¯1å½ä»¤ããå
+¥ããªãã®ã§ç¸å¯¾åå²å½ä»¤ãç½®ãã  */
+    /*  startã«ã¼ãã³ã¸ã®åå²ã¯ä¸è¨ã®jump_to_startã§è¡ãã  */
+
+
+#endif	/*  IBM_PPC_EMB_ENV  */
+
+
+
+
+/*
+ *  CPUä¾å¤å
+¥å£å¦çã«ã¼ãã³ã®ç¶ã
+ *ããä¾å¤è¦å ã«ããããå
+±éã®å¦ç
+ *ããåä¾å¤ãã¯ã¿ããåæµãã¦ãæ®ãã®å¦çãããã§è¡ãã
+ *ãããã»ãã­ã»ããµã³ã¢ã®æ±ç¨ã¬ã¸ã¹ã¿ã¨ç¹æ®ã¬ã¸ã¹ã¿ã®å¾
+é¿
+ *ãããã»Cè¨èªã«ã¼ãã³ã®
+ *      ããã»å
+é ­ã¢ãã¬ã¹ã®è¨­å®
+ *      ããã»å¼æ°ã®è¨­å®
+ *ãããæ¸ãã ç¶æ
+ã§ããã«æ¥ã
+ *
+ *  ãã¬ã¸ã¹ã¿å²ãå½ã¦ï¼ãã¹ã¦è¨­å®æ¸ã¿ã®ç¶æ
+ã§ããã«æ¥ãï¼
+ *  ããSPRG0ï¼å²è¾¼ã¿ï¼ä¾å¤ã®ãã¹ãã«ã¦ã³ã¿
+ *  ããSPRG2ï¼exc_tableï¼CPUä¾å¤æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ï¼
+ *  ããr3ï¼CPUä¾å¤ãã³ãã©ã®å¼æ°
+ *  ããr4ï¼SRR1ã®ã³ãã¼
+ *  ããr6ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *  regflg ããã§ãã¯ããåã«å²ãè¾¼ã¿ãç¦æ­¢ããªãã¨ãreqflg ããã§ãã¯
+ *  å¾ã«èµ·åãããå²ãè¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ã
+ *  ãã£ã¹ããããããªãã
+ *  
+ *  ä¾å¤ãã¯ã¿ããtextã»ã¯ã·ã§ã³ã«PCç¸å¯¾åå²ã§å±ããªããªã£ãã¨ãã®ããã
+ *  Exception_Entryãã°ã­ã¼ãã«å®£è¨ãã¦ããã
+ *
+ */
+
+    .text
+    .align 2
+#ifdef ABSOLUTE_JUMP_EXC_ENTRY
+    .global Exception_Entry
+#endif	/*  ABSOLUTE_JUMP_EXC_ENTRY  */
+    
+Exception_Entry:
+    mtctr   r6;         /*  CTRâCè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹ */
+    /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã  */
+    mfspr   r8, SPRG0   /*  SPRG0:å²è¾¼ã¿ï¼ä¾å¤ãã¹ãã«ã¦ã³ã¿  */
+    addi    r8, r8, 1
+    mtspr   SPRG0, r8
+
+    /*  CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ãã®å¤å¥  */
+    cmpwi   crf0, r8, 1
+    bne     exception_from_int
+
+    /*  åæ®µã®CPUä¾å¤ã®å ´å  */
+exception_from_task:
+    /*
+     *  ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«åããã¦ãã¹ã¿ãã¯ãã¤ã³ã¿ã
+     *ã8ãã¤ããããã¦ããã
+     *ã
+     *         -8  ----------------------
+     *            |      task sp         |
+     *         -4  ----------------------ã
+     *            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºãã«ãã
+     * STACKTOPâ  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     */
+    LI32(r9, STACKTOP-STACK_MARGIN)
+    stw     sp, 0(r9)     /*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­  */
+    mr      sp, r9        /*  ã¹ã¿ãã¯åãæ¿ã  */
+
+
+/*
+ *  ãã¯ã­å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®å¼åºã
+ *  ããããããåæ®µã®ä¾å¤ã¨å¤éä¾å¤ã®å
+±éå¦ç
+ *  
+ *  å¦çå
+å®¹
+ *  ãCè¨èªã«ã¼ãã³å¼ã³åºã
+ *  
+ *  å¼æ°
+ *  ã  labelï¼ã©ãã«è­å¥ç¨æå­å
+ *  ã  ããããï¼è¤æ°ç®æã§ãã®ãã¯ã­ãä½¿ç¨ã§ããããã«ããããï¼
+ *  
+ *  åææ¡ä»¶
+ *  ã r3=Cè¨èªã«ã¼ãã³ã®å¼æ°
+ *  ã r4=SRR1
+ *  ã CTR=Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *  ããã®ç¶æ
+ã§ä½¿ç¨ããã
+ *  
+ *  åè
+ *  ãCPUä¾å¤ãã³ãã©ã®èµ·åã«ãããCPUã­ãã¯ç¶æ
+ãå¤æ´ãã¦ã¯ãããªã
+ *  ãã¤ã¾ããCPUä¾å¤çºçæã«CPUã­ãã¯ç¶æ
+ã§ããã°ãCPUã­ãã¯ç¶æ
+ã®
+ *  ãã¾ã¾ãCPUä¾å¤ãã³ãã©ãèµ·åããã
+ *  ãï¼CPUä¾å¤çºçæã«CPUã­ãã¯è§£é¤ç¶æ
+ã§ããã°ãCPUã­ãã¯è§£é¤ç¶æ
+ã®
+ *  ããã¾ã¾ãCPUä¾å¤ãã³ãã©ãèµ·åãããï¼
+ *  ãã
+ */
+#define _CALL_EXCEPTION_ROUTINE(label)                                  \
+    andi.   r6, r4, MSR_EE;   /*  r4ï¼SSR1ã®ã³ãã¼  */                  \
+    /* çµæãã¼ã­ãªãã°ï¼CPUã­ãã¯ç¶æ
+ã ã£ããªãï¼ */                   \
+    /*  EQãã©ã°ãã»ãããããï¼CPUã­ãã¯è§£é¤ç¶æ
+ãªãåå²ï¼  */         \
+    bne     exception_from_cpu_unlock_##label;                          \
+                                                                        \
+    /*  CPUä¾å¤çºçæã«CPUã­ãã¯ç¶æ
+ã ã£ãå ´å  */                      \
+    /*  CPUã­ãã¯ç¶æ
+ã®ã¾ã¾ãCPUä¾å¤ãã³ãã©ãå¼ã³åºã  */              \
+    /*  ãCè¨èªã«ã¼ãã³ããã®æ»ãçªå°ãè¨­å®  */                         \
+    LI32(r7, exit_CALL_EXCEPTION_ROUTINE_##label);                      \
+    mtspr   LR, r7;                                                     \
+    bctr;               /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */                   \
+    /* exit_CALL_EXCEPTION_ROUTINE_##labelçªå°ã«æ»ã£ã¦ãã   */         \
+                                                                        \
+    /*  CPUä¾å¤çºçæã«CPUã­ãã¯è§£é¤ç¶æ
+ã ã£ãå ´å  */                  \
+exception_from_cpu_unlock_##label:;                                     \
+    mfmsr   r10;                                                        \
+    ori     r11, r10, MSR_EE;   /*  EEããããã»ãã  */                \
+    mtmsr   r11;                /*  å²è¾¼ã¿è¨±å¯  */                      \
+    bctrl;                      /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */           \
+    mfmsr   r10;                                                        \
+    xori    r11, r10, MSR_EE;   /*  EEããããã¯ãªã¢  */                \
+    mtmsr   r11;                /*  å²è¾¼ã¿ç¦æ­¢ (a)  */                  \
+exit_CALL_EXCEPTION_ROUTINE_##label:     /*  ãã¯ã­ã®åºå£ã©ãã«  */  
+    
+
+/* ãã¯ã­å¼æ°labelãç¢ºå®ã«ãã¯ã­å±éããããããã¯ã­ã2éã«ãã¦ãã */
+#define CALL_EXCEPTION_ROUTINE(label)   _CALL_EXCEPTION_ROUTINE(label)
+    
+    /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */
+    CALL_EXCEPTION_ROUTINE(exception_from_task)
+    /*
+     *  å²è¾¼ã¿ç¦æ­¢ã§æ»ã£ã¦ãã
+     *ããä¾å¤çºçæã«CPUã­ãã¯ãè§£é¤ããã¦ããå ´åã
+     *ããä¸è¨(a)è¡ã§å²è¾¼ã¿ç¦æ­¢ã«ãã¦ãã
+     */
+    li      r0, 0
+    mtspr   SPRG0, r0           /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  */
+    lwz     sp, 0(sp)           /*  ã¹ã¿ãã¯åæ¿  */
+    lis     r3, reqflg@ha
+    lwz     r4, reqflg@l(r3)    /*  r4=reqflg  */
+    cmpwi   crf0, r4, 0         /*  reqflgã®ãã§ãã¯  */
+    beq     ret_to_task_exc /*  ãã£ã¹ãããè¦æ±ããªãå ´åã¯åå²  */        
+    stw     r0, reqflg@l(r3)    /*  reqflgã®ã¯ãªã¢  */
+    b       ret_exc             /*  åºå£å¦çã¸ã¸ã£ã³ã  */
+    
+/*  å¤éä¾å¤ã®å ´å  */
+exception_from_int: 
+    /*
+     *  ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«åããã¦ãã¹ã¿ãã¯ãã¤ã³ã¿ã
+     *ã8ãã¤ããããã¦ãã
+     *ã
+     *         -8  ----------------------
+     *            |                      |
+     *         -4  ----------------------ã
+     *            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºãã«ãã
+     *       spâ  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     */
+    subi    sp, sp, STACK_MARGIN
+
+    /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */
+    CALL_EXCEPTION_ROUTINE(exception_from_int)
+    /*
+     *  å²è¾¼ã¿ç¦æ­¢ã§æ»ã£ã¦ãã
+     *ããä¾å¤çºçæã«CPUã­ãã¯ãè§£é¤ããã¦ããå ´åã
+     *ããä¸è¨(a)è¡ã§å²è¾¼ã¿ç¦æ­¢ã«ãã¦ãã
+     *  ã
+     *  ãåå²å
+ret_to_task_excã§ã¯CPUä¾å¤ããã®ãªã¿ã¼ã³å½ä»¤rfiã«ãã
+     *  ãããMSRâSRR1
+     *  ãã¨ãªãã®ã§ãå
+ã®ã³ã³ãã­ã¹ãã«æ»ãã¨ãã«ã¯CPUä¾å¤çºç
+     *  ãç´åã®CPUã­ãã¯ï¼ã­ãã¯è§£é¤ç¶æ
+ãå¾©å
+ããã
+     */
+    			/*  ã¹ã¿ãã¯ãã¤ã³ã¿ãå
+ã«æ»ãï¼ä¸è¨åç
+§ï¼ */
+    addi    sp, sp, STACK_MARGIN
+    mfspr   r3, SPRG0   /*  SPRG0:å²è¾¼ã¿ï¼ä¾å¤ãã¹ãã«ã¦ã³ã¿  */
+    subi    r3, r3, 1   /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã£ã¯ãªã¡ã³ã  */
+    mtspr   SPRG0, r3
+    b       ret_to_task_exc
+
+
+
+/*
+ *  å²è¾¼ã¿åºå
+¥å£å¦çã«ã¼ãã³ã®ç¶ã
+ *ããå²è¾¼ã¿ãã¯ã¿ã0x100ãã¤ãï¼64å½ä»¤åï¼ãããªãã®ã§ã
+ *ããæ®ãã®å¦çãããã§è¡ãã
+ *ããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ãåç´ã§ããã°64å½ä»¤ã«åã¾ã
+ *ããããç¥ããªãããå¯èª­æ§ãèæ
+®ãã¦ãããã«è¨è¿°ããã
+ *ãããã­ã»ããµã³ã¢ã®æ±ç¨ã¬ã¸ã¹ã¿ã¨ç¹æ®ã¬ã¸ã¹ã¿ã®å¾
+é¿ã
+ *ããæ¸ãã ç¶æ
+ã§ããã«æ¥ã
+ *
+ *  ããã¹ã¦ã®å¤é¨å²ãè¾¼ã¿ã§åãçªå°ã«åå²ãã
+ *
+ *  SPRG0ã¬ã¸ã¹ã¿ãå²è¾¼ã¿ï¼ä¾å¤ã®ãã¹ãã«ã¦ã³ã¿ã¨ãã¦ä½¿ç¨ããã
+ *
+ *  regflg ããã§ãã¯ããåã«å²ãè¾¼ã¿ãç¦æ­¢ããªãã¨ãreqflg ããã§ãã¯
+ *  å¾ã«èµ·åãããå²ãè¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ã
+ *  ãã£ã¹ããããããªãã
+ *  
+ *  ä¾å¤ãã¯ã¿ããtextã»ã¯ã·ã§ã³ã«PCç¸å¯¾åå²ã§å±ããªããªã£ãã¨ãã®ããã
+ *  External_interrupt_1ãã°ã­ã¼ãã«å®£è¨ãã¦ããã
+ *
+ */
+
+    .text
+    .align 2
+#ifdef ABSOLUTE_JUMP_EXC_ENTRY
+    .global External_interrupt_1
+#endif	/*  ABSOLUTE_JUMP_EXC_ENTRY  */
+
+External_interrupt_1:
+    /*  ãã­ã»ããµã³ã¢ã®ã¬ã¸ã¹ã¿ã®å¾
+é¿ã¯æ¸ãã§ãã  */
+    
+    PUSH_ICU_IPM    /*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãå¾
+é¿  */
+    			/*  IPMã®ãã¼ã¿ãµã¤ãºã®å¦ä½ã«ãããã */
+    			/*  ã¹ã¿ãã¯ãã¤ã³ã¿ã¯4ãã¤ãå¢çã  */
+    			/*  å®ããã¨  */
+
+    /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã  */
+    mfspr   r3, SPRG0   /*  SPRG0:å²è¾¼ã¿ï¼ä¾å¤ãã¹ãã«ã¦ã³ã¿  */
+    addi    r3, r3, 1
+    mtspr   SPRG0, r3
+
+    /*  å²è¾¼ã¿å
+ã®ã³ã³ãã­ã¹ãã®å¤å¥  */
+    cmpwi   crf0, r3, 1
+    bne     interrupt_from_int
+
+    /*  åæ®µã®å²è¾¼ã¿ã®å ´å  */
+interrupt_from_task:
+    /*
+     *  ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«åããã¦ãã¹ã¿ãã¯ãã¤ã³ã¿ã
+     *ã8ãã¤ããããã¦ããã
+     *ã
+     *         -8  ----------------------
+     *            |      task sp         |
+     *         -4  ----------------------ã
+     *            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºãã«ãã
+     * STACKTOPâ  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     */
+    LI32(r4, STACKTOP-STACK_MARGIN)  /*  r4=STACKTOP  */
+    stw     sp, 0(r4)     /*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­  */
+    mr      sp, r4        /*  ã¹ã¿ãã¯åãæ¿ã  */
+
+    /*
+     *  ICUä¾å­ã®å²è¾¼ã¿å¦ç 
+     * ã å¦çå
+å®¹
+     *  ããã»å²è¾¼ã¿è¦å ã®å¤å¥
+     *  ããã»å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+     *  ããã»å²è¾¼ã¿è¨±å¯
+     *  ããã»Cè¨èªã«ã¼ãã³å¼ã³åºã
+     *  ããã»å²è¾¼ã¿ç¦æ­¢
+     *  ããã»å²ãè¾¼ã¿è¦æ±ãã©ã°ã®ã¯ãªã¢ï¼å¿
+è¦ã§ããã°ï¼
+     */
+    PROC_ICU(FROM_TASK)
+    /*  å²è¾¼ã¿ç¦æ­¢ã§æ»ã£ã¦ãã  */
+    
+    li      r0, 0
+    mtspr   SPRG0, r0           /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  */
+    lwz     sp, 0(sp)           /*  ã¹ã¿ãã¯åæ¿  */
+    POP_ICU_IPM                 /*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãå¾©å¸°  */
+    			        /*  IPMã®ãã¼ã¿ãµã¤ãºã®å¦ä½ã«ãããã */
+    			        /*  ã¹ã¿ãã¯ãã¤ã³ã¿ã¯4ãã¤ãå¢çã  */
+    			        /*  å®ããã¨  */
+    lis     r3, reqflg@ha   
+    lwz     r4, reqflg@l(r3)    /*  r4=reqflg  */
+    cmpwi   crf0, r4, 0         /*  reqflgã®ãã§ãã¯  */
+    beq     ret_to_task_int /*  ãã£ã¹ãããè¦æ±ããªãå ´åã¯åå²  */        
+    stw     r0, reqflg@l(r3)    /*  reqflgã®ã¯ãªã¢  */
+    b       ret_int             /*  åºå£å¦çã¸ã¸ã£ã³ã  */
+
+            
+    /*  å¤éå²è¾¼ã¿ã®å ´å  */
+interrupt_from_int:
+    /*
+     *  ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«åããã¦ãã¹ã¿ãã¯ãã¤ã³ã¿ã
+     *ã8ãã¤ããããã¦ãã
+     *ã
+     *         -8  ----------------------
+     *            |                      |
+     *         -4  ----------------------ã
+     *            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºãã«ãã
+     *       spâ  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     */
+    subi    sp, sp, STACK_MARGIN
+
+    PROC_ICU(FROM_INT)  /*  ICUä¾å­ã®å²è¾¼ã¿å¦ç  */
+    /*  å²è¾¼ã¿ç¦æ­¢ã§æ»ã£ã¦ãã  */
+    
+    			/*  ã¹ã¿ãã¯ãã¤ã³ã¿ãå
+ã«æ»ãï¼ä¸è¨åç
+§ï¼ */
+    addi    sp, sp, STACK_MARGIN
+    mfspr   r3, SPRG0   /*  SPRG0:å²è¾¼ã¿ï¼ä¾å¤ãã¹ãã«ã¦ã³ã¿  */
+    subi    r3, r3, 1   /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ãã£ã¯ãªã¡ã³ã  */
+    mtspr   SPRG0, r3
+    POP_ICU_IPM     /*  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã®IPMãå¾©å¸°  */
+    			/*  IPMã®ãã¼ã¿ãµã¤ãºã®å¦ä½ã«ãããã */
+    			/*  ã¹ã¿ãã¯ãã¤ã³ã¿ã¯4ãã¤ãå¢çã  */
+    			/*  å®ããã¨  */
+    
+    /*  
+     *  ãã£ã¹ãããã£ãå¼ã°ãã«åç´ã«å²è¾¼ã¿å
+ï¼ä¾å¤çºçå
+ï¼ã«æ»ãå ´å
+     *
+     *  rfiå½ä»¤ã¯åæå½ä»¤ãªã®ã§ãä¸è¨ã®ã¬ã¸ã¹ã¿ã®å¾©å¸°ã¨spã®å ç®ãçµäºãã¦
+     *  ããå
+ã®ã³ã³ãã­ã¹ãã«æ»ãã
+     *  spã®å ç®ã ããå
+ã«æ¸ãã§å²è¾¼ã¿è¨±å¯ã«ãªãå¿é
+ã¯ãªãã
+     *
+     *    CPUä¾å¤ããå¾©å¸°ããå ´å
+     *  ããCPUä¾å¤ããã®ãªã¿ã¼ã³å½ä»¤rfiã«ãã
+     *  ãããMSRâSRR1
+     *  ããã¨ãªãã®ã§ãå
+ã®ã³ã³ãã­ã¹ãã«æ»ãã¨ãã«ã¯CPUä¾å¤çºç
+     *  ããç´åã®CPUã­ãã¯ï¼ã­ãã¯è§£é¤ç¶æ
+ãå¾©å
+ããã
+     */
+ret_to_task_int:
+ret_to_task_exc:
+    LOAD_R0_12_SPRG     /*  gpr0-1,3-12, ç¹æ®ã¬ã¸ã¹ã¿ã®å¾©å
+  */
+    addi    sp, sp, GPR0_12_SPRG_AREA_SIZE
+    rfi     		/*  å²è¾¼ã¿å
+ã¸å¾©å¸°  */
+    
+
+
+/*  ã¬ã¸ã¹ã¿ãå¾
+é¿ããã®ã«å¿
+è¦ãªãã¤ãæ°  */
+                                    /*  gpr13-31,LR  */
+#define GPR13_31_LR_AREA_SIZE   (GPR13_31_AREA_SIZE +4)
+
+/*  
+ *  ãã¯ã­å®ç¾©ï¼æ±ç¨ã¬ã¸ã¹ã¿gpr13-31ã®å¾
+é¿
+ */
+
+#ifdef USE_MULTIPLE_WORD_LOAD_STORE
+    /*  
+     *  æ´æ°ã­ã¼ãï¼ã¹ãã¢ã»ãã«ããã«å½ä»¤
+     *ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ã«ãã£ã¦ã¯ããã£ã¦é
+ããªã£ã¦
+     *ãããã¾ãã®ã§æ³¨æãå¿
+è¦
+     */
+
+#if SIL_ENDIAN == SIL_ENDIAN_LITTLE
+ããï¼ããã§ã³ã³ãã¤ã«ã»ã¨ã©ã¼
+ããããªãã«ã»ã¨ã³ãã£ã¢ã³ã»ã¢ã¼ãã«ããã¨ãã«ã¯æ©è½ããªã
+ãããï¼ãã¼ãã¦ã§ã¢ã«ããå¶éäºé 
+ï¼
+#endif
+
+
+#define STORE_R13_31                                \
+    stmw    r13, 0(sp)    /*  gpr13-31ãå¾
+é¿  */
+
+#else   /*  USE_MULTIPLE_WORD_LOAD_STORE  */
+#define STORE_R13_31                                \
+    stw     r13,  0*4(sp);                          \
+    stw     r14,  1*4(sp);                          \
+    stw     r15,  2*4(sp);                          \
+    stw     r16,  3*4(sp);                          \
+    stw     r17,  4*4(sp);                          \
+    stw     r18,  5*4(sp);                          \
+    stw     r19,  6*4(sp);                          \
+    stw     r20,  7*4(sp);                          \
+    stw     r21,  8*4(sp);                          \
+    stw     r22,  9*4(sp);                          \
+    stw     r23, 10*4(sp);                          \
+    stw     r24, 11*4(sp);                          \
+    stw     r25, 12*4(sp);                          \
+    stw     r26, 13*4(sp);                          \
+    stw     r27, 14*4(sp);                          \
+    stw     r28, 15*4(sp);                          \
+    stw     r29, 16*4(sp);                          \
+    stw     r30, 17*4(sp);                          \
+    stw     r31, 18*4(sp)                           
+#endif  /*  USE_MULTIPLE_WORD_LOAD_STORE  */
+
+    /*  ãã¯ã­å®ç¾©ããã¾ã§  */
+
+
+/*  
+ *  ãã¯ã­å®ç¾©ï¼æ±ç¨ã¬ã¸ã¹ã¿gpr13-31ã®å¾©å
+
+ */
+
+#ifdef USE_MULTIPLE_WORD_LOAD_STORE
+    /*  
+     *  æ´æ°ã­ã¼ãï¼ã¹ãã¢ã»ãã«ããã«å½ä»¤
+     *ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ã«ãã£ã¦ã¯ããã£ã¦é
+ããªã£ã¦
+     *ãããã¾ãã®ã§æ³¨æãå¿
+è¦
+     */
+#define LOAD_R13_31                                 \
+    lmw     r13, 0(sp)    /*  gpr13-31ãå¾©å
+  */
+    
+#else   /*  USE_MULTIPLE_WORD_LOAD_STORE  */
+#define LOAD_R13_31                                 \
+    lwz     r13,  0*4(sp);                          \
+    lwz     r14,  1*4(sp);                          \
+    lwz     r15,  2*4(sp);                          \
+    lwz     r16,  3*4(sp);                          \
+    lwz     r17,  4*4(sp);                          \
+    lwz     r18,  5*4(sp);                          \
+    lwz     r19,  6*4(sp);                          \
+    lwz     r20,  7*4(sp);                          \
+    lwz     r21,  8*4(sp);                          \
+    lwz     r22,  9*4(sp);                          \
+    lwz     r23, 10*4(sp);                          \
+    lwz     r24, 11*4(sp);                          \
+    lwz     r25, 12*4(sp);                          \
+    lwz     r26, 13*4(sp);                          \
+    lwz     r27, 14*4(sp);                          \
+    lwz     r28, 15*4(sp);                          \
+    lwz     r29, 16*4(sp);                          \
+    lwz     r30, 17*4(sp);                          \
+    lwz     r31, 18*4(sp)
+#endif  /*  USE_MULTIPLE_WORD_LOAD_STORE  */
+
+    /*  ãã¯ã­å®ç¾©ããã¾ã§  */
+
+
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatch ã¯ãSPRG0 = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ *  exit_and_dispatch ãï¼SPRG0 = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãåå
+ *  ã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼SPRG0 = 1ã§å¼ã³åºããå ´å
+ *  ã«ãå¯¾å¿ãã¦ããï¼
+ */
+
+    .global dispatch
+dispatch:
+    /*  ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+    subi    sp, sp, GPR13_31_LR_AREA_SIZE + FPR14_31_AREA_SIZE
+    STORE_R13_31                /*  gpr13-31ã®å¾
+é¿  */
+
+    mfspr   r7, LR
+    stw     r7, GPR13_31_LR_AREA_SIZE - 4(sp)   /*  LRã®å¾
+é¿  */
+
+    /*  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+#ifdef SUPPORT_FLOATING_POINT_REG
+    /*  ãã¼ãã¦ã§ã¢ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ãã¦ããå ´å  */
+    /*  æªå®æï¼æ¬æ¥ãªã8ãã¤ãã«ã¢ã©ã¤ã¡ã³ããã  */    
+    stfd    f14,  0*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f15,  1*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f16,  2*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f17,  3*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f18,  4*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f19,  5*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f20,  6*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f21,  7*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f22,  8*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f23,  9*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f24, 10*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f25, 11*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f26, 12*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f27, 13*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f28, 14*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f29, 15*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f30, 16*8+GPR13_31_LR_AREA_SIZE(sp)
+    stfd    f31, 17*8+GPR13_31_LR_AREA_SIZE(sp)
+#endif  /* SUPPORT_FLOATING_POINT_REG */    
+
+    lis     r3, runtsk@ha
+    LI32(r4, dispatch_r)
+    lwz     r5, runtsk@l(r3)    /*  r5 = runtsk  */
+    stw     sp, TCB_sp(r5)      /*  runtsk->sp =  sp */
+    stw     r4, TCB_pc(r5)      /*  runtsk->pc =  dispatch_r */
+    b       dispatcher
+
+
+    /*  ãã£ã¹ãããã£ã®åºå£  */
+    /*      ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¾©å
+ã¯æ¸ãã§ãã  */
+    /*  ããr10ã«runtskãå
+¥ã£ã¦å¼ã°ãã  */
+dispatch_r: 
+    /*  ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾©å¸°  */
+
+    /*  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿  */
+#ifdef SUPPORT_FLOATING_POINT_REG    
+    /*  ãã¼ãã¦ã§ã¢ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ãã¦ããå ´å  */
+    /*  æªå®æï¼æ¬æ¥ãªã8ãã¤ãã«ã¢ã©ã¤ã¡ã³ããã  */    
+    lfd     f14,  0*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f15,  1*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f16,  2*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f17,  3*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f18,  4*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f19,  5*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f20,  6*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f21,  7*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f22,  8*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f23,  9*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f24, 10*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f25, 11*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f26, 12*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f27, 13*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f28, 14*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f29, 15*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f30, 16*8+GPR13_31_LR_AREA_SIZE(sp)
+    lfd     f31, 17*8+GPR13_31_LR_AREA_SIZE(sp)
+#endif  /* SUPPORT_FLOATING_POINT_REG */    
+
+    /*  æ±ç¨ã¬ã¸ã¹ã¿  */
+    LOAD_R13_31
+
+    /*  LRã®å¾©å
+  */
+    lwz     r7, GPR13_31_LR_AREA_SIZE - 4(sp)
+    mtspr   LR, r7
+
+    addi    sp, sp, GPR13_31_LR_AREA_SIZE + FPR14_31_AREA_SIZE
+
+    /*
+     *  ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯
+     *  dispatch_rã¯dispatcherããå¼ã³åºãããããï¼
+     *  runtskã¯r10ã«å
+¥ã£ã¦ããï¼
+     */                           
+    lbz     r4, TCB_enatex(r10)         /*  r10=runtsk  */
+    /*
+     *  ãã¹ã¯ãã¼ã¿ã®ãããå¹
+ã¨ã¨ã³ãã£ã¢ã³ã¯makeoffset.cã®
+     *  BIT_BBããã³BIT_LBã§æå®ãã¦ãã
+     */                                 
+    andi.   r5, r4, TCB_enatex_mask     /*  r5 = runtsk->enatex  */
+                    /* çµæãã¼ã­ãªãã°ãEQãã©ã°ãã»ããããã */
+
+          /*  ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ãªãdispatch()ã®å¼ã³åºãå
+ã«æ»ã  */
+    beqlr               /*  ï¼LRã«æ»ãçªå°ãæ ¼ç´ããã¦ããï¼  */
+    lwz     r6, TCB_texptn(r10)          /*  r6 = runtsk->texptn  */
+    cmpwi   crf0, r6, 0
+                        /*  ã¿ã¹ã¯ä¾å¤è¦æ±ããªããã° */
+                        /*  dispatch()ã®å¼ã³åºãå
+ã«æ»ã  */
+    beqlr               /*  ï¼LRã«æ»ãçªå°ãæ ¼ç´ããã¦ããï¼  */
+
+    b       call_texrtn /*  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å¼ã³åºã  */
+    /*
+     *  call_texrtn()ããããã«ã¯æ»ã£ã¦ããªãã§ãdispatch()ã®
+     *ãå¼ã³åºãå
+ï¼=LRã¬ã¸ã¹ã¿ãæãç¤ºãçªå°ï¼ã«ç´æ¥æ»ãã
+     *ã
+     *ãcall_texrtn()ã®å¼ã³åºãã«ãã(sp+3)ã(ps+7)çªå°ã®å
+å®¹ã
+     *ãç ´å£ãããããspã®ä½ç½®ã¯dispatch()ãå¼ã³åºããã¨ãã¨åã
+     *ããªã®ã§åé¡ãªã
+     *ã
+     *  spâ  ----------------------  
+     *       |                      |
+     *    +4  ----------------------ã
+     *       |                      |âcall_texrtn()ã®å¼ã³åºãã«ãã
+     *    +8  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     *  
+     *ãæ³¨æ
+ ãã*ããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å
+ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãä½¿ç¨ãã
+ ãã*ããå ´åã¯ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å´ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®
+ ãã*ããå¾
+é¿ï¼å¾©å
+ãè¡ããã¨ã
+     */
+
+
+    .global exit_and_dispatch
+exit_and_dispatch:
+    li      r0, 0
+    mtspr   SPRG0, r0           /*  ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  */
+    
+dispatcher:
+    /*
+     * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+     */
+    LOAD_VAL32(r10, schedtsk)   /*  r10 = schedtsk  */
+    lis     r5, runtsk@ha
+	/*
+	 * ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+	 * ã(1) schedtsk != NULLã®å ´å
+	 * ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+	 * ã(2) schedtsk == NULLã®å ´å
+	 * ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+	 * ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+	 * ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+	 * ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+	 * ãããããããå¿
+è¦ããããï¼
+	 */
+    stw     r10, runtsk@l(r5)       /*  runtsk=schedtsk(=r10)  */
+
+    cmpwi   crf0, r10, 0
+    beq     dispatcher_1            /*  schedtskãç¡ããã°å²è¾¼ã¿å¾
+ã¡ã¸  */
+
+    lwz     r6, TCB_pc(r10)         /*  å®è¡åéçªå°ãåãåºãã¦  */
+    mtctr   r6                      /*  CTR<-å®è¡åéçªå°  */
+    lwz     sp, TCB_sp(r10)         /*  ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+  */
+    bctr                            /*  ã¸ã£ã³ãï¼ä¸è¨åç
+§ï¼  */
+
+    /*  
+     *  å®è¡åéçªå°ã¯ä»¥ä¸ã®3éã
+     *  ããããã®å ´åãr10=runtskã§å¼ã³åºããã¨
+     *  ããã»ãã£ã¹ãããã£ã®åºå£ãdispatch_r
+     *  ããã»å²è¾¼ã¿ï¼ä¾å¤ã®åºå£ããret_int_r
+     *  ããã»ã¿ã¹ã¯èµ·åç´å¾ããããactivate_r
+     */
+
+
+    /*  
+     *ãå®è¡ãã¹ãã¿ã¹ã¯ãç¾ããã¾ã§å¾
+ã¤å¦ç
+     *
+     *  ããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿
+     *  å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+     *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+     */ 
+dispatcher_1:
+    LI32(sp, STACKTOP)          /*  ã¹ã¿ãã¯åãæ¿ã  */
+    li      r3, 1
+    mtspr   SPRG0, r3           /*  ãã¹ãã«ã¦ã³ã¿ï¼1  */
+    
+    /*  ã«ã¼ãå
+ã§ä½¿ãå®æ°ãç¨æãã¦ãã  */
+    LI32(r4, reqflg)            /*  reqflgã®ã¢ãã¬ã¹  */
+    li      r0, 0
+
+dispatcher_2:
+#ifdef SUPPORT_POWER_MANAGEMENT
+                                /*  çé»åã¢ã¼ããããå ´å  */    
+    /*  
+     *  å²è¾¼ã¿è¨±å¯ã¨çé»åã¢ã¼ãã¸ã®ç§»è¡
+     *  ãã»å²è¾¼ã¿ããæ»ã£ã¦ããå¾ã«å²è¾¼ã¿ç¦æ­¢ãè¡ã
+     *  ãã»r0ãr4ã®å
+å®¹ãç ´å£ãã¦ã¯ãªããªã
+     *
+     *  æ³¨æ
+     *      ãå²è¾¼ã¿è¨±å¯ãã¨ãçé»åã¢ã¼ãã¸ã®ç§»è¡ããã¢ãããã¯ã«è¡ã
+     *      ãªããã­ã»ããµã§ã¯ãå²è¾¼ã¿ã®ã¿ã¤ãã³ã°ã«ãã£ã¦ã¯ãå²è¾¼ã¿è¨±
+     *      å¯ãã¨ãçé»åã¢ã¼ãã¸ã®ç§»è¡ãã®éã§å²è¾¼ã¿ãåãä»ãã¦ãã¾
+     *      ããæå³ããªãå½¢ã§çé»åã¢ã¼ãã«ç§»è¡ãã¦ãã¾ãã®ã§æ³¨æã
+     *      å²è¾¼ã¿ã«ãã£ã¦å®è¡å¯è½ãªã¿ã¹ã¯ãç¾ãã¦ããã­ã»ããµãã¹ãªã¼
+     *      ãããã¾ã¾ã§å®è¡ãããªããªããï¼å®éã«ã¯ã¿ã¤ãå²è¾¼ã¿ã«ãã
+     *      çé»åã¢ã¼ãããå¾©å¸°ããã®ã§ãã¿ã¹ã¯ãå¾
+ããããæéã¯æå¤§
+     *      ã§ãã¿ã¤ãå²è¾¼ã¿å¨æã§æ¼ããããããï¼
+     */ 
+    SAVE_POWPER
+#else   /* SUPPORT_POWER_MANAGEMENT */    
+                                /*  çé»åã¢ã¼ãããªãå ´å  */    
+    mfmsr   r5
+    ori     r6, r5, MSR_EE
+    mtmsr   r6                  /*  å²è¾¼ã¿è¨±å¯  */
+    /*  ããã§å²è¾¼ã¿ãå
+¥ã£ã¦ãæ»ã£ã¦ãã  */
+    mtmsr   r5                  /*  å²è¾¼ã¿ç¦æ­¢  */
+#endif  /* SUPPORT_POWER_MANAGEMENT */    
+    lwz     r6, 0(r4)           /*  r6 = reqflg  */
+    cmpwi   crf0, r6, 0
+               /*  ãã£ã¹ãããè¦æ±ããªããã°ã«ã¼ãã®å
+é ­ã¸  */
+    beq     dispatcher_2
+    stw     r0, 0(r4)           /*  reqflgãã¯ãªã¢  */
+    mtspr   SPRG0, r0           /*  ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  */
+    b       dispatcher          /*  å®è¡åéçªå°ãåãåºãå¦çã¸ã¸ã£ã³ã  */
+
+	/*
+	 *ãå²è¾¼ã¿å¾
+ã¡ã®ç´åã«è¡ã£ãã¹ã¿ãã¯åæ¿ã®æ»ããè¡ã£ã¦ããªããã
+	 *ããã£ã¹ãããã£ã®åºå£ã§TCBããåãåºããå¤ãã¹ã¿ãã¯ãã¤ã³
+	 *ãã¿ã«è¨­å®ããã®ã§åé¡ãªãã
+	 */
+
+
+
+/* 
+ *  å²ãè¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * SPRG0 = 0,å²ãè¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã
+ * ç¶æ
+ã§å¼ã³åºããã¨ã 
+ *  
+ *  ã¾ããr10ã«runtskã®å¤ãå
+¥ãã¦ããret_int_1ã«ã¸ã£ã³ããããã¨
+ */
+
+ret_int:
+ret_exc:
+    LOAD_VAL32(r5, enadsp)  	/*  r5 = enadsp  */
+    LOAD_VAL32(r10, runtsk) 	/*  r10 = runtsk  */
+    cmpwi   crf0, r5, 0
+    beq     ret_int_1           /*  ãã£ã¹ãããç¦æ­¢ãªãã¸ã£ã³ã  */
+    
+    LOAD_VAL32(r5, schedtsk)  	/*  r5 = schedtsk  */
+    cmpw    crf0, r5, r10
+    beq     ret_int_1           /*  runtsk=schedtskãªãã¸ã£ã³ã  */
+    
+    
+    /*  æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­  */
+
+    subi    sp, sp, GPR13_31_AREA_SIZE + FPR_AREA_SIZE
+    /*  æ±ç¨ã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+    STORE_R13_31                /*  gpr13-31ã®å¾
+é¿  */
+
+    /*  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿  */
+#ifdef SUPPORT_FLOATING_POINT_REG    
+    /*  ãã¼ãã¦ã§ã¢ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ãã¦ããå ´å  */
+    /*  æªå®æï¼æ¬æ¥ãªã8ãã¤ãã«ã¢ã©ã¤ã¡ã³ããã  */    
+    stfd    f0,   0*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f1,   1*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f2,   2*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f3,   3*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f4,   4*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f5,   5*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f6,   6*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f7,   7*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f8,   8*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f9,   9*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f10, 10*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f11, 11*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f12, 12*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f13, 13*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f14, 14*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f15, 15*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f16, 16*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f17, 17*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f18, 18*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f19, 19*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f20, 20*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f21, 21*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f22, 22*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f23, 23*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f24, 24*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f25, 25*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f26, 26*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f27, 27*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f28, 28*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f29, 29*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f30, 30*8+GPR13_31_AREA_SIZE(sp)
+    stfd    f31, 31*8+GPR13_31_AREA_SIZE(sp)
+    /*  
+     * FPSCRã®å¾
+é¿  
+     *
+     *ããã¹ã¿ãã¯ã8ãã¤ãä½¿ç¨ããã®ã¯ç¡é§ã§ãããã
+     *ããstfiwxå½ä»¤ã¯ãªãã·ã§ã³ãªã®ã§é¸æããªãã£ãã
+     *ããï¼ã¾ããå¯¾å¿ããã­ã¼ãå½ä»¤ããªãã®ãåé¡ï¼
+     *
+     */
+    mffs    f0              /*  f0ã®ä¸ä½2ãã¤ãâFPSCR  */
+                            /*  @(sp+ãªãã»ãã)âf0  */
+    stfd    f0, GPR13_31_AREA_SIZE+FPR0_13_AREA_SIZE-8(sp)
+#endif  /* SUPPORT_FLOATING_POINT_REG */    
+
+    LI32(r5, ret_int_r)
+                                /*  r10 = runtskã§ããã«æ¥ã  */
+    stw     sp, TCB_sp(r10)      /*  runtsk->sp = sp  */
+                                /*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã®ä¿å­  */
+    stw     r5, TCB_pc(r10)     /*  runtsk->pc = ret_int_r  */
+                                /*  ï¼å®è¡åéçªå°ã®ä¿å­ï¼  */
+
+    b       dispatcher          /*  ãã£ã¹ãããã£å¼ã³åºã  */
+
+
+ /*  å²è¾¼ã¿ï¼ä¾å¤ã®åºå£å¦çã®å¾åé¨å
+  *     ret_intãã
+  *     ãã»ç´æ¥ãret_int_1ã«åæµããå ´å
+  *     ãã»ãã£ã¹ãããã£ãçµç±ãã¦ãã£ã¦æ¥ãå ´å
+  *     ãã®2éããã
+  *     ããããã®å ´åãr10ã«runtskãå
+¥ã£ã¦ãã
+  */
+ret_int_r:
+
+#ifdef SUPPORT_FLOATING_POINT_REG    
+    /*  ãã¼ãã¦ã§ã¢ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ãã¦ããå ´å  */
+
+    /*  FPSCRã®å¾©å
+  */
+    lfd     f0, GPR13_31_AREA_SIZE+FPR0_13_AREA_SIZE-8(sp)
+    mtfsf   0xf,f0          /*  FPSCRâf0ã®ä¸ä½2ãã¤ã  */
+
+    /*  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾©å
+  */
+    lfd     f0,   0*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f1,   1*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f2,   2*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f3,   3*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f4,   4*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f5,   5*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f6,   6*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f7,   7*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f8,   8*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f9,   9*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f10, 10*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f11, 11*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f12, 12*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f13, 13*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f14, 14*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f15, 15*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f16, 16*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f17, 17*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f18, 18*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f19, 19*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f20, 20*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f21, 21*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f22, 22*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f23, 23*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f24, 24*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f25, 25*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f26, 26*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f27, 27*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f28, 28*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f29, 29*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f30, 30*8+GPR13_31_AREA_SIZE(sp)
+    lfd     f31, 31*8+GPR13_31_AREA_SIZE(sp)
+#endif  /* SUPPORT_FLOATING_POINT_REG */    
+
+    /*  æ±ç¨ã¬ã¸ã¹ã¿ã®å¾©å
+  */
+    LOAD_R13_31     /*  gpr13-31ã®å¾©å
+  */
+    addi    sp, sp, GPR13_31_AREA_SIZE + FPR_AREA_SIZE
+
+    /*  ãã£ã¹ãããã£ãçµç±ããªãå ´åã¯ããããåæµ  */
+    /*  ï¼r10ã«runtskãå
+¥ã£ãç¶æ
+ã§ããã«æ¥ãï¼  */
+ret_int_1:
+    /*  ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ã®ãã§ãã¯  */
+                                    /*  r10 = runtsk  */
+    lbz     r4, TCB_enatex(r10)
+    /*
+     *  ãã¹ã¯ãã¼ã¿ã®ãããå¹
+ã¨ã¨ã³ãã£ã¢ã³ã¯makeoffset.cã®
+     *  BIT_BBããã³BIT_LBã§æå®ãã¦ãã
+     */                                 
+    andi.   r5, r4, TCB_enatex_mask /*  r5 = runtsk->enatex  */
+                            /* çµæãã¼ã­ãªãã°ãEQãã©ã°ãã»ããããã */
+    beq     ret_int_2               /*  ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ãªãã¸ã£ã³ã  */
+    lwz     r6, TCB_texptn(r10)      /*  r6 = runtsk->texptn  */
+        /*  ã¿ã¹ã¯ä¾å¤è¦æ±ããªããã°ãªãã¸ã£ã³ã  */
+    cmpwi   crf0, r6, 0
+    beq     ret_int_2
+    
+    /*
+     *  ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«åããã¦ãã¹ã¿ãã¯ãã¤ã³ã¿ã
+     *ã8ãã¤ããããã¦ããã
+     *ã
+     *    -8  ----------------------
+     *       |                      |
+     *    -4  ----------------------ã
+     *       |                      |âcall_texrtn()ã®å¼ã³åºãã«ãã
+     *  spâ  ----------------------   æ¸ãè¾¼ã¾ãã
+     *  
+     */
+    subi    sp, sp, STACK_MARGIN
+
+    bl      call_texrtn             /*  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å¼ã³åºã  */
+		    	     /*  ã¹ã¿ãã¯ãã¤ã³ã¿ãå
+ã«æ»ãï¼ä¸è¨åç
+§ï¼ */
+    addi    sp, sp, STACK_MARGIN
+    /*  
+     *ãæ³¨æ
+ ãã*ããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å
+ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãä½¿ç¨ãã
+ ãã*ããå ´åã¯ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å´ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®
+ ãã*ããå¾
+é¿ï¼å¾©å
+ãè¡ããã¨ã
+     */
+
+ret_int_2:
+    /*  
+     *ãcall_texrtn()ããããã«æ»ã£ã¦æ¥ãã(ä¸è¨addiå½ä»¤ãçµç±ï¼
+     *ãï¼call_texrtn()ãå¼ã°ãªãå ´åã¯ç´æ¥ããã«æ¥ãï¼
+     *
+ ãã*ããçµæçã«ret_to_task_intã¨åãå¦çã«ãªã£ããã
+ ãã*ããç¡çã«ã¾ã¨ããã¨å¯èª­æ§ãæªããªãã®ã§
+ ãã*ããå¥ã
+ã®ã¾ã¾ã«ãã¦ããã
+     */
+    LOAD_R0_12_SPRG     /*  gpr0-1,3-12, ç¹æ®ã¬ã¸ã¹ã¿ã®å¾©å
+  */
+    addi    sp, sp, GPR0_12_SPRG_AREA_SIZE
+    /*  
+     *  rfiå½ä»¤ã¯åæå½ä»¤ãªã®ã§ãä¸è¨ã®ã¬ã¸ã¹ã¿ã®å¾©å¸°ã¨spã®å ç®ãçµäºãã¦
+     *  ããå
+ã®ã³ã³ãã­ã¹ãã«æ»ãã
+     *  spã®å ç®ã ããå
+ã«æ¸ãã§å²è¾¼ã¿è¨±å¯ã«ãªãå¿é
+ã¯ãªãã
+     */
+    rfi     /*  å²è¾¼ã¿å
+ã¸å¾©å¸°  */
+
+
+
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ *  ããã£ã¹ãããã£ããå¼ã³åºãããã®ã§ãr10ã«ã¯runtskãå
+¥ã£ã¦ãã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ãè¨­å®æ¸ã¿
+ */ 
+
+    .globl activate_r
+activate_r:
+                                    /*  r10 = runtsk (ãã£ã¹ãããã£ã§è¨­å®) */
+    lwz     r4, TCB_tinib(r10)      /*  r4 = runtsk->tinib  */
+
+                                    /*  ã¿ã¹ã¯èµ·åçªå°ã®è¨­å®  */
+    lwz     r5, TINIB_task(r4)      
+    mtctr   r5                      /*  CTR = runtsk->tinib->task  */
+
+                                    /*  ã¿ã¹ã¯ã¸ã®å¼æ°ï¼æ¡å¼µæ
+å ±ï¼  */
+    lwz     r3, TINIB_exinf(r4)     /*  r3 = runtsk->tinib->TINIB_exinf  */
+
+    /*
+     *  LRã¬ã¸ã¹ã¿ã«ext_tskãè¨­å®ãããã¨ã«ãããext_tskã
+     *  å¼ã°ãªãã§ã¿ã¹ã¯ã®é¢æ°ãæããå ´åãext_tskã«åå²ããã
+     */                                 
+    LI32(r6, ext_tsk)
+    mtspr   LR, r6                  /*  ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å®  */
+
+    mfmsr   r8
+    ori     r9, r8, MSR_EE
+    mtmsr   r9                      /*  å²è¾¼ã¿è¨±å¯  */
+
+    bctr                            /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */
+
+
+/*
+ *  å¾®å°æéå¾
+ã¡ 
+ *ããå¼æ°r3ï¼å¾
+ã¡æéãnsecåä½ã§æå®ãã
+ */
+    .globl sil_dly_nse
+sil_dly_nse:
+    LI32(r4, SIL_DLY_TIM1)
+    sub.    r3, r3, r4          /* r3 ããSIL_DLY_TIM1ãå¼ã */
+    blelr                       /* çµæã0ä»¥ä¸ãªããªã¿ã¼ã³ */
+
+    LI32(r5, SIL_DLY_TIM2)
+sil_dly_nse_1:
+    sub.    r3, r3, r5          /* r3 ããSIL_DLY_TIM2ãå¼ã */
+    bgt     sil_dly_nse_1       /* çµæã 0 ããå¤§ãããã°ã«ã¼ã */
+    blr
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/cpu_unrename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef Exception_Entry
+#undef External_interrupt_1
+
+/*
+ * cpu_config.c
+ */
+#undef int_table
+#undef exc_table
+#undef exe_list
+#undef no_reg_exception
+#undef syslog_data_on_stack
+
+/*
+ * cpu_config.h
+ */
+#undef define_inh
+#undef define_exc
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _Exception_Entry
+#undef _External_interrupt_1
+
+/*
+ * cpu_config.c
+ */
+#undef _int_table
+#undef _exc_table
+#undef _exe_list
+#undef _no_reg_exception
+#undef _syslog_data_on_stack
+
+/*
+ * cpu_config.h
+ */
+#undef _define_inh
+#undef _define_exc
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/Makefile.config	(revision 26)
@@ -0,0 +1,89 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2004/10/07 17:10:56 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼ãµã³ãã«ï¼
+#
+
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#      powerpc-elf-gccä»¥å¤ã®ã³ã³ãã¤ã©ãç¨ããå ´åã¯
+#      $(SYS)/Makefile.configã§å¤æ°TARGETãå®ç¾©ããã
+#ãããå®ç¾©ããã¦ããªãå ´åã¯ãããã©ã«ãã§TARGETã«
+#ãããpowerpc-elfãè¨­å®ãããã
+#
+TARGET = powerpc-eabi
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#ãããã©ã¡ããé¸æããªããã°ãå
+±éé¨ã§ããã©ã«ãã®å®è¡ç°å¢GDBã
+#ãããé¸æããã
+#
+#ãããROM
+#ããããROMåç¨ã®è¨­å®
+#ããããROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ãæç¤ºãã¦ããã ãã§ã
+#ããããã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+
+DBGENV = ROM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#ããããã°ãªãã·ã§ã³ã¯gccã®ãã¼ã¸ã§ã³ã«ããç°ãªãå ´åãããã®ã§æ³¨æ
+COPTS := $(COPTS) -gdwarf -G 0 -msoft-float -mbig -meabi
+
+# gccãªãã·ã§ã³ 
+#    -msoft-float  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã»ã»ãããä½¿ããªã
+#    -mbig         ããã°ã»ã¨ã³ãã£ã¢ã³
+#    -N            .save'ãã¡ã¤ã«ãä½æããªã
+#    -meabi        ãEmbedded Applications Binary Interface (eabi)ãã«å¾ã
+#
+# ãªã³ã«ã»ãªãã·ã§ã³ -N  
+#     ãã­ã¹ãã»ã¯ã·ã§ã³ã¨ãã¼ã¿ã»ã¯ã·ã§ã³ãèª­ã¿æ¸ãå¯è½ã«è¨­å®ãã.
+#     ã¾ã, ãã¼ã¿ã»ã°ã¡ã³ãã®ãã¼ã¸å¢çã¸ã®ä½ç½®åããããããªããªã. 
+
+LDFLAGS := $(LDFLAGS) -N
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o smc.o
+
+#
+#  ãã¯ã­å®ç¾©ãªãã·ã§ã³
+#
+CDEFS := $(CDEFS) -DIBM_PPC_EMB_ENV
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#ãããªã³ã¯ã¹ã¯ãªããå
+ã§å®ç¾©ãã¦ãè¯ã
+#
+
+# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+
+#TEXT_START_ADDRESS=0x10002000
+
+# dataã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+
+DATA_START_ADDRESS=0x2000
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+
+LDSCRIPT = $(CPU)/$(SYS)/sample_elf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.cfg	(revision 26)
@@ -0,0 +1,13 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SERIAL,  { TA_HLNG, sio_handler });
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_serial.h	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãã®ãµã³ãã«
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <smc.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·ï¼éåä¿¡å
+±éï¼
+ */
+#define INHNO_SERIAL	1
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	smc_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	return((SIOPCB *)0);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ï¼éåä¿¡å
+±éï¼
+ */
+#define	sio_handler	smc_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	smc_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	smc_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	smc_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	smc_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	smc_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	smc_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/hw_timer.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãã®ãµã³ãã«
+ *
+ *ãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ãã
+ *ãããããã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯pit.hã«è¨è¿°ãã
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include <pit.h>
+#endif /* _MACRO_ONLY */
+
+/*  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·  */
+#define	INHNO_TIMER	0
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	pit_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		pit_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		pit_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	pit_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/pit.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/pit.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/pit.h	(revision 26)
@@ -0,0 +1,176 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: pit.h,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãã®ãµã³ãã«
+ */
+
+#ifndef _PIT_H_
+#define _PIT_H_
+
+/*  ãã¼ãæ¯ã«SILãç¨æãã  */
+//#include <sil_mpc860.h>
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *	ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ */
+
+#define TIMER_CLOCK	12500
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *ãããTIMER_CLOCKã¯tb6102s.hã§å®ç¾©ãã¦ãã
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) (TO_CLOCK(TIC_NUME, TIC_DENO) - 1))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffu)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®å®ç¾©
+ */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+pit_start()
+{
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+pit_stop()
+{
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *          PISCRã¬ã¸ã¹ã¿ã®PSãããã«1ãæ¸ãè¾¼ã
+ */
+Inline void
+pit_int_clear()
+{
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+pit_initialize()
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ãã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+pit_terminate()
+{
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããå²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨
+ */
+Inline CLOCK
+pit_get_current()
+{
+	return ((CLOCK)0);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+pit_fetch_interrupt()
+{
+	return (TRUE);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _PIT_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sample_elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sample_elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sample_elf.ld	(revision 26)
@@ -0,0 +1,155 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample_elf.ld,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-powerpc","elf32-powerpc","elf32-powerpc")
+OUTPUT_ARCH(powerpc)
+
+MEMORY
+{
+	ROM(rxai):ORIGIN = 0x10000000, LENGTH =  4M
+	ROM_reset(rxai):ORIGIN = 0xffffffec, LENGTH = 0x14
+	RAM(wxai):ORIGIN = 0x00000000, LENGTH = 16M
+}
+
+PROVIDE (__stack = 0) ;
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(memcpy = _dummy_memcpy);
+SECTIONS
+{
+    .exception_vector 0x10000100 :
+    {
+	*(.exception_vector)
+    } >ROM
+    .init :
+    {
+        KEEP (*(.init))
+    } >ROM
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    } >ROM
+    .fini :
+    {
+        KEEP (*(.fini))
+    } >ROM
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } >ROM
+    . = ALIGN(4) ;
+
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } >RAM
+
+    __isdata_start = . ;
+    .sdata : AT(__idata_start + SIZEOF(.data)) 
+    {
+        __sdata_start = . ;
+        *(.sdata)
+    } >RAM
+
+    /*  ãªã»ãããã¯ã¿  */
+    .system_reset_vector :	/*  0xffff,ffecçªå°ã«é
+ç½®ããã  */
+    {
+	*(.system_reset_vector)
+    } >ROM_reset
+
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+/*     __idata_end = __idata_start + SIZEOF(.data) ; */
+    __idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __sbss_start = . ;
+    .sbss :
+    {
+        *(.sbss)
+    } >RAM
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    } >RAM
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.c	(revision 26)
@@ -0,0 +1,229 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: smc.c,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *   ã·ãªã¢ã«ãã©ã¤ãã®ãµã³ãã«
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ */
+
+#include <s_services.h>
+#include <smc.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæå¤ç¨ã®ãã¼ã¿ãå«ãã
+ */
+struct sio_port_control_block {
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ *  ããID = 1 ãSMC1ã«å¯¾å¿ããã¦ããï¼
+ */
+static SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+smc_getready(SIOPCB *siopcb)
+{
+	return(TRUE);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+smc_putready(SIOPCB *siopcb)
+{
+	return(TRUE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+smc_getchar(SIOPCB *siopcb)
+{
+    	return((char)0);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+smc_putchar(SIOPCB *siopcb, char c)
+{
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+smc_initialize()
+{
+}
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+smc_openflag(void)
+{
+	return(TRUE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+smc_opn_por(ID siopid, VP_INT exinf)
+{
+	return((SIOPCB *)0);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+smc_cls_por(SIOPCB *siopcb)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+smc_snd_chr(SIOPCB *siopcb, char c)
+{
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+smc_rcv_chr(SIOPCB *siopcb)
+{
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+smc_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+smc_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+smc_isr_siop_out(SIOPCB *siopcb)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+smc_isr_siop_in(SIOPCB *siopcb)
+{
+}
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãéåä¿¡å
+±é
+ *  
+ */
+void
+smc_isr()
+{
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+smc_putc_pol(char c)
+{
+}
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/smc.h	(revision 26)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: smc.h,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *   ã·ãªã¢ã«ãã©ã¤ãã®ãµã³ãã«
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _SMC_H_
+#define _SMC_H_
+
+/*  ãã¼ãæ¯ã«SILãç¨æãã  */
+//#include <sil_mpc860.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	smc_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	smc_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*smc_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	smc_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	smc_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	smc_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	smc_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	smc_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	smc_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	smc_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	smc_ierdy_rcv(VP_INT exinf);
+
+#endif /* _SMC_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.c	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ã®ãµã³ãã«
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+/*  ãã¼ãæ¯ã«SILãç¨æãã  */
+//#include <sil_mpc860.h>
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+ *	ipm_tableèªä½ã¯$(CPU)ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªã
+ *ãããï¼define_ipmã«ãããé è½ããã¦ããï¼
+ */
+IPM ipm_table[TMAX_EXCNO];
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+}
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_config.h	(revision 26)
@@ -0,0 +1,422 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ã®ãµã³ãã«
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+//#include <******.h>
+//#include <******.h>
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"Target name"
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	1425
+#define	SIL_DLY_TIM2	 350
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ *ããROMã¢ãã¿ï¼GDB STUBå¼åºãã¯æªå®è£
+
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ *ããROMã¢ãã¿ï¼GDB STUBå¼åºãã¯æªå®è£
+
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*  --------------------------------------------------------------  */
+/*
+ * PowerPCå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å®ç¾©
+ */
+
+/*
+ *   MSRã®åæå¤
+ */
+#define INIT_MSR    	0
+
+/*
+ *  å²è¾¼ã¿ã®æ¬æ°
+ */
+#define TMAX_INTNO       10
+
+/*
+ *  å²è¾¼ã¿å¦çã®ICUä¾å­é¨å
+ *  ãå¦çå
+å®¹
+ *  ããã»å²è¾¼ã¿è¦å ã®å¤å¥
+ *  ããã»å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ *  ããã»å²è¾¼ã¿è¨±å¯
+ *  ããã»Cè¨èªã«ã¼ãã³å¼ã³åºã
+ *  ããã»å²è¾¼ã¿ç¦æ­¢
+ *  ããã»ï¼å¿
+è¦ã§ããã°ï¼å²ãè¾¼ã¿è¦æ±ãã©ã°ã®ã¯ãªã¢
+ *  ã
+ *  ãå¼æ°
+ *  ã  labelï¼ã©ãã«è­å¥ç¨æå­å
+ *  ã  ããããï¼è¤æ°ç®æã§ãã®ãã¯ã­ãä½¿ç¨ã§ããããã«ããããï¼
+ */
+#define _PROC_ICU(label)
+
+/* ãã¯ã­å¼æ°labelãç¢ºå®ã«å±éããããããã¯ã­ã2éã«ãã¦ãã */
+#define PROC_ICU(label) _PROC_ICU(label)
+
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯IPMé¢é£ã®å®ç¾©
+ */
+
+/*  IPMã®å¾
+é¿  */
+    /*  æ³¨æï¼spã4ãã¤ãå¢çã«ç¶­æãã  */
+#define PUSH_ICU_IPM
+
+/*  IPMã®å¾©å
+  */
+    /*  æ³¨æï¼spã4ãã¤ãå¢çã«ç¶­æãã  */
+#define POP_ICU_IPM
+
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ * ICUã«è¨­å®ããIPMãã©ã¡ã¼ã¿ã®ãã§ãã¯
+ *
+ *ãCè¨èªã®
+ *  ãif (ipmã®å¤ãä¸æ­£) {
+ *	ercd = E_PAR;
+ *	goto exit;
+ *    }
+ *ãã¨åç­ã®å¦çãè¡ããã¯ã­
+ */
+#define CHECK_IPM(ipm)
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯åå¾
+ */
+#define GET_IPM(p_ipm)	
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯è¨­å®
+ */
+#define CHG_IPM(ipm)
+
+#endif	/*  SUPPORT_CHG_IPM  */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+ *	ipm_tableèªä½ã¯$(CPU)ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªã
+ *ãããï¼define_ipmã«ãããé è½ããã¦ããï¼
+ */
+extern IPM ipm_table[];
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ *	å²è¾¼ã¿çªå·inhnoã®å²è¾¼ã¿ãåãä»ããã¨ãã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®
+ *	IPMã«è¨­å®ããå¤ãå®ç¾©ããã
+ *	ããã¤ã¹ãã©ã¤ãã®åæåå¦çã§ä½¿ç¨ããããã¨ãæ³å®ãã¦ããã
+ *
+ *ãããå¼æ°
+ *ããããinhnoï¼å²è¾¼ã¿ãã³ãã©çªå·
+ *ããããipmï¼å²è¾¼ã¿ãã¹ã¯
+ *
+ */
+Inline void
+define_ipm(INHNO inhno, IPM ipm)
+{
+	ipm_table[inhno] = ipm;
+}
+
+#endif /* _MACRO_ONLY */
+
+/*  
+ *  çé»åã¢ã¼ãã¸ã®ç§»è¡ã¨å²è¾¼ã¿è¨±å¯
+ *  ãå®è¡ãã¹ãã¿ã¹ã¯ããªãã¦å²è¾¼ã¿å¾
+ã¡ã«ãªãã¨ãã«
+ *  ããã£ã¹ãããã£ã®ä¸­ã§ä½¿ç¨ãããã
+ */ 
+#define SAVE_POWPER	/*  å¦çå
+å®¹ãã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+
+
+/* ----------------------------------------------------------------- */
+/*
+ * The IBM PowerPC Embedded Environmentç¨ã®å®ç¾©
+ */
+
+/*
+ * ä¾å¤å¦çã«ã¼ãã³ã®å®ç¾©ï¼å¿
+é é¨åï¼
+ */
+
+/*
+ *  Critical Interrupt
+ *  ããªãã»ããï¼0x100
+ *  ãCritical Interruptã¯ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ãªã®ã§
+ *  ãå¦çå
+å®¹ã¯ãã¯ã­å®ç¾©ãã¦ããã
+ *  ãããã¯ã­åï¼CRITICAL_INTERRUPT_EXCEPTION_PROC
+ *  ããã®å¦çå
+å®¹ã¯0x100ãã¤ããè¶
+ãã¦ã¯ãããªãã
+ *  ãï¼è¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+ *  ããããã«åå²ãããã¨ï¼
+ *
+ *  ãCritical Interruptã¯ã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ */
+#define CRITICAL_INTERRUPT_EXCEPTION_PROC	rfci
+				/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+
+/*
+ *  ãã·ã³ã»ãã§ãã¯ä¾å¤
+ *  ããã®å¦çå
+å®¹ã¯0x100ãã¤ããè¶
+ãã¦ã¯ãããªãã
+ *  ãï¼è¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+ *  ããããã«åå²ãããã¨ï¼
+ *
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ */
+#define MACHINE_CHECK_PROC	rfci
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  Programmable Interval timer
+ *  ããªãã»ããï¼0x1000
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+#define PROGRAMMABLE_INTERVAL_TIMER_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  Fixed Interval timer
+ *  ããªãã»ããï¼0x1010
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+#define FIXED_INTERVAL_TIMER_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  Watchdog timer
+ *  ããªãã»ããï¼0x1020
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ *
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ */
+#define WATCHDOG_TIMER_PROC	rfci
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  Data TLB miss
+ *  ããªãã»ããï¼0x1100
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+#define DATA_TLB_MISS_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  Instruction TLB miss
+ *  ããªãã»ããï¼0x1200
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+#define INSTRUCTION_TLB_MISS_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+
+/*
+ *  Debugä¾å¤
+ *  ããªãã»ããï¼0x2000
+ *
+ *ããä¾å¤ã¯ã©ã¹ï¼Critical
+ *  ãããªã¿ã¼ã³å½ä»¤ã¯rfci(Return From Critical Interrupt)
+ *  ãããç¨ããã
+ *  ã
+ *  ãè¦å ã¯ä»¥ä¸ã®7ç¨®é¡
+ *  ããTrap
+ *  ããInstruction address compare
+ *  ããData address compare
+ *  ããInstruction complete
+ *  ããBranch taken
+ *  ããException
+ *  ããUnconditional debug event
+ *  ã
+ *  ãã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ *  ãï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+ *  ã
+ *  ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ */
+#define DEBUG_PROC	rfci
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦çï¼ãªãã»ããï¼0xd00-0xff0ï¼
+ *    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿
+ * ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ *  ãå
+·ä½çã«ã¯
+ *     .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ * ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+ *    ä¾ãã°ãPowerPC405ã§ã¯ãªãã»ãã0xf20ã«
+ *    APU Unavailableä¾å¤ã®å¦çãé
+ç½®ãã
+ */
+//#define IMPLEMENT_EXCEPTION_D00_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+/*
+ * ä¾å¤å¦çã«ã¼ãã³ã®å®ç¾©ï¼ãªãã·ã§ã³é¨åï¼
+ */
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦çï¼ãªãã»ããï¼0x2010-0x2ff0ï¼
+ *    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿ï¼ï¼ã¤ã¨ã¯éããªãï¼ã
+ *    ä»ã®ç¨éã«ä½¿ç¨ããã
+ * ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ *  ãå
+·ä½çã«ã¯
+ *     .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ * ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+ */
+// #define IMPLEMENT_EXCEPTION_02010_PROC
+						/*  ã¢ã»ã³ãã©ã§è¨è¿°ãã  */
+/*  ãã®ãã¯ã­å®ç¾©ã¯ããã¤ã¹ã«åããã¦åèªæ¸ãæãã¦ä¸ããã  */
+
+
+#endif /* _SYS_CONFIG_H_ */
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_defs.h	(revision 26)
@@ -0,0 +1,142 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ã®ãµã³ãã«
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+#define TB6102S			/* ã·ã¹ãã ç¥ç§° */
+#define MPC860T			/* ãã­ã»ããµç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ICUã«è¨­å®ããIPMã®åå®ç¾©
+ */
+typedef UH IPM;
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+ 	/*  
+ 	 * ã PowerPCçã§ã¯ãµãã¼ããã¦ããªãã
+	 *  ãå®è£
+ã«ãããå·¥æ°ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®æ§é ã«
+	 *  ãå¤§ããä¾å­ãã  
+	 */
+#if 0
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+#ifdef SUPPORT_VXGET_TIM
+
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif	/*  SUPPORT_VXGET_TIM  */
+
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/*  æªå®è£
+  */
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.def	(revision 26)
@@ -0,0 +1,8 @@
+#sys_config.c
+ipm_table
+no_reg_CPM_interrupt
+no_reg_SIU_interrupt
+sil_debug_on
+sil_buffer
+sil_pos
+sil_log_id
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_rename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.c
+ */
+#define ipm_table		_kernel_ipm_table
+#define no_reg_CPM_interrupt	_kernel_no_reg_CPM_interrupt
+#define no_reg_SIU_interrupt	_kernel_no_reg_SIU_interrupt
+#define sil_debug_on		_kernel_sil_debug_on
+#define sil_buffer		_kernel_sil_buffer
+#define sil_pos			_kernel_sil_pos
+#define sil_log_id		_kernel_sil_log_id
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#define _ipm_table		__kernel_ipm_table
+#define _no_reg_CPM_interrupt	__kernel_no_reg_CPM_interrupt
+#define _no_reg_SIU_interrupt	__kernel_no_reg_SIU_interrupt
+#define _sil_debug_on		__kernel_sil_debug_on
+#define _sil_buffer		__kernel_sil_buffer
+#define _sil_pos		__kernel_sil_pos
+#define _sil_log_id		__kernel_sil_log_id
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_support.S	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©ã®ãµã³ãã«
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ *  
+ *  ãThe IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åºæã®
+ *    EVPRã¬ã¸ã¹ã¿ã®è¨­å®ã¯ã¡ã¢ãªã³ã³ãã­ã¼ã©ã®åæåã®å¾ã«è¡ãã¹ã
+ *    ãªã®ã§ããã©ã«ãã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã¯è¡ããã
+ *    hardware_init_hookã«ã¼ãã³ã§è¡ãæ¹æ³ãæ¨æºã¨ããã
+ *  
+ *  ã¬ã¸ã¹ã¿å²ãå½ã¦
+ *  ããr10ï¼å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹
+ *  
+ */
+    .text
+    .globl hardware_init_hook
+hardware_init_hook: 
+    blr
+    
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_tool_config.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_tool_config.h,v 1.1 2004/09/03 16:39:56 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *ããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ããã³
+ *ããããæµ®åå°æ°ç¹æ¼ç®ã¦ãããä¾å­é¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼tool_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_TOOL_CONFIG_H_
+#define _SYS_TOOL_CONFIG_H_
+
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨
+ */
+#define	LOG_INH_ENTER(inhno)
+#define	LOG_INH_LEAVE(inhno)
+
+#define	LOG_ISR_ENTER(intno)
+#define	LOG_ISR_LEAVE(intno)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)		/*  å¿µã®ãããåé¢ãã¦ãã  */
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+
+/*
+ *  æµ®åå°æ°ç¹æ¼ç®ã¦ãããä¾å­é¨
+ */
+#define	LOG_DSP_ENTER(tcb)
+#define	LOG_DSP_LEAVE(tcb)
+
+
+#endif /* _SYS_TOOL_CONFIG_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/sys_unrename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.c
+ */
+#undef ipm_table
+#undef no_reg_CPM_interrupt
+#undef no_reg_SIU_interrupt
+#undef sil_debug_on
+#undef sil_buffer
+#undef sil_pos
+#undef sil_log_id
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#undef _ipm_table
+#undef _no_reg_CPM_interrupt
+#undef _no_reg_SIU_interrupt
+#undef _sil_debug_on
+#undef _sil_buffer
+#undef _sil_pos
+#undef _sil_log_id
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/ibm_ppc_emb_sample/user_config.h	(revision 26)
@@ -0,0 +1,206 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.1 2004/10/07 17:12:02 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/********************************************************************
+ *ãPowerPCãã¡ããªå
+±éã®è¨­å®
+ *ãã(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+#define	SUPPORT_POWER_MANAGEMENT
+
+/*
+ *  ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ã«æ´æ°ã­ã¼ãï¼ã¹ãã¢ã»ãã«ããã«å½ä»¤ã
+ *ãä½¿ç¨ããã©ããã®å®ç¾©
+ */
+//#define	USE_MULTIPLE_WORD_LOAD_STORE
+
+/*
+ *  ä¾å¤ãã¯ã¿ã®é
+ç½®ã«ãã£ã¦ã¯ãä¾å¤ãã¯ã¿ããtextã»ã¯ã·ã§ã³ã«ããç¶ã
+ *  ã®å¦çã«åå²ããéãbå½ä»¤ã«ããPCç¸å¯¾åå²ï¼åå¾0x07ff,ffffï¼ã§ã¯å±
+ *  ããªãå ´åããããABSOLUTE_JUMP_EXC_ENTRYãã¯ã­ãå®ç¾©ããã¨çµ¶å¯¾çª
+ *  å°ãæå®ãã¦åå²ããå®è£
+ã«åãæ¿ããããã®åé¡ãåé¿ã§ããã
+ */
+#define ABSOLUTE_JUMP_EXC_ENTRY
+
+
+/********************************************************************
+ *ãPowerPCãã¡ããªå
+±éã®è¨­å®
+ *ãã(2) å¤ãè¨­å®ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 -              ãã¼ã¿é å(16MB)
+ *                  - 0x0100,0000  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *      0x1000,0000 - 0x1040,0000  ã³ã¼ãé å(4MB)  ã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	0x01000000
+
+/*  ã·ã¹ãã ã¯ã­ãã¯ [MHz] */
+#define SYSTEM_CLOCK	50
+
+
+/*
+ *  ã¿ã¤ãé¢é£ã®è¨­å®
+ *
+ */
+
+/* ã¿ã¤ãã®å²ãè¾¼ã¿ã¬ãã« */
+#define INTLVL_TIMER	3
+
+/*
+ *  ã¿ã¤ãé¢é£ã®è¨­å®
+ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ã·ãªã¢ã«é¢é£ã®è¨­å®
+ */
+
+/* ã·ãªã¢ã«ã®å²ãè¾¼ã¿ã¬ãã« */
+#define INTLVL_SERIAL	4
+
+/*  ãã¼ã¬ã¼ãã[bps]  */
+#define BAUD_RATE	9600
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+#define TNUM_PORT 1	/* GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+#define	TNUM_SIOP 1	/* PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+#define	LOGTASK_PORTID	1  /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+
+/********************************************************************
+ *  The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®é 
+ç®
+ *ãã(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  APUãããã¤ã¹ããµãã¼ããããã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_IBM_PPC_EMB_APU
+
+
+/********************************************************************
+ * The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®é 
+ç®
+ *ãã(2) å¤ãè¨­å®ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã«å®ç¾©ãããä¾å¤å¦çã®æ¬æ°
+ *  ãï¼ã«ã¼ãã«ã«ç»é²ããCè¨èªã«ã¼ãã³ã®æ¬æ°ï¼
+ */
+#define	NUM_IMPLEMENT_EXCEPTION		0
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/makeoffset.c	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.3 2004/10/07 17:10:56 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+        OFFSET_DEF2(TCB, tinib, tinib);
+        OFFSET_DEF2(TINIB, task, task);
+        OFFSET_DEF2(TINIB, exinf, exinf);
+	OFFSET_DEF(TCB, texptn);
+
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+	/*  BIT_BBï¼ããã°ã¨ã³ãã£ã¢ã³ã
+	ãããããããã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã  */
+TCB	BIT_BB_TCB_enatex = {
+
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG *//* ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+	/*  BIT_LBï¼ãªãã«ã¨ã³ãã£ã¢ã³ã
+	ãããããããã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã  */
+TCB	BIT_LB_TCB_enatex = {
+
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/Makefile.config	(revision 26)
@@ -0,0 +1,111 @@
+#
+#  @(#) $Id: Makefile.config,v 1.2 2004/10/07 17:10:56 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨å
+#     (æ ª)ã¿ã³ããã¯ MPC860T TB6102S
+#
+
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#      powerpc-elf-gccä»¥å¤ã®ã³ã³ãã¤ã©ãç¨ããå ´åã¯
+#      $(SYS)/Makefile.configã§å¤æ°TARGETãå®ç¾©ããã
+#ãããå®ç¾©ããã¦ããªãå ´åã¯ãããã©ã«ãã§TARGETã«
+#ãããpowerpc-elfãè¨­å®ãããã
+#
+#   TARGET = powerpc-eabi
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#ãããã©ã¡ããé¸æããªããã°ãå
+±éé¨ã§ããã©ã«ãã®å®è¡ç°å¢GDBã
+#ãããé¸æããã
+#
+#ãããROM
+#ããããROMåç¨ã®è¨­å®
+#ããããROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ãæç¤ºãã¦ããã ãã§ã
+#ããããã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããDOWNLOAD_TO_RAM
+#ãããããããã°ç¨ã«ãã­ã°ã©ã ããã¹ã¦RAMé åã«ãããã³ã°ããè¨­å®
+#
+
+DBGENV = ROM
+#DBGENV = DOWNLOAD_TO_RAM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#ããããã°ãªãã·ã§ã³ã¯gccã®ãã¼ã¸ã§ã³ã«ããç°ãªãå ´åãããã®ã§æ³¨æ
+COPTS := $(COPTS) -gdwarf -G 0 -msoft-float -mbig
+
+# gccãªãã·ã§ã³ 
+#    -gdwarf       ãããã°æ
+å ±ã DWARF ã®ãã¼ã¸ã§ã³1ã®å½¢å¼
+#                  (ãµãã¼ãããã¦ããã°)ã§çæããã
+#    -G num        çµã¿è¾¼ã¿PowerPCã·ã¹ãã ã«ããã¦ã åºåãã¼ã¿ã¨éç
+#                  ãã¼ã¿ã®ãã¡ãµã¤ãºãnumãã¤ãä»¥ä¸ã®ãã®ãã éå¸¸ã®
+#                  dataã»ã¯ã·ã§ã³ãbssã»ã¯ã·ã§ã³ã«ã§ã¯ãªãã small data
+#                  ã»ã¯ã·ã§ã³ãsmall bssã»ã¯ã·ã§ã³ã«ç½®ãã
+#    -msoft-float  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã»ã»ãããä½¿ããªã
+#    -mbig         ããã°ã»ã¨ã³ãã£ã¢ã³
+#    -N            .save'ãã¡ã¤ã«ãä½æããªã
+#
+# ãªã³ã«ã»ãªãã·ã§ã³ -N  
+#     ãã­ã¹ãã»ã¯ã·ã§ã³ã¨ãã¼ã¿ã»ã¯ã·ã§ã³ãèª­ã¿æ¸ãå¯è½ã«è¨­å®ãã.
+#     ã¾ã, ãã¼ã¿ã»ã°ã¡ã³ãã®ãã¼ã¸å¢çã¸ã®ä½ç½®åããããããªããªã. 
+
+LDFLAGS := $(LDFLAGS) -N
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o mpc860_smc.o
+
+#
+#  ãã¯ã­å®ç¾©ãªãã·ã§ã³
+#
+CDEFS := $(CDEFS) -DIMPLEMENT_EXCEPTION_01000 
+
+#-DSIL_DEBUG
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+#   DOWNLOAD_TO_RAMã®å ´åã¯ä¾å¤ãã¯ã¿ã®å¾ãã«é
+ç½®ããã®ã§
+#ã ã¢ãã¬ã¹ã¯æå®ããªã
+#
+ifneq ($(DBGENV),DOWNLOAD_TO_RAM)
+    TEXT_START_ADDRESS=0x10002000
+endif
+
+# dataã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+ifeq ($(DBGENV),DOWNLOAD_TO_RAM)
+    DATA_START_ADDRESS=0x00800000
+else
+    DATA_START_ADDRESS=0x2000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),DOWNLOAD_TO_RAM)
+    LDSCRIPT = $(CPU)/$(SYS)/mpc860elf_ram.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/mpc860elf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.cfg	(revision 26)
@@ -0,0 +1,13 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼TB6102Sç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SERIAL,  { TA_HLNG, sio_handler });
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_serial.h	(revision 26)
@@ -0,0 +1,191 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼MPC860Tç¨ï¼
+ *ããããMPC860Tå
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³ãã³ã³ãã­ã¼ã©SMC1ãä½¿ç¨
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <mpc860_smc.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·ï¼éåä¿¡å
+±éï¼
+ */
+#define INHNO_SERIAL	INTNO_SMC1
+
+/*
+ *ãSIUããè¦ãCPMå²è¾¼ã¿ã½ã¼ã¹ã®å²è¾¼ã¿ã¬ãã«ã¯ä¸ã¾ã¨ãã«ãªãã
+ *ãCPMå
+ã§ã®å²è¾¼ã¿ã¬ãã«ã¯ãã¼ãã¦ã§ã¢ã«ããæ±ºå®ãããã
+ *ããã®ãããSMC1åºæã®IPMã¯ç¨æãã¦ããªãã
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	smc_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = smc_opn_por(siopid, exinf);
+
+    	/*
+    	 *  CPMå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®è¨­å®
+    	 *  ãCPMå²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿CICRã®
+    	 *  ãè¨­å®ã¯CPUã®åæåã§è¡ã£ã¦ããã¨ãã
+    	 *  ãï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ï¼
+    	 *  ã
+    	 *  ãCPMå
+ã§ã®å²è¾¼ã¿é ä½ã¯åºå®ããã¦ããã
+    	 *  ãï¼SCCãé¤ãï¼
+    	 */
+    	mpc860_orw_mem(CIMR, CIMR_SMC1);	/*  SMC1å²è¾¼ã¿ãè¨±å¯  */
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	smc_cls_por(siopcb);
+
+	if (!smc_openflag()) {
+		/*  ãã¹ã¦ã®ãã¼ããã¯ã­ã¼ãºããã¦ããã°  */
+		/*  ã·ãªã¢ã«ããã¤ã¹ã¸ã®ã¯ã­ãã¯ä¾çµ¦åæ­¢  */
+	}
+
+    	/*
+    	 *  CPMå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®è¨­å®
+    	 *  ãï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ï¼
+    	 */
+    	mpc860_andw_mem(CIMR, ~CIMR_SMC1);	/*  SMC1å²è¾¼ã¿ãç¦æ­¢  */
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ï¼éåä¿¡å
+±éï¼
+ */
+#define	sio_handler	smc_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	smc_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	smc_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	smc_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	smc_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	smc_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	smc_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/hw_timer.h	(revision 26)
@@ -0,0 +1,141 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼MPC860Tç¨ï¼
+ *ãããããMPC860Tå
+èµã®å¨æå²è¾¼ã¿ã¿ã¤ãPITãä½¿ç¨
+ *
+ *ãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ãã
+ *ãããããã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯pit.hã«è¨è¿°ãã
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include <pit.h>
+#endif /* _MACRO_ONLY */
+
+/*  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·  */
+#define	INHNO_TIMER	LEVEL_TO_INHNO(INTLVL_PIT)
+
+/*  ã¿ã¤ãå²è¾¼ã¿ã®IPM  */
+#define	IPM_PIT		LEVEL_TO_IPM(INTLVL_PIT)
+
+/*  ã¿ã¤ãå²è¾¼ã¿ã®è¨±å¯ããã  */
+#define	ENABLE_PIT	LEVEL_TO_ENABLE_BIT(INTLVL_PIT)
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	pit_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	pit_initialize();
+
+	/*
+	 *  ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIUã®IPMåæå
+	 */
+	mpc860_orh_mem(SIMASK, ENABLE_PIT);
+
+	/*
+	 *  ã«ã¼ãã«å
+é¨ã®ãã¼ã¿åæå
+	 */
+	define_ipm(INHNO_TIMER, IPM_PIT);	/* IPMã®è¨­å®ã*/
+
+	
+	pit_int_clear();	/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+	pit_start();		/*  ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		pit_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		pit_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	pit_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_sil.h	(revision 26)
@@ -0,0 +1,638 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpc860_sil.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+#include <sil.h>
+
+/*
+ *  MPC860å
+èµã®å¶å¾¡ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹ã»ã¦ã¼ãã£ãªãã£
+ *  
+ *  powerpc.hã«è¨è¿°ããã®ãã¨ã¬ã¬ã³ãã ããsil.hã¨ã®ã¤ã³ã¯ã«ã¼ãã®
+ *  é çªã®é¢ä¿ã§ç¬ç«ãããã¡ã¤ã«ã¨ããã
+ *  t_config.hãç´æ¥ã¤ã³ã¯ã«ã¼ãããã¨ãã«sil.hããå
+ã«powerpc.hã
+ *  ã¤ã³ã¯ã«ã¼ããããå¯è½æ§ãããã
+ *  
+ *  ã³ã³ãã¤ã©ã®åãã§ãã¯æ©è½ãæå¹ã«ããããããã¤ã³ã¿åã¯
+ *  VB *ãVH *ãVW *ãç¨ãã¦ããã
+ *  
+ */
+
+#ifndef _MPC860_SIL_H_
+#define _MPC860_SIL_H_
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SILã¨åç­ã®ã¢ã¯ã»ã¹é¢æ°ï¼åãã§ãã¯æ©è½ä»ãï¼
+ */
+
+#ifndef SIL_DEBUG
+
+/*
+ *  8ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VB
+mpc860_reb_mem(VB *mem)
+{
+	VB reg = sil_reb_mem((VP)mem);
+	return(reg);
+}
+
+Inline void
+mpc860_wrb_mem(VB *mem, VB data)
+{
+	sil_wrb_mem((VP)mem, data);
+}
+
+/*
+ *  16ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VH
+mpc860_reh_mem(VH *mem)
+{
+	VH reg = sil_reh_mem((VP)mem);
+	return(reg);
+}
+
+Inline void
+mpc860_wrh_mem(VH *mem, VH data)
+{
+	sil_wrh_mem((VP)mem, data);
+}
+
+/*
+ *  32ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+Inline VW
+mpc860_rew_mem(VW *mem)
+{
+	VW reg = sil_rew_mem((VP)mem);
+	return(reg);
+}
+
+Inline void
+mpc860_wrw_mem(VW *mem, VW data)
+{
+	sil_wrw_mem((VP)mem, data);
+}
+
+
+
+/*
+ *  ãããæ¼ç®
+ */
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+mpc860_andb_mem(VB *mem, VB data)
+{
+	VB reg = mpc860_reb_mem((VP)mem);
+	reg &= data;
+	mpc860_wrb_mem(mem, reg);
+}
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+mpc860_orb_mem(VB *mem, VB data)
+{
+	VB reg = mpc860_reb_mem(mem);
+	reg |= data;
+	mpc860_wrb_mem(mem, reg);
+}
+
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+mpc860_andh_mem(VH *mem, VH data)
+{
+	VH reg = mpc860_reh_mem(mem);
+	reg &= data;
+	mpc860_wrh_mem(mem, reg);
+}
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+mpc860_orh_mem(VH *mem, VH data)
+{
+	VH reg = mpc860_reh_mem(mem);
+	reg |= data;
+	mpc860_wrh_mem(mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+mpc860_andw_mem(VW *mem, VW data)
+{
+	VW reg = mpc860_rew_mem(mem);
+	reg &= data;
+	mpc860_wrw_mem(mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+mpc860_orw_mem(VW *mem, VW data)
+{
+	VW reg = mpc860_rew_mem(mem);
+	reg |= data;
+	mpc860_wrw_mem(mem, reg);
+}
+
+#else	/*  SIL_DEBUG  */
+
+extern UW sil_log_id;
+extern BOOL sil_debug_on;
+
+/*
+ *  SILã®ã­ã°åºåãå²ãå½ã¦ãã­ã°éè¦åº¦ã®å®ç¾©
+ *ãï¼user.txtã®ã4.4 ã­ã°æ
+å ±ã®éè¦åº¦ãåç
+§ï¼
+ */
+#ifndef LOG_SIL
+#define LOG_SIL	LOG_EMERG
+#endif	/*  LOG_SIL  */
+
+
+/*
+ *  8ãããåä½ã®èª­åºã
+ */
+#define mpc860_reb_mem(mem)	mpc860_reb_mem_deb(#mem, mem)
+
+Inline VB
+mpc860_reb_mem_deb(char *str, VB *mem)
+{
+	BOOL sil_debug_tmp, is_end_of_line;
+	SYSUTIM sysutim;
+	VB reg;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	reg = sil_reb_mem((VP)mem);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		is_end_of_line = (reg == '\n') || (reg == '\r');
+		if (!is_end_of_line) {
+			syslog(LOG_SIL, 
+			"%d time:%08d read VB %s(0x%08x) data=0x%02x(%c)",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UB)reg, (UW)(UB)reg);
+		} else {
+			syslog(LOG_SIL, 
+			"%d time:%08d read VB %s(0x%08x) data=0x%02x(%s)",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UB)reg, 
+			(reg == '\n') ? "\\n" : "\\r");
+		}
+	}
+	
+	return(reg);
+}
+
+
+/*
+ *  8ãããåä½ã®æ¸ãè¾¼ã¿
+ */
+#define mpc860_wrb_mem(mem, data)	mpc860_wrb_mem_deb(#mem, mem, data)
+
+Inline void
+mpc860_wrb_mem_deb(char *str, VB *mem, VB data)
+{
+	BOOL sil_debug_tmp, is_end_of_line;
+	SYSUTIM sysutim;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	sil_wrb_mem((VP)mem, data);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		is_end_of_line = (data == '\n') || (data == '\r');
+		if (!is_end_of_line) {
+			syslog(LOG_SIL, 
+			"%d time:%08d write VB %s(0x%08x) data=0x%02x(%c)",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UB)data, (UW)(UB)data);
+		} else {
+			syslog(LOG_SIL, 
+			"%d time:%08d write VB %s(0x%08x) data=0x%02x(%s)",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UB)data, 
+			(data == '\n') ? "\\n" : "\\r");
+		}
+	}
+}
+
+/*
+ *  16ãããåä½ã®èª­åºã
+ */
+#define mpc860_reh_mem(mem)	mpc860_reh_mem_deb(#mem, mem)
+
+Inline VH
+mpc860_reh_mem_deb(char *str, VH *mem)
+{
+	BOOL sil_debug_tmp;
+	SYSUTIM sysutim;
+	VH reg;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	reg = sil_reh_mem((VP)mem);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		syslog(LOG_SIL, 
+			"%d time:%08d read VH %s(0x%08x) data=0x%04x",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UH)reg);
+	}
+	
+	return(reg);
+}
+
+/*
+ *  16ãããåä½ã®æ¸ãè¾¼ã¿
+ */
+#define mpc860_wrh_mem(mem, data)	mpc860_wrh_mem_deb(#mem, mem, data)
+
+Inline void
+mpc860_wrh_mem_deb(char *str, VH *mem, VH data)
+{
+	BOOL sil_debug_tmp;
+	SYSUTIM sysutim;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	sil_wrh_mem((VP)mem, data);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		syslog(LOG_SIL, 
+			"%d time:%08d write VH %s(0x%08x) data=0x%04x",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)(UH)data);
+	}
+}
+
+
+/*
+ *  32ãããåä½ã®èª­åºã
+ */
+#define mpc860_rew_mem(mem)	mpc860_rew_mem_deb(#mem, mem)
+
+Inline VW
+mpc860_rew_mem_deb(char *str, VW *mem)
+{
+	BOOL sil_debug_tmp;
+	SYSUTIM sysutim;
+	VW reg;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	reg = sil_rew_mem((VP)mem);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		syslog(LOG_SIL, 
+			"%d time:%08d read VW %s(0x%08x) data=0x%08x",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)reg);
+	}
+	
+	return(reg);
+}
+
+
+/*
+ *  32ãããåä½ã®æ¸ãè¾¼ã¿
+ */
+#define mpc860_wrw_mem(mem, data)	mpc860_wrw_mem_deb(#mem, mem, data)
+
+Inline void
+mpc860_wrw_mem_deb(char *str, VW *mem, VW data)
+{
+	BOOL sil_debug_tmp;
+	SYSUTIM sysutim;
+	ER err;
+	SIL_PRE_LOC;
+	
+	sil_debug_tmp = sil_debug_on;
+	if (sil_debug_on) {
+		SIL_LOC_INT();
+		sil_debug_on = FALSE;
+		++sil_log_id;
+		SIL_UNL_INT();
+		err = vxget_tim(&sysutim);
+		if (err != E_OK) {
+			sysutim = 0;
+		}
+		SIL_LOC_INT();
+	}
+	
+	sil_wrw_mem((VP)mem, data);
+
+	if (sil_debug_tmp) {
+		sil_debug_on = TRUE;
+		SIL_UNL_INT();
+		syslog(LOG_SIL, 
+			"%d time:%08d write VW %s(0x%08x) data=0x%08x",
+			sil_log_id, (UW)sysutim, str, 
+			(UW)mem, (UW)data);
+	}
+}
+
+
+/*
+ *  ãããæ¼ç®
+ */
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+#define mpc860_andb_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s & 0x%02x",	 		\
+			#mem, (UW)(UB)data);			\
+	}							\
+	mpc860_andb_mem_deb(mem, data)
+
+Inline void
+mpc860_andb_mem_deb(VB *mem, VB data)
+{
+	VB reg = mpc860_reb_mem((VP)mem);
+	reg &= data;
+	mpc860_wrb_mem(mem, reg);
+}
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+#define mpc860_orb_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s | 0x%02x",	 		\
+			#mem, (UW)(UB)data);			\
+	}							\
+	mpc860_orb_mem_deb(mem, data)
+
+Inline void
+mpc860_orb_mem_deb(VB *mem, VB data)
+{
+	VB reg = mpc860_reb_mem(mem);
+	reg |= data;
+	mpc860_wrb_mem(mem, reg);
+}
+
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+#define mpc860_andh_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s & 0x%04x",	 		\
+			#mem, (UW)(UH)data);			\
+	}							\
+	mpc860_andh_mem_deb(mem, data)
+
+Inline void
+mpc860_andh_mem_deb(VH *mem, VH data)
+{
+	VH reg = mpc860_reh_mem(mem);
+	reg &= data;
+	mpc860_wrh_mem(mem, reg);
+}
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+#define mpc860_orh_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s | 0x%04x",	 		\
+			#mem, (UW)(UH)data);			\
+	}							\
+	mpc860_orh_mem_deb(mem, data)
+
+Inline void
+mpc860_orh_mem_deb(VH *mem, VH data)
+{
+	VH reg = mpc860_reh_mem(mem);
+	reg |= data;
+	mpc860_wrh_mem(mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+#define mpc860_andw_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s & 0x%08x",	 		\
+			#mem, (UW)data);			\
+	}							\
+	mpc860_andw_mem_deb(mem, data)
+
+Inline void
+mpc860_andw_mem_deb(VW *mem, VW data)
+{
+	VW reg = mpc860_rew_mem(mem);
+	reg &= data;
+	mpc860_wrw_mem(mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+#define mpc860_orw_mem(mem, data)				\
+	if (sil_debug_on) {					\
+		syslog(LOG_SIL, "%s | 0x%08x",	 		\
+			#mem, (UW)data);			\
+	}							\
+	mpc860_orw_mem_deb(mem, data)
+
+Inline void
+mpc860_orw_mem_deb(VW *mem, VW data)
+{
+	VW reg = mpc860_rew_mem(mem);
+	reg |= data;
+	mpc860_wrw_mem(mem, reg);
+}
+
+
+#endif	/*  SIL_DEBUG  */
+
+/*
+ *  CPã³ãã³ããçºè¡å¯è½ã«ãªãã¾ã§å¾
+ã¤
+ */
+Inline void
+mpc860_wait_ready_CP_command(void)
+{
+	UH cpcr;
+    	do {
+		cpcr = mpc860_reh_mem(CPCR);
+    	} while(cpcr & CPCR_FLG); 
+}	
+
+
+/*
+ *  CPã³ãã³ããçºè¡ãã
+ *	å¼æ°
+ *	ãUW opcodeï¼ã³ãã³ãç¨®å¥
+ *	ãUW ch_numï¼ãã£ãã«çªå·ï¼ããã¤ã¹çªå·ï¼
+ */
+Inline void
+mpc860_CP_command(UW opcode, UW ch_num)
+{
+	UH cpcr;
+	
+	/*  ä»ã®CPã³ãã³ãçµäºå¾
+ã¡  */
+	mpc860_wait_ready_CP_command();
+	
+	/*  CPã³ãã³ãçºè¡  */
+	cpcr = (UH)((opcode << 8) | (ch_num << 4) | CPCR_FLG);
+    	mpc860_wrh_mem(CPCR, cpcr);
+
+	/*  CPã³ãã³ãçµäºå¾
+ã¡  */
+	mpc860_wait_ready_CP_command();
+    	
+}
+
+
+
+#endif /* _MACRO_ONLY */
+#endif	/*  _MPC860_SIL_H_  */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.c	(revision 26)
@@ -0,0 +1,718 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpc860_smc.c,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *   MPC860å
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³ãã³ã³ãã­ã¼ã©SMC1ç¨ ç°¡æãã©ã¤ã
+ *ãããã
+ *ããããSMC1ã®ã¿ããµãã¼ããã¦ãã
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ *ãããããã
+ *ããããããã»ã¯ã­ãã¯å¨æ³¢æ°ä¾å­ã«ã¤ãã¦
+ *ããããããããã»ããã¤ã¹ä¾å­ã®ãã©ã¡ã¼ã¿ã¯mpc860_smc.cå
+ã§ç¨æããã
+ *ããããããããã»å¤§å
+ã®ã¯ã­ãã¯å¨æ³¢æ°ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³ã¨ãã¦ä¸ãã
+ */
+
+#include <s_services.h>
+#include <mpc860_smc.h>
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®å®ç¾©
+ */
+
+/*  SMCã¢ã¼ãã¬ã¸ã¹ã¿  */
+#define SMCMR1          (VH *)(IMMR_BASE + 0xa82)
+#define SMCMR_SM_UART   BIT10_16    /*  SMCã¢ã¼ãï¼UART  */
+#define SMCMR_TEN       BIT14_16    /*  SMCéä¿¡ã¤ãã¼ãã«  */
+#define SMCMR_REN       BIT15_16    /*  SMCåä¿¡ã¤ãã¼ãã«  */
+
+
+/*
+ *  30.2.3 ãã©ã¡ã¼ã¿RAM
+ */
+/*  ãããã¡ã»ãã£ã¹ã¯ãªãã¿BDã®å
+é ­ã¢ãã¬ã¹  */
+#define BD1_BASE    (IMMR_BASE + 0x3e80)
+#define RBASE1      (VH *)BD1_BASE          /*  RxBDãã¼ã¹ã¢ãã¬ã¹  */
+#define TBASE1      (VH *)(BD1_BASE+2)      /*  TxBDãã¼ã¹ã¢ãã¬ã¹  */
+#define RFCR1       (VB *)(BD1_BASE+4)      /*  åä¿¡ãã¡ã³ã¯ã·ã§ã³ã³ã¼ã  */
+					    /*  ãã¤ãé ï¼åä¿¡ï¼  */
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	    /* ããã°ã¨ã³ãã£ã¢ã³ */
+#define RFCR_BO     0x10
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG */    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+#define RFCR_BO	    0x08
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+
+#define TFCR1       (VB *)(BD1_BASE+5)      /*  éä¿¡ãã¡ã³ã¯ã·ã§ã³ã³ã¼ã  */
+					    /*  ãã¤ãé ï¼éä¿¡ï¼  */
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	    /* ããã°ã¨ã³ãã£ã¢ã³ */
+#define TFCR_BO     0x10
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG */    /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+#define TFCR_BO	    0x08
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+
+/*
+ *  30.3.2 UARTã®å ´åã®ãã©ã¡ã¼ã¿RAM
+ */
+#define MRBLR1      (VH *)(BD1_BASE+6)      /*  æå¤§åä¿¡ãããã¡é·  */
+#define RBPTR1      (VH *)(BD1_BASE+0x10)   /*  RxBDãã¤ã³ã¿  */
+#define TBPTR1      (VH *)(BD1_BASE+0x20)   /*  TxBDãã¤ã³ã¿  */
+                                            /*  æå¤§ã¢ã¤ãã«ã­ã£ã©ã¯ã¿æ°  */
+#define MAX_IDL1    (VH *)(BD1_BASE+0x28)
+#define IDLC1       (VH *)(BD1_BASE+0x2a)   /*  ä¸æã¢ã¤ãã«ã»ã«ã¦ã³ã¿  */
+#define BRKLN1      (VH *)(BD1_BASE+0x2c)   /*  æçµåä¿¡ãã¬ã¼ã¯é·  */
+                                            /*  åä¿¡ãã¬ã¼ã¯æ¡ä»¶ã«ã¦ã³ã¿  */
+#define BRKEC1      (VH *)(BD1_BASE+0x2e)
+                                    /*  ãã¬ã¼ã¯ã«ã¦ã³ãã¬ã¸ã¹ã¿ï¼éä¿¡ï¼  */
+#define BRKCR1      (VH *)(BD1_BASE+0x30)
+#define R_MASK1     (VH *)(BD1_BASE+0x32)   /*  ä¸æãããã»ãã¹ã¯  */
+
+
+/*
+ *  ãã¥ã¢ã«ãã¼ãã»ã¡ã¢ãªä¸ã«ç¢ºä¿ããé å
+ */
+
+/*
+ *  ãããã¡ã»ãã£ã¹ã¯ãªãã¿BDã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define RxBD_BASE_ADDRESS   0x0     /*  RxBDãã¼ã¹ã¢ãã¬ã¹  */
+#define TxBD_BASE_ADDRESS   0x8     /*  TxBDãã¼ã¹ã¢ãã¬ã¹  */
+
+/*  30.3.10 åä¿¡ç¨ãããã¡ãã£ã¹ã¯ãªãã¿RxBD  */
+#define RxBD        (DUAL_PORT_RAM + RxBD_BASE_ADDRESS)
+#define RxBD_STATUS (VH *)RxBD     	/*  ã¹ãã¼ã¿ã¹ã¨å¶å¾¡  */
+#define RxBD_LENGTH (VH *)(RxBD+2) 	/*  ãã¼ã¿é·  */
+#define RxBD_BUFFP  (VW *)(RxBD+4) 	/*  åä¿¡ãããã¡ãã¤ã³ã¿  */
+
+/*  30.3.11 éä¿¡ç¨ãããã¡ãã£ã¹ã¯ãªãã¿TxBD  */
+#define TxBD        (DUAL_PORT_RAM + TxBD_BASE_ADDRESS)
+#define TxBD_STATUS (VH *)TxBD     	/*  ã¹ãã¼ã¿ã¹ã¨å¶å¾¡  */
+#define TxBD_LENGTH (VH *)(TxBD+2) 	/*  ãã¼ã¿é·  */
+#define TxBD_BUFFP  (VW *)(TxBD+4) 	/*  éä¿¡ãããã¡ãã¤ã³ã¿  */
+
+/*  åä¿¡ç¨ãããã¡ãã£ã¹ã¯ãªãã¿RxBD  */
+/*  ããã¹ãã¼ã¿ã¹ã¨å¶å¾¡ããã£ã¼ã«ãã®å®æ°  */
+#define RxBD_STATUS_E       BIT0_16     /*  ç©ºç½  */
+#define RxBD_STATUS_W       BIT2_16     /*  ã©ãã  */
+#define RxBD_STATUS_I       BIT3_16     /*  å²è¾¼ã¿  */
+#define RxBD_STATUS_CM      BIT6_16     /*  ç¶ç¶ã¢ã¼ã  */
+#define RxBD_STATUS_ID      BIT7_16     /*  ã¢ã¤ãã«åä¿¡  */
+#define RxBD_STATUS_BR      BIT10_16    /*  ãã¬ã¼ã¯åä¿¡  */
+#define RxBD_STATUS_FR      BIT11_16    /*  ãã¬ã¼ãã³ã°ã»ã¨ã©ã¼  */
+#define RxBD_STATUS_PR      BIT12_16    /*  ããªãã£ã»ã¨ã©ã¼  */
+#define RxBD_STATUS_OV      BIT14_16    /*  ãªã¼ãã¼ã©ã³  */
+
+/* éä¿¡ç¨ãããã¡ãã£ã¹ã¯ãªãã¿TxBD  */
+/*  ããã¹ãã¼ã¿ã¹ã¨å¶å¾¡ããã£ã¼ã«ãã®å®æ°  */
+#define TxBD_STATUS_R       BIT0_16     /*  ã¬ãã£  */
+#define TxBD_STATUS_W       BIT2_16     /*  ã©ãã  */
+#define TxBD_STATUS_I       BIT3_16     /*  å²è¾¼ã¿  */
+#define TxBD_STATUS_CM      BIT6_16     /*  ç¶ç¶ã¢ã¼ã  */
+#define TxBD_STATUS_P       BIT7_16     /*  ããªã¢ã³ãã«  */
+
+/*  30.3.12 SMC UARTã¤ãã³ãã¬ã¸ã¹ã¿  */
+#define SMCE1           (VB *)(IMMR_BASE + 0xa86)
+#define SMCE_BRKE       BIT1_8      /*  ãã¬ã¼ã¯æçµ  */
+#define SMCE_BRK        BIT3_8      /*  ãã¬ã¼ã¯ã­ã£ã©ã¯ã¿åä¿¡  */
+#define SMCE_BSY        BIT5_8      /*  ãã¸ã¼æ¡ä»¶  */
+#define SMCE_TX         BIT6_8      /*  éä¿¡ãããã¡  */
+#define SMCE_RX         BIT7_8      /*  åä¿¡ãããã¡  */
+
+/*  SMC UARTãã¹ã¯ã¬ã¸ã¹ã¿  */
+#define SMCM1           (VB *)(IMMR_BASE + 0xa8a)
+#define SMCM_BRKE       BIT1_8      /*  ãã¬ã¼ã¯æçµ  */
+#define SMCM_BRK        BIT3_8      /*  ãã¬ã¼ã¯ã­ã£ã©ã¯ã¿åä¿¡  */
+#define SMCM_BSY        BIT5_8      /*  ãã¸ã¼æ¡ä»¶  */
+#define SMCM_TX         BIT6_8      /*  éä¿¡ãããã¡  */
+#define SMCM_RX         BIT7_8      /*  åä¿¡ãããã¡  */
+
+#define PIC_BUFFER_SIZE     1      		/*  ãããã¡ãµã¤ãº  */
+
+volatile static UB Rx_buffer[PIC_BUFFER_SIZE];	/*  åä¿¡ãããã¡  */
+volatile static UB Tx_buffer[PIC_BUFFER_SIZE];	/*  éä¿¡ãããã¡  */
+
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®ç¨å®æ°
+ *  
+ *  ãéåæã®å ´åã¯Ã16ã¯ã­ãã¯ãç¨ããã®ã§16ã§å²ã£ã¦ãã
+ *  ï¼ã¦ã¼ã¶ã¼ã®è¨­å®ã§16åå¨ãã¦ããããã§ã¯ãªãï¼
+ *  
+ */
+#define MHZ		1000000
+
+#define BRGC1_CD_VAL		\
+	(((SYSTEM_CLOCK * MHZ * 10 + 10) / (16 * BAUD_RATE * 10)) - 1) 
+
+/*  BRGC1ã¬ã¸ã¹ã¿ã®CDãã£ã¼ã«ãã¯20ãããã«å¶éããã¦ãã  */
+#if (BRGC1_CD_VAL & ~0xfffff) != 0
+ãããã§ã³ã³ãã¤ã«ã¨ã©ã¼
+#endif
+
+
+/*
+ *  åå¨æ¯ã¨ãããã¬ã¼ãã®è¨­å®
+ *
+ */
+
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=9600bpsã®å ´å
+ *  ãt = 1 / BPS = 104,167 = 105,000[nsec]
+ */
+#define SMC_1BIT_TIME 	105000
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæå¤ç¨ã®ãã¼ã¿ãå«ãã
+ */
+struct sio_port_control_block {
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ *  ããID = 1 ãSMC1ã«å¯¾å¿ããã¦ããï¼
+ */
+static SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+#define	CODE_LF		0x0a		/*  æ¹è¡ã³ã¼ã  */
+
+/*  ã­ã£ã©ã¯ã¿éä¿¡å¾ã®å¾
+ã¡æé  */
+#ifdef DOWNLOAD_TO_RAM      /*  ãããã°ç¨  */
+
+#define	DELAY_CH	      0		/*  éå¸¸ã®ã­ã£ã©ã¯ã¿  */
+#define	DELAY_LF	5000000		/*  æ¹è¡ã³ã¼ã  */
+
+#else /* DOWNLOAD_TO_RAM */ /*  ROMå  */
+
+#define	DELAY_CH	4000000		/*  éå¸¸ã®ã­ã£ã©ã¯ã¿  */
+#define	DELAY_LF	1000000		/*  æ¹è¡ã³ã¼ã  */
+
+#endif /* DOWNLOAD_TO_RAM */
+
+
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+smc_getready(SIOPCB *siopcb)
+{
+	VH status;
+	
+	status = mpc860_reh_mem(RxBD_STATUS);
+	return(!(status & RxBD_STATUS_E));
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+smc_putready(SIOPCB *siopcb)
+{
+	VH status;
+
+	status = mpc860_reh_mem(TxBD_STATUS);
+	return(!(status & TxBD_STATUS_R));
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+smc_getchar(SIOPCB *siopcb)
+{
+	char c;
+	SIL_PRE_LOC;
+	
+	SIL_LOC_INT();		/*  å²è¾¼ã¿ç¦æ­¢  */
+    	c = Rx_buffer[0];
+    	
+    	/*  æ³¨æï¼åä¿¡ãããã¡ãµã¤ãºãï¼ã®å ´åã®ã¿æå¹  */
+    	mpc860_orh_mem(RxBD_STATUS, RxBD_STATUS_E);
+    	SIL_UNL_INT();		/*  å²è¾¼ã¿è¨±å¯  */
+    	return(c);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+smc_putchar(SIOPCB *siopcb, char c)
+{
+	SIL_PRE_LOC;
+
+	SIL_LOC_INT();		/*  å²è¾¼ã¿ç¦æ­¢  */
+    	Tx_buffer[0] = c;
+    	
+    	/*  æ³¨æï¼éä¿¡ãããã¡ãµã¤ãºãï¼ã®å ´åã®ã¿æå¹  */
+    	mpc860_orh_mem(TxBD_STATUS, TxBD_STATUS_R);
+    	
+    	SIL_UNL_INT();		/*  å²è¾¼ã¿è¨±å¯  */
+
+	/*
+	 *  æå­åããé²ããããå¾
+ã¡æéãå
+¥ãã
+	 */
+	sil_dly_nse(DELAY_CH);
+
+    	/*  æ¹è¡ã³ã¼ãã®å ´å  */
+    	if (c == CODE_LF) {
+		sil_dly_nse(DELAY_LF);
+	}
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+smc_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+	}
+}
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+smc_openflag(void)
+{
+	return(siopcb_table[0].openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+smc_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb;
+
+	siopcb = get_siopcb(siopid);
+	     					/*  éåä¿¡åæ­¢  */
+	mpc860_andh_mem(SMCMR1, ~(SMCMR_TEN | SMCMR_REN));
+
+	/*
+	 *  ãã³ã»ã¢ãµã¤ã³
+	 *  ãããã¼ãBã®è¨­å®
+	 *ãããããBP25ãã³ï¼SMTXD1
+	 *ãããããBP24ãã³ï¼SMRXD1
+	 */
+         				/*  å°ç¨ããªãã§ã©ã«æ©è½é¸æ  */
+     	mpc860_orw_mem(PBPAR, (PBPAR_DD24 | PBPAR_DD25));
+        				/*  ããªãã§ã©ã«æ©è½0é¸æ  */
+     	mpc860_andw_mem(PBDIR, ~(PBDIR_DR24 | PBDIR_DR25));
+        				/*  ã¢ã¯ãã£ãã«ãã©ã¤ã  */
+     	mpc860_andw_mem(PBODR, ~(PBODR_OD24 | PBODR_OD25));
+
+    	/*
+    	 *  VCOUTããBRGCLKã¸ã®åå¨ä¿æ°è¨­å®
+    	 *      SCCR.DFBRG=00ï¼åå¨æ¯ï¼
+    	 */
+    	unlock_sccr();          		/*  SCCRã¢ã³ã­ãã¯  */
+    	mpc860_andw_mem(SCCR, ~SCCR_DFBRG);    	/*  åå¨æ¯è¨­å®  */
+    	lock_sccr();            		/*  SCCRã­ãã¯  */
+
+    	/*
+    	 *  ãã¼ã¬ã¼ãè¨­å®ï¼BRG1ï¼
+    	 *  ããEN=1ï¼BRGã«ã¦ã³ãã¤ãã¼ãã«
+    	 *  ããEXTC=00ï¼ã¯ã­ãã¯ã½ã¼ã¹ã«BRGCLKãé¸æ
+    	 *  ããATB=0ï¼ãªã¼ããã¼æ©è½ãã£ã»ã¼ãã«
+    	 *  ããCDï¼åå¨æ¯
+    	 *  ããDIV16ï¼16åå¨ãããå¦ã
+    	 */
+    	mpc860_wrw_mem(BRGC1, BRGC1_EN | (BRGC1_CD_VAL<<1));
+    
+    	/*
+    	 *  BRG1ã¨SMC1ã®æ¥ç¶
+    	 *  ããSMC1=0ï¼NMSIã¢ã¼ãï¼å¤éåããªãï¼
+    	 *  ããSMC1CS=000ï¼ã¯ã­ãã¯ã½ã¼ã¹BRG1
+    	 */
+    	mpc860_andw_mem(SIMODE, ~(SIMODE_SMC1 | SIMODE_SMC1CS));
+    
+    	/*ãã¯ã­ãã¯ãå®å®ããã¾ã§å¾
+ã¤ */
+    	sil_dly_nse(SMC_1BIT_TIME);
+
+    	/*
+    	 *  ãããã¡ã»ãã£ã¹ã¯ãªãã¿BDã®è¨­å®
+    	 */
+    					/*  RxBDãã¼ã¹ã¢ãã¬ã¹  */
+    	mpc860_wrh_mem(RBASE1, RxBD_BASE_ADDRESS);
+         				/*  TxBDãã¼ã¹ã¢ãã¬ã¹  */
+    	mpc860_wrh_mem(TBASE1, TxBD_BASE_ADDRESS);
+
+    	/*
+    	 *  éä¿¡ãã­ã»ããµCPã«INIT RX AND TX PARAMETERSã³ãã³ããçºè¡
+    	 */
+    	mpc860_CP_command(CPCR_INIT_RX_TX_PARAMETERS, CPCR_CH_NUM_SMC1);
+    
+    	/*  SDMAã®Uãã¹èª¿ååªå
+åº¦ãè¨­å®  */
+    	mpc860_wrw_mem(SDCR, SDCR_RAID_RB5);   /*  åªå
+åº¦5ï¼éå¸¸å¦ç  */
+
+    	/*  ãããã¡ã»ãã£ã¹ã¯ãªãã¿BDã®ã¨ã³ãã£ã¢ã³è¨­å®  */
+    	mpc860_wrb_mem(RFCR1, RFCR_BO);		/*  åä¿¡  */
+    	mpc860_wrb_mem(TFCR1, TFCR_BO);		/*  éä¿¡  */
+    	    			/*  æå¤§åä¿¡ãããã¡é·  */
+    	mpc860_wrh_mem(MRBLR1, PIC_BUFFER_SIZE);
+       		/*  ã¢ã¤ãã«ã­ã£ã©ã¯ã¿æ°æ¤åºæ©è½ãã£ã»ã¼ãã«  */
+    	mpc860_wrh_mem(MAX_IDL1, 0);
+    
+    	/*  åä¿¡ãã¬ã¼ã¯ã«é¢ããè¨­å®ã¯å¿
+è¦ãªãã®ã§ã¯ãªã¢  */
+    	mpc860_wrh_mem(BRKLN1, 0);
+    	mpc860_wrh_mem(BRKEC1, 0);
+    
+    	/*  STOP TRANSMITã³ãã³ãã§éä¿¡ããããã¬ã¼ã¯ã­ã£ã©ã¯ã¿ã®æ°ãè¨­å®  */
+    	mpc860_wrh_mem(BRKCR1, 1);
+
+    	/*  åä¿¡ãããã¡ã»ãã£ã¹ã¯ãªãã¿RxBDã®åæå  */
+    	mpc860_wrh_mem(RxBD_STATUS,
+                 RxBD_STATUS_E | RxBD_STATUS_W | RxBD_STATUS_I);
+                /*  Eãã©ã°ã»ãã  */
+                /*  W=1ï¼ãã¼ãã«å
+ã®æçµBD  */
+                /*  I=1ï¼åä¿¡å²è¾¼ã¿çºç  */
+
+    	mpc860_wrh_mem(RxBD_LENGTH, PIC_BUFFER_SIZE);  /*  ãã¼ã¿é·  */
+       					/*  åä¿¡ãããã¡ãã¤ã³ã¿  */
+    	mpc860_wrw_mem(RxBD_BUFFP, (VW)Rx_buffer);
+
+    	/*  éä¿¡ãããã¡ã»ãã£ã¹ã¯ãªãã¿TxBDã®åæå  */
+    	mpc860_wrh_mem(TxBD_STATUS,
+    		TxBD_STATUS_R | TxBD_STATUS_W | TxBD_STATUS_I);
+                /*  Rãã©ã°ã»ãã  */
+                /*  W=1ï¼ãã¼ãã«å
+ã®æçµBD  */
+                /*  I=1ï¼éä¿¡å²è¾¼ã¿çºç  */
+
+    	mpc860_wrh_mem(TxBD_LENGTH, PIC_BUFFER_SIZE);  /*  ãã¼ã¿é·  */
+    					/*  éä¿¡ãããã¡ãã¤ã³ã¿  */
+    	mpc860_wrw_mem(TxBD_BUFFP, (VW)Tx_buffer);
+    
+    	/*  ä»¥åã®ã¤ãã³ããã¯ãªã¢  */
+    	mpc860_wrb_mem(SMCE1,
+    		SMCE_BRKE | SMCE_BRK | SMCE_BSY | SMCE_TX | SMCE_RX);
+
+    	/*  ãã¹ã¦ã®UARTå²è¾¼ã¿ãè¨±å¯  */
+    	mpc860_wrb_mem(SMCM1,
+     		SMCM_BRKE | SMCM_BRK | SMCM_BSY | SMCM_TX | SMCM_RX);
+    
+    	/*  SMCã¢ã¼ãè¨­å®  */
+    	mpc860_wrh_mem(SMCMR1, (VH)((0x9<<11) | SMCMR_SM_UART));
+        	/*  
+        	 *  CLEN=9ï¼ã­ã£ã©ã¯ã¿é·
+        	 *  SL=0ï¼1ã¹ãããããã
+        	 *  PEN=0ï¼ããªãã£ãªã
+        	 *  SM=10ï¼SMCã¢ã¼ã UART
+        	 *  DM=00ï¼è¨ºæ­ã¢ã¼ã éå¸¸åä½
+        	 *  TEN=0ï¼SMCéä¿¡ãã£ã»ã¼ãã«
+        	 *  REN=0ï¼SMCåä¿¡ãã£ã»ã¼ãã«
+        	 *   ãã®æç¹ã§ã¯ã¾ã ãéä¿¡ãåä¿¡ãã¤ãã¼ãã«ã§ã¯ãªã
+        	 */
+    
+    	mpc860_orh_mem(SMCMR1, (SMCMR_TEN | SMCMR_REN));
+        	/*  
+        	 *  ä¸è¨ã«å ãã¦
+        	 *  ãTEN=1ï¼SMCéä¿¡ã¤ãã¼ãã«
+        	 *  ãREN=1ï¼SMCåä¿¡ã¤ãã¼ãã«
+        	 */
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+smc_cls_por(SIOPCB *siopcb)
+{
+         					/*  éåä¿¡åæ­¢  */
+	mpc860_andh_mem(SMCMR1, ~(SMCMR_TEN | SMCMR_REN));
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+smc_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (smc_putready(siopcb)) {
+		smc_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+smc_rcv_chr(SIOPCB *siopcb)
+{
+	if (smc_getready(siopcb)) {
+		return((INT)(UB) smc_getchar(siopcb));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+smc_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	SIL_PRE_LOC;
+	
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		SIL_LOC_INT();
+		mpc860_orh_mem(SMCMR1, SMCMR_TEN);
+		SIL_UNL_INT();
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		SIL_LOC_INT();
+		mpc860_orh_mem(SMCMR1, SMCMR_REN);
+		SIL_UNL_INT();
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+smc_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	SIL_PRE_LOC;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		SIL_LOC_INT();
+		mpc860_andh_mem(SMCMR1, ~SMCMR_TEN);
+		SIL_UNL_INT();
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		SIL_LOC_INT();
+		mpc860_andh_mem(SMCMR1, ~SMCMR_REN);
+		SIL_UNL_INT();
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+smc_isr_siop_out(SIOPCB *siopcb)
+{
+	/*  SMCE1ã§ã®å²è¾¼ã¿è¦å ã®ãã§ãã¯ã¯æ¸ãã§ãã  */
+	
+	if (smc_putready(siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		smc_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+smc_isr_siop_in(SIOPCB *siopcb)
+{
+	/*  SMCE1ã§ã®å²è¾¼ã¿è¦å ã®ãã§ãã¯ã¯æ¸ãã§ãã  */
+
+	if (smc_getready(siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		smc_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  SILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½
+ */
+#ifdef SIL_DEBUG
+#define ENTER_SMC_ISR						\
+	if (sil_debug_on) {					\
+		syslog(LOG_EMERG, "Enter selial interrupt.");	\
+	}
+
+#else /* SIL_DEBUG */
+
+#define ENTER_SMC_ISR
+
+#endif /* SIL_DEBUG */
+
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãéåä¿¡å
+±é
+ *  
+ */
+void
+smc_isr()
+{
+    	UB smce1, smcm1, event;
+    	SIL_PRE_LOC;
+
+	ENTER_SMC_ISR
+	
+    	if (!siopcb_table[0].openflag) goto exit_label;
+    
+    	smce1 = mpc860_reb_mem(SMCE1);
+    	smcm1 = mpc860_reb_mem(SMCM1);
+    	event = smce1 & smcm1;
+    	
+    	if (event & (SMCE_BRKE | SMCE_BRK | SMCE_BSY)) {
+    		/*  ã¨ã©ã¼å¦çï¼æªå®æ  */
+    		goto exit_label;
+    	}
+    	
+    	if (event & SMCE_RX) {         /*  åä¿¡å²è¾¼ã¿  */
+	        	/*  1ãã»ãããããã¨ã«ãããã¤ãã³ããã¯ãªã¢  */
+        	mpc860_wrb_mem(SMCE1, SMCE_RX);
+        	smc_isr_siop_in(&siopcb_table[0]);
+    	}
+    	if (event & SMCE_TX) {         /*  éä¿¡å²è¾¼ã¿  */
+	        	/*  1ãã»ãããããã¨ã«ãããã¤ãã³ããã¯ãªã¢  */
+        	mpc860_wrb_mem(SMCE1, SMCE_TX);
+        	smc_isr_siop_out(&siopcb_table[0]);
+    	}
+
+exit_label:
+    	/*
+    	 * ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+    	 *  ããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+    	 *  ããï¼sys_config.hã§å®ç¾©ï¼
+    	 */
+    	SIL_LOC_INT();
+	CLEAR_IRQ_TO_ICU(SMC1);	
+    	SIL_UNL_INT();
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+smc_putc_pol(char c)
+{
+	BOOL is_ten_ok;
+	VH smcmr;
+	if (smc_openflag()) {	/*  åæåããã¦ããããã§ãã¯  */
+		smcmr = mpc860_reh_mem(SMCMR1);
+		is_ten_ok = smcmr & SMCMR_TEN;
+		if (!is_ten_ok) {
+						/*  éä¿¡è¨±å¯  */
+			mpc860_orh_mem(SMCMR1, SMCMR_TEN);
+		}
+				/*  ãããã¡ãç©ºã«ãªãã®ãå¾
+ã¤  */
+		while(!smc_putready(&siopcb_table[0]));	
+		smc_putchar(&siopcb_table[0], c);	/*  1æå­éä¿¡  */
+
+		if (!is_ten_ok) {
+				/*  ãããã¡ãç©ºã«ãªãã®ãå¾
+ã¤  */
+			while(!smc_putready(&siopcb_table[0]));
+				/*  2ã­ã£ã©ã¯ã¿åå¾
+ã¤  */
+			sil_dly_nse(SMC_1BIT_TIME*18*10);	
+						/*  éä¿¡ç¦æ­¢  */
+			mpc860_andh_mem(SMCMR1, ~SMCMR_TEN);
+		}
+	}
+}
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860_smc.h	(revision 26)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpc860_smc.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *   MPC860å
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³ãã³ã³ãã­ã¼ã©SMCç¨ ç°¡æãã©ã¤ã
+ *
+ *ããããsmc.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»smc.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _MPC860_SMC_H_
+#define _MPC860_SMC_H_
+
+#include <mpc860_sil.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	smc_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	smc_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*smc_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	smc_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	smc_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	smc_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	smc_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	smc_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	smc_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	smc_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	smc_ierdy_rcv(VP_INT exinf);
+
+#endif /* _MPC860_SMC_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf.ld	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: mpc860elf.ld,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-powerpc","elf32-powerpc","elf32-powerpc")
+OUTPUT_ARCH(powerpc)
+
+MEMORY
+{
+	ROM(rxai):ORIGIN = 0x10000000, LENGTH =  4M
+	RAM(wxai):ORIGIN = 0x00000000, LENGTH = 16M
+}
+
+PROVIDE (__stack = 0) ;
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(memcpy = _dummy_memcpy);
+SECTIONS
+{
+    .exception_vector 0x10000100 :
+    {
+	*(.exception_vector)
+    } >ROM
+    .init :
+    {
+        KEEP (*(.init))
+    } >ROM
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    } >ROM
+    .fini :
+    {
+        KEEP (*(.fini))
+    } >ROM
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } >ROM
+    . = ALIGN(4) ;
+
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } >RAM
+
+    __isdata_start = . ;
+    .sdata : AT(__idata_start + SIZEOF(.data)) 
+    {
+        __sdata_start = . ;
+        *(.sdata)
+    } >RAM
+
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+/*     __idata_end = __idata_start + SIZEOF(.data) ; */
+    __idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __sbss_start = . ;
+    .sbss :
+    {
+        *(.sbss)
+    } >RAM
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    } >RAM
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf_ram.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf_ram.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860elf_ram.ld	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: mpc860elf_ram.ld,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-powerpc","elf32-powerpc","elf32-powerpc")
+OUTPUT_ARCH(powerpc)
+
+/*
+ *  ç©ççã«ã¯
+ *  ãRAMï¼0x00000000-0x01000000ã16MB
+ *  ãROMï¼0x10000000-0x10400000   4MB
+ *  
+ *  RAMãï¼ã¤ã«åå²ãã¦ãæ¬ä¼¼çã«RAMã¨ROMã¨ãã¦ä½¿ã
+ */
+MEMORY
+{
+	ROM(rxai):ORIGIN = 0x00000000, LENGTH =  8M
+	RAM(wxai):ORIGIN = 0x00800000, LENGTH =  8M
+}
+
+PROVIDE (__stack = 0) ;
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(software_term_hook = 0);
+PROVIDE(memcpy = _dummy_memcpy);
+SECTIONS
+{
+    .exception_vector 0x00000100 :
+    {
+	*(.exception_vector)
+    } >ROM
+    .init :
+    {
+        KEEP (*(.init))
+    } >ROM
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    } >ROM
+    .fini :
+    {
+        KEEP (*(.fini))
+    } >ROM
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } >ROM
+    . = ALIGN(4) ;
+
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } >RAM
+
+    __isdata_start = . ;
+    .sdata : AT(__idata_start + SIZEOF(.data)) 
+    {
+        __sdata_start = . ;
+        *(.sdata)
+    } >RAM
+
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+/*     __idata_end = __idata_start + SIZEOF(.data) ; */
+    __idata_end = __idata_start + SIZEOF(.data) + SIZEOF(.sdata) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __sbss_start = . ;
+    .sbss :
+    {
+        *(.sbss)
+    } >RAM
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    } >RAM
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860t.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860t.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/mpc860t.h	(revision 26)
@@ -0,0 +1,610 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mpc860t.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *  MPC860ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _MPC860_H_
+#define _MPC860_H_
+
+/*
+ *  å²è¾¼ã¿ã®æ¬æ°
+ */
+#define TMAX_SIU_INTNO      16  /*  ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIU  */
+#define TMAX_CPM_INTNO      32  /*  éä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPM  */
+                                /*  MPC860å
+¨ä½  */
+#define TMAX_INTNO          (TMAX_SIU_INTNO+TMAX_CPM_INTNO)
+
+/*
+ *  å²è¾¼ã¿é¢é£ã®å®ç¾©
+ *  ãå²è¾¼ã¿è¦å æ¯ã«3ç¨®é¡ã®å¤ãç®¡çãã¦ãã
+ *  ãï¼ï¼å²è¾¼ã¿çªå·
+ *  ãï¼ï¼SIUã¸ã®å²è¾¼ã¿è¦æ±ã¬ãã«
+ *  ãããå
+é¨ã¬ãã«ã®è¨­å®
+ *  ãããCPMå²è¾¼ã¿ã¯å
+¨ä½ã§ã²ã¨ã¾ã¨ãã®æ±ã
+ *  ãããã(1) No.ï¼0ã7ã®æ°å¤
+ *  ãããããããäººéã«ã¯åããããããããã­ã°ã©ã ä¸­ã§ã¯
+ *  ãããããããç´æ¥ãä½¿ç¨ãããªã
+ *  ãããã(1-2) å²è¾¼ã¿è¦å ã®è­å¥
+ *  ãããããããæ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®ã¤ã³ããã¯ã¹ã¨ãã¦èª­ã¿åºã
+ *  ãããããããã ããªã®ã§ãå³å¤ã¨ãã¦ãã¯ã­å®ç¾©ãã¦ããå¿
+è¦ã¯ãªã
+ *  ãããããããäºã2ãããã·ããããã¦ãã
+ *  ãããã(2) 1ãã¤ãã®ããããã¿ã¼ã³ 
+ *  ãããããããå²è¾¼ã¿è¦æ±ã¬ãã«ãè¨­å®ããéã«ã¬ã¸ã¹ã¿ã«ã»ããããå¤
+ *  ãããããããè©²å½ãã1ãããã ããã»ãããã
+ *  ãï¼ï¼SIUã®IPM
+ *  ããã2ãã¤ãã®ããããã¿ã¼ã³
+ *  ãããCPMå²è¾¼ã¿ã¯å
+¨ä½ã§ã²ã¨ã¾ã¨ãã®æ±ã
+ *  ãããã(1) å²è¾¼ã¿ãã¹ã¯
+ *  ãããããããSIUå²è¾¼ã¿ã¬ã¸ã¹ã¿SIMASKã«è¨­å®ããå¤
+ *  ãããããããèªåããã¬ãã«ã®ä½ãå²è¾¼ã¿è¦æ±ããã¹ã¦ãã¹ã¯ãã
+ *  ãããã(2) ä¿çä¸­ã®å²è¾¼ã¿è¦å 
+ *  ãããããããè©²å½ãããããã ããã»ããããã¦ãã
+ *  
+ *  ãå
+é¨ã¬ãã«2-(1)ããå²è¾¼ã¿çªå·ãå²è¾¼ã¿ã¬ãã«è¨­å®ç¨ããããã¿ã¼ã³ã
+ *  ãIPMãçæããæ¹éã§å®è£
+
+ *  
+ */
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ *      ãã¼ãã¦ã§ã¢ããã¥ã¢ã«ã«ã¯SIUå²è¾¼ã¿ã½ã¼ã¹ã®16ã31çªã¯äºç´æ¸
+ *      ã¿ã¨ããããæ¬ä¼¼ãã¯ã¿ãã¼ãã«ãç¡é§ã«å¤§ãããªãã ããªã®ã§ã
+ *      CPMå²è¾¼ã¿ã½ã¼ã¹ãå²ãå½ã¦ã¦ãã
+ *      
+ *      å²è¾¼ã¿çªå·ã¨åªå
+åº¦ã®é¢ä¿ãSIUå²è¾¼ã¿ã¨CPMå²è¾¼ã¿ï¼ããã©ã«ãï¼
+ *      ã§éãªã®ã§æ³¨æ
+ *      ãSIUå²è¾¼ã¿
+ *      ããå²è¾¼ã¿çªå·ãã0ï¼æä¸ä½
+ *      ããå²è¾¼ã¿çªå·ã 15ï¼æä¸ä½
+ *      ãCPMå²è¾¼ã¿ï¼ããã©ã«ãï¼
+ *      ããå²è¾¼ã¿çªå·ã 0x0ï¼æä¸ä½
+ *      ããå²è¾¼ã¿çªå·ã0x1fï¼æä¸ä½
+ */
+
+    /*  SIUå²è¾¼ã¿ã½ã¼ã¹  */
+#define INTNO_IRQ0      0x0     /*  IRQ0  */
+#define INTNO_LVL0      0x1     /*  å
+é¨ã¬ãã«0  */
+#define INTNO_IRQ1      0x2     /*  IRQ1  */
+#define INTNO_LVL1      0x3     /*  å
+é¨ã¬ãã«1  */
+#define INTNO_IRQ2      0x4     /*  IRQ2  */
+#define INTNO_LVL2      0x5     /*  å
+é¨ã¬ãã«2  */
+#define INTNO_IRQ3      0x6     /*  IRQ3  */
+#define INTNO_LVL3      0x7     /*  å
+é¨ã¬ãã«3  */
+#define INTNO_IRQ4      0x8     /*  IRQ4  */
+#define INTNO_LVL4      0x9     /*  å
+é¨ã¬ãã«4  */
+#define INTNO_IRQ5      0xa     /*  IRQ5  */
+#define INTNO_LVL5      0xb     /*  å
+é¨ã¬ãã«5  */
+#define INTNO_IRQ6      0xc     /*  IRQ6 */
+#define INTNO_LVL6      0xd     /*  å
+é¨ã¬ãã«6  */
+#define INTNO_IRQ7      0xe     /*  IRQ7  */
+#define INTNO_LVL7      0xf     /*  å
+é¨ã¬ãã«7  */
+
+    /*  CPMå²è¾¼ã¿ã½ã¼ã¹  */
+#define INTNO_ERR       0x10    /*  ã¨ã©ã¼ï¼0x0  */
+#define INTNO_PC4       0x11    /*  ãã©ã¬ã«I/O PC4ï¼0x1  */
+#define INTNO_PC5       0x12    /*  ãã©ã¬ã«I/O PC5ï¼0x2  */
+#define INTNO_SMC2      0x13    /*  SMC2/PIPï¼0x3  */
+#define INTNO_SMC1      0x14    /*  SMC1ï¼0x4  */
+#define INTNO_SPI       0x15    /*  SPIï¼0x5  */
+#define INTNO_PC6       0x16    /*  ãã©ã¬ã«I/O PC6ï¼0x6  */
+#define INTNO_TIMER4    0x17    /*  ã¿ã¤ã4ï¼0x7  */
+/*  CPMå²è¾¼ã¿çªå·8ã¯äºç´æ¸ã¿  */
+#define INTNO_PC7       0x19    /*  ãã©ã¬ã«I/O PC7ï¼0x9  */
+#define INTNO_PC8       0x1a    /*  ãã©ã¬ã«I/O PC8ï¼0xa  */
+#define INTNO_PC9       0x1b    /*  ãã©ã¬ã«I/O PC9ï¼0xb  */
+#define INTNO_TIMER3    0x1c    /*  ã¿ã¤ã3ï¼0xc  */
+/*  CPMå²è¾¼ã¿çªå·0xdã¯äºç´æ¸ã¿  */
+#define INTNO_PC10      0x1e    /*  ãã©ã¬ã«I/O PC10ï¼0xe  */
+#define INTNO_PC11      0x1f    /*  ãã©ã¬ã«I/O PC11ï¼0xf  */
+#define INTNO_I2C       0x20    /*  I2Cï¼0x10  */
+#define INTNO_RISC      0x21    /*  RISCã¿ã¤ããã¼ãã«ï¼0x11  */
+#define INTNO_TIMER2    0x22    /*  ã¿ã¤ã2ï¼0x12  */
+/*  CPMå²è¾¼ã¿çªå·0x13ã¯äºç´æ¸ã¿  */
+#define INTNO_IDMA2     0x24    /*  IDMA2ï¼0x14  */
+#define INTNO_IDMA1     0x25    /*  IDMA1ï¼0x15  */
+#define INTNO_SDMA      0x26    /*  SDMAãã£ãã«ãã¹ã¨ã©ã¼ï¼0x16  */
+#define INTNO_PC12      0x27    /*  ãã©ã¬ã«I/O PC12ï¼0x17  */
+#define INTNO_PC13      0x28    /*  ãã©ã¬ã«I/O PC13ï¼0x18  */
+#define INTNO_TIMER1    0x29    /*  ã¿ã¤ã1ï¼0x19  */
+#define INTNO_PC14      0x2a    /*  ãã©ã¬ã«I/O PC14ï¼  */
+#define INTNO_SCC4      0x2b    /*  SCC4ï¼0x1a  */
+#define INTNO_SCC3      0x2c    /*  SCC3ï¼0x1c  */
+#define INTNO_SCC2      0x2d    /*  SCC2ï¼0x1d  */
+#define INTNO_SCC1      0x2e    /*  SCC1ï¼0x1e  */
+#define INTNO_PC15      0x2f    /*  ãã©ã¬ã«I/O PC15ï¼0x1f  */
+
+/*
+ *  SIUã®IPMã®å®ç¾©
+ *    2ãã¤ãã®ããããã¿ã¼ã³
+ *    ãã¼ãã¦ã§ã¢ã®ããã©ã«ãã®åªå
+åº¦ã«åããã¦ãã
+ */
+#define IPM_IRQ0	0x00u			/*  IRQ0  */
+#define IPM_LVL0	BIT0_16			/*  å
+é¨ã¬ãã«0  */
+#define IPM_IRQ1	(IPM_LVL0 | BIT1_16)	/*  IRQ1  */
+#define IPM_LVL1	(IPM_IRQ1 | BIT2_16)	/*  å
+é¨ã¬ãã«1  */
+#define IPM_IRQ2	(IPM_LVL1 | BIT3_16)	/*  IRQ2  */
+#define IPM_LVL2	(IPM_IRQ2 | BIT4_16)	/*  å
+é¨ã¬ãã«2  */
+#define IPM_IRQ3	(IPM_LVL2 | BIT5_16)	/*  IRQ3  */
+#define IPM_LVL3	(IPM_IRQ3 | BIT6_16)	/*  å
+é¨ã¬ãã«3  */
+#define IPM_IRQ4	(IPM_LVL3 | BIT7_16)	/*  IRQ4  */
+#define IPM_LVL4	(IPM_IRQ4 | BIT8_16)	/*  å
+é¨ã¬ãã«4  */
+#define IPM_IRQ5	(IPM_LVL4 | BIT9_16)	/*  IRQ5  */
+#define IPM_LVL5	(IPM_IRQ5 | BIT10_16)	/*  å
+é¨ã¬ãã«5  */
+#define IPM_IRQ6	(IPM_LVL5 | BIT11_16)	/*  IRQ6  */
+#define IPM_LVL6	(IPM_IRQ6 | BIT12_16)	/*  å
+é¨ã¬ãã«6  */
+#define IPM_IRQ7	(IPM_LVL6 | BIT13_16)	/*  IRQ7  */
+#define IPM_LVL7	(IPM_IRQ7 | BIT14_16)	/*  å
+é¨ã¬ãã«7  */
+
+
+/*  å²è¾¼ã¿ã¬ãã«ããå²è¾¼ã¿çªå·ã¸ã®å¤æ  */
+#define _LEVEL_TO_INHNO(level)      INTNO_LVL##level
+#define  LEVEL_TO_INHNO(level)      _LEVEL_TO_INHNO(level)
+
+/*  å²è¾¼ã¿ã¬ãã«ããç»é²ç¨ããããã¿ã¼ã³ã¸ã®å¤æ  */
+#define _LEVEL_TO_BIT_PATTERN(level)      (0x1<<(7-(level)))
+#define  LEVEL_TO_BIT_PATTERN(level)      _LEVEL_TO_BIT_PATTERN(level)
+
+/*  å²è¾¼ã¿ã¬ãã«ããIPMã¸ã®å¤æ  */
+#define _LEVEL_TO_IPM(level)      IPM_LVL##level
+#define  LEVEL_TO_IPM(level)      _LEVEL_TO_IPM(level)
+
+/*  å²è¾¼ã¿ã¬ãã«ããå²è¾¼ã¿è¨±å¯ãããã¸ã®å¤æ  */
+#define _LEVEL_TO_ENABLE_BIT(level)  SIMASK_LVM##level
+#define  LEVEL_TO_ENABLE_BIT(level)  _LEVEL_TO_ENABLE_BIT(level)
+
+
+/*
+ *  CPUã®å
+é¨ã¬ã¸ã¹ã¿
+ */
+
+/*
+ *   8. å½ä»¤ã­ã£ãã·ã¥ã»ãã¼ã¿ã­ã£ãã·ã¥é¢é£ã®å®ç¾©
+ */
+
+/*  å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*  å½ä»¤ã­ã£ãã·ã¥é¢é£ */
+#define IC_CST	560	/*  å¶å¾¡ããã³ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define IC_ADR	561	/*  ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿  */
+#define IC_DAT	562	/*  ãã¼ã¿ã»ãã¼ãã»ã¬ã¸ã¹ã¿  */
+
+/*  ãã¼ã¿ã»ã­ã£ãã·ã¥é¢é£ */
+#define DC_CST	568	/*  å¶å¾¡ããã³ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define DC_ADR	569	/*  ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿  */
+#define DC_DAT	570	/*  ãã¼ã¿ã»ãã¼ãã»ã¬ã¸ã¹ã¿  */
+
+/*
+ *   9. ã¡ã¢ãªç®¡çã¦ãããMMUé¢é£ã®å®ç¾©
+ */
+/*  å¶å¾¡ã¬ã¸ã¹ã¿  */
+#define MI_CTR	784	/*  IMMU å¶å¾¡ã¬ã¸ã¹ã¿  */
+#define MD_CTR	792	/*  DMMU å¶å¾¡ã¬ã¸ã¹ã¿  */
+
+/*  TLBã½ã¼ã¹ã»ã¬ã¸ã¹ã¿  */
+#define MI_EPN	787	/*  IMMU å®å¹ãã¼ã¸çªå·ã¬ã¸ã¹ã¿  */
+#define MD_EPN	795	/*  DMMU å®å¹ãã¼ã¸çªå·ã¬ã¸ã¹ã¿  */
+#define MI_TWC	789	/*  IMMU ãã¼ãã«ã¦ã©ã¼ã¯å¶å¾¡ã¬ã¸ã¹ã¿  */
+#define MD_TWC	797	/*  DMMU ãã¼ãã«ã¦ã©ã¼ã¯å¶å¾¡ã¬ã¸ã¹ã¿  */
+#define MI_RPN	790	/*  IMMU å®ï¼ç©çï¼ãã¼ã¸çªå·ãã¼ã  */
+#define MD_RPN	798	/*  DMMU å®ï¼ç©çï¼ãã¼ã¸çªå·ãã¼ã  */
+
+/*  ãã¼ãã«ã¦ã©ã¼ã¯ã»ãã¼ã¹ã»ã¬ã¸ã¹ã¿  */
+#define M_TWD	796	/*  MMU ãã¼ãã«ã¦ã©ã¼ã¯ã»ãã¼ã¹ã»ã¬ã¸ã¹ã¿  */
+
+/*  ä¿è­·ã¬ã¸ã¹ã¿  */
+#define M_CASID	793	/*  MMU ã«ã¬ã³ãã»ã¢ãã¬ã¹ç©ºéID ã¬ã¸ã¹ã¿  */
+#define MI_AP	786	/*  IMMU ã¢ã¯ã»ã¹ä¿è­·ã¬ã¸ã¹ã¿  */
+#define MD_AP	794	/*  DMMU ã¢ã¯ã»ã¹ä¿è­·ã¬ã¸ã¹ã¿  */
+
+/*  ã¹ã¯ã©ããã»ã¬ã¸ã¹ã¿  */
+#define M_TB	799	/*  MMU ãã¼ãã«ã¦ã©ã¼ã¯ã»ã¹ãã·ã£ã«ã»ã¬ã¸ã¹ã¿  */
+
+/*  ãããã°ã»ã¬ã¸ã¹ã¿  */
+#define MI_CAM	816	/*  IMMU CAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿  */
+#define MI_RAM0	817	/*  IMMU RAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿ 0  */
+#define MI_RAM1	818	/*  IMMU RAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿ 1  */
+#define MD_CAM	824	/*  DMMU CAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿  */
+#define MD_RAM0	825	/*  DMMU RAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿ 0  */
+#define MD_RAM1	826	/*  DMMU RAM ã¨ã³ããªã»ãªã¼ãã»ã¬ã¸ã¹ã¿ 1  */
+
+/*
+ *  11. ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIUé¢é£ã®å®ç¾©
+ */
+
+
+/*
+ *  å
+é¨ã¡ã¢ãªãããã¬ã¸ã¹ã¿
+ *  ããå
+é¨ã¬ã¸ã¹ã¿ç¾¤ã®å
+é ­ã¢ãã¬ã¹
+ *  ãã
+ *  ããããªã»ããç´å¾ã¯0x0000,0000çªå°ãæãã¦ãããSDRAMã¨
+ *  ãããã¶ã¤ããã®ã§ãå¥ã®ã¢ãã¬ã¹ã«å¤ããå¿
+è¦ããã
+ */
+#define IMMR        638                 /*  ã¬ã¸ã¹ã¿çªå·  */
+#define IMMR_UPPER_2BYTE  0xff00              /*  ä¸ä½16ããã  */
+#define IMMR_BASE   (IMMR_UPPER_2BYTE << 16)  /*  ãã¼ã¹ã¢ãã¬ã¹  */  
+
+#define TADR_SIU_SIUMCR  0x0    /* SIUã¢ã¸ã¥ã¼ã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ */
+                                /*                     ã¬ã¸ã¹ã¿SIUMCR  */
+
+/*
+ *  11.5 SIUå²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢é£ã®å®ç¾©
+ */
+#define TADR_SIU_SIPEND 0x10    /* SIUå²è¾¼ã¿ä¿çã¬ã¸ã¹ã¿SIPEND */
+#define TADR_SIU_SIMASK 0x14    /* SIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿SIMASK */
+
+				/*  ä¸ä½2ãã¤ãã®ã¿ä½¿ç¨ãã  */
+#define SIMASK		(VH *)(IMMR_BASE + TADR_SIU_SIMASK)
+#define SIMASK_IRM0	BIT0_16		/*  IRQ0  */
+#define SIMASK_LVM0	BIT1_16		/*  å
+é¨ã¬ãã«0  */
+#define SIMASK_IRM1	BIT2_16		/*  IRQ1  */
+#define SIMASK_LVM1	BIT3_16		/*  å
+é¨ã¬ãã«1  */
+#define SIMASK_IRM2	BIT4_16		/*  IRQ2  */
+#define SIMASK_LVM2	BIT5_16		/*  å
+é¨ã¬ãã«2  */
+#define SIMASK_IRM3	BIT6_16		/*  IRQ3  */
+#define SIMASK_LVM3	BIT7_16		/*  å
+é¨ã¬ãã«3  */
+#define SIMASK_IRM4	BIT8_16		/*  IRQ4  */
+#define SIMASK_LVM4	BIT9_16		/*  å
+é¨ã¬ãã«4  */
+#define SIMASK_IRM5	BIT10_16	/*  IRQ5  */
+#define SIMASK_LVM5	BIT11_16	/*  å
+é¨ã¬ãã«5  */
+#define SIMASK_IRM6	BIT12_16	/*  IRQ6  */
+#define SIMASK_LVM6	BIT13_16	/*  å
+é¨ã¬ãã«6  */
+#define SIMASK_IRM7	BIT14_16	/*  IRQ7  */
+#define SIMASK_LVM7	BIT15_16	/*  å
+é¨ã¬ãã«7  */
+
+#define TADR_SIU_SIEL   0x18    /* SIUå²è¾¼ã¿ã¨ãã¸ï¼ã¬ãã«ã¬ã¸ã¹ã¿SIEL */
+#define TADR_SIU_SIVEC  0x1c    /* SIUå²è¾¼ã¿ãã¯ã¿ã¬ã¸ã¹ã¿SIVEC */
+#define TADR_SIU_TESR   0x20    /* è»¢éã¨ã©ã¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿TESR */
+#define TADR_SIU_SDCR   0x30    /* SDMAã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¬ã¸ã¹ã¿SDCR */
+
+/*
+ *  11.7 ã½ããã¦ã§ã¢ã»ã¦ã©ããããã¯ã¿ã¤ãé¢é£ã®å®ç¾©
+ */
+#define TADR_SIU_SYPCR   0x4    /* ã·ã¹ãã ä¿è­·ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SYPCR */
+#define SYPCR_SWE 	 BIT29_32  /*  ã¤ãã¼ãã«  */
+#define SYPCR_SWRI 	 BIT30_32  /*  ãªã»ããï¼å²è¾¼ã¿é¸æ  */ 
+#define TADR_SIU_SWSR    0xe       /* ã½ããã¦ã§ã¢ãµã¼ãã¹ã¬ã¸ã¹ã¿SWSR */
+#define SWSR_CLEAR1      0x556c    /* ã¯ãªã¢æã«æ¸ãè¾¼ãå®æ°ï¼ */
+#define SWSR_CLEAR2      0xaa39    /* ã¯ãªã¢æã«æ¸ãè¾¼ãå®æ°ï¼ */
+
+/*
+ *  12 ãªã»ããé¢é£ã®å®ç¾©
+ */
+#define TADR_SIU_RSR  0x288  /* ãªã»ããã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿RSR */
+#define TADR_SIU_RSRK 0x388  /* ãªã»ããã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ã»ã­ã¼ */
+#define RSR_EHRS BIT0_32    /* å¤é¨ãã¼ãã»ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+#define RSR_ESRS BIT1_32    /* å¤é¨ã½ããã»ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+#define RSR_LLRS BIT2_32    /* ã­ãã¯è§£é¤ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+#define RSR_SWRS BIT3_32    /* ã½ããã¦ã§ã¢ã»ã¦ã©ããããã¯ã»ãªã»ãã */
+#define RSR_CSRS BIT4_32    /* ãã§ãã¯ã»ã¹ãããã»ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+    		/* ãããã°ã»ãã¼ãã»ãã¼ãã»ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+#define RSR_DBHRS BIT5_32
+    		/* ãããã°ã»ãã¼ãã»ã½ããã»ãªã»ããã»ã¹ãã¼ã¿ã¹ */
+#define RSR_DBSRS BIT6_32
+#define RSR_JTRS BIT4_32    /* JTAGãªã»ããã»ã¹ãã¼ã¿ã¹ */
+
+
+/*
+ *  éä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPMé¢é£
+ */
+
+/*
+ *  35. CPMå²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢é£ã®å®ç¾©
+ */
+#define TADR_CPM_CIVR   0x930   /* CPMå²è¾¼ã¿ãã¯ã¿ã¬ã¸ã¹ã¿CIVR */
+#define TADR_CPM_CICR   0x940   /* CPMå²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ */
+                                /*                   ã¬ã¸ã¹ã¿CICR  */
+#define TADR_CPM_CIPR   0x944   /* CPMå²è¾¼ã¿ä¿çã¬ã¸ã¹ã¿CIPR */
+#define TADR_CPM_CIMR   0x948   /* CPMå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿CIMR */
+#define TADR_CPM_CISR   0x94c   /* CPMå²è¾¼ã¿ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISR */
+
+/* CPMå²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ ã¬ã¸ã¹ã¿CICR */
+#define CICR            (VW *)(IMMR_BASE + TADR_CPM_CICR)
+#define CICR_IEN        BIT24_32
+
+/* CPMå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿CIMR */
+#define CIMR            (VW *)(IMMR_BASE + TADR_CPM_CIMR)
+#define CIMR_PC15       BIT0_32     
+#define CIMR_SCC1       BIT1_32     
+#define CIMR_SCC2       BIT2_32     
+#define CIMR_SCC3       BIT3_32     
+#define CIMR_SCC4       BIT4_32     
+#define CIMR_PC14       BIT5_32     
+#define CIMR_TIMER1     BIT6_32     
+#define CIMR_PC13       BIT7_32     
+#define CIMR_PC12       BIT8_32     
+#define CIMR_SDMA       BIT9_32     
+#define CIMR_IDMA1      BIT10_32        
+#define CIMR_IDMA2      BIT11_32        
+#define CIMR_TIMER2     BIT13_32        
+#define CIMR_RTT        BIT14_32        
+#define CIMR_I2C        BIT15_32        
+#define CIMR_PC11       BIT16_32        
+#define CIMR_PC10       BIT17_32        
+#define CIMR_TIMER3     BIT19_32        
+#define CIMR_PC9        BIT20_32        
+#define CIMR_PC8        BIT21_32        
+#define CIMR_PC7        BIT22_32        
+#define CIMR_TIMER4     BIT24_32        
+#define CIMR_PC6        BIT25_32        
+#define CIMR_SPI        BIT26_32        
+#define CIMR_SMC1       BIT27_32        
+#define CIMR_SMC2       BIT28_32        
+#define CIMR_PC5        BIT29_32        
+#define CIMR_PC4        BIT30_32        
+
+/* CPMå²è¾¼ã¿ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISR */
+#define CISR            (VW *)(IMMR_BASE + TADR_CPM_CISR)
+#define CISR_BIT(device)	_CISR_BIT(device)
+#define _CISR_BIT(device)	CIMR_##device
+
+/*
+ *  CPMå²è¾¼ã¿å¶å¾¡ãããã®å®ç¾©
+ */
+    /*  CPMå²è¾¼ã¿ãã¯ã¿ã¬ã¸ã¹ã¿CIVRã¬ã¸ã¹ã¿ã®IACKããã  */
+#define TA_CPM_CIVR_IACK    0x1 
+
+
+/*
+ *  15. ã¯ã­ãã¯é¸æã¨é»åå¶å¾¡é¢é£ã®ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/*  ã·ã¹ãã ã¯ã­ãã¯ããã³ãªã»ããå¶å¾¡ã¬ã¸ã¹ã¿  */
+#define TADR_SCCR   0x280
+#define SCCR        (VW *)(IMMR_BASE + TADR_SCCR)
+#define TADR_SCCRK  0x380       /*  ã­ã¼ã¬ã¸ã¹ã¿  */
+#define SCCRK       (VW *)(IMMR_BASE + TADR_SCCRK)
+
+#define SCCR_RTDIV  BIT7_32     /*  ãªã¢ã«ã¿ã¤ã ã¯ã­ãã¯åå¨  */
+                                /*  0ï¼4ã§åå¨ã1ï¼512ã§åå¨  */
+#define SCCR_RTSEL  BIT8_32     /*  ãªã¢ã«ã¿ã¤ã ã¯ã­ãã¯é¸æ  */
+                                /*  0ï¼OSCMï¼æ°´æ¶ãªã·ã¬ã¼ã¿ï¼ã1ï¼EXTCLK  */
+#define SCCR_CRQEN  BIT9_32     /*  CPMè¦æ±ã¤ãã¼ãã«  */
+#define SCCR_PRQEN  BIT10_32    /*  ãã¯ã¼ããã¸ã¡ã³ãè¦æ±ã¤ãã¼ãã«  */
+#define SCCR_EBDF   (BIT13_32 | BIT14_32)   /*  å¤é¨ãã¹åå¨ä¿æ°  */
+#define SCCR_DFBRG  (BIT19_32 | BIT20_32)   /*  BRGCLKã®åå¨ä¿æ°  */
+
+/*  SPLL ãä½é»åãããã³ãªã»ããå¶å¾¡ã¬ã¸ã¹ã¿  */
+#define TADR_PLPRCRK    0x384   /*  ã¬ã¸ã¹ã¿ã»ã­ã¼  */
+#define TADR_PLPRCR     0x284   
+#define PLPRCR_TIMIST   BIT19_32    /*  ã¿ã¤ãå²è¾¼ã¿ã¹ãã¼ã¿ã¹  */
+#define PLPRCR_CSRC     BIT21_32    /*  ã¯ã­ãã¯ã½ã¼ã¹  */
+                                    /*  ä½é»åã¢ã¼ã  */
+#define PLPRCR_LPM      (BIT22_32 | BIT23_32)
+#define PLPRCR_LPM10    BIT22_32
+
+
+/*
+ *  16. ã¡ã¢ãªã³ã³ãã­ã¼ã©ã®ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/*  ãã¼ã¹ã¬ã¸ã¹ã¿BRx  */
+#define TADR_BR0    0x100
+#define TADR_BR1    0x108
+#define TADR_BR2    0x110
+#define TADR_BR3    0x118
+#define TADR_BR4    0x120
+#define TADR_BR5    0x128
+#define TADR_BR6    0x130
+#define TADR_BR7    0x138
+
+/*  ãªãã·ã§ã³ã¬ã¸ã¹ã¿ORx  */
+#define TADR_OR0    0x104
+#define TADR_OR1    0x10c
+#define TADR_OR2    0x114
+#define TADR_OR3    0x11c
+#define TADR_OR4    0x124
+#define TADR_OR5    0x12c
+#define TADR_OR6    0x134
+#define TADR_OR7    0x13c
+
+#define TADR_MAMR   0x170   /*  ãã·ã³Aã¢ã¼ãã»ã¬ã¸ã¹ã¿  */
+#define TADR_MBMR   0x174   /*  ãã·ã³Bã¢ã¼ãã»ã¬ã¸ã¹ã¿  */
+#define TADR_MSTAT  0x178   /*  ã¡ã¢ãªã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿MSTAT  */
+
+#define TADR_MCR    0x168   /*  ã¡ã¢ãªã»ã³ãã³ãã»ã¬ã¸ã¹ã¿MCR  */
+#define TADR_MDR    0x17c   /*  ã¡ã¢ãªã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿MDR  */
+#define TADR_MAR    0x164   /*  ã¡ã¢ãªã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿MAR  */
+#define TADR_MPTPR  0x17a   /*  ã¡ã¢ãªå¨æã¿ã¤ãã»ããªã¹ã±ã¼ã©  */
+                            /*  ããããããããããã¬ã¸ã¹ã¿MPTPR  */
+
+/*
+ *  19. éä¿¡ãã­ã»ããµCPé¢é£ã®ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/*  CPã³ãã³ãã¬ã¸ã¹ã¿  */
+#define CPCR        (VH *)(IMMR_BASE + 0x9c0)
+#define CPCR_RST            BIT0_16  /*  ãªã»ããã»ãã©ã°  */
+#define CPCR_FLG            BIT15_16 /*  ã³ãã³ãã»ã»ããã©ã»ãã©ã° */
+#define CPCR_CH_NUM_SMC1    0x9      /*  SMC1ã®ãã£ãã«çªå·  */
+
+/*  CPã³ãã³ãã®ãªãã³ã¼ã  */
+#define CPCR_INIT_RX_TX_PARAMETERS	0x0
+#define CPCR_STOP_TX			0x4
+#define CPCR_RESTART_TX			0x6
+
+
+
+/*  ãã¥ã¢ã«ã»ãã¼ãRAMã®å
+é ­ã¢ãã¬ã¹  */
+#define DUAL_PORT_RAM   (IMMR_BASE + 0x2000)
+
+
+/*
+ *  20. SDMAããã³IDMAã¨ãã¥ã¬ã¼ã·ã§ã³
+ *  ããããSDMAï¼ã·ãªã¢ã«DMA
+ *  ããããIDMAï¼ä»®æ³SDMA
+ */
+
+/*  SDMAã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿  */
+#define SDCR            (VW *)(IMMR_BASE + 0x30)
+	/* RISCã³ã³ãã­ã¼ã©ï¼CPï¼ã®èª¿åID */
+	/* SDMA ã®U ãã¹èª¿ååªå
+åº¦5ï¼éå¸¸å¦ç */
+#define SDCR_RAID_RB5   0x1
+
+/*
+ *  21. ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹SIé¢é£ã®ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/*  SIã¢ã¼ãã»ã¬ã¸ã¹ã¿  */
+#define SIMODE      (VW *)(IMMR_BASE + 0xae0)
+#define SIMODE_SMC1 BIT16_32    /*  SMC1ã®æ¥ç¶  */
+                                /*  ã0:NMSIã¢ã¼ã  */
+                                /*  ã1:å¤éå¦çã¢ã¼ã  */
+
+                                /*  SMC1ã¯ã­ãã¯ã½ã¼ã¹  */
+#define SIMODE_SMC1CS   (BIT17_32 | BIT18_32 | BIT19_32)    
+
+/*  ãã¼ã¬ã¼ãã»ã¸ã§ãã¬ã¼ã¿ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿  */
+#define BRGC1       (VW *)(IMMR_BASE + 0x9f0)
+#define BRGC1_RST   BIT14_32    /*  BRGãªã»ãã  */
+#define BRGC1_EN    BIT15_32    /*  BRGã«ã¦ã³ãã¤ãã¼ãã«  */
+#define BRGC1_EXTC  (BIT16_32 | BIT17_32)   /*  å¤é¨ã¯ã­ãã¯ã½ã¼ã¹  */
+#define BRGC1_ATB   BIT18_32    /*  ãªã¼ããã¼  */
+#define BRGC1_CD    0x1ffe      /*  ã¯ã­ãã¯ã»ããã¤ã  */
+#define BRGC1_DIV16 BIT31_32    /*  16åå¨  */
+
+
+/*
+ *  34. ãã©ã¬ã«I/Oé¢é£ã®ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/*  ãã¼ãBãã³ã»ã¢ãµã¤ã³ã»ã¬ã¸ã¹ã¿  */
+#define TADR_PBPAR  0xabc
+#define PBPAR       (VW *)(IMMR_BASE + TADR_PBPAR)
+#define PBPAR_DD24  BIT24_32    /*  PB24ãã³ï¼å°ç¨ããªãã§ã©ã«æ©è½  */
+#define PBPAR_DD25  BIT25_32    /*  PB25ãã³ï¼å°ç¨ããªãã§ã©ã«æ©è½  */
+#define PBPAR_DD27  BIT27_32    /*  PB27ãã³ï¼å°ç¨ããªãã§ã©ã«æ©è½  */
+
+/*  ãã¼ãBãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿  */
+#define TADR_PBDIR  0xab8
+#define PBDIR       (VW *)(IMMR_BASE + TADR_PBDIR)
+#define PBDIR_DR24  BIT24_32    /*  PB24ãã³ï¼ããªãã§ã©ã«æ©è½1  */
+#define PBDIR_DR25  BIT25_32    /*  PB25ãã³ï¼ããªãã§ã©ã«æ©è½1  */
+#define PBDIR_DR27  BIT27_32    /*  PB25ãã³ï¼ããªãã§ã©ã«æ©è½1  */
+
+/*  ãã¼ãBãªã¼ãã³ã»ãã¬ã¤ã³ã»ã¬ã¸ã¹ã¿  */
+#define TADR_PBODR  0xac0
+#define PBODR       (VW *)(IMMR_BASE + TADR_PBODR)
+#define PBODR_OD24  BIT24_32    /*  PB24ãã³ï¼ãªã¼ãã³ã»ãã¬ã¤ã³ã»ãã©ã¤ã  */
+#define PBODR_OD25  BIT25_32    /*  PB25ãã³ï¼ãªã¼ãã³ã»ãã¬ã¤ã³ã»ãã©ã¤ã  */
+#define PBODR_OD27  BIT27_32    /*  PB25ãã³ï¼ãªã¼ãã³ã»ãã¬ã¤ã³ã»ãã©ã¤ã  */
+
+/*  ãã¼ãBãã¼ã¿ã¬ã¸ã¹ã¿  */
+#define TADR_PBDAT  0xac4
+#define PBDAT_D27   BIT27_32
+
+
+/*  ã¢ã³ã­ãã¯ã®éã«ã­ã¼ã¬ã¸ã¹ã¿ã«æ¸ãè¾¼ãå®æ°  */
+#define UNLOCK_KEY  0x55ccaa33
+
+/*
+ *  å
+é¨ã¬ã¸ã¹ã¿ä¿è­·ã®ã­ãã¯ã¨ã¢ã³ã­ãã¯
+ *
+ *ããã·ãªã¢ã«ãã©ã¤ãã¨ã¿ã¤ããã©ã¤ãã®ä¸¡æ¹ã§ç¨ããããã
+ *ãããã®ãã¡ã¤ã«ã«å
+¥ãã¦ãã
+ */
+
+/*  SCCRã­ãã¯  */
+    	/*  å¤ã¯UNLOCK_KEYä»¥å¤ã§ããã°è¯ã  */
+#define lock_sccr()     mpc860_wrw_mem(SCCRK, 0)
+
+/*  SCCRã¢ã³ã­ãã¯  */
+#define unlock_sccr()	mpc860_wrw_mem(SCCRK, UNLOCK_KEY)
+
+
+#endif /* _MPC860_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/pit.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/pit.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/pit.h	(revision 26)
@@ -0,0 +1,308 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: pit.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *ãããããMPC860Tå
+èµã®å¨æå²è¾¼ã¿ã¿ã¤ãPITãä½¿ç¨
+ */
+
+#ifndef _PIT_H_
+#define _PIT_H_
+
+#include <mpc860_sil.h>
+
+/*
+ *  SIUã®å
+é¨å²è¾¼ã¿ã¬ãã«ï¼ããããã¿ã¼ã³ï¼
+ */
+#define SIU_INT_PIT	LEVEL_TO_BIT_PATTERN(INTLVL_PIT)
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *	ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *   	TIMER_CLOCK=SYSTEM_CLOCK[MHz] / 4
+ */
+#define	TIMER_CLOCK		(SYSTEM_CLOCK * 1000 / 4)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) (TO_CLOCK(TIC_NUME, TIC_DENO) - 1))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffu)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®å®ç¾©
+ */
+
+/*  å¨æå²è¾¼ã¿ã¹ãã¼ã¿ã¹ããã³å¶å¾¡ã¬ã¸ã¹ã¿  */
+#define PISCR       (VH *)(IMMR_BASE + 0x240)
+#define PISCRK      (VW *)(IMMR_BASE + 0x340)  /*  ã­ã¼ã¬ã¸ã¹ã¿  */
+#define PISCR_PIRQ  0xff00      /*  å¨æå²è¾¼ã¿è¦æ±ã¬ãã«ããã  */  
+#define PISCR_PS    BIT8_16     /*  å¨æå²è¾¼ã¿ã¹ãã¼ã¿ã¹  */    
+#define PISCR_PIE   BIT13_16    /*  å¨æå²è¾¼ã¿ã¤ãã¼ãã«  */
+#define PISCR_PITF  BIT14_16    /*  PITããªã¼ãºã»ã¤ãã¼ãã«  */
+#define PISCR_PTE   BIT15_16    /*  å¨æã¿ã¤ãã»ã¤ãã¼ãã«  */
+
+/*  PITã«ã¦ã³ãã¬ã¸ã¹ã¿ï¼ä¸ä½2ãã¤ãã®ã¿ï¼  */
+#define PITC        (VH *)(IMMR_BASE + 0x244)
+#define PITCK       (VW *)(IMMR_BASE + 0x344)  /*  ã­ã¼ã¬ã¸ã¹ã¿  */
+
+/*  PITã¬ã¸ã¹ã¿ï¼ä¸ä½2ãã¤ãã®ã¿ï¼  */
+#define PITR        (VH *)(IMMR_BASE + 0x248)
+
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å
+é¨ã¬ã¸ã¹ã¿ä¿è­·ã®ã­ãã¯ã¨ã¢ã³ã­ãã¯
+ */
+
+/*  PISCRã­ãã¯  */
+Inline void
+lock_piscr()
+{
+    	/*  å¤ã¯UNLOCK_KEYä»¥å¤ã§ããã°è¯ã  */
+    mpc860_wrw_mem(PISCRK, 0);
+}
+
+/*  PISCRã¢ã³ã­ãã¯  */
+Inline void
+unlock_piscr()
+{
+    mpc860_wrw_mem(PISCRK, UNLOCK_KEY);
+}
+
+/*  PITCã­ãã¯  */
+Inline void
+lock_pitc()
+{
+    	/*  å¤ã¯UNLOCK_KEYä»¥å¤ã§ããã°è¯ã  */
+    mpc860_wrw_mem(PITCK, 0);
+}
+
+/*  PITCã¢ã³ã­ãã¯  */
+Inline void
+unlock_pitc()
+{
+    mpc860_wrw_mem(PITCK, UNLOCK_KEY);
+}
+
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+pit_start()
+{
+    unlock_piscr();         	/*  PISCRã¢ã³ã­ãã¯  */
+    mpc860_orh_mem(PISCR, PISCR_PTE);
+    lock_piscr();         	/*  PISCRã­ãã¯  */
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+pit_stop()
+{
+    unlock_piscr();         	/*  PISCRã¢ã³ã­ãã¯  */
+    mpc860_andh_mem(PISCR, ~PISCR_PTE);
+    lock_piscr();         	/*  PISCRã­ãã¯  */
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *          PISCRã¬ã¸ã¹ã¿ã®PSãããã«1ãæ¸ãè¾¼ã
+ */
+Inline void
+pit_int_clear()
+{
+	/*
+	 *  SILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½ããªãã«
+	 */
+#ifdef SIL_DEBUG
+    BOOL sil_debug_tmp = sil_debug_on;
+    sil_debug_on = FALSE;
+#endif /* SIL_DEBUG */
+
+    unlock_piscr();         	/*  PISCRã¢ã³ã­ãã¯  */
+    mpc860_orh_mem(PISCR, PISCR_PS);
+    lock_piscr();         	/*  PISCRã­ãã¯  */
+
+	/*
+	 *  SILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½ãå¾©å
+
+	 */
+#ifdef SIL_DEBUG
+    sil_debug_on = sil_debug_tmp;
+#endif /* SIL_DEBUG */
+
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+pit_initialize()
+{
+    VH piscr;
+    VW sccr;
+    
+    /* ã¿ã¤ãä¸éå¤=å¤æ°ã®æå¤§å¤ãªã®ã§ãã§ãã¯ã¯çç¥ */
+
+    pit_stop();		/* ã¿ã¤ãåæ­¢ */
+    
+    /*
+     *  ã¿ã¤ãé¢é£ã®è¨­å®
+     */
+    
+    /*  ã¯ã­ãã¯ã½ã¼ã¹é¸æãåå¨æ¯è¨­å®  */
+    unlock_sccr();              /*  SCCRã¢ã³ã­ãã¯  */
+    sccr = mpc860_rew_mem(SCCR);
+    sccr = (sccr & ~SCCR_RTDIV) /*  ãªã¢ã«ã¿ã¤ã ã¯ã­ãã¯åå¨:4  */
+            | SCCR_RTSEL;       /*  ã¯ã­ãã¯ã½ã¼ã¹ï¼EXTCLK  */
+    mpc860_wrw_mem(SCCR, sccr);
+    lock_sccr();                /*  SCCRã­ãã¯  */
+
+
+    /*  ã«ã¦ã³ã¿ç®æ¨å¤è¨­å®  */
+    unlock_pitc();                  /*  PITCã¢ã³ã­ãã¯  */
+    mpc860_wrh_mem(PITC, CLOCK_PER_TICK);
+    lock_pitc();                    /*  PITCã­ãã¯  */
+    
+    
+    unlock_piscr();                 /*  PISCRã¢ã³ã­ãã¯  */
+    piscr = mpc860_reh_mem(PISCR);
+    piscr = (piscr & ~PISCR_PIRQ)
+            | (SIU_INT_PIT << 8)	/*  å²è¾¼ã¿ã¬ãã«è¨­å®  */
+            | PISCR_PIE;                /*  PITå²è¾¼ã¿è¨±å¯  */
+    mpc860_wrh_mem(PISCR, piscr);
+    lock_piscr();                   /*  PISCRã­ãã¯  */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ãã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+pit_terminate()
+{
+    pit_stop();				/* ã¿ã¤ããåæ­¢ 	*/
+    pit_int_clear();			/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+    unlock_piscr();                 	/*  PISCRã¢ã³ã­ãã¯  */
+    mpc860_andh_mem(PISCR, ~PISCR_PIE);	/* ã¿ã¤ãå²è¾¼ã¿ãç¦æ­¢   */
+    lock_piscr();                   	/*  PISCRã­ãã¯  */
+    
+    /*  æ¬å½ã¯ã¿ã¤ãã¸ã®ã¯ã­ãã¯ä¾çµ¦ãåæ­¢ãã  */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããå²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨
+ */
+Inline CLOCK
+pit_get_current()
+{
+    CLOCK pitr;
+    
+    pitr = mpc860_reh_mem(PITR);
+    return(CLOCK_PER_TICK - pitr);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+pit_fetch_interrupt()
+{
+    VH piscr;
+    
+    /*  èª­ã¿åºããªã®ã§ãã¢ã³ã­ãã¯ããªãã¦è¯ã  */
+    piscr = mpc860_reh_mem(PISCR);
+    return(piscr & PISCR_PS);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _PIT_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.c	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MPC860T TB6102Sç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+#include <mpc860_sil.h>
+
+/*
+ *  å²è¾¼ã¿çºçæã«ã¹ã¿ãã¯ã«å¾
+é¿ãããç¶æ
+ã®IPMã®ãã¼ã¿æ§é 
+ *    4ãã¤ãå¢çãç¶­æãããããããã¼é åãå
+¥ã
+ */
+typedef struct ipm_stack {
+	UH	ipm;
+	UH	dummy;
+} IPM_STACK;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+ *	ipm_tableèªä½ã¯$(CPU)ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªã
+ *ãããï¼define_ipmã«ãããé è½ããã¦ããï¼
+ */
+IPM ipm_table[TMAX_EXCNO];
+
+/*
+ *  SILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½
+ */
+#ifdef SIL_DEBUG
+
+BOOL sil_debug_on = FALSE;
+char sil_buffer[SIL_BUFFER_SIZE];
+int sil_pos = -1;
+UW sil_log_id = 0;
+
+#endif	/* SIL_DEBUG */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+    	INHNO j;
+	
+	/*
+	 *  éä¿¡ãã­ã»ããµCPMã®åæå
+	 */
+	
+	/*  ãªã»ããã»ã³ãã³ãã®çºè¡  */
+    	mpc860_wrh_mem(CPCR, CPCR_RST | CPCR_FLG);
+	
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+	 *ããIRLï¼SIUã«å¯¾ããå²è¾¼ã¿ã¬ãã«
+	 *ããIEN=1ï¼CPMå²è¾¼ã¿ã¤ãã¼ãã«
+	 */
+	mpc860_wrw_mem(CICR, CICR_IRL0 | CICR_IEN);
+
+	/*  IPMã®åæåï¼CPMå²è¾¼ã¿ã®è¨±å¯  */
+	mpc860_wrh_mem(SIMASK, ENABLE_CPM);
+
+
+	/*
+	 *  å
+é¨ãã¼ã¿ã®åæå
+	 */
+
+    	/* IPMãã¼ãã«ã®åæå */
+    	for( j = 0; j < TMAX_EXCNO; j++ ) {
+        	ipm_table[j] = DEFAULT_IPM;
+    	}
+    	
+    	/*  CPMå²è¾¼ã¿ã®IPMãè¨­å®  */
+    	ipm_table[INHNO_CPM] = IPM_CPM;
+	
+	/*
+	 *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ã®åæå
+	 */
+	/*  æªå®è£
+  */
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+	tb6102s_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		tb6102s_putc('\r');
+	}
+	tb6102s_putc(c);
+}
+
+/*
+ * ç»é²ããã¦ããªãå²è¾¼ã¿çºçæã®ã­ã°åºå
+ * ãããã¯ã­PROC_ICUã®ä¸­ã§å¼ã³åºããã
+ * ããé¢æ°åãå¼æ°ã®åã¯ãã­ã»ããµæ¯ã«æ±ºãã¦è¯ã
+ *
+ *     MPC860ã§ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãã«ã¹ã±ã¼ãæ¥ç¶ããã¦ããããã
+ *ãã åå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«å°ç¨ã®é¢æ°ãç¨æããã
+ *
+ */
+
+/*  SIUå²è¾¼ã¿ï¼CPMå²è¾¼ã¿ä»¥å¤ï¼  */
+void no_reg_SIU_interrupt(INHNO intno, UW *sp)
+{
+    syslog(LOG_EMERG, "SIU interrupt error occurs.");
+    syslog(LOG_EMERG, "Interrupt No.=%d", intno);
+    syslog(LOG_EMERG, "IPM=0x%04x", ((IPM_STACK *)sp)->ipm);
+
+    /*  
+     *  ã¹ã¿ãã¯ä¸ã®ãã¼ã¿ã®è¡¨ç¤º
+     *    å²è¾¼ã¿ãã¹ã¯ãã¹ã¿ãã¯ã«ç©ãã§ããã®ã§
+     *ã  ãã®åãã¹ã­ãããã
+     */
+    ++sp;
+    syslog_data_on_stack((EXCSTACK *)sp);
+    
+    while(1);
+}
+
+/*  CPMå²è¾¼ã¿  */
+void no_reg_CPM_interrupt(INHNO intno, UW *sp)
+{
+    syslog(LOG_EMERG, "CPM interrupt error occurs.");
+    syslog(LOG_EMERG, "Interrupt No.=%d(total %d)", 
+           intno, intno + TMAX_SIU_INTNO);
+    syslog(LOG_EMERG, "IPM=0x%04x", ((IPM_STACK *)sp)->ipm);
+
+    /*  
+     *  ã¹ã¿ãã¯ä¸ã®ãã¼ã¿ã®è¡¨ç¤º
+     *    å²è¾¼ã¿ãã¹ã¯ãã¹ã¿ãã¯ã«ç©ãã§ããã®ã§
+     *ã  ãã®åãã¹ã­ãããã
+     */
+    ++sp;
+    syslog_data_on_stack((EXCSTACK *)sp);
+    
+    while(1);
+}
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_config.h	(revision 26)
@@ -0,0 +1,582 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MPC860T TB6102Sç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <tb6102s.h>
+#include <mpc860t.h>
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"TANBAC TB6102S CompactPCI CPU Board"
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#ifdef DOWNLOAD_TO_RAM      /*  ãããã°ç¨  */
+
+#define	SIL_DLY_TIM1	1425
+#define	SIL_DLY_TIM2	 350
+
+#else /* DOWNLOAD_TO_RAM */ /*  ROMå  */
+
+#define	SIL_DLY_TIM1	3445
+#define	SIL_DLY_TIM2	 867
+
+#endif /* DOWNLOAD_TO_RAM */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ *ããROMã¢ãã¿ï¼GDB STUBå¼åºãã¯æªå®è£
+
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ *ããROMã¢ãã¿ï¼GDB STUBå¼åºãã¯æªå®è£
+
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ * ãCPMã¸ã®å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ * ããCPMå²è¾¼ã¿ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISRã®è©²å½ãããã«ï¼ãã»ããããã¨
+ * ããã¯ãªã¢ãããã
+ */
+#define CLEAR_IRQ_TO_ICU(device)		\
+	mpc860_wrw_mem(CISR, CISR_BIT(device))	
+
+
+/*
+ * ãç»é²ããã¦ããªãSIUå²è¾¼ã¿ã«ãããå¼æ°è¨­å®
+ * ããåæ®µã®å²è¾¼ã¿ã¨å¤éå²è¾¼ã¿ã§ãspã®åãåºãæ¹ãç°ãªã
+ */
+#define SET_NO_REG_SIU_INTERRUPT_ARG_FROM_TASK	\
+	lwz	r4, 0(sp)	/*  å²è¾¼ã¿ã¹ã¿ãã¯ããspãå¾©å
+  */
+
+#define SET_NO_REG_SIU_INTERRUPT_ARG_FROM_INT	\
+	addi	r4, sp, 8	/*  sp+8  */
+
+/*
+ * ãç»é²ããã¦ããªãCPMå²è¾¼ã¿ã«ãããå¼æ°è¨­å®
+ * ããåæ®µã®å²è¾¼ã¿ã¨å¤éå²è¾¼ã¿ã§ãspã®åãåºãæ¹ãç°ãªã
+ */
+#define SET_NO_REG_CPM_INTERRUPT_ARG_FROM_TASK	\
+	lwz	r4, 8(sp)	/*  å²è¾¼ã¿ã¹ã¿ãã¯ããspãå¾©å
+  */
+
+#define SET_NO_REG_CPM_INTERRUPT_ARG_FROM_INT	\
+	addi	r4, sp, 16	/*  sp+16  */
+
+
+#ifndef _MACRO_ONLY
+/*
+ * ç»é²ããã¦ããªãå²è¾¼ã¿çºçæã®ã­ã°åºå
+ * ãããã¯ã­PROC_ICUã®ä¸­ã§å¼ã³åºãããã
+ *     é¢æ°åãå¼æ°ã®åã¯ãã­ã»ããµæ¯ã«æ±ºãã¦è¯ãã
+ *
+ *     MPC860ã§ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãã«ã¹ã±ã¼ãæ¥ç¶ããã¦ããããã
+ *ãã åå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«å°ç¨ã®é¢æ°ãç¨æããã
+ *
+ */
+
+/*  SIUå²è¾¼ã¿ï¼CPMå²è¾¼ã¿ä»¥å¤ï¼  */
+extern void     no_reg_SIU_interrupt(INHNO intno, UW *sp);
+
+/*  CPMå²è¾¼ã¿  */
+extern void     no_reg_CPM_interrupt(INHNO intno, UW *sp);
+
+#endif /* _MACRO_ONLY */
+
+#define EXCEPTION_VECTOR_START_SRC	0x10000100
+#define EXCEPTION_VECTOR_END_SRC	0x10002000
+#define EXCEPTION_VECTOR_START_DST	0x100
+
+
+
+/*  --------------------------------------------------------------  */
+/*
+ * PowerPCå
+±éé¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å®ç¾©
+ */
+
+/*
+ *   MSRã®åæå¤
+ */
+#define INIT_MSR    	0
+
+/*
+ *  å²è¾¼ã¿å¦çã®ICUä¾å­é¨å
+ *  ãå¦çå
+å®¹
+ *  ããã»å²è¾¼ã¿è¦å ã®å¤å¥
+ *  ããã»å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ *  ããã»å²è¾¼ã¿è¨±å¯
+ *  ããã»Cè¨èªã«ã¼ãã³å¼ã³åºã
+ *  ããã»å²è¾¼ã¿ç¦æ­¢
+ *  ããã»ï¼å¿
+è¦ã§ããã°ï¼å²ãè¾¼ã¿è¦æ±ãã©ã°ã®ã¯ãªã¢
+ *  ã
+ *  ãå¼æ°
+ *  ã  labelï¼ã©ãã«è­å¥ç¨æå­å
+ *  ã  ããããï¼è¤æ°ç®æã§ãã®ãã¯ã­ãä½¿ç¨ã§ããããã«ããããï¼
+ *  ã
+ *
+ *  ãMPC860ã®å²è¾¼ã¿ã¢ã¼ã­ãã¯ãã£ã¯
+ *  ããã»ã·ã¹ãã ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ã¦ãããSIU
+ *  ããã»éä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPM
+ *  ãã®2éå±¤ã«ãªã£ã¦ãã
+ *  ã
+ *  ããMPC860ã§ã¯ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIUã®å²è¾¼ã¿ãã¹ã¯
+ *  ããï¼SIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿SIMASKï¼ã®ã¿ãã«ã¼ãã«ã§ç®¡çããã
+ *  ããéä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPMã®å²è¾¼ã¿ãã¹ã¯ã®ç®¡çã¯ãã¹ã¦
+ *  ãããã¼ãã¦ã§ã¢ãè¡ã£ã¦ããã
+ *  ã
+ *  ãCPMå²è¾¼ã¿ã³ã³ãã­ã¼ã©ï¼ãã¼ãã¦ã§ã¢ï¼ã®åä½
+ *  ã  ãå²è¾¼ã¿ãçºçããã¨
+ *  ã  ããã»å²è¾¼ã¿ä¿çã¬ã¸ã¹ã¿CIPRã®è©²å½ãããã®è©²å½ããããã»ãã
+ *  ã  ããã»çºçããå²è¾¼ã¿ã®åªå
+åº¦ã
+ *  ã  ããããã»å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿CIMR
+ *  ã  ããããã»ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISR
+ *  ã  ããããã¨æ¯è¼ãã¦ããSIUã«éç¥
+ *  ã  ãã³ã¢ããã¯ã¿ã¬ã¸ã¹ã¿CIVRã®IACKããããã»ããããã¨
+ *  ã  ããã»SIUã¸ã®å²è¾¼ã¿è¦æ±ãã¯ãªã¢
+ *  ã  ããã»ãã¯ã¿ã¬ã¸ã¹ã¿CIVRã«ãã¯ã¿çªå·ãã»ãã
+ *  ã  ããã»ãã¯ã¿ã¬ã¸ã¹ã¿CIVRã®IACKããããã¯ãªã¢
+ *  ã  ããã»å²è¾¼ã¿ä¿çã¬ã¸ã¹ã¿CIPRã®è©²å½ããããã¯ãªã¢
+ *  ã  ããã»ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISRã®è©²å½ããããã»ãã
+ *  ã  ããããä»¥å¾ãããããä¸ä½ã®å²è¾¼ã¿ããã¹ã¯ãã
+ *  ã  ããããããâCPMã«ã¤ãã¦ã¯ã½ããã¦ã§ã¢ã«ãããã¹ã¯æä½ã®å¿
+è¦ãªã
+ *  ã  ãã
+ *  ãCPMå²è¾¼ã¿ã«é¢ãã¦ã¯ãSIUã®IPMã«ä¸æ¬ãã¦åãå¤ãè¨­å®ãã
+ *  ã  ãã
+ *  ã
+ *  ãã¬ã¸ã¹ã¿å²ãå½ã¦ï¼
+ *  ã  SPRG1:æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹int_table
+ *  ã  SPRG3:IPMãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹ipm_table
+ *  ã  r0ï¼å¤ï¼
+ *  ã  r3ï¼å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹
+ *  ã  r4ï¼å²è¾¼ã¿ãã¯ã¿çªå·Ãï¼
+ *  ã
+ */
+#define _PROC_ICU(label)                                                \
+    /*  SIUã®å²è¾¼ã¿è¦å å¤å¥  */                                         \
+    lis     r3, IMMR_UPPER_2BYTE; /* å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹ */  \
+        /*  ãã¯ã¿çªå·ã®èª­ã¿åºã  */                                    \
+        /*  SIVECã¬ã¸ã¹ã¿ã«ã¯"ãã¯ã¿çªå·Ã4"ãæ ¼ç´ããã¦ãã  */        \
+    lbz     r4, TADR_SIU_SIVEC(r3); /*  r4âãã¯ã¿çªå·Ã4  */           \
+                                                                        \
+    /*  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®  */                                          \
+    /*  ãSIUå²è¾¼ã¿ï¼å²è¾¼ã¿è¦å æ¯ã®å¤ãIPMã«è¨­å®ãã  */      		\
+    /*  ãCPMå²è¾¼ã¿ï¼ä¸æ¬ãã¦åãå¤ãSIUã®IPMã«è¨­å®ãã  */   		\
+    mfspr   r5, SPRG3;      /*  r5âipm_table  */                       \
+    srwi    r6, r4, 1;      /*  r6âr4>>1ï¼å²è¾¼ã¿çªå·Ã2åï¼  */        \
+    lhzx    r7, r5, r6;     /*  r7ï¼å²è¾¼ã¿ãã¹ã¯  */                    \
+    	/*  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ãç¢ºèªãã¦ã  */				\
+    	/*  å
+ã
+ãè¨±å¯ããã¦ããªãå²è¾¼ã¿ã¯è¨±å¯ããªãããã«ãã  */	\
+    lhz     r8, TADR_SIU_SIMASK(r3);					\
+    and     r9, r8, r7;							\
+    sth     r9, TADR_SIU_SIMASK(r3);/*  å²è¾¼ã¿ãã¹ã¯è¨­å®  */            \
+                                                                        \
+    /*  CPMå²è¾¼ã¿ãªãã°åå²  */                                         \
+    cmpwi   crf0, r4, INHNO_CPM*4;                                      \
+    beq     label##_CPM_INTERRUPT;                                      \
+                                                                        \
+    /*  SIUå²è¾¼ã¿ï¼CPMå²è¾¼ã¿ä»¥å¤ï¼ã®å ´å  */                            \
+    /*  ï¼SIUã«ç´æ¥ãæ¥ç¶ããã¦ããããã¤ã¹ããã®å²è¾¼ã¿ã®å ´åï¼  */     \
+    mfspr   r8, SPRG1;  /*  r8âSPRG1ï¼int_table  */                    \
+                        /*  r4ï¼å²è¾¼ã¿çªå·Ã4  */                       \
+    lwzx    r9, r8, r4; /*  r9ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹  */         \
+    mtctr   r9;         /*  CTRâr9  */                                 \
+    mfmsr   r10;                                                        \
+    ori     r11, r10, MSR_EE;   /*  EEããããã»ãã  */                \
+    mtmsr   r11;                /*  å²è¾¼ã¿è¨±å¯  */                      \
+    cmpwi   crf0, r9, 0;	/*  å²è¾¼ã¿ãã³ãã©ãç»é²ããã¦ããã */ \
+    beq     label##_call_no_reg_SIU_interrupt; /*  ãã§ãã¯  */         \
+    bctrl;                      /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */           \
+    mfmsr   r10;                                                        \
+    xori    r11, r10, MSR_EE;   /*  EEããããã¯ãªã¢  */                \
+    mtmsr   r11;        /*  å²è¾¼ã¿ç¦æ­¢  */                              \
+    b       label##_exit;/*  PROC_ICUãã¯ã­ã®åºå£ã¸ã¸ã£ã³ã  */         \
+                                                                        \
+    /*                                                                  \
+ãã *ããSIUå²è¾¼ã¿ï¼CPMå²è¾¼ã¿ä»¥å¤ï¼ã§å²è¾¼ã¿ãã³ãã©ã                  \
+ãã *ããç»é²ããã¦ããªãå ´å                                          \
+ãã */                                                                 \
+label##_call_no_reg_SIU_interrupt:;                                     \
+    srwi    r3, r4, 2;          /*  r3âå²è¾¼ã¿çªå·  */                  \
+    SET_NO_REG_SIU_INTERRUPT_ARG_##label;                               \
+    LI32(r9, no_reg_SIU_interrupt);                                     \
+    mtctr   r9;         /*  CTRâr9  */                                 \
+    bctr;                                                               \
+    /*  ããã«ã¯æ»ã£ã¦ããªã  */                                        \
+                                                                        \
+    /*                                                                  \
+ãã *ããCPMå²è¾¼ã¿ã§å²è¾¼ã¿ãã³ãã©ã                                   \
+ãã *ããç»é²ããã¦ããªãå ´å                                          \
+ãã */                                                                 \
+label##_call_no_reg_CPM_interrupt:;                                     \
+    srwi    r3, r4, 2;          /*  r3âå²è¾¼ã¿çªå·  */                  \
+    SET_NO_REG_CPM_INTERRUPT_ARG_##label;                               \
+    LI32(r9, no_reg_CPM_interrupt);                                     \
+    mtctr   r9;         /*  CTRâr9  */                                 \
+    bctr;                                                               \
+    /*  ããã«ã¯æ»ã£ã¦ããªã  */                                        \
+                                                                        \
+                                                                        \
+    /*  CPMå²è¾¼ã¿ã®å ´å  */                                             \
+    /*  ããSIUã®IPMã¯è¨­å®æ¸ã¿  */                                      \
+    /*  ããCPMã®IPMè¨­å®ã¯ãã¼ãã¦ã§ã¢ãè¡ã  */                        \
+label##_CPM_INTERRUPT:;                                                 \
+    /*  CIVRã¬ã¸ã¹ã¿ã®IACKããããã»ãã  */                            \
+    li      r5, TA_CPM_CIVR_IACK;                                       \
+    sth     r5, TADR_CPM_CIVR(r3);                                      \
+    /*  CPMå²è¾¼ã¿ãã¯ã¿çªå·èª­ã¿åºã  */                                 \
+            /*  å²è¾¼ã¿ãã¯ã¿ã¬ã¸ã¹ã¿CIVRã«ã¯ãã¯ã¿çªå·ã  */            \
+            /*  11ãããå·¦ã·ãããããç¶æ
+ã§æ ¼ç´ããã¦ãã  */          \
+    lhz     r6, TADR_CPM_CIVR(r3);  /*  r6âãã¯ã¿çªå·<<11  */          \
+    srwi    r4, r6, 9;  /*  r4âr6>>9ï¼å²è¾¼ã¿çªå·Ã4åï¼  */            \
+    stwu    r4, -STACK_MARGIN(sp); /*  ãã¯ã¿çªå·ãä¿å­  */             \
+    		/*  spã8ãã¤ããããã®ã¯ãCè¨èªã«ã¼ãã³ã  */		\
+    		/*  sp+4çªå°ã«æ¸ãè¾¼ã¿ãè¡ããã  */			\
+        /*  CPMã­ã¼ã«ã«ã®ãã¯ã¿çªå·ãSIUå
+¨ä½ã®ãã¯ã¿çªå·ã«å¤æ  */      \
+    addi    r5, r4, TMAX_SIU_INTNO*4;                                   \
+    mfspr   r8, SPRG1;  /*  r8âSPRG1ï¼int_table  */                    \
+                        /*  r4ï¼å²è¾¼ã¿çªå·Ã4  */                       \
+    lwzx    r9, r8, r5; /*  r9ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹  */         \
+    mtctr   r9;         /*  CTRâr9  */                                 \
+    mfmsr   r10;                                                        \
+    ori     r11, r10, MSR_EE;   /*  EEããããã»ãã  */                \
+    mtmsr   r11;                /*  å²è¾¼ã¿è¨±å¯  */                      \
+    cmpwi   crf0, r9, 0;	/*  å²è¾¼ã¿ãã³ãã©ãç»é²ããã¦ããã */ \
+    beq     label##_call_no_reg_CPM_interrupt; /*  ãã§ãã¯  */         \
+    bctrl;                      /*  Cè¨èªã«ã¼ãã³å¼ã³åºã  */           \
+    mfmsr   r10;                                                        \
+    xori    r11, r10, MSR_EE;   /*  EEããããã¯ãªã¢  */                \
+    mtmsr   r11;        /*  å²è¾¼ã¿ç¦æ­¢  */                              \
+    /*  ã¤ã³ãµã¼ãã¹ã¬ã¸ã¹ã¿CISRã®è©²å½ããããã¯ãªã¢  */                \
+    /*      ï¼ï¼ãæ¸ãè¾¼ãã¨ã¯ãªã¢ãããï¼  */                          \
+    lwz     r4, 0(sp);  /*  ãã¯ã¿çªå·Ã4ãèª­ã¿åºã  */                 \
+    addi    sp, sp, STACK_MARGIN;                                       \
+    srwi    r5, r4, 2;  /*  r5âr4>>2ï¼å²è¾¼ã¿çªå·ï¼  */                 \
+    li      r6, 1;                                                      \
+    slw     r7, r6, r5; /*  r7â1<<(å²è¾¼ã¿çªå·)  */                     \
+    lis     r3, IMMR_UPPER_2BYTE; /* å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹ */  \
+    stw     r7, TADR_CPM_CISR(r3);                                      \
+label##_exit:    /*  PROC_ICUã®åºå£ã©ãã«  */
+
+/* ãã¯ã­å¼æ°labelãç¢ºå®ã«å±éããããããã¯ã­ã2éã«ãã¦ãã */
+#define PROC_ICU(label) _PROC_ICU(label)
+
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯IPMé¢é£ã®å®ç¾©
+ *  ããMPC860ã§ã¯ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIUã®å²è¾¼ã¿ãã¹ã¯
+ *  ããï¼SIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿SIMASKï¼ã®ã¿ã«ã¼ãã«ã§ç®¡çããã
+ *  ããéä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPMã®å²è¾¼ã¿ãã¹ã¯ã®ç®¡çã¯ãã¹ã¦ãã¼ã
+ *  ããã¦ã§ã¢ãè¡ã£ã¦ããã
+ */
+
+/*  IPMã®å¾
+é¿  */
+#define PUSH_ICU_IPM                	\
+    lis     r4, IMMR_UPPER_2BYTE;      	\
+    lhz     r5, TADR_SIU_SIMASK(r4);    \
+    sthu    r5, -4(sp)
+    /*  ã¹ãã¢ã¨spã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+    /*  ä¿å­ãããã¼ã¿ã¯2ãã¤ãã§ãããã  */
+    /*  spã4ãã¤ãå¢çã«ç¶­æããããããªãã»ããã-4ã¨ãã¦ãã  */
+
+/*  IPMã®å¾©å
+  */
+#define POP_ICU_IPM                 			\
+    lhz     r4, 0(sp);              			\
+    lis     r5, IMMR_UPPER_2BYTE;   			\
+    addi    sp, sp, 4;           /*  ä¸è¨åç
+§  */	\
+    sth     r4, TADR_SIU_SIMASK(r5) 
+
+
+#ifdef SUPPORT_CHG_IPM
+/*
+ * ICUã«è¨­å®ããIPMãã©ã¡ã¼ã¿ã®ãã§ãã¯
+ *
+ *ãCè¨èªã®
+ *  ãif (ipmã®å¤ãä¸æ­£) {
+ *	ercd = E_PAR;
+ *	goto exit;
+ *    }
+ *ãã¨åç­ã®å¦çãè¡ããã¯ã­
+ */
+#define CHECK_IPM(ipm)
+	/*  MPC860ã§ã¯ä½ããã§ãã¯ããªã  */
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯åå¾
+ */
+#define GET_IPM(p_ipm)	*(p_ipm) = sil_reh_mem((VP)SIMASK)
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯è¨­å®
+ */
+#define CHG_IPM(ipm)	sil_wrh_mem((VP)SIMASK, ipm)
+
+#endif	/*  SUPPORT_CHG_IPM  */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+ *	ipm_tableèªä½ã¯$(CPU)ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããªã
+ *ãããï¼define_ipmã«ãããé è½ããã¦ããï¼
+ */
+extern IPM ipm_table[];
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ *	å²è¾¼ã¿çªå·inhnoã®å²è¾¼ã¿ãåãä»ããã¨ãã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®
+ *	IPMã«è¨­å®ããå¤ãå®ç¾©ããã
+ *	ããã¤ã¹ãã©ã¤ãã®åæåå¦çã§ä½¿ç¨ããããã¨ãæ³å®ãã¦ããã
+ *
+ *ãããå¼æ°
+ *ããããinhnoï¼å²è¾¼ã¿ãã³ãã©çªå·
+ *ããããipmï¼å²è¾¼ã¿ãã¹ã¯
+ *
+ */
+Inline void
+define_ipm(INHNO inhno, IPM ipm)
+{
+	ipm_table[inhno] = ipm;
+}
+
+#endif /* _MACRO_ONLY */
+
+/*  
+ *  çé»åã¢ã¼ãã¸ã®ç§»è¡ã¨å²è¾¼ã¿è¨±å¯
+ *  ãå®è¡ãã¹ãã¿ã¹ã¯ããªãã¦å²è¾¼ã¿å¾
+ã¡ã«ãªãã¨ãã«
+ *  ããã£ã¹ãããã£ã®ä¸­ã§ä½¿ç¨ãããã
+ *
+ *  ãã»å²è¾¼ã¿ããæ»ã£ã¦ããå¾ã«å²è¾¼ã¿ç¦æ­¢ãè¡ã
+ *  ãã»r0ãr4ã®å
+å®¹ãç ´å£ãã¦ã¯ãªããªã
+ *  ã
+ *  ãMCP860ã§ã¯ãã¼ãºã»ã­ã¼ã»ã¢ã¼ããç¨ãã
+ *  ã
+ *  ãã¬ã¸ã¹ã¿å²ãå½ã¦
+ *  ããr0ï¼å¤ï¼
+ *  ããr5ï¼å
+é¨ã¬ã¸ã¹ã¿ã®å
+é ­ã¢ãã¬ã¹
+ *  ããr6ï¼ã­ãã¯ã»ã­ã¼ã¯ã¼ã0x55ccaa33
+ */ 
+#define SAVE_POWPER                                                 \
+    lis     r5, IMMR_UPPER_2BYTE;                                   \
+    LI32(r6, UNLOCK_KEY);                                           \
+    stw     r6, TADR_SCCRK(r5);   /* SCCRã¢ã³ã­ãã¯ */              \
+                                                                    \
+    /* CRQEN=1ï¼CPãåä½ããã¨ãããã¼ãºã»ãã¤ã»ã¢ã¼ãã¸    */      \
+    /* PRQEN=1ï¼å²è¾¼ã¿è¦æ±ã§ãã¼ãã«ã»ãã¤ã»ã¢ã¼ãã¸        */      \
+    lwz     r7, TADR_SCCR(r5);                                      \
+    oris    r7, r7, (SCCR_CRQEN | SCCR_PRQEN)>>16;                  \
+    stw     r7, TADR_SCCR(r5);                                      \
+                                                                    \
+    stw     r0, TADR_SCCRK(r5);     /* SCCRã­ãã¯ */                \
+                                                                    \
+    stw     r6, TADR_PLPRCRK(r5);   /* PLPRCã¢ã³ã­ãã¯ */           \
+                                                                    \
+    /* PLPRCR                                   */                  \
+    /*    TMIST=0ï¼å²è¾¼ã¿ã½ã¼ã¹ãã¯ãªã¢ãã¦ã   */                  \
+    /*           ãã¼ãºã»ã­ã¼ã»ã¢ã¼ãã«æ»ããªã */                  \
+    lwz     r8, TADR_PLPRCR(r5);                                    \
+    ori     r8, r8, PLPRCR_TIMIST;                                  \
+    xori    r8, r8, PLPRCR_TIMIST;                                  \
+    stw     r8, TADR_PLPRCR(r5);                                    \
+                                                                    \
+    /* ãã¼ãºã»ã­ã¼ã»ã¢ã¼ãã«é·ç§»ããããã®å¤è¨­å®   */              \
+    /*      CSRC=1ï¼                                */              \
+    /*      LPM=01ï¼                                */              \
+    ori     r8, r8, (PLPRCR_CSRC | PLPRCR_LPM);                     \
+    xori    r8, r8, PLPRCR_LPM10;                                   \
+    stw     r8, TADR_PLPRCR(r5);                                    \
+                                                                    \
+    stw     r0, TADR_PLPRCRK(r5);   /* PLPRCã­ãã¯ */               \
+                                                                    \
+    /* å²è¾¼ã¿è¨±å¯ã¨ãã¼ãºã»ã­ã¼ã»ã¢ã¼ãã¸ã®ç§»è¡ */                  \
+    mfmsr   r9;                                                     \
+    ori     r9, r9, MSR_EE;         /*  EEãããã»ãã  */          \
+    oris    r9, r9, MSR_POW>>16;    /*  POWãããã»ãã  */         \
+    mtmsr   r9;                                                     \
+    /*  ããã§å²è¾¼ã¿ãå
+¥ãï¼ãã¼ãºã»ã­ã¼ã»ã¢ã¼ãã§å¾
+ã¤ï¼  */        \
+    /*  ãå²è¾¼ã¿ããæ»ã£ãã¨ãã¯r9ãå
+ã®å¤ã«ãªã£ã¦ãã  */          \
+                                                                    \
+    /*  å²è¾¼ã¿ç¦æ­¢  */                                              \
+    xori    r9, r9, MSR_EE;         /*  EEãããã¯ãªã¢  */          \
+    xoris   r9, r9, MSR_POW>>16;    /*  POWãããã¯ãªã¢  */         \
+    mtmsr   r9
+
+
+/*
+ * ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x01000ã®å¦çå
+å®¹ãå®ç¾©ãããã¯ã­
+ * ã
+ * ãã¯ã­IMPLEMENT_EXCEPTION_01000ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã¨ãªãã
+ * å¦çå
+å®¹ã¯ãã­ã»ããµã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ãã®ãªã®ã§ã
+ * ã«ã¼ãã«ã«ããåºå
+¥å£å¦çã¯æ¿å
+¥ãããããã®ãã¯ã­ã§å®ç¾©ããå¦çå
+å®¹ã
+ * ç´æ¥å¼ã³åºããããï¼ã¤ã¾ããã«ã¼ãã«ã®ç®¡çå¤æ±ãï¼
+ * ãã®ããããã®å¦çä¸­ã§ã«ã¼ãã«ã®æ©è½ãå¼ã³åºããå ´åã®åä½ã¯æªå®ç¾©ã§
+ * ããã
+ * ã
+ * ãªãã»ãã0x01000ä»¥éã«é
+ç½®ãããä¾å¤è¦å ã¯ï¼ã¤ã¨ã¯éããªãã2ã¤ä»¥ä¸
+ * ã®ä¾å¤ãã¯ã¿ãé
+ç½®ãããå ´åããªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ * ãå
+·ä½çã«ã¯
+ *     .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ * ã®ããã«æå®ãããè©³ããã¯cpu_support.Sã®è©²å½åæãåç
+§ã
+ * ã
+ */
+#define MAKE_EXCEPTION_VECTOR(offset, name)	\
+    .org offset - EXCEPTION_VECTOR_BASE;	\
+name:;						\
+  MAKE_EXCEPTION_ENTRY(offset)
+
+
+#define IMPLEMENT_EXCEPTION_01000_PROC				\
+software_emulation:;						\
+  MAKE_EXCEPTION_ENTRY(0x1000);					\
+								\
+MAKE_EXCEPTION_VECTOR(0x1100, instruction_TLB_miss);		\
+MAKE_EXCEPTION_VECTOR(0x1200, data_TLB_miss);			\
+MAKE_EXCEPTION_VECTOR(0x1300, instruction_TLB_error);		\
+MAKE_EXCEPTION_VECTOR(0x1400, data_TLB_error);			\
+MAKE_EXCEPTION_VECTOR(0x1c00, data_break_point);		\
+MAKE_EXCEPTION_VECTOR(0x1d00, instruction_break_point);		\
+MAKE_EXCEPTION_VECTOR(0x1e00, peripheral_break_point);		\
+MAKE_EXCEPTION_VECTOR(0x1f00, non_maskable_developement_port)
+
+
+#endif /* _SYS_CONFIG_H_ */
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_defs.h	(revision 26)
@@ -0,0 +1,145 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MPC860T TB6102Sç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+#define TB6102S			/* ã·ã¹ãã ç¥ç§° */
+#define MPC860T			/* ãã­ã»ããµç¥ç§° */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ICUã«è¨­å®ããIPMã®åå®ç¾©
+ *  ããMPC860ã§ã¯ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¦ãããSIUã®å²è¾¼ã¿ãã¹ã¯
+ *  ããï¼SIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿SIMASKï¼ã®ã¿ã«ã¼ãã«ã§ç®¡çããã
+ *  ããéä¿¡ãã­ã»ããµã¢ã¸ã¥ã¼ã«CPMã®å²è¾¼ã¿ãã¹ã¯ã®ç®¡çã¯ãã¹ã¦ãã¼ã
+ *  ããã¦ã§ã¢ãè¡ã£ã¦ããã
+ */
+typedef UH IPM;
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+ 	/*  
+ 	 * ã PowerPC MPC860Tçã§ã¯ãµãã¼ããã¦ããªãã
+	 *  ãå®è£
+ã«ãããå·¥æ°ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®æ§é ã«
+	 *  ãå¤§ããä¾å­ãã  
+	 */
+#if 0
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+#ifdef SUPPORT_VXGET_TIM
+
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif	/*  SUPPORT_VXGET_TIM  */
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/*  æªå®è£
+  */
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.def	(revision 26)
@@ -0,0 +1,8 @@
+#sys_config.c
+ipm_table
+no_reg_CPM_interrupt
+no_reg_SIU_interrupt
+sil_debug_on
+sil_buffer
+sil_pos
+sil_log_id
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_rename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.c
+ */
+#define ipm_table		_kernel_ipm_table
+#define no_reg_CPM_interrupt	_kernel_no_reg_CPM_interrupt
+#define no_reg_SIU_interrupt	_kernel_no_reg_SIU_interrupt
+#define sil_debug_on		_kernel_sil_debug_on
+#define sil_buffer		_kernel_sil_buffer
+#define sil_pos			_kernel_sil_pos
+#define sil_log_id		_kernel_sil_log_id
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#define _ipm_table		__kernel_ipm_table
+#define _no_reg_CPM_interrupt	__kernel_no_reg_CPM_interrupt
+#define _no_reg_SIU_interrupt	__kernel_no_reg_SIU_interrupt
+#define _sil_debug_on		__kernel_sil_debug_on
+#define _sil_buffer		__kernel_sil_buffer
+#define _sil_pos		__kernel_sil_pos
+#define _sil_log_id		__kernel_sil_log_id
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_support.S	(revision 26)
@@ -0,0 +1,598 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©ï¼MPC860T TB6102Sç¨ï¼
+ *  
+ *  ãããã¼ãä¾å­ãåé¢ããã¨ããã®ãã¡ã¤ã«ã¯ã»ã¨ãã©ç©ºã«ãªã£ã¦
+ *  ãããã¾ãã®ã§ããã®ã¾ã¾ã«ãã¦ããã
+ *  
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+/*
+ *  ã¡ã¢ãªã³ãã³ãã¬ã¸ã¹ã¿MCRã«è¨­å®ããWRITEãªãã³ã¼ã
+ *
+ *  ããããOP=00ï¼WRITE
+ *  ããããUM=0ï¼UPMA
+ *  ããããMB=000ï¼RUNã³ãã³ãã®ã¿æå¹
+ *  ããããMCLF=0ï¼RUNã³ãã³ãã®ã¿æå¹
+ *  ããããMAD=0ï¼ã¡ã¢ãªã¢ã¬ã¤ã¤ã³ããã¯ã¹
+ *  ããããããããï¼ç©ºã«ãã¦ããã¦ãå¥ã®ãã¼ã¿ãå
+¥ããï¼
+ *  
+ */
+#define MCR_WRITE_OP	0
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ *  
+ *  ã¬ã¸ã¹ã¿å²ãå½ã¦
+ *  ããr10ï¼å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹
+ *  
+ */
+    .text
+    .globl hardware_init_hook
+hardware_init_hook: 
+    /*  ipm_tableãSPRG3ã«ã³ãã¼  */
+    LI32(r4, ipm_table)
+    mtspr   SPRG3, r4
+
+    /*  å
+é¨ã¡ã¢ãªãããã¬ã¸ã¹ã¿IMMRã®åæå  */
+    /* ãå
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹ã®è¨­å® */  
+    lis     r10, IMMR_UPPER_2BYTE /*  ä¸ä½2ãã¤ã  */
+    mtspr   IMMR, r10   /*  ä¸ä½2ãã¤ãã¯ä¸æ¸ããã¦ãç ´å£ãããªã  */
+    
+#ifdef DOWNLOAD_TO_RAM      /*  ãããã°ç¨  */
+    
+    /*
+     *  RAMä¸ã«ãã¦ã³ã­ã¼ãããå ´å
+     *
+     *  ããä¾å¤ãã¯ã¿ã®ãªãã»ããã0x000x,xxxxã«ããã
+     */
+    li      r5, 0
+    mtmsr   r5		/*  MSR.IPâ0  */
+    blr
+    
+#else /* DOWNLOAD_TO_RAM */ /*  ROMå  */
+    
+
+    /*  ãã¹ã³ã³ãã­ã¼ã©ã®åæå  */    
+
+    /*
+     *  ã½ããã¦ã§ã¢ã»ã¦ã©ããããã¯ã¿ã¤ãã®åæå
+     */
+
+    /*  ã¦ã©ããããã¯ã¿ã¤ããã¯ãªã¢  */
+    li      r6, SWSR_CLEAR1
+    sth     r6, TADR_SIU_SWSR(r10)
+    ori     r6, r0, SWSR_CLEAR2
+    sth     r6, TADR_SIU_SWSR(r10)
+    
+    /*
+     *  ãã¦ã©ããããã¯ã¿ã¤ãããã£ã»ã¼ãã«ã«ãã
+     *  ã  SYPCR.SWEâ0
+     */
+    lwz     r5, TADR_SIU_SYPCR(r10)
+    ori	    r5, r5, SYPCR_SWE
+    xori    r5, r5, SYPCR_SWE
+    stw     r5, TADR_SIU_SYPCR(r10)
+
+
+    /*
+     *  FlashROMãã¹ã³ã³ãã­ã¼ã©ã®åæå
+     *  ã2MB
+     *  ãã¢ãã¬ã¹ãããï¼0x1000,0000-0x101f,ffff
+     *  ããããã»ã¬ã¯ãä¿¡å·ï¼CS0
+     *  ãã¡ã¢ãªã³ã³ãã­ã¼ã©ï¼æ±ç¨ãããã»ã»ã¬ã¯ãã»ãã·ã³GPCM
+     *  ã16ãããã¢ã¯ã»ã¹
+     *  ã
+     *  ããã¼ããããã»ã¬ã¯ãCS0ã«é¢ãã¦ã¯
+     *  ãBR0âOR0ã®é ã«è¨­å®ããªããã°ãªããªã
+     *  ã
+     */
+
+    /*
+     *  å¤é¨ãã¹åå¨ä¿æ°ã®è¨­å®
+     *  ãSCCR.EBDF=00ï¼CLKOUTã¯GCLK2ã®1ã®åå¨æ¯
+     */
+    LI32(r4, UNLOCK_KEY)
+    stw     r4, TADR_SCCRK(r10)     /* SCCRã¢ã³ã­ãã¯ */
+    lwz     r5, TADR_SCCR(r10)
+    oris    r6, r5, (SCCR_EBDF>>16)
+    xoris   r7, r6, (SCCR_EBDF>>16)
+    stw     r7, TADR_SCCR(r10)
+    li      r0, 0
+    stw     r0, TADR_SCCRK(r10)     /* SCCRã­ãã¯ */
+
+
+    /*
+     *  ãã¼ã¹ã¬ã¸ã¹ã¿BR0 = 0x1000,0801
+     *  ããBA=0x1000(0b)ï¼ã¢ã¯ã»ã¹ç¯å² 0x1000,0000ã
+     *  ããPS=10ï¼ãã¼ããµã¤ãº 16ããã
+     *  ããPARE=0ï¼ããªãã£ã»ãã£ã»ã¼ãã«
+     *  ããWP=0ï¼ãªã¼ãï¼ã©ã¤ãè¨±å¯ï¼ä¿è­·ãªãï¼ãè¦æ¤è¨
+     *  ããMS=00ï¼UPMAãä½¿ç¨
+     *  ããV=1ï¼BR0,OR0ãæå¹
+     *
+     *ããããã¼ãã¦ã§ã¢ã»ããã¥ã¢ã«ã«ã¯BR0ã¯ãªã¼ããªã³ãªã¼ã¨
+     *ãããããããèª¤è¨³ããã
+     */
+    LI32(r3, 0x10000801)
+    stw     r3, TADR_BR0(r10)
+
+    /*
+     *  ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿OR0 = 0xffe0,0936
+     *  ããMA=0xffe0(0b)ï¼ã¢ã¯ã»ã¹ç¯å²21ãããï¼ï¼2MBï¼
+     *  ããCSNT=1ï¼ãããã»ã»ã¬ã¯ãã»ãã²ã¼ãæé
+     *  ããACS=00ï¼CSãã¢ãã¬ã¹ã©ã¤ã³ã¨åæã«åºå
+     *  ããBIH=1ï¼ãã¼ã¹ãç¦æ­¢ï¼GPCMãªãã»ããããªããã°ãªããªãï¼
+     *  ããSYC=3ï¼ãµã¤ã¯ã«é·
+     *  ããSETA=0ï¼å
+é¨ï¼å¤é¨ã®è»¢éã¢ã¯ããªãã¸ã¯æåã®ã¢ã¯ã»ã¹ãèªè­
+     *  ããTRLX=1ï¼ã¿ã¤ãã³ã°ç·©å
+     *  ããEHTR=1ï¼ãªã¼ãæã®ãã¼ã«ãæéå»¶é·
+     */
+    LI32(r4, 0xffe00936)
+    stw     r4, TADR_OR0(r10)
+
+    /*  MSR.IP=0(A20=L)ã®å ´åã®çµ¶å¯¾çªå°ã«ã¸ã£ã³ã  */
+    LI32(r5, activate_A20_line)
+    mtctr   r5
+    bctr
+    
+    /*  A20ä¿¡å·ã®æ´»æ§å  */
+activate_A20_line:
+    /*  æ±ç¨I/Oæ©è½é¸æï¼PBPAR.DD27â0  */
+    lhz     r6, (TADR_PBPAR + 2)(r10)
+    andi.   r6, r6, (~PBPAR_DD27 & 0xffff)
+    sth     r6, (TADR_PBPAR + 2)(r10)
+
+    /*  å
+¥åºåæ¹åé¸æï¼åºåï¼ï¼PBDIR.DR27â1  */
+    lhz     r7, (TADR_PBDIR + 2)(r10)
+    ori     r7, r7, PBDIR_DR27
+    sth     r7, (TADR_PBDIR + 2)(r10)
+    
+    /*  ã¢ã¯ãã£ãã«ãã©ã¤ãï¼PBODR.OD27â0  */
+    lhz     r8, (TADR_PBODR + 2)(r10)
+    andi.   r8, r8, (~PBODR_OD27 & 0xffff)
+    sth     r8, (TADR_PBODR + 2)(r10)
+    
+    /*  A20=1ãåºåï¼PBDAT.D27â1  */
+    lhz     r9, (TADR_PBDAT + 2)(r10)
+    ori     r9, r9, PBDAT_D27
+    sth     r9, (TADR_PBDAT + 2)(r10)
+    nop
+    nop
+    nop
+
+
+    /*
+     *  SDRAMãã¹ã³ã³ãã­ã¼ã©ã®åæå
+     *  ã50MHz
+     *  ã16MB
+     *  ãã¢ãã¬ã¹ãããï¼0x0000,0000-0x00ff,ffff
+     *  ããããã»ã¬ã¯ãä¿¡å·ï¼CS2
+     *  ãã¡ã¢ãªã³ã³ãã­ã¼ã©ï¼ã¦ã¼ã¶ã»ãã­ã°ã©ããã«ã»ãã·ã³UPMA
+     *  ã32ãããã¢ã¯ã»ã¹
+     *  ã
+     *  ãã¬ã¸ã¹ã¿å²ãå½ã¦
+     *  ããr10ï¼å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹
+     *  ã
+     *  ãåè
+     *  ãããUPMã¬ã¸ã¹ã¿âORxâBRxã®é ã«è¨­å®ãã
+     *  ã
+     *  ã
+     */
+
+    /*
+     *  ã¡ã¢ãªã³ã³ãã­ã¼ã©UPMAã®è¨­å®ã¬ã¸ã¹ã¿åæå
+     *  ã
+     *  ããªãã¬ãã·ã¥å¨æï¼1CLKå¨æÃããªã¹ã±ã¼ã©å¤Ãã¿ã¤ãå¨æ
+     *  ãããããããããï¼20nsecãÃãã 32 ãããÃã24
+     *  ãããããããããï¼15.36Î¼sec
+     */
+
+    /*
+     *  ã¡ã¢ãªå¨æã¿ã¤ãã»ããªã¹ã±ã¼ã©ã»ã¬ã¸ã¹ã¿MPTPR = 0x0200
+     *  ããPTP=0x2ï¼32ã«ããåå¨
+     */
+    ori     r3, r0, 0x0200
+    sth     r3, TADR_MPTPR(r10)
+
+    /*
+     *  ãã·ã³Aã¢ã¼ãã»ã¬ã¸ã¹ã¿MAMR = 0x1880,2111
+     *  ããPTx=24ï¼ãªãã¬ãã·ã¥å¨æ
+     *  ããPTxE=1ï¼å¨æã¿ã¤ãã¤ãã¼ãã«
+     *  ããAMx=0ï¼ã¢ãã¬ã¹å¤éãµã¤ãº
+     *  ããDSx=00ï¼ãã£ã»ã¼ãã«æé 1ãµã¤ã¯ã«
+     *  ããG0CLx=001ï¼GPL0ã«å¯¾ããã¢ãã¬ã¹ã©ã¤ã³åºåã¯A11
+     *  ããGPLx4DIS=0ï¼UPWAIT/GPL_x4ã¯GPL_x4ã«å®ç¾©
+     *  ããRLFx=0001ï¼ãªã¼ããµã¤ã¯ã«ã®ã«ã¼ã 1å
+     *  ããWLFx=0001ï¼ã©ã¤ããµã¤ã¯ã«ã®ã«ã¼ã 1å
+     *  ããTLFx=0001ï¼å¨æã¿ã¤ããµã¼ãã¹ãµã¤ã¯ã«ã®ã«ã¼ã 1å
+     */
+    LI32(r4, 0x18802111)
+    stw     r4, TADR_MAMR(r10)
+
+    /*
+     *  ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿OR2 = 0xff00,0600
+     *  ããMA=0xff00(0b)ï¼ã¢ã¯ã»ã¹ç¯å²24ãããï¼ï¼16MBï¼
+     *  ããSAM=0ï¼å¤éåã¢ãã¬ã¹ãªã
+     *  ããG5LA=1ï¼GPL_A5ã§å
+é¨GPL5ä¿¡å·ãåºå
+     *  ããG5LS=1ï¼GPL5ã¯GCLK1_50ã®ç«ã¡ä¸ããã¨ãã¸ã§Hã«ãã©ã¤ã
+     *  ããBIH=0ï¼ãã¼ã¹ãã¢ã¯ã»ã¹ããµãã¼ã
+     */
+    LI32(r5, 0xff000600)
+    stw     r5, TADR_OR2(r10)
+
+    /*
+     *  ãã¼ã¹ã»ã¬ã¸ã¹ã¿BR2 = 0x0000,0081
+     *  ããBA=0x0000(0b)ï¼ã¢ã¯ã»ã¹ç¯å² 0x0000,0000ã
+     *  ããPS=00ï¼ãã¼ããµã¤ãº 32ããã
+     *  ããPARE=0ï¼ããªãã£ã»ãã£ã»ã¼ãã«
+     *  ããWP=0ï¼ãªã¼ãï¼ã©ã¤ãè¨±å¯ï¼ä¿è­·ãªãï¼
+     *  ããMS=10ï¼UPMAãä½¿ç¨
+     *  ããV=1ï¼BR2,OR2ãæå¹
+     */
+    ori     r6, r0, 0x0081
+    stw     r6, TADR_BR2(r10)
+    
+    /*
+     *  RAMã¢ã¬ã¤ã®åæå
+     *  ãRAMã¢ã¬ã¤ã¯MPC860ã®å
+èµã¡ã¢ãªã§ãããå¤é¨ã¡ã¢ãªã«ã¢ã¯ã»ã¹
+     *  ãããéã®åãµã¤ã¯ã«ã«ããããã³ã®ç¶æ
+ãè¦å®ããã
+     *  ã
+     *  ãã¬ã¸ã¹ã¿å²ãå½ã¦
+     *  ããr3ï¼ãã¤ã³ã¿ãã¼ãã«ã¸ã®ãã¤ã³ã¿
+     *  ããr4ï¼æ¸ãè¾¼ãã¯ã¼ãæ°ï¼æ®ãæ°ï¼
+     *  ããr5ï¼å
+ãã¼ã¿ã®ã¢ãã¬ã¹
+     *  ããr6ï¼è»¢éå
+ã®ã¤ã³ããã¯ã¹
+     *  ããr10ï¼å
+é¨ã¬ã¸ã¹ã¿é åã®å
+é ­ã¢ãã¬ã¹
+     */
+	    /*  ãlwzuå½ä»¤ãä½¿ãããããªããã  */
+	    /*  ãã¢ãã¬ã¹ã-4ãã¦ãã  */
+    LI32(r3, (RAM_array_index-4))
+
+    /*  ãã­ãã¯ãã¼ã¿æ¸ãè¾¼ã¿ã«ã¼ã  */
+RAM_array_block_init_loop:
+    lwzu    r4, 4(r3)       /*  ã¯ã¼ãæ°  */
+    			    /*    r3ãã¤ã³ã¯ãªã¡ã³ããããç¹ã«æ³¨æ */
+    cmpwi   crf0, r4, 0     /*  ãã¼ãã«ã«æå®ãããã¯ã¼ãæ°ã  */
+    beq     SDRAM_init      /*  ã¼ã­ãªãã°ãããã¤ã¹ã®åæåã¸  */
+    lwzu    r5, 4(r3)       /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    			    /*  ãlwzuå½ä»¤ãä½¿ãããããªããã  */
+    			    /*  ãã¢ãã¬ã¹ã¯-4ããã¦æ ¼ç´ããã¦ãã  */
+    lwzu    r6, 4(r3)       /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+    			    /*    r3ãã¤ã³ã¯ãªã¡ã³ããããç¹ã«æ³¨æ */
+
+    /*
+     *  ã¯ã¼ããã¼ã¿æ¸ãè¾¼ã¿ã«ã¼ã
+     *  ãã¡ã¢ãªãã¼ã¿ã¬ã¸ã¹ã¿MDRã«æ¸ãè¾¼ãã ãã¼ã¿ã
+     *  ãWRITEãªãã³ã¼ãã«ããRAMã¢ã¬ã¤ã«è»¢éããã
+     */
+RAM_array_word_init_loop:
+    lwzu    r8, 4(r5)   /*  å
+ãã¼ã¿  */
+			/*    r5ãã¤ã³ã¯ãªã¡ã³ããããç¹ã«æ³¨æ */
+    stw     r8, TADR_MDR(r10)   /*  æ¸ãè¾¼ã¿ãã¼ã¿æºå  */
+    ori     r9, r6, MCR_WRITE_OP
+    stw     r9, TADR_MCR(r10)   /*  WRITEã³ãã³ãçºè¡  */
+    subi    r4, r4, 1
+    addi    r6, r6, 1
+    cmpwi   crf0, r4, 0         /*  æ¸ãè¾¼ãã¹ããã¼ã¿ãæ®ã£ã¦ããã°  */
+    bne     RAM_array_word_init_loop    /*  æ¬¡ã®ã¯ã¼ããã¼ã¿ã®å¦çã¸  */
+                    /*  ãã¼ã¿ãæ®ã£ã¦ããªããã°ãæ¬¡ã®ãã­ãã¯ã®å¦çã¸  */
+    b       RAM_array_block_init_loop
+
+
+    /*  SDRAMï¼ããã¤ã¹èªä½ï¼ã®åæå  */
+SDRAM_init: 
+    /*
+     *  å
+¨ãã³ã¯ã»ããªãã£ã¼ã¸
+     *  
+     *  ããã¡ã¢ãªã³ãã³ãã¬ã¸ã¹ã¿MCR = 0x8000,4105
+     *  ããããOP=10ï¼RUN
+     *  ããããUM=0ï¼UPMA
+     *  ããããMB=010ï¼CS2
+     *  ããããMCLF=1ï¼ã«ã¼ã1å
+     *  ããããMAD=5ï¼ã¡ã¢ãªã¢ã¬ã¤ã¤ã³ããã¯ã¹
+     *  ããããããããï¼å
+¨ãã³ã¯ããªãã£ã¼ã¸ã®å½ä»¤ãå
+¥ã£ã¦ããï¼
+     */
+    LI32(r3, 0x80004105)
+    stw     r3, TADR_MCR(r10)
+        
+    /*
+     *  ãªã¼ããªãã¬ãã·ã¥ 8å
+     *  
+     *  ããã¡ã¢ãªã³ãã³ãã¬ã¸ã¹ã¿MCR = 0x8000,4830
+     *  ããããOP=10ï¼RUN
+     *  ããããUM=0ï¼UPMA
+     *  ããããMB=010ï¼CS2
+     *  ããããMCLF=8ï¼ã«ã¼ã 8å ï¼ãªãã¬ãã·ã¥åæ°ï¼
+     *  ããããMAD=0x30ï¼ã¡ã¢ãªã¢ã¬ã¤ã¤ã³ããã¯ã¹
+     *  ããããããããï¼ãªã¼ããªãã¬ãã·ã¥ã®å½ä»¤ãå
+¥ã£ã¦ããï¼
+     */
+    LI32(r4, 0x80004830)
+    stw     r4, TADR_MCR(r10)
+    
+    
+    /*
+     *  åä½ã¢ã¼ãè¨­å®
+     *  ãCASã¬ã¤ãã³ã·ï¼2
+     *  ããã¼ã¹ãé·ã ï¼4
+     *  
+     *  ããã¡ã¢ãªã¢ãã¬ã¹ã¬ã¸ã¹ã¿MAR = 0x0000,0088
+     *  ããããã¢ãã¬ã¹ãã¹ã«åºåãããSDRAMã¸ã®å½ä»¤ã¨ãªã
+     *  
+     *  ããã¡ã¢ãªã³ãã³ãã¬ã¸ã¹ã¿MCR = 0x8000,4106
+     *  ããããOP=10ï¼RUN
+     *  ããããUM=0ï¼UPMA
+     *  ããããMB=010ï¼CS2
+     *  ããããMCLF=1ï¼ã«ã¼ã 1å 
+     *  ããããMAD=6ï¼ã¡ã¢ãªã¢ã¬ã¤ã¤ã³ããã¯ã¹
+     *  ããããããããï¼åä½ã¢ã¼ãè¨­å®ã®å½ä»¤ãå
+¥ã£ã¦ããï¼
+     */
+    ori     r5, r0, 0x0088
+    stw     r5, TADR_MAR(r10)
+    LI32(r6, 0x80004106)
+    stw     r6, TADR_MCR(r10)
+    
+
+/*
+ *  ä¾å¤ãã¯ã¿ã®ã³ãã¼
+ */
+copy_exception_vector:
+	/*  lwzuå½ä»¤ãä½¿ããã-4ãã¦ãã  */
+	LI32(r7, EXCEPTION_VECTOR_START_SRC - 4)
+	LI32(r8, EXCEPTION_VECTOR_END_SRC - 4)
+	LI32(r9, EXCEPTION_VECTOR_START_DST - 4)
+copy_exception_vector_1:
+	lwzu	r10, 4(r7)	/*  r7ã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+	stwu	r10, 4(r9)	/*  r9ã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+	cmpw	crf0, r7, r8
+	blt	copy_exception_vector_1
+	
+        /*
+         *  MSR.IPâ0
+         *ããä¾å¤ãã¬ãã£ãã¯ã¹ï¼0x000n,nnnn
+         */
+	li	r3, MSR_IP
+	mfmsr	r4
+	or	r4, r4, r3
+	xor	r4, r4, r3
+	mtmsr	r4
+	
+	LI32(r10, start_1)
+	mtctr	r10
+	bctr
+	nop
+	nop
+	nop
+	nop
+
+/*
+ *  RAMã¢ã¬ã¤ã®åæåã«ä½¿ç¨ãããã¼ã¿ã¸ã®ãã¤ã³ã¿ãã¼ãã«
+ *  ãã¯ã¼ãæ°ãå
+ãã¼ã¿ã®ã¢ãã¬ã¹ãè»¢éå
+ã®ã¤ã³ããã¯ã¹ã§
+ *  ã1ã»ããï¼1ãã­ãã¯åï¼
+ *  ãå
+ãã¼ã¿ã®ã¢ãã¬ã¹ã¯lwzuå½ä»¤ãä½¿ãããããªããã
+ *  ã-4ãã¦ããã
+ *  ã
+ *  ãæå¾ã¯ã¯ã¼ãæ°ï¼ã®ãã¼ã¿ãé
+ç½®ããã«ã¼ãçµäºã®å¤å®ã«ç¨ãã
+ */
+RAM_array_index:    
+    /*
+     *  ãªã¼ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±ï¼è¨ 16ã¯ã¼ãï¼
+     *  ããã»ãªã¼ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±ï¼5ã¯ã¼ãï¼
+     *  ããã»å
+¨ãã³ã¯ããªãã£ã¼ã¸ï¼1ã¯ã¼ãï¼
+     *  ããã»ã¢ã¼ãè¨­å®ï¼2ã¯ã¼ãï¼
+     *  ããã»ãªã¼ãã»ãã¼ã¹ãè¦æ±ï¼8ã¯ã¼ãï¼
+     */
+    .int    16                  /*  ã¯ã¼ãæ°  */
+    .int    RAM_array_RSS - 4   /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    .int    0x0                 /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+
+    /*
+     *  ã©ã¤ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±
+     */
+    .int    4                   /*  ã¯ã¼ãæ°  */
+    .int    RAM_array_WSS - 4   /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    .int    0x18                /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+
+    /*
+     *  ã©ã¤ãã»ãã¼ã¹ãè¦æ±
+     */
+    .int    7                   /*  ã¯ã¼ãæ°  */
+    .int    RAM_array_WBS - 4   /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    .int    0x20                /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+
+    /*
+     *  å¨æã¿ã¤ãè¦æ±ï¼ãªã¼ããªãã¬ãã·ã¥ï¼
+     */
+    .int    5                   /*  ã¯ã¼ãæ°  */
+    .int    RAM_array_TPS - 4   /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    .int    0x30                /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+
+    /*
+     *  ä¾å¤æ¡ä»¶è¦æ±
+     */
+    .int    1                   /*  ã¯ã¼ãæ°  */
+    .int    RAM_array_EXS - 4   /*  å
+ãã¼ã¿ã®ã¢ãã¬ã¹  */
+    .int    0x3c                /*  è»¢éå
+ã®ã¤ã³ããã¯ã¹  */
+
+    /*
+     *  ã«ã¼ãçµäºå¤å®ç¨ãã¼ã¿
+     */
+    .int    0                   /*  ã¯ã¼ãæ°  */
+    
+
+/*
+ *  RAMã¢ã¬ã¤ã«ã³ãã¼ãããã¼ã¿
+ */
+
+    /*
+     *  ä»¥ä¸ã®ï¼ã¤ã®å½ä»¤ç¾¤ãé£ç¶ããé åã«é
+ç½®ï¼è¨ 16ã¯ã¼ãï¼
+     *  ããã»ãªã¼ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±ï¼5ã¯ã¼ãï¼
+     *  ããã»å
+¨ãã³ã¯ããªãã£ã¼ã¸ï¼1ã¯ã¼ãï¼
+     *  ããã»ã¢ã¼ãè¨­å®ï¼2ã¯ã¼ãï¼
+     *  ããã»ãªã¼ãã»ãã¼ã¹ãè¦æ±ï¼8ã¯ã¼ãï¼
+     */
+RAM_array_RSS:  
+    /*  ãªã¼ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±  */
+    .int    0x1f07fc04                      /*  0  */
+    .int    0xeeaef004                      /*  1  */
+    .int    0x11adf004                      /*  2  */
+    .int    0xefbbbc00                      /*  3  */
+    .int    0x1ff77c47                      /*  4  */
+    /*  å
+¨ãã³ã¯ããªãã£ã¼ã¸  */
+    .int    0x1ff77c07                      /*  5  */
+    /*  ã¢ã¼ãè¨­å®ç¨ãã¼ã¿  */
+    .int    0xefcab034                      /*  6  */
+    .int    0x1f357405                      /*  7  */
+    /*  ãªã¼ãã»ãã¼ã¹ãè¦æ±  */
+    .int    0x1f07fc04                      /*  8  */
+    .int    0xeeaef004                      /*  9  */
+    .int    0x10adf004                      /*  a  */
+    .int    0xf0affc00                      /*  b  */
+    .int    0xf0affc00                      /*  c  */
+    .int    0xf1affc00                      /*  d  */
+    .int    0xefbbbc00                      /*  e  */
+    .int    0x1ff77c47                      /*  f  */
+
+    /*
+     *  ã©ã¤ãã»ã·ã³ã°ã«ã»ãã¼ãè¦æ±
+     */
+RAM_array_WSS:
+    .int    0x1f07fc04                      /*  0x18 + 0  */
+    .int    0xeeaeb000                      /*  0x18 + 1  */
+    .int    0x01b93004                      /*  0x18 + 2  */
+    .int    0x1ff77c47                      /*  0x18 + 3  */
+
+    /*
+     *  ã©ã¤ãã»ãã¼ã¹ãè¦æ±
+     */
+RAM_array_WBS:
+    .int    0x1f07fc04                      /*  0x20 + 0  */
+    .int    0xeeaeb000                      /*  0x20 + 1  */
+    .int    0x10ad7000                      /*  0x20 + 2  */
+    .int    0xf0affc00                      /*  0x20 + 3  */
+    .int    0xf0affc00                      /*  0x20 + 4  */
+    .int    0xe1bbbc04                      /*  0x20 + 5  */
+    .int    0x1ff77c47                      /*  0x20 + 6  */
+
+    /*
+     *  å¨æã¿ã¤ãè¦æ±ï¼ãªã¼ããªãã¬ãã·ã¥ï¼
+     */
+RAM_array_TPS:
+    .int    0x1ff5fc84                      /*  0x30 + 0  */
+    .int    0xfffffc04                      /*  0x30 + 1  */
+    .int    0xfffffc04                      /*  0x30 + 2  */
+    .int    0xfffffc84                      /*  0x30 + 3  */
+    .int    0xfffffc05                      /*  0x30 + 4  */
+
+    /*
+     *  ä¾å¤æ¡ä»¶è¦æ±
+     */
+RAM_array_EXS:
+    .int    0xfffffc07                      /*  0x3c + 0  */
+
+
+#endif  /*  DOWNLOAD_TO_RAM  */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_tool_config.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_tool_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *ããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ããã³
+ *ããããæµ®åå°æ°ç¹æ¼ç®ã¦ãããä¾å­é¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼tool_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_TOOL_CONFIG_H_
+#define _SYS_TOOL_CONFIG_H_
+
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨
+ */
+#define	LOG_INH_ENTER(inhno)
+#define	LOG_INH_LEAVE(inhno)
+
+#define	LOG_ISR_ENTER(intno)
+#define	LOG_ISR_LEAVE(intno)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)		/*  å¿µã®ãããåé¢ãã¦ãã  */
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+
+/*
+ *  æµ®åå°æ°ç¹æ¼ç®ã¦ãããä¾å­é¨
+ */
+#define	LOG_DSP_ENTER(tcb)
+#define	LOG_DSP_LEAVE(tcb)
+
+
+#endif /* _SYS_TOOL_CONFIG_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/sys_unrename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.c
+ */
+#undef ipm_table
+#undef no_reg_CPM_interrupt
+#undef no_reg_SIU_interrupt
+#undef sil_debug_on
+#undef sil_buffer
+#undef sil_pos
+#undef sil_log_id
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.c
+ */
+#undef _ipm_table
+#undef _no_reg_CPM_interrupt
+#undef _no_reg_SIU_interrupt
+#undef _sil_debug_on
+#undef _sil_buffer
+#undef _sil_pos
+#undef _sil_log_id
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/tb6102s.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/tb6102s.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/tb6102s.h	(revision 26)
@@ -0,0 +1,174 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tb6102s.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *  ã¿ã³ããã¯ãMPC860T CPUãã¼ãTB6102S
+ *  ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _TB6102S_H_
+#define _TB6102S_H_
+
+
+/*
+ *  å²è¾¼ã¿é¢é£ã®å®ç¾©
+ */
+
+/*  æªå®ç¾©ã®å²è¾¼ã¿ã«å¯¾ããIPMã®ããã©ã«ãå¤  */
+#define DEFAULT_IPM	0x00	/*  ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢  */
+
+/*  CPMããSIUã¸ã®å²è¾¼ã¿è¦æ±ã¬ãã«  */
+	/*  CICR.IRL0ã®è¨­å®å¤ï¼ããã16-18ã®2é²æ°ï¼  */
+#define CICR_IRL0	(CPM_INT_LEVEL << (31 - 18))
+
+/*  SIUããè¦ãCPMã®å²è¾¼ã¿çªå·  */
+#define INHNO_CPM		LEVEL_TO_INHNO(CPM_INT_LEVEL)
+
+/*  SIUããè¦ãCPMã®å²è¾¼ã¿è¨±å¯ããã  */
+#define ENABLE_CPM		LEVEL_TO_ENABLE_BIT(CPM_INT_LEVEL)
+
+/*  CPMå²è¾¼ã¿ã®IPM  */
+#define IPM_CPM			LEVEL_TO_IPM(CPM_INT_LEVEL)
+
+
+/*
+ *  ã¿ã¤ãé¢é£ã®è¨­å®
+ *
+ */
+/* ã¿ã¤ãã®å²ãè¾¼ã¿ã¬ãã«ï¼SIUã®å
+é¨ã¬ãã«ï¼ */
+#define INTLVL_PIT	INTLVL_TIMER
+
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³ï¼æªå®æï¼
+ */
+#ifndef _MACRO_ONLY
+#ifdef GDB_STUB
+
+#define tb6102s_exit	stub_exit
+#define tb6102s_putc	stub_putc
+
+Inline void
+stub_exit(void)
+{
+}
+
+Inline void
+stub_putc(char c)
+{
+}
+
+/*
+ *  GDB stubãä½¿ããªãå ´åï¼ROMåç¨ï¼
+ */
+#else /* GDB_STUB */
+
+extern void	smc_putc_pol(char c);	/*  mpc860_smc.c  */
+
+/*
+ *  SILã®ã¢ã¯ã»ã¹ã»ã­ã°æ©è½ãæå¹ã«ããå ´å
+ */
+#ifdef SIL_DEBUG
+
+#define SIL_BUFFER_SIZE	10000
+char sil_buffer[SIL_BUFFER_SIZE];
+int sil_pos;
+BOOL sil_debug_on;
+
+Inline void
+tb6102s_exit()
+{
+	int i;
+
+	sil_debug_on = FALSE;
+	
+	/*  ãªã³ã°ãããã¡ããå¤ãé ã«ãã¼ã¿ãè¡¨ç¤ºãã  */
+	for(i=sil_pos; i<SIL_BUFFER_SIZE; i++) {
+		smc_putc_pol(sil_buffer[i]);
+	}
+	for(i=0; i<sil_pos; i++) {
+		smc_putc_pol(sil_buffer[i]);
+	}
+	while(1);
+}
+
+Inline void 
+tb6102s_putc(char c)
+{
+	++sil_pos;
+	sil_pos %= SIL_BUFFER_SIZE;
+	sil_buffer[sil_pos] = c;
+}
+
+#else	/* SIL_DEBUG */
+
+Inline void
+tb6102s_exit()
+{
+	while(1);
+}
+
+Inline void 
+tb6102s_putc(char c)
+{
+	smc_putc_pol(c);
+}
+
+#endif	/* SIL_DEBUG */
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _TB6102S_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/mpc860t/user_config.h	(revision 26)
@@ -0,0 +1,234 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.1 2004/10/07 17:12:02 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/********************************************************************
+ *ãPowerPCãã¡ããªå
+±éã®è¨­å®
+ *ãã(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+#define	SUPPORT_POWER_MANAGEMENT
+
+/*
+ *  ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ã«æ´æ°ã­ã¼ãï¼ã¹ãã¢ã»ãã«ããã«å½ä»¤ã
+ *ãä½¿ç¨ããã©ããã®å®ç¾©
+ */
+//#define	USE_MULTIPLE_WORD_LOAD_STORE
+
+/*
+ *  ä¾å¤ãã¯ã¿ã®é
+ç½®ã«ãã£ã¦ã¯ãä¾å¤ãã¯ã¿ããtextã»ã¯ã·ã§ã³ã«ããç¶ã
+ *  ã®å¦çã«åå²ããéãbå½ä»¤ã«ããPCç¸å¯¾åå²ï¼åå¾0x07ff,ffffï¼ã§ã¯å±
+ *  ããªãå ´åããããABSOLUTE_JUMP_EXC_ENTRYãã¯ã­ãå®ç¾©ããã¨çµ¶å¯¾çª
+ *  å°ãæå®ãã¦åå²ããå®è£
+ã«åãæ¿ããããã®åé¡ãåé¿ã§ããã
+ */
+#define ABSOLUTE_JUMP_EXC_ENTRY
+
+
+/********************************************************************
+ *ãPowerPCãã¡ããªå
+±éã®è¨­å®
+ *ãã(2) å¤ãè¨­å®ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 -              ãã¼ã¿é å(16MB)
+ *                  - 0x0100,0000  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *      0x1000,0000 - 0x1040,0000  ã³ã¼ãé å(4MB)  ã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	0x01000000
+
+/*  ã·ã¹ãã ã¯ã­ãã¯ [MHz] */
+#define SYSTEM_CLOCK	50
+
+
+/*
+ *  ã¿ã¤ãé¢é£ã®è¨­å®
+ *
+ */
+
+/* ã¿ã¤ãã®å²ãè¾¼ã¿ã¬ãã« */
+/*  MPC860Tã®å ´åã¯SIUã®å
+é¨ã¬ãã«ãè¡¨ãã  */
+#define INTLVL_TIMER	3
+
+/*
+ *  ã¿ã¤ãé¢é£ã®è¨­å®
+ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ã·ãªã¢ã«é¢é£ã®è¨­å®
+ */
+
+/* ã·ãªã¢ã«ã®å²ãè¾¼ã¿ã¬ãã« */
+/*  MPC860Tã®å ´åã¯CPMããSIUã¸ã®å²è¾¼ã¿ã¬ãã«ã«ãã£ã¦æ±ºå®ããã  */
+//#define INTLVL_SERIAL
+
+/*  ãã¼ã¬ã¼ãã[bps]  */
+#define BAUD_RATE	9600
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+#define TNUM_PORT 1	/* GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+#define	TNUM_SIOP 1	/* PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+#define	LOGTASK_PORTID	1  /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+			/*  ç¾ç¶ã§ã¯SMC1ã®ã¿ãµãã¼ã  */
+
+
+/********************************************************************
+ *  ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®é 
+ç®
+ *ãã(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  ãã£ã¹ãããã£ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ãè¡ãã
+ *ãã©ããã®å®ç¾©
+ *ãï¼MPC860Tã¯æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãå®è£
+ããã¦ããªããï¼
+ */
+//#define	SUPPORT_FLOATING_POINT_REG
+
+/*
+ *  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x00a00ãä½¿ç¨ãã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	IMPLEMENT_EXCEPTION_00A00
+
+
+/********************************************************************
+ *  MPC860Tåºæã®è¨­å®é 
+ç®
+ *ãã(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  SILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½ãæå¹ã«ãããã©ããã®å®ç¾©
+ */
+//#define	SIL_DEBUG
+
+
+/********************************************************************
+ *  MPC860Tåºæã®è¨­å®é 
+ç®
+ *ãã(2) å¤ãè¨­å®ãããã¯ã­
+ ********************************************************************/
+
+/*
+ *  CPMããSIUã¸ã®å²è¾¼ã¿è¦æ±ã¬ãã«
+ *  ãã·ãªã¢ã«å²è¾¼ã¿ã®ã¬ãã«å®ç¾©ãå
+¼ã­ã¦ããã
+ */
+#define CPM_INT_LEVEL	4
+
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/powerpc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/powerpc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/powerpc.h	(revision 26)
@@ -0,0 +1,198 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: powerpc.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*  
+ *   PowerPCã¢ã¼ã­ãã¯ãã£ä¾å­ã®å®ç¾©
+ *   ãæ³¨æï¼ä¸é¨ã32ãããã»ã¤ã³ããªã¡ã³ãå°ç¨ã«ãªã£ã¦ãã
+ *   ã
+ *   ãPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã¯ä»¥ä¸ã®ï¼ã¤ã®ã¬ãã«ããæã
+ *   ãã»USIA:User Instruction Set Architecture
+ *   ãã»VEA: Virtual Environment Architecture
+ *   ãã»OEA: Operating Environment Architecture
+ *   ã
+ *   ãUSIAã«ã¤ãã¦ã¯å
+¨æ©ç¨®å
+±éã§ããããVEAã¨OEAã«ã¤ãã¦ã¯
+ *   ããªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã¨The IBM PowerPC 
+ *   ãEmbedded Environmentããããå¥ã«å®ç¾©ããã¦ããããã
+ *   ãVEAã¨OEAã®å®ç¾©ã¯ãã¡ã¤ã«ãåãã¦ããããã¤ã³ã¯ã«ã¼ã
+ *   ããã¦ããã
+ */   
+
+#ifndef _POWERPC_H_
+#define _POWERPC_H_
+
+#include <util.h>
+
+
+/*  
+ *   VEAã¨OEAã®å®ç¾©
+ */   
+
+#ifndef IBM_PPC_EMB_ENV
+/*  
+ *   ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã®å ´å
+ *   ããã¢ãã­ã¼ã©MPCã·ãªã¼ãºãIPM PowerPC6xx/7xxã·ãªã¼ãºã¯
+ *   ãããã¡ãã«è©²å½ããã
+ */   
+#include <vea_oea.h>
+
+#else	/*  IBM_PPC_EMB_ENV  */
+/*  
+ *   The IBM PowerPC Embedded Environmentã®å ´å
+ *   ãIBMç³»PowerPC40xã·ãªã¼ãºå¯¾å¿
+ */   
+#include <vea_oea_emb.h>
+
+#endif	/*  IBM_PPC_EMB_ENV  */
+
+
+/*  
+ *   UISAã®å®ç¾©
+ */   
+
+/*  
+ *  ã¬ã¸ã¹ã¿çªå·ã®å®ç¾©
+ *  ããCè¨èªã®å¤æ°åã¨ã¶ã¤ãããããªã®ã§ãã¢ã»ã³ãã©å
+ã«éå®ãã
+ */   
+#ifdef _MACRO_ONLY
+
+/* CPUã³ã¢ã®å
+é¨ã¬ã¸ã¹ã¿ã®åç§° */
+
+/*  æ±ç¨ã¬ã¸ã¹ã¿  */
+#define r0       0      /*  zeroã¾ãã¯æ±ç¨ã¬ã¸ã¹ã¿  */
+#define r1       1
+#define sp       r1     /*  ã¹ã¿ãã¯ãã¤ã³ã¿  */
+
+#define r2       2      /*  TOCï¼Table of Contents  */
+#define r3       3      /*  r3-4ï¼å¼æ°ãæ»ãå¤  */
+#define r4       4
+#define r5       5      /*  r5-10ï¼å¼æ°  */
+#define r6       6
+#define r7       7
+#define r8       8
+#define r9       9
+#define r10     10
+#define r11     11
+#define r12     12
+#define r13     13      /*  r13ï¼small data  */
+#define r14     14      /*  r14-30ï¼ã­ã¼ã«ã«å¤æ°  */
+#define r15     15
+#define r16     16
+#define r17     17
+#define r18     18
+#define r19     19
+#define r20     20
+#define r21     21
+#define r22     22
+#define r23     23
+#define r24     24
+#define r25     25
+#define r26     26
+#define r27     27
+#define r28     28
+#define r29     29
+#define r30     30
+#define r31     31
+#define fp      r31     /*  ãã¬ã¼ã ãã¤ã³ã¿  */
+
+/*  æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿  */
+#define f0       0
+#define f1       1      /*  f1ï¼å¼æ°ãæ»ãå¤  */
+#define f2       2      /*  f2-13ï¼å¼æ°  */
+#define f3       3
+#define f4       4
+#define f5       5
+#define f6       6
+#define f7       7
+#define f8       8
+#define f9       9
+#define f10     10
+#define f11     11
+#define f12     12
+#define f13     13
+#define f14     14      /*  f14-31ï¼ã­ã¼ã«ã«å¤æ°  */
+#define f15     15
+#define f16     16
+#define f17     17
+#define f18     18
+#define f19     19
+#define f20     20
+#define f21     21
+#define f22     22
+#define f23     23
+#define f24     24
+#define f25     25
+#define f26     26
+#define f27     27
+#define f28     28
+#define f29     29
+#define f30     30
+#define f31     31
+
+/*  ç¹æ®ã¬ã¸ã¹ã¿  */
+#define XER      1      /* Fixed Point Exception Register  */
+			/*  æ´æ°ãªãã¬ã¼ã·ã§ã³ã®æ¡ä»¶è­å¥ã¬ã¸ã¹ã¿ */
+			/*  ï¼ã­ã£ãªã¼ããªã¼ããã­ã¼ãªã©ï¼  */
+#define LR       8      /*  ãªã³ã¯ã»ã¬ã¸ã¹ã¿  */
+#define CTR      9      /*  ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿  */
+
+#endif  /* _MACRO_ONLY */
+
+#define crf0        0   /*  ã³ã³ãã£ã·ã§ã³ã¬ã¸ã¹ã¿CRã®ãã£ã¼ã«ãæå®  */
+
+#endif /* _POWERPC_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/start.S	(revision 26)
@@ -0,0 +1,184 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼PowerPCç¨ï¼
+ *	
+ *	ã¬ã¸ã¹ã¿ã®å²ãå½ã¦
+ *		r1ã ï¼ã¹ã¿ãã¯ãã¤ã³ã¿
+ *		SPRG0ï¼å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ *		SPRG1ï¼int_table
+ *			ããå²è¾¼ã¿ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹
+ *		SPRG2ï¼exc_table
+ *			ããCPUä¾å¤ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹
+ */
+
+#define	_MACRO_ONLY
+#include <t_config.h>
+
+	.text
+	.globl start
+	.globl start_1
+start:
+	/*
+	 *  ãã­ã»ããµã¢ã¼ãã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+	 *ãããªã»ããæã®MSRã®åæå¤ãã®ã¾ã¾ã§ãããã°ã
+	 *ããINIT_MSRã¯å®ç¾©ããªãã¦ãããã
+	 */
+#ifdef INIT_MSR
+	LI32(r3, INIT_MSR)		/*  MSRã®åæå  */
+	mtmsr	r3
+#endif	/*  INIT_MSR  */
+	
+	/*
+	 * éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * STACKTOPã¯ãsys_config.hã§å®ç¾©
+	 * ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã®é¢ä¿ã§8ãã¤ããããã¦ãã
+	 */
+	LI32(sp, STACKTOP - STACK_MARGIN)
+	
+	/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®åæå  */
+	li	r5, 1
+	mtspr	SPRG0, r5
+	
+	/*  å²è¾¼ã¿ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹  */
+	LI32(r6, int_table)
+	mtspr	SPRG1, r6
+	
+	/*  CPUä¾å¤ç¨æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹  */
+	LI32(r7, exc_table)
+	mtspr	SPRG2, r7
+	
+	/*
+	 *  hardware_init_hook ã®å¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+	LI32(r8, hardware_init_hook)
+	mtctr	r8
+	cmpwi	crf0, r8, 0
+	bnectrl
+
+	/*
+	 *  bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
+	 */
+start_1:
+	LI32(r5, __bss_start)
+	LI32(r6, _end)
+	cmpw	crf0, r5, r6
+	beq	start_3
+	li	r0, 0
+	subi	r5, r5, 4
+	subi	r6, r6, 4
+start_2:
+	stwu	r0, 4(r5)	/*  r5ã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+	cmpw	crf0, r5, r6
+	blt	start_2	
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ã®åæåï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 */
+start_3:
+	LI32(r7, __idata_start)
+	LI32(r8, __idata_end)
+	cmpw	crf0, r7, r8
+	beq	start_5
+	LI32(r9, __data_start)
+	subi	r7, r7, 4	/*  lwzuå½ä»¤ãä½¿ããã-4ãã¦ãã  */
+	subi	r8, r8, 4
+	subi	r9, r9, 4
+start_4:
+	lwzu	r10, 4(r7)	/*  r7ã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+	stwu	r10, 4(r9)	/*  r9ã®æ´æ°ã1å½ä»¤ã§å®è¡ããã  */
+	cmpw	crf0, r7, r8
+	blt	start_4
+
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:
+	LI32(r4, software_init_hook)
+	mtctr	r4
+	cmpwi	crf0, r4, 0
+	bnectrl
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åããï¼
+	 */
+start_6:
+	LI32(r5, kernel_start)
+	mtctr	r5
+	bctr
+
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_config.h	(revision 26)
@@ -0,0 +1,358 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ããã³
+ *  ããæµ®åå°æ°ç¹æ¼ç®ã¦ãããä¾å­é¨ã®å®ç¾©
+ */
+#include <sys_tool_config.h>
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  ã¢ã»ã³ãã©çä¼¼å½ä»¤
+ *  ããåè
+ *  ããã@hã¨@haã®éã
+ *  ããããã»@hã¯oriå½ä»¤ã¨çµã¿åããã¦ä½¿ãã
+ *  ããããã»@haã¯å ç®ã¨çµã¿åããã¦ä½¿ãã
+ */
+                        /*  32ãããå³å¤ã­ã¼ã  */
+#define LI32(reg, imm)  _LI32(reg, imm) 
+#define _LI32(reg, imm) lis reg, (imm)@h;          \
+                        ori reg, reg, (imm)@l
+
+                        /*  32ãããå¤æ°ã­ã¼ã  */
+#define LOAD_VAL32(reg, val)   _LOAD_VAL32(reg, val)
+#define _LOAD_VAL32(reg, val)               	\
+                        lis reg, (val)@ha;      \
+                        lwz reg, (val)@l(reg)
+
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­
+ *  ãGNUéçºç°å¢ã§ã¯å®ç¾©ãçç¥ãã¦è¯ã
+ *
+ *    #define __EMPTY_LABEL(x, y)
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡call_atexit()
+ */
+Inline void
+call_atexit()
+{
+	extern void software_term_hook(void) __attribute__((longcall));
+	/*  ç¸å¯¾åå²ã§å±ããªããããlongcallå±æ§ãæå®ãã¦ãã  */
+
+	/*  
+	 *ãsoftware_term_hook()ã®æç¡ã¯ã©ã¤ãã©ãªã§æ±ºã¾ãã
+	 *ãã«ã¼ãã«èªä½ã¯ãã®è¨è¿°ã§ã©ã¡ãã®å ´åã«ãå¯¾å¿ãã¦ããã
+	 */
+	if (software_term_hook != 0) {
+		software_term_hook();
+	}
+}
+
+
+#endif	/*  _MACRO_ONLY  */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©
+ *ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³æ¯$(SYS)/sys_tool_config.hã§å®ç¾©ããã
+ *ãã$(SYS)/sys_tool_config.hã«å®ç¾©ããªãå ´åã¯ããã©ã«ãã§
+ *ããç©ºã®å®ç¾©ããããã
+ */
+#ifndef LOG_INH_ENTER
+#define	LOG_INH_ENTER(inhno)
+#endif /*  LOG_INH_ENTER  */
+
+#ifndef LOG_INH_LEAVE
+#define	LOG_INH_LEAVE(inhno)
+#endif /*  LOG_INH_LEAVE  */
+
+#ifndef LOG_ISR_ENTER
+#define	LOG_ISR_ENTER(intno)
+#endif /*  LOG_ISR_ENTER  */
+
+#ifndef LOG_ISR_LEAVE
+#define	LOG_ISR_LEAVE(intno)
+#endif /*  LOG_ISR_LEAVE  */
+
+#ifndef LOG_CHG_IPM_ENTER
+#define	LOG_CHG_IPM_ENTER(ipm)
+#endif /*  LOG_CHG_IPM_ENTER  */
+
+/*  å¼æ°ã«IPMåãå«ã¾ãªããå¿µã®ãããåé¢ãã¦ãã  */
+#ifndef LOG_CHG_IPM_LEAVE
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#endif /*  LOG_CHG_IPM_LEAVE  */
+
+#ifndef LOG_GET_IPM_ENTER
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#endif /*  LOG_GET_IPM_ENTER  */
+
+#ifndef LOG_GET_IPM_LEAVE
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+#endif /*  LOG_GET_IPM_LEAVE  */
+
+/*
+ *  DSPä¾å­ã®å®ç¾©
+ */
+#ifndef LOG_DSP_ENTER
+#define	LOG_DSP_ENTER(tcb)
+#endif /*  LOG_DSP_ENTER  */
+
+#ifndef LOG_DSP_LEAVE
+#define	LOG_DSP_LEAVE(tcb)
+#endif /*  LOG_DSP_LEAVE  */
+
+
+
+/*
+ *  PowerPCãã¡ããªå
+±éã®å®ç¾©
+ */
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#endif /* _TOOL_CONFIG_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/tool_defs.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/util.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*  
+ *   ãããçªå·ã®å®ç¾©
+ *   ãæ³¨æï¼PowerPCã®ãããçªå·ã¯éå¸¸ã¨éã«ãªã£ã¦ãã
+ *   ããããã¾ãã32ãããã¬ã¸ã¹ã¿ã¨16ãããã¬ã¸ã¹ã¿ã§ã¯
+ *   ããããæä¸ä½ãããã®ãããçªå·ãç°ãªãç¹ã«ãæ³¨æ
+ */   
+
+/*  32ãããã¬ã¸ã¹ã¿ç¨  */
+#define BIT0_32    0x80000000
+#define BIT1_32    0x40000000
+#define BIT2_32    0x20000000
+#define BIT3_32    0x10000000
+#define BIT4_32     0x8000000
+#define BIT5_32     0x4000000
+#define BIT6_32     0x2000000
+#define BIT7_32     0x1000000
+#define BIT8_32      0x800000
+#define BIT9_32      0x400000
+#define BIT10_32     0x200000
+#define BIT11_32     0x100000
+#define BIT12_32      0x80000
+#define BIT13_32      0x40000
+#define BIT14_32      0x20000
+#define BIT15_32      0x10000
+#define BIT16_32       0x8000
+#define BIT17_32       0x4000
+#define BIT18_32       0x2000
+#define BIT19_32       0x1000
+#define BIT20_32        0x800
+#define BIT21_32        0x400
+#define BIT22_32        0x200
+#define BIT23_32        0x100
+#define BIT24_32         0x80
+#define BIT25_32         0x40
+#define BIT26_32         0x20
+#define BIT27_32         0x10
+#define BIT28_32          0x8
+#define BIT29_32          0x4
+#define BIT30_32          0x2
+#define BIT31_32          0x1
+
+/*  16ãããã¬ã¸ã¹ã¿ç¨  */
+#define BIT0_16        0x8000
+#define BIT1_16        0x4000
+#define BIT2_16        0x2000
+#define BIT3_16        0x1000
+#define BIT4_16         0x800
+#define BIT5_16         0x400
+#define BIT6_16         0x200
+#define BIT7_16         0x100
+#define BIT8_16          0x80
+#define BIT9_16          0x40
+#define BIT10_16         0x20
+#define BIT11_16         0x10
+#define BIT12_16          0x8
+#define BIT13_16          0x4
+#define BIT14_16          0x2
+#define BIT15_16          0x1
+
+/*  8ãããã¬ã¸ã¹ã¿ç¨  */
+#define BIT0_8           0x80
+#define BIT1_8           0x40
+#define BIT2_8           0x20
+#define BIT3_8           0x10
+#define BIT4_8            0x8
+#define BIT5_8            0x4
+#define BIT6_8            0x2
+#define BIT7_8            0x1
+
+/*  ã·ã³ãã«åã®æå­åå  */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+#endif /* _UTIL_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea.h	(revision 26)
@@ -0,0 +1,242 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vea_oea.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*  
+ *   PowerPCã¢ã¼ã­ãã¯ãã£VEA,OEAä¾å­ã®å®ç¾©
+ *   ããªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã®å ´å
+ *   ããã¢ãã­ã¼ã©MPCã·ãªã¼ãºãIPM PowerPC6xx/7xxã·ãªã¼ãºã¯
+ *   ãããã¡ãã«è©²å½ããã
+ *   ã
+ *   ãPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã¯ä»¥ä¸ã®ï¼ã¤ã®ã¬ãã«ããæã
+ *   ãã»USIA:User Instruction Set Architecture
+ *   ãã»VEA: Virtual Environment Architecture
+ *   ãã»OEA: Operating Environment Architecture
+ *   ã
+ *   ãUSIAã«ã¤ãã¦ã¯å
+¨æ©ç¨®å
+±éã§ããããVEAã¨OEAã«ã¤ãã¦ã¯
+ *   ããªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã¨The IBM PowerPC 
+ *   ãEmbedded Environmentããããå¥ã«å®ç¾©ããã¦ããããã
+ *   ãVEAã¨OEAã®å®ç¾©ã¯ãã¡ã¤ã«ãåãã¦ããããã¤ã³ã¯ã«ã¼ã
+ *   ããã¦ããã
+ */   
+
+#ifndef _VEA_OEA_H_
+#define _VEA_OEA_H_
+
+/*  
+ *  ã¬ã¸ã¹ã¿çªå·ã®å®ç¾©
+ */   
+
+/*  
+ *  Configuration Register
+ */   
+#define PVR	287	/*  ãã­ã»ããµã»ãã¼ã¸ã§ã³ã»ã¬ã¸ã¹ã¿  */
+
+/*  
+ *  Memory Management Registers
+ */   
+/*  Instruction BAT Registers  */
+#define IBAT0U	528
+#define IBAT0L	529
+#define IBAT1U	530
+#define IBAT1L	531
+#define IBAT2U	532
+#define IBAT2L	533
+#define IBAT3U	534
+#define IBAT3L	535
+
+/*  Instruction BAT Registers  */
+#define DBAT0U	536
+#define DBAT0L	537
+#define DBAT1U	538
+#define DBAT1L	539
+#define DBAT2U	540
+#define DBAT2L	541
+#define DBAT3U	542
+#define DBAT3L	543
+
+#define SDR1	 25
+#define ASR	280
+
+/*  
+ *  Exception Handling Registers
+ */   
+#define DAR	 19	/*  Data Address Register  */
+
+#define SPRG0   272     /*  ç¹æ®ã¬ã¸ã¹ã¿ï¼OSç¨  */
+#define SPRG1   273     /*  ç¹æ®ã¬ã¸ã¹ã¿ï¼OSç¨  */
+#define SPRG2   274     /*  ç¹æ®ã¬ã¸ã¹ã¿ï¼OSç¨  */
+#define SPRG3   275     /*  ç¹æ®ã¬ã¸ã¹ã¿ï¼OSç¨  */
+
+#define DSISR    18     /*  DSIã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(*)  */
+                        /*  ãDSIï¼ãã¼ã¿ã»ã¹ãã¢å²è¾¼ã¿  */
+#define SRR0     26     /*  å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿0  */
+#define SRR1     27     /*  å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿1  */
+
+#define FPECR	1022	/*  Floating-Point Exception Cause Register  */
+
+
+/*  
+ *  Miscellaneous Registers
+ */   
+/*  Time Base Facility(OEA:for Writing)  */
+#define TBLw	284
+#define TBUw	285
+
+/*  Time Base Facility(VEA:for Reading)  */
+#define TBL	268
+#define TBU	269
+
+#define DEC      22     /*  ãã£ã¯ãªã¡ã³ãã»ã¬ã¸ã¹ã¿(*)  */
+
+#define PIR	1023	/*  Processor Identification Register  */
+
+#define DABR	1013	/*  DATA Address Breakpint Register(option)  */
+#define EAR	 282	/*  Exception Access Register(option)  */
+
+
+
+/*  
+ *   ãããçªå·ã®å®ç¾©
+ *   ãæ³¨æï¼PowerPCã®ãããçªå·ã¯éå¸¸ã¨éã«ãªã£ã¦ãã
+ *   ããããã¾ãã32ãããã¬ã¸ã¹ã¿ã¨16ãããã¬ã¸ã¹ã¿ã§ã¯
+ *   ããããæä¸ä½ãããã®ãããçªå·ãç°ãªãç¹ã«ãæ³¨æ
+ */   
+
+/*  ãã·ã³ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®åãããã®å®ç¾©  */
+/*  ãæ³¨æï¼32ãããã»ã¤ã³ããªã¡ã³ãå°ç¨  */
+#define MSR_POW BIT13_32    /*  ãã¯ã¼ããã¼ã¸ã¡ã³ãã»ã¤ãã¼ãã«  */
+#define MSR_ILE BIT15_32    /*  ä¾å¤å¦çæã®ã¨ã³ãã£ã¢ã³ã¢ã¼ã  */
+                            /*  ãä¾å¤åä»æã«MSR.LEâMSR.ILE  */
+#define MSR_EE  BIT16_32    /*  å¤é¨å²è¾¼ã¿ã¤ãã¼ãã«  */
+#define MSR_PR  BIT17_32    /*  ç¹æ¨©ã¬ãã«  */
+                            /*  ã0ï¼ã¹ã¼ããã¤ã¶ã»ã¬ãã«  */
+                            /*  ã1ï¼ã¦ã¼ã¶ã»ã¬ãã«  */
+#define MSR_FP  BIT18_32    /*  æµ®åå°æ°ç¹ã¤ãã¼ãã«  */
+#define MSR_ME  BIT19_32    /*  ãã·ã³ãã§ãã¯ã»ã¤ãã¼ãã«  */
+#define MSR_FE0 BIT20_32    /*  æµ®åå°æ°ç¹ä¾å¤ã¢ã¼ã0  */
+#define MSR_FE1 BIT23_32    /*  æµ®åå°æ°ç¹ä¾å¤ã¢ã¼ã1  */
+                            /*  ãæ³¨æï¼çªå·ãä¸é£ç¶  */
+#define MSR_SE  BIT21_32    /*  ã·ã³ã°ã«ã¹ããããã¬ã¼ã¹ã»ã¤ãã¼ãã«  */
+#define MSR_BE  BIT22_32    /*  åå²ãã¬ã¼ã¹ã»ã¤ãã¼ãã«  */
+#define MSR_IP  BIT25_32    /*  ä¾å¤ããªãã£ãã¯ã¹  */
+                            /*  ã0ï¼0x000n,nnnn  */
+                            /*  ã1ï¼0xfffn,nnnn  */
+#define MSR_IR  BIT26_32    /*  å½ä»¤ã¢ãã¬ã¹å¤æã¤ãã¼ãã«  */
+#define MSR_DR  BIT27_32    /*  ãã¼ã¿ã¢ãã¬ã¹å¤æã¤ãã¼ãã«  */
+#define MSR_RI  BIT30_32    /*  åå¾©å¯è½ãªä¾å¤  */
+                            /*  ã0:åå¾©ä¸å¯è½  */
+                            /*  ã1:åå¾©å¯è½  */
+#define MSR_LE  BIT31_32    /*  ãªãã«ã¨ã³ãã£ã¢ã³ã»ã¢ã¼ã  */
+                            /*  ã0ï¼ããã°ã¨ã³ãã£ã¢ã³  */
+                            /*  ã1ï¼ãªãã«ã¨ã³ãã£ã¢ã³  */
+/*  0ã§äºç´ããã¦ãããããã®ããã®ãã¹ã¯  */
+#define MSR_MASK    ~(BIT0_32 | BIT1_32 | BIT2_32 | BIT3_32 | BIT4_32 \
+                    | BIT5_32 | BIT6_32 | BIT7_32 | BIT8_32 | BIT9_32 \
+                    | BIT10_32 | BIT11_32 | BIT12_32 | BIT24_32 \
+                    | BIT28_32 | BIT29_32)
+
+
+/*  
+ *   CPUä¾å¤è¦å ã®å®ç¾©
+ *   ãçªå·ãä¸é£ç¶ãªã®ã§CPUä¾å¤æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ä¸é¨ç¡é§ãå
+¥ããã
+ *   ãPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã«åãããæ¹ãåªå
+ããã
+ */   
+#define EXC_NO_SYSTEM_RESET             0x1   /*  ã·ã¹ãã ãªã»ããä¾å¤  */
+#define EXC_NO_MACHINE_CHECK            0x2   /*  ãã·ã³ã»ãã§ãã¯ä¾å¤  */
+#define EXC_NO_DSI                      0x3   /*  DSIä¾å¤  */
+                                        /*  ï¼ãã¼ã¿ã»ã¡ã¢ãªã»ã¢ã¯ã»ã¹ï¼  */
+#define EXC_NO_ISI                      0x4   /*  ISIä¾å¤ï¼å½ä»¤ãã§ããï¼  */
+#define EXC_NO_EXTERNAL_INTERRUPT       0x5   /*  å¤é¨å²è¾¼ã¿  */
+#define EXC_NO_ALIGNMENT                0x6   /*  ã¢ã©ã¤ã¡ã³ãä¾å¤  */
+#define EXC_NO_PROGRAM                  0x7   /*  ãã­ã°ã©ã ä¾å¤  */
+#define EXC_NO_FLOATING_POINT_UNAVAILABLE 0x8   /*  æµ®åå°æ°ç¹ä½¿ç¨ä¸å¯  */
+#define EXC_NO_DECREMENTER              0x9   /*  ãã¯ãªã¡ã³ã¿ä¾å¤  */
+                            /*  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x00a00  */
+#define EXC_NO_IMPLEMENT_EXCEPTION_00A00 0xa 
+#define EXC_NO_SYSTEM_CALL              0xc /*  ã·ã¹ãã ã³ã¼ã«  */
+#define EXC_NO_TRACE                    0xd /*  ãã¬ã¼ã¹ï¼ãªãã·ã§ã³ï¼  */
+#define EXC_NO_FLOATING_POINT_ASSIST    0xe /*  æµ®åå°æ°ç¹è£å©  */
+                            /*  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x01000  */
+#define EXC_NO_IMPLEMENT_EXCEPTION_01000 0x10    
+
+
+/*  
+ *   ä¾å¤ã®ç¨®å¥æ°
+ *   ãå¤é¨å²è¾¼ã¿ãï¼ã¤ã¨æ°ãã
+ *   ãã0çªã¯æªä½¿ç¨
+ *   ãããã»ä¾å¤ãã¯ã¿ã®ãªãã»ããã¨å¯¾å¿
+ *   ãããã»å¤é¨å²ãè¾¼ã¿ãï¼ã¤ã¨æ°ãã
+ *   ãããã»é
+åå®£è¨ã®ããã+1ãã¦ãã
+ */   
+
+#ifdef IMPLEMENT_EXCEPTION_01000    /*  ä¾å¤ãã¯ã¿0x1000ãä½¿ç¨ããå ´å  */
+#define TMAX_EXCNO       ( 0x10 + 1 )
+
+#else /* IMPLEMENT_EXCEPTION_01000 */
+#define TMAX_EXCNO       ( 0xe + 1 )
+
+#endif /* IMPLEMENT_EXCEPTION_01000 */
+
+
+
+
+#endif /* _VEA_OEA_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea_emb.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea_emb.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/powerpc32/vea_oea_emb.h	(revision 26)
@@ -0,0 +1,257 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vea_oea_emb.h,v 1.2 2004/10/07 17:10:56 honda Exp $
+ */
+
+/*  
+ *   PowerPCã¢ã¼ã­ãã¯ãã£VEA,OEAä¾å­ã®å®ç¾©
+ *   ãThe IBM PowerPC Embedded Environmentã®å ´å
+ *   ããIBMç³»PowerPC40xãã¡ããªãã¡ãã«è©²å½ããã
+ *   ã
+ *   ãPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã¯ä»¥ä¸ã®ï¼ã¤ã®ã¬ãã«ããæã
+ *   ãã»USIA:User Instruction Set Architecture
+ *   ãã»VEA: Virtual Environment Architecture
+ *   ãã»OEA: Operating Environment Architecture
+ *   ã
+ *   ãUSIAã«ã¤ãã¦ã¯å
+¨æ©ç¨®å
+±éã§ããããVEAã¨OEAã«ã¤ãã¦ã¯
+ *   ããªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ã¨The IBM PowerPC 
+ *   ãEmbedded Environmentããããå¥ã«å®ç¾©ããã¦ããããã
+ *   ãVEAã¨OEAã®å®ç¾©ã¯ãã¡ã¤ã«ãåãã¦ããããã¤ã³ã¯ã«ã¼ã
+ *   ããã¦ããã
+ */   
+
+
+#ifndef _VEA_OEA_EMB_H_
+#define _VEA_OEA_EMB_H_
+
+/*  
+ *  ã¬ã¸ã¹ã¿çªå·ã®å®ç¾©
+ */   
+
+/*
+ *  Special Purpose Registerã®ã¬ã¸ã¹ã¿çªå·
+ *  ãã(*)å°ï¼å
+ã®PowerPCã¢ã¼ã­ãã¯ãã£ã§ã¯å®ç¾©ããã¦ããªãã¬ã¸ã¹ã¿
+ */
+
+/*
+ *  ä¾å¤å¦çã«é¢ããã¬ã¸ã¹ã¿
+ */
+#define SRR0	  26	/* Save/Restore Register0  */
+#define SRR1	  27	/* Save/Restore Register1  */
+#define SRR2	 990	/* Save/Restore Register2(*)  */
+#define SRR3	 991	/* Save/Restore Register3(*)  */
+#define ESR	 980	/* Exception Syndrome Register(*)  */
+#define DEAR	 981	/* Data Exception Address Register(*)  */
+#define EVPR	 982	/* Exception Vector Prefix Register(*)  */
+
+#define SPRG0	 272	/* SPR General 0  */
+#define SPRG1	 273	/* SPR General 1  */
+#define SPRG2	 274	/* SPR General 2  */
+#define SPRG3	 275	/* SPR General 3  */
+
+/*
+ *  ãã®ä»ã®ã¬ã¸ã¹ã¿
+ */
+#define DAC	1014	/* Data Address Compare(*) */
+#define DBCR	1010	/* Debug Control Register(*) */
+#define DBSR	1008	/* Debug Status Register(*) */
+#define DCCR	1018	/* Data Cache Cacheability Register(*) */
+#define DCWR	 954	/* Data Cache Write-thru Register(*) */
+
+#define IAC	1012	/* Instruction Address Compare(*) */
+#define ICCR	1019	/* Instruction Cache Cacheability Register(*) */
+
+#define PID	 945	/* Process ID Register  */
+#define PIT	 987	/* Programmable Interval Timer(*) */
+#define PVR	 287	/* Processor Version Register  */
+
+#define SGR	 953	/* Storage Guarded Register(*) */
+#define SLER	 955	/* Storage Little-Endian Register(*) */
+#define SMR	 952	/* Storage Memory-Coherent Register(*) */
+
+/*  VEA  */
+#define TBL	 268	/* Time Base Lower(for read)  */
+#define TBU	 269	/* Time Base Upper(for read)  */
+/*  OEA  */
+#define TBLw	 284	/* Time Base Lower(for write)  */
+#define TBUw	 285	/* Time Base Upper(for write)  */
+
+#define TCR	 986	/* Timer Control Registe(*) */
+#define TSR	 984	/* Timer Status Register(*) */
+#define ZPR	 944	/* Zone Protection Register(*) */
+
+/*
+ *  MSRã®ãããé
+å
+ */
+/*  0-10:Reserved  */
+#define MSR_APE	BIT11_32	/* Auxiliary Processor Exception Enable */
+#define MSR_APA	BIT12_32	/* Auxiliary Processor Available */
+#define MSR_WE	BIT13_32	/* Wait State Enable */
+#define MSR_CE	BIT14_32	/* Critical Enable */
+#define MSR_ILE	BIT15_32	/* Interrupt Little Endian */
+#define MSR_EE	BIT16_32	/* External Enable */
+#define MSR_PR	BIT17_32	/* Problem State */
+#define MSR_FP	BIT18_32	/* Floating Point Available */
+#define MSR_ME	BIT19_32	/* Machine Check Enable */
+#define MSR_FE0	BIT20_32	/* Floating Point Exception Mode 0 */
+/*  21:Reserved  */
+#define MSR_DE	BIT22_32	/* Debug Interrupts Enable */
+#define MSR_FE1	BIT23_32	/* Floating Point Exception Mode 1 */
+/*  23-25:Reserved  */
+#define MSR_IR	BIT26_32	/* Instruction Relocate */
+#define MSR_DR	BIT27_32	/* Data Relocate */
+/*  28-30:Reserved  */
+#define MSR_LE	BIT31_32	/* Little Endian */
+
+
+/*
+ *  ESR(Exception Syndrome Register)ã®ãããé
+å
+ */
+#define ESR_PIL	BIT4_32	 /* Program - Illegal Instruction exception */
+#define ESR_PPR	BIT5_32	 /* Program - Privileged Instruction exception */
+#define ESR_PTR	BIT6_32	 /* Program - Trap exception */
+#define ESR_PFE	BIT7_32	 /* Program - Floating Point Enabled exception */
+#define ESR_DST	BIT8_32	 /* Data Storage / Data TLB Miss - Store Operations */
+#define ESR_DIZ	BIT9_32	 /* Data / Instruction Storage - Zone exception */
+	/* Program - Auxiliary Processor Unavailable exception */
+#define ESR_PAU	BIT12_32
+	/* Program - Floating Point Enabled but Unimplemented exception */
+#define ESR_PFEU BIT13_32
+	/* Program - Auxiliary Processor Enabled exception */
+#define ESR_PAE	BIT14_32
+
+
+/*  
+ *   CPUä¾å¤è¦å ã®å®ç¾©
+ *   ãçªå·ãä¸é£ç¶ãªã®ã§CPUä¾å¤æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ä¸é¨ç¡é§ãå
+¥ããã
+ *   ãPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã«åãããæ¹ãåªå
+ããã
+ */   
+#define EXC_NO_CRITICAL_INPUT           	0x1
+#define EXC_NO_MACHINE_CHECK            	0x2
+#define EXC_NO_DATA_STORAGE             	0x3
+#define EXC_NO_INSTRUCTION_STORAGE      	0x4
+#define EXC_NO_EXTERNAL_INTERRUPT       	0x5   /*  å¤é¨å²è¾¼ã¿  */
+#define EXC_NO_ALIGNMENT                	0x6
+			/*  ãã­ã°ã©ã ä¾å¤ï¼è¦å ï¼ç¨®ï¼*/
+#define EXC_NO_PROGRAM                  	0x7
+#define EXC_NO_FLOATING_POINT_UNAVAILABLE 	0x8
+/*  ï¼APUãæã¤PowerPC405ã440ã®ã¿ï¼  */
+
+/*  0x900ï¼Reserved  */
+/*  0xa00ï¼Reserved  */
+/*  0xb00ï¼Reserved  */
+#define EXC_NO_SYSTEM_CALL              	0xc	/*  ã·ã¹ãã ã³ã¼ã«  */
+/*  0xd00ï¼Reserved  */
+/*  0xe00ï¼Reserved  */
+/*  0xe10-0xff0ï¼Reserved  */
+/* 0x1000ï¼Programmable Interval Timer  */
+/* 0x1010ï¼Fixed Interval Timer  */
+/* 0x1020ï¼Watchdog Timer  */
+/* 0x1030-0x10f0ï¼Reserved  */
+/* 0x1100ï¼Data TLB miss  */
+/* 0x1110-0x11f0ï¼Reserved  */
+/* 0x1200ï¼Instruction TLB miss  */
+/* 0x1210-0x1ff0ï¼Reserved  */
+/* 0x2000ï¼Debugï¼è¦å ï¼ç¨®ï¼   */
+/* 0x2010-0x2ff0ï¼Implementation Specific  */
+
+/*  
+ *   ä¾å¤ã®ç¨®å¥æ°
+ *   ãå¤é¨å²è¾¼ã¿ãï¼ã¤ã¨æ°ãã
+ *   ãã0çªã¯æªä½¿ç¨
+ *   ãããã»ä¾å¤ãã¯ã¿ã®ãªãã»ããã¨å¯¾å¿
+ *   ãããã»å¤é¨å²ãè¾¼ã¿ãï¼ã¤ã¨æ°ãã
+ *   ãããã»é
+åå®£è¨ã®ããã+1ãã¦ãã
+ */   
+
+#define TMAX_EXCNO       ( 0x20 + 1 + NUM_IMPLEMENT_EXCEPTION )
+
+
+/*
+ *  DCRã¸ã®ã¢ã¯ã»ã¹
+ *     DCR:Device Control Register
+ *     ä»¥ä¸ã®ã«ã¼ãã³ã¯ããã¤ã¹ãã©ã¤ãåãã«ä½æãã¦ããã
+ *     DCRã®å
+·ä½çãªåç§°ãæ©è½ã¯ããã¤ã¹ä¾å­ã§ããã
+ *     
+ *     åè
+ *     ãmfdcr,mtdcrå½ä»¤ã¯DCRã®çªå·ãæ±ç¨ã¬ã¸ã¹ã¿ã§ã¯ãªãã
+ *     ãå³å¤ã§æå®ãããããã¤ã³ã©ã¤ã³é¢æ°ã«ã§ããªãã
+ */
+
+/*
+ *  DCRã®ç¾å¨å¤ã®èª­åºã
+ *     reg:ã¬ã¸ã¹ã¿çªå·ï¼æ´æ°å®æ°ï¼
+ *     val:èª­ã¿åºããå¤ãæ ¼ç´ããå¤æ°ï¼UWåï¼
+ */
+#define _sil_rew_dcr(reg, val)	Asm("mfdcr %0," #reg : "=r"(val))
+#define sil_rew_dcr(reg, val)	_sil_rew_dcr(reg, val)
+
+/*
+ *  DCRã®ç¾å¨å¤ã®å¤æ´
+ *     reg:ã¬ã¸ã¹ã¿çªå·ï¼æ´æ°å®æ°ï¼
+ *     val:è¨­å®ããå¤ãæ ¼ç´ãããå¤æ°ï¼UWåï¼
+ */
+#define _sil_wrw_dcr(reg, val)	Asm("mtdcr "#reg",%0" : : "r"(val) )
+#define sil_wrw_dcr(reg, val)	_sil_wrw_dcr(reg, val)
+
+
+#endif /* _VEA_OEA_EMB_H_ */
+/*  end of file  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/Makefile.config	(revision 26)
@@ -0,0 +1,56 @@
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (S1C33ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+ARCH =
+
+#
+#  ãã£ã¬ã¯ããªã®å®ç¾©
+#
+TOPDIR = /cygdrive/c/gnu33
+LIBDIR = $(TOPDIR)/lib
+INCDIR = $(TOPDIR)/include
+
+#
+#  ã³ã³ãã¤ã©ãã©ã¤ãã®å®ç¾©
+#
+CPP= $(TOPDIR)/cpp
+CC= $(TOPDIR)/xgcc
+AS= $(TOPDIR)/as
+LD= $(TOPDIR)/ld
+AR= $(TOPDIR)/ar
+RM= $(TOPDIR)/rm
+SED= $(TOPDIR)/sed
+OBJDUMP= $(TOPDIR)/objdump
+OBJCOPY= $(TOPDIR)/objcopy
+RANLIB= ranlib
+NM= nm
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)-$(TOOL) \
+		 -I$(CONFIGDIR)/$(CPU) -I$(INCDIR)
+COPTS := $(COPTS) -B$(TOPDIR)/ -gstabs -Wall -fno-common -O -mgda=0 -mlong-calls
+LDFLAGS := $(LDFLAGS) -L$(LIBDIR)
+LIBS := $(LIBS) -lc
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)-$(TOOL)
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o hw_serial.o sys.o lib.o
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+%.o: %.c
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	$(CC) -S $(CFLAGS) $<
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/dmt33209/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/dmt33209/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/dmt33209/Makefile.config	(revision 26)
@@ -0,0 +1,46 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼DMT33209ç¨ï¼
+#
+
+#
+#  ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿æ°
+#
+DP_CNT = 1
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS) \
+		-I$(CONFIGDIR)/$(CPU)/$(SYS)
+CDEFS := $(CDEFS) -DTPS_DAREA_CNT=$(DP_CNT)
+COPTS := $(COPTS) -mdp=$(DP_CNT)
+LDFLAGS := $(LDFLAGS) 
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+START_OBJS = sys_start.o
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+$(START_OBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#   ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/dmt33209.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/luxun2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/luxun2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33-gnu33/luxun2/Makefile.config	(revision 26)
@@ -0,0 +1,46 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼LUXUN2ç¨ï¼
+#
+
+#
+#  ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿æ°
+#
+DP_CNT = 1
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS) \
+		-I$(CONFIGDIR)/$(CPU)/$(SYS)
+CDEFS := $(CDEFS) -DTPS_DAREA_CNT=$(DP_CNT)
+COPTS := $(COPTS) -mdp=$(DP_CNT)
+LDFLAGS := $(LDFLAGS) 
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+START_OBJS = sys_start.o
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+$(START_OBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#   ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/luxun2.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/Makefile.config	(revision 26)
@@ -0,0 +1,39 @@
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (S1C33ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+ARCH = s1c33-epson-elf
+
+#
+#  ãã£ã¬ã¯ããªã®å®ç¾©
+#
+
+#
+#  ã³ã³ãã¤ã©ãã©ã¤ãã®å®ç¾©
+#
+CC = $(ARCH)-gcc
+AS = $(ARCH)-as
+LD = $(ARCH)-ld
+AR = $(ARCH)-ar
+NM = $(ARCH)-nm
+RANLIB = $(ARCH)-ranlib
+OBJCOPY = $(ARCH)-objcopy
+OBJDUMP = $(ARCH)-objdump
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+COPTS := -gstabs -Wall -fno-common -O -mgda=0 -mlong-calls 
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+%.o: %.c
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	$(CC) -S $(CFLAGS) $<
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.c	(revision 26)
@@ -0,0 +1,345 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«(S1C33ç¨)
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "itron.h"
+#include "s1c33.h"
+#include "sys_config.h"
+
+/*
+ *  CPUã­ãã¯è§£é¤æã«å¾©å
+ãã
+ */
+UINT	tps_OrgIntLevel;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+UINT	tps_IntNestCnt;
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ ä½ç½®ç¹å®å¦ç
+ */
+ER	get_Offset(INTNO);
+ER	get_BitFlag(INTNO);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	tps_IntNestCnt = 0;			/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ãã®åæå */
+	tps_OrgIntLevel = TPS_INIT_INTLEVEL;
+
+	/*
+	 *  å²ãè¾¼ã¿è¨±å¯ãã©ã°ãè¨­å®ããOSç®¡çä¸ã®å²ãè¾¼ã¿ããã¹ã¯ãã
+	 */
+	set_psr((TPS_CPULOCK_LEV << 8) | S1C33_PSR_FLAG_IE);
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+
+}
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ */
+void
+activate_r(void)
+{
+	unlock_cpu();
+	Asm("xld.w %r0, ext_tsk");		/* æ»ãä½ç½®ãext_tskã«è¨­å® */
+	Asm("pushn %r0");
+	Asm("ld.w %%r6, %0": : "r"(runtsk->tinib->exinf));
+	set_pc(runtsk->tinib->task);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  dispatchã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãã»CPUã­ãã¯ç¶æ
+ã§å¼ã³åºãã
+ *  exit_and_dispatchãåæ§ã ããã«ã¼ãã«èµ·åæã«å¯¾å¿ãããã
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã»CPUã­ãã¯è§£é¤ç¶æ
+ã®å¼ã³åºãã«ãå¯¾å¿
+ *  ãã¦ããã
+ */
+void
+dispatch(void)
+{
+	TCB * task;
+
+	Asm("pushn %r3");
+	task = runtsk;
+	task->tskctxb.sp = get_sp();
+	task->tskctxb.pc = && dispatch_1;	/* gccæ¡å¼µæ©è½ãä½¿ç¨ãã */
+	Asm("xjp _kernel_exit_and_dispatch");
+dispatch_1:
+	Asm("popn %r3");
+	task = (TCB * volatile) runtsk;
+	if ((task->enatex != FALSE) && (task->texptn != 0)) {
+		Asm("xjp _kernel_calltex");	/* ä¾å¤ãã³ãã©èµ·å	*/
+	}
+}
+
+void
+exit_and_dispatch(void)
+{
+	register UW	ulPsr;
+
+	lock_cpu();			/* CPUãã­ãã¯ãã	*/
+	runtsk = schedtsk;
+	if (runtsk != NULL) {
+		set_sp(runtsk->tskctxb.sp);
+		set_pc(runtsk->tskctxb.pc);
+	}
+
+	set_sp(STACKTOP);			/* å®è¡å¯è½ãªã¿ã¹ã¯ããªãå ´å	*/
+	ulPsr = get_psr();			/* å²ãè¾¼ã¿ãè¨±å¯ãã¦ã¤ãã³ã	*/
+	ulPsr |= S1C33_PSR_FLAG_IE;	/* çºçãå¾
+ã¤					*/
+	set_psr(ulPsr);
+	unlock_cpu();
+
+	while (1) {
+		Asm("halt");
+	}
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ */
+void
+ret_int(void)
+{
+	static	TCB * task;
+
+	reqflg = FALSE;
+	task = runtsk;
+
+	if (task == NULL) {			/* ã¢ã¤ãã«å¦çã¸ã¸ã£ã³ããã */
+		Asm("xjp _kernel_exit_and_dispatch");
+	}
+
+	if ((enadsp != FALSE) && (task != schedtsk)) {
+#ifndef	__c33adv
+		Asm("pushn %r1");
+#endif	/* __c33adv */
+		task->tskctxb.sp = get_sp();
+		task->tskctxb.pc = && ret_int_2;/* gccæ¡å¼µæ©è½ãä½¿ç¨ */
+						/* ãã£ã¹ãããå¦çã¸ã¸ã£ã³ã */
+		Asm("xjp _kernel_exit_and_dispatch");
+ret_int_2:
+#ifndef	__c33adv
+		Asm("popn %r1");
+#endif	/* __c33adv */
+	}
+	task = (TCB * volatile) runtsk;
+	if ((task->enatex != FALSE) && (task->texptn != 0)) {
+		call_texrtn();			/* ä¾å¤ãã³ãã©èµ·å	*/
+	}
+#ifdef	__c33adv
+	Asm("pops %sor");
+#else	/* __c33adv */
+	Asm("ld.w %alr, %r1");
+	Asm("ld.w %ahr, %r0");
+#endif	/* __c33adv */
+
+#if TPS_DAREA_CNT == 4				/* ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿æ°ã«	*/
+	Asm("popn %r11");			/* å¿ããpopå¦çãè¡ã		*/
+#elif TPS_DAREA_CNT == 3
+	Asm("popn %r12");
+#elif TPS_DAREA_CNT == 2
+	Asm("popn %r13");
+#elif TPS_DAREA_CNT == 1
+	Asm("popn %r14");
+#else
+	Asm("popn %r15");
+#endif /* TPS_DAREA */
+
+	Asm("reti");				/* CPUã­ãã¯ç¶æ
+ã¯å¾©å¸°ãã	*/
+						/* ã¿ã¹ã¯ã®ãµã¼ãã¹ã³ã¼ã«ãã	*/
+						/* ãªã¿ã¼ã³ããæã«è§£é¤ããã	*/
+}
+
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«å¤æ´å¦ç
+ */
+ER
+chg_ilv(ILEVNO ilevno)
+{
+	UW	ulPsr;
+	ER	ercd;
+
+	LOG_CHG_ILV_ENTER(ilevno)
+	CHECK_TSKCTX_UNL();
+	if(ilevno > TPS_INTLEV_MAX){
+		ercd = E_PAR;
+	} else {
+		ulPsr = get_psr();			/* ç¾å¨ã®PSRå¤ãåå¾	*/
+		ulPsr = (ulPsr & ~S1C33_PSR_MASK_IL) | (ilevno << 8);
+		set_psr(ulPsr);				/* PSRå¤ãæ´æ°		*/
+		ercd = E_OK;
+	}
+exit:
+	LOG_CHG_ILV_LEAVE(ercd)				/* Set New IL		*/
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«åå¾å¦ç
+ */
+ER
+get_ilv(ILEVNO *p_ilevno)
+{
+	UW	ulPsr;
+	ER	ercd;
+
+	LOG_GET_ILV_ENTER(p_ilevno)
+	CHECK_TSKCTX_UNL();
+	if(p_ilevno == NULL){
+		ercd = E_PAR;
+	} else {
+		ulPsr = get_psr();			/* ç¾å¨ã®å²è¾¼ã¿ã¬ãã«ãåå¾ */
+		*p_ilevno = (ulPsr & S1C33_PSR_MASK_IL) >> 8;
+		ercd = E_OK;
+	}
+exit:
+	LOG_GET_ILV_LEAVE(ercd, piLevno)
+	return(ercd);
+}
+
+#ifndef __c33pe
+/*
+ *  å²è¾¼ã¿çºçè¨±å¯å¦ç
+ */
+ER
+ena_int(INTNO intno)
+{
+	INT	iOffset, iBitFlag;
+
+	iOffset = get_Offset(intno);			/* ã¬ã¸ã¹ã¿ä½ç½®ãåå¾ãã */
+	iBitFlag = get_BitFlag(intno);
+
+	if(iOffset == E_PAR || iBitFlag == E_PAR){
+		return (E_PAR);
+	}
+							/* å²ãè¾¼ã¿ãè¨±å¯ãã */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntEnable[iOffset] |= (UB)iBitFlag;
+
+	return (E_OK);
+}
+
+/*
+ *  å²è¾¼ã¿çºçç¦æ­¢å¦ç
+ */
+ER
+dis_int(INTNO intno)
+{
+	INT	iOffset, iBitFlag;
+
+	iOffset = get_Offset(intno);			/* ã¬ã¸ã¹ã¿ä½ç½®ãåå¾ãã  */
+	iBitFlag = get_BitFlag(intno);
+
+	if(iOffset == E_PAR || iBitFlag == E_PAR){
+		return (E_PAR);
+	}
+							/* å²ãè¾¼ã¿ãç¦æ­¢ãã */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntEnable[iOffset] &= ~((UB)iBitFlag);
+
+	return (E_OK);
+}
+
+/*
+ *  å²è¾¼ã¿çºçè¦å ã¯ãªã¢
+ */
+ER
+clr_int(INTNO intno)
+{
+	INT	iOffset, iBitFlag;
+
+	iOffset = get_Offset(intno);			/* ã¬ã¸ã¹ã¿ä½ç½®ãåå¾ãã */
+	iBitFlag = get_BitFlag(intno);
+
+	if(iOffset == E_PAR || iBitFlag == E_PAR){
+		return (E_PAR);
+	}
+#ifdef	__c33adv
+	if(intno > S1C33_INHNO_SERIAL3TX){		/* è¨±å¯/ç¦æ­¢ã¬ã¸ã¹ã¿ã¨è¦å     */
+		iOffset -= 0x0d;			/* ãã©ã°ã¬ã¸ã¹ã¿ã®ãªãã»ãã */
+	}						/* ä½ç½®ãä¸è´ããªããã       */
+#endif /* __c33adv */
+							/* å²ãè¾¼ã¿è¦å ãã¯ãªã¢ãã */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[iOffset] = ((UB)iBitFlag);
+
+	return (E_OK);
+}
+#else  /* __c33pe */
+#error "*_int() are valid for C33 Standard/Advanced macro."
+#endif /* __c33pe */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_config.h	(revision 26)
@@ -0,0 +1,406 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«(S1C33ç¨)
+ */
+
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include "cpu_rename.h"
+
+
+/*
+ *  è¨­å®å¯è½ãªæé«å²ãè¾¼ã¿åªå
+åº¦
+ */
+#define	TPS_INTLEV_MAX	(0x04)
+#define	TPS_CPULOCK_LEV	(TPS_INTLEV_MAX + 1)
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+	 */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ *  Task context block.
+ */
+typedef struct task_context_block {
+	VP sp;				/* ã¹ã¿ãã¯ãã¤ã³ã¿	*/
+	FP pc;				/* ãã­ã°ã©ã ã«ã¦ã³ã¿	*/
+} CTXB;
+
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ããã(cpu_config.c)
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã(cpu_config.c)
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void exit_and_dispatch(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+/*
+ *  CPUã­ãã¯è§£é¤æã«å¾©å
+ããå²ãè¾¼ã¿ã¬ãã«
+ */
+extern UINT	tps_OrgIntLevel;
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+extern UINT	tps_IntNestCnt;
+
+/*
+ *  ããããµã¼ããã¯ã­ä½¿ç¨ã®è¨­å®
+ */
+#ifndef __c33pe
+#define CPU_BITMAP_SEARCH
+#endif  /* __c33pe */
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#include "cpu_insn.h"
+
+/*
+ * ã·ã¹ãã ç¶æ
+åç
+§é¢æ°ã®å¥åå®ç¾©
+ */
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+#define	t_lock_cpu	lock_cpu
+#define	i_lock_cpu	lock_cpu
+#define	t_unlock_cpu	unlock_cpu
+#define	i_unlock_cpu	unlock_cpu
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ãç¶æ
+ãåç
+§
+ */
+Inline BOOL
+sense_context()
+{
+	return ((tps_IntNestCnt) ? TRUE : FALSE);
+}
+
+/*
+ *  ç¾å¨ã®CPUã­ãã¯ç¶æ
+ãåç
+§
+ */
+Inline BOOL
+sense_lock()
+{
+	UW	ulIntLevel;
+
+	ulIntLevel = get_psr();
+
+	ulIntLevel = (ulIntLevel & S1C33_PSR_MASK_IL);
+	return ((ulIntLevel < (TPS_CPULOCK_LEV << 8)) ? FALSE : TRUE);
+}
+
+/*
+ * CPUã­ãã¯ç¶æ
+è¨­å®å¦ç
+ */
+Inline void
+lock_cpu()
+{
+	UW	ulPsr, ulIntLevel;
+
+	ulPsr = get_psr();
+	ulIntLevel = (ulPsr & S1C33_PSR_MASK_IL);
+
+	if(ulIntLevel < (TPS_CPULOCK_LEV << 8)){
+		ulPsr &= ~S1C33_PSR_MASK_IL;
+		set_psr(ulPsr | (TPS_CPULOCK_LEV << 8));
+		tps_OrgIntLevel = ulIntLevel;
+	}
+}
+
+Inline void
+unlock_cpu()
+{
+	UW	ulPsr;
+
+	ulPsr = get_psr();
+	ulPsr &= ~S1C33_PSR_MASK_IL;
+	ulPsr |= tps_OrgIntLevel;
+	tps_OrgIntLevel = (TPS_INIT_INTLEVEL << 8);
+
+	set_psr(ulPsr);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return ((tps_IntNestCnt > 1) ? TRUE : FALSE);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	UW	ulPsr;
+
+	ulPsr = ((*((UW *)p_excinf) & S1C33_PSR_MASK_IL) >> 8);
+	return (ulPsr == TPS_CPULOCK_LEV) ? TRUE : FALSE;
+}
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®æ§é ã®å®ç¾©
+ */
+typedef struct exc_vector_entry {
+	FP exchdr;				/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+#define	define_exc	define_inh
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+	EXCVE	*excvt;
+
+	excvt = (EXCVE *) get_ttbr();
+	excvt[inhno].exchdr = inthdr;
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define INTHDR_ENTRY(inthdr)	void inthdr##_entry(void) { tpsIntPreWrap(); asm("xcall " #inthdr); tpsIntPostWrap(); }
+#define	INT_ENTRY(inthdr)	inthdr##_entry
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+#define EXCHDR_ENTRY(exchdr)	INTHDR_ENTRY(exchdr)
+#define	EXC_ENTRY(exchdr)	exchdr##_entry
+
+/*
+ *  å²è¾¼ã¿/CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *
+ *  idleä¸­ã¯å²ãè¾¼ã¾ããã¹ã¿ãã¯==stacktopãªã®ã§ã
+ *  idleã«ã¼ãã³ã«ãretiã§å¾©å¸°ã§ããä½ç½®ã«å²ãè¾¼ã¿ã¹ã¿ãã¯ãè¨­å®ãã¦ãã
+ */
+Inline void
+tpsIntPreWrap(void)
+{
+#if TPS_DAREA_CNT == 4			/* ãã¼ã¿ã¨ãªã¢æ°ã«å¿ãã¦éé¿	*/
+	Asm("pushn %r11");		/* ã¬ã¸ã¹ã¿æ°ãå¤æ´ããã	*/
+#elif TPS_DAREA_CNT == 3
+	Asm("pushn %r12");
+#elif TPS_DAREA_CNT == 2
+	Asm("pushn %r13");
+#elif TPS_DAREA_CNT == 1
+	Asm("pushn %r14");
+#else
+	Asm("pushn %r15");
+#endif /* TPS_DAREA */
+
+#ifdef	__c33adv
+	Asm("pushs 	%sor				");
+#else	/* __c33adv */
+	Asm("ld.w	%r0, %ahr			");
+	Asm("ld.w	%r1, %alr			");
+#endif	/* __c33adv */
+
+	Asm("ld.w	%r2, %sp			");	/* ã¹ã¿ãã¯ã®åãæ¿ãã		*/
+	Asm("xld.w	%r3, _kernel_tps_IntNestCnt	");	/* å²ãè¾¼ã¿ã«ã¦ã³ã¿ã®æ´æ°ã	*/
+	Asm("ld.w	%r5, [%r3]			");	/* å¤éå²ãè¾¼ã¿ã®è¨±å¯ãè¡ã	*/
+	Asm("xld.w	%%r4, %0 - 8  " : : "g"(STACKTOP));
+	Asm("cmp	%r5, 0x00			");
+	Asm("jrne	0f				");
+	Asm("ld.w	%sp, %r4			");
+	Asm("0:						");
+	Asm("add	%r5, 1				");
+	Asm("ld.w	[%r3], %r5			");
+	Asm("ld.w	%r4, %psr			");
+	Asm("or		%r4, 0x10			");
+	Asm("ld.w	%psr, %r4			");
+	Asm("ld.w	%r6, %r2			");
+
+#ifdef	__c33adv						/* pushså½ä»¤ã«ããã¹ã¿ãã¯ä½¿ç¨	*/
+	Asm("add	%r6, 24");				/* ãµã¤ãºãå ç®ãã		*/
+#endif	/* __c33adv */
+	
+#if TPS_DAREA_CNT == 4
+	Asm("add	%r6, 48");
+#elif TPS_DAREA_CNT == 3
+	Asm("add	%r6, 52");
+#elif TPS_DAREA_CNT == 2
+	Asm("add	%r6, 56");
+#elif TPS_DAREA_CNT == 1
+	Asm("add	%r6, 60");
+#else
+	Asm("ext	0x0001");
+	Asm("add	%r6, 0x00");
+#endif /* TPS_DAREA */
+}
+
+Inline void
+tpsIntPostWrap(void)
+{
+	Asm("ld.w	%r4, %psr		");	/* å²ãè¾¼ã¿ããã£ã»ã¼ãã«ãã	*/
+	Asm("xand	%r4, 0xfffff0ff		");
+	Asm("xld.w	%%r5, %0"
+		: : "g"(TPS_CPULOCK_LEV << 8));
+	Asm("or		%r4, %r5		");
+	Asm("ld.w	%psr, %r4		");
+
+	Asm("ld.w	%r4, [%r3]		");	/* tps_IntNestCntãæ´æ°ãã	*/
+	Asm("sub	%r4, 1			");
+	Asm("ld.w	[%r3], %r4		");
+
+	Asm("ld.w	%sp, %r2		");	/* ã¹ã¿ãã¯é åãå¾©å
+ãã	*/
+
+	Asm("cmp	%r4, 0x00		");
+	Asm("xjrne	0f			");
+	Asm("xld.w	%r3, _kernel_reqflg	");
+	Asm("ld.w	%r3, [%r3]		");
+	Asm("cmp	%r3, 1			");	/* tps_IntNestCnt== 0ã§ãã£ã¹	  */
+	Asm("xjreq	_kernel_ret_int		");	/* ããããçºçãã¦ããã°ã¸ã£ã³ã */
+	Asm("0:					");	/* ãã				  */
+
+#ifdef	__c33adv					/* éé¿ããç¹æ®ã¬ã¸ã¹ã¿ãå¾©å
+ãã */
+	Asm("pops	%sor			");
+#else	/* __c33adv */
+	Asm("ld.w	%alr, %r1		");
+	Asm("ld.w	%ahr, %r0		");
+#endif	/* __c33adv */
+
+#if TPS_DAREA_CNT == 4
+	Asm("popn %r11");
+#elif TPS_DAREA_CNT == 3
+	Asm("popn %r12");
+#elif TPS_DAREA_CNT == 2
+	Asm("popn %r13");
+#elif TPS_DAREA_CNT == 1
+	Asm("popn %r14");
+#else
+	Asm("popn %r15");
+#endif /* TPS_DAREA */
+
+	Asm("reti");
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_context.h	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³(S1C33ç¨)
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  creã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+	
+}
+
+extern void activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+/* #define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3) */
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_defs.h	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©(S1C33ç¨)
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define S1C33
+
+/*
+ *  CPU ã®ãã¤ãé ã«é¢ããå®ç¾©
+ */
+
+#define SIL_ENDIAN		SIL_ENDIAN_LITTLE
+
+#ifndef _MACRO_ONLY
+
+typedef UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå·	*/
+typedef UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå·	*/
+typedef UINT	ILEVNO;		/* å²è¾¼ã¿ã¬ãã«		*/
+
+/*
+ *  å²è¾¼ã¿ã¬ãã«å¤æ´ï¼åå¾å¦ç
+ */
+extern	ER	chg_ilv(ILEVNO ilevno);
+extern	ER	get_ilv(ILEVNO *p_ilevno);
+
+/*
+ *  å²è¾¼ã¿è¨±å¯ï¼ç¦æ­¢å¦ç
+ */
+typedef UINT	INTNO;		/* å²è¾¼ã¿çªå·		*/
+
+/*
+ *  ä¾å­é¢ä¿ã«ããããã§ãªãã¼ã 
+ */
+#define ena_int		_kernel_ena_int
+#define dis_int		_kernel_dis_int
+
+#ifdef LABEL_ASM
+#define _ena_int	__kernel_ena_int
+#define _dis_int	__kernel_dis_int
+#endif /* LABEL_ASM */
+
+extern	ER	ena_int(INTNO intno);
+extern	ER	dis_int(INTNO intno);
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿è¨±å¯ãã©ã°ã®èª­åºã
+ */
+Inline UW
+_current_intflag_(void)
+{
+	UW	psr;
+
+	Asm("ld.w %0, %%psr" : "=r"(psr));
+	return(psr & 0x00000010);
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+_disint_(void)
+{
+	UW	psr;
+
+	Asm("ld.w %0, %%psr" : "=r"(psr));
+	psr &= 0xffffffef;
+	Asm("ld.w %%psr, %0" : : "r"(psr));
+}
+
+/*
+ *  å²è¾¼ã¿è¨±å¯ãã©ã°ã®å¾©å
+
+ */
+Inline void
+_enaint_(UW intmask)
+{
+	UW	psr;
+
+	Asm("ld.w %0, %%psr" : "=r"(psr));
+	psr |= intmask;
+	Asm("ld.w %%psr, %0" : : "r"(psr));
+}
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC	UW _intmask_ = _current_intflag_()
+#define SIL_LOC_INT()	_disint_()
+#define SIL_UNL_INT()	_enaint_(_intmask_)
+
+#define OMIT_VGET_TIM
+
+typedef	UW  SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+/*
+ *  ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort (void)
+{
+	while (1){
+		;
+	}
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_insn.h	(revision 26)
@@ -0,0 +1,158 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  å¶å¾¡ã¬ã¸ã¹ã¿ã®æä½é¢æ°
+ */
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿(PSR)ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+get_psr(void)
+{
+	UW psr;
+
+	Asm("ld.w %0, %%psr": "=r"(psr));
+
+	return psr;
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿(PSR)ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_psr(register UW psr)
+{
+	Asm("ld.w %%psr, %0": : "r"(psr));
+}
+
+/*
+ *  ã¹ã¿ãã¯ãã¤ã³ã¿(SP)ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+get_sp(void)
+{
+	VP sp;
+
+	Asm("ld.w %0, %%sp": "=r"(sp));
+
+	return sp;
+}
+
+/*
+ *  ã¹ã¿ãã¯ãã¤ã³ã¿(SP)ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sp(VP sp)
+{
+	Asm("ld.w %%sp, %0": : "r"(sp));
+}
+
+/*
+ *  ãã­ã°ã©ã ã«ã¦ã³ã¿(PC)ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_pc(VP pc)
+{
+	Asm("jp %0": "=r"(pc) : "0"(pc));
+}
+
+/*
+ *  ãã©ãããã¼ã¹ã¬ã¸ã¹ã¿(TTBR)ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+get_ttbr(void)
+{
+#ifdef __c33std
+	return (VP) ((volatile s1c33Bcu_t *) S1C33_BCU_BASE)->ulTtbr;
+#else
+	VP ttbr;
+
+	Asm("ld.w %0, %%ttbr": "=r"(ttbr));
+
+	return ttbr;
+#endif /* __c33std */
+}
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *  ããããããã®ä¸ä½16ããããä½¿ç¨ãï¼æä¸ä½ããããæä½åªå
+åº¦ã«å¯¾å¿ããã
+ */
+#ifdef CPU_BITMAP_SEARCH
+Inline UINT
+bitmap_search(UINT bitmap)
+{
+	INT offset;
+	INT bit;
+
+	Asm("swap %0, %1": "=r"(bitmap): "r"(bitmap));
+	Asm("mirror %0, %1": "=r"(bitmap): "r"(bitmap));
+	Asm("scan1 %0, %1": "=r"(bit): "r"(bitmap));
+	if(bit != 8){
+		return bit;
+	}
+
+	Asm("sll %0, %1": "=r"(bitmap): "r"(bit));
+	offset = bit;
+	Asm("scan1 %0, %1": "=r"(bit): "r"(bitmap));
+
+	return offset + bit;
+}
+#endif	/* CPU_BITMAP_SEARCH */
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.def	(revision 26)
@@ -0,0 +1,13 @@
+#cpu_config.c
+cpu_terminate
+activate_r
+dispatch
+exit_and_dispatch
+ret_int
+ena_int
+dis_int
+clr_int
+tps_IntNestCnt
+tps_OrgIntLevel
+init_lib
+init_sys
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_rename.h	(revision 26)
@@ -0,0 +1,41 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#define cpu_terminate		_kernel_cpu_terminate
+#define activate_r		_kernel_activate_r
+#define dispatch		_kernel_dispatch
+#define exit_and_dispatch	_kernel_exit_and_dispatch
+#define ret_int			_kernel_ret_int
+#define ena_int			_kernel_ena_int
+#define dis_int			_kernel_dis_int
+#define clr_int			_kernel_clr_int
+#define tps_IntNestCnt		_kernel_tps_IntNestCnt
+#define tps_OrgIntLevel		_kernel_tps_OrgIntLevel
+#define init_lib		_kernel_init_lib
+#define init_sys		_kernel_init_sys
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#define _cpu_terminate		__kernel_cpu_terminate
+#define _activate_r		__kernel_activate_r
+#define _dispatch		__kernel_dispatch
+#define _exit_and_dispatch	__kernel_exit_and_dispatch
+#define _ret_int		__kernel_ret_int
+#define _ena_int		__kernel_ena_int
+#define _dis_int		__kernel_dis_int
+#define _clr_int		__kernel_clr_int
+#define _tps_IntNestCnt		__kernel_tps_IntNestCnt
+#define _tps_OrgIntLevel	__kernel_tps_OrgIntLevel
+#define _init_lib		__kernel_init_lib
+#define _init_sys		__kernel_init_sys
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/cpu_unrename.h	(revision 26)
@@ -0,0 +1,41 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_config.c
+ */
+#undef cpu_terminate
+#undef activate_r
+#undef dispatch
+#undef exit_and_dispatch
+#undef ret_int
+#undef ena_int
+#undef dis_int
+#undef clr_int
+#undef tps_IntNestCnt
+#undef tps_OrgIntLevel
+#undef init_lib
+#undef init_sys
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_config.c
+ */
+#undef _cpu_terminate
+#undef _activate_r
+#undef _dispatch
+#undef _exit_and_dispatch
+#undef _ret_int
+#undef _ena_int
+#undef _dis_int
+#undef _clr_int
+#undef _tps_IntNestCnt
+#undef _tps_OrgIntLevel
+#undef _init_lib
+#undef _init_sys
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/Makefile.config	(revision 26)
@@ -0,0 +1,44 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼DMT33209ç¨ï¼
+#
+
+#
+#  ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿æ°
+#
+DP_CNT = 1
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+CDEFS := $(CDEFS) -DTPS_DAREA_CNT=$(DP_CNT)
+COPTS := $(COPTS) -mdp=$(DP_CNT)
+LDFLAGS := $(LDFLAGS) 
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+START_OBJS = sys_start.o
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+$(START_OBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#   ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/dmt33209.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ *  definitions of hardware resource.
+ */
+#ifndef _DMT33209_H_
+#define _DMT33209_H_
+
+#include "s1c33.h"
+
+#ifndef _MACRO_ONLY
+extern int __START_bss[];			/* ãªã³ã«ã¹ã¯ãªããã§å®ç¾©ããã	*/
+extern int __END_bss[];				/* ã·ã³ãã«			*/
+extern int __START_data[];
+extern int __END_data[];
+extern int __START_vector[];
+extern int __END_vector[];
+extern int __START_data_lma[];
+extern int __END_data_lma[];
+extern int __START_vector_lma[];
+extern int __END_vector_lma[];
+#endif /* _MACRO_ONLY */
+
+/*
+ *	ã¨ãªã¢å
+é ­/çµç«¯ã¢ãã¬ã¹
+ *  Top/tail address of each area.
+ */
+#define STACKTOP	((void *)0x00002000)
+
+#define BSS_START	__START_bss		/* RAMé åã®å
+é ­ 		*/
+#define BSS_END		__END_bss		/* RAMé åã®çµç«¯		*/
+#define DATA_START	__START_data		/* RAMä¸ã®åæåå¤æ°é åå
+é ­	*/
+#define IDATA_START	__START_data_lma	/* ROMä¸ã®åæåå¤æ°é åå
+é ­	*/
+#define IDATA_END	__END_data_lma		/* ROMä¸ã®åæåå¤æ°é åçµç«¯	*/
+#define VECTOR_START	__START_vector		/* RAMä¸ã®ãã¯ã¿ãã¼ãã«é åå
+é ­*/
+#define IVECTOR_START	__START_vector_lma	/* ROMä¸ã®ãã¯ã¿ãã¼ãã«é åå
+é ­*/
+#define IVECTOR_END	__END_vector_lma	/* ROMä¸ã®ãã¯ã¿ãã¼ãã«é åçµç«¯*/
+
+#endif /*  _DMT33209_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/dmt33209.ld	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+OUTPUT_FORMAT("elf32-c33", "elf32-c33",
+              "elf32-c33")
+OUTPUT_ARCH(c33)
+
+PROVIDE (hardware_init_hook = 0) ;
+PROVIDE (software_init_hook = 0) ;
+PROVIDE (software_term_hook = 0) ;
+
+SECTIONS
+{
+	/* data pointer symbol By GWB33 */
+	__dp = 0x00000000;
+
+	/* section information By GWB33 */
+	. = 0x00600000;
+
+	/* Map vector table */
+	__START_vector_lma = 0x0c00000;
+	.vector : AT( __START_vector_lma ){
+		__START_vector = . ;
+		sys_start.o(.data)
+	}
+	__END_vector = .;
+	__END_vector_lma = __START_vector_lma + SIZEOF( .vector );
+
+	/* section information */
+	. = __END_vector_lma ;
+
+	.text : {
+	   __START_text = . ; 
+	   *(.text) 
+	}
+	__END_text = . ; 
+
+	.rodata : {
+	   __START_rodata = . ; 
+	   *(.rodata) 
+	}
+	__END_rodata = . ; 
+
+	. = __END_vector;
+
+	.bss : {
+	   __START_bss = . ; 
+	   *(.bss) 
+	}
+	 __END_bss = . ; 
+
+	.data __END_bss : AT( __END_rodata ) {
+	   __START_data = . ; 
+	   *(.data) 
+	}
+	__START_data_lma = LOADADDR( .data );
+	__END_data_lma = __START_data_lma + SIZEOF( .data );
+
+
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.c	(revision 26)
@@ -0,0 +1,276 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include "hw_serial.h"
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+
+	{
+		0,
+		S1C33_INHNO_SERIAL0ERR,
+		S1C33_INHNO_SERIAL0RX,
+		S1C33_INHNO_SERIAL0TX,
+	},
+#if TNUM_PORT == 2
+	{
+		1,
+		S1C33_INHN1_SERIAL0ERR,
+		S1C33_INHN1_SERIAL0RX,
+		S1C33_INHN1_SERIAL0TX,
+	},
+#endif	/* of #if TNUM_PORT == 2 */
+};
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+#define get_siopinib(sioid)	(&(siopinib_table[INDEX_SIO(sioid)]))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  åä¿¡å²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³.
+ */
+
+void
+sio_in_service(ID sioid)
+{
+	SIOPCB	*pcb;
+
+	sio_clr_errflag(INDEX_SIO(sioid));
+	pcb = get_siopcb(sioid);
+	if (pcb->rx_cbrflag){
+		/* åä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+		sio_ierdy_rcv(pcb->exinf);
+	}
+}
+
+/*
+ *  éä¿¡å®äºå²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+
+void
+sio_out_service(ID sioid)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	if (pcb->tx_cbrflag){
+		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+		sio_ierdy_snd(pcb->exinf);
+	}
+}
+
+#ifdef SIO_ERR_HANDLER
+
+/*
+ *  åä¿¡ã¨ã©ã¼å²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+
+void
+sio_err_service(ID sioid)
+{
+	SIOPCB	*pcb;
+	UB	status;
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sio_clr_errflag(INDEX_SIO(sioid));
+
+	/* ãã¼ããååº¦åæåãã */
+	sio_opn_por(sioid, (VP_INT)NULL);
+}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå¶å¾¡ãã¼ãã«åæå
+ */
+
+void
+sio_initialize (void)
+{
+	int iLoop;
+
+	/*
+	 *  SIO å¶å¾¡ãã­ãã¯ã®åæå
+	 */
+	for (iLoop = 0 ; iLoop < TNUM_PORT ; iLoop++ ) {
+		siopcb_table[iLoop].inib     = &siopinib_table[iLoop];
+		siopcb_table[iLoop].exinf    = (VP_INT)NULL;
+		siopcb_table[iLoop].openflag = FALSE;
+		siopcb_table[iLoop].tx_cbrflag  = FALSE;
+		siopcb_table[iLoop].rx_cbrflag  = FALSE;
+	}
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ãè¨±å¯ãã
+ */
+void
+sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ch_no, sio_ctl;
+
+	ch_no  = siopcb->inib->ch_no;
+	sio_ctl = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl;
+	switch (cbrtn){
+	case	SIO_ERDY_SND:
+		siopcb->tx_cbrflag = TRUE;
+		break;
+	case	SIO_ERDY_RCV:
+		siopcb->rx_cbrflag = TRUE;
+		break;
+	}
+
+	return;
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ãç¦æ­¢ãã
+ */
+void
+sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ch_no, sio_ctl;
+
+	ch_no  = siopcb->inib->ch_no;
+	sio_ctl = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl;
+	switch (cbrtn){
+	case	SIO_ERDY_SND:
+		siopcb->tx_cbrflag = FALSE;
+		break;
+	case	SIO_ERDY_RCV:
+		siopcb->rx_cbrflag = FALSE;
+		break;
+	}
+
+	/*
+	 *  éä¿¡æ©è½æå¹ããããè¨­å®ãã
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl = sio_ctl;
+
+	return;
+}
+
+/*
+ *  SIO å²ãè¾¼ã¿
+ */
+
+void
+sio_in_handler (void)
+{
+	sio_clr_factor(SIO_INT_RCV);
+	sio_in_service(1);
+}
+
+void
+sio_out_handler (void)
+{
+	sio_clr_factor(SIO_INT_SND);
+	sio_out_service(1);
+	}
+
+#ifdef SIO_ERR_HANDLER
+
+void
+sio_err_handler (void)
+{
+	sio_clr_factor(SIO_INT_ERR);
+	sio_err_service(1);
+	}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+#if TNUM_PORT >= 2
+
+void
+sio_in2_handler (void)
+{
+	sio_clr_factor(SIO_INT_RCV << 3);
+	sio_in_handler(2);
+	}
+
+void
+sio_out2_handler (void)
+{
+	sio_clr_factor(SIO_INT_SND << 3);
+	sio_out_handler(2);
+	}
+
+#ifdef SIO_ERR_HANDLER
+
+void
+sio_err2_handler (void)
+{
+	sio_clr_factor(SIO_INT_ERR << 3)
+	sio_err_handler(2);
+	}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.cfg	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+ 
+
+/*
+ * SIOãã©ã¤ã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_serial.h	(revision 26)
@@ -0,0 +1,319 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«(DMT33209)
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include "s_services.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		S1C33_INHNO_SERIAL0RX
+#define INHNO_SERIAL_OUT	S1C33_INHNO_SERIAL0TX
+#define INHNO_SERIAL_ERR	S1C33_INHNO_SERIAL0ERR
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		1	/* éä¿¡å¯è½ã³ã¼ã«ããã¯	*/
+#define SIO_ERDY_RCV		2	/* åä¿¡éç¥ã³ã¼ã«ããã¯	*/
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+
+/*
+ *  SIOå²ãè¾¼ã¿è¦å ãã©ã° ãããä½ç½®
+ */
+#define SIO_INT_ERR		0x01
+#define	SIO_INT_RCV		0x02
+#define	SIO_INT_SND		0x04
+
+/*
+ * ã¨ã©ã¼ãã©ã° ãããä½ç½®
+ */
+#define SIO_ERR_FRAME		0x10
+#define SIO_ERR_PARITY		0x08
+#define SIO_ERR_OVERRUN		0x04
+
+#ifndef _MACRO_ONLY
+/*
+ *	ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+typedef struct {
+	UB	ch_no;		/* SIOãã£ãã«çªå·		*/
+	UB	err_vector;	/* éä¿¡ã¨ã©ã¼å²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+	UB	rx_vector;	/* åä¿¡å²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+	UB	tx_vector;	/* éä¿¡å®äºå²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	BOOL		tx_cbrflag;	/* éä¿¡ã³ã¼ã«ããã¯å®è¡ãã©ã°*/
+	BOOL		rx_cbrflag;	/* åä¿¡ã³ã¼ã«ããã¯å®è¡ãã©ã°*/
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern void	sio_initialize (void);
+extern void	sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void	sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void	serial_handler_in(ID portid);
+extern void	serial_handler_out(ID portid);
+extern void	sio_ierdy_snd(VP_INT exinf);
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern ER	ena_int(INTNO);
+extern ER	dis_int(INTNO);
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+Inline SIOPCB
+*sio_opn_por(ID siopid, VP_INT exinf)
+{
+	B	temp;
+
+	/*
+	 *  å²ãè¾¼ã¿ã®ç¦æ­¢
+	 */
+	if(siopid == 1){
+		dis_int(S1C33_INHNO_SERIAL0RX);
+		dis_int(S1C33_INHNO_SERIAL0TX);
+#ifdef SIO_ERR_HANDLER
+		dis_int(S1C33_INHNO_SERIAL0ERR);
+#endif
+	} else {
+		dis_int(S1C33_INHNO_SERIAL1RX);
+		dis_int(S1C33_INHNO_SERIAL1TX);
+#ifdef SIO_ERR_HANDLER
+		dis_int(S1C33_INHNO_SERIAL1ERR);
+#endif
+	}
+
+	/*
+	 *  ã·ãªã¢ã«I/Fã®è¨­å®
+	 *
+	 *  8bitèª¿æ­©åæ  ããªãã£ãªã ã¹ãããããã1bit  å¤é¨ã¯ã­ãã¯
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bControl = 0x07;
+
+	((s1c33Port_t *)S1C33_PORT_BASE)->stPPort[INDEX_SIO(siopid)].bFuncSwitch = 0x07;
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bIrDA = 0x00;
+
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bControl = 0xc7;
+
+	/*
+	 *  å²è¾¼ã¿è¦å ãã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[6] |= (0x07 << INDEX_SIO(siopid));
+
+	/*
+	 *  åä¿¡ãããã¡ã®ã¯ãªã¢
+	 */
+	temp = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bRxd;
+
+	/*
+	 *  å¶å¾¡æ
+å ±ã®è¨­å®
+	 */
+	siopcb_table[INDEX_SIO(siopid)].openflag = TRUE;
+	if(exinf != NULL){
+		siopcb_table[INDEX_SIO(siopid)].exinf = exinf;
+	}
+
+	/*
+	 *  å²ãè¾¼ã¿ã®è¨±å¯
+	 */
+	if(siopid == 1){
+		ena_int(S1C33_INHNO_SERIAL0RX);
+		ena_int(S1C33_INHNO_SERIAL0TX);
+#ifdef SIO_ERR_HANDLER
+		ena_int(S1C33_INHNO_SERIAL0ERR);
+#endif
+	} else {
+		ena_int(S1C33_INHNO_SERIAL1RX);
+		ena_int(S1C33_INHNO_SERIAL1TX);
+#ifdef SIO_ERR_HANDLER
+		ena_int(S1C33_INHNO_SERIAL1ERR);
+#endif
+	}
+
+	return (&(siopcb_table[INDEX_SIO(siopid)]));
+}
+
+/*
+ *  éä¿¡ã®åæ­¢
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	UB	ch_no;
+
+	ch_no = siopcb->inib->ch_no;
+	/*
+	 *  è»¢éå®äºãå¾
+ã¤
+	 */
+	while(((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus & 0x20){
+		;
+	}
+
+	/*
+	 *  éä¿¡ãç¦æ­¢ãã
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl = 0x07;
+
+	return;
+}
+
+/*
+ *  éä¿¡æ©è½ã®ç¶æ
+ãåå¾
+ */
+Inline BOOL
+sio_get_txready(UB ch_no)
+{
+	UB	bSioSts;
+
+	bSioSts = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus;
+
+	return(!(bSioSts & 0x20));
+}
+
+/*
+ *  åä¿¡æ©è½ã®ç¶æ
+ãåå¾
+ */
+Inline BOOL
+sio_get_rxready(UB ch_no)
+{
+	UB	bSioSts;
+
+	bSioSts = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus;
+
+	return(bSioSts & 0x01);
+}
+
+/*
+ *  åä¿¡ãã1æå­ãèª­ã¿è¾¼ã
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *siopcb)
+{
+	BOOL	blRxSts;
+	UB	ch_no;
+
+
+	ch_no = siopcb->inib->ch_no;
+	blRxSts  = sio_get_rxready(ch_no);
+
+	if(blRxSts){
+		return (((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bRxd);
+	}
+
+	return (-1);
+}
+
+/*
+ *  éä¿¡ãã1æå­ãæ¸ãè¾¼ã
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *siopcb, char c)
+{
+	BOOL	blTxSts;
+	UB	ch_no;
+
+	ch_no = siopcb->inib->ch_no;
+	blTxSts = sio_get_txready(ch_no);
+	if(blTxSts){
+		((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bTxd = c;
+	}
+
+	return(blTxSts);
+}
+
+/*
+ *  æå®ãããSIOãã£ãã«ã®å²ãè¾¼ã¿è¦å ãã¯ãªã¢ãã
+ */
+Inline void
+sio_clr_factor(UB bFlag)
+{
+	((volatile s1c33Intc_t *) S1C33_INTC_BASE)->bIntFactor[6] |= bFlag;
+}
+
+/*  æå®ãããSIOãã£ãã«ã®ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ãã
+ *
+ */
+Inline void
+sio_clr_errflag(UB ch_no)
+{
+	((volatile s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus
+		&= ~(SIO_ERR_OVERRUN | SIO_ERR_PARITY | SIO_ERR_FRAME);
+}
+
+#endif /* _MACRO_ONLY   */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/hw_timer.h	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include "s_services.h"
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_TIMER		S1C33_INHNO_P16TIMER1B
+
+#define S1C33_P16TIMER_CLOCK	40000000
+
+#ifndef _MACRO_ONLY
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern	ER	ena_int(INHNO);
+extern	ER	dis_int(INHNO);
+
+/*
+ *  16ãããã¿ã¤ã1ã®åæå
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿ç¦æ­¢
+	 */
+	dis_int(INHNO_TIMER);
+
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¦å ã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[2] |= 0x40;
+
+	/*
+	 *  16bitã¿ã¤ã1è¨­å®
+	 *
+	 *  ã¿ã¤ãã¯ã­ãã¯ON  16åå¨  16ãããã¿ã¤ã1B å¨æ 1ms
+	 */
+	(*(s1c33TimerControl_t *) S1C33_TIMER_CONTROL_BASE).bP16ClkCtrl[1]
+		= 0x0b;
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].uwComp[1]
+		= ((S1C33_P16TIMER_CLOCK * 1) / (16 * 1000));
+
+	/*
+	 *  16ãããã¿ã¤ããªã»ãã
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x02;
+
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¨±å¯
+	 */
+	ena_int(INHNO_TIMER);
+
+
+	/*
+	 *  16ãããã¿ã¤ã1 åä½éå§
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x01;
+
+	return;
+}
+
+/*
+ *  16ãããã¿ã¤ã1å²è¾¼ã¿è¦å ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¦å ã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[2] |= 0x40;
+
+	return;
+}
+
+/*
+ *  16ãããã¿ã¤ã1ã®åæ­¢
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿ç¦æ­¢
+	 */
+	dis_int(INHNO_TIMER);
+
+	/*
+	 *  16ãããã¿ã¤ã1åæ­¢
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x00;
+
+	return;
+}
+
+#endif /* _MACRO_ONLY  */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.c	(revision 26)
@@ -0,0 +1,105 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+
+extern	int	write(int, char *, int);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+	int iLoop;
+
+	/*
+	 *  å²ãè¾¼ã¿åªå
+åº¦ã®åæå
+	 */
+	for (iLoop = 0; iLoop < 15; iLoop++) {
+		(*(s1c33Intc_t *) S1C33_INTC_BASE).bPriority[iLoop] = 0x22;
+	}
+
+	return;
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ */
+void
+sys_exit(void)
+{
+	while (1) {
+		Asm("halt");
+	}
+}
+
+/*
+ *  ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+void
+sys_putc(char chData)
+{
+	write(0, &chData, 1);
+
+	return;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_config.h	(revision 26)
@@ -0,0 +1,278 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«(DMT33209)
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include "sys_rename.h"
+
+/*
+ *  å¦çæéæ¸¬å®ç¨ãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããªã
+ */
+#define OMIT_VGET_TIM
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define TARGET_NAME	"EPSON S1C33 Standard Macro"
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 1
+ */
+#define TNUM_PORT		1
+#define LOGTASK_PORTID		1
+
+/*
+ *  ã·ãªã¢ã«å²ãè¾¼ã¿ãå
+¥å/åºåã§ç°ãªããã©ããã®å®ç¾©
+ */
+#define SEPARATE_SIO_INT
+
+#include "s1c33.h"
+#include "dmt33209.h"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ *
+ */
+extern void sys_putc(char c);
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®ãªãã»ããä½ç½®åå¾
+ */
+/*
+ *  å²ãè¾¼ã¿ãã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ä½ç½®ç¹å®å¦ç
+ */
+Inline ER
+get_Offset(INTNO intno)
+{
+	INT		iOffset;
+	switch(intno)
+	{
+		case S1C33_INHNO_PINT0:			/* Key, Port0-3 group */
+		case S1C33_INHNO_PINT1:
+		case S1C33_INHNO_PINT2:
+		case S1C33_INHNO_PINT3:
+		case S1C33_INHNO_KINT0:
+		case S1C33_INHNO_KINT1:
+			iOffset = 0;
+			break;
+
+		case S1C33_INHNO_HSDMA0:		/* DMA group */
+		case S1C33_INHNO_HSDMA1:
+		case S1C33_INHNO_HSDMA2:
+		case S1C33_INHNO_HSDMA3:
+		case S1C33_INHNO_IDMA:
+			iOffset = 1;
+			break;
+
+		case S1C33_INHNO_P16TIMER0B:		/* 16bit timer0/1 group */
+		case S1C33_INHNO_P16TIMER0A:
+		case S1C33_INHNO_P16TIMER1B:
+		case S1C33_INHNO_P16TIMER1A:
+			iOffset = 2;
+			break;
+
+		case S1C33_INHNO_P16TIMER2B:		/* 16bit timer2/3 group */
+		case S1C33_INHNO_P16TIMER2A:
+		case S1C33_INHNO_P16TIMER3B:
+		case S1C33_INHNO_P16TIMER3A:
+			iOffset = 3;
+			break;
+
+		case S1C33_INHNO_P16TIMER4B:		/* 16bit timer4/5 group */
+		case S1C33_INHNO_P16TIMER4A:
+		case S1C33_INHNO_P16TIMER5B:
+		case S1C33_INHNO_P16TIMER5A:
+			iOffset = 4;
+			break;
+
+		case S1C33_INHNO_P8TIMER0:		/* 8bit timer group */
+		case S1C33_INHNO_P8TIMER1:
+		case S1C33_INHNO_P8TIMER2:
+		case S1C33_INHNO_P8TIMER3:
+			iOffset = 5;
+			break;
+
+		case S1C33_INHNO_SERIAL0ERR:		/* Serial I/O group */
+		case S1C33_INHNO_SERIAL0RX:
+		case S1C33_INHNO_SERIAL0TX:
+		case S1C33_INHNO_SERIAL1ERR:
+		case S1C33_INHNO_SERIAL1RX:
+		case S1C33_INHNO_SERIAL1TX:
+			iOffset = 6;
+			break;
+
+		case S1C33_INHNO_AD:			/* A/DConv, clocktimer, */
+		case S1C33_INHNO_CLKTIMER:		/* Port 4-7 group	*/
+		case S1C33_INHNO_PINT4:
+		case S1C33_INHNO_PINT5:
+		case S1C33_INHNO_PINT6:
+		case S1C33_INHNO_PINT7:
+			iOffset = 7;
+			break;
+
+		default:
+			iOffset = E_PAR;
+	}
+
+	return (iOffset);
+}
+
+/*
+ *  å²ãè¾¼ã¿å¶å¾¡ãããä½ç½®ç¹å®å¦ç
+ */
+Inline ER
+get_BitFlag(INTNO intno)
+{
+	INT	iBitFlag;
+
+	switch(intno)
+	{
+		case S1C33_INHNO_PINT0:			/* D0 group*/
+		case S1C33_INHNO_HSDMA0:
+		case S1C33_INHNO_P8TIMER0:
+		case S1C33_INHNO_SERIAL0ERR:
+		case S1C33_INHNO_AD:
+			iBitFlag = 0x01;
+			break;
+
+		case S1C33_INHNO_PINT1:			/* D1 group*/
+		case S1C33_INHNO_HSDMA1:
+		case S1C33_INHNO_P8TIMER1:
+		case S1C33_INHNO_SERIAL0RX:
+		case S1C33_INHNO_CLKTIMER:
+			iBitFlag = 0x02;
+			break;
+
+		case S1C33_INHNO_PINT2:			/* D2 group*/
+		case S1C33_INHNO_HSDMA2:
+		case S1C33_INHNO_P16TIMER0B:
+		case S1C33_INHNO_P16TIMER2B:
+		case S1C33_INHNO_P16TIMER4B:
+		case S1C33_INHNO_P8TIMER2:
+		case S1C33_INHNO_SERIAL0TX:
+		case S1C33_INHNO_PINT4:
+			iBitFlag = 0x04;
+			break;
+
+		case S1C33_INHNO_PINT3:			/* D3 group*/
+		case S1C33_INHNO_HSDMA3:
+		case S1C33_INHNO_P16TIMER0A:
+		case S1C33_INHNO_P16TIMER2A:
+		case S1C33_INHNO_P16TIMER4A:
+		case S1C33_INHNO_P8TIMER3:
+		case S1C33_INHNO_SERIAL1ERR:
+		case S1C33_INHNO_PINT5:
+			iBitFlag = 0x08;
+			break;
+
+		case S1C33_INHNO_KINT0:			/* D4 group*/
+		case S1C33_INHNO_IDMA:
+		case S1C33_INHNO_SERIAL1RX:
+		case S1C33_INHNO_PINT6:
+			iBitFlag = 0x10;
+			break;
+
+		case S1C33_INHNO_KINT1:			/* D5 group*/
+		case S1C33_INHNO_SERIAL1TX:
+		case S1C33_INHNO_PINT7:
+			iBitFlag = 0x20;
+			break;
+
+		case S1C33_INHNO_P16TIMER1B:		/* D6 group*/
+		case S1C33_INHNO_P16TIMER3B:
+		case S1C33_INHNO_P16TIMER5B:
+			iBitFlag = 0x40;
+			break;
+
+		case S1C33_INHNO_P16TIMER1A:		/* D7 group*/
+		case S1C33_INHNO_P16TIMER3A:
+		case S1C33_INHNO_P16TIMER5A:
+			iBitFlag = 0x80;
+			break;
+
+		default:
+			iBitFlag = E_PAR;
+	}
+
+	return (iBitFlag);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_defs.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã åã®å®ç¾©
+ */
+#define DMT33209
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­	*/
+#define TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯	*/
+
+/*
+ *  ã¿ã¹ã¯åä½æã®å²è¾¼ã¿ã¬ãã«åæå¤
+ */
+#define TPS_INIT_INTLEVEL	0
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+#sys_config.h
+sys_initialize
+sys_exit
+get_Offset
+get_BitFlag
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_rename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.h
+ */
+#define sys_initialize		_kernel_sys_initialize
+#define sys_exit		_kernel_sys_exit
+#define get_Offset		_kernel_get_Offset
+#define get_BitFlag		_kernel_get_BitFlag
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#define _sys_initialize	__kernel_sys_initialize
+#define _sys_exit		__kernel_sys_exit
+#define _get_Offset		__kernel_get_Offset
+#define _get_BitFlag		__kernel_get_BitFlag
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_start.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_start.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_start.c	(revision 26)
@@ -0,0 +1,259 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(S1C33ç¨)
+ */
+
+#include "jsp_kernel.h"
+#include "sys_config.h"
+#include "cpu_config.h"
+
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern void init_lib(void);
+extern void init_sys(void);
+
+extern void INT_ENTRY(timer_handler)(void);
+extern void INT_ENTRY(sio_in_handler)(void);
+extern void INT_ENTRY(sio_out_handler)(void);
+
+/*
+ *  ãã­ãã¿ã¤ãå®£è¨
+ */
+void start(void);
+static void undef_handler(void);
+static void hardware_init_hook(void);
+static void software_init_hook(void);
+
+/*
+ *  ãã¯ã¿ã¼ãã¼ãã«
+ */
+VP tps_VectorTable[] = {		/* offset   number */
+	(VP) start,			/* 00  Reset                    */
+	(VP) undef_handler,		/* 01                           */
+	(VP) undef_handler,		/* 02                           */
+	(VP) undef_handler,		/* 03                           */
+	(VP) undef_handler,		/* 04  Zero division            */
+	(VP) undef_handler,		/* 05                           */
+	(VP) undef_handler,		/* 06  Address error exception  */
+	(VP) undef_handler,		/* 07  debug                    */
+	(VP) undef_handler,		/* 08  NMI                      */
+	(VP) undef_handler,		/* 09                           */
+	(VP) undef_handler,		/* 10                           */
+	(VP) undef_handler,		/* 11                           */
+	(VP) undef_handler,		/* 12  Software exception 0     */
+	(VP) undef_handler,		/* 13  Software exception 1     */
+	(VP) undef_handler,		/* 14  Software exception 2     */
+	(VP) undef_handler,		/* 15  Software exception 3     */
+	(VP) undef_handler,		/* 16 (00)                      */
+	(VP) undef_handler,		/* 17 (01)                      */
+	(VP) undef_handler,		/* 18 (02)                      */
+	(VP) undef_handler,		/* 19 (03)                      */
+	(VP) undef_handler,		/* 20 (04)                      */
+	(VP) undef_handler,		/* 21 (05)                      */
+	(VP) undef_handler,		/* 22 (06)                      */
+	(VP) undef_handler,		/* 23 (07)                      */
+	(VP) undef_handler,		/* 24 (08)                      */
+	(VP) undef_handler,		/* 25 (09)                      */
+	(VP) undef_handler,		/* 26 (10)                      */
+	(VP) undef_handler,		/* 27 (11)                      */
+	(VP) undef_handler,		/* 28 (12)                      */
+	(VP) undef_handler,		/* 29 (13)                      */
+	(VP) undef_handler,		/* 30 (14)                      */
+	(VP) undef_handler,		/* 31 (15)                      */
+	(VP) undef_handler,		/* 32 (16)                      */
+	(VP) undef_handler,		/* 33 (17)                      */
+	(VP) INT_ENTRY(timer_handler),	/* 34 (18) 16 bit programable timer 1-b */
+	(VP) undef_handler,		/* 35 (19)                      */
+	(VP) undef_handler,		/* 36 (20)                      */
+	(VP) undef_handler,		/* 37 (21)                      */
+	(VP) undef_handler,		/* 38 (22)                      */
+	(VP) undef_handler,		/* 39 (23)                      */
+	(VP) undef_handler,		/* 40 (24)                      */
+	(VP) undef_handler,		/* 41 (25)                      */
+	(VP) undef_handler,		/* 42 (26)                      */
+	(VP) undef_handler,		/* 43 (27)                      */
+	(VP) undef_handler,		/* 44 (28)                      */
+	(VP) undef_handler,		/* 45 (29)                      */
+	(VP) undef_handler,		/* 46 (30)                      */
+	(VP) undef_handler,		/* 47 (31)                      */
+	(VP) undef_handler,		/* 48 (32)                      */
+	(VP) undef_handler,		/* 49 (33)                      */
+	(VP) undef_handler,		/* 50 (34)                      */
+	(VP) undef_handler,		/* 51 (35)                      */
+	(VP) undef_handler,		/* 52 (36)                      */
+	(VP) undef_handler,		/* 53 (37)                      */
+	(VP) undef_handler,		/* 54 (38)                      */
+	(VP) undef_handler,		/* 55 (39)                      */
+	(VP) undef_handler,		/* 56 (40) Serial interface Ch.0 (error) */
+	(VP) INT_ENTRY(sio_in_handler),	/* 57 (41) Serial interface Ch.0 (rx) */
+	(VP) INT_ENTRY(sio_out_handler),/* 58 (42) Serial interface Ch.0 (tx) */
+	(VP) undef_handler,		/* 59 (43)                      */
+	(VP) undef_handler,		/* 60 (44)                      */
+	(VP) undef_handler,		/* 61 (45)                      */
+	(VP) undef_handler,		/* 62 (46)                      */
+	(VP) undef_handler,		/* 63 (47)                      */
+	(VP) undef_handler,		/* 64 (48)                      */
+	(VP) undef_handler,		/* 65 (49)                      */
+	(VP) undef_handler,		/* 66 (50)                      */
+	(VP) undef_handler,		/* 67 (51)                      */
+	(VP) undef_handler,		/* 68 (52)                      */
+	(VP) undef_handler,		/* 69 (53)                      */
+	(VP) undef_handler,		/* 70 (54)                      */
+	(VP) undef_handler,		/* 71 (55)                      */
+};
+
+/*
+ *  ãã¼ãã«ã¼ãã³
+ *  Boot routine
+ */
+void start(void)
+{
+	/*
+	 *  ããã©ã«ããã¼ã¿ã¨ãªã¢ã¢ãã¬ã¹ãè¨­å®ãã
+	 */
+	Asm("xld.w %r15, __dp");
+
+	/*
+	 *  éã¿ã¹ã¯ã³ã³ãã¹ãã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 */
+	set_sp(STACKTOP);
+
+	/*
+	 * PSRãåæåããå²ãè¾¼ã¿ãç¦æ­¢ãã
+	 */
+	set_psr(0x00000000);
+
+
+	/*
+	 *  hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_config.c å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ããï¼
+	 */
+	if (hardware_init_hook != (VP) 0) {
+		hardware_init_hook();
+	}
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 */
+	memcpy(VECTOR_START, IVECTOR_START, (UW)IVECTOR_END - (UW)IVECTOR_START);
+	memcpy(DATA_START, IDATA_START, (UW)IDATA_END - (UW)IDATA_START);
+
+	/*
+	 *  bssã»ã¯ã·ã§ã³ã0ã¯ãªã¢ããã
+	 */
+	 memset(BSS_START, 0x00, BSS_END - BSS_START);
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+	if (software_init_hook != (VP) 0) {
+		software_init_hook();
+	}
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åãã
+	 */
+	Asm("xjp kernel_start");
+
+	do {
+		Asm("halt");
+	} while (TRUE);
+}
+
+/*
+ *  ããã¼ã«ã¼ãã³
+ */
+static void undef_handler(void)
+{
+	while(1){
+		;
+	}
+}
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåå¦ç
+ */
+static	void	hardware_init_hook(void)
+{
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).bTtbrProt = (IOREG)0x59;
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).ulTtbr = (LIOREG)tps_VectorTable;
+
+	return;
+}
+
+
+/*
+ *  ã½ããã¦ã§ã¢ä¾å­ã®åæåå¦ç
+ */
+static	void	software_init_hook(void)
+{
+	init_lib();
+	init_sys();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/dmt33209/sys_unrename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.h
+ */
+#undef sys_initialize
+#undef sys_exit
+#undef get_Offset
+#undef get_BitFlag
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#undef _sys_initialize
+#undef _sys_exit
+#undef _get_Offset
+#undef _get_BitFlag
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/lib.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/lib.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/lib.c	(revision 26)
@@ -0,0 +1,152 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+#include	"smcvals.h"
+#include	"stdio.h"
+#include	"cpu_rename.h"
+
+FILE	_iob[FOPEN_MAX + 1];		/* standard i/o stream */
+
+FILE	*stdin; 			/* standard input */
+FILE	*stdout;			/* standard output */
+FILE	*stderr;			/* standard error */
+
+int 	errno;				/* error number */
+
+unsigned int  seed; 			/* seed of random value */
+
+unsigned char *ucNxtAlcP;	/* next memory allocate address */
+unsigned char *ucBefAlcP;	/* one previous allocated address */
+unsigned char *end_alloc;	/* end memory allocate address */
+
+#ifndef DBL_LNG_TYPE
+
+#define DBL_LNG_TYPE
+
+/*  the architecture of double floating point
+ *
+ *   0 1          11                  31 32                               63 bit
+ *   -----------------------------------------------------------------------
+ *  | |   exponent  |                    fraction                           |
+ *   -----------------------------------------------------------------------
+ *
+ *  |               |                   |                                   |
+ *  |     12bits          20 bits       |             32 bits               |
+ *  |            lower word             |            higher word            |
+ *
+ *         bit    0         sign bit         (  1 bit  )
+ *              1 - 11      exponent part    ( 11 bits )
+ *             12 - 63      fraction part    ( 52 bits )
+ *
+ */
+
+typedef union {
+		struct {
+#ifdef	BIG_ENDIAN
+			unsigned long _LL;
+			unsigned long _LH;
+#else
+			unsigned long _LH;
+			unsigned long _LL;
+#endif
+		} st;
+	} DBL_LNG;
+
+#endif
+
+DBL_LNG _HUGE;				/* HUGE VALUE */
+
+unsigned char *_STACK_TOP;		/* address of stack top */
+unsigned char *_STACK_BOTTOM;		/* address of stack bottom */
+
+long gm_sec;
+
+/*
+ * initialize routine
+ */
+
+void init_lib()
+{
+
+  /* initialize allocate address */
+  end_alloc = (unsigned char *)_STACK_TOP;
+  ucNxtAlcP = (unsigned char *)(_BOUND((unsigned long)_STACK_BOTTOM));
+  ucBefAlcP = (unsigned char *)NULL;
+
+  errno = 0;				/* clear error number */
+
+  seed = 1; 				/* initialize random seed */
+
+  gm_sec = -1;				/* initialize time */
+
+  _HUGE.st._LL = 0x7ff00000;		/* HUGE VALUE */
+  _HUGE.st._LH = 0;
+
+/*
+ *  INITIALIZE STANDARD STREAMS
+ */
+
+  _iob[0]._flg = _UGETN;		/* initialize stdin stream */
+  _iob[0]._buf = 0;
+  _iob[0]._fd = 0;
+
+  _iob[1]._flg = _UGETN;		/* initialize stdout stream */
+  _iob[1]._buf = 0;
+  _iob[1]._fd = 1;
+
+  _iob[2]._flg = _UGETN;		/* initialize stderr stream */
+  _iob[2]._buf = 0;
+  _iob[2]._fd = 2;
+
+  stdin = &_iob[0];
+  stdout = &_iob[1];
+  stderr = &_iob[2];
+
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/Makefile.config	(revision 26)
@@ -0,0 +1,44 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼LUXUN2ç¨ï¼
+#
+
+#
+#  ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿æ°
+#
+DP_CNT = 1
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+CDEFS := $(CDEFS) -DTPS_DAREA_CNT=$(DP_CNT)
+COPTS := $(COPTS) -mdp=$(DP_CNT)
+LDFLAGS := $(LDFLAGS) 
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+START_OBJS = sys_start.o
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+$(START_OBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#   ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/luxun2.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.c	(revision 26)
@@ -0,0 +1,276 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include "hw_serial.h"
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+
+	{
+		0,
+		S1C33_INHNO_SERIAL0ERR,
+		S1C33_INHNO_SERIAL0RX,
+		S1C33_INHNO_SERIAL0TX,
+	},
+#if TNUM_PORT == 2
+	{
+		1,
+		S1C33_INHN1_SERIAL0ERR,
+		S1C33_INHN1_SERIAL0RX,
+		S1C33_INHN1_SERIAL0TX,
+	},
+#endif	/* of #if TNUM_PORT == 2 */
+};
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+#define get_siopinib(sioid)	(&(siopinib_table[INDEX_SIO(sioid)]))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  åä¿¡å²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³.
+ */
+
+void
+sio_in_service(ID sioid)
+{
+	SIOPCB	*pcb;
+
+	sio_clr_errflag(INDEX_SIO(sioid));
+	pcb = get_siopcb(sioid);
+	if (pcb->rx_cbrflag){
+		/* åä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+		sio_ierdy_rcv(pcb->exinf);
+	}
+}
+
+/*
+ *  éä¿¡å®äºå²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+
+void
+sio_out_service(ID sioid)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	if (pcb->tx_cbrflag){
+		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼åºãã*/
+		sio_ierdy_snd(pcb->exinf);
+	}
+}
+
+#ifdef SIO_ERR_HANDLER
+
+/*
+ *  åä¿¡ã¨ã©ã¼å²ãè¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+
+void
+sio_err_service(ID sioid)
+{
+	SIOPCB	*pcb;
+	UB	status;
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sio_clr_errflag(INDEX_SIO(sioid));
+
+	/* ãã¼ããååº¦åæåãã */
+	sio_opn_por(sioid, (VP_INT)NULL);
+}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå¶å¾¡ãã¼ãã«åæå
+ */
+
+void
+sio_initialize (void)
+{
+	int iLoop;
+
+	/*
+	 *  SIO å¶å¾¡ãã­ãã¯ã®åæå
+	 */
+	for (iLoop = 0 ; iLoop < TNUM_PORT ; iLoop++ ) {
+		siopcb_table[iLoop].inib     = &siopinib_table[iLoop];
+		siopcb_table[iLoop].exinf    = (VP_INT)NULL;
+		siopcb_table[iLoop].openflag = FALSE;
+		siopcb_table[iLoop].tx_cbrflag  = FALSE;
+		siopcb_table[iLoop].rx_cbrflag  = FALSE;
+	}
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ãè¨±å¯ãã
+ */
+void
+sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ch_no, sio_ctl;
+
+	ch_no  = siopcb->inib->ch_no;
+	sio_ctl = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl;
+	switch (cbrtn){
+	case	SIO_ERDY_SND:
+		siopcb->tx_cbrflag = TRUE;
+		break;
+	case	SIO_ERDY_RCV:
+		siopcb->rx_cbrflag = TRUE;
+		break;
+	}
+
+	return;
+}
+
+/*
+ *  ã³ã¼ã«ããã¯ãç¦æ­¢ãã
+ */
+void
+sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ch_no, sio_ctl;
+
+	ch_no  = siopcb->inib->ch_no;
+	sio_ctl = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl;
+	switch (cbrtn){
+	case	SIO_ERDY_SND:
+		siopcb->tx_cbrflag = FALSE;
+		break;
+	case	SIO_ERDY_RCV:
+		siopcb->rx_cbrflag = FALSE;
+		break;
+	}
+
+	/*
+	 *  éä¿¡æ©è½æå¹ããããè¨­å®ãã
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl = sio_ctl;
+
+	return;
+}
+
+/*
+ *  SIO å²ãè¾¼ã¿
+ */
+
+void
+sio_in_handler (void)
+{
+	sio_clr_factor(SIO_INT_RCV);
+	sio_in_service(1);
+}
+
+void
+sio_out_handler (void)
+{
+	sio_clr_factor(SIO_INT_SND);
+	sio_out_service(1);
+	}
+
+#ifdef SIO_ERR_HANDLER
+
+void
+sio_err_handler (void)
+{
+	sio_clr_factor(SIO_INT_ERR);
+	sio_err_service(1);
+	}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+#if TNUM_PORT >= 2
+
+void
+sio_in2_handler (void)
+{
+	sio_clr_factor(SIO_INT_RCV << 3);
+	sio_in_handler(2);
+	}
+
+void
+sio_out2_handler (void)
+{
+	sio_clr_factor(SIO_INT_SND << 3);
+	sio_out_handler(2);
+	}
+
+#ifdef SIO_ERR_HANDLER
+
+void
+sio_err2_handler (void)
+{
+	sio_clr_factor(SIO_INT_ERR << 3)
+	sio_err_handler(2);
+	}
+
+#endif	/* of #ifdef SIO_ERR_HANDLER */
+
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.cfg	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+ 
+
+/*
+ * SIOãã©ã¤ã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_serial.h	(revision 26)
@@ -0,0 +1,319 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«(LUXUN2)
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include "s_services.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		S1C33_INHNO_SERIAL0RX
+#define INHNO_SERIAL_OUT	S1C33_INHNO_SERIAL0TX
+#define INHNO_SERIAL_ERR	S1C33_INHNO_SERIAL0ERR
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		1	/* éä¿¡å¯è½ã³ã¼ã«ããã¯	*/
+#define SIO_ERDY_RCV		2	/* åä¿¡éç¥ã³ã¼ã«ããã¯	*/
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+
+/*
+ *  SIOå²ãè¾¼ã¿è¦å ãã©ã° ãããä½ç½®
+ */
+#define SIO_INT_ERR		0x01
+#define	SIO_INT_RCV		0x02
+#define	SIO_INT_SND		0x04
+
+/*
+ * ã¨ã©ã¼ãã©ã° ãããä½ç½®
+ */
+#define SIO_ERR_FRAME		0x10
+#define SIO_ERR_PARITY		0x08
+#define SIO_ERR_OVERRUN		0x04
+
+#ifndef _MACRO_ONLY
+/*
+ *	ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+typedef struct {
+	UB	ch_no;		/* SIOãã£ãã«çªå·		*/
+	UB	err_vector;	/* éä¿¡ã¨ã©ã¼å²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+	UB	rx_vector;	/* åä¿¡å²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+	UB	tx_vector;	/* éä¿¡å®äºå²ãè¾¼ã¿ãã¯ã¿çªå·	*/
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	BOOL		tx_cbrflag;	/* éä¿¡ã³ã¼ã«ããã¯å®è¡ãã©ã°*/
+	BOOL		rx_cbrflag;	/* åä¿¡ã³ã¼ã«ããã¯å®è¡ãã©ã°*/
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern void	sio_initialize (void);
+extern void	sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void	sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+extern void	serial_handler_in(ID portid);
+extern void	serial_handler_out(ID portid);
+extern void	sio_ierdy_snd(VP_INT exinf);
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern ER	ena_int(INTNO);
+extern ER	dis_int(INTNO);
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæå
+ */
+Inline SIOPCB
+*sio_opn_por(ID siopid, VP_INT exinf)
+{
+	B	temp;
+
+	/*
+	 *  å²ãè¾¼ã¿ã®ç¦æ­¢
+	 */
+	if(siopid == 1){
+		dis_int(S1C33_INHNO_SERIAL0RX);
+		dis_int(S1C33_INHNO_SERIAL0TX);
+#ifdef SIO_ERR_HANDLER
+		dis_int(S1C33_INHNO_SERIAL0ERR);
+#endif
+	} else {
+		dis_int(S1C33_INHNO_SERIAL1RX);
+		dis_int(S1C33_INHNO_SERIAL1TX);
+#ifdef SIO_ERR_HANDLER
+		dis_int(S1C33_INHNO_SERIAL1ERR);
+#endif
+	}
+
+	/*
+	 *  ã·ãªã¢ã«I/Fã®è¨­å®
+	 *
+	 *  8bitèª¿æ­©åæ  ããªãã£ãªã ã¹ãããããã1bit  å¤é¨ã¯ã­ãã¯
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bControl = 0x07;
+
+	((s1c33Port_t *)S1C33_PORT_BASE)->stPPort[INDEX_SIO(siopid)].bFuncSwitch = 0x07;
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bIrDA = 0x00;
+
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bControl = 0xc7;
+
+	/*
+	 *  å²è¾¼ã¿è¦å ãã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[6] |= (0x07 << INDEX_SIO(siopid));
+
+	/*
+	 *  åä¿¡ãããã¡ã®ã¯ãªã¢
+	 */
+	temp = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[INDEX_SIO(siopid)].bRxd;
+
+	/*
+	 *  å¶å¾¡æ
+å ±ã®è¨­å®
+	 */
+	siopcb_table[INDEX_SIO(siopid)].openflag = TRUE;
+	if(exinf != NULL){
+		siopcb_table[INDEX_SIO(siopid)].exinf = exinf;
+	}
+
+	/*
+	 *  å²ãè¾¼ã¿ã®è¨±å¯
+	 */
+	if(siopid == 1){
+		ena_int(S1C33_INHNO_SERIAL0RX);
+		ena_int(S1C33_INHNO_SERIAL0TX);
+#ifdef SIO_ERR_HANDLER
+		ena_int(S1C33_INHNO_SERIAL0ERR);
+#endif
+	} else {
+		ena_int(S1C33_INHNO_SERIAL1RX);
+		ena_int(S1C33_INHNO_SERIAL1TX);
+#ifdef SIO_ERR_HANDLER
+		ena_int(S1C33_INHNO_SERIAL1ERR);
+#endif
+	}
+
+	return (&(siopcb_table[INDEX_SIO(siopid)]));
+}
+
+/*
+ *  éä¿¡ã®åæ­¢
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	UB	ch_no;
+
+	ch_no = siopcb->inib->ch_no;
+	/*
+	 *  è»¢éå®äºãå¾
+ã¤
+	 */
+	while(((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus & 0x20){
+		;
+	}
+
+	/*
+	 *  éä¿¡ãç¦æ­¢ãã
+	 */
+	((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bControl = 0x07;
+
+	return;
+}
+
+/*
+ *  éä¿¡æ©è½ã®ç¶æ
+ãåå¾
+ */
+Inline BOOL
+sio_get_txready(UB ch_no)
+{
+	UB	bSioSts;
+
+	bSioSts = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus;
+
+	return(!(bSioSts & 0x20));
+}
+
+/*
+ *  åä¿¡æ©è½ã®ç¶æ
+ãåå¾
+ */
+Inline BOOL
+sio_get_rxready(UB ch_no)
+{
+	UB	bSioSts;
+
+	bSioSts = ((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus;
+
+	return(bSioSts & 0x01);
+}
+
+/*
+ *  åä¿¡ãã1æå­ãèª­ã¿è¾¼ã
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *siopcb)
+{
+	BOOL	blRxSts;
+	UB	ch_no;
+
+
+	ch_no = siopcb->inib->ch_no;
+	blRxSts  = sio_get_rxready(ch_no);
+
+	if(blRxSts){
+		return (((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bRxd);
+	}
+
+	return (-1);
+}
+
+/*
+ *  éä¿¡ãã1æå­ãæ¸ãè¾¼ã
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *siopcb, char c)
+{
+	BOOL	blTxSts;
+	UB	ch_no;
+
+	ch_no = siopcb->inib->ch_no;
+	blTxSts = sio_get_txready(ch_no);
+	if(blTxSts){
+		((s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bTxd = c;
+	}
+
+	return(blTxSts);
+}
+
+/*
+ *  æå®ãããSIOãã£ãã«ã®å²ãè¾¼ã¿è¦å ãã¯ãªã¢ãã
+ */
+Inline void
+sio_clr_factor(UB bFlag)
+{
+	((volatile s1c33Intc_t *) S1C33_INTC_BASE)->bIntFactor[6] |= bFlag;
+}
+
+/*  æå®ãããSIOãã£ãã«ã®ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ãã
+ *
+ */
+Inline void
+sio_clr_errflag(UB ch_no)
+{
+	((volatile s1c33Serial_t *)S1C33_SERIAL_BASE)->stChannel01[ch_no].bStatus
+		&= ~(SIO_ERR_OVERRUN | SIO_ERR_PARITY | SIO_ERR_FRAME);
+}
+
+#endif /* _MACRO_ONLY   */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/hw_timer.h	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include "s_services.h"
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_TIMER		S1C33_INHNO_P16TIMER1B
+
+#define S1C33_P16TIMER_CLOCK	40000000
+
+#ifndef _MACRO_ONLY
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern	ER	ena_int(INHNO);
+extern	ER	dis_int(INHNO);
+
+/*
+ *  16ãããã¿ã¤ã1ã®åæå
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿ç¦æ­¢
+	 */
+	dis_int(INHNO_TIMER);
+
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¦å ã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[2] |= 0x40;
+
+	/*
+	 *  16bitã¿ã¤ã1è¨­å®
+	 *
+	 *  ã¿ã¤ãã¯ã­ãã¯ON  16åå¨  16ãããã¿ã¤ã1B å¨æ 1ms
+	 */
+	(*(s1c33TimerControl_t *) S1C33_TIMER_CONTROL_BASE).bP16ClkCtrl[1]
+		= 0x0b;
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].uwComp[1]
+		= ((S1C33_P16TIMER_CLOCK * 1) / (16 * 1000));
+
+	/*
+	 *  16ãããã¿ã¤ããªã»ãã
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x02;
+
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¨±å¯
+	 */
+	ena_int(INHNO_TIMER);
+
+
+	/*
+	 *  16ãããã¿ã¤ã1 åä½éå§
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x01;
+
+	return;
+}
+
+/*
+ *  16ãããã¿ã¤ã1å²è¾¼ã¿è¦å ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿è¦å ã¯ãªã¢
+	 */
+	(*(s1c33Intc_t *) S1C33_INTC_BASE).bIntFactor[2] |= 0x40;
+
+	return;
+}
+
+/*
+ *  16ãããã¿ã¤ã1ã®åæ­¢
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/*
+	 *  16ãããã¿ã¤ã1B å²è¾¼ã¿ç¦æ­¢
+	 */
+	dis_int(INHNO_TIMER);
+
+	/*
+	 *  16ãããã¿ã¤ã1åæ­¢
+	 */
+	(*(s1c33P16Timer_t *) S1C33_P16TIMER_BASE).stChannel[1].bControl = 0x00;
+
+	return;
+}
+
+#endif /* _MACRO_ONLY  */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.h	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#ifndef _LUXUN2_H_
+#define _LUXUN2_H_
+
+#include "s1c33.h"
+
+#ifndef _MACRO_ONLY
+extern int __START_bss[];			/* ã·ã³ãã«			*/
+extern int __END_bss[];
+extern int __START_data[];
+extern int __END_data[];
+extern int __START_vector[];
+extern int __END_vector[];
+extern int __START_data_lma[];
+extern int __END_data_lma[];
+extern int __START_vector_lma[];
+extern int __END_vector_lma[];
+#endif /* _MACRO_ONLY */
+
+/*
+ *	ã¨ãªã¢å
+é ­/çµç«¯ã¢ãã¬ã¹
+ *  Top/tail address of each area.
+ */
+#define STACKTOP	((void *)0x00004000)
+
+#define BSS_START	__START_bss		/* RAMé åã®å
+é ­ 		*/
+#define BSS_END		__END_bss		/* RAMé åã®çµç«¯		*/
+#define DATA_START	__START_data		/* RAMä¸ã®åæåå¤æ°é åå
+é ­	*/
+#define IDATA_START	__START_data_lma	/* ROMä¸ã®åæåå¤æ°é åå
+é ­	*/
+#define IDATA_END	__END_data_lma		/* ROMä¸ã®åæåå¤æ°é åçµç«¯	*/
+#define VECTOR_START	__START_vector		/* RAMä¸ã®ãã¯ã¿ãã¼ãã«é åå
+é ­*/
+#define IVECTOR_START	__START_vector_lma	/* ROMä¸ã®ãã¯ã¿ãã¼ãã«é åå
+é ­*/
+#define IVECTOR_END	__END_vector_lma	/* ROMä¸ã®ãã¯ã¿ãã¼ãã«é åçµç«¯*/
+
+#endif /*  _LUXUN2_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/luxun2.ld	(revision 26)
@@ -0,0 +1,103 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by SEIKO EPSON Corp, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+OUTPUT_FORMAT("elf32-c33", "elf32-c33",
+              "elf32-c33")
+OUTPUT_ARCH(c33)
+
+PROVIDE (hardware_init_hook = 0) ;
+PROVIDE (software_init_hook = 0) ;
+PROVIDE (software_term_hook = 0) ;
+
+SECTIONS
+{
+	/* data pointer symbol By GWB33 */
+	__dp = 0x00000000;
+
+	software_term_hook = 0;
+
+	/* section information By GWB33 */
+	. = 0x02000000;
+
+	/* Map vector table */
+	__START_vector_lma = 0x0c00000;
+	.vector : AT( __START_vector_lma ){
+		__START_vector = . ;
+		sys_start.o(.data)
+	}
+	__END_vector = .;
+	__END_vector_lma = __START_vector_lma + SIZEOF( .vector );
+
+	/* section information */
+	. = __END_vector_lma ;
+
+	.text : {
+	   __START_text = . ; 
+	   *(.text) 
+	}
+	__END_text = . ; 
+
+	.rodata : {
+	   __START_rodata = . ; 
+	   *(.rodata) 
+	}
+	__END_rodata = . ; 
+
+	. = __END_vector;
+
+	.bss : {
+	   __START_bss = . ; 
+	   *(.bss) 
+	}
+	 __END_bss = . ; 
+
+	.data __END_bss : AT( __END_rodata ) {
+	   __START_data = . ; 
+	   *(.data) 
+	}
+	__START_data_lma = LOADADDR( .data );
+	__END_data_lma = __START_data_lma + SIZEOF( .data );
+
+
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.c	(revision 26)
@@ -0,0 +1,105 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+
+extern	int	write(int, char *, int);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+	int iLoop;
+
+	/*
+	 *  å²ãè¾¼ã¿åªå
+åº¦ã®åæå
+	 */
+	for (iLoop = 0; iLoop < 15; iLoop++) {
+		(*(s1c33Intc_t *) S1C33_INTC_BASE).bPriority[iLoop] = 0x22;
+	}
+
+	return;
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ */
+void
+sys_exit(void)
+{
+	while (1) {
+		Asm("halt");
+	}
+}
+
+/*
+ *  ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+void
+sys_putc(char chData)
+{
+	write(0, &chData, 1);
+
+	return;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_config.h	(revision 26)
@@ -0,0 +1,278 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«(LUXUN2)
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include "sys_rename.h"
+
+/*
+ *  å¦çæéæ¸¬å®ç¨ãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããªã
+ */
+#define OMIT_VGET_TIM
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define TARGET_NAME	"EPSON S1C33 Standard Macro"
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 1
+ */
+#define TNUM_PORT		1
+#define LOGTASK_PORTID		1
+
+/*
+ *  ã·ãªã¢ã«å²ãè¾¼ã¿ãå
+¥å/åºåã§ç°ãªããã©ããã®å®ç¾©
+ */
+#define SEPARATE_SIO_INT
+
+#include "s1c33.h"
+#include "luxun2.h"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ *
+ */
+extern void sys_putc(char c);
+
+/*
+ *  å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ã®ãªãã»ããä½ç½®åå¾
+ */
+/*
+ *  å²ãè¾¼ã¿ãã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ä½ç½®ç¹å®å¦ç
+ */
+Inline ER
+get_Offset(INTNO intno)
+{
+	INT		iOffset;
+	switch(intno)
+	{
+		case S1C33_INHNO_PINT0:			/* Key, Port0-3 group */
+		case S1C33_INHNO_PINT1:
+		case S1C33_INHNO_PINT2:
+		case S1C33_INHNO_PINT3:
+		case S1C33_INHNO_KINT0:
+		case S1C33_INHNO_KINT1:
+			iOffset = 0;
+			break;
+
+		case S1C33_INHNO_HSDMA0:		/* DMA group */
+		case S1C33_INHNO_HSDMA1:
+		case S1C33_INHNO_HSDMA2:
+		case S1C33_INHNO_HSDMA3:
+		case S1C33_INHNO_IDMA:
+			iOffset = 1;
+			break;
+
+		case S1C33_INHNO_P16TIMER0B:		/* 16bit timer0/1 group */
+		case S1C33_INHNO_P16TIMER0A:
+		case S1C33_INHNO_P16TIMER1B:
+		case S1C33_INHNO_P16TIMER1A:
+			iOffset = 2;
+			break;
+
+		case S1C33_INHNO_P16TIMER2B:		/* 16bit timer2/3 group */
+		case S1C33_INHNO_P16TIMER2A:
+		case S1C33_INHNO_P16TIMER3B:
+		case S1C33_INHNO_P16TIMER3A:
+			iOffset = 3;
+			break;
+
+		case S1C33_INHNO_P16TIMER4B:		/* 16bit timer4/5 group */
+		case S1C33_INHNO_P16TIMER4A:
+		case S1C33_INHNO_P16TIMER5B:
+		case S1C33_INHNO_P16TIMER5A:
+			iOffset = 4;
+			break;
+
+		case S1C33_INHNO_P8TIMER0:		/* 8bit timer group */
+		case S1C33_INHNO_P8TIMER1:
+		case S1C33_INHNO_P8TIMER2:
+		case S1C33_INHNO_P8TIMER3:
+			iOffset = 5;
+			break;
+
+		case S1C33_INHNO_SERIAL0ERR:		/* Serial I/O group */
+		case S1C33_INHNO_SERIAL0RX:
+		case S1C33_INHNO_SERIAL0TX:
+		case S1C33_INHNO_SERIAL1ERR:
+		case S1C33_INHNO_SERIAL1RX:
+		case S1C33_INHNO_SERIAL1TX:
+			iOffset = 6;
+			break;
+
+		case S1C33_INHNO_AD:			/* A/DConv, clocktimer, */
+		case S1C33_INHNO_CLKTIMER:		/* Port 4-7 group	*/
+		case S1C33_INHNO_PINT4:
+		case S1C33_INHNO_PINT5:
+		case S1C33_INHNO_PINT6:
+		case S1C33_INHNO_PINT7:
+			iOffset = 7;
+			break;
+
+		default:
+			iOffset = E_PAR;
+	}
+
+	return (iOffset);
+}
+
+/*
+ *  å²ãè¾¼ã¿å¶å¾¡ãããä½ç½®ç¹å®å¦ç
+ */
+Inline ER
+get_BitFlag(INTNO intno)
+{
+	INT	iBitFlag;
+
+	switch(intno)
+	{
+		case S1C33_INHNO_PINT0:			/* D0 group*/
+		case S1C33_INHNO_HSDMA0:
+		case S1C33_INHNO_P8TIMER0:
+		case S1C33_INHNO_SERIAL0ERR:
+		case S1C33_INHNO_AD:
+			iBitFlag = 0x01;
+			break;
+
+		case S1C33_INHNO_PINT1:			/* D1 group*/
+		case S1C33_INHNO_HSDMA1:
+		case S1C33_INHNO_P8TIMER1:
+		case S1C33_INHNO_SERIAL0RX:
+		case S1C33_INHNO_CLKTIMER:
+			iBitFlag = 0x02;
+			break;
+
+		case S1C33_INHNO_PINT2:			/* D2 group*/
+		case S1C33_INHNO_HSDMA2:
+		case S1C33_INHNO_P16TIMER0B:
+		case S1C33_INHNO_P16TIMER2B:
+		case S1C33_INHNO_P16TIMER4B:
+		case S1C33_INHNO_P8TIMER2:
+		case S1C33_INHNO_SERIAL0TX:
+		case S1C33_INHNO_PINT4:
+			iBitFlag = 0x04;
+			break;
+
+		case S1C33_INHNO_PINT3:			/* D3 group*/
+		case S1C33_INHNO_HSDMA3:
+		case S1C33_INHNO_P16TIMER0A:
+		case S1C33_INHNO_P16TIMER2A:
+		case S1C33_INHNO_P16TIMER4A:
+		case S1C33_INHNO_P8TIMER3:
+		case S1C33_INHNO_SERIAL1ERR:
+		case S1C33_INHNO_PINT5:
+			iBitFlag = 0x08;
+			break;
+
+		case S1C33_INHNO_KINT0:			/* D4 group*/
+		case S1C33_INHNO_IDMA:
+		case S1C33_INHNO_SERIAL1RX:
+		case S1C33_INHNO_PINT6:
+			iBitFlag = 0x10;
+			break;
+
+		case S1C33_INHNO_KINT1:			/* D5 group*/
+		case S1C33_INHNO_SERIAL1TX:
+		case S1C33_INHNO_PINT7:
+			iBitFlag = 0x20;
+			break;
+
+		case S1C33_INHNO_P16TIMER1B:		/* D6 group*/
+		case S1C33_INHNO_P16TIMER3B:
+		case S1C33_INHNO_P16TIMER5B:
+			iBitFlag = 0x40;
+			break;
+
+		case S1C33_INHNO_P16TIMER1A:		/* D7 group*/
+		case S1C33_INHNO_P16TIMER3A:
+		case S1C33_INHNO_P16TIMER5A:
+			iBitFlag = 0x80;
+			break;
+
+		default:
+			iBitFlag = E_PAR;
+	}
+
+	return (iBitFlag);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_defs.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã åã®å®ç¾©
+ */
+#define LUXUN2
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­	*/
+#define TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯	*/
+
+/*
+ *  ã¿ã¹ã¯åä½æã®å²è¾¼ã¿ã¬ãã«åæå¤
+ */
+#define TPS_INIT_INTLEVEL	0
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+#sys_config.h
+sys_initialize
+sys_exit
+get_Offset
+get_BitFlag
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_rename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+/*
+ * sys_config.h
+ */
+#define sys_initialize		_kernel_sys_initialize
+#define sys_exit		_kernel_sys_exit
+#define get_Offset		_kernel_get_Offset
+#define get_BitFlag		_kernel_get_BitFlag
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#define _sys_initialize	__kernel_sys_initialize
+#define _sys_exit		__kernel_sys_exit
+#define _get_Offset		__kernel_get_Offset
+#define _get_BitFlag		__kernel_get_BitFlag
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_start.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_start.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_start.c	(revision 26)
@@ -0,0 +1,262 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(S1C33ç¨)
+ */
+
+#include "jsp_kernel.h"
+#include "sys_config.h"
+#include "cpu_config.h"
+
+/*
+ *  å¤é¨é¢æ°ã®åç
+§
+ */
+extern void init_lib(void);
+extern void init_sys(void);
+
+extern void INT_ENTRY(timer_handler)(void);
+extern void INT_ENTRY(sio_in_handler)(void);
+extern void INT_ENTRY(sio_out_handler)(void);
+
+/*
+ *  ãã­ãã¿ã¤ãå®£è¨
+ */
+void start(void);
+static void undef_handler(void);
+static void hardware_init_hook(void);
+static void software_init_hook(void);
+
+/*
+ *  ãã¯ã¿ã¼ãã¼ãã«
+ */
+VP tps_VectorTable[] = {		/* offset   number */
+	(VP) start,			/* 00  Reset			*/
+	(VP) undef_handler,		/* 01  				*/
+	(VP) undef_handler,		/* 02  				*/
+	(VP) undef_handler,		/* 03                           */
+	(VP) undef_handler,		/* 04  Zero division            */
+	(VP) undef_handler,		/* 05                           */
+	(VP) undef_handler,		/* 06  Address error exception  */
+	(VP) undef_handler,		/* 07  debug                    */
+	(VP) undef_handler,		/* 08  NMI                      */
+	(VP) undef_handler,		/* 09                           */
+	(VP) undef_handler,		/* 10                           */
+	(VP) undef_handler,		/* 11                           */
+	(VP) undef_handler,		/* 12  Software exception 0     */
+	(VP) undef_handler,		/* 13  Software exception 1     */
+	(VP) undef_handler,		/* 14  Software exception 2     */
+	(VP) undef_handler,		/* 15  Software exception 3     */
+	(VP) undef_handler,		/* 16 (00)                      */
+	(VP) undef_handler,		/* 17 (01)                      */
+	(VP) undef_handler,		/* 18 (02)                      */
+	(VP) undef_handler,		/* 19 (03)                      */
+	(VP) undef_handler,		/* 20 (04)                      */
+	(VP) undef_handler,		/* 21 (05)                      */
+	(VP) undef_handler,		/* 22 (06)                      */
+	(VP) undef_handler,		/* 23 (07)                      */
+	(VP) undef_handler,		/* 24 (08)                      */
+	(VP) undef_handler,		/* 25 (09)                      */
+	(VP) undef_handler,		/* 26 (10)                      */
+	(VP) undef_handler,		/* 27 (11)                      */
+	(VP) undef_handler,		/* 28 (12)                      */
+	(VP) undef_handler,		/* 29 (13)                      */
+	(VP) undef_handler,		/* 30 (14)                      */
+	(VP) undef_handler,		/* 31 (15)                      */
+	(VP) undef_handler,		/* 32 (16)                      */
+	(VP) undef_handler,		/* 33 (17)                      */
+	(VP) INT_ENTRY(timer_handler),	/* 34 (18) 16 bit programable timer 1-b */
+	(VP) undef_handler,		/* 35 (19)                      */
+	(VP) undef_handler,		/* 36 (20)                      */
+	(VP) undef_handler,		/* 37 (21)                      */
+	(VP) undef_handler,		/* 38 (22)                      */
+	(VP) undef_handler,		/* 39 (23)                      */
+	(VP) undef_handler,		/* 40 (24)                      */
+	(VP) undef_handler,		/* 41 (25)                      */
+	(VP) undef_handler,		/* 42 (26)                      */
+	(VP) undef_handler,		/* 43 (27)                      */
+	(VP) undef_handler,		/* 44 (28)                      */
+	(VP) undef_handler,		/* 45 (29)                      */
+	(VP) undef_handler,		/* 46 (30)                      */
+	(VP) undef_handler,		/* 47 (31)                      */
+	(VP) undef_handler,		/* 48 (32)                      */
+	(VP) undef_handler,		/* 49 (33)                      */
+	(VP) undef_handler,		/* 50 (34)                      */
+	(VP) undef_handler,		/* 51 (35)                      */
+	(VP) undef_handler,		/* 52 (36)                      */
+	(VP) undef_handler,		/* 53 (37)                      */
+	(VP) undef_handler,		/* 54 (38)                      */
+	(VP) undef_handler,		/* 55 (39)                      */
+	(VP) undef_handler,		/* 56 (40) Serial interface Ch.0 (error) */
+	(VP) INT_ENTRY(sio_in_handler),	/* 57 (41) Serial interface Ch.0 (rx) */
+	(VP) INT_ENTRY(sio_out_handler),/* 58 (42) Serial interface Ch.0 (tx) */
+	(VP) undef_handler,		/* 59 (43)                      */
+	(VP) undef_handler,		/* 60 (44)                      */
+	(VP) undef_handler,		/* 61 (45)                      */
+	(VP) undef_handler,		/* 62 (46)                      */
+	(VP) undef_handler,		/* 63 (47)                      */
+	(VP) undef_handler,		/* 64 (48)                      */
+	(VP) undef_handler,		/* 65 (49)                      */
+	(VP) undef_handler,		/* 66 (50)                      */
+	(VP) undef_handler,		/* 67 (51)                      */
+	(VP) undef_handler,		/* 68 (52)                      */
+	(VP) undef_handler,		/* 69 (53)                      */
+	(VP) undef_handler,		/* 70 (54)                      */
+	(VP) undef_handler		/* 71 (55)                      */
+};
+
+/*
+ *  ãã¼ãã«ã¼ãã³
+ */
+void start(void)
+{
+	/*
+	 *  ããã©ã«ããã¼ã¿ã¨ãªã¢ã¢ãã¬ã¹ãè¨­å®ãã
+	 */
+	Asm("xld.w %r15, __dp");
+
+	/*
+	 *  éã¿ã¹ã¯ã³ã³ãã¹ãã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 *  STACKTOPã¯ãsys_config.hã§å®ç¾©
+	 */
+	set_sp(STACKTOP);
+
+	/*
+	 * PSRãåæåããå²ãè¾¼ã¿ãç¦æ­¢ãã
+	 */
+	set_psr(0x00000000);
+
+
+	/*
+	 *  hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_config.c å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ããï¼
+	 */
+	if (hardware_init_hook != (VP) 0) {
+		hardware_init_hook();
+	}
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 */
+	memcpy(VECTOR_START, IVECTOR_START, (UW)IVECTOR_END - (UW)IVECTOR_START);
+	memcpy(DATA_START, IDATA_START, (UW)IDATA_END - (UW)IDATA_START);
+
+	/*
+	 *  bssã»ã¯ã·ã§ã³ã0ã¯ãªã¢ããã
+	 */
+	 memset(BSS_START, 0x00, BSS_END - BSS_START);
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+	if (software_init_hook != (VP) 0) {
+		software_init_hook();
+	}
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åãã
+	 */
+	Asm("xjp kernel_start");
+
+	do {
+		Asm("halt");
+	} while (TRUE);
+}
+
+/*
+ *  ããã¼ã«ã¼ãã³
+ */
+static void undef_handler(void)
+{
+	while(1){
+		;
+	}
+}
+
+/*
+ *  ã·ã¹ãã ä¾å­ã®åæåå¦ç
+ */
+static	void	hardware_init_hook(void)
+{
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).bTtbrProt = (IOREG)0x59;
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).ulTtbr = (LIOREG)tps_VectorTable;
+
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).uwBus = 0x0008;
+	(*(s1c33Bcu_t *) S1C33_BCU_BASE).uwDram = 0x0c00;
+
+	return;
+}
+
+
+/*
+ *  ã½ããã¦ã§ã¢ä¾å­ã®åæåå¦ç
+ */
+static	void	software_init_hook(void)
+{
+	init_lib();
+	init_sys();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/luxun2/sys_unrename.h	(revision 26)
@@ -0,0 +1,25 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+/*
+ * sys_config.h
+ */
+#undef sys_initialize
+#undef sys_exit
+#undef get_Offset
+#undef get_BitFlag
+
+#ifdef LABEL_ASM
+
+/*
+ * sys_config.h
+ */
+#undef _sys_initialize
+#undef _sys_exit
+#undef _get_Offset
+#undef _get_BitFlag
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/makeoffset.c	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#ifdef __LITTLE_ENDIAN__
+TCB	BIT_LW_TCB_enatex = {
+#else
+TCB	BIT_BW_TCB_enatex = {
+#endif /* __LITTLE_ENDIAN__ */
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, {NULL, NULL }
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/s1c33.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/s1c33.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/s1c33.h	(revision 26)
@@ -0,0 +1,345 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ *  ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#ifndef _S1C33_H_
+#define _S1C33_H_
+
+/*
+ *  æ±ç¨ã¬ã¸ã¹ã¿æ°
+ */
+#define S1C33_GR_NUM		16
+
+/*
+ *  PSR
+ */
+#define S1C33_PSR_INITIAL	0x00000000
+#define S1C33_PSR_MASK_IL	0x00000F00
+#define S1C33_PSR_FLAG_IE	0x00000010
+
+/*
+ *  åºæ¬ã¡ã¢ãªããã
+ */
+#define S1C33_AREA00_BASE	0x00000000
+#define S1C33_AREA01_BASE	0x00040000
+#define S1C33_AREA02_BASE	0x00060000
+#define S1C33_AREA03_BASE	0x00080000
+#define S1C33_AREA04_BASE	0x00100000
+#define S1C33_AREA05_BASE	0x00200000
+#define S1C33_AREA06_BASE	0x00300000
+#define S1C33_AREA07_BASE	0x00400000
+#define S1C33_AREA08_BASE	0x00600000
+#define S1C33_AREA09_BASE	0x00800000
+#define S1C33_AREA10_BASE	0x00c00000
+#define S1C33_AREA11_BASE	0x01000000
+#define S1C33_AREA12_BASE	0x01800000
+#define S1C33_AREA13_BASE	0x02000000
+#define S1C33_AREA14_BASE	0x03000000
+#define S1C33_AREA15_BASE	0x04000000
+#define S1C33_AREA16_BASE	0x06000000
+#define S1C33_AREA17_BASE	0x08000000
+#define S1C33_AREA18_BASE	0x0c000000
+
+#define S1C33_INTERNAL_RAM_BASE		S1C33_AREA00_BASE
+#define S1C33_INT08_DEVICE_BASE		(S1C33_AREA01_BASE + 0x0000000)
+#define S1C33_INT16_DEVICE_BASE		(S1C33_AREA01_BASE + 0x0008000)
+#define S1C33_EXT08_DEVICE_BASE		(S1C33_AREA06_BASE + 0x0000000)
+#define S1C33_EXT16_DEVICE_BASE		(S1C33_AREA06_BASE + 0x0080000)
+
+#define S1C33_TIMER_CONTROL_BASE	(S1C33_INT08_DEVICE_BASE + 0x0000140)
+#define S1C33_CLKTIMER_BASE		(S1C33_INT08_DEVICE_BASE + 0x0000150)
+#define S1C33_P8TIMER_BASE		(S1C33_INT08_DEVICE_BASE + 0x0000160)
+#define S1C33_WATCHDOG_BASE		(S1C33_INT08_DEVICE_BASE + 0x0000170)
+#define S1C33_POWER_BASE		(S1C33_INT08_DEVICE_BASE + 0x0000180)
+#define S1C33_SERIAL_BASE		(S1C33_INT08_DEVICE_BASE + 0x00001e0)
+#define S1C33_AD_BASE			(S1C33_INT08_DEVICE_BASE + 0x0000240)
+#define S1C33_INTC_BASE			(S1C33_INT08_DEVICE_BASE + 0x0000260)
+#define S1C33_DMAC_BASE			(S1C33_INT08_DEVICE_BASE + 0x0000290)
+#define S1C33_PORT_BASE			(S1C33_INT08_DEVICE_BASE + 0x00002c0)
+
+#define S1C33_BCU_BASE			(S1C33_INT16_DEVICE_BASE + 0x0000120)
+#define S1C33_P16TIMER_BASE		(S1C33_INT16_DEVICE_BASE + 0x0000180)
+#define S1C33_IDMA_BASE			(S1C33_INT16_DEVICE_BASE + 0x0000200)
+#define S1C33_HSDMA_BASE		(S1C33_INT16_DEVICE_BASE + 0x0000220)
+
+/*
+ *  å²ãè¾¼ã¿ãã¯ã¿çªå·
+ */
+#define S1C33_INHNO_RESET		0x00
+#define S1C33_INHNO_ZERO		0x04
+#define S1C33_INHNO_ADDRESS		0x06
+#define S1C33_INHNO_DEBUG		0x07
+#define S1C33_INHNO_NMI			0x08
+#define S1C33_INHNO_INT0		0x0c
+#define S1C33_INHNO_INT1		0x0d
+#define S1C33_INHNO_INT2		0x0e
+#define S1C33_INHNO_INT3		0x0f
+#define S1C33_INHNO_PINT0		0x10
+#define S1C33_INHNO_PINT1		0x11
+#define S1C33_INHNO_PINT2		0x12
+#define S1C33_INHNO_PINT3		0x13
+#define S1C33_INHNO_KINT0		0x14
+#define S1C33_INHNO_KINT1		0x15
+#define S1C33_INHNO_HSDMA0		0x16
+#define S1C33_INHNO_HSDMA1		0x17
+#define S1C33_INHNO_HSDMA2		0x18
+#define S1C33_INHNO_HSDMA3		0x19
+#define S1C33_INHNO_IDMA		0x1a
+#define S1C33_INHNO_P16TIMER0B		0x1e
+#define S1C33_INHNO_P16TIMER0A		0x1f
+#define S1C33_INHNO_P16TIMER1B		0x22
+#define S1C33_INHNO_P16TIMER1A		0x23
+#define S1C33_INHNO_P16TIMER2B		0x26
+#define S1C33_INHNO_P16TIMER2A		0x27
+#define S1C33_INHNO_P16TIMER3B		0x2a
+#define S1C33_INHNO_P16TIMER3A		0x2b
+#define S1C33_INHNO_P16TIMER4B		0x2e
+#define S1C33_INHNO_P16TIMER4A		0x2f
+#define S1C33_INHNO_P16TIMER5B		0x32
+#define S1C33_INHNO_P16TIMER5A		0x33
+#define S1C33_INHNO_P8TIMER0		0x34
+#define S1C33_INHNO_P8TIMER1		0x35
+#define S1C33_INHNO_P8TIMER2		0x36
+#define S1C33_INHNO_P8TIMER3		0x37
+#define S1C33_INHNO_SERIAL0ERR		0x38
+#define S1C33_INHNO_SERIAL0RX		0x39
+#define S1C33_INHNO_SERIAL0TX		0x3a
+#define S1C33_INHNO_SERIAL1ERR		0x3c
+#define S1C33_INHNO_SERIAL1RX		0x3d
+#define S1C33_INHNO_SERIAL1TX		0x3e
+#define S1C33_INHNO_AD			0x40
+#define S1C33_INHNO_CLKTIMER		0x41
+#define S1C33_INHNO_PINT4		0x44
+#define S1C33_INHNO_PINT5		0x45
+#define S1C33_INHNO_PINT6		0x46
+#define S1C33_INHNO_PINT7		0x47
+#define S1C33_INHNO_P8TIMER4		0x48
+#define S1C33_INHNO_P8TIMER5		0x49
+#define S1C33_INHNO_SERIAL2ERR		0x4c
+#define S1C33_INHNO_SERIAL2RX		0x4d
+#define S1C33_INHNO_SERIAL2TX		0x4e
+#define S1C33_INHNO_SERIAL3ERR		0x50
+#define S1C33_INHNO_SERIAL3RX		0x51
+#define S1C33_INHNO_SERIAL3TX		0x52
+
+/*
+ *  ã¢ããã³ã¹ããã¯ã­åºæã®å²ãè¾¼ã¿ãã¯ã¿
+ */
+#define S1C33_INHNO_PINT8		0x54
+#define S1C33_INHNO_PINT9		0x55
+#define S1C33_INHNO_PINT10		0x56
+#define S1C33_INHNO_PINT11		0x57
+#define S1C33_INHNO_PINT12		0x58
+#define S1C33_INHNO_PINT13		0x59
+#define S1C33_INHNO_PINT14		0x5a
+#define S1C33_INHNO_PINT15		0x5b
+#define S1C33_INHNO_P16TIMER6B		0x5e
+#define S1C33_INHNO_P16TIMER6A		0x5f
+#define S1C33_INHNO_P16TIMER7B		0x62
+#define S1C33_INHNO_P16TIMER7A		0x63
+#define S1C33_INHNO_P16TIMER8B		0x66
+#define S1C33_INHNO_P16TIMER8A		0x67
+#define S1C33_INHNO_P16TIMER9B		0x6a
+#define S1C33_INHNO_P16TIMER9A		0x6b
+
+
+#ifndef _MACRO_ONLY
+
+typedef unsigned char   byte;
+typedef unsigned short  word;
+typedef volatile byte   IOREG;
+typedef volatile word   HIOREG;
+typedef volatile int    LIOREG;
+
+/*
+ * ã¬ã¸ã¹ã¿(TIMER_CONTROL 140)
+ */
+typedef struct {
+	IOREG bP8ClkSelect45;
+	IOREG bDummy[4];
+	IOREG bP8ClkCtrl45;
+	IOREG bP8ClkSelect;
+	IOREG bP16ClkCtrl[6];
+	IOREG bP8ClkCtrl[2];
+	IOREG bADClkCtrl;
+} s1c33TimerControl_t;
+
+/*
+ *  ã¬ã¸ã¹ã¿(SERIAL 1e0)
+ */
+typedef struct {
+	struct {
+		IOREG bTxd;
+		IOREG bRxd;
+		IOREG bStatus;
+		IOREG bControl;
+		IOREG bIrDA;
+	} stChannel01[2];
+
+	IOREG Dummy0[6];
+
+	struct {
+		IOREG bTxd;
+		IOREG bRxd;
+		IOREG bStatus;
+		IOREG bControl;
+		IOREG bIrDA;
+	} stChannel23[2];
+#ifdef	__c33adv
+	IOREG Dummy1[5];
+	IOREG bSioAdv;
+#endif	// __c33adv
+} s1c33Serial_t;
+
+/*
+ *  ã¬ã¸ã¹ã¿(INTC 260)
+ *
+ */
+typedef struct {
+	IOREG bPriority[15];	/* C33209ã§ã®ã¢ãµã¤ã³ã¯bPriority[14] +	*/
+	IOREG bDummy0[1];	/* bDummy0[2]ã®æ§æã¨ç­ãã		*/
+
+	IOREG bIntEnable[10];	/* C33209ã§ã®ã¢ãµã¤ã³ã¯bIntEnable[8] +	*/
+	IOREG bDummy1[6];	/* bDummy1[8]ã®æ§æã¨ç­ãã		*/
+
+	IOREG bIntFactor[10];	/* C33209ã§ã®ã¢ãµã¤ã³ã¯bIntFactor[8] +	*/
+	IOREG bDummy2[6];	/* bDummy2[8]ã®æ§æã¨ç­ãã		*/
+
+	IOREG bIDMAReq[4];
+	IOREG bIDMAEnable[4];
+	IOREG bHSDMATriger[2];
+	IOREG bHSDMASoftTrg;
+
+	IOREG bIDMAReqExt;	/* C33209ã§ã®ã¢ãµã¤ã³ã¯bDummy3[4]ã®	*/
+	IOREG bIDMAEnableExt;	/* æ§æã¨ç­ãã*/
+	IOREG bDummy3[2];
+
+	IOREG bReset;
+} s1c33Intc_t;
+
+/*
+ *  ã¬ã¸ã¹ã¿(PORT 2c0)
+ */
+typedef struct {
+	struct {
+		IOREG bFuncSwitch;
+		IOREG bData;
+	} stK5Port;
+
+	IOREG bDummy;
+
+	struct {
+		IOREG bFuncSwitch;
+		IOREG bData;
+	} stK6Port;
+
+	IOREG bIntFPSwitch;		/* C33L11ã§ã¯æªä½¿ç¨		*/
+
+	struct {
+		IOREG bSpt[2];
+		IOREG bSppt;
+		IOREG bSept;
+	} stPINT;
+
+	struct {
+		IOREG bSppk;
+		IOREG bTM16Switch;	/* C33L11ã§ã¯æªä½¿ç¨		*/
+		IOREG bScpk[2];
+		IOREG bSmpk[2];
+	} stKINT;
+
+	struct {
+		IOREG bFuncSwitch;
+		IOREG bData;
+		IOREG bControl;
+		IOREG bFuncExt		/* stPPort[0]ã®ã¿C33209,C33L11	*/;
+					/* ã¨ãæªä½¿ç¨			*/
+	} stPPort[4];
+} s1c33Port_t;
+
+/*
+ *  ã¬ã¸ã¹ã¿(BCU 120)
+ */
+typedef struct {
+	HIOREG uwA18_15;
+	HIOREG uwA14_13;
+	HIOREG uwA12_11;
+	HIOREG uwA10_09;
+	HIOREG uwA08_07;
+	HIOREG uwA06_04;
+	IOREG  bDummy;
+	IOREG  bTtbrProt;
+	HIOREG uwBus;
+	HIOREG uwDram;
+	HIOREG uwAccess;
+	LIOREG ulTtbr;
+	HIOREG uwGACtrl;
+	IOREG  bBClk;
+} s1c33Bcu_t;
+
+/*
+ *  ã¬ã¸ã¹ã¿(P16TIMER 180)
+ */
+typedef struct {
+	struct {
+		HIOREG uwComp[2];
+		HIOREG uwCount;
+		IOREG  bControl;
+		IOREG  bDummy;
+	} stChannel[6];
+} s1c33P16Timer_t;
+
+#endif /* _MACRO_ONLY */
+#endif /* _S1C33_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/sys.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/sys.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/sys.c	(revision 26)
@@ -0,0 +1,198 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Additional routine
+ *
+ *  Copyright (C) 2003 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+#include "cpu_rename.h"
+
+unsigned char WRITE_BUF[65];
+
+/* buffer for simulated stdin, WRITE_BUF[0] is size (1-0x40, 0 means no data)
+   WRITE_BUF[1-64] is buffer area for data, max 64 bytes
+   used in write () */
+
+unsigned char READ_BUF[65];
+
+/* buffer for simulated stdin, READ_BUF[0] is size (1-0x40, 0 means EOF)
+   READ_BUF[1-64] is buffer area for data, max 64 bytes
+   used in read() */
+
+static unsigned char READ_EOF; /* if 1: READ_BUFFER become EOF, 0: not EOF */
+
+/*
+ *  void _exit
+ *	_exit execute inifinity loop.
+ */
+
+void _exit()
+{
+LOOP:
+	goto LOOP;
+}
+
+/*
+ *  void _init_sys
+ *	_init_sys initialize read() and write() bffer area
+ */
+
+void init_sys()
+{
+	READ_EOF = 0;		/* not EOF */
+	READ_BUF[0] = 0;	/* BUFFER is empty */
+}
+
+/*
+ *  read
+ *	Read() get and return required bytes with using simulated input.
+ *	If EOF return 0.
+ *	READ_FLASH: is break point label for stdin
+ *	READ_BUF is buffer area for stdin
+ */
+
+int read (int fhDummy, char *psReadBuf, int iReadBytes)
+{
+	int iBytes;		/* data size written to psReadBuf */
+	int iSize;		/* data size in READ_BUF */
+	char *psBuf;		/* top of read buffer */
+	static int iNdxPos;	/* current positon in READ_BUF*/
+
+/* start */
+
+	iBytes = 0;		/* no read now */
+	psBuf = psReadBuf;
+
+/* This loop repeat for each byte to copy READ_BUF to psReadBuf */
+
+	for (;;)
+	    {
+
+/* if iReadByte become 0, return */
+
+		if (iReadBytes == 0)	/* if required size become 0, return */
+			return(iBytes);
+
+/* if EOF, return 0 */
+
+		if (READ_EOF == 1)
+			return(iBytes);
+
+/* if there is data, copy 1 byte */
+
+		iSize = READ_BUF[0];
+		if (iSize > 0 )
+		    {
+		    	*psBuf = READ_BUF[iNdxPos];
+		    	psBuf++;
+		    	iReadBytes--;
+		    	iNdxPos++;
+		    	iSize--;
+			iBytes++;
+		    	READ_BUF[0] = (unsigned char)(iSize & 0xff);
+		    }
+
+/* if no data, read 0-64 bytes from simulated input */
+
+		else
+		    {
+			asm(".global READ_FLASH");
+			asm("READ_FLASH:");	/* label for simulated stdin */
+			if (READ_BUF[0] == 0)
+				READ_EOF = 1;	/* if size is 0, EOF */
+		    	iNdxPos = 1;	/* reset index position */
+		    }
+	    } /* back to for (;;) */
+}
+
+/*
+ *  write
+ *	write datas with using simulated stdout
+ *	WRITE_FLASH: is break point label for stdout
+ *      WRITE_BUF is buffer area for stdout
+ */
+
+int write (int fhDummy, char *psWriBuf, int iWriBytes)
+{
+	int iBytes;	/* remain data bytes waiting WRITE_BUF */
+	int iSize;	/* data size to write to WRITE_BUF */
+	int iCount;	/* counter to copy data to WRITE_BUF */
+
+	iBytes = iWriBytes;
+
+	for (;;){				/* repeat each 255 bytes */
+
+/* if remain 0, return original size */
+
+	if (iBytes == 0)		/* remain size become 0, so return */
+		return(iWriBytes);
+
+/* if remain > 64, write size is 64 */
+
+	if (iBytes > 64)
+	{				/* over 64 */
+		iSize = 64;				/* 64 bytes to WRITE_BUF */
+		iBytes = iBytes - 64;	/* remain data */
+	}
+	else
+	{						/* not over 64 */
+		iSize = iBytes;		/* under 64 bytes to WRITE_BUF */
+		iBytes = 0;			/* no remain data */
+	}
+
+/* copy psWriBuf to WRITE_BUF */
+
+	WRITE_BUF[0] = (unsigned char)(iSize & 0xff);	/* set size */
+	for (iCount = 1 ; iCount <= iSize ; iCount++)
+	{
+		WRITE_BUF[iCount] = *psWriBuf;		/* copy data */
+		psWriBuf++;
+	}
+	asm(".global WRITE_FLASH");
+	asm("WRITE_FLASH:");		/* label for simulated stdout */
+
+    }	/* back to for (;;) */
+
+	return(iSize);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_config.h	(revision 26)
@@ -0,0 +1,283 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CHG_ILV_ENTER(ilevno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_CHG_ILV_LEAVE(ercd)			/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_ILV_ENTER(p_ilevno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_GET_ILV_LEAVE(ercd, p_ilevno)	/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/s1c33/tool_defs.h	(revision 26)
@@ -0,0 +1,85 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å	*/
+#define	_int16_		short		/* 16ãããã®æ´æ°å	*/
+#define	_int32_		int		/* 32ãããã®æ´æ°å	*/
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/Makefile.config	(revision 26)
@@ -0,0 +1,40 @@
+#
+#  @(#) $Id: Makefile.config,v 1.10 2004/09/22 08:47:52 honda Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼SH1ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+
+TARGET = sh-hitachi-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -Wall -g -O2 -m1 -mhitachi
+CDEFS := $(CDEFS) -DLABEL_ASM 
+
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o vector_table.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.c	(revision 26)
@@ -0,0 +1,353 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.16 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <sil.h>
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UW	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UW	int_intmask;
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+UW	intnest;
+
+/*
+ *  ãªãªã¸ãã«ã®ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®ä¿å­é å
+ */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+static VP org_vbr;
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  CPUä¾å¤ã®è¦å æ°
+ */
+#ifndef NUM_EXC
+#define NUM_EXC	(6 + 2)
+#endif	/*  NUM_EXC  */
+
+/*
+ *  ç»é²ãããCPUä¾å¤ã®è¦å æ°
+ */
+static UW num_exc;
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®å
+é ­ã¢ãã¬ã¹
+ */
+static FP exc_entries[NUM_EXC];
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+	task_intmask = 0x0000u;
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®åæå
+	 */
+	intnest = 1u;
+
+#ifndef GDB_STUB
+
+	/*
+	 * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+	 */
+	sil_wrh_mem(IPRA, 0x0000);
+	sil_wrh_mem(IPRB, 0x0000);
+	sil_wrh_mem(IPRC, 0x0000);
+	sil_wrh_mem(IPRD, 0x0000);
+	sil_wrh_mem(IPRE, 0x0000);
+
+#endif	/*  GDB_STUB  */
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+	/*
+	 *  ãã¯ã¿ãã¼ãã«ã¯åæå¤ä»ãå¤æ°ï¼é
+åï¼ã«ããã®ã§ã
+	 *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ãã³ãã¼ããéã«
+	 *  åæåãããã
+	 *  ï¼ããã§åæåããå¿
+è¦ã¯ãªããï¼
+	 */
+	
+	/*
+	 *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®åæå
+	 */
+	org_vbr = current_vbr();
+	set_vbr((VP)vector_table);
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+	num_exc = 0;
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+	set_vbr(org_vbr);
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+void
+define_exc(EXCNO excno, FP exchdr)
+{
+	/*  SH1ã¯å²è¾¼ã¿ãCPUä¾å¤ãåãå½¢å¼  */
+	define_inh((INHNO)excno, exchdr);
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+#if 0
+	CHECK_PAR(num_exc < NUM_EXC);
+#endif
+	exc_entries[num_exc++] = exchdr;
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+}
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã§å²è¾¼ã¿ç¦æ­¢ããã¾ã§ã®å½ä»¤æ°
+ */
+#define NUM_INST_DIS_INT	5
+
+
+/*
+ *  å²è¾¼ã¿ããã®æ»ãå
+ã®ãã§ãã¯
+ *
+ *  ãå¼æ°
+ *  ããVP pcï¼ã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°
+ *  ãæ»ãå¤
+ *  ããTRUEï¼æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çï¼å²è¾¼ã¿ç¦æ­¢ããåï¼
+ *  ããFALSEï¼æ»ãå
+ãä¸è¨ä»¥å¤
+ *  ãåè
+ *  ããå²è¾¼ã¿ã®åºå£å¦çã§å²è¾¼ã¿ç¦æ­¢ã§å¼ã°ããã
+ */
+
+/* cpu_support.Sã®ret_intã ãããå¼ã°ããã®ã§ 	*/
+/* ãããã¼ãã¡ã¤ã«ã«ã¯å«ããªãã 		*/
+BOOL check_cpu_exc_entry(VP pc)   throw();
+
+BOOL check_cpu_exc_entry(VP pc)
+{
+	UW i;
+	UH *entry;	/* 2ãã¤ãé·å½ä»¤ã¸ã®ãã¤ã³ã¿ */
+	
+	for(i = 0; i < num_exc; i++) {
+		entry = (UH *)exc_entries[i];
+		if (((UW)entry <= (UW)pc) &&
+		     ((UW)pc <= (UW)(entry + NUM_INST_DIS_INT)) ) {
+			return TRUE;
+		}
+	}
+	return FALSE;
+}
+
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã0xfï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«å¤æ´
+ *  ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ãããï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨
+ *  æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= (MAX_IPM - 1) );
+
+	t_lock_cpu();
+	task_intmask = (ipm << 4);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 4);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void cpu_experr(EXCSTACK *sp)
+{
+    syslog(LOG_EMERG, "Exception error occurs.");
+
+    syslog(LOG_EMERG, "PC = 0x%08x SR = 0x%08x PR = 0x%08x",
+    			sp->pc, sp->sr, sp->pr);
+
+    syslog(LOG_EMERG, "r0 = 0x%08x r1 = 0x%08x r2 = 0x%08x",
+    			sp->r0, sp->r1, sp->r2);
+    syslog(LOG_EMERG, "r3 = 0x%08x r4 = 0x%08x r5 = 0x%08x",
+    			sp->r3, sp->r4, sp->r5);
+    syslog(LOG_EMERG, "r6 = 0x%08x r7 = 0x%08x r8 = 0x%08x",
+    			sp->r6, sp->r7, sp->r8);
+    syslog(LOG_EMERG, "r9 = 0x%08x r10 = 0x%08x r11 = 0x%08x",
+    			sp->r9, sp->r10, sp->r11);
+    syslog(LOG_EMERG, "r12 = 0x%08x r13 = 0x%08x r14 = 0x%08x",
+    			sp->r12, sp->r13, sp->r14);
+    			/*  ä¾å¤çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤  */
+    syslog(LOG_EMERG, "r15 = 0x%08x", (sp->r15)+19*4);
+
+    while(1);
+}
+
+
+/*
+ *  ã¡ã¢ãªãã­ãã¯æä½ã©ã¤ãã©ãª
+ *	(ItIsããã®æµç¨)
+ *
+ *  é¢æ°ã®ä»æ§ã¯ï¼ANSI C ã©ã¤ãã©ãªã®ä»æ§ã¨åãï¼æ¨æºã©ã¤ãã©ãªã®ãã®ã
+ *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *
+ */
+void *
+_dummy_memcpy(void *dest, const void *src, size_t len)
+{
+	VB	*d = (VB *)dest;
+	VB	*s = (VB *)src;
+
+	while (len-- > 0) {
+		*d++ = *s++;
+	}
+	return(dest);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_config.h	(revision 26)
@@ -0,0 +1,580 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.18 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  SH1ãã­ã»ããµã®å
+é¨ã¬ã¸ã¹ã¿ã®å®ç¾©
+ */
+#include <sh1.h>
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  è¨­å®å¯è½ãªæé«åªå
+åº¦
+ */
+#ifdef GDB_STUB
+#define MAX_IPM  0xe	/* ã¹ã¿ãããã®å ´åã¯åªå
+åº¦14ã§CPUã­ãã¯   */
+#else
+#define MAX_IPM  0xf	/* ã¹ã¿ããªãã®å ´åã¯æé«åªå
+åº¦ã§CPUã­ãã¯ */
+#endif /*  GDB_STUB  */
+
+#define str_MAX_IPM  		TO_STRING(MAX_IPM)
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ *  
+ *  ãspãUW *åã¨ãã¦ããã®ã¯4ãã¤ãå¢çãæè­ãã¦ãããã
+ *  
+ */
+typedef struct task_context_block {
+        UW 	*sp;            /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP	pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã4ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+current_intmask(void)
+{
+	return(current_sr() & 0x000000f0u);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UW intmask)
+{
+	set_sr((current_sr() & ~0x000000f0u) | intmask);
+}
+
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern UW	intnest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ãã
+ *  æ»ã£ãã¨ãã«ã¯ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+Inline BOOL
+sense_context(void)
+{
+	return(intnest > 0);
+}
+
+Inline BOOL
+sense_lock(void)
+{
+	return(current_intmask() == (MAX_IPM << 4));
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UW	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu(viod)
+{
+	disint();		/*  cpu_insn.h  */
+}
+
+Inline void
+t_unlock_cpu(void)
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();		/*  cpu_insn.h  */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UW	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu(void)
+{
+	UW	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask() ãå¼
+	 *  ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+Inline void
+i_unlock_cpu(void)
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+extern FP vector_table[];	/*  ä¾å¤ãã¯ã¿ãã¼ãã«  */
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+#ifdef GDB_STUB
+	/*  ã¹ã¿ãå¼ã³åºã  */
+	Asm("mov   #0x08,r0;	\
+	     mov   %0,r4;	\
+	     mov   %1,r5;	\
+	     trapa #0x21"
+               : /* no output */
+               : "r"(inhno),"r"(inthdr)
+               : "r0","r4","r5");
+
+#else	/*  GDB_STUB  */
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+#ifdef SIO_RESERVED	/*  ã·ãªã¢ã«å²ãè¾¼ã¿ã¯é¿ãã  */
+	if ((inhno != RXI0) && (inhno != TXI0))
+#endif /* SIO_RESERVED */
+		vector_table[inhno] = inthdr;
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#endif	/*  GDB_STUB  */
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+extern void define_exc(EXCNO excno, FP exchdr)  throw();
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦ç
+ */
+
+/*  Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ  
+ *     kernel_cfg.cã§ä½¿ç¨
+ */
+#define	INT_ENTRY(inthdr)	_kernel_##inthdr##_entry
+#define	EXC_ENTRY(exchdr)	_kernel_##exchdr##_entry
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®å
+±éé¨å
+ *
+ *	SH1ã§ã¯ãå²è¾¼ã¿ã¨CPUä¾å¤ã®æ±ããã»ã¨ãã©åããªã®ã§ã
+ *	å
+¥å£å¦çã®ãã¯ã­ãå
+±éã«å®ç¾©ãã¦ãã
+ *
+ *ããå¼æ°
+ *	labelï¼å
+¥å£å¦çã®ã©ãã«
+ *	inthdrï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *	common_routineï¼cpu_support.Så
+ã®åå²å
+ã¢ãã¬ã¹
+ *			interrupt_entryï¼å²è¾¼ã¿ã®å ´å
+ *			cpu_exception_entryï¼CPUä¾å¤ã®å ´å
+ *
+ *ããã¬ã¸ã¹ã¿å²å½
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr0ï¼interrupt_entry
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *	å²è¾¼ã¿ã¨CPUä¾å¤ã®ç¸éç¹
+ *	ããã»CPUä¾å¤ãã³ãã©ã«å¼æ°ãä¸ãã
+ *	ããã»CPUä¾å¤ã§ã¯ãä¾å¤çºçæã®IPMã¨åãå¤ã§å²è¾¼ã¿ãè¨±å¯ãã
+ *		ï¼CPUä¾å¤ã«ãããIPMãå¤åãããªãï¼
+ *
+ *	ããã»å²è¾¼ã¿ãã³ãã©ã®å ´å				
+ *	ãã  	å²è¾¼ã¿åä»æã«ãã¼ãã¦ã§ã¢ãIPMãè¨­å®ãã	
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯ãã®IPMã®å¤ãç¨ãã		
+ *	ããã»CPUä¾å¤ãã³ãã©ã®å ´å				
+ *	ãã  	CPUä¾å¤åä»æã«IPMã®å¤ã¯å¤åããªã		
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯CPUä¾å¤çºçæã®IPMã®å¤ãç¨ãã	
+ */
+#define	HANDLER_ENTRY_PROC(label, handler, common_routine)		   \
+asm(".text;								  "\
+"	.align 2;							  "\
+"	.global _"#label";						  "\
+"_"#label":;								  "\
+			/*  å¿
+è¦æå°éã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«å¾
+é¿  */	   \
+"	mov.l	r0,@-r15;						  "\
+"	mov.l	r1,@-r15;						  "\
+				/*  å²è¾¼ã¿ç¦æ­¢ã¨SRå¾©å
+ã®æºå  		*/ \
+"	stc	sr,r1;							  "\
+	/*  å²è¾¼ã¿ç¦æ­¢  						*/ \
+	/*     å²è¾¼ã¿ãç¦æ­¢ããåã«å¥ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®æ³¨æç¹ã¯ 	*/ \
+	/*     cpu_suppourt.Sã®ret_intãåç
+§ 				*/ \
+"	mov.l	_mask_ipm_"#handler",r0;				  "\
+"	ldc	r0,sr;							  "\
+"	mov.l	r2,@-r15;						  "\
+"	mov.l	_common_routine_"#handler",r0;				  "\
+"	mov.l	_c_routine_"#handler",r2;" /* Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹*/\
+"	jmp	@r0;		"/*  interrupt_entryã¸ã¸ã£ã³ã 		*/ \
+"	nop;				"	/*  é
+å»¶ã¹ã­ãã  	*/ \
+	/* åè 							*/ \
+	/* ãé
+å»¶ã¹ã­ããã«PCç¸å¯¾ã¢ãã¬ãã·ã³ã°ã®ã­ã¼ãå½ä»¤ã 		*/ \
+	/* ãå
+¥ããã¨èª¤åä½ããã 					*/ \
+	/*  ãï¼ã¹ã­ããä¸å½å½ä»¤ä¾å¤ãçºçããªãã®ã§çºè¦ãé£ãããï¼ 	*/ \
+									   \
+"	.align 2;							  "\
+"_mask_ipm_"#handler":;	    "	/*  å²è¾¼ã¿ç¦æ­¢ç¨ãã¹ã¯  		*/ \
+"	.long  "str_MAX_IPM" << 4; "	/*  ipmä»¥å¤ã®ãããã¯ã¼ã­ã§è¯ã	*/ \
+"_c_routine_"#handler":;	    					  "\
+"	.long  _"#handler";   "	/* Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹  	*/ \
+"_common_routine_"#handler":; "	/* cpu_support.Så
+ã®åå²å
+ã¢ãã¬ã¹	*/ \
+"	.long  __kernel_"#common_routine"; "		  		   \
+)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)	INTHDR_ENTRY2(INT_ENTRY(inthdr), inthdr)
+
+#define INTHDR_ENTRY2(entry, inthdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, inthdr, interrupt_entry)
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ */
+#define	EXCHDR_ENTRY(exchdr)	EXCHDR_ENTRY2(EXC_ENTRY(exchdr), exchdr)
+
+#define EXCHDR_ENTRY2(entry, exchdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, exchdr, cpu_exception_entry)
+	/*
+	 *  void entry()ã¯åãªãã¨ã³ããªã®ã©ãã«ãªã®ã§ã
+	 *  å¼æ°ã¯ä»ããªã
+	 */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* 
+	 *  ï¼ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®å
+	 *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã 	
+	 *  
+	 *  CPUä¾å¤ã®å
+¥å£å¦çä¸­ã«å¥ã®CPUä¾å¤ã¯çºçããªãã¨ä»®å®
+	 *  ãã¦ãã
+	 */
+	return(intnest > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	UW sr = *(UW *)p_excinf; 
+	return((sr& 0x00000f0u) == (MAX_IPM << 4));
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+
+/*
+ *  ä¸è¨ã®ã­ã°åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+typedef struct exc_stack {
+	VW	r0;
+	VW	r1;
+	VW	r2;
+	VW	r3;
+	VW	r4;
+	VW	r5;
+	VW	r6;
+	VW	r7;
+	VW	r8;
+	VW	r9;
+	VW	r10;
+	VW	r11;
+	VW	r12;
+	VW	r13;
+	VW	r14;
+	VW	r15;
+	VW	pr;	/*  ãã­ã·ã¼ã¸ã£ã»ã¬ã¸ã¹ã¿  	*/
+	VW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+	VW	sr;	/*  ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿  	*/
+} EXCSTACK;
+
+
+/*
+ * ä¾å¤çºçæã®ã­ã°åºå (cpu_config.c, cpu_support.S)
+ */
+extern void     cpu_experr(EXCSTACK *);
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ã«è¨­å®ããããã©ã«ãã®å¤
+ *  	ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *	ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+#define RESET_VECTOR 	start		/*  ãªã»ãããã¯ã¿  */
+#define INIT_STACK  	STACKTOP	/*  ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+
+#define RESERVED_VECTOR	RESET_VECTOR	/*  ã·ã¹ãã äºç´ã®ãªã»ãããã¯ã¿  */
+					/*  å®éã«ã¯ä½¿ç¨ãããªã  */
+
+#ifndef GII_VECTOR	/*  ä¸è¬ä¸å½å½ä»¤  */
+#define GII_VECTOR	RESET_VECTOR
+#endif /* GII_VECTOR */
+
+#ifndef SII_VECTOR	/*  ã¹ã­ããä¸å½å½ä»¤  */
+#define SII_VECTOR	RESET_VECTOR
+#endif /* SII_VECTOR */
+
+#ifndef CAE_VECTOR	/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+#define CAE_VECTOR	RESET_VECTOR
+#endif /* CAE_VECTOR */
+
+#ifndef DAE_VECTOR	/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+#define DAE_VECTOR	RESET_VECTOR
+#endif /* DAE_VECTOR */
+
+#ifndef NMI_VECTOR	/*  NMI  */
+#define NMI_VECTOR	RESET_VECTOR
+#endif /* NMI_VECTOR */
+
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_context.h	(revision 26)
@@ -0,0 +1,122 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.11 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼SH1ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	UW	*sp;
+
+	sp = (UW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.S  */
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *     
+ *      SH1ã§ã¯ã¹ã¿ãã¯ä¸ã«ããã¼é åããããªãã®ã§ããã¯ã­
+ *      ACTIVATED_STACK_SIZEã¯å®ç¾©ããªã
+ */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_defs.h	(revision 26)
@@ -0,0 +1,174 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.14 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼SH1ç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>	/*  SUPPORT_VXGET_TIMãã¯ã­ã®å®ç¾©  */
+
+
+#define SH1			/* ãã­ã»ããµç¥ç§° */
+#define SH7032
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2004 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ *  
+ *  æ¬æ¥ã¯#ifdef SUPPORT_CHG_IPMã#endifã§å²ãã¹ãã ãã
+ *  ãã®ãã¡ã¤ã«ãcpu_config.hããå
+ã«ã¤ã³ã¯ã«ã¼ãããããã
+ *  çç¥ãã¦ããã
+ *  ãã®é¨åãæ®ããã¨ã«ãããçæãããã³ã¼ãã¯ã»ã¨ãã©ãªãã®ã§
+ *  å®å®³ã¯ãªãã¨å¤æ­ããã
+ */
+typedef	UINT	IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+
+/*
+ *  SILé¢é£ã®å®ç¾©
+ */
+
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+#define _current_intmask_	current_intmask
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+#define _set_intmask_		set_intmask
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ *  ãdisint()ãã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®ã¿ãç¦æ­¢ããã®ã«å¯¾ãã¦
+ *  ã_disint_()ã¯ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãå«ãã¦ç¦æ­¢ããã
+ *  ãå
+·ä½çã«ã¯GDB stubã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ã®æ±ããç°ãªãã
+ */
+Inline void
+_disint_(void)
+{
+	UW sr;
+
+	Asm("stc  sr,%0" : "=r"(sr));
+	sr |= 0x000000f0u;
+	Asm("ldc %0, sr" : : "r"(sr) : "memory", "t");
+}
+
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define	SIL_PRE_LOC	UW _intmask_ = _current_intmask_()
+#define	SIL_LOC_INT()	_disint_()
+#define	SIL_UNL_INT()	_set_intmask_(_intmask_)
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+
+#ifdef SUPPORT_VXGET_TIM
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /*  SUPPORT_VXGET_TIM  */
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_insn.h	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.12 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼SH1ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_sr(void)
+{
+	UW sr;
+	Asm("stc  sr,%0" : "=r"(sr));
+	return(sr);
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UW sr)
+{
+	Asm("ldc %0, sr" : : "r"(sr) : "memory", "t");
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ *  ãï¼ã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®ã¿ç¦æ­¢ï¼
+ */
+Inline void
+disint(void)
+{
+    set_sr((current_sr() & ~0x000000f0u) |  (MAX_IPM << 4) );
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint(void)
+{
+	set_sr(current_sr() & ~0x000000f0u);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+current_vbr(void)
+{
+	VP	vbr;
+
+	Asm("stc vbr,%0" : "=r"(vbr));
+	return(vbr);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+Inline void
+set_vbr(VP vbr)
+{
+	Asm("ldc  %0, vbr" : : "r"(vbr) );
+}
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *ããæ©ç¨®éä¾å­é¨ã§ç¨æããé¢æ°ãå©ç¨ããã®ã§
+ *ããCPU_BITMAP_SEARCHãã¯ã­ã¯å®ç¾©ããªã
+ */
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.def	(revision 26)
@@ -0,0 +1,17 @@
+#cpu_support.S
+activate_r
+interrupt_entry
+cpu_exception_entry
+no_reg_exception
+
+#cpu_config.c
+task_intmask
+int_intmask
+intnest
+vector_table
+cpu_experr
+define_exc
+check_cpu_exc_entry
+
+#start.S
+start
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_rename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#define activate_r		_kernel_activate_r
+#define interrupt_entry		_kernel_interrupt_entry
+#define cpu_exception_entry	_kernel_cpu_exception_entry
+#define no_reg_exception	_kernel_no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define intnest			_kernel_intnest
+#define vector_table		_kernel_vector_table
+#define cpu_experr		_kernel_cpu_experr
+#define define_exc		_kernel_define_exc
+#define check_cpu_exc_entry	_kernel_check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#define start			_kernel_start
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#define _activate_r		__kernel_activate_r
+#define _interrupt_entry	__kernel_interrupt_entry
+#define _cpu_exception_entry	__kernel_cpu_exception_entry
+#define _no_reg_exception	__kernel_no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _intnest		__kernel_intnest
+#define _vector_table		__kernel_vector_table
+#define _cpu_experr		__kernel_cpu_experr
+#define _define_exc		__kernel_define_exc
+#define _check_cpu_exc_entry	__kernel_check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#define _start			__kernel_start
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_support.S	(revision 26)
@@ -0,0 +1,1281 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.15 2005/11/07 01:15:43 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+ * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+ * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+ * TCB_pc,TCB_spã¯offset.hã§å®ç¾©ããã¦ãã
+ * (makeæã«çæãããï¼
+ */
+
+/*  ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ãå¯è½ããã§ãã¯  */
+#define CHECK_IMMEDIATE_ADDRESSING(dst)			\
+			((dst <= 60) && ((dst % 4) == 0))
+
+#if CHECK_IMMEDIATE_ADDRESSING(TCB_pc) && 		\
+	CHECK_IMMEDIATE_ADDRESSING(TCB_sp)
+#define TCB_SHORT
+#endif
+
+/*
+ * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã128ãã¤ã
+ * ä»¥éã«é
+ç½®ããã¦ããã¨
+ * mov    #TCB_sp,r9
+ * ç­ã®ç¬¦å·æ¡å¼µãå«ãå½ä»¤ã¯æå¾
+éãã«åä½ããªã
+ */
+#if (TCB_pc > 127) || (TCB_sp > 127)
+#error TCB offset is limited 127.
+#endif
+
+#if !CHECK_IMMEDIATE_ADDRESSING(TCB_texptn)
+#error immediate addressing TCB_texptn.
+#endif
+
+/*
+ * ãã®ä»ã®ãªãã»ããå¤ã«ã¤ãã¦
+ * 
+ * (1) TCB_enatex
+ *    mov.b @(#TCB_enatex,rx),r0å½ä»¤ã®å³å¤ã¯ã¼ã­æ¡å¼µãããã®ã§
+ *    TCB_enatexã«é¢ãã¦ã¯ãã§ãã¯ããå¿
+è¦ããªã
+ *    ï¼ã¢ã¯ã»ã¹ã§ããç¯å²15ãã¤ããè¶
+ããã¨ãã¢ã»ã³ãã«ã¨ã©ã¼ã«ãªãï¼
+ * 
+ * (2) TCB_enatex_mask
+ *    and  #TCB_enatex_mask,r0å½ä»¤ã®å³å¤ã¯ã¼ã­æ¡å¼µãããã®ã§
+ *    TCB_enatex_maskã«é¢ãã¦ã¯ãã§ãã¯ããå¿
+è¦ããªã
+ */
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *    ãdispatch ã¯ãå²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+
+ *    ã§å¼ã³åºããªããã°ãªããªãï¼exit_and_dispatch ãï¼å²è¾¼ã¿ãã¹ã
+ *    ã«ã¦ã³ã¿ = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«
+ *    èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1ã§å¼ã³åºããå ´åã«
+ *    ãå¯¾å¿ãã¦ããï¼
+ */
+
+	.text
+	.align 2
+	.global _dispatch
+_dispatch:
+				/* pr,r8ãr15 ãã¹ã¿ãã¯ã«ä¿å­           */
+	mov.l  r8, @-r15       	/* r0ãr7ã¯å¼ã³åºãå
+ã§ä¿å­ãã¦ãããã  */
+	mov.l  r9, @-r15        /* ä¿å­ããå¿
+è¦ãç¡ã                    */
+	mov.l  r10,@-r15
+	mov.l  r11,@-r15
+	mov.l  r12,@-r15
+	mov.l  r13,@-r15
+	mov.l  r14,@-r15
+	sts.l  pr,@-r15
+#ifdef SAVE_MACL_IN_DISPATCH
+	sts.l  mach,@-r15
+	sts.l  macl,@-r15
+#endif /*  SAVE_MACL_IN_DISPATCH  */
+	mov.l  _runtsk_dis,r2   /* r0 <- runtsk                          */
+	mov.l  @r2,r0
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+#ifdef TCB_SHORT
+				/*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­ 	*/
+	mov.l	r15,@(TCB_sp, r0)
+	mov.l   dispatch_r_k,r1  /* å®è¡åéçªå°	                */
+	bra     dispatcher
+	mov.l	r1,@(TCB_pc, r0)	/*  é
+å»¶ã¹ã­ãã   		*/
+#else	/*  TCB_SHORT  */
+	mov    #TCB_sp,r9
+	mov.l  r15,@(r0,r9)     /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­                 */
+	mov    #TCB_pc,r8
+	mov.l  dispatch_r_k,r1  /* å®è¡åéçªå°ãä¿å­                   */
+	bra    dispatcher
+	mov.l  r1,@(r0,r8)	/*  é
+å»¶ã¹ã­ãã  			*/
+#endif	/* TCB_SHORT */
+
+	/*
+	 * dispatch_r:
+	 * ãã¿ã¹ã¯ã³ã³ãã³ã³ãã­ã¹ãã§ãã£ã¹ãããã£å¼ã³åºããããå ´åã®
+	 * ãå®è¡åéçªå°
+	 * ãdispatcherããå¼ã°ããã®ã§ãr7ã«runtskãä»£å
+¥ããã¦ãã
+	 * 
+	 * ããã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * ãããr7 ï¼runtsk
+	 * ãããr0 ï¼runtsk->enatex
+	 * ããã     mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«
+	 * ããã     åºå®ããã¦ãã
+	 * ãããr1 ï¼runtsk->texptn
+	 * ãããr2 ï¼call_texrtn()ã®å
+é ­ã¢ãã¬ã¹
+	 * 
+	 */
+dispatch_r:
+					/* ã¬ã¸ã¹ã¿ãå¾©å¸°               */
+#ifdef SAVE_MACL_IN_DISPATCH
+	lds.l  @r15+,macl
+	lds.l  @r15+,mach
+#endif /*  SAVE_MACL_IN_DISPATCH  */
+	lds.l  @r15+,pr
+	mov.l  @r15+,r14
+	mov.l  @r15+,r13
+	mov.l  @r15+,r12
+	mov.l  @r15+,r11
+	mov.l  @r15+,r10
+	mov.l  @r15+,r9
+	mov.l  @r15+,r8
+	mov.b  @(TCB_enatex,r7),r0	/*  ãªãã©ã³ããr0ã«åºå® (c)  */
+	mov.l  @(TCB_texptn,r7),r1
+	and    #TCB_enatex_mask,r0
+	tst    r0,r0			/*  runtsk->enatexã®ãã§ãã¯ 	*/
+	bt     _dispatch_r_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	tst    r1,r1			/*  runtsk->texptnã®ãã§ãã¯  	*/
+	bt     _dispatch_r_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  _call_texrtn_dis,r2 /* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å	*/
+	jmp    @r2		/*ï¼dispatch()å¼ã³åºãå
+ã«ãªã¿ã¼ã³ããï¼*/
+	nop			/*  é
+å»¶ã¹ã­ããã			*/
+_dispatch_r_1:
+	rts			/*  dispatch()å¼ã³åºãå
+ã¸ã®ãªã¿ã¼ã³  	*/
+	nop			/*  é
+å»¶ã¹ã­ããã			*/
+
+
+	.global _exit_and_dispatch
+_exit_and_dispatch:
+				/*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  	*/
+	mov.l  _intnest_dis, r1
+	mov    #0,r0
+	mov.l  r0,@r1
+
+/*
+ *  ãã£ã¹ãããã£æ¬ä½
+ *  
+ */
+dispatcher:
+	/*
+	 * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+	 */
+	mov.l  _schedtsk_dis,r1
+	mov.l  _runtsk_dis,r2
+	mov.l  @r1,r7		/* r7 <- schedtsk  */
+	mov    #0, r0		/* (b) ãããããã*/
+
+	/*
+	 * ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+	 * ã(1) schedtsk != NULLã®å ´å
+	 * ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+	 * ã(2) schedtsk == NULLã®å ´å
+	 * ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+	 * ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+	 * ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+	 * ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+	 * ãããããããå¿
+è¦ããããï¼
+	 */
+	mov.l  r7,@r2               /* runtskâschedtskã               */
+
+	cmp/eq r7,r0                /* schedtsk ããããï¼ (a) æ«å°¾åç
+§ */
+	bt     dispatcher_1         /* ç¡ããã°ã¸ã£ã³ã                 */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBããå®è¡åéçªå°ãåãåºãã¦
+	 * åå²ããã
+	 * åå²å
+ã¯ä»¥ä¸ã®3ã¤
+	 * ãdispatch_rï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãã£ã¹ãããå¼ã³åºã
+	 * ãret_int_r ï¼å²è¾¼ã¿ã®åºå£å¦ç
+	 * ãactivate_rï¼èµ·åç´å¾
+	 * 
+	 * ãåå²å
+ã§ã¯r7ã«runtsk(=schedtsk)ãã­ã¼ãããã¦ããã¨ãã¦
+	 * ãä½¿ç¨ãã¦è¯ã
+	 */
+#ifdef TCB_SHORT
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+					/* å®è¡åéçªå°ãå¾©å¸°           */
+	mov.l	@(TCB_pc, r7),r1
+	jmp     @r1
+	mov.l	@(TCB_sp, r7),r15      /*  é
+å»¶ã¹ã­ãã		*/
+					/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ */
+#else	/*  TCB_SHORT  */
+	mov    #TCB_pc,r8
+	mov.l  @(r7,r8),r1          	/* å®è¡åéçªå°ãå¾©å¸°		*/
+	mov    #TCB_sp,r9
+	jmp    @r1
+	mov.l  @(r7,r9),r15         	/* é
+å»¶ã¹ã­ãã			*/
+					/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ */
+#endif	/* TCB_SHORT */
+
+
+dispatcher_1:
+	/*
+	 *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+	 *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+	 */
+
+
+	/* ã¤ããã£ã¨ã¤ãå¤ãæ¯åèª­ã¿è¾¼ãã®ã¯å¹çãæªãã®ã§äºåã«ç¨æãã
+	 * 	r0  : 0x00
+	 * 	r1  : 0x01
+	 * 	r8  : å²ãè¾¼ã¿ç¦æ­¢ä¸­ã®SRã®å¤   
+	 * 	r9  : å²ãè¾¼ã¿è¨±å¯ä¸­ã®SRã®å¤
+	 * 	r10 : reqflgã®çªå°
+	 * 	r11 : å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿intnestã®çªå°       
+	 */
+	mov    #0,r0
+	mov    #1,r1
+	mov.l  _mask_ipm_dis,r8
+
+#ifdef SUPPORT_CHG_IPM
+	mov.l  _task_intmask_dis,r2  /*  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®IPM  */
+	mov.l  @r2,r9
+#else /* SUPPORT_CHG_IPM */
+	mov    #0,r9
+#endif /* SUPPORT_CHG_IPM */
+
+	mov.l  _reqflg_dis,r10
+	mov.l  _intnest_dis,r11
+	    			
+	mov.l  _stacktop_dis,r15  /* ã¹ã¿ãã¯ãå²è¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ã */
+	mov.l  r1,@r11		  /* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãï¼ã«ãã   */
+dispatcher_2:
+	ldc    r9,sr		  /* å²ãè¾¼ã¿è¨±å¯                     */
+
+	/*
+	 *ãRelase1.4.1ã§è§£æ±ºãããå¶éäºé 
+
+	 *ã
+	 *ããã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==
+	 *ãNULLï¼å ´åã¯ãsleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«å
+	 *ããæ¿ãã¦å²è¾¼ã¿å¾
+ã¡ããã¦ããã
+	 *ã
+	 *ãå²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®
+	 *ãå®è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ã
+	 *ãsleepå½ä»¤å®è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®
+	 *ãå®è¡ã¨å
+±ã«å²è¾¼ã¿ãåãä»ãããããã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«
+	 *ããªããreqflgã®ãã§ãã¯ã«é²ã¾ãªãã
+	 *ãï¼1msecä»¥å
+ã«ã¿ã¤ãå²è¾¼ã¿ãå
+¥ããããå®éã«ã¯sleepããã¾ã¾ã¨
+	 *ããããã¨ã¯ãªããï¼
+	 *ã
+	 *ããã®åé¡ã¯ãå²è¾¼ã¿ã®è¨±å¯ã¨sleepç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®
+	 *ãè¡ã§ããªããã¨ã«èµ·å ãããSH3ä»¥éã§ã¯IPMã¨ã¯å¥ã«SRã®BLããã
+	 *ããä½¿ã£ã¦å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯ãå¶å¾¡ãããã¨ã«ããããã®åé¡ãå
+	 *ãé¿ã§ããããSH1/2ã§ã¯IPMãè¨­å®ããä»¥å¤ã«å²è¾¼ã¿ãç¦æ­¢ï¼è¨±å¯ã
+	 *ããæ¹æ³ããªããå²è¾¼ã¿è¨±å¯ï¼å²è¾¼ã¿å¾
+ã¡ã®IPMè¨­å®ï¼ã¨sleepãã¢ã
+	 *ãããã¯ã«è¡ãæ¹æ³ããªãã
+	 *ãããã§SH1ä¾å­é¨ã§ã¯ãå²è¾¼ã¿åä»æã«ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçª
+	 *ãå°ãå¤éå²è¾¼ã¿ã®åºå£å¦çã§ãã§ãã¯ããæ»ãçªå°ãä¸è¨ã®sleep
+	 *ãå½ä»¤ã«è©²å½ããå ´åã¯æ»ãçªå°ã1å½ä»¤åï¼2ãã¤ãï¼é²ãããã¨ã«
+	 *ããããã®åé¡ãåé¿ãã¦ããã
+	 *ããã ãããã®æ¹æ³ã§ã¯å¤éå²è¾¼ã¿ã®åºå£å¦çã«æ°å½ä»¤ã®ãªã¼ãã¼
+	 *ãããããçããã
+	 *ãOMIT_POWER_CONTROLãã¯ã­ãå®ç¾©ãããã¨ã§sleepå½ä»¤ã®ä»£ããã«
+	 *ãnopå½ä»¤ãæ¿å
+¥ãããå¤éå²è¾¼ã¿ã®åºå£å¦çã§ã®ãã§ãã¯ã«ã¼ãã³
+	 *ãã¯çç¥ããããï¼ãã®å ´åã¯æ¶è²»é»åã®ç¹ã§ä¸å©ã«ãªããï¼
+	 */
+#ifndef OMIT_POWER_CONTROL
+_waiting_interrupt:
+	sleep    		    /* å²è¾¼ã¿å¾
+ã¡                       */
+#else	/*  OMIT_POWER_CONTROL  */
+	nop
+#endif	/*  OMIT_POWER_CONTROL  */
+	ldc    r8,sr		    /* å²ãè¾¼ã¿ç¦æ­¢                     */
+	mov.l  @r10,r2		    /* reqflgã®ãã§ãã¯   		*/
+	tst    r2,r2		    /* FALSEãªãã°ããã1åº¦å²ãè¾¼ã¿å¾
+ã¡  */
+	bt     dispatcher_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  r0,@r10		    /* reqflgã®ã¯ãªã¢   		*/
+	bra    dispatcher
+	mov.l  r0,@r11		    /*  é
+å»¶ã¹ã­ãã  */
+				    /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ 	*/
+
+	/*
+	 *ãå²è¾¼ã¿å¾
+ã¡ã®ç´åã«è¡ã£ãã¹ã¿ãã¯åæ¿ã®æ»ããè¡ã£ã¦ããªããã
+	 *ããã£ã¹ãããã£ã®åºå£ã§TCBããåãåºããå¤ãã¹ã¿ãã¯ãã¤ã³
+	 *ãã¿ã«è¨­å®ããã®ã§åé¡ãªãã
+	 */
+
+
+	.align 2
+_runtsk_dis:
+	.long _runtsk
+_schedtsk_dis:
+	.long _schedtsk
+_call_texrtn_dis:
+	.long _call_texrtn
+_mask_ipm_dis:
+	.long MAX_IPM << 4	/* å²è¾¼ã¿ç¦æ­¢æã®SRã®å¤  		*/
+dispatch_r_k:
+	.long dispatch_r
+_stacktop_dis:
+	.long STACKTOP		/* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤	*/
+
+_intnest_dis:	  		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿  	*/
+	.long _intnest
+_reqflg_dis:
+	.long _reqflg
+
+#ifdef SUPPORT_CHG_IPM
+_task_intmask_dis:		/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯   	*/
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ã®å
+¥å£å¦ç
+ */
+
+/*
+ *  gccã®ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã«ããåä½ã®åæ¿
+ *ãããã
+ *ãããgcc2.xï¼å²è¾¼ã¿ã®åºå£ã§ã¿ã¹ã¯ã¹ã¤ããããã¨ãã®ã¿ã
+ *ãããããããmacã¬ã¸ã¹ã¿ãä¿å­ï¼éé¿ãã
+ *ãããgcc3.xä»¥éï¼å²è¾¼ã¿ã®åºå
+¥å£ã§macã¬ã¸ã¹ã¿ãä¿å­ï¼éé¿ãã
+ *ãããããããï¼ã¿ã¹ã¯ã¹ã¤ããã®æç¡ã«ä¾ããªãï¼
+ *ãããã
+ *ãããããã«ãããã¹ã¿ãã¯å
+é ­ããPC,SRã¸ã®ãªãã»ãããç°ãªãã®ã§
+ *ãããæ³¨æã
+ */
+#if defined(__GNUC__) && (__GNUC__  > 2)
+#define SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+#define SAVE_MACL_IN_DISPATCH
+#endif 	/*  __GNUC__  */
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ã®éã®ã¹ã¿ãã¯ãã¤ã³ã¿ãæãç¤ºãä½ç½®ãã
+ *ãSR,PCã®ã³ãã¼ãããå ´æã¾ã§ã®ãªãã»ãã
+ *ãããã
+ *ãããããã§ããã¹ã¿ãã¯ãã¤ã³ã¿ã¨ã¯å²è¾¼ã¿ï¼CPUä¾å¤ã®å
+¥å£å¦çã§
+ *ããããã­ã·ã¼ã¸ã£ã¬ã¸ã¹ã¿PRã®éé¿ãçµãã£ãç´å¾ã®å¤ãæå³ããã
+ *ãããSRã¯ã¹ã¿ãã¯å
+é ­ãã40ãã¤ãä¸ã«ãPCã¯36ãã¤ãä¸ã«ç©ã¾ãã¦
+ *ããããããããï¼ret_int_3ãåç
+§ï¼
+ */
+#ifdef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+#define	SP_SR_OFFSET	(40+8)
+#define	SP_PC_OFFSET	(36+8)
+#else /*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+#define	SP_SR_OFFSET	40
+#define	SP_PC_OFFSET	36
+#endif /*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®ç¶ã
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ *  ã
+ *  ä¸è¬ä¸å½å½ä»¤ã®å ´åã¯æ»ãçªå°ã2ãã¤ãé²ããå¿
+è¦ãããã
+ *  å¯¾å¿ãã¦ããªã
+ *  ï¼GDB stubããã¬ã¼ã¯ãã¤ã³ãã¨ãã¦ä½¿ç¨ãããï¼
+ *  ã
+ * ããCPUä¾å¤è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr4ï¼Cè¨èªã«ã¼ãã³ã®å¼æ°
+ * ãããããã¹ã¿ãã¯ä¸ã«ç©ã¾ããSRã®ã¢ãã¬ã¹
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl _cpu_exception_entry
+_cpu_exception_entry:
+			/*  æ®ãã®ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ç©ãã	*/
+	mov.l	r3,@-r15
+	mov.l	r4,@-r15
+	mov.l	r5,@-r15
+	mov.l	r6,@-r15
+	mov.l	r7,@-r15
+	sts.l	pr,@-r15
+	mov	r15,r4		/*  Cè¨èªã«ã¼ãã³ã®å¼æ°è¨­å®  		*/
+	add	#SP_SR_OFFSET, r4
+			/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	mov.l	_intnest_int, r5
+	mov.l	@r5,r6
+	tst     r6,r6   	/* CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããå¤å®  	*/
+	add	#0x1,r6		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+				/*  addå½ä»¤ã§ã¯srã®Tãããã¯å¤åããªã	*/
+	mov.l	r6,@r5
+				/* å¤éä¾å¤ãªãã¸ã£ã³ã   		*/
+	bf	_exc_from_int
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+									
+/* 	åæ®µã®CPUä¾å¤ã®å ´å 						*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	mov     r15,r7
+				/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	mov.l   _stacktop_int,r15
+	ldc  	r1,sr		/*  å²è¾¼ã¿è¨±å¯  */			
+	jsr	@r2		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+	mov.l	r7,@-r15 	/*  é
+å»¶ã¹ã­ããã  			*/
+				/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+									
+				/*  å²è¾¼ã¿ç¦æ­¢		*/		
+	mov.l	_mask_ipm_int,r0
+	ldc	r0,sr
+				/* å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ */
+	mov.l	_intnest_int,r0
+	mov	#0x0,r1
+	mov.l	r1,@r0
+	mov.l	@r15,r15	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	mov.l	_reqflg_int,r4
+        mov.l	@r4,r5
+	tst	r5,r5
+	bt   	1f		/*  reqflg=FALSEã®å ´åã¯ret_to_task_excã¸ */
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+	bra	ret_exc		/*  reqflg=TRUEã®å ´åã¯ret_excã¸	*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+	/*
+	 *ãbtå½ä»¤ã§ã¯ret_to_task_excã«å±ããªãã®ã§ãbraå½ä»¤ãï¼ã¯ãã·ã§ã³
+	 *ãå
+¥ããã
+	 */
+1:									
+	bra	ret_to_task_exc	/*  reqflg=FALSEã®å ´å			*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+
+/* å¤éCPUä¾å¤ã®å ´å 							*/
+/* 	CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããå¤å¥å¾ã 				*/
+/*   		å²è¾¼ã¿ç¦æ­¢ 						*/
+/*   		r1ï¼å²è¾¼ã¿åä»æã®srã®ã³ãã¼ 				*/
+/*   		r2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹				*/
+/*   		r4ï¼Cè¨èªã«ã¼ãã³ã®å¼æ°					*/
+/* 	ã®ç¶æ
+ã§ããã«é£ãã§ãã 					*/
+/* 	Cè¨èªã«ã¼ãã³ã®å¼æ°è¨­å®ã¨å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã® 		*/
+/* 	ã¤ã³ã¯ãªã¡ã³ãã¯æ¸ãã§ãã 					*/
+									
+_exc_from_int:
+	jsr	@r2			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã 	*/
+	ldc	r1,sr			/*  å²è¾¼ã¿è¨±å¯ï¼é
+å»¶ã¹ã­ããï¼	*/
+									
+	mov.l	_mask_ipm_int,r0	/*  å²è¾¼ã¿ç¦æ­¢			*/
+	ldc	r0,sr
+		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ããã£ã¯ãªã¡ã³ã	*/
+	mov.l	_intnest_int,r3
+	mov.l	@r3,r4
+	add	#-1,r4
+	bra	_ret_to_exc
+	mov.l	r4,@r3		/*  é
+å»¶ã¹ã­ãã 			*/
+
+
+/*
+ *  å²è¾¼ã¿ã®å£å¦çã®ç¶ã
+ *
+ * ããå²è¾¼ã¿è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl _interrupt_entry
+_interrupt_entry:
+			/*  æ®ãã®ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ç©ãã	*/
+	mov.l	r3,@-r15
+	mov.l	r4,@-r15
+	mov.l	r5,@-r15
+	mov.l	r6,@-r15
+	mov.l	r7,@-r15
+	sts.l	pr,@-r15
+#ifdef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+	sts.l  mach,@-r15
+	sts.l  macl,@-r15
+#endif 	/*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+
+			/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	mov.l	_intnest_int, r5
+	mov.l	@r5,r6
+	tst     r6,r6   	/* å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å®  	*/
+	add	#0x1,r6		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+				/*  addå½ä»¤ã§ã¯srã®Tãããã¯å¤åããªã	*/
+	mov.l	r6,@r5
+				/* å¤éå²è¾¼ã¿ãªãã¸ã£ã³ã   		*/
+	bf	_interrupt_from_int
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+									
+/* 	åæ®µã®å²è¾¼ã¿ã®å ´å 						*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	mov     r15,r7
+				/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	mov.l   _stacktop_int,r15
+	ldc  	r1,sr		/*  å²è¾¼ã¿è¨±å¯  */			
+	jsr	@r2		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+	mov.l	r7,@-r15 	/*  é
+å»¶ã¹ã­ããã  			*/
+				/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+									
+				/*  å²è¾¼ã¿ç¦æ­¢		*/		
+	mov.l	_mask_ipm_int,r0
+	ldc	r0,sr
+				/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢*/
+	mov.l	_intnest_int,r0
+	mov	#0x0,r1
+	mov.l	r1,@r0
+	mov.l	@r15,r15	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	mov.l	_reqflg_int,r4
+        mov.l	@r4,r5
+	tst	r5,r5
+	bt   	ret_to_task_int	/*  reqflg=FALSEã®å ´å 			*/
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+	bra	ret_int		/*  reqflg=TRUEã®å ´å			*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+										
+/* å¤éå²è¾¼ã¿ã®å ´å 							*/
+/* 	å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å¥å¾ã 				*/
+/*   		å²è¾¼ã¿ç¦æ­¢ 						*/
+/*   		r1ï¼å²è¾¼ã¿åä»æã®srã®ã³ãã¼ 				*/
+/*   		r2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹				*/
+/* 	ã®ç¶æ
+ã§ããã«é£ãã§ãã 					*/
+/* 	ï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯æ¸ãã§ããï¼ 		*/
+									
+_interrupt_from_int:
+	jsr	@r2			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã 	*/
+	ldc	r1,sr			/*  å²è¾¼ã¿è¨±å¯ï¼é
+å»¶ã¹ã­ããï¼	*/
+									
+	mov.l	_mask_ipm_int,r0	/*  å²è¾¼ã¿ç¦æ­¢			*/
+	ldc	r0,sr
+		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ããã£ã¯ãªã¡ã³ã	*/
+	mov.l	_intnest_int,r3
+	mov.l	@r3,r4
+	add	#-1,r4
+	mov.l	r4,@r3
+
+
+/*   å¤éå²è¾¼ã¿ï¼CPUä¾å¤ããã®å¾©å¸°å¦ç
+ *
+ *   	ã»ãã£ã¹ããããã¿ã¹ã¯ä¾å¤å¦çãå¿
+è¦ãªã
+ * 	ã»chg_ipm()ã®å¦çã¯å¿
+è¦ãªã
+ * 	ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã¯ãchg_ipm()ã¯ä½¿ç¨ä¸å¯ï¼
+ *
+ *
+ *    ãã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==NULLï¼å ´å
+ *    ã¯ãsleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«åãæ¿ãã¦å²è¾¼ã¿å¾
+
+ *    ã¡ããã¦ãããï¼dispatcher_2ä»è¿ãåç
+§ï¼
+ *    
+ *    å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡å
+ *    ã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ãsleepå½ä»¤å®
+ *    è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ã
+ *    åãä»ãããããã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«ãªã£ã¦ãã¾ãã
+ *    ï¼reqflgã®ãã§ãã¯ã«é²ã¾ãªããï¼ãã®åé¡ã¯ãå²è¾¼ã¿ã®è¨±å¯ã¨sleep ç¶
+ *    æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®è¡ã§ããªããã¨ã«èµ·å ããã
+ *    ãããé²ããããå²è¾¼ã¿ã®åºå£ã§æ»ãå
+ã¢ãã¬ã¹ãåé¡ã®sleepå½ä»¤ã§ã
+ *    ãå ´åãæ»ãçªå°ã1å½ä»¤åé²ããå¦çããã¦ãããï¼å®è¡ãã¹ãã¿ã¹ã¯
+ *    ããªãããã£ã¹ãããã£å
+ã§å²è¾¼ã¿å¾
+ã¡ä¸­ã«å²è¾¼ã¿ãåãä»ããå ´åã¯ã
+ *    ãã£ã¹ãããã£ã®äºéå¼ã³åºããé¿ãããããå¤éå²è¾¼ã¿ã¨ãã¦å¦çãã¦
+ *    ãããããä¸è¨ã®_ret_to_intãééããã
+ */
+_ret_to_int:
+_ret_to_exc:
+
+#ifndef OMIT_POWER_CONTROL
+				/*  r4âã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°	*/
+	mov.l	@(SP_PC_OFFSET, r15), r4
+	mov.l	_waiting_interrupt_int, r5
+	cmp/eq	r4, r5
+	bf	_ret_to_int_1
+	add	#2, r4
+	mov.l	r4, @(SP_PC_OFFSET, r15)
+#endif	/*  OMIT_POWER_CONTROL  */
+
+_ret_to_int_1:
+				/*  ã¬ã¸ã¹ã¿å¾©å
+  			*/
+#ifdef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+	lds.l  @r15+,macl
+	lds.l  @r15+,mach
+#endif 	/*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+	lds.l	@r15+,pr
+	mov.l	@r15+,r7
+	mov.l	@r15+,r6
+	mov.l	@r15+,r5
+	mov.l	@r15+,r4
+	mov.l	@r15+,r3
+	mov.l	@r15+,r2
+	mov.l	@r15+,r1
+	mov.l	@r15+,r0
+	rte		    	/*  å²è¾¼ã¿å
+ã«æ»ã  			*/
+	nop
+									
+	.align 2
+_stacktop_int:			/* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  	*/
+	.long  STACKTOP
+_intnest_int:	    		/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿  	*/
+	.long  _intnest
+_reqflg_int:
+	.long  _reqflg
+_mask_ipm_int:	    		/*  å²è¾¼ã¿ç¦æ­¢ç¨ãã¹ã¯  		*/
+	.long  MAX_IPM << 4	/*  ipmä»¥å¤ã®ãããã¯ã¼ã­ã§è¯ã	*/
+
+#ifndef OMIT_POWER_CONTROL
+_waiting_interrupt_int:
+	.long  _waiting_interrupt
+#endif	/*  OMIT_POWER_CONTROL  */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã
+ * ä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+ *
+ * r4ã«ã¯å¤æ°reqflgã®ã¢ãã¬ã¹ãä»£å
+¥ãããç¶æ
+ã§ããã«æ¥ãã
+ *
+ */
+	.text
+	.align 2
+ret_int:
+ret_exc:
+	/*
+	 *ãæ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãå¦ãã®å¤å¥
+	 *ã
+	 *ãSH1ã§ã¯å²è¾¼ã¿åä»ç´å¾ã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªããããå²è¾¼ã¿A
+	 *ãã®å
+¥å£å¦çä¸­ã«å¥ã®å²è¾¼ã¿Bãå
+¥ãå¯è½æ§ããããï¼ããã¯ãã¼ã
+	 *ãã¦ã§ã¢ã®ã¢ã¼ã­ãã¯ãã£ä¸é¿ãããããªããï¼å²è¾¼ã¿ãã³ãã©Bå
+
+	 *ãã§ã¿ã¹ã¯åãæ¿ããèµ·ãããããªãµã¼ãã¹ã³ã¼ã«ãå¼ã¶ã¨å²è¾¼ã¿B
+	 *ãã®åºå£å¦çã§å¥ã®ã¿ã¹ã¯ã«ãã£ã¹ããããã¦ãã¾ããã¿ã¹ã¯2ãã
+	 *ãå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¾ã§ãå²è¾¼ã¿Aã®å¦çãé
+ãã¦ãã¾ãã
+	 *ãã¾ããå²è¾¼ã¿Aãã¬ãã«ããªã¬ã ã¨2åæ¤åºããã¦ãã¾ãåé¡ãããã
+	 *ããããé²ããããã¹ã¿ãã¯ã«ç©ãã§ããæ»ãå
+ã®IPMã¨task_intmask
+	 *ãã®å¤ãæ¯è¼ãã¦ãå
+¥å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ããªãã£ãããã§ãã¯ã
+	 *ãã¦ããããã£ã¹ãããããåã®ã¿ã¤ãã³ã°ã§å¤å¥ãã¦ããã®ã§ã
+	 *ãchg_ipm()ã§task_intmaskãæ¸ãæãããã¦ããå¿é
+ã¯ãªãã
+	 */
+				/*  	r0âã¹ã¿ãã¯ã«ç©ã¾ããsr  	*/
+	mov.l  @(SP_SR_OFFSET,r15),r0
+#ifdef SUPPORT_CHG_IPM
+	mov.l  _task_intmask_ret,r2 /*  r2â&task_intmask  		*/
+	and    #0xf0, r0	/*  	IPMåãåºã  			*/
+	mov.l  @r2,r3		/*  	r3âtask_intmask  		*/
+	cmp/eq r0, r3		/*  	æ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãï¼ 	*/
+#else /* SUPPORT_CHG_IPM */
+	/*
+	 *ãchg_ipmããµãã¼ãããªãå ´åã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã®IPMã¯
+	 *ãå¸¸ã«0x0
+	 */
+	and    #0xf0, r0	/*  	IPMåãåºã  			*/
+	cmp/eq #0x00, r0	/*  	æ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãï¼ 	*/
+#endif /* SUPPORT_CHG_IPM */
+	bf     ret_to_task_int	/*    	ãã£ã¹ãããããªãã§å²è¾¼ã¿å
+ã«	*/
+				/*	æ»ãå¦çã¸			*/
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+	/*
+	 *ãæ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çãå¦ãã®å¤å¥
+	 *ã
+	 *ãSH1ã§ã¯CPUä¾å¤ãå²è¾¼ã¿ã¨ã»ã¼åãåºå
+¥å£å¦çãè¡ã£ã¦ãããã
+	 *ãCPUä¾å¤ãåãä»ãã¦ãå²è¾¼ã¿ãã¹ã¯ã¯å¤åããªããCPUä¾å¤ã®å
+¥
+	 *ãå£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ã£ãå ´åã«åãã¦ãã¹ã¿ãã¯ä¸ã«ç©ã¾ãã
+	 *ãæ»ãçªå°ãä½¿ã£ã¦å¤å¥ãè¡ãã
+	 *ã
+	 *ã
+	 *ããcheck_exc_entry()ã®API
+	 *ãããå¼æ°r4ï¼ã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°
+	 *ãããæ»ãå¤r0ï¼
+	 *ããããã1ï¼æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦ç
+	 *ããããã0ï¼ããä»¥å¤
+	 */
+	mov.l	_check_exc_entry_ret, r1
+	jsr	@r1			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã  	*/
+	mov.l	@(SP_PC_OFFSET, r15), r4 /* å¼æ°è¨­å®ï¼é
+å»¶ã¹ã­ããï¼  	*/
+	
+	tst	r0, r0		/*  æ»ãå¤ã®å¤å®  */
+	bf     ret_to_task_int	/*    æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ããã°  */
+				/*ãããã£ã¹ãããããªãã§å²è¾¼ã¿å
+ã«æ»ã */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+	/*  
+	 *ãreqflgã®ã¯ãªã¢
+	 *ã
+	 *ãããã«å°éããåã«reqflgãã¯ãªã¢ãã¦ãã¾ãã¨ãä¸è¨ã®å²è¾¼ã¿A
+	 *ãã®åºå£å¦çã§ãã£ã¹ãããã£å¼ã³åºããå¿
+è¦ãªã±ã¼ã¹ã§ããã£ã¹
+	 *ããããã£ãå¼ã³åºãããªãã
+	 *ãï¼å²è¾¼ã¿Bã§reqflgãã»ãããã¦ãå²è¾¼ã¿Aã§reqflgã«å¤åããªãå ´
+	 *ããåï¼
+	 */
+	mov	#0x0, r0
+	mov.l  _reqflg_ret,r1
+	mov.l	r0, @r1		/* reqflg <- 0			   */ 
+	
+	mov.l  _runtsk_ret,r1   /* r7 <- runtsk                    */
+	mov.l  @r1,r7
+	mov.l  _enadsp_ret,r2   /* enadspã®ãã§ãã¯                */
+	mov.l  @r2,r3
+	tst    r3,r3		/* ãã£ã¹ãããç¦æ­¢ãªãret_int_1ã¸ */
+	bt     ret_int_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+	mov.l  _schedtsk_ret,r4 /* r5 <- schedtsk                  */
+	mov.l  @r4,r5
+	cmp/eq r7,r5            /* runtsk ã¨ schedtsk ãæ¯è¼       */
+	bt     ret_int_1	/*  åããªãret_int_1ã¸  	   */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+        mov.l  r8,@-r15        	/* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­            */
+        mov.l  r9,@-r15
+        mov.l  r10,@-r15
+        mov.l  r11,@-r15
+        mov.l  r12,@-r15
+        mov.l  r13,@-r15
+        mov.l  r14,@-r15
+#ifndef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+	/*
+	 *ãã¿ã¹ã¯ã¹ã¤ããããã¨ãã®ã¿ã
+	 *ãmacã¬ã¸ã¹ã¿ãä¿å­ãã
+	 */
+	sts.l  mach,@-r15
+	sts.l  macl,@-r15
+#endif  /*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+	stc.l  gbr,@-r15
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+#ifdef TCB_SHORT
+				/*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­  */
+	mov.l  r15,@(TCB_sp, r7)
+	mov.l  ret_int_r_ret,r1	/* å®è¡åéçªå°             	  */
+	bra    dispatcher
+	mov.l  r1,@(TCB_pc, r7)	/*  é
+å»¶ã¹ã­ããã*/
+
+#else	/*  TCB_SHORT  */
+	mov    #TCB_sp,r1      	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­           */
+	mov.l  r15,@(r7,r1)
+	mov.l  ret_int_r_ret,r1	/* å®è¡åéçªå°ãä¿å­             */
+	mov    #TCB_pc,r2	/*  ãã£ã¹ãããã£ããã®æ»ãå
+ã  */
+				/*  ret_int_rã«è¨­å®  		ã*/
+	bra    dispatcher
+	mov.l  r1,@(r7,r2)	/*  é
+å»¶ã¹ã­ãã 		  */
+#endif	/* TCB_SHORT */
+
+/*
+ *  å²è¾¼ã¿ã®åºå£ã§ãã£ã¹ãããã£ããããã«æ»ã£ã¦ãã
+ *    r7ã«runtskãä»£å
+¥ãããç¶æ
+ã§ããã«æ¥ã
+ */
+ret_int_r:
+	ldc.l  @r15+,gbr       /* ã¬ã¸ã¹ã¿ãå¾©å¸°                  */
+#ifndef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+	lds.l  @r15+,macl
+	lds.l  @r15+,mach
+#endif  /*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER  */
+	mov.l  @r15+,r14
+	mov.l  @r15+,r13
+	mov.l  @r15+,r12
+	mov.l  @r15+,r11
+	mov.l  @r15+,r10
+	mov.l  @r15+,r9
+	mov.l  @r15+,r8
+
+	/*
+	 * ãã£ã¹ãããã£ããret_int_rã«åå²ããå ´åã
+	 * ret_intããç´æ¥ããã«åå²ããå ´åã
+	 * ãããã®å ´åããr7ã«runtskãä»£å
+¥ããã¦ãã
+	 *
+	 *ã ã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * 	r7  : runtsk
+	 * 	r0  : runtsk->enatex
+	 * ããã     mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«
+	 * ããã     åºå®ããã¦ãã
+	 * 	r2  : runtsk->texptn
+	 * 	r3  : call_texrtn()ã®å
+é ­çªå°
+	 */
+ret_int_1:
+	mov.b  @(TCB_enatex,r7),r0	/*  ãªãã©ã³ããr0ã«åºå® (d) */
+	and    #TCB_enatex_mask,r0
+	tst    r0,r0			/*  runtsk->enatexã®ãã§ãã¯  	*/
+	bt     ret_int_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  @(TCB_texptn,r7),r2	/*  runtsk->texptnã®ãã§ãã¯  	*/
+	tst    r2,r2
+	bt     ret_int_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  _call_texrtn_ret,r3 	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å	*/
+	jsr    @r3
+	nop				/*  é
+å»¶ã¹ã­ãã		*/
+
+ret_int_2:
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *ãSH1ã§ã¯å²è¾¼ã¿ããã®ãªã¿ã¼ã³å½ä»¤ã§ãã¼ãã¦ã§ã¢ãã¹ã¿ãã¯ä¸
+	 *ãã®ãã¼ã¿ãèª­ã¿åºãã¦SRãå¾©å
+ããã
+	 *ãå²è¾¼ã¿ã«ãã£ã¦å¥ã®ã¿ã¹ã¯ã«åãæ¿ãã£ãå ´åã¯ãã¿ã¹ã¯ã³ã³ã
+	 *ãã­ã¹ãã®IPMãå¤æ´ããã¦ããå¯è½æ§ãããã®ã§ã¹ã¿ãã¯ä¸ã®SR
+	 *ãã®ã³ãã¼ã«å«ã¾ããIPMãæ´æ°ãã¦ããå¿
+è¦ãããã
+	 */
+				/*  	r0âã¹ã¿ãã¯ã«ç©ã¾ããsr  	*/
+	mov.l  @(SP_SR_OFFSET,r15),r0
+	mov.l  _unmask_ipm_ret,r1
+	mov.l  _task_intmask_ret,r2 /*  r2â&task_intmask  		*/
+	and    r1,r0		/*  	IPMããããã¯ãªã¢ 	 	*/
+	mov.l  @r2,r3		/*  	r3âtask_intmask  		*/
+	or     r3,r0		/*  	IPMããããã»ãã 	 	*/
+				/*  ã¹ã¿ãã¯ã«ç©ãã§ããsrã«ä¸æ¸ã  	*/
+	mov.l  r0,@(SP_SR_OFFSET,r15)
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *ãã¿ã¹ã¯ã¸ã®å¾©å¸°å¦ç
+	 *ãããã£ã¹ãããã£å¼ã³åºããè¦ããªãå ´åã¯ããããåæµããã
+	 *ããå
+¥å£å¦çã®éä¸­ã§å²è¾¼ã¿ãå
+¥ã£ãå ´åã¯ãå
+¥å£å¦çãæ»ãå
+ã«
+	 *ãããªãã
+	 */
+ret_to_task_int:
+ret_to_task_exc:
+				/* pr,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° 		*/
+				/*  ã¹ã¿ãã¯ã®å
+é ­ããã®ãªãã»ãã  	*/
+#ifdef SAVE_MACL_BEFORE_INTERRUPT_HANDLER
+	lds.l  @r15+,macl	/*   +0:MACL  */
+	lds.l  @r15+,mach	/*   +4:MACH  */
+#endif /*  SAVE_MACL_BEFORE_INTERRUPT_HANDLER */
+	lds.l  @r15+,pr		/*   +0:PR  */
+	mov.l  @r15+,r7		/*   +4:r7  */
+	mov.l  @r15+,r6		/*   +8:r6  */
+	mov.l  @r15+,r5		/*  +12:r5  */
+	mov.l  @r15+,r4		/*  +16:r4  */
+	mov.l  @r15+,r3		/*  +20:r3  */
+	mov.l  @r15+,r2		/*  +24:r2  */
+	mov.l  @r15+,r1		/*  +28:r1  */
+	mov.l  @r15+,r0		/*  +32:r0  */
+				/*  +36:PC  */
+				/*  +40:SR  */
+	rte
+	nop			/*  é
+å»¶ã¹ã­ãã  */
+	.align 4
+_reqflg_ret:
+	.long  _reqflg
+_call_texrtn_ret:
+	.long _call_texrtn
+_runtsk_ret:
+	.long _runtsk
+_schedtsk_ret:
+	.long _schedtsk
+_enadsp_ret:
+	.long _enadsp
+ret_int_r_ret:
+	.long ret_int_r
+
+#ifdef SUPPORT_CHG_IPM		/*  chg_ipm()ããµãã¼ãããå ´å */
+_unmask_ipm_ret:
+	.long  ~0xf0		/*  ipmãããä»¥å¤ãã¹ã¦ï¼  */
+_task_intmask_ret:
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+_check_exc_entry_ret:
+	.long _check_cpu_exc_entry
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+
+/*
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  ä¾å¤ãçºçããæç¹ã®pc,sr,pr,r0ã15ãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ */
+	.text
+	.align 2
+	.globl _no_reg_exception
+_no_reg_exception:
+				/*  pr,r0ã15ãä¿å­  */
+	sts.l  pr, @-r15
+	mov.l  r15,@-r15
+	mov.l  r14,@-r15
+	mov.l  r13,@-r15
+	mov.l  r12,@-r15
+	mov.l  r11,@-r15
+	mov.l  r10,@-r15
+	mov.l  r9, @-r15
+	mov.l  r8, @-r15
+	mov.l  r7, @-r15
+	mov.l  r6, @-r15
+	mov.l  r5, @-r15
+	mov.l  r4, @-r15
+	mov.l  r3, @-r15
+	mov.l  r2, @-r15
+	mov.l  r1, @-r15
+	mov.l  r0, @-r15
+
+				/*  cpu_experr()ã®å¼ã³åºã  	*/
+	mov.l  _cpu_experr_k,r1	/*  (cpu_config.c)  		*/
+	jsr    @r1
+	mov    r15, r4		/*  å¼æ°è¨­å®ï¼é
+å»¶ã¹ã­ããï¼	*/
+
+	.align 2
+_cpu_experr_k:
+	.long  _cpu_experr
+
+
+
+/*  ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ãå¯è½ããã§ãã¯  */
+#if !(CHECK_IMMEDIATE_ADDRESSING(TCB_tinib) 			\
+	&& CHECK_IMMEDIATE_ADDRESSING(TINIB_task)		\
+	&& CHECK_IMMEDIATE_ADDRESSING(TINIB_exinf) )
+
+ããã§ã¢ã»ã³ãã«ã»ã¨ã©ã¼
+#endif
+
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ *  ããdispatcherããå¼ã°ããã®ã§ãr7ã«runtskãä»£å
+¥ããã¦ãã
+ *  
+ */
+	.text
+	.align 2
+	.globl _activate_r
+_activate_r:
+				/* å²ãè¾¼ã¿è¨±å¯ã®æºå 		*/
+#ifndef SUPPORT_CHG_IPM		/*  ï¼t_unlock_cpuç¸å½ã®å¦çï¼ 	*/
+	mov   #0,r1		/*  IPMä»¥å¤ã®ããããç ´å£ããã */
+#else  /* SUPPORT_CHG_IPM */
+        mov.l _task_intmask_act,r2
+	mov.l @r2,r1
+#endif /* SUPPORT_CHG_IPM */
+	ldc   r1,sr		/*  å²è¾¼ã¿è¨±å¯  		*/
+	mov.l _ext_tsk_act,r3
+	lds   r3,pr		/*  ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å®  */
+
+	/*
+	 *  ããã§å²è¾¼ã¿ãå
+¥ã£ã¦runtskãæ¸ãæãã£ã¦ãã
+	 *  ãã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¨ãã«ã¯runtskã®å¤ã
+	 *  å½ç¶ãå
+ã«æ»ã£ã¦ãã
+	 * 
+	 *   ã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * ããr7ï¼runtsk
+	 * ããr1ï¼&(runtsk->tinib)
+	 * ããr2ï¼runtsk->tinib->task
+	 * ããr4ï¼ã¿ã¹ã¯ã®æ¡å¼µæ
+å ±ï¼å¼æ°ï¼
+	 */
+	mov.l @(TCB_tinib,r7),r1
+	mov.l @(TINIB_task,r1),r2	/*  ã¿ã¹ã¯èµ·åçªå°  	*/
+	jmp   @r2		/* jsrå½ä»¤ã§ã¯prãç ´å£ãã¦ãã¾ã*/
+	mov.l @(TINIB_exinf,r1),r4	/*  é
+å»¶ã¹ã­ãã  	*/
+				/*  æ¡å¼µæ
+å ±ï¼ã¿ã¹ã¯ã¸ã®å¼æ°ï¼  */
+	.align 2
+_ext_tsk_act:
+	.long _ext_tsk
+
+#ifdef SUPPORT_CHG_IPM
+_task_intmask_act:
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+
+    mov.l  _sil_dly_tim1, r1	/* r4ãã SIL_DLY_TIM1 ãå¼ã */
+    add    r1, r4
+    cmp/pl r4			/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+    bt     _sil_dly_nse1
+    /*  é
+å»¶ã¹ã­ãããªã  */
+    rts
+    nop
+_sil_dly_nse1:            
+    mov.l  _sil_dly_tim2, r1	/* r4ãã SIL_DLY_TIM2 ãå¼ã */
+    add    r1, r4
+    cmp/pl r4			/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+    bt     _sil_dly_nse1
+    /*  é
+å»¶ã¹ã­ãããªã  */
+    rts
+    nop   
+    .align 2
+_sil_dly_tim1:
+    .long  -SIL_DLY_TIM1    
+_sil_dly_tim2:                         
+    .long  -SIL_DLY_TIM2
+
+
+/*
+ * åå¿é²
+ * ããdispatcherå
+(a)è¡ã§cmp/eq imm,r0å½ä»¤ãä½¿ããªãçç±
+ * ãã
+ *ãããdispatcherã§r7ã«runtskã®å¤ãä»£å
+¥ããåå²å
+ã®dispatch_rã
+ *ãããret_int_rãactivate_rã§ã¯ç¡é§ãªã­ã¼ããããªãããã«ãã¦ã
+ *ããããã
+ *ãããschedtskã®æç¡ããã§ãã¯ããã¨ãã®cmp/eq imm,r0å½ä»¤ï¼(a)
+ *ãããè¡ï¼ããªãã©ã³ããr0ã«åºå®ããã¦ãããããããã«åããã¦ã
+ *ãããæåã¯runtskã«r0ãå²ãå½ã¦ã¦ããã
+ *ãããããããr0ã¯ååå²å
+ã«ããenatexã®èª­ã¿åºã(c),(d)è¡ã®mov.b
+ *ãããå½ä»¤ã§ãäºç´ãã¦ãããããã§ããã°ç©ºãã¦ããããã
+ *ãããï¼mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«åºå®ããã¦ãããï¼
+ *ãããå¾ã£ã¦ãruntskã¯r7ã«å²ãå½ã¦ã(a)è¡ã¯cmp/eq imm,r0å½ä»¤ãã
+ *ãããcmp/eq rn,rmå½ä»¤ã«å¤æ´ããããã®ãããã¬ã¸ã¹ã¿ã«0ãä»£å
+¥ãã
+ *ãããå½ä»¤ï¼(b)è¡ï¼ãï¼ã¤ä½åã«å
+¥ã£ã¦ããã
+ *
+ *ãããä¸æ¹ãmov.l @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«åºå®ããã¦
+ *ãããããªãã
+ *ãããSH3çã®ããã«makeoffset.cã§ã©ãã«BIT_BWãæå®ããã°ã4ã
+ *ãããã¤ãåä½ã§ãªãã»ããã¨ãã¹ã¯ãçæãããã®ã§ãmov.lå½ä»¤ã
+ *ãããä½¿ããã¬ã¸ã¹ã¿å²ä»ãæ¥½ã«ãªãããenatexå¤å®æã®ãã¹ã¯ãã¼
+ *ãããã¿ãandå½ä»¤ã®ã¤ããã£ã¨ã¼ãå¤ã«åã¾ãåããªããªãããã
+ *ãããã­ã¼ãå½ä»¤ãï¼ã¤ä½åã«å
+¥ãã
+ *ãããã©ã¡ããä¸é·ä¸ç­ããããããããã«ãããruntskãåã­ã¼ã
+ *ãããããããã¯ãã·ã¨æãããã
+ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/cpu_unrename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#undef activate_r
+#undef interrupt_entry
+#undef cpu_exception_entry
+#undef no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#undef task_intmask
+#undef int_intmask
+#undef intnest
+#undef vector_table
+#undef cpu_experr
+#undef define_exc
+#undef check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#undef start
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#undef _activate_r
+#undef _interrupt_entry
+#undef _cpu_exception_entry
+#undef _no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#undef _task_intmask
+#undef _int_intmask
+#undef _intnest
+#undef _vector_table
+#undef _cpu_experr
+#undef _define_exc
+#undef _check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#undef _start
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/Makefile.config	(revision 26)
@@ -0,0 +1,87 @@
+#
+#  @(#) $Id: Makefile.config,v 1.10 2004/09/22 08:47:52 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨å
+#     äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª) KZ-SH1-01
+#     CQåºç RISCè©ä¾¡ã­ãã SH-1
+#    å
+¼ç¨
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+
+DBGENV = ROM
+#DBGENV = MULTI_STACK
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sh1sci.o
+
+#
+#  ãã¯ã­å®ç¾©ãªãã·ã§ã³
+#
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+# GDB stubã®å ´å
+ifeq ($(DBGENV),GDB_STUB)
+	# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+	# stubãä½¿ç¨ããã¡ã¢ãªé åã®å¾ã
+	TEXT_START_ADDRESS=0xa010d00
+
+	# RAMé åã®å
+é ­ã¢ãã¬ã¹
+	# ãtextã»ã¯ã·ã§ã³ã®ããå¾ãã«é
+ç½®ããã®ã§å®ç¾©ããå¿
+è¦ãªã
+else
+# ROMåã¾ãã¯ãã«ICEã®å ´å
+	# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+	# ãvectorã»ã¯ã·ã§ã³ã®ããå¾ãã«é
+ç½®ããã®ã§å®ç¾©ããå¿
+è¦ãªã
+
+	# RAMé åã®å
+é ­ã¢ãã¬ã¹
+	# ã¨ãªã¢3ï¼å¤é¨ã¡ã¢ãª
+	DATA_START_ADDRESS=0x0a000000
+endif
+
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/shelf.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.cfg	(revision 26)
@@ -0,0 +1,16 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.6 2004/09/03 17:14:43 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼KZ-SH1ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+#ifndef GDB_STUB
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+#endif /* GDB_STUB */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_serial.h	(revision 26)
@@ -0,0 +1,191 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.5 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼KZ-SH1ç¨ï¼
+ *ããããSH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIãä½¿ç¨
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include <sh1sci.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN	 	RXI0
+#define INHNO_SERIAL_OUT 	TXI0
+#define INHNO_SERIAL_ERROR  	ERI0
+
+#define LEVEL0		0	/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+#define SCI_SHIFT	0	/*  å²è¾¼ã¿ã¬ãã«ç»é²æã®ãããã·ãã  */
+
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh1sci_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh1sci_openflag();
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh1sci_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		define_int_plevel(IPRD, SCI_INTLVL, SCI_SHIFT);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh1sci_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+	define_int_plevel(IPRD, LEVEL0, SCI_SHIFT);
+
+	if (!sh1sci_openflag()) {
+		/*  ãã¹ã¦ã®ãã¼ããã¯ã­ã¼ãºããã¦ããã°  */
+		/*  ã·ãªã¢ã«ããã¤ã¹ã¸ã®ã¯ã­ãã¯ä¾çµ¦åæ­¢  */
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in	sh1sci_isr_in		/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out	sh1sci_isr_out		/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+					/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error sh1sci_isr_error
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh1sci_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh1sci_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh1sci_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh1sci_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh1sci_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh1sci_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/hw_timer.h	(revision 26)
@@ -0,0 +1,136 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.9 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼KZ-SH1ç¨ï¼
+ *ãããããSH1å
+èµã®TMU0ãä½¿ç¨
+ *
+ *ãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ãã
+ *ãããããã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh1itu.hã«è¨è¿°ãã
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sh1_sil.h>
+
+#ifndef _MACRO_ONLY
+#include <sh1itu.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	IMIA0
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define ITU_BIT_SHIFT	4
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh1_itu_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh1_itu_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+						/* å²ãè¾¼ã¿ã¬ãã«è¨­å® 	*/
+	define_int_plevel(IPRC, TIMER_INTLVL, ITU_BIT_SHIFT);
+	sh1_itu_int_clear();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh1_itu_start();		/* ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh1_itu_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh1_itu_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh1_itu_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/kz_sh1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/kz_sh1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/kz_sh1.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kz_sh1.h,v 1.14 2005/11/07 01:15:43 honda Exp $
+ */
+
+/*
+ *  äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿	KZ-SH1-01
+ *  CQåºç RISCè©ä¾¡ã­ãã	SH-1
+ *  ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _KZ_SH1_H_
+#define _KZ_SH1_H_
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+#ifndef _MACRO_ONLY
+#ifdef GDB_STUB
+
+#define kz_sh1_exit	gdb_stub_exit
+#define kz_sh1_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit(void)
+{
+	Asm("trapa #0xff"::);		/*  æªå®æ  */
+}
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+gdb_stub_putc(int c)
+{
+	Asm("mov   #0x00,r0;	\
+	     mov   %0,r4;	\
+	     trapa #0x21"
+               : /* no output */
+               : "r"(c)
+               : "r0","r4");
+	return(c);
+}
+
+/*
+ *  ROMåã®å ´å
+ */
+#else /* GDB_STUB */
+
+Inline void
+kz_sh1_exit()
+{
+	while(1);
+}
+
+extern void	sh1sci_putc_pol(char c);	/*  sh1sci.c  */
+
+Inline void 
+kz_sh1_putc(char c)
+{
+	sh1sci_putc_pol(c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _KZ_SH1_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.c	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.12 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼KZ-SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize(void)
+{
+	/*
+	 *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ã®åæå
+	 *  ãSH1ã§ã¯æªå®è£
+
+	 */
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	kz_sh1_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		kz_sh1_putc('\r');
+	}
+	kz_sh1_putc(c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_config.h	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.12 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼KZ-SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <kz_sh1.h>
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"KMC KZ-SH1-01"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼ã¯ã­ãã¯20MHzæã®å®æ¸¬å¤ãªã®ã§ãå®å
+¨å´ã«åãã¦ãããï¼
+ */
+#define	SIL_DLY_TIM1	1143
+#define	SIL_DLY_TIM2	 832
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_defs.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.10 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼KZ-SH1ç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define KZ_SH1			/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort(void)
+{
+    /*  ã¦ã¼ã¶ã¼ãã¬ã¼ã¯ã¨åç­ã®å¦ç  */
+    Asm("trapa #0xff");
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort(void)
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_support.S	(revision 26)
@@ -0,0 +1,149 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.11 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼KZ-SH1ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+
+#ifndef GDB_STUB
+/*
+ *   ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©
+ */
+#define	WCR1	0x5ffffa2	/*  ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define	WCR2	0x5ffffa4	/*  ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define	WCR3	0x5ffffa6	/*  ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+
+		/*  ã¨ãªã¢7ï¼ãªã¼ããµã¤ã¯ã«ã§WAITä¿¡å·ã«ãã  	*/
+		/*  ã¦ã§ã¼ãã¹ãã¼ãæ¿å
+¥ãã  			*/
+#define    WCR1_RW7	0x8000
+		/*  ã¨ãªã¢3ï¼ãªã¼ããµã¤ã¯ã«ã§WAITä¿¡å·ã«ãã  	*/
+		/*  ã¦ã§ã¼ãã¹ãã¼ãæ¿å
+¥ãã  			*/
+#define    WCR1_RW3	0x800
+		/*  ã¨ãªã¢0ï¼ãªã¼ããµã¤ã¯ã«ã§WAITä¿¡å·ã«ãã  	*/
+		/*  ã¦ã§ã¼ãã¹ãã¼ãæ¿å
+¥ãã  			*/
+#define    WCR1_RW0	0x100
+		/*  ã¨ãªã¢0,2ï¼1ã¹ãã¼ãã­ã³ã°ã¦ã§ã¤ã  	*/
+#define    WCR3_A02LW	0x6000
+
+
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå _hardware_init_hook
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+	.text
+	.align 2
+	.global _hardware_init_hook
+_hardware_init_hook:
+	/*
+	 *  ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®åæå
+	 *  
+	 */
+
+	/*
+	 *  ã¦ã§ã¤ãã¹ãã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿WCR1
+	 *  ãRW3 = 0
+	 *  ãããã¨ãªã¢3ï¼ãªã¼ããµã¤ã¯ã«ã¯ï¼ã¹ãã¼ãã§çµäº
+	 *  
+	 *  ãRW0 = 0
+	 *  ãããã¨ãªã¢0ï¼ãªã¼ããµã¤ã¯ã«ã§WAITä¿¡å·ã«ãã
+	 *  ãããã¦ã§ã¼ãã¹ãã¼ãæ¿å
+¥ãªã
+	 */
+
+			/* *WCR1 &= ~(WCR1_RW3 | WCR1_RW0); */
+	mov.l	_hw_hook_wcr1, r0
+	mov.w	@r0, r1			/*  r1âWCR1  */
+	mov.w	_hw_hook_wcr1_data, r2
+	and	r2, r1
+	mov.w	r1, @r0			/*  WCR1âr1  */
+	
+	
+	/*
+	 *  ã¦ã§ã¤ãã¹ãã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿WCR3
+	 *  
+	 *  ãA02LW = 00
+	 *  ãããã¨ãªã¢0,2ï¼1ã¹ãã¼ãã­ã³ã°ã¦ã§ã¤ã
+	 */
+	
+	mov.l	_hw_hook_wcr3, r3
+	mov.w	@r3, r4			/*  r4âWCR3  */
+	mov.w	_hw_hook_wcr3_a02lw, r5
+	and	r5, r4
+	rts
+	mov.w	r4, @r3			/*  WCR3âr4  */
+
+			/*  ã¨ãªã¢0,2ï¼1ã¹ãã¼ãã­ã³ã°ã¦ã§ã¤ã  	*/
+			/* *WCR3 &= WCR3_A02LW_MASK; */
+	
+	
+	
+	.align 2
+_hw_hook_wcr1:
+	.long	WCR1
+_hw_hook_wcr3:
+	.long	WCR3
+_hw_hook_wcr1_data:	
+	.word	~(WCR1_RW3 | WCR1_RW0) & 0xffff
+_hw_hook_wcr3_a02lw:	
+	.word	~WCR3_A02LW & 0xffff
+	
+#endif /* GDB_STUB */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/kz_sh1/user_config.h	(revision 26)
@@ -0,0 +1,265 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.4 2005/11/07 01:15:43 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+#if 0
+#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+#endif
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+#if 0
+#define	OMIT_POWER_CONTROL
+#endif
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+#if 0
+#define	FILL_STACK_WITH_0
+#endif
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+#if 0
+#define	OMIT_DATA_SECTION_COPY
+#endif
+
+/*
+ *  SRAMã¡ã¢ãªå®è£
+ã¿ã¤ããã©ã¼ã¸ã¿ã¤ãã¨ãããã©ããã®å®ç¾©
+ *ãï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæãªã®ã§ãæ¬æ©ç¨®ã§ã¯æªä½¿ç¨ï¼
+ */
+#if 0
+#define	LARGE_TYPE
+#endif
+
+
+/*
+ *  å¤ãæã¤ãã¯ã­ã®å®ç¾©
+ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 - 0x0004,0000  ã³ã¼ãé å(256KB)
+ *      0x0a00,0000 -              ãã¼ã¿é å(256KB)
+ *                  - 0x0a03,ffff  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ ã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	0x0a03fffc
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ°
+ *ããããããï¼ã¤ãé¸æããã
+ *ãããã»äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª) KZ-SH1-01ã20MHz
+ *ãããã»CQåºç RISCè©ä¾¡ã­ãã SH-1ã            19.6608MHz
+ *ãããã»ã½ãã£ã¢ã·ã¹ãã ãºè£½MultiSTAC-SH1       20MHz
+ */
+#define	CONFIG_20MHZ
+#if 0
+#define	CONFIG_19MHZ	/*  19.6608MHz  */
+#define	CONFIG_16MHZ
+#endif
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+#define	TNUM_SIOP 1	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1  /*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+#if 0
+#define	CONFIG_BAUD	9600
+#define	CONFIG_BAUD	19200
+#endif
+
+#define	CONFIG_BAUD	38400
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define SCI_INTLVL	6	/*  éåä¿¡å
+±ç¨  */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+#if 0
+#define	NUM_EXC
+#endif
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+#if 0	/*  æ¬æ©ç¨®ã¯å
+èµRAMãæããªã  */
+#define	INNER_RAM_ADDRESS
+#endif
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+#if 0
+#define GII_VECTOR
+#endif
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+#if 0
+#define SII_VECTOR
+#endif
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+#if 0
+#define CAE_VECTOR
+#endif
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+#if 0
+#define DAE_VECTOR
+#endif
+
+/*  NMI  */
+#if 0
+#define NMI_VECTOR
+#endif
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/makeoffset.c	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.11 2005/11/14 08:00:44 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset(void)
+{
+        OFFSET_DEF2(TCB, tinib, tinib);
+        OFFSET_DEF2(TINIB, task, task);
+        OFFSET_DEF2(TINIB, exinf, exinf);
+	OFFSET_DEF(TCB, texptn);
+
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+/*  BIT_BBï¼ããã°ã¨ã³ãã£ã¢ã³ããã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã  */
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1.h	(revision 26)
@@ -0,0 +1,156 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh1.h,v 1.8 2004/10/07 17:13:56 honda Exp $
+ */
+
+#ifndef _SH1_H_
+#define _SH1_H_
+
+/*
+ *  å²è¾¼ã¿ã®ãã¯ã¿çªå·å®ç¾©
+ */
+#define GII	 4	/*  ä¸è¬ä¸å½å½ä»¤:General Illegal Instruction  */
+#define SII	 6	/*  ã¹ã­ããä¸å½å½ä»¤:Slot Illegal Instruction */
+#define CAE	 9	/*  CPUã¢ãã¬ã¹ã¨ã©ã¼:CPU Address Error       */
+#define DAE	10	/*  DMAã¢ãã¬ã¹ã¨ã©ã¼:DMA Address Error       */
+
+#define NMI	11	/*  NMI  		*/
+#define USBK	12	/*  ã¦ã¼ã¶ã¼ãã¬ã¼ã¯  	*/
+#define IRQ0	64	/*  å¤é¨å²è¾¼ã¿è¦æ±  	*/
+#define IRQ1	65
+#define IRQ2	66
+#define IRQ3	67
+#define IRQ4	68
+#define IRQ5	69
+#define IRQ6	70
+#define IRQ7	71
+
+	/*  DMAC:ãã¤ã¬ã¯ãã¡ã¢ãªã¢ã¯ã»ã¹ã³ã³ãã­ã¼ã©  */
+#define DEI0	72	/*  DMAC0  */
+#define DEI1	74	/*  DMAC1  */
+#define DEI2	76	/*  DMAC2  */
+#define DEI3	78	/*  DMAC3  */
+
+	/*  ITU:ã¤ã³ãã¯ã¬ã¼ãããã¿ã¤ããã«ã¹ã¦ããã  */
+#define IMIA0	80	/*  ITU0  */
+#define IMIB0	81
+#define OVI0	82
+#define IMIA1	84	/*  ITU1  */
+#define IMIB1	85
+#define OVI1	86
+#define IMIA2	88	/*  ITU2  */
+#define IMIB2	89
+#define OVI2	90
+#define IMIA3	92	/*  ITU3  */
+#define IMIB3	93
+#define OVI3	94
+#define IMIA4	96	/*  ITU4  */
+#define IMIB4	97
+#define OVI4	98
+
+	/*  SCI:ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define ERI0	100	/*  SCI0  */
+#define RXI0	101
+#define TXI0	102
+#define TEI0	103
+#define ERI1	104	/*  SCI1  */
+#define RXI1	105
+#define TXI1	106
+#define TEI1	107
+
+#define PEI	108	/*  PRT:ãã¹ã³ã³ãã­ã¼ã©ã®ããªãã£å¶å¾¡  */
+#define ADI	109	/*  A/Dã³ã³ãã¼ã¿  			*/
+#define ITI	112	/*  WDT:ã¦ã©ããããã¯ã¿ã¤ã  		*/
+#define CMI	113	/*  REF:DRAMãªãã¬ãã·ã¥å¶å¾¡  		*/
+
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SH1ã®å
+é¨ã¬ã¸ã¹ã¿å®ç¾©
+ *  
+ *  ãã³ã³ãã¤ã©ã®åãã§ãã¯æ©è½ãæå¹ã«ããããããã¤ã³ã¿åã«ã¯
+ *  ãVPã§ã¯ãªããVB *,VH *, VW *ãç¨ãã¦ããã
+ */
+
+/*
+ * ãã³ãã¡ã³ã¯ã·ã§ã³ã³ã³ãã­ã¼ã© ï¼ãµã¤ãºã¯2ãã¤ãï¼
+ */
+#define	PAIOR	((VH *)0x5ffffc4)	/*  ãã¼ãA I/Oã¬ã¸ã¹ã¿  	  */
+#define	PACR1	((VH *)0x5ffffc8)	/*  ãã¼ãA ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define	PACR2	((VH *)0x5ffffca)	/*  ãã¼ãA ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define	PBIOR	((VH *)0x5ffffc6)	/*  ãã¼ãB I/Oã¬ã¸ã¹ã¿  	  */
+#define	PBCR1	((VH *)0x5ffffcc)	/*  ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define	PBCR2	((VH *)0x5ffffce)	/*  ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define	PADR	((VH *)0x5ffffc0)	/*  ãã¼ãA ãã¼ã¿ã¬ã¸ã¹ã¿  	  */
+
+#define PBCR1_TD0_RD0_MASK 	~0xfu	/*  TxD0,RxD0ç«¯å­è¨­å®ç¨ãã¹ã¯	*/
+#define PBCR1_TD0 		 0x8u	/*  TxD0ç«¯å­è¨­å®ç¨ãã¯ã­  	*/
+#define PBCR1_RD0 		 0x2u	/*  RxD0ç«¯å­è¨­å®ç¨ãã¯ã­  	*/
+
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã¬ã¸ã¹ã¿
+ */
+#define	IPRA	((VH *)0x5ffff84)	/*  å²è¾¼ã¿ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿  */
+#define	IPRB	((VH *)0x5ffff86)	/*  ï¼ãµã¤ãºã¯2ãã¤ãï¼  */
+#define	IPRC	((VH *)0x5ffff88)
+#define	IPRD	((VH *)0x5ffff8a)
+#define	IPRE	((VH *)0x5ffff8c)
+#define	ICR	((VH *)0x5ffff8e)	/*  å²è¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿  */
+					/*  ï¼ãµã¤ãºã¯2ãã¤ãï¼  */
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH1_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1_sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1_sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1_sil.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh1_sil.h,v 1.4 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *  SH1å
+èµã®å¶å¾¡ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹ã»ã¦ã¼ãã£ãªãã£ï¼ãããæ¼ç®ï¼
+ *  
+ *  sh1.hã«è¨è¿°ããã®ãã¨ã¬ã¬ã³ãã ããsil.hã¨ã®ã¤ã³ã¯ã«ã¼ãã®
+ *  é çªã®é¢ä¿ã§ç¬ç«ãããã¡ã¤ã«ã¨ãã
+ *  t_config.hãç´æ¥ã¤ã³ã¯ã«ã¼ãããã¨ãã«sil.hããå
+ã«ãã®
+ *  ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããããå¯è½æ§ãããã
+ *  
+ *  ã³ã³ãã¤ã©ã®åãã§ãã¯æ©è½ãæå¹ã«ããããããã¤ã³ã¿åã¯
+ *  VB *ãVH *ãVW *ãç¨ãã¦ããã
+ *  
+ */
+
+#ifndef _SIL_SH1_H_
+#define _SIL_SH1_H_
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+sh1_anb_reg(VB *mem, VB data)
+{
+	VB reg = sil_reb_mem((VP)mem);
+	reg &= data;
+	sil_wrb_mem((VP)mem, reg);
+}
+
+/*
+ *  8ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+sh1_orb_reg(VB *mem, VB data)
+{
+	VB reg = sil_reb_mem((VP)mem);
+	reg |= data;
+	sil_wrb_mem((VP)mem, reg);
+}
+
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+sh1_anh_reg(VH *mem, VH data)
+{
+	VH reg = sil_reh_mem((VP)mem);
+	reg &= data;
+	sil_wrh_mem((VP)mem, reg);
+}
+
+/*
+ *  16ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+sh1_orh_reg(VH *mem, VH data)
+{
+	VH reg = sil_reh_mem((VP)mem);
+	reg |= data;
+	sil_wrh_mem((VP)mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+ */
+Inline void
+sh1_anw_reg(VW *mem, VW data)
+{
+	VW reg = sil_rew_mem((VP)mem);
+	reg &= data;
+	sil_wrw_mem((VP)mem, reg);
+}
+
+/*
+ *  32ãããã¬ã¸ã¹ã¿ã®ORæ¼ç®
+ */
+Inline void
+sh1_orw_reg(VW *mem, VW data)
+{
+	VW reg = sil_rew_mem((VP)mem);
+	reg |= data;
+	sil_wrw_mem((VP)mem, reg);
+}
+
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ *  
+ *  ãmem  ï¼å¤æ´ããã¬ã¸ã¹ã¿ã®çªå°
+ *  ãlevelï¼è¨­å®ããå²è¾¼ã¿ã¬ãã«
+ *  ãshiftï¼ä½ãããå·¦ã·ããããã¨ãããè©²å½ããåæã
+ *  
+ */
+Inline void
+define_int_plevel(VH *mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem((VP)mem);
+	reg = (VH)((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem((VP)mem, reg);
+}
+
+
+
+#endif /* _MACRO_ONLY */
+#endif	/*  _SIL_SH1_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1itu.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1itu.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1itu.h	(revision 26)
@@ -0,0 +1,283 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh1itu.h,v 1.8 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *ãããããSH1å
+èµã®ã¤ã³ãã°ã¬ã¼ãããã»ã¿ã¤ãã»ãã«ã¹ã»ã¦ãããITUã®
+ *ããããããã£ãã«0ãä½¿ç¨
+ */
+
+#ifndef _SH1ITU_H_
+#define _SH1ITU_H_
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ°ä¾å­ã®è¨­å®
+ *  
+ *  ããã¯ã­ãã¯å¨æ³¢æ°ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³ã§ä¸ãããã
+ */
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *   	f/8ã§ã«ã¦ã³ã
+ */
+#define TCR_TPSC	0x3u
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *   	20MHz/8 =2.5MHz =2500kHz
+ */
+#ifdef CONFIG_20MHZ
+#define TIMER_CLOCK	2500
+#endif
+
+/*
+ *   	19.6608MHz/8 =2.4576MHz =2457.6kHz
+ */
+#ifdef CONFIG_19MHZ
+#define TIMER_CLOCK	2458
+#endif
+
+/*
+ *   	16MHz/8 =2MHz =2000kHz
+ */
+#ifdef CONFIG_16MHZ
+#define TIMER_CLOCK	2000
+#endif
+
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH	CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffffu)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100	/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼*/
+#define	BEFORE_IREQ(clock)  \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+
+    	/*  å
+±é  */
+#define ITU_TSTR (VB *)0x5ffff00 /*  ã¿ã¤ãã¹ã¿ã¼ãã¬ã¸ã¹ã¿ ï¼1ãã¤ãï¼*/
+#define ITU_TSNC (VB *)0x5ffff01 /*  ã¿ã¤ãã·ã³ã¯ã­ã¬ã¸ã¹ã¿ ï¼1ãã¤ãï¼*/
+#define ITU_TMDR (VB *)0x5ffff02 /*  ã¿ã¤ãã¢ã¼ãã¬ã¸ã¹ã¿ ï¼1ãã¤ãï¼  */
+	/*  ã¿ã¤ããã¡ã³ã¯ã·ã§ã³ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ ï¼1ãã¤ãï¼ */
+#define ITU_TFCR (VB *)0x5ffff03 
+	/*  ã¿ã¤ãã¢ã¦ããããã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ ï¼1ãã¤ãï¼   */
+#define ITU_TOCR (VB *)0x5ffff31
+
+	/*  ITU0  */
+#define ITU_TCR0  (VB *)0x5ffff04 /*  ã¿ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 ï¼1ãã¤ãï¼*/
+		/*  ã¿ã¤ãI/Oã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 ï¼1ãã¤ãï¼*/
+#define ITU_TIOR0 (VB *)0x5ffff05 
+		/*  ã¿ã¤ãã¤ã³ã¿ã©ããã¤ãã¼ãã«ã¬ã¸ã¹ã¿0 ï¼1ãã¤ãï¼*/
+#define ITU_TIER0 (VB *)0x5ffff06 
+#define ITU_TSR0  (VB *)0x5ffff07 /*  ã¿ã¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿0 ï¼1ãã¤ãï¼*/
+#define ITU_TCNT0 (VH *)0x5ffff08 /*  ã¿ã¤ãã«ã¦ã³ã¿0 ï¼2ãã¤ãï¼*/
+#define ITU_GRA0  (VH *)0x5ffff0a /*  ã¸ã§ãã©ã«ã¬ã¸ã¹ã¿A0 ï¼2ãã¤ãï¼*/
+#define ITU_GRB0  (VH *)0x5ffff0b /*  ã¸ã§ãã©ã«ã¬ã¸ã¹ã¿B0 ï¼2ãã¤ãï¼*/
+
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+#define TSR_IMFA	0x01u	/*  GRAã³ã³ãã¢ããããã©ã°  		*/
+#define TSTR_STR0	0x01u	/*  ã¿ã¤ãã¹ã¿ã¼ãããã  		*/
+#define TCR_CCLR_GRA	0x20u	/*  GRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢ */
+#define TIER_RESERVE	0x78u	/*  TIERã¬ã¸ã¹ã¿ã®äºç´ããã  		*/
+#define TIER_IMIEA	0x01u	/*  GRAã³ã³ãã¢ãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+#define TIOR_RESERVE	0x08u	/*  TIORã¬ã¸ã¹ã¿ã®äºç´ããã  		*/
+#define TIOR_IOA	0x00u	/*  GRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+sh1_itu_start(void)
+{
+	sh1_orb_reg(ITU_TSTR, TSTR_STR0);
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+sh1_itu_stop(void)
+{
+	sh1_anb_reg(ITU_TSTR, (VB)~TSTR_STR0);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+sh1_itu_int_clear(void)
+{
+	/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ 	*/
+	/*  ï¼GRAã³ã³ãã¢ããããã©ã°ï¼ */
+	sh1_anb_reg(ITU_TSR0, (VB)~TSR_IMFA);
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+sh1_itu_initialize(void)
+{
+	CLOCK	cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+
+
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	sh1_itu_stop();		/* ã¿ã¤ãåæ­¢ */
+			     		/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert(cyc <= MAX_CLOCK);
+			/*  GRAã³ã³ãã¢ãããã§ã«ã¦ã³ã¿ãã¯ãªã¢ */
+			/*  åå¨æ¯è¨­å®  			*/
+	sil_wrb_mem(ITU_TCR0, TCR_CCLR_GRA | TCR_TPSC);
+			/*  GRAã³ã³ãã¢ãããã«ããå²è¾¼ã¿è¦æ±ãè¨±å¯ */
+	sil_wrb_mem(ITU_TIER0, TIER_RESERVE | TIER_IMIEA);
+			/*  GRAã³ã³ãã¢ãããã«ããç«¯å­åºåç¦æ­¢ */
+	sil_wrb_mem(ITU_TIOR0, TIOR_RESERVE | TIOR_IOA);
+			/*  GRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼  	*/
+	sil_wrh_mem(ITU_GRA0, CLOCK_PER_TICK);
+	sil_wrh_mem(ITU_TCNT0, 0);	/* ã«ã¦ã³ã¿ãã¯ãªã¢ 	*/
+
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+sh1_itu_terminate(void)
+{
+	sh1_itu_stop();			/* ã¿ã¤ããåæ­¢ 	*/
+	sh1_itu_int_clear();		/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+					/* ã¿ã¤ãå²è¾¼ã¿ãç¦æ­¢   */
+			/*  ï¼OVIE,IMIEB,IMIEAããããã¯ãªã¢ï¼  */
+	sil_wrb_mem(ITU_TIER0, TIER_RESERVE);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+Inline CLOCK
+sh1_itu_get_current(void)
+{
+	CLOCK	clk;
+	
+
+	sh1_itu_stop();			/*  ã¿ã¤ãåæ­¢  */
+	
+	/*  æ¬æ¥ã¯å¾
+ã¡æéãå
+¥ããã¹ã  */
+	
+	clk = sil_reh_mem(ITU_TCNT0);
+	sh1_itu_start();			/*  ã¿ã¤ãã¹ã¿ã¼ã  */
+	
+	return(clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+sh1_itu_fetch_interrupt(void)
+{
+	VB tsr0 = sil_reb_mem(ITU_TSR0);
+	return(tsr0 & TSR_IMFA);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SH1ITU_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.c	(revision 26)
@@ -0,0 +1,661 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh1sci.c,v 1.12 2005/11/14 08:00:44 honda Exp $
+ */
+
+/*
+ *   SH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ *ãããã
+ *ããããSCI0ã®ã¿ã®ãµãã¼ãã ãã2chã¸ã®æ¡å¼µæ§ã¯æ®ãã¦ããã
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ *ãããããã
+ *ããããããã»ã¯ã­ãã¯å¨æ³¢æ°ä¾å­ã«ã¤ãã¦
+ *ããããããããã»ããã¤ã¹ä¾å­ã®ãã©ã¡ã¼ã¿ã¯sh1sci.cå
+ã§ç¨æããã
+ *ããããããããã»å¤§å
+ã®ã¯ã­ãã¯å¨æ³¢æ°ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³ã¨ãã¦ä¸ãã
+ */
+
+#include <s_services.h>
+#include <sh1sci.h>
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ ï¼ãã¹ã¦1ãã¤ããµã¤ãºï¼
+ */
+	/*  ãã£ãã«0  */
+#define SCI_SMR0 (VB *)0x5fffec0	/*  ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define SCI_BRR0 (VB *)0x5fffec1	/*  ãããã¬ã¼ãã¬ã¸ã¹ã¿  */
+#define SCI_SCR0 (VB *)0x5fffec2	/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SCI_TDR0 (VB *)0x5fffec3	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCI_SSR0 (VB *)0x5fffec4	/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define SCI_RDR0 (VB *)0x5fffec5	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+
+	/*  ãã£ãã«1  */
+#define SCI_SMR1 (VB *)0x5fffec8	/*  ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define SCI_BRR1 (VB *)0x5fffec9	/*  ãããã¬ã¼ãã¬ã¸ã¹ã¿  */
+#define SCI_SCR1 (VB *)0x5fffeca	/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SCI_TDR1 (VB *)0x5fffecb	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCI_SSR1 (VB *)0x5fffecc	/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define SCI_RDR1 (VB *)0x5fffecd	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SSRã®åããã  */
+#define SSR_TDRE	0x80u	/* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ */
+#define SSR_RDRF	0x40u	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã« 		*/
+#define SSR_ORER	0x20u	/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼ 			*/
+#define SSR_FER		0x10u	/* ãã¬ã¼ãã³ã°ã¨ã©ã¼ 			*/
+#define SSR_PER		0x08u	/* ããªãã£ã¨ã©ã¼ 			*/
+#define SSR_TEND	0x04u	/* ãã©ã³ã¹ãããã¨ã³ã 		*/
+#define SSR_MPB		0x02u	/* ãã«ããã­ã»ããµããã 		*/
+#define SSR_MPBT	0x01u	/* ãã«ããã­ã»ããµããããã©ã³ã¹ãã¡ 	*/
+
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCRã®åããã  */
+#define SCR_TIE		0x80u	/* ãã©ã³ã¹ãããã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+#define SCR_RIE		0x40u	/* ã¬ã·ã¼ãã¤ã³ã¿ã©ããã¤ãã¼ãã« 	*/
+#define SCR_TE		0x20u	/* ãã©ã³ã¹ãããã¤ãã¼ãã« 		*/
+#define SCR_RE		0x10u	/* ã¬ã·ã¼ãã¤ãã¼ãã« 			*/
+#define SCR_MPIE	0x08u	/* ãã«ããã­ã»ããµã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+				/* ãã©ã³ã¹ãããã¨ã³ãã¤ã³ã¿ã©ãã	*/
+#define SCR_TEIE	0x04u	/* ã¤ãã¼ãã« 				*/
+#define SCR_CKE_MASK	0x03u	/* ã¯ã­ãã¯ã½ã¼ã¹é¸æç¨ãã¹ã¯		*/
+#define SCR_CKE		0x00u	/* ã¯ã­ãã¯ã¤ãã¼ãã«			*/
+				/*   èª¿æ­©åæå¼ã®ã¨ã  			*/
+				/*   	å
+é¨ã¯ã­ãã¯ä½¿ç¨  		*/
+				/*   	åºåãªã  			*/
+
+/*  ã·ãªã¢ã«ã¢ã¼ãã¸ã¹ã¿SMRã®åããã  */
+				/* ã³ãã¥ãã±ã¼ã·ã§ã³ã¢ã¼ã 	*/
+#define SMR_CA_CLOCK	0x80u	/* 	ã¯ã­ãã¯åæå¼ 		*/
+#define SMR_CA_ASYNC	0x00u	/* 	èª¿æ­©åæå¼ 		*/
+	/*  èª¿æ­©åæå¼éä¿¡ï¼Asynchronous Communication method	*/
+				/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ 		*/
+#define SMR_CHR8	0x00u	/* 	8ããã 		*/
+#define SMR_CHR7	0x40u	/* 	7ããã 		*/
+				/* ããªãã£ã¤ãã¼ãã« 		*/
+#define SMR_PE		0x20u	/* 	ããªãã£ãã 		*/
+#define SMR_PE_NON	0x00u	/* 	ããªãã£ãªã 		*/
+#define SMR_OE_ODD	0x10u	/* ããªãã£ã¢ã¼ãï¼å¥æ°ããªãã£ï¼*/
+#define SMR_STOP2	0x08u	/* ã¹ããããããã¬ã³ã°ã¹ï¼2 	*/
+#define SMR_STOP1	0x00u	/* ã¹ããããããã¬ã³ã°ã¹ï¼1 	*/
+#define SMR_MP		0x04u	/* ãã«ããã­ã»ããµã¢ã¼ã 	*/
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ°ä¾å­
+ *  	äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿KZ-SH1-01ã®ã¯ã­ãã¯å¨æ³¢æ°ã¯20MHz
+ *  	CQåºç RISCè©ä¾¡ã­ãã SH-1ã®ã¯ã­ãã¯å¨æ³¢æ°ã¯19.6608MHz
+ *  	å¸¸ç¤åè¡SH1/CPUBã®ã¯ã­ãã¯å¨æ³¢æ°ã¯16MHz
+ */
+
+/*
+ *  åå¨æ¯ã¨ãããã¬ã¼ãã®è¨­å®
+ */
+#if CONFIG_BAUD == 9600
+/*
+ *
+ *  ã¯ã­ãã¯	ã20MHzã®å ´å
+ *  ãããã¬ã¼ãã9600bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=64ã§èª¤å·®0.16%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=64
+ */
+#ifdef CONFIG_20MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	64u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã9600bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=63ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=63
+ */
+#ifdef CONFIG_19MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	63u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã16MHz
+ *  ãããã¬ã¼ãã9600bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=51ã§èª¤å·®0.16%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=51
+ */
+#ifdef CONFIG_16MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	51u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=9600bpsã®å ´å
+ *  ãt = 1 / BPS = 104,167 = 105,000[nsec]
+ */
+#define SH1SCI_DELAY 	105000
+
+
+#elif CONFIG_BAUD == 19200
+
+
+/*
+ *
+ *  ã¯ã­ãã¯	ã20MHzã®å ´å
+ *  ãããã¬ã¼ãã19200bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=32ã§èª¤å·® -1.36%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=32
+ */
+#ifdef CONFIG_20MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	32u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã19200bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=31ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=31
+ */
+#ifdef CONFIG_19MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	31u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã16MHz
+ *  ãããã¬ã¼ãã19200bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=25ã§èª¤å·®0.16%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=25
+ */
+#ifdef CONFIG_16MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	25u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=19200bpsã®å ´å
+ *  ãt = 1 / BPS = 52,083 = 53,000[nsec]
+ */
+#define SH1SCI_DELAY 	53000
+
+
+#elif CONFIG_BAUD == 38400
+
+
+/*
+ *
+ *  ã¯ã­ãã¯	ã20MHzã®å ´å
+ *  ãããã¬ã¼ãã38400bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=15ã§èª¤å·®1.73%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=15
+ */
+#ifdef CONFIG_20MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	15u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã38400bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=15ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=15
+ */
+#ifdef CONFIG_19MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	15u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ã¯ã­ãã¯	ã16MHz
+ *  ãããã¬ã¼ãã38400bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=12ã§èª¤å·®0.16%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=16
+ */
+#ifdef CONFIG_16MHZ
+#define SMR_CKS 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR 	16u	/*  ãããã¬ã¼ã  	*/
+#endif
+
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=38400bpsã®å ´å
+ *  ãt = 1 / BPS = 26,042 = 27,000[nsec]
+ */
+#define SH1SCI_DELAY 	27000
+
+#else	/*  CONFIG_BAUD  */
+
+#error unsupported baud rate.
+
+#endif 	/*  CONFIG_BAUD  */
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæå¤ç¨ã®ãã¼ã¿ãå«ãã
+ */
+struct sio_port_control_block {
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ *  ããID = 1 ãSCI0ã«å¯¾å¿ããã¦ããï¼
+ */
+static SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+				/*  ãã¼ãIDããããã¤ã¹çªå·ãæ±ãããã¯ã­  */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh1sci_getready(SIOPCB *siopcb)
+{
+	VB ssr0 = sil_reb_mem(SCI_SSR0);
+	return(ssr0 & SSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh1sci_putready(SIOPCB *siopcb)
+{
+	VB ssr0 = sil_reb_mem(SCI_SSR0);
+	return(ssr0 & SSR_TDRE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+sh1sci_getchar(SIOPCB *siopcb)
+{
+	char data;
+
+	data = sil_reb_mem(SCI_RDR0);
+	
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢  */
+	sh1_anb_reg(SCI_SSR0, (VB)~SSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh1sci_putchar(SIOPCB *siopcb, char c)
+{
+#ifdef GDB_STUB
+	gdb_stub_putc( c );
+#else
+	sil_wrb_mem(SCI_TDR0 ,c);
+	
+	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢*/
+	sh1_anb_reg(SCI_SSR0, (VB)~SSR_TDRE);
+#endif
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh1sci_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+sh1sci_openflag(void)
+{
+#if TNUM_SIOP < 2
+	return(siopcb_table[0].openflag);
+#else /* TNUM_SIOP < 2 */
+	return(siopcb_table[0].openflag || siopcb_table[1].openflag);
+#endif /* TNUM_SIOP < 2 */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh1sci_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb = get_siopcb(siopid);
+
+#ifndef GDB_STUB
+	VB scr0, smr0;
+	VH pbcr1;
+
+	sh1_anb_reg(SCI_SCR0, (VB)~(SCR_TE | SCR_RE));	/*  éåä¿¡åæ­¢  */
+
+	/*  ãã³ã¢ãµã¤ã³
+	 *     ã·ãªã¢ã«ããã¤ã¹èªä½ã®äºé 
+ã§ã¯ãªãã®ã§
+	 *     æ¬æ¥ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ããã®ã¯ãµãããããªããã
+	 *     hw_serial.cãç¨æããã®ãç
+©éãªã®ã§æ«å®çã«ããã«å
+¥ãã¦ããã
+	 */
+	pbcr1 = sil_reh_mem((VP)PBCR1);
+						/* PB8:RxD0 PB9:TxD0  */
+	pbcr1 = (pbcr1 & PBCR1_TD0_RD0_MASK) |
+			PBCR1_TD0 | PBCR1_RD0;
+	sil_wrh_mem((VP)PBCR1, pbcr1);
+						/*  éåä¿¡ãã©ã¼ããã  */
+	smr0 = 	SMR_CA_ASYNC |	/*  èª¿æ­©åæå¼  		*/
+		SMR_CHR8 |	/*  ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã */
+		SMR_PE_NON |	/*  ããªãã£ãªã  		*/
+		SMR_STOP1 |	/*  ã¹ããããããã¬ã³ã°ã¹ï¼1 	*/
+		SMR_CKS;	/*  ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼  */
+	sil_wrb_mem(SCI_SMR0, smr0);
+	
+	sil_wrb_mem(SCI_BRR0, SCI_BRR);	/*  ãã¼ã¬ã¼ãè¨­å®  	*/
+
+					/*  å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹ã®é¸æ */
+	scr0 = (VB)(~(SCR_TIE | SCR_RIE | SCR_TE | SCR_RE |
+			  SCR_MPIE | SCR_TEIE | SCR_CKE_MASK) | SCR_CKE);
+	sil_wrb_mem(SCI_SCR0, scr0);
+	
+	/*
+	 * ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ã«ã¦ã³ãåå¾
+ããªããã°ãªããªãã
+	 */
+	sil_dly_nse(SH1SCI_DELAY);
+
+					/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢	*/
+	sh1_anb_reg(SCI_SSR0, (VB)~(SSR_ORER | SSR_FER | SSR_PER));
+					/* åä¿¡å²ãè¾¼ã¿è¨±å¯   	*/
+					/* éåä¿¡è¨±å¯  		*/
+	sh1_orb_reg(SCI_SCR0, (SCR_RIE | SCR_TE | SCR_RE));
+			/*  éä¿¡å²è¾¼ã¿ã®è¨±å¯ã¯éä¿¡å¶å¾¡é¢æ°ã§è¡ã  */
+
+#endif	/*  GDB_STUB  */
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh1sci_cls_por(SIOPCB *siopcb)
+{
+				/*  éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢ 	*/
+	sh1_anb_reg(SCI_SCR0, (VB)~(SCR_TIE | SCR_RIE | SCR_TE | SCR_RE));
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh1sci_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (sh1sci_putready(siopcb)) {
+		sh1sci_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh1sci_rcv_chr(SIOPCB *siopcb)
+{
+	if (sh1sci_getready(siopcb)) {
+		return((INT)(UB)sh1sci_getchar(siopcb));
+		/*  (UB)ã§ã­ã£ã¹ãããã®ã¯ã¼ã­æ¡å¼µã«ãããã  */
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sh1sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sh1_orb_reg(SCI_SCR0, SCR_TIE);
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sh1_orb_reg(SCI_SCR0, SCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sh1sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sh1_anb_reg(SCI_SCR0, (VB)~SCR_TIE);
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sh1_anb_reg(SCI_SCR0, (VB)~SCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh1sci_isr_siop_out(SIOPCB *siopcb)
+{
+	VB scr0 = sil_reb_mem(SCI_SCR0);
+	
+	if ((scr0 & SCR_TIE) != 0 && sh1sci_putready(siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh1sci_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh1sci_isr_siop_in(SIOPCB *siopcb)
+{
+	VB scr0 = sil_reb_mem(SCI_SCR0);
+
+	if ((scr0 & SCR_RIE) != 0 && sh1sci_getready(siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh1sci_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci_isr_out(void)
+{
+	if (siopcb_table[0].openflag) {
+		sh1sci_isr_siop_out(get_siopcb(1));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci_isr_in(void)
+{
+	if (siopcb_table[0].openflag) {
+		sh1sci_isr_siop_in(get_siopcb(1));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  ã
+ *  ãã¨ã©ã¼å¦çèªä½ã¯ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã«ã¨ã©ãã¦ããã
+ *  ãããã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼
+ *  ãããã»ãã¬ã¼ãã³ã°ã¨ã©ã¼
+ *  ãããã»ããªãã£ã¨ã©ã¼
+ */
+void
+sh1sci_isr_error(void)
+{
+	VB ssr0;
+	
+	if (siopcb_table[0].openflag) {
+		ssr0 = sil_reb_mem(SCI_SSR0);	/*  1åº¦èª­ã¿åºãã¦  */
+		ssr0 &= ~(SSR_RDRF | SSR_ORER | SSR_FER | SSR_PER);
+		sil_wrb_mem(SCI_SSR0, ssr0);	/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh1sci_putc_pol(char c)
+{
+	while(!sh1sci_putready(&siopcb_table[0]));
+	sh1sci_putchar(&siopcb_table[0], c);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/sh1sci.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh1sci.h,v 1.7 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *   SH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _SH1SCI_H_
+#define _SH1SCI_H_
+
+#include <t_services.h>
+#include <sh1_sil.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sh1sci_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	sh1sci_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*sh1sci_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sh1sci_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sh1sci_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	sh1sci_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	sh1sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	sh1sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sh1sci_isr_in(void);
+extern void	sh1sci_isr_out(void);
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sh1sci_isr_error(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	sh1sci_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sh1sci_ierdy_rcv(VP_INT exinf);
+
+
+
+#endif /* _SH1SCI_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/shelf.ld	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.ld,v 1.12 2004/09/22 08:47:52 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+ENTRY(__kernel_start)
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .vector : AT(0)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/start.S	(revision 26)
@@ -0,0 +1,275 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.12 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼SH1ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include <t_config.h>
+
+
+
+/*
+ *ããä¾å¤ãã¯ã¿ã®å®ç¾©ï¼SH1ç¨ï¼
+ *ãããããã§ã¯ãªã»ããæã«å¿
+è¦ãªæä½éã®ãã¯ã¿ããç¨æããªã
+ *ãããcpu_initialize()ã§ä¾å¤ãã¯ã¿ã®ç§»åï¼VBRã®æ¸ãæãï¼ãè¡ã
+ */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+/*
+ *   ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *   ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+	.section ".vector","ax"
+	.align 2
+	.long   TO_ASM(RESET_VECTOR)	/*   0:ãã¯ã¼ãªã³ãªã»ãã  */
+	.long   INIT_STACK		/*       SPã®åæå¤        */
+	.long   TO_ASM(RESET_VECTOR)	/*   2:ããã¥ã¢ã«ãªã»ãã  */
+	.long   INIT_STACK		/*       SPã®åæå¤        */
+	.long   TO_ASM(GII_VECTOR)	/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   5:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(SII_VECTOR)	/*   6:ã¹ã­ããä¸å½å½ä»¤    */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   7:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   8:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(CAE_VECTOR)	/*   9:CPUã¢ãã¬ã¹ã¨ã©ã¼   */
+	.long   TO_ASM(DAE_VECTOR)	/*  10:DMAã¢ãã¬ã¹ã¨ã©ã¼   */
+	.long   TO_ASM(NMI_VECTOR)	/*  11:MNI                 */
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+/*
+ *   SH1ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ */
+	.global	_start
+	.section .text
+	.align 2
+_start:
+	/*
+	 *  SRãåæåãããï¼å²è¾¼ã¿ç¦æ­¢ï¼
+	 *  IPM=0xe
+	 *  stubå®è¡æã®ã¿IPM=0xfã¨ãªãã
+	 */
+	mov.l _init_sr,r0
+	ldc   r0,sr
+	/*
+	 * éã¿ã¹ã¯ã³ã³ãã¹ãã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * STACKTOPã¯ãsys_config.hã§å®ç¾©
+	 */
+	mov.l  _stack_k, r15
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+start_0:
+	/*
+	 *  ãã­ã»ããµå
+èµRAMãå©ç¨ã§ããå ´åã¯ãã®ã¢ãã¬ã¹ã
+	 *  INNER_RAM_ADDRESSãã¯ã­ã¨ãã¦sys_config.hã¾ãã¯
+	 *  ã³ã³ãã¤ã©ã»ãªãã·ã§ã³ã§å®ç¾©ããã
+	 *ãï¼å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ã§ã¯ãªããã¹ã¿ãã¯ã®åºã§
+	 *ããããç¹ã«æ³¨æï¼
+	 *
+	 *  ãã®å ´åãhardware_init_hook()é¢æ°ãCè¨èªã§
+	 *  è¨è¿°ãã¦ããã
+	 *  ä¸è¬ã«Cè¨èªã®é¢æ°å¼ã³åºãã¯ã¹ã¿ãã¯ãä½¿ç¨ããã®ã§
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæååã«ã§ããªãã
+	 */
+#ifdef INNER_RAM_ADDRESS
+	mov.l  _inner_ram_address_k, r15
+#endif /* INNER_RAM_ADDRESS */
+	mov.l   _hardware_init_k, r0
+	tst    r0,r0
+	bt     start_1
+	jsr    @r0
+        nop
+
+
+	/*
+         * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+start_1:
+	/*
+         * ã¹ã¿ãã¯ãã¤ã³ã¿ãå¤é¨RAMã«åè¨­å®ãããï¼ä¸è¨åç
+§ï¼
+	 */
+#ifdef INNER_RAM_ADDRESS
+	mov.l  _stack_k, r15
+#endif /* INNER_RAM_ADDRESS */
+
+	mov.l	_bss_start_k,r0
+	mov.l	_end_k,r1
+	cmp/eq  r0,r1
+	bt      start_3
+	mov	#0,r2
+start_2:
+	/*
+	 *  r0ã®ã¤ã³ã¯ãªã¡ã³ããåé·ã«è¦ããã
+	 *  mov.l r4,@r0+å½ä»¤ã¯ãªã
+	 *	ãã£ã¹ãã£ãã¼ã·ã§ã³ã®ã¢ãã¬ã¹ã¯ãã£ã¯ãªã¡ã³ãã®ã¿
+	 */
+        mov.l	r2,@r0
+	add	#4,r0
+ 	cmp/hi	r0,r1
+	bt	start_2
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 *
+	 *ããããã°ç°å¢ã«ãã£ã¦ã¯dataã»ã¯ã·ã§ã³ã®èªè­ã«ä¸å
+·åãããã
+	 *ã__idata_startçªå°ã«ãã¦ã³ã­ã¼ããã¹ããã¼ã¿ã__data_start
+	 *ãçªå°ã«ãã¦ã³ã­ã¼ããã¦ãã¾ããã®ãããããã®å ´åã¯
+	 *ãOMIT_DATA_SECTION_COPYãã¯ã­ãå®ç¾©ãã¦ãããã¨ã§ãã®ã³ãã¼
+	 *ãä½æ¥­ãçç¥ããã
+	 */
+start_3:
+#ifndef OMIT_DATA_SECTION_COPY	/*  dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãè¡ãå ´å  */
+	mov.l   __idata_start_k,r1
+	mov.l   __idata_end_k,r2
+	cmp/eq  r1,r2
+	bt      start_5
+	mov.l   __data_start_k,r0
+start_4:
+	mov.l   @r1+,r4
+	mov.l   r4,@r0
+	cmp/hi  r1,r2
+	add     #4,r0
+	bt      start_4
+#endif 	/* OMIT_DATA_SECTION_COPY */
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:
+	mov.l  _software_init_hook_k, r0
+	tst    r0,r0
+	bt     start_6
+	jsr    @r0
+	nop
+
+
+start_6:
+	/*
+         *  ã«ã¼ãã«ãèµ·åãã
+	 */
+	! call the mainline
+	mov.l	_kernel_start_k,r0
+	jsr	@r0
+	nop
+
+
+	.align 2
+_intnest_k:
+	.long	_intnest
+_init_sr:
+	.long	MAX_IPM << 4
+_stack_k:
+	.long   STACKTOP
+
+#ifdef INNER_RAM_ADDRESS
+_inner_ram_address_k:
+	.long   INNER_RAM_ADDRESS
+#endif /* INNER_RAM_ADDRESS */
+
+_bss_start_k:
+	.long   __bss_start
+
+#ifdef FILL_STACK_WITH_0  /*  ãããã¬ã§ã¹ã¿ãã¯é åãè¦³å¯ãæã  */
+			  /*  ãããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã®    */
+			  /*  ã¹ã¿ãã¯é åãåæåãã            */
+_end_k:
+	.long   STACKTOP
+#else			/*  ã¹ã¿ãã¯é åãåæåããªãå ´å  */
+_end_k:			/*  ãbssã»ã¯ã·ã§ã³ã ãåæåãã  */
+	.long  	_end
+#endif	/* FILL_STACK_WITH_0  */
+
+
+#ifndef OMIT_DATA_SECTION_COPY	/*  dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãè¡ãå ´å  */
+__idata_start_k:
+	.long 	__idata_start
+__idata_end_k:
+	.long   __idata_end
+__data_start_k:
+	.long  	__data_start
+#endif 	/* OMIT_DATA_SECTION_COPY */
+
+_kernel_start_k:
+	.long	_kernel_start
+_hardware_init_k:
+	.long   _hardware_init_hook
+_software_init_hook_k:
+	.long   _software_init_hook
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_config.h	(revision 26)
@@ -0,0 +1,294 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.7 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+
+/*
+ *  å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­
+ *  ãGNUéçºç°å¢ã§ã¯å®ç¾©ãçç¥ãã¦è¯ã
+ *
+ *    #define __EMPTY_LABEL(x, y)
+ */
+
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/tool_defs.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.4 2004/10/07 17:13:56 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/util.h	(revision 26)
@@ -0,0 +1,75 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: util.h,v 1.4 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *  ã¦ã¼ãã£ãªãã£ã»ãã¯ã­ã®å®ç¾©
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+/*
+ *  Cè¨èªã®ã·ã³ãã«åãã¢ã»ã³ãã©ã®ã·ã³ãã«åã«å¤æãããã¯ã­
+ */
+#define _TO_ASM(arg)	_##arg
+#define TO_ASM(arg)	_TO_ASM(arg)
+
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/vector_table.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/vector_table.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/vector_table.c	(revision 26)
@@ -0,0 +1,328 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vector_table.c,v 1.4 2004/09/22 08:47:52 honda Exp $
+ */
+
+/*
+ *	ä¾å¤ãã¯ã¿ã®å®ç¾©ï¼SH1ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+extern void start(void);		/*  start.S  */
+extern void no_reg_exception(void);	/*  cpu_support.S  */
+
+FP vector_table [] = {
+	RESET_VECTOR,		/*   0:ãã¯ã¼ãªã³ãªã»ãã  */
+	(FP)INIT_STACK,		/*     ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+	RESET_VECTOR,		/*   2:ããã¥ã¢ã«ãªã»ãã  */
+	(FP)INIT_STACK,		/*     ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+	GII_VECTOR,		/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	RESERVED_VECTOR,	/*   5:ã·ã¹ãã äºç´        */
+	SII_VECTOR,		/*   6:ã¹ã­ããä¸å½å½ä»¤    */
+	RESERVED_VECTOR,	/*   7:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*   8:ã·ã¹ãã äºç´        */
+	CAE_VECTOR,		/*   9:CPUã¢ãã¬ã¹ã¨ã©ã¼   */
+	DAE_VECTOR,		/*  10:DMAã¢ãã¬ã¹ã¨ã©ã¼   */
+	NMI_VECTOR,		/*  11:MNI                 */
+
+				/*  æ®ãã¯ããã©ã«ãã®ä¾å¤å¦ç  */
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception
+};
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/Makefile.config	(revision 26)
@@ -0,0 +1,82 @@
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨å
+#  (æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+#
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+#ãããDBGENV = PARTNERã¯ROMICEä½¿ç¨æã«NMIã¾ã§ã®ROMãã¯ã¿ãã¼ãã«ã
+#ããããã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®ã¨ãªã¢ã¸è»¢éãã
+#
+DBGENV = ROM
+#DBGENV = PARTNER
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS) -Wl,-Map,jsp.map
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sys_support.o sh1sci2.o 
+
+
+#
+#  ãã¯ã­å®ç¾©ãªãã·ã§ã³
+#
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+# GDB stubã®å ´å
+ifeq ($(DBGENV),GDB_STUB)
+	# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+	# stubãä½¿ç¨ããã¡ã¢ãªé åã®å¾ã
+	TEXT_START_ADDRESS=0x2010d00
+
+	# RAMé åã®å
+é ­ã¢ãã¬ã¹
+	# ãtextã»ã¯ã·ã§ã³ã®ããå¾ãã«é
+ç½®ããã®ã§å®ç¾©ããå¿
+è¦ãªã
+else
+# ROMåã®å ´å
+	# ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+	# ã¦ã¼ã¶ã¼ï¼²ï¼¯ï¼­ é åã®éå§
+	TEXT_START_ADDRESS=0x00010000
+
+	# RAMé åã®å
+é ­ã¢ãã¬ã¹
+	# ã¨ãªã¢2ï¼å¤é¨ï¼³ï¼²ï¼¡ï¼­
+	DATA_START_ADDRESS=0x02000000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/shelf.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.c	(revision 26)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/JSP Rose-RT Link Programs
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+/*
+ *  (æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *  LED,SW å¶å¾¡é¢æ°
+ */
+#include <s_services.h>
+#include <sh1_sil.h>
+#include "zunda_sh1.h"
+#include "device.h"
+
+/*
+ *  LEDã®åæå
+ */
+void
+initial_led(void)
+{
+	set_led( LED1, OFF );
+	set_led( LED2, OFF );
+	set_led( LED3, OFF );
+}
+
+/*
+ *  LEDã®è¨­å®ãè¡ã
+ *  arg1: LED1 - 3
+ *  arg2: ON|OFF
+ */
+void
+set_led( int led, int req )
+{
+	if ( req != ON && req != OFF ) {
+		return;
+	}
+	
+	switch ( led ) {
+	case LED1:
+		if( req == OFF ) {
+			sh1_orh_reg( PA_DR, LED_CTL1 );
+		} else {
+			sh1_anh_reg( PA_DR, ~LED_CTL1 );
+		}
+		break;
+	case LED2:
+		if( req == OFF ) {
+			sh1_orh_reg( PB_DR, LED_CTL2 );
+		} else {
+			sh1_anh_reg( PB_DR, ~LED_CTL2 );
+		}
+		break;
+	case LED3:
+		if( req == OFF ) {
+			sh1_orh_reg( PB_DR, LED_CTL3 );
+		} else {
+			sh1_anh_reg( PB_DR, ~LED_CTL3 );
+		}
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  LEDã®ç¶æ
+åå¾
+ *  arg1: LED1 - 3
+ */
+int
+get_led( int led )
+{
+	switch ( led ) {
+	case LED1:
+		if ( (sil_reh_mem( PA_DR ) & LED_CTL1) == 0 ) {
+			return ON;
+		}
+		break;
+	case LED2:
+		if ( (sil_reh_mem( PB_DR ) & LED_CTL2) == 0 ) {
+			return ON;
+		}
+		break;
+	case LED3:
+		if ( (sil_reh_mem( PB_DR ) & LED_CTL3) == 0 ) {
+			return ON;
+		}
+		break;
+	default:
+		break;
+	}
+	return OFF;
+}
+
+/*
+ *  ãã£ããã¹ã¤ããã®ç¶æ
+åå¾
+ *  return:ON OFF
+ *  arg1:DSW11 ã DSW14
+ */
+int
+get_dsw( int sw )
+{
+	UH	key = 0;
+	int	result = OFF;
+
+	key = sil_reh_mem( SW_DR );
+	switch ( sw ) {
+	case DSW11:
+		if ((key & DSW11) == 0 ) {
+			result = ON;
+		}
+		break;
+	case DSW12:
+		if ((key & DSW12) == 0 ) {
+			result = ON;
+		}
+		break;
+	case DSW13:
+		if ((key & DSW13) == 0 ) {
+			result = ON;
+		}
+		break;
+	case DSW14:
+		if ((key & DSW14) == 0 ) {
+			result = ON;
+		}
+		break;
+	default:
+		break;
+	}
+	return result;
+}
+
+/*
+ *  ã­ã¼ã¿ãªã¼ã¹ã¤ããã®å¤åå¾
+ *  return:ã¹ã¤ããã®å¤
+ */
+int
+get_rsw(void)
+{
+	return (sil_reh_mem( SW_DR ) & RSW_CTL);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/device.h	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+ 
+#ifndef _DEVICE_H_
+#define _DEVICE_H_
+
+/*
+ *  LED IDå®ç¾©
+ */
+#define LED1		1		/* LED1ã®IDå®ç¾© */
+#define LED2		2		/* LED2ã®IDå®ç¾© */
+#define LED3		3		/* LED3ã®IDå®ç¾© */
+
+/*
+ *  LEDå¶å¾¡ããã
+ */
+#define LED_CTL1	0x0100		/* LED1 å¶å¾¡ */
+#define LED_CTL2	0x0040		/* LED2 å¶å¾¡ */
+#define LED_CTL3	0x1000		/* LED3 å¶å¾¡ */
+
+/*
+ *  ã¹ã¤ãããªã¼ãã¢ãã¬ã¹
+ */
+#define SW_DR		((VB *)0x6000200)
+
+/*
+ *  ãã£ããã¹ã¤ããåå¾ç¨ã®ãã¹ã¯ããã
+ */
+#define DSW11		0x10
+#define DSW12		0x20
+#define DSW13		0x40
+#define DSW14		0x80
+
+/*
+ *  ã­ã¼ã¿ãªã¼ã¹ã¤ããåå¾ç¨ã®ãã¹ã¯ããã
+ */
+#define RSW_CTL		0x0F
+
+/*
+ *  ON OFF å®ç¾©
+ */
+#define ON		1
+#define OFF		0
+
+/*
+ *  ã¦ãªããããã°ã¿ã¤ãã¯ãªã¢
+ */
+Inline void
+wdt_clear(void)
+{
+	sil_wrh_mem(PA_DR, (sil_reh_mem(PA_DR) ^ (1<<5)));
+}
+
+/*
+ *  ããã¤ã¹ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+void	initial_led(void );
+void	set_led( int led, int req );
+int	get_led( int led );
+int	get_dsw( int sw );
+int	get_rsw( void );
+
+#endif /* _DEVICE_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.cfg	(revision 26)
@@ -0,0 +1,20 @@
+/*
+ *	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+#ifndef GDB_STUB
+DEF_INH(INHNO_SERIAL_IN,	{ TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT,	{ TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR,	{ TA_HLNG, sio_handler_error });
+#endif /* GDB_STUB */
+
+#if TNUM_PORT >= 2
+DEF_INH(INHNO_SERIAL2_IN,	{ TA_HLNG, sio2_handler_in });
+DEF_INH(INHNO_SERIAL2_OUT,	{ TA_HLNG, sio2_handler_out });
+DEF_INH(INHNO_SERIAL2_ERROR,	{ TA_HLNG, sio2_handler_error });
+DEF_INH(INHNO_SERIAL2_TEI,	{ TA_HLNG, sio2_handler_tend });
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_serial.h	(revision 26)
@@ -0,0 +1,195 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ã
+ *ãã(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ããããSH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIãä½¿ç¨
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh1sci2.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		RXI0
+#define INHNO_SERIAL_OUT	TXI0
+#define INHNO_SERIAL_ERROR  	ERI0
+
+#define INHNO_SERIAL2_IN	RXI1
+#define INHNO_SERIAL2_OUT	TXI1
+#define INHNO_SERIAL2_ERROR	ERI1
+#define INHNO_SERIAL2_TEI  	TEI1
+
+#define LEVEL0		0	/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh1sci_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãã¼ããªã¼ãã³ãããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh1sci_openflag(siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh1sci_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	 if (!openflag) {
+		define_int_plevel(siopcb->inib->ipr, SCI_INTLVL, siopcb->inib->shift);
+	 }
+	 
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh1sci_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+	define_int_plevel(siopcb->inib->ipr, LEVEL0, siopcb->inib->shift);
+
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in		sh1sci_isr_in		/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out		sh1sci_isr_out		/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error	sh1sci_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã© */
+
+#define	sio2_handler_in		sh1sci2_isr_in		/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio2_handler_out	sh1sci2_isr_out		/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio2_handler_error	sh1sci2_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã© */
+#define	sio2_handler_tend	sh1sci2_isr_tend	/*  éä¿¡çµäºå²è¾¼ã¿ãã³ãã©   */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh1sci_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh1sci_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh1sci_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh1sci_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh1sci_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh1sci_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/hw_timer.h	(revision 26)
@@ -0,0 +1,137 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ãããããSH1å
+èµã®TMU0ãä½¿ç¨
+ *
+ *ãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ãã
+ *ãããããã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh1itu.hã«è¨è¿°ãã
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sh1_sil.h>
+
+#ifndef _MACRO_ONLY
+#include <sh1itu.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	IMIA0
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define ITU_BIT_SHIFT	4
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh1_itu_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh1_itu_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+					/* å²ãè¾¼ã¿ã¬ãã«è¨­å® 	*/
+	define_int_plevel(IPRC, TIMER_INTLVL, ITU_BIT_SHIFT);
+	sh1_itu_int_clear();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh1_itu_start();		/* ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh1_itu_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh1_itu_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh1_itu_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.c	(revision 26)
@@ -0,0 +1,785 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *   SH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ *   (æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ãããã
+ *   SCI0(RS232C)/SCI1(RS485)ãµãã¼ã
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ *ãããããã
+ *ããããããã»ã¯ã­ãã¯å¨æ³¢æ°ä¾å­ã«ã¤ãã¦
+ *ããããããããã»ããã¤ã¹ä¾å­ã®ãã©ã¡ã¼ã¿ã¯sh1sci.cå
+ã§ç¨æããã
+ *ããããããããã»å¤§å
+ã®ã¯ã­ãã¯å¨æ³¢æ°ã¯ã³ã³ãã¤ã«ãªãã·ã§ã³ã¨ãã¦ä¸ãã
+ */
+
+#include <s_services.h>
+#include <sh1sci2.h>
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ ï¼ãã¹ã¦1ãã¤ããµã¤ãºï¼
+ */
+	/*  ãã£ãã«0  */
+#define SCI_SMR0 (VB *)0x5fffec0	/*  ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define SCI_BRR0 (VB *)0x5fffec1	/*  ãããã¬ã¼ãã¬ã¸ã¹ã¿  */
+#define SCI_SCR0 (VB *)0x5fffec2	/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SCI_TDR0 (VB *)0x5fffec3	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCI_SSR0 (VB *)0x5fffec4	/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define SCI_RDR0 (VB *)0x5fffec5	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+
+	/*  ãã£ãã«1  */
+#define SCI_SMR1 (VB *)0x5fffec8	/*  ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define SCI_BRR1 (VB *)0x5fffec9	/*  ãããã¬ã¼ãã¬ã¸ã¹ã¿  */
+#define SCI_SCR1 (VB *)0x5fffeca	/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SCI_TDR1 (VB *)0x5fffecb	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SCI_SSR1 (VB *)0x5fffecc	/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define SCI_RDR1 (VB *)0x5fffecd	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SSRã®åããã  */
+#define SSR_TDRE	0x80u	/* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ */
+#define SSR_RDRF	0x40u	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã« 		*/
+#define SSR_ORER	0x20u	/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼ 			*/
+#define SSR_FER		0x10u	/* ãã¬ã¼ãã³ã°ã¨ã©ã¼ 			*/
+#define SSR_PER		0x08u	/* ããªãã£ã¨ã©ã¼ 			*/
+#define SSR_TEND	0x04u	/* ãã©ã³ã¹ãããã¨ã³ã 		*/
+#define SSR_MPB		0x02u	/* ãã«ããã­ã»ããµããã 		*/
+#define SSR_MPBT	0x01u	/* ãã«ããã­ã»ããµããããã©ã³ã¹ãã¡ 	*/
+
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCRã®åããã  */
+#define SCR_TIE		0x80u	/* ãã©ã³ã¹ãããã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+#define SCR_RIE		0x40u	/* ã¬ã·ã¼ãã¤ã³ã¿ã©ããã¤ãã¼ãã« 	*/
+#define SCR_TE		0x20u	/* ãã©ã³ã¹ãããã¤ãã¼ãã« 		*/
+#define SCR_RE		0x10u	/* ã¬ã·ã¼ãã¤ãã¼ãã« 			*/
+#define SCR_MPIE	0x08u	/* ãã«ããã­ã»ããµã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+				/* ãã©ã³ã¹ãããã¨ã³ãã¤ã³ã¿ã©ãã	*/
+#define SCR_TEIE	0x04u	/* ã¤ãã¼ãã« 				*/
+#define SCR_CKE_MASK	0x03u	/* ã¯ã­ãã¯ã½ã¼ã¹é¸æç¨ãã¹ã¯		*/
+#define SCR_CKE		0x00u	/* ã¯ã­ãã¯ã¤ãã¼ãã«			*/
+				/*   èª¿æ­©åæå¼ã®ã¨ã  			*/
+				/*   	å
+é¨ã¯ã­ãã¯ä½¿ç¨  		*/
+				/*   	åºåãªã  			*/
+
+/*  ã·ãªã¢ã«ã¢ã¼ãã¸ã¹ã¿SMRã®åããã  */
+				/* ã³ãã¥ãã±ã¼ã·ã§ã³ã¢ã¼ã 	*/
+#define SMR_CA_CLOCK	0x80u	/* 	ã¯ã­ãã¯åæå¼ 		*/
+#define SMR_CA_ASYNC	0x00u	/* 	èª¿æ­©åæå¼é 		*/
+	/*  èª¿æ­©åæå¼éä¿¡æ¹ï¼Asynchronous Communication method */
+				/* ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ 		*/
+#define SMR_CHR8	0x00u	/* 	8ããã 		*/
+#define SMR_CHR7	0x40u	/* 	7ããã 		*/
+				/* ããªãã£ã¤ãã¼ãã« 		*/
+#define SMR_PE		0x20u	/* 	ããªãã£ãã 		*/
+#define SMR_PE_NON	0x00u	/* 	ããªãã£ãªã 		*/
+#define SMR_OE_ODD	0x10u	/* ããªãã£ã¢ã¼ãï¼å¥æ°ããªãã£ï¼*/
+#define SMR_STOP2	0x08u	/* ã¹ããããããã¬ã³ã°ã¹ï¼2 	*/
+#define SMR_STOP1	0x00u	/* ã¹ããããããã¬ã³ã°ã¹ï¼1 	*/
+#define SMR_MP		0x04u	/* ãã«ããã­ã»ããµã¢ã¼ã 	*/
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ãã¼ã¹ããã®ãªãã»ãã
+ */
+#define SMR (VB *)0x0	/*  ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ */
+#define BRR (VB *)0x1	/*  ãããã¬ã¼ãã¬ã¸ã¹ã¿  */
+#define SCR (VB *)0x2	/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define TDR (VB *)0x3	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ */
+#define SSR (VB *)0x4	/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RDR (VB *)0x5	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ°ä¾å­
+ *  ã¯ã­ãã¯å¨æ³¢æ°ã¯19.6608MHz
+ */
+/*
+ *  ãã£ãã«0:åå¨æ¯ã¨ãããã¬ã¼ãã®è¨­å®
+ */
+#if CONFIG_BAUD == 9600
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã9600bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=63ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=63
+ */
+#define SMR_CKS_0 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_0 	63u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=9600bpsã®å ´å
+ *  ãt = 1 / BPS = 104,167 = 105,000[nsec]
+ */
+#define SH1SCI_DELAY0 	105000
+
+#elif CONFIG_BAUD == 19200
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã19200bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=31ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=31
+ */
+#define SMR_CKS_0 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_0 	31u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=19200bpsã®å ´å
+ *  ãt = 1 / BPS = 52,083 = 53,000[nsec]
+ */
+#define SH1SCI_DELAY0 	53000
+
+#elif CONFIG_BAUD == 38400
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã38400bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=15ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=15
+ */
+#define SMR_CKS_0 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_0 	15u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=38400bpsã®å ´å
+ *  ãt = 1 / BPS = 26,042 = 27,000[nsec]
+ */
+#define SH1SCI_DELAY0 	27000
+
+#else	/*  CONFIG_BAUD  */
+#error chanel0 is unsupported baud rate.
+
+#endif 	/*  CONFIG_BAUD  */
+
+
+/*
+ *  ãã£ãã«1:åå¨æ¯ã¨ãããã¬ã¼ãã®è¨­å®
+ */
+#if CONFIG_BAUD_2 == 9600
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã9600bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=63ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=63
+ */
+#define SMR_CKS_1 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_1 	63u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=9600bpsã®å ´å
+ *  ãt = 1 / BPS = 104,167 = 105,000[nsec]
+ */
+#define SH1SCI_DELAY1 	105000
+
+#elif CONFIG_BAUD_2 == 19200
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã19200bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=31ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=31
+ */
+#define SMR_CKS_1 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_1 	31u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=19200bpsã®å ´å
+ *  ãt = 1 / BPS = 52,083 = 53,000[nsec]
+ */
+#define SH1SCI_DELAY1 	53000
+
+#elif CONFIG_BAUD_2 == 38400
+/*
+ *  ã¯ã­ãã¯	ã19.6608MHz
+ *  ãããã¬ã¼ãã38400bps
+ *
+ *  ãn=0(åå¨ããªãã®ã§ãã®ã¾ã¾)
+ *  ãN=15ã§èª¤å·®0%
+ *  ãã£ã¦ã
+ *  ãã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿SMRã®ã¯ã­ãã¯ã»ã¬ã¯ããããCKS=00
+ *  ããããã¬ã¼ãã¬ã¸ã¹ã¿BRR=15
+ */
+#define SMR_CKS_1 	0x0u	/*  åå¨æ¯  		*/
+#define SCI_BRR_1 	15u	/*  ãããã¬ã¼ã  	*/
+/*
+ *  ãã¼ã¬ã¼ãè¨­å®å¾ãã¯ã­ãã¯ãå®å®ããã¾ã§ã®å¾
+ã¡æé
+ *  ãï¼æåã®1ãããåï¼ã
+ *  BPS=38400bpsã®å ´å
+ *  ãt = 1 / BPS = 26,042 = 27,000[nsec]
+ */
+#define SH1SCI_DELAY1 	27000
+
+#else	/*  CONFIG_BAUD  */
+#error chanel1 is unsupported baud rate.
+
+#endif 	/*  CONFIG_BAUD  */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+static const SIOPINIB siopinib_table[TNUM_PORT] = 
+{
+
+#if TNUM_PORT == 1
+
+	{
+		(UW)SCI_SMR0,
+		SCI_BRR_0,
+		IPRD,
+		0,
+		(SMR_CA_ASYNC | SMR_CHR8 | SMR_PE_NON | SMR_STOP1 | SMR_CKS_0),
+		SH1SCI_DELAY0,
+		RS232C_INTERFACE,
+	},
+
+#elif TNUM_PORT == 2	/* of #if TNUM_PORT == 1 */
+
+	{
+		(UW)SCI_SMR0,
+		SCI_BRR_0,
+		IPRD,
+		0,
+		(SMR_CA_ASYNC | SMR_CHR8 | SMR_PE_NON | SMR_STOP1 | SMR_CKS_0),
+		SH1SCI_DELAY0,
+		RS232C_INTERFACE,
+	},
+	{
+		(UW)SCI_SMR1,
+		SCI_BRR_1,
+		IPRE,
+		12,
+		(SMR_CA_ASYNC | SMR_CHR8 | SMR_PE_NON | SMR_STOP1 | SMR_CKS_1),
+		SH1SCI_DELAY1,
+		RS485_INTERFACE,
+	},
+
+#endif	/* of #if TNUM_PORT == 1 */
+
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ *  ããID = 1 ãSCI0ã«å¯¾å¿ããã¦ããï¼
+ */
+static SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh1sci_getready(SIOPCB *siopcb)
+{
+	VB ssr = sil_reb_mem(siopcb->inib->base + SSR);
+	return(ssr & SSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh1sci_putready(SIOPCB *siopcb)
+{
+	VB ssr = sil_reb_mem(siopcb->inib->base + SSR);
+	return(ssr & SSR_TDRE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+sh1sci_getchar(SIOPCB *siopcb)
+{
+	char data;
+
+	data = sil_reb_mem(siopcb->inib->base + RDR);
+	
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢  */
+	sh1_anb_reg(siopcb->inib->base + SSR, (VB)~SSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh1sci_putchar(SIOPCB *siopcb, char c)
+{
+	if (siopcb->inib->rs485if) {
+		if (!(sil_reh_mem(PB_DR) & PB_TXE1)) {
+			sh1_orh_reg(PB_DR, PB_TXE1);	/* TXENA ON 		*/
+			sil_dly_nse(5000);		/* 5us ä¿è­·æé		*/
+		}
+		sil_wrb_mem(siopcb->inib->base + TDR ,c);
+		/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢*/
+		sh1_anb_reg(siopcb->inib->base + SSR, (VB)~SSR_TDRE);
+		/*  TXENA OFFå¶å¾¡ã®ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯ */
+		sh1sci_ena_cbr(siopcb, SIO_ERDY_SND);
+	} else {
+#ifdef GDB_STUB
+		gdb_stub_putc( c );
+#else
+		sil_wrb_mem(siopcb->inib->base + TDR ,c);
+
+		/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢*/
+		sh1_anb_reg(siopcb->inib->base + SSR, (VB)~SSR_TDRE);
+#endif
+	}
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh1sci_initialize(void)
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->inib     = &siopinib_table[i];
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+sh1sci_openflag(ID siopid)
+{
+	SIOPCB *siopcb;
+
+	siopcb = get_siopcb(siopid);
+	return (siopcb->openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh1sci_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb = get_siopcb(siopid);
+	VB scr, smr;
+	VH pbcr1;
+
+#ifdef GDB_STUB
+	if (siopid == PORT1) {
+		siopcb->exinf = exinf;
+		siopcb->openflag = TRUE;
+		return(siopcb);
+	}
+#endif	/*  GDB_STUB  */
+
+	sh1_anb_reg(siopcb->inib->base + SCR, (VB)~(SCR_TE | SCR_RE));	/*  éåä¿¡åæ­¢  */
+
+	/*  ãã³ã¢ãµã¤ã³
+	 *     ã·ãªã¢ã«ããã¤ã¹èªä½ã®äºé 
+ã§ã¯ãªãã®ã§
+	 *     æ¬æ¥ã¯ãã®ãã¡ã¤ã«ã«è¨è¿°ããã®ã¯ãµãããããªããã
+	 *     hw_serial.cãç¨æããã®ãç
+©éãªã®ã§æ«å®çã«ããã«å
+¥ãã¦ããã
+	 */
+	pbcr1 = sil_reh_mem((VP)PBCR1);
+	if (siopid == PORT1) {	/* PB08:RxD0 PB09:TxD0  */
+		pbcr1 = (pbcr1 & PBCR1_TD0_RD0_MASK) | PBCR1_TD0 | PBCR1_RD0;
+	} else {		/* PB10:RxD1 PB11:TxD1  */
+		pbcr1 = (pbcr1 & PBCR1_TD1_RD1_MASK) | PBCR1_TD1 | PBCR1_RD1;
+	}
+	sil_wrh_mem((VP)PBCR1, pbcr1);
+	
+						/*  éåä¿¡ãã©ã¼ããã  */
+	smr = siopcb->inib->smr_init;
+
+	sil_wrb_mem(siopcb->inib->base + SMR, smr);
+	
+	sil_wrb_mem(siopcb->inib->base + BRR, (UB)siopcb->inib->baudrate);	/*  ãã¼ã¬ã¼ãè¨­å®  	*/
+
+					/*  å²è¾¼ã¿ç¦æ­¢ã¨ã¯ã­ãã¯ã½ã¼ã¹ã®é¸æ */
+	scr = (VB)(~(SCR_TIE | SCR_RIE | SCR_TE | SCR_RE |
+			  SCR_MPIE | SCR_TEIE | SCR_CKE_MASK) | SCR_CKE);
+	sil_wrb_mem(siopcb->inib->base + SCR, scr);
+	
+	/*
+	 * ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ã«ã¦ã³ãåå¾
+ããªããã°ãªããªãã
+	 */
+	sil_dly_nse(siopcb->inib->delay);
+
+					/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢	*/
+	sh1_anb_reg(siopcb->inib->base + SSR, (VB)~(SSR_ORER | SSR_FER | SSR_PER));
+					/* åä¿¡å²ãè¾¼ã¿è¨±å¯   	*/
+					/* éåä¿¡è¨±å¯  		*/
+	sh1_orb_reg(siopcb->inib->base + SCR, (SCR_RIE | SCR_TE | SCR_RE));
+			/*  éä¿¡å²è¾¼ã¿ã®è¨±å¯ã¯éä¿¡å¶å¾¡é¢æ°ã§è¡ã  */
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh1sci_cls_por(SIOPCB *siopcb)
+{
+				/*  éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢ 	*/
+	sh1_anb_reg(siopcb->inib->base + SCR, (VB)~(SCR_TIE | SCR_RIE | SCR_TE | SCR_RE));
+	
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh1sci_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (sh1sci_putready(siopcb)) {
+		sh1sci_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh1sci_rcv_chr(SIOPCB *siopcb)
+{
+	if (sh1sci_getready(siopcb)) {
+		return((INT)(UB) sh1sci_getchar(siopcb));
+		/*  (UB)ã§ã­ã£ã¹ãããã®ã¯ã¼ã­æ¡å¼µã«ãããã  */
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sh1sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sh1_orb_reg(siopcb->inib->base + SCR, SCR_TIE);
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sh1_orb_reg(siopcb->inib->base + SCR, SCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sh1sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:	/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sh1_anb_reg(siopcb->inib->base + SCR, (VB)~SCR_TIE);
+		if (siopcb->inib->rs485if) {
+				/* éä¿¡çµäºå²ãè¾¼ã¿è¨±å¯ */
+			sh1_orb_reg(siopcb->inib->base + SCR, SSR_TEND);
+		}
+		break;
+	case SIO_ERDY_RCV:	/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sh1_anb_reg(siopcb->inib->base + SCR, (VB)~SCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh1sci_isr_siop_out(SIOPCB *siopcb)
+{
+	VB scr = sil_reb_mem(siopcb->inib->base + SCR);
+	
+	if ((scr & SCR_TIE) != 0 && sh1sci_putready(siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh1sci_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡çµäºå²è¾¼ã¿å¦ç
+ */
+Inline void
+sh1sci_isr_siop_tend(SIOPCB *siopcb)
+{
+	/*
+ 	 * RS485 éä¿¡ç¦æ­¢å¶å¾¡
+ 	 */
+	sh1_anb_reg(siopcb->inib->base + SCR, (VB)~SSR_TEND);
+	sh1_anh_reg(PB_DR, ~PB_TXE1);	/* txenaãã¼ãç¦æ­¢ */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh1sci_isr_siop_in(SIOPCB *siopcb)
+{
+	VB scr = sil_reb_mem(siopcb->inib->base + SCR);
+
+	if ((scr & SCR_RIE) != 0 && sh1sci_getready(siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh1sci_ierdy_rcv(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci_isr_out(void)
+{
+	if (siopcb_table[0].openflag) {
+		sh1sci_isr_siop_out(&(siopcb_table[0]));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci_isr_in(void)
+{
+	if (siopcb_table[0].openflag) {
+		sh1sci_isr_siop_in(&(siopcb_table[0]));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  ã
+ *  ãã¨ã©ã¼å¦çèªä½ã¯ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã«ã¨ã©ãã¦ããã
+ *  ãããã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼
+ *  ãããã»ãã¬ã¼ãã³ã°ã¨ã©ã¼
+ *  ãããã»ããªãã£ã¨ã©ã¼
+ */
+void
+sh1sci_isr_error(void)
+{
+	VB ssr0;
+	
+	if (siopcb_table[0].openflag) {
+		ssr0 = sil_reb_mem(SCI_SSR0);	/*  1åº¦èª­ã¿åºãã¦  */
+		ssr0 &= ~(SSR_RDRF | SSR_ORER | SSR_FER | SSR_PER);
+		sil_wrb_mem(SCI_SSR0, ssr0);	/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh1sci_putc_pol(char c)
+{
+	while(!sh1sci_putready(&siopcb_table[0]));
+	sh1sci_putchar(&siopcb_table[0], c);
+}
+
+/* ã·ãªã¢ã«ï¼ï½ï½ç®	*/
+#if TNUM_SIOP >= 2
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI1ã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci2_isr_out(void)
+{
+	if (siopcb_table[1].openflag) {
+		sh1sci_isr_siop_out(&(siopcb_table[1]));
+	}
+}
+
+/*
+ *  SIOéä¿¡çµäºå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI1ã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci2_isr_tend(void)
+{
+	if (siopcb_table[1].openflag) {
+		sh1sci_isr_siop_tend(&(siopcb_table[1]));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh1sci2_isr_in(void)
+{
+	if (siopcb_table[1].openflag) {
+		sh1sci_isr_siop_in(&(siopcb_table[1]));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  ã
+ *  ãã¨ã©ã¼å¦çèªä½ã¯ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã«ã¨ã©ãã¦ããã
+ *  ãããã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼
+ *  ãããã»ãã¬ã¼ãã³ã°ã¨ã©ã¼
+ *  ãããã»ããªãã£ã¨ã©ã¼
+ */
+void
+sh1sci2_isr_error(void)
+{
+	VB ssr1;
+	
+	if (siopcb_table[1].openflag) {
+		ssr1 = sil_reb_mem(SCI_SSR1);	/*  1åº¦èª­ã¿åºãã¦  */
+		ssr1 &= ~(SSR_RDRF | SSR_ORER | SSR_FER | SSR_PER);
+		sil_wrb_mem(SCI_SSR1, ssr1);	/*  ã¨ã©ã¼ãã©ã°ã¯ãªã¢  */
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh1sci2_putc_pol(char c)
+{
+	while(!sh1sci_putready(&siopcb_table[1]));
+	sh1sci_putchar(&siopcb_table[1], c);
+}
+
+#endif /* TNUM_SIOP = 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sh1sci2.h	(revision 26)
@@ -0,0 +1,178 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *   SH1å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ *
+ *ããããSCI0/1ãµãã¼ã
+ *
+ *ããããsh1sci.{c,h}ã¨hw_serial.hã®åå²ã®åºæº
+ *ããããããã»sh1sci.{c,h}ï¼ã·ãªã¢ã«ããã¤ã¹ã«ä¾å­ããé¨åã®ã¿è¨è¿°
+ *ããããããã»hw_serial.hï¼ã·ãªã¢ã«ããã¤ã¹ä»¥å¤ã«èµ·å ããäºé 
+ã¯
+ *ãããã ãããããããããhw_serial.hã«è¨è¿°ãã
+ *ããããããããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ãªã©
+ */
+
+#ifndef _SH1SCI2_H_
+#define _SH1SCI2_H_
+
+#include <t_services.h>
+#include <sh1_sil.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã¤ã³ã¿ã¼ãã§ã¼ã¹
+ */
+#define	PORT1			1
+#define	PORT2			2
+
+#define RS232C_INTERFACE	0	/* RS232C I/Fã®å ´åãéä¿¡è¨±å¯å¶å¾¡ */
+#define RS485_INTERFACE		1	/* RS485 I/Fã®å ´åãéä¿¡è¨±å¯å¶å¾¡ */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+	UW 	base;		/* SCI ã®ãã¼ã¹ã¢ãã¬ã¹		*/
+	UW	baudrate;	/* ãã¼ã¬ã¤ã			*/	
+	VH  	*ipr;		/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã¢ãã¬ã¹ */
+	UH	shift;		/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã·ãã	*/
+	UB	smr_init;	/* SMR ã®è¨­å®å¤			*/
+	UINT	delay;		/* ãã¼ã¬ã¼ãã®è¨­å®å¾å¾
+ã¡	*/
+	UB	rs485if;	/* RS232C | RS485		*/
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chã«æ¡å¼µ
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæå¤ç¨ã®ãã¼ã¿ 	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± 		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° 	*/
+} SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sh1sci_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	sh1sci_openflag(ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*sh1sci_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sh1sci_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sh1sci_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	sh1sci_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	sh1sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	sh1sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sh1sci_isr_in(void);
+extern void	sh1sci_isr_out(void);
+
+/*
+ *  SIOã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sh1sci_isr_error(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	sh1sci_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sh1sci_ierdy_rcv(VP_INT exinf);
+
+
+
+#endif /* _SH1SCI2_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.c	(revision 26)
@@ -0,0 +1,99 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize(void)
+{
+	/*
+	 *  ãã­ã»ããµè­å¥ã®ããã®å¤æ°ã®åæå
+	 */
+	/*  SH1ã§ã¯æªå®è£
+  */
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	zunda_sh1_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		zunda_sh1_putc('\r');
+	}
+	zunda_sh1_putc(c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_config.h	(revision 26)
@@ -0,0 +1,166 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <zunda_sh1.h>
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"CEW ZUNDA_SH1"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼ã¯ã­ãã¯20MHzæã®å®æ¸¬å¤ãªã®ã§ãå®å
+¨å´ã«åãã¦ãããï¼
+ */
+#define	SIL_DLY_TIM1	1143
+#define	SIL_DLY_TIM2	 832
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_defs.h	(revision 26)
@@ -0,0 +1,112 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define ZUNDA_SH1			/* ã·ã¹ãã ç¥ç§° */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_SYS \
+"Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort(void)
+{
+	/*  æªå®è£
+  */
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort(void)
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.c	(revision 26)
@@ -0,0 +1,205 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+ *	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ */
+ 
+#include <s_services.h>
+#include "kernel_id.h"
+
+#include <sh1.h>
+#include "sys_support.h"
+
+/*
+ *  TINETä½¿ç¨æ
+ */
+#ifdef	SUPPORT_INET4
+#include <sh1_sil.h>
+#include <tinet_sys_config.h>
+/*
+ *  NIC (RTL8019AS) ã«é¢ããå®ç¾©
+ *  TINETä½¿ç¨ætinet_sys_config.h ã¸ç§»åãããã¨
+ */
+/*#define ED_BASE_ADDRESS	0x06000000	*/	/* NIC ã®ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+/*#define INHNO_IF_ED		IRQ5		*/	/* IRQ5 */
+/*#define ED_PRI		7		*/	/* åªå
+åº¦=7 */
+/*#define ED_LEVEL0		0		*/	/* å²è¾¼ã¿ç¦æ­¢  */
+/*#define ED_IPR		IPRB		*/	/* åªå
+åº¦ã¬ã¸ã¹ã¿å */
+/*#define ED_IPR_SHIFT		8		*/	/* åªå
+åº¦ã¬ã¸ã¹ã¿å
+ãããä½ç½® */
+#endif	/* SUPPORT_INET4 */
+
+/*
+ *  ROMICEä½¿ç¨ã®NMIã¾ã§ã®ROMãã¯ã¿ãã¼ãã«é å
+ */
+#define ROMVECT_START	0			/* ROMã®ãã¯ã¿ãã¼ãã«ã¯ï¼çªå°ãã 	*/
+#define ROMVECT_SIZE	((NMI+1)*sizeof(FP))	/* ROMã®ãã¯ã¿ãã¼ãã«ãµã¤ãº 		*/
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå _hardware_init_hook
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+void
+hardware_init_hook(void)
+{
+	/* WCR3:ã¦ã¨ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼
+	 * WPU=1    WAITç«¯å­ãã«ã¢ãã
+	 * A02LW=00 ã¨ãªã¢0,2ã1ã­ã³ã°ã¦ã§ã¤ã
+	 * A6LW=00  ã¨ãªã¢6  ã1ã­ã³ã°ã¦ã§ã¤ã
+	 */
+	sil_wrh_mem(BSC_WCR3, 0x8000); 
+	
+	/* BCR:ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+	 * DRANE=0   ã¨ãªã¢1ã¯å¤é¨ã¡ã¢ãªç©ºé
+	 * IOE=0     ã¨ãªã¢6ã¯å¤é¨ã¡ã¢ãªç©ºé
+	 * WARP=0    ãã¼ãã«ã¢ã¼ã:å¤é¨ã¢ã¯ã»ã¹ã¨å
+é¨ã¢ã¯ã»ã¹ãåæã«è¡ããªã
+	 * RDDTY=0   RDä¿¡å·HI T1ã®50%
+	 * BAS=0     WRH,WRL,A0ä¿¡å·æå¹
+	 */
+	sil_wrh_mem(BSC_BCR, 0x0000);
+	
+	/* WCR1:ã¦ã¨ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼
+	 * read cycle stateã§
+	 * waitç«¯å­ãµã³ãã«ããªã
+	 * RWx=0  ã¨ãªã¢1,3,4,5,7 1ã¹ãã¼ãåºå®
+	 * RWx=0  ã¨ãªã¢0,2,6 1ã¹ãã¼ã+ã­ã³ã°ã¦ã§ã¤ãï¼è¨3ã¹ãã¼ãï¼
+	 * WW1=1  ã¨ãªã¢1å¤é¨ã¡ã¢ãª 2ã¹ãã¼ã
+	 */
+	sil_wrh_mem(BSC_WCR1, 0x00ff);
+	
+	/* WCR2:ã¦ã¨ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼
+	 * DMAãªãã®ã§åæå¤ã®ã¾ã¾
+	 */
+	sil_wrh_mem(BSC_WCR2, 0xffff); 
+	
+	/*
+	 * ï¼°ï¼¡ãï¼°ï¼¢åºåãããã¡åæå
+	 */
+	sil_wrh_mem(PA_DR, VAL_PA_DR);
+	sil_wrh_mem(PB_DR, VAL_PB_DR); 
+
+	/*
+	 * ï¼°ï¼¡å
+¥åºååæåï¼sys_support.håç
+§ï¼
+	 */
+	sil_wrh_mem(PFC_PACR1, VAL_PFC_PACR1);
+	sil_wrh_mem(PFC_PACR2, VAL_PFC_PACR2);
+                                        
+	sil_wrh_mem(PFC_PAIOR, VAL_PFC_PAIOR);
+                    
+	sil_wrh_mem(PFC_PBCR1, VAL_PFC_PBCR1);
+	sil_wrh_mem(PFC_PBCR2, VAL_PFC_PBCR2);
+	sil_wrh_mem(PFC_PBIOR, VAL_PFC_PBIOR);
+
+	sil_wrh_mem(PFC_CASCR, VAL_PFC_CASCR);
+
+}
+
+/*
+ *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦ç software_init_hook
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã«ã¼ãã«ãèµ·åããåã«å¼ã³åºãããï¼
+ */
+#ifdef	PARTNER
+void
+software_init_hook(void)
+{
+	/*
+	 *  ROMICEä½¿ç¨æã«ROMãã¯ã¿ãã¼ãã«ãè»¢é
+	 */
+	extern FP vector_table[];
+	memcpy(vector_table, ROMVECT_START, ROMVECT_SIZE);
+}
+#endif
+
+/*
+ *  NIC ãã¼ãã¦ã§ã¢å²ãè¾¼ã¿è¨±å¯
+ *  TINETä½¿ç¨æå¿
+è¦
+ */
+#ifdef	SUPPORT_INET4
+void
+ed_ena_inter(void)
+{
+	SIL_PRE_LOC;
+	SIL_LOC_INT();
+	define_int_plevel(ED_IPR, ED_PRI, ED_IPR_SHIFT);// åªå
+åº¦=ED_PRI
+	SIL_UNL_INT();
+}
+
+/*
+ *  NIC ãã¼ãã¦ã§ã¢å²ãè¾¼ã¿ç¦æ­¢
+ *  TINETä½¿ç¨æå¿
+è¦
+ */
+void
+ed_dis_inter(void)
+{
+	SIL_PRE_LOC;
+	SIL_LOC_INT();
+	define_int_plevel(ED_IPR, ED_LEVEL0, ED_IPR_SHIFT);// åªå
+åº¦=0
+	SIL_UNL_INT();
+}
+#endif	/* SUPPORT_INET4 *//* end */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.h	(revision 26)
@@ -0,0 +1,424 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+#ifndef _SYS_SUPPORT_H_
+#define _SYS_SUPPORT_H_
+
+/*
+ *  ãã¼ãï¼¡ã»æ¡å¼µï¼©ï¼ï¼¯ã¸éæ¾ç«¯å­ã®å®ç¾©
+ *  ãã¹ã¦ãã«ã¢ãããã
+ */
+/*
+ *  PA15 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA15_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI15	*/
+#define	PA15_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO15	*/
+#define	PA15_IRQ3	0	/* å²ãè¾¼ã¿è¦æ±å
+¥å		IRQ3	*/
+#define	PA15_DREQ1	0	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±å
+¥å		DREQ1	*/
+
+/*
+ *  PA14 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA14_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI14	*/
+#define	PA14_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO14	*/
+#define	PA14_IRQ2	0	/* å²ãè¾¼ã¿è¦æ±å
+¥å 		IRQ2	*/
+#define	PA14_DACK1	0	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±åä»åºå	DACK1	*/
+
+/*
+ *  PA13 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA13_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI13	*/
+#define	PA13_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO13	*/
+#define	PA13_IRQ1	0	/* å²ãè¾¼ã¿è¦æ±å
+¥å 		IRQ1	*/
+#define	PA13_TCLKB	0	/* ï¼©ï¼´ï¼µã¿ã¤ãã¯ã­ãã¯å
+¥å	TCLKB	*/
+#define	PA13_DREQ0	0	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±å
+¥å		DREQ0	*/
+
+/*
+ *  PA12 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA12_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI12	*/
+#define	PA12_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO12	*/
+#define	PA12_IRQ0	0	/* å²ãè¾¼ã¿è¦æ±å
+¥å 		IRQ0	*/
+#define	PA13_TCLKA	0	/* ï¼©ï¼´ï¼µã¿ã¤ãã¯ã­ãã¯å
+¥å	TCLKA	*/
+#define	PA13_DACK0	0	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±åä»åºå	DACK0	*/
+
+/*
+ *  PA03 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA03_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI03	*/
+#define	PA03_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO03	*/
+#define	PA03_CS7	0	/* ãããã»ã¬ã¯ãï¼åºå		CS7	*/
+#define	PA03_WAIT	0	/* ã¦ã¨ã¤ãã¹ãã¼ãå
+¥å		WAIT	*/
+
+/*
+ *  PA01 é¸æããæ©è½ã 1 ã«ã»ãããã¦ãã ãã
+ */
+#define	PA01_PORT_IN	1	/* æ±ç¨å
+¥åãã¼ã		PI01	*/
+#define	PA01_PORT_OUT	0	/* æ±ç¨åºåãã¼ã		PO01	*/
+#define	PA01_CS5	0	/* ãããã»ã¬ã¯ãï¼åºå		CS5	*/
+#define	PA01_RAS	0	/* ã­ã¦ã¢ãã¬ã¹ã¹ãã­ã¼ãåºå	RAS	*/
+
+/*####################################################
+ *
+ *  ä»¥ä¸ç·¨éããªããã¨
+ *
+ *####################################################*/
+/*
+ *  ï¼°ï¼¡ãï¼°ï¼¢åºåãããã¡åæå¤
+ *  ä¸ã®ãã³ãã¡ã³ã¯ã·ã§ã³å®ç¾©ãåç
+§ãã¦ãã ãã
+ */
+#define	VAL_PA_DR 	(1<<10 | 1<<9 | 1<<8)	/* RTC-4553-CS=1,RTC-4553-WR=1,LEDCTL1=1(off) */
+#define	VAL_PB_DR 	(1<<11 | 1<<9 | 1<<6)	/* TXD1=1,TXD0=1,LEDCTL2=1(off) */
+
+/*
+ *  PA åºå®æ©è½ï¼PA15,14,13,12,03,01ãé¤ãï¼
+ *
+ *  PNO  I/O PAIOR  PACR1/2
+ *  PA15 IN   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA14 IN   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA13 IN   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA12 IN   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA11 IN   [0]    [00] â RTC-4553-SOUT
+ *  PA10 OUT  [1]    [00] â RTC-4553-CS[active-low]
+ *  PA09 OUT  [1]    [00] â RTC-4553-WR[active-low]
+ *  PA08 OUT  [1]    [10] â LEDCTL1 LED1å¶å¾¡[active-low]
+ *  PA07 IN   [0]    [10] â æªä½¿ç¨
+ *  PA06 â   [0]    [11] â RD ã«å²ãå½ã¦â
+ *  PA05 OUT  [1]    [10] â WD-PULSE ã¦ã©ããããã¯ãªã»ãããã«ã¹ââï¼¿ã«ã¦
+ *  PA04 â   [0]    [11] â WR ã«å²ãå½ã¦
+ *  PA03 â   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA02 â   [0]    [01] â CS6 ã«å²ãå½ã¦ï¼ï¼¬ï¼¡ï¼®ã³ã³ãã­ã¼ã©ç¨ï¼
+ *  PA01 â   [0]    [00] â æ¡å¼µï¼©ï¼ï¼¯ã«éæ¾
+ *  PA00 â   [0]    [01] â CS4 ã«å²ãå½ã¦ï¼ROMICE ç¨ï¼
+ */
+#define	PAIOR_BASE	0x0720
+#define	PACR1_BASE	0x0002
+#define	PACR2_BASE	0xbb11
+
+#if PA15_PORT_IN == 1
+#define	PA15MD			0	/* æ±ç¨å
+¥åãã¼ã		PI15	*/
+#define	PA15IOR			0
+#endif
+#if PA15_PORT_OUT == 1
+#ifdef PA15MD
+#error : 'PA15MD' redefined.
+#endif
+#define	PA15MD			0	/* æ±ç¨åºåãã¼ã		PO15	*/
+#define	PA15IOR			1
+#endif
+#if PA15_IRQ3 == 1
+#ifdef PA15MD
+#error : 'PA15MD' redefined.
+#endif
+#define	PA15MD			1	/* å²ãè¾¼ã¿è¦æ±å
+¥å		IRQ3	*/
+#define	PA15IOR			0
+#endif
+#if PA15_DREQ1 == 1
+#ifdef PA15MD
+#error : 'PA15MD' redefined.
+#endif
+#define	PA15MD			3	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±å
+¥å		DREQ1	*/
+#define	PA15IOR			0
+#endif
+#ifndef	PA15MD
+#error : 'PA15MD' is not set up.
+#endif
+
+#if PA14_PORT_IN == 1
+#define	PA14MD			0	/* æ±ç¨å
+¥åãã¼ã		PI14	*/
+#define	PA14IOR			0
+#endif
+#if PA14_PORT_OUT == 1
+#ifdef PA14MD
+#error : 'PA14MD' redefined.
+#endif
+#define	PA14MD			0	/* æ±ç¨åºåãã¼ã		PO14	*/
+#define	PA14IOR			1
+#endif
+#if PA14_IRQ2 == 1
+#ifdef PA14MD
+#error : 'PA14MD' redefined.
+#endif
+#define	PA14MD			1	/* å²ãè¾¼ã¿è¦æ±å
+¥å		IRQ2	*/
+#define	PA14IOR			0
+#endif
+#if PA14_DACK1 == 1
+#ifdef PA14MD
+#error : 'PA14MD' redefined.
+#endif
+#define	PA14MD			3	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±åä»åºå	DACK1	*/
+#define	PA14IOR			0
+#endif
+#ifndef PA14MD
+#error : 'PA14MD' is not set up.
+#endif
+
+#if PA13_PORT_IN == 1
+#define	PA13MD			0	/* æ±ç¨å
+¥åãã¼ã		PI13	*/
+#define	PA13IOR			0
+#endif
+#if PA13_PORT_OUT == 1
+#ifdef PA13MD
+#error : 'PA13MD' redefined.
+#endif
+#define	PA13MD			0	/* æ±ç¨åºåãã¼ã		PO13	*/
+#define	PA13IOR			1
+#endif
+#if PA13_IRQ1 == 1
+#ifdef PA13MD
+#error : 'PA13MD' redefined.
+#endif
+#define	PA13MD			1	/* å²ãè¾¼ã¿è¦æ±å
+¥å		IRQ1	*/
+#define	PA13IOR			0
+#endif
+#if PA13_TCLKB == 1
+#ifdef PA13MD
+#error : 'PA13MD' redefined.
+#endif
+#define	PA13MD			2	/* ï¼©ï¼´ï¼µã¿ã¤ãã¯ã­ãã¯å
+¥å	TCLKB	*/
+#define	PA13IOR			0
+#endif
+#if PA13_DREQ0 == 1
+#ifdef PA13MD
+#error : 'PA13MD' redefined.
+#endif
+#define	PA13MD			3	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±å
+¥å		DREQ0	*/
+#define	PA13IOR			0
+#endif
+#ifndef PA13MD
+#error : 'PA13MD' is not set up.
+#endif
+
+#if PA12_PORT_IN == 1
+#define	PA12MD			0	/* æ±ç¨å
+¥åãã¼ã		PI12	*/
+#define	PA12IOR			0
+#endif
+#if PA12_PORT_OUT == 1
+#ifdef PA12MD
+#error : 'PA12MD' redefined.
+#endif
+#define	PA12MD			0	/* æ±ç¨åºåãã¼ã		PO12	*/
+#define	PA12IOR			1
+#endif
+#if PA12_IRQ0 == 1
+#ifdef PA12MD
+#error : 'PA12MD' redefined.
+#endif
+#define	PA12MD			1	/* å²ãè¾¼ã¿è¦æ±å
+¥å		IRQ0	*/
+#define	PA12IOR			0
+#endif
+#if PA13_TCLKA == 1
+#ifdef PA12MD
+#error : 'PA12MD' redefined.
+#endif
+#define	PA12MD			2	/* ï¼©ï¼´ï¼µã¿ã¤ãã¯ã­ãã¯å
+¥å	TCLKA	*/
+#define	PA12IOR			0
+#endif
+#if PA13_DACK0 == 1
+#ifdef PA12MD
+#error : 'PA12MD' redefined.
+#endif
+#define	PA12MD			3	/* ï¼¤ï¼­ï¼¡è»¢éè¦æ±åä»åºå	DACK0	*/
+#define	PA12IOR			0
+#endif
+#ifndef PA12MD
+#error : 'PA12MD' is not set up.
+#endif
+
+#if PA03_PORT_IN == 1
+#define	PA03MD			0	/* æ±ç¨å
+¥åãã¼ã		PI03	*/
+#define	PA03IOR			0
+#endif
+#if PA03_PORT_OUT == 1
+#ifdef PA03MD
+#error : 'PA03MD' redefined.
+#endif
+#define	PA03MD			0	/* æ±ç¨åºåãã¼ã		PO03	*/
+#define	PA03IOR			1
+#endif
+#if PA03_CS7 == 1
+#ifdef PA03MD
+#error : 'PA03MD' redefined.
+#endif
+#define	PA03MD			1	/* ãããã»ã¬ã¯ãï¼åºå		CS7	*/
+#define	PA03IOR			0
+#endif
+#if PA03_WAIT == 1
+#ifdef PA03MD
+#error : 'PA03MD' redefined.
+#endif
+#define	PA03MD			2	/* ã¦ã¨ã¤ãã¹ãã¼ãå
+¥å		WAIT	*/
+#define	PA03IOR			0
+#endif
+#ifndef PA03MD
+#error : 'PA03MD' is not set up.
+#endif
+
+#if PA01_PORT_IN == 1
+#define	PA01MD			0	/* æ±ç¨å
+¥åãã¼ã		PI01	*/
+#define	PA01IOR			0
+#endif
+#if PA01_PORT_OUT == 1
+#ifdef PA01MD
+#error : 'PA01MD' redefined.
+#endif
+#define	PA01MD			0	/* æ±ç¨åºåãã¼ã		PO01	*/
+#define	PA01IOR			1
+#endif
+#if PA01_CS5 == 1
+#ifdef PA01MD
+#error : 'PA01MD' redefined.
+#endif
+#define	PA01MD			1	/* ãããã»ã¬ã¯ãï¼åºå		CS5	*/
+#define	PA01IOR			0
+#endif
+#if PA01_RAS == 1
+#ifdef PA01MD
+#error : 'PA01MD' redefined.
+#endif
+#define	PA01MD			2	/* ã­ã¦ã¢ãã¬ã¹ã¹ãã­ã¼ãåºå	RAS	*/
+#define	PA01IOR			0
+#endif
+#ifndef PA01MD
+#error : 'PA01MD' is not set up.
+#endif
+
+/*
+ *  ãã¼ãï¼¡ãã³ãã¡ã³ã¯ã·ã§ã³å®ç¾©
+ */
+#define VAL_PFC_PAIOR   (PAIOR_BASE | PA15IOR<<15 | PA14IOR<<14 | PA13IOR<<13 | PA12IOR<<12 | PA03IOR<<3 | PA01IOR<<1)
+#define VAL_PFC_PACR1   (PACR1_BASE | PA15MD<<14  | PA14MD<<12  | PA13MD<<10  | PA12MD<<8)
+#define VAL_PFC_PACR2   (PACR2_BASE | PA03MD<<6   | PA01MD<<2)
+
+/*
+ *  ãã¼ãï¼¢ãã³ãã¡ã³ã¯ã·ã§ã³å®ç¾©
+ */
+#define VAL_PFC_PBIOR   0x107b
+#define VAL_PFC_PBCR1   0x14aa
+#define VAL_PFC_PBCR2   0x0000
+ /*
+ *  PNO  I/O PBIOR  PBCR1/2
+ *  PB15 IN   [0]    [00] â æªä½¿ç¨ IRQ7 ã«å²ãå½ã¦ï¼ï¼²ï¼´ï¼£ç¨ï¼
+ *  PB14 â   [0]    [01] â IRQ6 ã«å²ãå½ã¦ï¼ï¼µï¼³ï¼¢ã³ã³ãã­ã¼ã©ç¨ï¼
+ *  PB13 â   [0]    [01] â IRQ5 ã«å²ãå½ã¦ï¼ï¼¬ï¼¡ï¼®ã³ã³ãã­ã¼ã©ç¨ï¼
+ *  PB12 OUT  [1]    [00] â LEDCTL3 LED3 å¶å¾¡[active-low]
+ *  PB11 â   [0]    [10] â TDX1 ã«å²ãå½ã¦ï¼RS485 ãã¼ã¿åºåï¼
+ *  PB10 â   [0]    [10] â RDX1 ã«å²ãå½ã¦ï¼RS485 ãã¼ã¿å
+¥åï¼
+ *  PB09 â   [0]    [10] â TDX0 ã«å²ãå½ã¦ï¼RS-232C ãã¼ã¿åºåï¼
+ *  PB08 â   [0]    [10] â RDX0 ã«å²ãå½ã¦ï¼RS-232C ãã¼ã¿å
+¥åï¼
+ *  PB07 IN   [0]    [00] â ã·ãªã¢ã«EEPROM-DO
+ *  PB06 OUT  [1]    [00] â LEDCTL2 LED2 å¶å¾¡[active-low]
+ *  PB05 OUT  [1]    [00] â TXE0 RS485 éä¿¡ã¤ãã¼ãã«åºåéä¿¡åæ­¢
+ *  PB04 OUT  [1]    [00] â ã·ãªã¢ã«EEPROM-CS[active-high]
+ *  PB03 OUT  [1]    [00] â CTS0 RS232C ã®CTS ä¿¡å·ï¼æªå®è£
+ï¼
+ *  PB02 IN   [0]    [00] â RTS0 RS232C ã®RTS ä¿¡å·ï¼æªå®è£
+ï¼
+ *  PB01 OUT  [1]    [00] â ã·ãªã¢ã«EEPROM-SKãRTC-4553-SCK
+ *  PB00 OUT  [1]    [00] â ã·ãªã¢ã«EEPROM-DIãRTC-4553-SIN
+ *
+ *  PBIOR=0x107b
+ *  PBCR1=0x14aa
+ *  PBCR2=0x0000
+ *
+ */
+
+/*
+ *  ã«ã©ã ã¢ãã¬ã¹ã¹ãã­ã¼ããã³ã³ã³ãã­ã¼ã«å®ç¾©
+ */
+#define VAL_PFC_CASCR   0x5fff
+
+#ifndef _MACRO_ONLY
+/*
+ * é¢æ°å®£è¨
+ */
+void	software_init_hook(void);
+void	hardware_init_hook(void);
+
+#endif /* _MACRO_ONLY */
+#endif	/* _SYS_SUPPORT_H_ */
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/user_config.h	(revision 26)
@@ -0,0 +1,253 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *  ã¡ã¢ãªå®è£
+ã¿ã¤ããFROM,SRAMãããã2ç¨®é¡ãã
+ *  FROM
+ *  ï¼ï¼0x0000,0000 - 0x0007,ffff  ã³ã¼ãé å(512KB)
+ *  ï¼ï¼0x0000,0000 - 0x0003,ffff  ã³ã¼ãé å(256KB)
+ *  SRAM
+ *  ï¼ï¼0x0200,0000 -              ãã¼ã¿é å(512KB)
+ *                  - 0x0207,ffff  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ ã¡ã¢ãªçµäº
+ *  ï¼ï¼0x0200,0000 -              ãã¼ã¿é å(128KB)
+ *                  - 0x0201,ffff  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ ã¡ã¢ãªçµäº
+ *
+ *  ãã ãã³ã¼ãé åã®0x0000ã0xFFFFã«FROMæ¸è¾¼ã¿ãã­ã°ã©ã å
+èµã®ãã
+ *  ã¦ã¼ã¶ã¼ä½¿ç¨å¯è½é åã¯0x10000ããã¨ãªã
+ */
+/*
+ * SRAMã®ã¹ã¢ã¼ã«ã¿ã¤ãããå©ç¨ã®å ´åã¯ LARGE_TYPE ãã³ã¡ã³ãã¢ã¦ããã¦ä¸ãã
+ * MAKEFILEã§å®ç¾©ãã¦ãè¯ã
+ */
+//#define	LARGE_TYPE
+
+/*
+ *  å¤ãæã¤ãã¯ã­ã®å®ç¾©
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ *	éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#ifdef	LARGE_TYPE
+#define STACKTOP    	0x02080000
+#else
+#define STACKTOP    	0x02020000
+#endif	/* LARGE_TYPE */
+
+/*
+ *  ã¯ã­ãã¯å¨æ³¢æ°
+ */
+#define	CONFIG_19MHZ	/*  19.6608MHz  */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 	2	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+#define	TNUM_SIOP 	2	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	CONSOLE_PORTID	1	/*  æ¬æ©ç¨®ã§ã¯ï¼ã«åºå®  */
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ãï¼ãã¼ã1ï¼
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+//#define	CONFIG_BAUD	9600
+//#define	CONFIG_BAUD	19200
+#define	CONFIG_BAUD	38400
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ãï¼ãã¼ã2ï¼
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+//#define	CONFIG_BAUD_2	9600
+//#define	CONFIG_BAUD_2	19200
+#define	CONFIG_BAUD_2	38400
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define SCI_INTLVL	6	/*  éåä¿¡å
+±ç¨  */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+#define	INNER_RAM_ADDRESS	0x10000000
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+#endif /* _USER_CONFIG_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/zunda_sh1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/zunda_sh1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/zunda_sh1.h	(revision 26)
@@ -0,0 +1,368 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+/*
+ *  (æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãç¨
+ *  ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _ZUNDA_SH1_H_
+#define _ZUNDA_SH1_H_
+
+/* ï¼³ï¼£ï¼©ãã£ãã«ï¼ */
+#if 0 /* sh1sci2.cã«å®ç¾©ããã¦ãã */
+#define SCI_SMR0	((VH *)0x5fffec0)	/* ã·ãªã¢ã«ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define SCI_BRR0	((VH *)0x5fffec1)	/* ãããã¬ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define SCI_SCR0	((VH *)0x5fffec2)	/* ã·ãªã¢ã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define SCI_TDR0	((VH *)0x5fffec3)	/* ãã©ã³ã¹ãããã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define SCI_SSR0	((VH *)0x5fffec4)	/* ã·ãªã¢ã«ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define SCI_RDR0	((VH *)0x5fffec5)	/* ã¬ã·ã¼ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+
+/* ï¼³ï¼£ï¼©ãã£ãã«ï¼ */
+#define SCI_SMR1	((VH *)0x5fffec8)	/* ã·ãªã¢ã«ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define SCI_BRR1	((VH *)0x5fffec9)	/* ãããã¬ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define SCI_SCR1	((VH *)0x5fffeca)	/* ã·ãªã¢ã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define SCI_TDR1	((VH *)0x5fffecb)	/* ãã©ã³ã¹ãããã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define SCI_SSR1	((VH *)0x5fffecc)	/* ã·ãªã¢ã«ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define SCI_RDR1	((VH *)0x5fffecd)	/* ã¬ã·ã¼ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#endif	/* sh1sci2.c */
+
+#define PBCR1_TD1_RD1_MASK	~0xf0u		/*  TxD1,RxD1ç«¯å­è¨­å®ç¨ãã¹ã¯	*/
+#define PBCR1_TD1 		0x80u		/*  TxD1ç«¯å­è¨­å®ç¨ãã¯ã­  	*/
+#define PBCR1_RD1 		0x20u		/*  RxD1ç«¯å­è¨­å®ç¨ãã¯ã­  	*/
+
+/* ï¼¡ï¼ï¼¤ */
+#define AD_DRAH		((VH *)0x5fffee0)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¡ Hï¼ããã9ã2ï¼*/
+#define AD_DRAL		((VH *)0x5fffee1)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¡ Lï¼ããã1ã0ï¼*/
+#define AD_DRBH		((VH *)0x5fffee2)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¢ Hï¼ããã9ã2ï¼*/
+#define AD_DRBL		((VH *)0x5fffee3)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¢ Lï¼ããã1ã0ï¼*/
+#define AD_DRCH		((VH *)0x5fffee4)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼£ Hï¼ããã9ã2ï¼*/
+#define AD_DRCL		((VH *)0x5fffee5)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼£ Lï¼ããã1ã0ï¼*/
+#define AD_DRDH		((VH *)0x5fffee6)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¤ Hï¼ããã9ã2ï¼*/
+#define AD_DRDL		((VH *)0x5fffee7)	/* A/D ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¤ Lï¼ããã1ã0ï¼*/
+#define AD_CSR		((VH *)0x5fffee8)	/* A/D ã³ã³ãã­ã¼ã«ï¼ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define AD_CR		((VH *)0x5fffee9)	/* A/D ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ 		 */
+#define	ADF			0x80		/* ADF				*/
+#define	ADST			0x20		/* A/D start			*/
+
+#if 0 /* sh1itu.hã«å®ç¾©ããã¦ãã */
+/* ï¼©ï¼´ï¼µå
+±é */
+#define ITU_TSTR	((VH *)0x5ffff00)	/* ã¿ã¤ãã»ã¹ã¿ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define ITU_TSNC	((VH *)0x5ffff01)	/* ã¿ã¤ãã»ã·ã³ã¯ã­ã»ã¬ã¸ã¹ã¿ */
+#define ITU_TMDR	((VH *)0x5ffff02)	/* ã¿ã¤ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ 	*/
+#define ITU_TFCR	((VH *)0x5ffff03)	/* ã¿ã¤ãã»ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define ITU_TOER	((VH *)0x5ffff31)	/* ã¿ã¤ãã»ã¢ã¦ããããã»ãã¹ã¿ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿ */
+
+/* ï¼©ï¼´ï¼µãã£ãã«ï¼ */
+#define ITU_TCR0	((VH *)0x5ffff04)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 		*/
+#define ITU_TIOR0	((VH *)0x5ffff05)	/* ã¿ã¤ãï¼©ï¼ï¼¯ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 	*/
+#define ITU_TIER0	((VH *)0x5ffff06)	/* ã¿ã¤ãã»ã¤ã³ã¿ã©ããã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿0 */
+#define ITU_TSR0	((VH *)0x5ffff07)	/* ã¿ã¤ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿0 */
+#define ITU_TCNT0	((VH *)0x5ffff08)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿0 */
+#define ITU_GRA0	((VH *)0x5ffff0a)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¡0 */
+#define ITU_GRB0	((VH *)0x5ffff0c)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¢0 */
+#endif /* sh1itu.h */
+
+/* ï¼©ï¼´ï¼µãã£ãã«ï¼ */
+#define ITU_TCR1	((VH *)0x5ffff0e)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define ITU_TIOR1	((VH *)0x5ffff0f)	/* ã¿ã¤ãï¼©ï¼ï¼¯ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define ITU_TIER1	((VH *)0x5ffff10)	/* ã¿ã¤ãã»ã¤ã³ã¿ã©ããã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿1 */
+#define ITU_TSR1	((VH *)0x5ffff11)	/* ã¿ã¤ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿1 */
+#define ITU_TCNT1	((VH *)0x5ffff12)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿1 */
+#define ITU_GRA1	((VH *)0x5ffff14)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¡1 */
+#define ITU_GRB1	((VH *)0x5ffff16)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¢1 */
+
+/* ï¼©ï¼´ï¼µãã£ãã«ï¼ */
+#define ITU_TCR2	((VH *)0x5ffff18)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2  */
+#define ITU_TIOR2	((VH *)0x5ffff19)	/* ã¿ã¤ãï¼©ï¼ï¼¯ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2  */
+#define ITU_TIER2	((VH *)0x5ffff1a)	/* ã¿ã¤ãã»ã¤ã³ã¿ã©ããã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿2  */
+#define ITU_TSR2	((VH *)0x5ffff1b)	/* ã¿ã¤ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿2  */
+#define ITU_TCNT2	((VH *)0x5ffff1c)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿2  */
+#define ITU_GRA2	((VH *)0x5ffff1e)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¡2 */
+#define ITU_GRB2	((VH *)0x5ffff20)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¢2 */
+
+/* ï¼©ï¼´ï¼µãã£ãã«ï¼ */
+#define ITU_TCR3	((VH *)0x5ffff22)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿3 */
+#define ITU_TIOR3	((VH *)0x5ffff23)	/* ã¿ã¤ãï¼©ï¼ï¼¯ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿3 */
+#define ITU_TIER3	((VH *)0x5ffff24)	/* ã¿ã¤ãã»ã¤ã³ã¿ã©ããã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿3 */
+#define ITU_TSR3	((VH *)0x5ffff25)	/* ã¿ã¤ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿3 */
+#define ITU_TCNT3	((VH *)0x5ffff26)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿3 */
+#define ITU_GRA3	((VH *)0x5ffff28)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¡3 */
+#define ITU_GRB3	((VH *)0x5ffff2a)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¢3 */
+#define ITU_BRA3	((VH *)0x5ffff2c)	/* ãããã¡ã»ã¬ã¸ã¹ã¿ï¼¡3 */
+#define ITU_BRB3	((VH *)0x5ffff2e)	/* ãããã¡ã»ã¬ã¸ã¹ã¿ï¼¢3 */
+
+/* ï¼©ï¼´ï¼µãã£ãã«ï¼ */
+#define ITU_TCR4	((VH *)0x5ffff32)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿4 */
+#define ITU_TIOR4	((VH *)0x5ffff33)	/* ã¿ã¤ãï¼©ï¼ï¼¯ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿4 */
+#define ITU_TIER4	((VH *)0x5ffff34)	/* ã¿ã¤ãã»ã¤ã³ã¿ã©ããã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿4 */
+#define ITU_TSR4	((VH *)0x5ffff35)	/* ã¿ã¤ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿4 */
+#define ITU_TCNT4	((VH *)0x5ffff36)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿4 */
+#define ITU_GRA4	((VH *)0x5ffff38)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¡4 */
+#define ITU_GRB4	((VH *)0x5ffff3a)	/* ã¸ã§ãã©ã«ã»ã¬ã¸ã¹ã¿ï¼¢4 */
+#define ITU_BRA4	((VH *)0x5ffff3c)	/* ãããã¡ã»ã¬ã¸ã¹ã¿ï¼¡4 */
+#define ITU_BRB4	((VH *)0x5ffff3e)	/* ãããã¡ã»ã¬ã¸ã¹ã¿ï¼¢4 */
+
+/* ï¼©ï¼´ï¼µ */
+#if 0 /* sh1itu.hã«å®ç¾©ããã¦ãã */
+#ifndef	TSR_IMFA
+#define TSR_IMFA	0x0001			/* GRAã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£ãã©ã°A */
+#endif
+#endif /* sh1itu.h */
+
+#ifndef	TSR_IMFB
+#define TSR_IMFB	0x0002			/* GRBã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£ãã©ã°B */
+#endif
+#define TSR_OVF	 	0x0004				/* ãªã¼ãã¼ãã­ã¼ãã©ã° */
+
+/* ï¼¤ï¼­ï¼¡ï¼£å
+±é */
+#define DMAC_DMAOR	((VH *)0x5ffff48)		/* DMA ãªãã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+
+/* ï¼¤ï¼­ï¼¡ï¼£ãã£ãã«ï¼ */
+#define DMAC_SAR0	((VH *)0x5ffff40)	/* DMA ã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0 */
+#define DMAC_DAR0	((VH *)0x5ffff44)	/* DMA ãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0 */
+#define DMAC_TCR0	((VH *)0x5ffff4a)	/* DMA ãã©ã³ã¹ãã¡ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿0 */
+#define DMAC_CHCR0	((VH *)0x5ffff4e)		/* DMA ãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+
+/* ï¼¤ï¼­ï¼¡ï¼£ãã£ãã«ï¼ */
+#define DMAC_SAR1	((VH *)0x5ffff50)	/* DMA ã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1 */
+#define DMAC_DAR1	((VH *)0x5ffff54)	/* DMA ãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1 */
+#define DMAC_TCR1	((VH *)0x5ffff5a)	/* DMA ãã©ã³ã¹ãã¡ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿1 */
+#define DMAC_CHCR1	((VH *)0x5ffff5e)		/* DMA ãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+/* ï¼¤ï¼­ï¼¡ï¼£ãã£ãã«ï¼ */
+
+#define DMAC_SAR2	((VH *)0x5ffff60)	/* DMA ã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2 */
+#define DMAC_DAR2	((VH *)0x5ffff64)	/* DMA ãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2 */
+#define DMAC_TCR2	((VH *)0x5ffff6a)	/* DMA ãã©ã³ã¹ãã¡ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿2 */
+#define DMAC_CHCR2	((VH *)0x5ffff6e)		/* DMA ãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+
+/* ï¼¤ï¼­ï¼¡ï¼£ãã£ãã«ï¼ */
+#define DMAC_SAR3	((VH *)0x5ffff70)	/* DMA ã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3 */
+#define DMAC_DAR3	((VH *)0x5ffff74)	/* DMA ãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3 */
+#define DMAC_TCR3	((VH *)0x5ffff7a)	/* DMA ãã©ã³ã¹ãã¡ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿3 */
+#define DMAC_CHCR3	((VH *)0x5ffff7e)		/* DMA ãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿3 */
+
+/* å²è¾¼ã¿ã³ã³ãã­ã¼ã© */
+#define INTC_IPRA	((VH *)0x5ffff84)	/* å²è¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ï¼¡ */
+#define INTC_IPRB	((VH *)0x5ffff86)	/* å²è¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ï¼¢ */
+#define INTC_IPRC	((VH *)0x5ffff88)	/* å²è¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ï¼£ */
+#define INTC_IPRD	((VH *)0x5ffff8a)	/* å²è¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ï¼¤ */
+#define INTC_IPRE	((VH *)0x5ffff8c)	/* å²è¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ï¼¥ */
+#define INTC_ICR	((VH *)0x5ffff8e)	/* å²è¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+
+/* ã¦ã¼ã¶ãã¬ã¼ã¯ã»ã³ã³ãã­ã¼ã© */
+#define UBC_BARH	((VH *)0x5ffff90)	/* ãã¬ã¼ã¯ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ï¼¨ */
+#define UBC_BARL	((VH *)0x5ffff92)	/* ãã¬ã¼ã¯ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ï¼¬ */
+#define UBC_BAMRH	((VH *)0x5ffff94)	/* ãã¬ã¼ã¯ã»ã¢ãã¬ã¹ã»ãã¹ã¯ã»ã¬ã¸ã¹ã¿ï¼¨ */
+#define UBC_BAMRL	((VH *)0x5ffff96)	/* ãã¬ã¼ã¯ã»ã¢ãã¬ã¹ã»ãã¹ã¯ã»ã¬ã¸ã¹ã¿ï¼¬ */
+#define UBC_BBR		((VH *)0x5ffff98)	/* ãã¬ã¼ã¯ã»ãã¹ãµã¤ã¯ã«ã»ã¬ã¸ã¹ã¿ */
+
+/* ãã¹ã»ã³ã³ãã­ã¼ã© */
+#define BSC_BCR		((VH *)0x5ffffa0)	/* ãã¹ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define BSC_WCR1	((VH *)0x5ffffa2)	/* ã¦ã§ã¤ãã»ã¹ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define BSC_WCR2	((VH *)0x5ffffa4)	/* ã¦ã§ã¤ãã»ã¹ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define BSC_WCR3	((VH *)0x5ffffa6)	/* ã¦ã§ã¤ãã»ã¹ãã¼ãå¶å¾¡ã¬ã¸ã¹ã¿3 */
+#define BSC_DCR		((VH *)0x5ffffa8)	/* DRAM ã¨ãªã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define BSC_PCR		((VH *)0x5ffffaa)	/* DRAM ããªãã£ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define BSC_RCR		((VH *)0x5ffffac)	/* ãªãã¬ãã·ã¥ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define BSC_RTCSR	((VH *)0x5ffffae)	/* ãªãã¬ãã·ã¥ã»ã¿ã¤ãã»ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define BSC_RTCNT	((VH *)0x5ffffb0)	/* ãªãã¬ãã·ã¥ã»ã¿ã¤ãã»ã«ã¦ã³ã¿ */
+#define BSC_RTCOR	((VH *)0x5ffffb2)	/* ãªãã¬ãã·ã¥ã»ã¿ã¤ã ã³ã³ã¹ã¿ã³ãã»ã¬ã¸ã¹ã¿ */
+
+/* ï¼·ï¼¤ï¼´ */
+#define WDT_TCSR	((VH *)0x5ffffb8)	/* ã¿ã¤ãã»ã³ã³ãã­ã¼ã«ï¼ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define WDT_TCNT	((VH *)0x5ffffb8)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿ï¼ã©ã¤ãï¼*/
+#define WDT_TCNT_R	((VH *)0x5ffffb9)	/* ã¿ã¤ãã»ã«ã¦ã³ã¿ï¼ãªã¼ãï¼*/
+#define WDT_RSTCSR	((VH *)0x5ffffba)	/* ãªã»ããã»ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ï¼ã©ã¤ãï¼*/
+#define WDT_RSTCSR_R	((VH *)0x5ffffbb)		/* ãªã»ããã»ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ï¼ãªã¼ãï¼*/
+
+/* ä½æ¶è²»é»å */
+#define SYS_SBYCR	((VH *)0x5ffffbc)	/* ã¹ã¿ã³ãã¤ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+
+/* ãã¼ãï¼¡ãï¼£ */
+#define PA_DR		((VH *)0x5ffffc0)	/* ãã¼ãï¼¡ ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define PB_DR		((VH *)0x5ffffc2)	/* ãã¼ãï¼¢ ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define PC_DR		((VH *)0x5ffffd0)	/* ãã¼ãï¼£ ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+
+#define PB_RTS0		(1<<2)  		/* RTS0 å
+¥åç«¯å­ï¼PB2ï¼*/
+#define PB_CTS0		(1<<3)  		/* CTS0 åºåç«¯å­ï¼PB3ï¼*/
+#define PB_TXE1		(1<<5)  		/* TXE1 åºåç«¯å­ï¼PB5ï¼*/
+#define PB_RXD0		(1<<8)  		/* RxD0 å
+¥åç«¯å­ï¼PB8ï¼*/
+#define PB_TXD0		(1<<9)  		/* TxD0 åºåç«¯å­ï¼PB9ï¼*/
+#define PB_RXD1		(1<<10) 		/* RxD1 å
+¥åç«¯å­ï¼PB10ï¼*/
+#define PB_TXD1		(1<<11)			/* TxD1 åºåç«¯å­ï¼PB11ï¼*/
+
+/* ãã³ã»ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã© */
+#define PFC_PAIOR	((VH *)0x5ffffc4)	/* ãã¼ãï¼¡ ï¼©ï¼¯ã¬ã¸ã¹ã¿ */
+#define PFC_PBIOR	((VH *)0x5ffffc6)	/* ãã¼ãï¼¢ ï¼©ï¼¯ã¬ã¸ã¹ã¿ */
+#define PFC_PACR1	((VH *)0x5ffffc8)	/* ãã¼ãï¼¡ ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define PFC_PACR2	((VH *)0x5ffffca)	/* ãã¼ãï¼¡ ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+#define PFC_PBCR1	((VH *)0x5ffffcc)	/* ãã¼ãï¼¢ ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define PFC_PBCR2	((VH *)0x5ffffce)	/* ãã¼ãï¼¢ ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+#define PFC_CASCR	((VH *)0x5ffffee)	/* ã«ã©ã ã¢ãã¬ã¹ã»ã¹ãã­ã¼ãã»ãã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+
+/* ï¼´ï¼°ï¼£ */
+#define TPC_TPMR	((VH *)0x5fffff0)	/* TPC åºåã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define TPC_TPCR	((VH *)0x5fffff1)	/* TPC åºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define TPC_NDERB	((VH *)0x5fffff2)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿ï¼¢ */
+#define TPC_NDERA	((VH *)0x5fffff3)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿ï¼¡ */
+#define TPC_NDRB	((VH *)0x5fffff4)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¢ */
+#define TPC_NDRA	((VH *)0x5fffff5)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¡ */
+#define TPC_NDRB_2	((VH *)0x5fffff6)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¢ï¼åºåããªã¬ç°ãªãæï¼*/
+#define TPC_NDRA_2	((VH *)0x5fffff7)	/* ãã¯ã¹ãã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ï¼¡ï¼åºåããªã¬ç°ãªãæï¼*/
+
+/* å²è¾¼ã¿ãã¯ã¿çªå· */
+#define INT_NMI		11		/* NMI */
+#define INT_UB		12		/* ã¦ã¼ã¶ãã¬ã¼ã¯ */
+#define INT_IRQ0	64		/* å¤é¨ç«¯å­ IRQ0 */
+#define INT_IRQ1	65		/* å¤é¨ç«¯å­ IRQ1 */
+#define INT_IRQ2	66		/* å¤é¨ç«¯å­ IRQ2 */
+#define INT_IRQ3	67		/* å¤é¨ç«¯å­ IRQ3 */
+#define INT_IRQ4	68		/* å¤é¨ç«¯å­ IRQ4 */
+#define INT_IRQ5	69		/* å¤é¨ç«¯å­ IRQ5 */
+#define INT_IRQ6	70		/* å¤é¨ç«¯å­ IRQ6 */
+#define INT_IRQ7	71		/* å¤é¨ç«¯å­ IRQ7 */
+#define INT_DEI0	72		/* DMAC ãã£ãã«0 */
+#define INT_DEI1	74		/* DMAC ãã£ãã«1 */
+#define INT_DEI2	76		/* DMAC ãã£ãã«2 */
+#define INT_DEI3	78		/* DMAC ãã£ãã«3 */
+#define INT_IMIA0	80		/* ITU ãã£ãã«0 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£A0 */
+#define INT_IMIB0	81		/* ITU ãã£ãã«0 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£B0 */
+#define INT_OVI0	82		/* ITU ãã£ãã«0 ãªã¼ããã­ã¼0 */
+#define INT_IMIA1	84		/* ITU ãã£ãã«1 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£A1 */
+#define INT_IMIB1	85		/* ITU ãã£ãã«1 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£B1 */
+#define INT_OVI1	86		/* ITU ãã£ãã«1 ãªã¼ããã­ã¼1 */
+#define INT_IMIA2	88		/* ITU ãã£ãã«2 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£A2 */
+#define INT_IMIB2	89		/* ITU ãã£ãã«2 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£B2 */
+#define INT_OVI2	90		/* ITU ãã£ãã«2 ãªã¼ããã­ã¼2 */
+#define INT_IMIA3	92		/* ITU ãã£ãã«3 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£A3 */
+#define INT_IMIB3	93		/* ITU ãã£ãã«3 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£B3 */
+#define INT_OVI3	94		/* ITU ãã£ãã«3 ãªã¼ããã­ã¼3 */
+#define INT_IMIA4	96		/* ITU ãã£ãã«4 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£A4 */
+#define INT_IMIB4	97		/* ITU ãã£ãã«4 ã³ã³ãã¢ããã/ã¤ã³ãããã­ã£ããã£B4 */
+#define INT_OVI4	98		/* ITU ãã£ãã«4 ãªã¼ããã­ã¼4 */
+#define INT_ERI0	100		/* SCI ãã£ãã«0 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI0	101	 	/* SCI ãã£ãã«0 åä¿¡å®äº */
+#define INT_TXI0	102		/* SCI ãã£ãã«0 éä¿¡ãã¼ã¿ã»ã¨ã³ããã£ */
+#define INT_TEI0	103		/* SCI ãã£ãã«0 éä¿¡çµäº */
+#define INT_ERI1	104		/* SCI ãã£ãã«1 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI1	105		/* SCI ãã£ãã«1 åä¿¡å®äº */
+#define INT_TXI1	106		/* SCI ãã£ãã«1 éä¿¡ãã¼ã¿ã»ã¨ã³ããã£ */
+#define INT_TEI1	107		/* SCI ãã£ãã«1 éä¿¡çµäº */
+#define INT_PEI		108		/* ããªãã£ */
+#define INT_ADI		109		/* A/D ã¨ã³ã */
+#define INT_ITI		112		/* ã¦ã©ããããã¯ã»ã¿ã¤ãï¼ã¤ã³ã¿ã¼ãã«ã»ã¿ã¤ãï¼*/
+#define INT_CMI		113		/* ãªãã¬ãã·ã¥ã³ã»ã³ãã­ã¼ã©ã»ã³ã³ãã¢ããã */
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+#ifndef _MACRO_ONLY
+#ifdef GDB_STUB
+
+#define zunda_sh1_exit	gdb_stub_exit
+#define zunda_sh1_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit(void)
+{
+	Asm("trapa #0xff"::);		/*  æªå®æ  */
+}
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+gdb_stub_putc(int c)
+{
+	Asm("mov   #0x00,r0
+	     mov   %0,r4
+	     trapa #0x21"
+               : /* no output */
+               : "r"(c)
+               : "r0","r4");
+	return(c);
+}
+
+/*
+ *  ROMåã®å ´å
+ */
+#else /* GDB_STUB */
+
+Inline void
+zunda_sh1_exit(void)
+{
+	while(1);
+}
+
+extern void	sh1sci_putc_pol(char c);	/*  sh1sci2.c  */
+
+Inline void 
+zunda_sh1_putc(char c)
+{
+	sh1sci_putc_pol(c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _ZUNDA_SH1_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/Makefile.config	(revision 26)
@@ -0,0 +1,39 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2005/07/06 00:45:07 honda Exp $
+# 
+
+#
+#	Makefile ã®ãã­ã»ããµä¾å­é¨ï¼SH1/2ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+
+TARGET = sh-hitachi-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -Wall -g -O1 -m2 -mhitachi
+CDEFS := $(CDEFS) -DLABEL_ASM
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o vector_table.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/Makefile.config	(revision 26)
@@ -0,0 +1,76 @@
+#
+#  @(#) $Id
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼APSH2A1Aç¨ï¼
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#      DBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#      æç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#      å
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#      DBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#
+
+#DBGENV = ROM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS) -N
+CDEFS := $(CDEFS) -DSH7263
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sh726xscif.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+ifeq ($(DBGENV),GDB_STUB)
+    TEXT_START_ADDRESS=0x0C020000
+else
+ifeq ($(DBGENV),ROM)
+# ãã¯ã¿ãã¼ãã«ã®å¾ã (å¤é¨Flash)
+    TEXT_START_ADDRESS=0x00000400
+# RAMé åã®å
+é ­ã¢ãã¬ã¹ (CS3:SDRAM)
+    DATA_START_ADDRESS=0x0C000000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã (CS3:SDRAM)
+    TEXT_START_ADDRESS=0x0C000400
+# RAMé åã®å
+é ­ã¢ãã¬ã¹ (CS3:SDRAM)
+#    DATA_START_ADDRESS=0x0C000000
+endif
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.stub.ld
+else
+ifeq ($(DBGENV),ROM)
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.rom.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.ld
+endif
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/apsh2a1a.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/apsh2a1a.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/apsh2a1a.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  ã¢ã«ãã¡ãã­ã¸ã§ã¯ã AP-SH2A-1A
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _APSH2A1A_H_
+#define _APSH2A1A_H_
+
+#ifndef _MACRO_ONLY
+
+extern void sh2scif_putc_pol (ID portid, char c);	/*  sh726xscif.c  */
+
+#ifdef GDB_STUB
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+
+#define sh2_exit	gdb_stub_exit
+#define sh2_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit (void)
+{
+	/* ãã¹ããã¦ããªã */
+	Asm ("trapa #0x20"::);
+}
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+gdb_stub_putc (ID portid, int c)
+{
+	sh2scif_putc_pol (portid, c);
+	return (c);
+}
+
+#else /* GDB_STUB */
+
+/*
+ *  ROMåã®å ´å
+ */
+
+Inline void
+sh2_exit ()
+{
+	while (1);
+}
+
+Inline void
+sh2_putc (ID portid, char c)
+{
+	sh2scif_putc_pol (portid, c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _APSH2A1A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.cfg	(revision 26)
@@ -0,0 +1,15 @@
+/*
+ *  @(#) $Id
+ */
+
+/*
+ *	SCI/SCIFãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+DEF_INH(INHNO_SERIAL_BRK, { TA_HLNG, sio_handler_brk });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_serial.h	(revision 26)
@@ -0,0 +1,200 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/SCIFï¼ãã©ã¤ãï¼APSH2A1Aç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh726xscif.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+
+#ifndef GDB_STUB
+
+#define REGBASE_SERIAL		SCIF3_BASE
+#define INHNO_SERIAL_IN		INT_RXI3
+#define INHNO_SERIAL_OUT	INT_TXI3
+#define INHNO_SERIAL_ERROR	INT_ERI3
+#define INHNO_SERIAL_BRK	INT_BRI3
+
+#else	/*  GDB_STUB  */
+
+#define REGBASE_SERIAL		SCIF3_BASE
+#define INHNO_SERIAL_IN		INT_RXI3
+#define INHNO_SERIAL_OUT	INT_TXI3
+#define INHNO_SERIAL_ERROR	INT_ERI3
+#define INHNO_SERIAL_BRK	INT_BRI3
+
+#endif	/*  GDB_STUB  */
+
+/*
+ * SCIFã®å²ãè¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define LEVEL0		0			/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh2scif_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh2scif_openflag (siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh2scif_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		if ((siopcb->siopinib->reg_base) == SCIF3_BASE)
+			define_int_plevel (IPR14, siopcb->siopinib->int_level, 12);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh2scif_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+		if ((siopcb->siopinib->reg_base) == SCIF3_BASE)
+			define_int_plevel (IPR14, LEVEL0, 12);
+
+}
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in		sh2scif_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out		sh2scif_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error	sh2scif_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_brk		sh2scif_isr_brk	/*  ãã¬ã¼ã¯æ¤åºå²è¾¼ã¿ãã³ãã©  */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh2scif_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh2scif_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh2scif_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh2scif_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh2scif_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh2scif_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/hw_timer.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7263ç¨ï¼
+ *  CMTãä½¿ç¨
+ *ãã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh726xcmt.hã«è¨è¿°ãã
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "sh726xcmt.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	INT_CMI0
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define CMI0_BIT_SHIFT	4
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh2_timer_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh2_timer_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+						/* å²ãè¾¼ã¿ã¬ãã«è¨­å® 	*/
+	define_int_plevel (IPR08, TIMER_INTLVL, CMI0_BIT_SHIFT);
+	sh2_timer_int_clear();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh2_timer_start();		/* ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh2_timer_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh2_timer_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh2_timer_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sh2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sh2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sh2.h	(revision 26)
@@ -0,0 +1,69 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+
+#ifndef _SH2_H_
+#define _SH2_H_
+
+#include "sh7263.h"
+#include "apsh2a1a.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+Inline void
+define_int_plevel (VH * mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem ((VP) mem);
+
+	reg = (VH) ((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem ((VP) mem, reg);
+}
+#endif /* _MACRO_ONLY */
+#endif /*  _SH2_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.ld	(revision 26)
@@ -0,0 +1,134 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+/*    .vector : AT(0)*/
+    .vector : AT(0x0C000000)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.rom.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.rom.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.rom.ld	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .vector : AT(0)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.stub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.stub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/shelf.stub.ld	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.c	(revision 26)
@@ -0,0 +1,198 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <s_services.h>
+#include "sh726xscif.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå banneråºåã®ããã«ã¼ãã«ã®åæåã¨ç¡é¢ä¿ã«è¡ã
+ */
+void
+sys_initialize ()
+{
+	SIOPCB *siopcb;
+
+	/* ä½¿ç¨ããå¨è¾ºæ©å¨ã¯ããã§æå¹ã«ãã¦ããã */
+	/*  SCIFãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+
+#ifndef GDB_STUB
+
+	/* SCIF3 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x10));
+	sil_wrh_mem (PECRL4, sil_reh_mem (PECRL4) | (0x0030 | 0x0003));
+
+#else /* GDB_STUB */
+
+	/* SCIF3 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x10));
+	sil_wrh_mem (PECRL4, sil_reh_mem (PECRL4) | (0x0003 | 0x0030));
+
+#endif /* GDB_STUB */
+
+	/* CMT0 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x04));
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	/*ããã¼åºåãããã */
+	sh2scif_initialize();
+	siopcb = sh2scif_opn_por (LOGTASK_PORTID, 0);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit ()
+{
+	sh2_exit ();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc (char c)
+{
+	if (c == '\n') {
+		sh2_putc (LOGTASK_PORTID, '\r');
+	}
+	sh2_putc (LOGTASK_PORTID, c);
+}
+
+/* ãã¼ãã¦ã§ã¢ã®è¨­å® */
+/* ããã§ã¯ãã¹ã®è¨­å®ã®ã¿è¡ããå¨è¾ºæ©å¨ã®è¨­å®ã¯sys_initializeã§è¡ãã */
+#ifndef GDB_STUB
+void
+hardware_init_hook (void)
+{
+	/* ã¯ã­ãã¯çºæ¯å¨ã®åæå */
+	sil_wrh_mem (FRQCR, 0x0104);	/* ã¯ã­ãã¯è¨­å® IÏ=200MHz, BÏ=66.666MHz, PÏ=33.333MHz */
+
+	/* ãã¹ã³ã³ãã­ã¼ã©ã®è¨­å® */
+	sil_wrw_mem (CMNCR, 0x00001010);
+	sil_wrw_mem (CS0BCR, 0x24920400);
+	sil_wrw_mem (CS0WCR, 0x00001382);
+	sil_wrw_mem (CS3BCR, 0x24924600);
+	sil_wrw_mem (CS3WCR, 0x00004912);
+	sil_wrw_mem (SDCR, 0x00000909);
+	sil_wrw_mem (RTCSR, 0xa55a0010);
+	sil_wrw_mem (RTCOR, 0xa55a0040);
+
+	/* I/Oãã¼ãã®è¨­å® */
+	sil_wrh_mem (PBIORL, 0x0c00);	/* PC11,PC10 åºåæ¹å (LEDæ¥ç¶ãã¼ã) */
+	sil_wrh_mem (PBCRL4, 0x5a00);
+	sil_wrh_mem (PBCRL3, 0x0000);	/* PC11,PC10ã¢ã¼ã ãã¼ãé¸æ (LEDæ¥ç¶ãã¼ã) */
+	sil_wrh_mem (PBCRL2, 0x0000);
+	sil_wrh_mem (PBCRL1, 0x0000);
+	sil_wrh_mem (PCIORL, 0x0000);
+	sil_wrh_mem (PCCRL4, 0x0011);
+	sil_wrh_mem (PCCRL3, 0x1111);
+	sil_wrh_mem (PCCRL2, 0x1111);
+	sil_wrh_mem (PCCRL1, 0x1111);
+	sil_wrh_mem (PDIORL, 0x0000);
+	sil_wrh_mem (PDCRL4, 0x1111);
+	sil_wrh_mem (PDCRL3, 0x1111);
+	sil_wrh_mem (PDCRL2, 0x1111);
+	sil_wrh_mem (PDCRL1, 0x1111);
+	sil_wrh_mem (PEIORL, 0x0000);
+	sil_wrh_mem (PECRL4, 0x0000);
+	sil_wrh_mem (PECRL3, 0x1010);
+	sil_wrh_mem (PECRL2, 0x1111);
+	sil_wrh_mem (PECRL1, 0x1111);
+	sil_wrh_mem (PFIORH, 0x7fff);
+	sil_wrh_mem (PFIORL, 0xffff);
+	sil_wrh_mem (PFCRH4, 0x0000);
+	sil_wrh_mem (PFCRH3, 0x0000);
+	sil_wrh_mem (PFCRH2, 0x0000);
+	sil_wrh_mem (PFCRH1, 0x0000);
+	sil_wrh_mem (PFCRL4, 0x0000);
+	sil_wrh_mem (PFCRL3, 0x0000);
+	sil_wrh_mem (PFCRL2, 0x0000);
+	sil_wrh_mem (PFCRL1, 0x0000);
+
+	/* CMT ã¸ã¯ã­ãã¯ä¾çµ¦ */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x04));
+
+	/* 100usec å¾
+ã¡ */
+	sil_wrh_mem (CMSTR, 0x0000);	/* STR0=0 ã«ã¦ã³ã¿0 åæ­¢ */
+	sil_wrh_mem (CMCSR_0, 0x0000);	/* CKS=00 ã¯ã­ãã¯é¸æ PÎ¦/8 */
+	sil_wrh_mem (CMCNT_0, 0);		/* ã«ã¦ã³ã¿0 ã¯ãªã¢ï¼âã³ã³ã¹ã¿ã³ãå¤è¨­å® */
+	sil_wrh_mem (CMCOR_0, ((((PCLOCK / 8)/1000000) * 100) - 1));
+	sil_wrh_mem (CMSTR, 0x0001);	/* STR0=1 ã«ã¦ã³ã¿0 éå§ */
+	while ((sil_reh_mem (CMCSR_0) & 0x0080) == 0);
+									/* CMF==1 ã«ãªãã¾ã§å¾
+ã¤ */
+
+	sil_wrh_mem (SDRAM_MODE, 0x000);	/* SDRAMã¢ã¼ãã¬ã¸ã¹ã¿ãè¨­å® */
+
+	/* ã­ã£ãã·ã¥ã®è¨­å® */
+	sil_wrw_mem (CCR1, 0x00000808);	/* ã­ã£ãã·ã¥ããã©ãã·ã¥ */
+	sil_wrw_mem (CCR1, CCR_MODE);	/* ã­ã£ãã·ã¥ã¢ã¼ããè¨­å® */
+}
+#else /*  GDB_STUB  */
+void
+hardware_init_hook (void)
+{
+}
+#endif /*  GDB_STUB  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼APSH2A1Aç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "apsh2a1a.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"apsh2a1a"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼SH1ããã³SH3ã®è¨­å®å¤ã¨æ¯è¼ãã¦é©å½ã«ç®åºããå¤ï¼
+ */
+#define	SIL_DLY_TIM1	270
+#define	SIL_DLY_TIM2	150
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+//#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_defs.h	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼APSH2A1Aç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define APSH2A1A			/* ã·ã¹ãã ç¥ç§° */
+
+#define COPYRIGHT_SYS \
+"Copyright (C) 2010 by Cronus Computer Works, JAPAN\n\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ */
+//#define CCR_MODE      0x00000101    /* ã©ã¤ãããã¯ã¢ã¼ã */
+#define CCR_MODE      0x00000103    /* ã©ã¤ãã¹ã«ã¼ã¢ã¼ã */
+
+/*
+ *  å¨è¾ºã¢ã¸ã¥ã¼ã«ã¸ã®ä¾çµ¦ã¯ã­ãã¯ã®å¨æ³¢æ°
+ *  APSH2A1Aã§ã¯ãPÎ¦ã¯ã­ãã¯ã¯33.333MHz
+ */
+#define PCLOCK          33333000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *
+ *   APSH2A1Aã§ã¯ãPÎ¦ã¯ã­ãã¯ã33.333Mhz
+ *   0: PÎ¦/8   4.166MHz  tick 4166  0.24 Î¼sec
+ *   1: PÎ¦/32  1.041MHz  tick 1041  0.96 Î¼sec
+ *   2: PÎ¦/128 260.4KHz  tick 260   3.84 Î¼sec
+ *   3: PÎ¦/512 65.103KHz tick 65    15.36 Î¼sec
+ */
+#define TCR_CKS         0
+
+/*
+ *  SDRAMã¢ã¼ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ *  â»ã¢ãã¬ã¹ãã¢ã¼ãè¨­å®å¤
+ */
+#define SDRAM_MODE  ((VH *)0xfffc58c0)
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trapa #0x20"::);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_support.S	(revision 26)
@@ -0,0 +1,66 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+!        .text
+!        .align 2
+!        .global _hardware_init_hook
+!_hardware_init_hook:    
+! ããã©ã«ãã®ãã¹å¹
+ã¨ç°ãªãè¨­å®ãããå ´åãããã§ãã¹å¹
+ã®è¨­å®ãè¡ãã
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2a1a/user_config.h	(revision 26)
@@ -0,0 +1,235 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  SRAMã¡ã¢ãªå®è£
+ã¿ã¤ããã©ã¼ã¸ã¿ã¤ãã¨ãããã©ããã®å®ç¾©
+ *ãï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæãªã®ã§ãæ¬æ©ç¨®ã§ã¯æªä½¿ç¨ï¼
+ */
+//#define	LARGE_TYPE
+
+
+/*
+ *  å¤ãæã¤ãã¯ã­ã®å®ç¾©
+ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *
+ *    ROMåæ
+ *      0x0000,0000                ã³ã¼ãé å(16MB)
+ *                  - 0x00ff,ffff  å¤ä»Flashçµäº
+ *      0x0c00,0000 -              ãã¼ã¿é å(32MB)
+ *                  - 0x0dff,ffff  å¤ä»SDRAMçµäº
+ *      0xfff8,0000 -              ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯(64KB)
+ *                  - 0xfff8,ffff  å
+èµRAMçµäº
+ *
+ *    RAMåä½æ
+ *      0x0c00,0000 -              ã³ã¼ã/ãã¼ã¿é å(32MB)
+ *                  - 0x0dff,ffff  å¤ä»SDRAMçµäº
+ *      0xfff8,0000 -              ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯(64KB)
+ *                  - 0xfff8,ffff  å
+èµRAMçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	 0xFFF90000
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+#define SCIF_BPS		38400
+
+/*
+ * SCIFã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define SCIF_INTLVL		6
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+#define	INNER_RAM_ADDRESS	0xFFF90000
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/Makefile.config	(revision 26)
@@ -0,0 +1,65 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2005/07/06 00:45:07 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼APSH2F6Aç¨ï¼
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+
+#DBGENV = ROM
+#DBGENV = MULTI_STACK
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS)
+CDEFS := $(CDEFS) -DSH7145
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sh7145sci.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+ifeq ($(DBGENV),GDB_STUB)
+    TEXT_START_ADDRESS=0x00420000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã
+    TEXT_START_ADDRESS=0x00000400
+# RAMé åã®å
+é ­ã¢ãã¬ã¹(CS2)
+    DATA_START_ADDRESS=0x00400000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.stub.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/apsh2f6a.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/apsh2f6a.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/apsh2f6a.h	(revision 26)
@@ -0,0 +1,109 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: apsh2f6a.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _APSH2F6A_H_
+#define _APSH2F6A_H_
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+#ifndef _MACRO_ONLY
+#ifdef GDB_STUB
+
+#define sh2_exit	gdb_stub_exit
+#define sh2_putc	gdb_stub_putc
+
+extern void sh2sci_putc_pol (ID portid, char c);	/*  sh7145sci.c  */
+
+Inline void
+gdb_stub_exit (void)
+{
+	/* ãã¹ããã¦ããªã */
+	Asm ("trapa #0x20"::);
+}
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+gdb_stub_putc (ID portid, int c)
+{
+	sh2sci_putc_pol (portid, c);
+	return (c);
+}
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ */
+
+Inline void
+sh2_exit ()
+{
+	while (1);
+}
+
+extern void sh2sci_putc_pol (ID portid, char c);	/*  sh7145sci.c  */
+Inline void
+sh2_putc (ID portid, char c)
+{
+	sh2sci_putc_pol (portid, c);
+}
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _APSH2F6A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.cfg	(revision 26)
@@ -0,0 +1,22 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	SCI/SCIFãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_handler2_in  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_handler2_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio_handler2_error });
+
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_serial.h	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/SCIFï¼ãã©ã¤ãï¼apsh02f6aç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh7145sci.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#ifndef GDB_STUB
+
+#define INHNO_SERIAL_IN	 RXI1
+#define INHNO_SERIAL_OUT TXI1
+#define INHNO_SERIAL_ERROR ERI1
+#if TNUM_PORT >= 2
+#define INHNO_SERIAL2_IN	 RXI0
+#define INHNO_SERIAL2_OUT TXI0
+#define INHNO_SERIAL2_ERROR ERI0
+#endif /* TNUM_PORT >= 2 */
+
+#else /* GDB_STUB */
+
+#define INHNO_SERIAL_IN	 RXI0
+#define INHNO_SERIAL_OUT TXI0
+#define INHNO_SERIAL_ERROR ERI0
+
+#endif /* GDB_STUB */
+
+/*
+ * SCIã®å²ãè¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define LEVEL0		0			/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh2sci_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por (ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb;
+	BOOL openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh2sci_openflag (siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh2sci_opn_por (siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		if ((siopcb->siopinib->reg_base) == 0xffff81c0)
+			define_int_plevel (IPRI, siopcb->siopinib->int_level, 12);
+		if ((siopcb->siopinib->reg_base) == 0xffff81a0)
+			define_int_plevel (IPRF, siopcb->siopinib->int_level, 4);
+		if ((siopcb->siopinib->reg_base) == 0xffff81b0)
+			define_int_plevel (IPRF, siopcb->siopinib->int_level, 0);
+	}
+	return (siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por (SIOPCB * siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh2sci_cls_por (siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+	if ((siopcb->siopinib->reg_base) == 0xffff81c0)
+		define_int_plevel (IPRI, LEVEL0, 12);
+	if ((siopcb->siopinib->reg_base) == 0xffff81a0)
+		define_int_plevel (IPRF, LEVEL0, 4);
+	if ((siopcb->siopinib->reg_base) == 0xffff81b0)
+		define_int_plevel (IPRF, LEVEL0, 0);
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in	sh2sci_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out	sh2sci_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error sh2sci_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#if TNUM_PORT >= 2
+#define	sio_handler2_in		sh2sci_isr2_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_out	sh2sci_isr2_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_error	sh2sci_isr2_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh2sci_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh2sci_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh2sci_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh2sci_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh2sci_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh2sci_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/hw_timer.h	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7145ç¨ï¼
+ *  CMTãä½¿ç¨
+ *ãã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh7145cmt.hã«è¨è¿°ãã
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "sh7145cmt.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	CMI0
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define CMI0_BIT_SHIFT	4
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh2_timer_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh2_timer_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+						/* å²ãè¾¼ã¿ã¬ãã«è¨­å® 	*/
+	define_int_plevel (IPRG, TIMER_INTLVL, CMI0_BIT_SHIFT);
+	sh2_timer_int_clear();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh2_timer_start();		/* ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh2_timer_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh2_timer_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh2_timer_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sh2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sh2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sh2.h	(revision 26)
@@ -0,0 +1,68 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sh2.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+
+#ifndef _SH2_H_
+#define _SH2_H_
+
+#include "sh7145.h"
+#include "apsh2f6a.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+Inline void
+define_int_plevel (VH * mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem ((VP) mem);
+
+	reg = (VH) ((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem ((VP) mem, reg);
+}
+#endif /* _MACRO_ONLY */
+#endif /*  _SH2_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.ld	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .vector : AT(0)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.stub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.stub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/shelf.stub.ld	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.stub.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.c	(revision 26)
@@ -0,0 +1,155 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <s_services.h>
+#include "sh7145sci.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå banneråºåã®ããã«ã¼ãã«ã®åæåã¨ç¡é¢ä¿ã«è¡ã
+ */
+void
+sys_initialize ()
+{
+	SIOPCB *siopcb;
+
+	/* ä½¿ç¨ããå¨è¾ºæ©å¨ã¯ããã§æå¹ã«ãã¦ããã */
+	/*  SCIãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+
+#ifndef GDB_STUB
+
+	/* SCI1 */
+	sil_wrh_mem (MSTCR1, (VH) ((VH) sil_reh_mem (MSTCR1) & ~0x0002));
+	sil_wrh_mem (PACRL2, sil_reh_mem (PACRL2) | (PFC_TXD1 | PFC_RXD1));
+#if TNUM_PORT >=2
+	/* SCI0 */
+	sil_wrh_mem (MSTCR1, (VH) ((VH) sil_reh_mem (MSTCR1) & ~0x0001));
+	sil_wrh_mem (PACRL2, sil_reh_mem (PACRL2) | (PFC_TXD0 | PFC_RXD0));
+#endif /*TNUM_PORT >=2 */
+
+#else /* GDB_STUB */
+
+	/* SCI0 */
+	sil_wrh_mem (MSTCR1, (VH) ((VH) sil_reh_mem (MSTCR1) & ~0x0001));
+	sil_wrh_mem (PACRL2, sil_reh_mem (PACRL2) | (PFC_TXD0 | PFC_RXD0));
+
+#endif /* GDB_STUB */
+
+	/* CMT0 */
+	sil_wrh_mem (MSTCR2, (VH) ((VH) sil_reh_mem (MSTCR2) & ~0x1000));
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	/*ããã¼åºåãããã */
+	sh2sci_initialize();
+	siopcb = sh2sci_opn_por (LOGTASK_PORTID, 0);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit ()
+{
+	sh2_exit ();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc (char c)
+{
+	if (c == '\n') {
+		sh2_putc (LOGTASK_PORTID, '\r');
+	}
+	sh2_putc (LOGTASK_PORTID, c);
+}
+
+/* ãã¼ãã¦ã§ã¢ã®è¨­å® */
+/* ããã§ã¯ãã¹ã®è¨­å®ã®ã¿è¡ããå¨è¾ºæ©å¨ã®è¨­å®ã¯sys_initializeã§è¡ãã */
+#ifndef GDB_STUB
+void
+hardware_init_hook (void)
+{
+	sil_wrh_mem (BCR1, 0x202f);
+	sil_wrh_mem (BCR2, 0x5500);
+	sil_wrh_mem (WCR1, 0x0010);
+	sil_wrh_mem (PACRH, 0x5000);
+	sil_wrh_mem (PACRL1, 0x1540);
+	sil_wrh_mem (PACRL2, 0x0140);
+	sil_wrh_mem (PBCR1, 0x0002);
+	sil_wrh_mem (PBCR2, 0xa005);
+	sil_wrh_mem (PCCR, 0xfffc);
+	sil_wrh_mem (PDCRH1, 0x5555);
+	sil_wrh_mem (PDCRH2, 0x5555);
+	sil_wrh_mem (PDCRL1, 0xffff);
+	sil_wrh_mem (PDCRL2, 0x0000);
+	sil_wrh_mem (PECRL1, 0x0000);
+	sil_wrh_mem (PECRL2, 0x0000);
+	sil_wrh_mem (PAIORL, 0x87e7);
+	sil_wrh_mem (PBIOR, 0x023c);
+}
+#else /*  GDB_STUB  */
+void
+hardware_init_hook (void)
+{
+}
+#endif /*  GDB_STUB  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼KZ-SH1ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "apsh2f6a.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"apsh2f6a"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼ã¯ã­ãã¯20MHzæã®å®æ¸¬å¤ãªã®ã§ãå®å
+¨å´ã«åãã¦ãããï¼
+ */
+#define	SIL_DLY_TIM1	1143
+#define	SIL_DLY_TIM2	 832
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+//#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_defs.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼APSH2F6Aç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define APSH2F6A			/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trapa #0x20"::);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_support.S	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+!        .text
+!        .align 2
+!        .global _hardware_init_hook
+!_hardware_init_hook:    
+! ããã©ã«ãã®ãã¹å¹
+ã¨ç°ãªãè¨­å®ãããå ´åãããã§ãã¹å¹
+ã®è¨­å®ãè¡ãã
+!        .text
+!        .align 2
+!        .global _hardware_init_hook
+!_hardware_init_hook:    
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/apsh2f6a/user_config.h	(revision 26)
@@ -0,0 +1,225 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  SRAMã¡ã¢ãªå®è£
+ã¿ã¤ããã©ã¼ã¸ã¿ã¤ãã¨ãããã©ããã®å®ç¾©
+ *ãï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæãªã®ã§ãæ¬æ©ç¨®ã§ã¯æªä½¿ç¨ï¼
+ */
+//#define	LARGE_TYPE
+
+
+/*
+ *  å¤ãæã¤ãã¯ã­ã®å®ç¾©
+ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 - 0x0003,ffff  ã³ã¼ãé å(256KB)
+ *      0x0040,0000 -              ãã¼ã¿é å(2MB)
+ *                  - 0x005f,ffff  å¤ä»ãã¡ã¢ãªçµäº
+ *      0xffff,e000 -              ãã¼ã¿é å(8KB)
+ *                  - 0xffff,ffff  å
+èµã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	 0x00600000
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+//#define	INNER_RAM_ADDRESS
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.c	(revision 26)
@@ -0,0 +1,349 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH2ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ããããããCè¨èªé¢æ°ã®å®ä½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <sh2.h>
+#include <sil.h>
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UW	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UW	int_intmask;
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+UW	intnest;
+
+/*
+ *  ãªãªã¸ãã«ã®ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®ä¿å­é å
+ */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+static VP org_vbr;
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  CPUä¾å¤ã®è¦å æ°
+ */
+#ifndef NUM_EXC
+#define NUM_EXC	(6 + 2)
+#endif	/*  NUM_EXC  */
+
+/*
+ *  ç»é²ãããCPUä¾å¤ã®è¦å æ°
+ */
+static UW num_exc;
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®å
+é ­ã¢ãã¬ã¹
+ */
+static FP exc_entries[NUM_EXC];
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+	task_intmask = 0x0000u;
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®åæå
+	 */
+	intnest = 1u;
+
+#ifndef GDB_STUB
+
+	/*
+	 * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+	 */
+	sh2_init_intcontorller ();
+
+#endif	/*  GDB_STUB  */
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+	/*
+	 *  ãã¯ã¿ãã¼ãã«ã¯åæå¤ä»ãå¤æ°ï¼é
+åï¼ã«ããã®ã§ã
+	 *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ãã³ãã¼ããéã«
+	 *  åæåãããã
+	 *  ï¼ããã§åæåããå¿
+è¦ã¯ãªããï¼
+	 */
+	
+	/*
+	 *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®åæå
+	 */
+	org_vbr = current_vbr();
+	set_vbr((VP)vector_table);
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+	num_exc = 0;
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+	set_vbr(org_vbr);
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+void
+define_exc(EXCNO excno, FP exchdr)
+{
+	/*  SH1ã¯å²è¾¼ã¿ãCPUä¾å¤ãåãå½¢å¼  */
+	define_inh((INHNO)excno, exchdr);
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+//	CHECK_PAR(num_exc < NUM_EXC);
+	exc_entries[num_exc++] = exchdr;
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+}
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã§å²è¾¼ã¿ç¦æ­¢ããã¾ã§ã®å½ä»¤æ°
+ */
+#define NUM_INST_DIS_INT	5
+
+
+/*
+ *  å²è¾¼ã¿ããã®æ»ãå
+ã®ãã§ãã¯
+ *
+ *  ãå¼æ°
+ *  ããVP pcï¼ã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°
+ *  ãæ»ãå¤
+ *  ããTRUEï¼æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çï¼å²è¾¼ã¿ç¦æ­¢ããåï¼
+ *  ããFALSEï¼æ»ãå
+ãä¸è¨ä»¥å¤
+ *  ãåè
+ *  ããå²è¾¼ã¿ã®åºå£å¦çã§å²è¾¼ã¿ç¦æ­¢ã§å¼ã°ããã
+ */
+
+/* cpu_support.Sã®ret_intã ãããå¼ã°ããã®ã§ 	*/
+/* ãããã¼ãã¡ã¤ã«ã«ã¯å«ããªãã 		*/
+BOOL check_cpu_exc_entry(VP pc)   throw();
+
+BOOL check_cpu_exc_entry(VP pc)
+{
+	UW i;
+	UH *entry;	/* 2ãã¤ãé·å½ä»¤ã¸ã®ãã¤ã³ã¿ */
+	
+	for(i = 0; i < num_exc; i++) {
+		entry = (UH *)exc_entries[i];
+		if (((UW)entry <= (UW)pc) &&
+		     ((UW)pc <= (UW)(entry + NUM_INST_DIS_INT)) ) {
+			return TRUE;
+		}
+	}
+	return FALSE;
+}
+
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã0xfï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«å¤æ´
+ *  ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ãããï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨
+ *  æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= (MAX_IPM - 1) );
+
+	t_lock_cpu();
+	task_intmask = (ipm << 4);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 4);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void cpu_experr(EXCSTACK *sp)
+{
+    syslog(LOG_EMERG, "Exception error occurs.");
+
+    syslog(LOG_EMERG, "PC = 0x%08x SR = 0x%08x PR = 0x%08x",
+    			sp->pc, sp->sr, sp->pr);
+
+    syslog(LOG_EMERG, "r0 = 0x%08x r1 = 0x%08x r2 = 0x%08x",
+    			sp->r0, sp->r1, sp->r2);
+    syslog(LOG_EMERG, "r3 = 0x%08x r4 = 0x%08x r5 = 0x%08x",
+    			sp->r3, sp->r4, sp->r5);
+    syslog(LOG_EMERG, "r6 = 0x%08x r7 = 0x%08x r8 = 0x%08x",
+    			sp->r6, sp->r7, sp->r8);
+    syslog(LOG_EMERG, "r9 = 0x%08x r10 = 0x%08x r11 = 0x%08x",
+    			sp->r9, sp->r10, sp->r11);
+    syslog(LOG_EMERG, "r12 = 0x%08x r13 = 0x%08x r14 = 0x%08x",
+    			sp->r12, sp->r13, sp->r14);
+    			/*  ä¾å¤çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤  */
+    syslog(LOG_EMERG, "r15 = 0x%08x", (sp->r15)+19*4);
+
+    while(1);
+}
+
+
+/*
+ *  ã¡ã¢ãªãã­ãã¯æä½ã©ã¤ãã©ãª
+ *	(ItIsããã®æµç¨)
+ *
+ *  é¢æ°ã®ä»æ§ã¯ï¼ANSI C ã©ã¤ãã©ãªã®ä»æ§ã¨åãï¼æ¨æºã©ã¤ãã©ãªã®ãã®ã
+ *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *
+ */
+VP
+_dummy_memcpy(VP dest, VP src, UINT len)
+{
+	VB	*d = (VB *)dest;
+	VB	*s = (VB *)src;
+
+	while (len-- > 0) {
+		*d++ = *s++;
+	}
+	return(dest);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_config.h	(revision 26)
@@ -0,0 +1,573 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH2ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+#include "sh2.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  è¨­å®å¯è½ãªæé«åªå
+åº¦
+ */
+#ifdef GDB_STUB
+#define MAX_IPM  0xe	/* ã¹ã¿ãããã®å ´åã¯åªå
+åº¦14ã§CPUã­ãã¯   */
+#else
+#define MAX_IPM  0xf	/* ã¹ã¿ããªãã®å ´åã¯æé«åªå
+åº¦ã§CPUã­ãã¯ */
+#endif /*  GDB_STUB  */
+
+#define str_MAX_IPM  		TO_STRING(MAX_IPM)
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ *  
+ *  ãspãUW *åã¨ãã¦ããã®ã¯4ãã¤ãå¢çãæè­ãã¦ãããã
+ *  
+ */
+typedef struct task_context_block {
+        UW 	*sp;            /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP	pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã4ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+current_intmask()
+{
+	return(current_sr() & 0x000000f0u);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UW intmask)
+{
+	set_sr((current_sr() & ~0x000000f0u) | intmask);
+}
+
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern UW	intnest;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+
+/*
+ *  ã³ã³ãã­ã¹ãåç
+§
+ *
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãèª­ã¿åºããç´å¾ã«å²è¾¼ã¿ãçºçãã¦ãã
+ *  æ»ã£ãã¨ãã«ã¯ã³ã³ãã­ã¹ããå
+ã«æ»ã£ã¦ãã
+ */
+Inline BOOL
+sense_context()
+{
+	return(intnest > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+	return(current_intmask() == (MAX_IPM << 4));
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UW	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+Inline void
+t_lock_cpu()
+{
+	disint();		/*  cpu_insn.h  */
+}
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();		/*  cpu_insn.h  */
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UW	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+	UW	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask() ãå¼
+	 *  ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+Inline void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+extern FP vector_table[];	/*  ä¾å¤ãã¯ã¿ãã¼ãã«  */
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+#ifdef GDB_STUB
+        Asm("mov #0x8,r0;  mov %0,r4; mov %1,r5; trapa #0x21"
+	    : /* no output */
+	    : "r"(inhno),"r"(inthdr)
+	    : "r0", "r4", "r5");
+#else	/*  GDB_STUB  */
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+/* SIO_RESERVEDã¯ä½¿ç¨ããªããsys_config.hã§ã³ã¡ã³ãã«ãã¦ãã */
+/*#ifdef SIO_RESERVED	*//*  ã·ãªã¢ã«å²ãè¾¼ã¿ã¯é¿ãã  */
+/*	if ((inhno != RXI0) && (inhno != TXI0))*/
+/*#endif *//* SIO_RESERVED */ 
+		vector_table[inhno] = inthdr;
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+#endif	/*  GDB_STUB  */
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+extern void define_exc(EXCNO excno, FP exchdr)  throw();
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦ç
+ */
+
+/*  Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çã®ã©ãã«ãçæ  
+ *     kernel_cfg.cã§ä½¿ç¨
+ */
+#define	INT_ENTRY(inthdr)	_kernel_##inthdr##_entry
+#define	EXC_ENTRY(exchdr)	_kernel_##exchdr##_entry
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®å
+±éé¨å
+ *
+ *	SH1/2ã§ã¯ãå²è¾¼ã¿ã¨CPUä¾å¤ã®æ±ããã»ã¨ãã©åããªã®ã§ã
+ *	å
+¥å£å¦çã®ãã¯ã­ãå
+±éã«å®ç¾©ãã¦ãã
+ *
+ *ããå¼æ°
+ *	labelï¼å
+¥å£å¦çã®ã©ãã«
+ *	inthdrï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *	common_routineï¼cpu_support.Så
+ã®åå²å
+ã¢ãã¬ã¹
+ *			interrupt_entryï¼å²è¾¼ã¿ã®å ´å
+ *			cpu_exception_entryï¼CPUä¾å¤ã®å ´å
+ *
+ *ããã¬ã¸ã¹ã¿å²å½
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr0ï¼interrupt_entry
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ *
+ *	å²è¾¼ã¿ã¨CPUä¾å¤ã®ç¸éç¹
+ *	ããã»CPUä¾å¤ãã³ãã©ã«å¼æ°ãä¸ãã
+ *	ããã»CPUä¾å¤ã§ã¯ãä¾å¤çºçæã®IPMã¨åãå¤ã§å²è¾¼ã¿ãè¨±å¯ãã
+ *		ï¼CPUä¾å¤ã«ãããIPMãå¤åãããªãï¼
+ *
+ *	ããã»å²è¾¼ã¿ãã³ãã©ã®å ´å				
+ *	ãã  	å²è¾¼ã¿åä»æã«ãã¼ãã¦ã§ã¢ãIPMãè¨­å®ãã	
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯ãã®IPMã®å¤ãç¨ãã		
+ *	ããã»CPUä¾å¤ãã³ãã©ã®å ´å				
+ *	ãã  	CPUä¾å¤åä»æã«IPMã®å¤ã¯å¤åããªã		
+ *	ãã  	å²è¾¼ã¿è¨±å¯ã«ã¯CPUä¾å¤çºçæã®IPMã®å¤ãç¨ãã	
+ */
+#define	HANDLER_ENTRY_PROC(label, handler, common_routine)		   \
+asm(".text;								  "\
+"	.align 2;							  "\
+"	.global _"#label";						  "\
+"_"#label":;								  "\
+			/*  å¿
+è¦æå°éã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«å¾
+é¿  */	   \
+"	mov.l	r0,@-r15;						  "\
+"	mov.l	r1,@-r15;						  "\
+				/*  å²è¾¼ã¿ç¦æ­¢ã¨SRå¾©å
+ã®æºå  		*/ \
+"	stc	sr,r1;							  "\
+	/*  å²è¾¼ã¿ç¦æ­¢  						*/ \
+	/*     å²è¾¼ã¿ãç¦æ­¢ããåã«å¥ã®å²è¾¼ã¿ãå
+¥ã£ãå ´åã®æ³¨æç¹ã¯ 	*/ \
+	/*     cpu_suppourt.Sã®ret_intãåç
+§ 				*/ \
+"	mov.l	_mask_ipm_"#handler",r0;				  "\
+"	ldc	r0,sr;							  "\
+"	mov.l	r2,@-r15;						  "\
+"	mov.l	_common_routine_"#handler",r0;				  "\
+"	mov.l	_c_routine_"#handler",r2;" /* Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹*/\
+"	jmp	@r0;		"/*  interrupt_entryã¸ã¸ã£ã³ã 		*/ \
+"	nop;				"	/*  é
+å»¶ã¹ã­ãã  	*/ \
+	/* åè 							*/ \
+	/* ãé
+å»¶ã¹ã­ããã«PCç¸å¯¾ã¢ãã¬ãã·ã³ã°ã®ã­ã¼ãå½ä»¤ã 		*/ \
+	/* ãå
+¥ããã¨èª¤åä½ããã 					*/ \
+	/*  ãï¼ã¹ã­ããä¸å½å½ä»¤ä¾å¤ãçºçããªãã®ã§çºè¦ãé£ãããï¼ 	*/ \
+									   \
+"	.align 2;							  "\
+"_mask_ipm_"#handler":;	    "	/*  å²è¾¼ã¿ç¦æ­¢ç¨ãã¹ã¯  		*/ \
+"	.long  "str_MAX_IPM" << 4; "	/*  ipmä»¥å¤ã®ãããã¯ã¼ã­ã§è¯ã	*/ \
+"_c_routine_"#handler":;	    					  "\
+"	.long  _"#handler";   "	/* Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹  	*/ \
+"_common_routine_"#handler":; "	/* cpu_support.Så
+ã®åå²å
+ã¢ãã¬ã¹	*/ \
+"	.long  __kernel_"#common_routine"; "		  		   \
+)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INTHDR_ENTRY(inthdr)	INTHDR_ENTRY2(INT_ENTRY(inthdr), inthdr)
+
+#define INTHDR_ENTRY2(entry, inthdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, inthdr, interrupt_entry)
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ */
+#define	EXCHDR_ENTRY(exchdr)	EXCHDR_ENTRY2(EXC_ENTRY(exchdr), exchdr)
+
+#define EXCHDR_ENTRY2(entry, exchdr)					\
+	extern void entry(void);					\
+	HANDLER_ENTRY_PROC(entry, exchdr, cpu_exception_entry)
+	/*
+	 *  void entry()ã¯åãªãã¨ã³ããªã®ã©ãã«ãªã®ã§ã
+	 *  å¼æ°ã¯ä»ããªã
+	 */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* 
+	 *  ï¼ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®å
+	 *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã 	
+	 *  
+	 *  CPUä¾å¤ã®å
+¥å£å¦çä¸­ã«å¥ã®CPUä¾å¤ã¯çºçããªãã¨ä»®å®
+	 *  ãã¦ãã
+	 */
+	return(intnest > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	UW sr = *(UW *)p_excinf; 
+	return((sr& 0x00000f0u) == (MAX_IPM << 4));
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+
+/*
+ *  ä¸è¨ã®ã­ã°åºåæã®ã¹ã¿ãã¯æ§é ã®å®ç¾©
+ */
+typedef struct exc_stack {
+	VW	r0;
+	VW	r1;
+	VW	r2;
+	VW	r3;
+	VW	r4;
+	VW	r5;
+	VW	r6;
+	VW	r7;
+	VW	r8;
+	VW	r9;
+	VW	r10;
+	VW	r11;
+	VW	r12;
+	VW	r13;
+	VW	r14;
+	VW	r15;
+	VW	pr;	/*  ãã­ã·ã¼ã¸ã£ã»ã¬ã¸ã¹ã¿  	*/
+	VW	pc;	/*  ãã­ã°ã©ã ã»ã«ã¦ã³ã¿  	*/
+	VW	sr;	/*  ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿  	*/
+} EXCSTACK;
+
+
+/*
+ * ä¾å¤çºçæã®ã­ã°åºå (cpu_config.c, cpu_support.S)
+ */
+extern void     cpu_experr(EXCSTACK *);
+
+#endif /* _MACRO_ONLY */
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ã«è¨­å®ããããã©ã«ãã®å¤
+ *  	ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *	ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+#define RESET_VECTOR 	start		/*  ãªã»ãããã¯ã¿  */
+#define INIT_STACK  	STACKTOP	/*  ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+
+#define RESERVED_VECTOR	RESET_VECTOR	/*  ã·ã¹ãã äºç´ã®ãªã»ãããã¯ã¿  */
+					/*  å®éã«ã¯ä½¿ç¨ãããªã  */
+
+#ifndef GII_VECTOR	/*  ä¸è¬ä¸å½å½ä»¤  */
+#define GII_VECTOR	RESET_VECTOR
+#endif /* GII_VECTOR */
+
+#ifndef SII_VECTOR	/*  ã¹ã­ããä¸å½å½ä»¤  */
+#define SII_VECTOR	RESET_VECTOR
+#endif /* SII_VECTOR */
+
+#ifndef CAE_VECTOR	/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+#define CAE_VECTOR	RESET_VECTOR
+#endif /* CAE_VECTOR */
+
+#ifndef DAE_VECTOR	/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+#define DAE_VECTOR	RESET_VECTOR
+#endif /* DAE_VECTOR */
+
+#ifndef NMI_VECTOR	/*  NMI  */
+#define NMI_VECTOR	RESET_VECTOR
+#endif /* NMI_VECTOR */
+
+
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_context.h	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼SH2ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+	Asm("nop");
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *
+ *  ã¹ã¿ãã¯ä¸ã«ã¯ä½ãç©ã¾ãªã
+ *  activate_rã§ã¯runtskããå¿
+è¦ãªæ
+å ±ãåãåºããã®ã§ã
+ *  ã¹ã¿ãã¯ã«ç©ãå¿
+è¦ã¯ãªãï¼å¹çãæªãï¼
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	UW	*sp;
+
+	sp = (UW *)(((VB *) tcb->tinib->stk) + tcb->tinib->stksz);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;	/*  cpu_support.S  */
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *     
+ *      SH1/2ã§ã¯ã¹ã¿ãã¯ä¸ã«ããã¼é åããããªãã®ã§ããã¯ã­
+ *      ACTIVATED_STACK_SIZEã¯å®ç¾©ããªã
+ */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_defs.h	(revision 26)
@@ -0,0 +1,175 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼SH2ç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>	/*  SUPPORT_VXGET_TIMãã¯ã­ã®å®ç¾©  */
+
+
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸   */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2001-2004 by Industrial Technology Institute,\n" \
+"                            Miyagi Prefectural Government, JAPAN\n" \
+"Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN\n" \
+"   \n\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ *  
+ *  æ¬æ¥ã¯#ifdef SUPPORT_CHG_IPMã#endifã§å²ãã¹ãã ãã
+ *  ãã®ãã¡ã¤ã«ãcpu_config.hããå
+ã«ã¤ã³ã¯ã«ã¼ãããããã
+ *  çç¥ãã¦ããã
+ *  ãã®é¨åãæ®ããã¨ã«ãããçæãããã³ã¼ãã¯ã»ã¨ãã©ãªãã®ã§
+ *  å®å®³ã¯ãªãã¨å¤æ­ããã
+ */
+typedef	UINT	IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+
+/*
+ *  SILé¢é£ã®å®ç¾©
+ */
+
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+#define _current_intmask_	current_intmask
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+#define _set_intmask_		set_intmask
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ *  ãdisint()ãã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®ã¿ãç¦æ­¢ããã®ã«å¯¾ãã¦
+ *  ã_disint_()ã¯ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãå«ãã¦ç¦æ­¢ããã
+ *  ãå
+·ä½çã«ã¯GDB stubã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ã®æ±ããç°ãªãã
+ */
+Inline void
+_disint_(void)
+{
+	UW sr;
+
+	Asm("stc  sr,%0" : "=r"(sr));
+	sr |= 0x000000f0u;
+	Asm("ldc %0, sr" : : "r"(sr) : "memory", "t");
+}
+
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define	SIL_PRE_LOC	UW _intmask_ = _current_intmask_()
+#define	SIL_LOC_INT()	_disint_()
+#define	SIL_UNL_INT()	_set_intmask_(_intmask_)
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+
+#ifdef SUPPORT_VXGET_TIM
+typedef	UD	SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /*  SUPPORT_VXGET_TIM  */
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_insn.h	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2010 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼SH1/2ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_sr(void)
+{
+	UW sr;
+	Asm("stc  sr,%0" : "=r"(sr));
+	return(sr);
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UW sr)
+{
+	Asm("ldc %0, sr" : : "r"(sr) : "memory", "t");
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ *  ãï¼ã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®ã¿ç¦æ­¢ï¼
+ */
+Inline void
+disint(void)
+{
+    set_sr((current_sr() & ~0x000000f0u) |  (MAX_IPM << 4) );
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+	set_sr(current_sr() & ~0x000000f0u);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+current_vbr()
+{
+	VP	vbr;
+
+	Asm("stc vbr,%0" : "=r"(vbr));
+	return(vbr);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+Inline void
+set_vbr(VP vbr)
+{
+	Asm("ldc  %0, vbr" : : "r"(vbr) );
+}
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *ããæ©ç¨®éä¾å­é¨ã§ç¨æããé¢æ°ãå©ç¨ããã®ã§
+ *ããCPU_BITMAP_SEARCHãã¯ã­ã¯å®ç¾©ããªã
+ */
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.def	(revision 26)
@@ -0,0 +1,12 @@
+#cpu_support.S
+activate_r
+ret_int
+ret_exc
+no_reg_exception
+
+#cpu_config.c
+task_intmask
+int_intmask
+intnest
+BASE_VBR
+cpu_experr
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_rename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#define activate_r		_kernel_activate_r
+#define interrupt_entry		_kernel_interrupt_entry
+#define cpu_exception_entry	_kernel_cpu_exception_entry
+#define no_reg_exception	_kernel_no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#define task_intmask		_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define intnest			_kernel_intnest
+#define vector_table		_kernel_vector_table
+#define cpu_experr		_kernel_cpu_experr
+#define define_exc		_kernel_define_exc
+#define check_cpu_exc_entry	_kernel_check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#define start			_kernel_start
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#define _activate_r		__kernel_activate_r
+#define _interrupt_entry	__kernel_interrupt_entry
+#define _cpu_exception_entry	__kernel_cpu_exception_entry
+#define _no_reg_exception	__kernel_no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask		__kernel_int_intmask
+#define _intnest		__kernel_intnest
+#define _vector_table		__kernel_vector_table
+#define _cpu_experr		__kernel_cpu_experr
+#define _define_exc		__kernel_define_exc
+#define _check_cpu_exc_entry	__kernel_check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#define _start			__kernel_start
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_support.S	(revision 26)
@@ -0,0 +1,1230 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.6 2005/09/09 02:35:37 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼SH1/2ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+ * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+ * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+ * TCB_pc,TCB_spã¯offset.hã§å®ç¾©ããã¦ãã
+ * (makeæã«çæãããï¼
+ */
+
+/*  ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ãå¯è½ããã§ãã¯  */
+#define CHECK_IMMEDIATE_ADDRESSING(dst)			\
+			((dst <= 60) && ((dst % 4) == 0))
+
+#if CHECK_IMMEDIATE_ADDRESSING(TCB_pc) && 		\
+	CHECK_IMMEDIATE_ADDRESSING(TCB_sp)
+#define TCB_SHORT
+#endif
+
+/*
+ * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã128ãã¤ã
+ * ä»¥éã«é
+ç½®ããã¦ããã¨
+ * mov    #TCB_sp,r9
+ * ç­ã®ç¬¦å·æ¡å¼µãå«ãå½ä»¤ã¯æå¾
+éãã«åä½ããªã
+ */
+#if (TCB_pc > 127) || (TCB_sp > 127)
+#error "TCB_pc <= 127 ?"
+// ããã§ã¢ã»ã³ãã«ã¨ã©ã¼
+#endif
+
+#if !CHECK_IMMEDIATE_ADDRESSING(TCB_texptn)
+#error "TCB_texptn ?"
+// ããã§ã¢ã»ã³ãã«ã¨ã©ã¼
+#endif
+
+/*
+ * ãã®ä»ã®ãªãã»ããå¤ã«ã¤ãã¦
+ * 
+ * (1) TCB_enatex
+ *    mov.b @(#TCB_enatex,rx),r0å½ä»¤ã®å³å¤ã¯ã¼ã­æ¡å¼µãããã®ã§
+ *    TCB_enatexã«é¢ãã¦ã¯ãã§ãã¯ããå¿
+è¦ããªã
+ *    ï¼ã¢ã¯ã»ã¹ã§ããç¯å²15ãã¤ããè¶
+ããã¨ãã¢ã»ã³ãã«ã¨ã©ã¼ã«ãªãï¼
+ * 
+ * (2) TCB_enatex_mask
+ *    and  #TCB_enatex_mask,r0å½ä»¤ã®å³å¤ã¯ã¼ã­æ¡å¼µãããã®ã§
+ *    TCB_enatex_maskã«é¢ãã¦ã¯ãã§ãã¯ããå¿
+è¦ããªã
+ */
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *    ãdispatch ã¯ãå²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+
+ *    ã§å¼ã³åºããªããã°ãªããªãï¼exit_and_dispatch ãï¼å²è¾¼ã¿ãã¹ã
+ *    ã«ã¦ã³ã¿ = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«
+ *    èµ·åæã«å¯¾å¿ããããï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 1ã§å¼ã³åºããå ´åã«
+ *    ãå¯¾å¿ãã¦ããï¼
+ */
+
+	.text
+	.align 2
+	.global _dispatch
+_dispatch:
+				/* pr,r8ãr15 ãã¹ã¿ãã¯ã«ä¿å­           */
+	mov.l  r8, @-r15       	/* r0ãr7ã¯å¼ã³åºãå
+ã§ä¿å­ãã¦ãããã  */
+	mov.l  r9, @-r15        /* ä¿å­ããå¿
+è¦ãç¡ã                    */
+	mov.l  r10,@-r15
+	mov.l  r11,@-r15
+	mov.l  r12,@-r15
+	mov.l  r13,@-r15
+	mov.l  r14,@-r15
+	sts.l  pr,@-r15
+	mov.l  _runtsk_dis,r2   /* r0 <- runtsk                          */
+	mov.l  @r2,r0
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+#ifdef TCB_SHORT
+				/*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­ 	*/
+	mov.l	r15,@(TCB_sp, r0)
+	mov.l   dispatch_r_k,r1  /* å®è¡åéçªå°	                */
+	bra     dispatcher
+	mov.l	r1,@(TCB_pc, r0)	/*  é
+å»¶ã¹ã­ãã   		*/
+#else	/*  TCB_SHORT  */
+	mov    #TCB_sp,r9
+	mov.l  r15,@(r0,r9)     /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­                 */
+	mov    #TCB_pc,r8
+	mov.l  dispatch_r_k,r1  /* å®è¡åéçªå°ãä¿å­                   */
+	bra    dispatcher
+	mov.l  r1,@(r0,r8)	/*  é
+å»¶ã¹ã­ãã  			*/
+#endif	/* TCB_SHORT */
+
+	/*
+	 * dispatch_r:
+	 * ãã¿ã¹ã¯ã³ã³ãã³ã³ãã­ã¹ãã§ãã£ã¹ãããã£å¼ã³åºããããå ´åã®
+	 * ãå®è¡åéçªå°
+	 * ãdispatcherããå¼ã°ããã®ã§ãr7ã«runtskãä»£å
+¥ããã¦ãã
+	 * 
+	 * ããã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * ãããr7 ï¼runtsk
+	 * ãããr0 ï¼runtsk->enatex
+	 * ããã     mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«
+	 * ããã     åºå®ããã¦ãã
+	 * ãããr1 ï¼runtsk->texptn
+	 * ãããr2 ï¼call_texrtn()ã®å
+é ­ã¢ãã¬ã¹
+	 * 
+	 */
+dispatch_r:
+	lds.l  @r15+,pr			/* ã¬ã¸ã¹ã¿ãå¾©å¸°               */
+	mov.l  @r15+,r14
+	mov.l  @r15+,r13
+	mov.l  @r15+,r12
+	mov.l  @r15+,r11
+	mov.l  @r15+,r10
+	mov.l  @r15+,r9
+	mov.l  @r15+,r8
+	mov.b  @(TCB_enatex,r7),r0	/*  ãªãã©ã³ããr0ã«åºå® (c)  */
+	mov.l  @(TCB_texptn,r7),r1
+	and    #TCB_enatex_mask,r0
+	tst    r0,r0			/*  runtsk->enatexã®ãã§ãã¯ 	*/
+	bt     _dispatch_r_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	tst    r1,r1			/*  runtsk->texptnã®ãã§ãã¯  	*/
+	bt     _dispatch_r_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  _call_texrtn_dis,r2 /* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å	*/
+	jmp    @r2		/*ï¼dispatch()å¼ã³åºãå
+ã«ãªã¿ã¼ã³ããï¼*/
+	nop			/*  é
+å»¶ã¹ã­ããã			*/
+_dispatch_r_1:
+	rts			/*  dispatch()å¼ã³åºãå
+ã¸ã®ãªã¿ã¼ã³  	*/
+	nop			/*  é
+å»¶ã¹ã­ããã			*/
+
+
+	.global _exit_and_dispatch
+_exit_and_dispatch:
+				/*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢  	*/
+	mov.l  _intnest_dis, r1
+	mov    #0,r0
+	mov.l  r0,@r1
+
+/*
+ *  ãã£ã¹ãããã£æ¬ä½
+ *  
+ */
+dispatcher:
+	/*
+	 * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+	 */
+	mov.l  _schedtsk_dis,r1
+	mov.l  _runtsk_dis,r2
+	mov.l  @r1,r7		/* r7 <- schedtsk  */
+	mov    #0, r0		/* (b) ãããããã*/
+
+	/*
+	 * ããã§runtskã«schedtskãä»£å
+¥ããã®ã¯ï¼ã¤ã®æå³ãããã
+	 * ã(1) schedtsk != NULLã®å ´å
+	 * ããããéå¸¸ã®ã¿ã¹ã¯åãæ¿ããè¡ãã
+	 * ã(2) schedtsk == NULLã®å ´å
+	 * ããããruntskã«NULLãä»£å
+¥ãã¦ããã
+	 * ããããï¼dispatcher_1ä»¥éã®å²è¾¼ã¿å¾
+ã¡ã§å²è¾¼ã¿ãå
+¥ãããã®ä¸­ã§
+	 * ãããããiget_tid()ãã³ã¼ã«ãããã¨ãã«æ­£ããTSK_NONEãè¿ããã
+	 * ãããããã«ã¯ãå®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãæã«ãruntskãNULLã«ãã¦
+	 * ãããããããå¿
+è¦ããããï¼
+	 */
+	mov.l  r7,@r2               /* runtskâschedtskã               */
+
+	cmp/eq r7,r0                /* schedtsk ããããï¼ (a) æ«å°¾åç
+§ */
+	bt     dispatcher_1         /* ç¡ããã°ã¸ã£ã³ã                 */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBããå®è¡åéçªå°ãåãåºãã¦
+	 * åå²ããã
+	 * åå²å
+ã¯ä»¥ä¸ã®3ã¤
+	 * ãdispatch_rï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãã£ã¹ãããå¼ã³åºã
+	 * ãret_int_r ï¼å²è¾¼ã¿ã®åºå£å¦ç
+	 * ãactivate_rï¼èµ·åç´å¾
+	 * 
+	 * ãåå²å
+ã§ã¯r7ã«runtsk(=schedtsk)ãã­ã¼ãããã¦ããã¨ãã¦
+	 * ãä½¿ç¨ãã¦è¯ã
+	 */
+#ifdef TCB_SHORT
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+					/* å®è¡åéçªå°ãå¾©å¸°           */
+	mov.l	@(TCB_pc, r7),r1
+	jmp     @r1
+	mov.l	@(TCB_sp, r7),r15      /*  é
+å»¶ã¹ã­ãã		*/
+					/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ */
+#else	/*  TCB_SHORT  */
+	mov    #TCB_pc,r8
+	mov.l  @(r7,r8),r1          	/* å®è¡åéçªå°ãå¾©å¸°		*/
+	mov    #TCB_sp,r9
+	jmp    @r1
+	mov.l  @(r7,r9),r15         	/* é
+å»¶ã¹ã­ãã			*/
+					/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ */
+#endif	/* TCB_SHORT */
+
+
+dispatcher_1:
+	/*
+	 *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+	 *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+	 */
+
+
+	/* ã¤ããã£ã¨ã¤ãå¤ãæ¯åèª­ã¿è¾¼ãã®ã¯å¹çãæªãã®ã§äºåã«ç¨æãã
+	 * 	r0  : 0x00
+	 * 	r1  : 0x01
+	 * 	r8  : å²ãè¾¼ã¿ç¦æ­¢ä¸­ã®SRã®å¤   
+	 * 	r9  : å²ãè¾¼ã¿è¨±å¯ä¸­ã®SRã®å¤
+	 * 	r10 : reqflgã®çªå°
+	 * 	r11 : å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿intnestã®çªå°       
+	 */
+	mov    #0,r0
+	mov    #1,r1
+	mov.l  _mask_ipm_dis,r8
+
+#ifdef SUPPORT_CHG_IPM
+	mov.l  _task_intmask_dis,r2  /*  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®IPM  */
+	mov.l  @r2,r9
+#else /* SUPPORT_CHG_IPM */
+	mov    #0,r9
+#endif /* SUPPORT_CHG_IPM */
+
+	mov.l  _reqflg_dis,r10
+	mov.l  _intnest_dis,r11
+	    			
+	mov.l  _stacktop_dis,r15  /* ã¹ã¿ãã¯ãå²è¾¼ã¿ã¹ã¿ãã¯ã«åæ¿ã */
+	mov.l  r1,@r11		  /* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãï¼ã«ãã   */
+dispatcher_2:
+	ldc    r9,sr		  /* å²ãè¾¼ã¿è¨±å¯                     */
+
+	/*
+	 *ãRelase1.4.1ã§è§£æ±ºãããå¶éäºé 
+
+	 *ã
+	 *ããã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==
+	 *ãNULLï¼å ´åã¯ãsleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«å
+	 *ããæ¿ãã¦å²è¾¼ã¿å¾
+ã¡ããã¦ããã
+	 *ã
+	 *ãå²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®
+	 *ãå®è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ã
+	 *ãsleepå½ä»¤å®è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®
+	 *ãå®è¡ã¨å
+±ã«å²è¾¼ã¿ãåãä»ãããããã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«
+	 *ããªããreqflgã®ãã§ãã¯ã«é²ã¾ãªãã
+	 *ãï¼1msecä»¥å
+ã«ã¿ã¤ãå²è¾¼ã¿ãå
+¥ããããå®éã«ã¯sleepããã¾ã¾ã¨
+	 *ããããã¨ã¯ãªããï¼
+	 *ã
+	 *ããã®åé¡ã¯ãå²è¾¼ã¿ã®è¨±å¯ã¨sleepç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®
+	 *ãè¡ã§ããªããã¨ã«èµ·å ãããSH3ä»¥éã§ã¯IPMã¨ã¯å¥ã«SRã®BLããã
+	 *ããä½¿ã£ã¦å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯ãå¶å¾¡ãããã¨ã«ããããã®åé¡ãå
+	 *ãé¿ã§ããããSH1/2ã§ã¯IPMãè¨­å®ããä»¥å¤ã«å²è¾¼ã¿ãç¦æ­¢ï¼è¨±å¯ã
+	 *ããæ¹æ³ããªããå²è¾¼ã¿è¨±å¯ï¼å²è¾¼ã¿å¾
+ã¡ã®IPMè¨­å®ï¼ã¨sleepãã¢ã
+	 *ãããã¯ã«è¡ãæ¹æ³ããªãã
+	 *ãããã§SH1ä¾å­é¨ã§ã¯ãå²è¾¼ã¿åä»æã«ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçª
+	 *ãå°ãå¤éå²è¾¼ã¿ã®åºå£å¦çã§ãã§ãã¯ããæ»ãçªå°ãä¸è¨ã®sleep
+	 *ãå½ä»¤ã«è©²å½ããå ´åã¯æ»ãçªå°ã1å½ä»¤åï¼2ãã¤ãï¼é²ãããã¨ã«
+	 *ããããã®åé¡ãåé¿ãã¦ããã
+	 *ããã ãããã®æ¹æ³ã§ã¯å¤éå²è¾¼ã¿ã®åºå£å¦çã«æ°å½ä»¤ã®ãªã¼ãã¼
+	 *ãããããçããã
+	 *ãOMIT_POWER_CONTROLãã¯ã­ãå®ç¾©ãããã¨ã§sleepå½ä»¤ã®ä»£ããã«
+	 *ãnopå½ä»¤ãæ¿å
+¥ãããå¤éå²è¾¼ã¿ã®åºå£å¦çã§ã®ãã§ãã¯ã«ã¼ãã³
+	 *ãã¯çç¥ããããï¼ãã®å ´åã¯æ¶è²»é»åã®ç¹ã§ä¸å©ã«ãªããï¼
+	 */
+#ifndef OMIT_POWER_CONTROL
+_waiting_interrupt:
+	sleep    		    /* å²è¾¼ã¿å¾
+ã¡                       */
+#else	/*  OMIT_POWER_CONTROL  */
+	nop
+#endif	/*  OMIT_POWER_CONTROL  */
+	ldc    r8,sr		    /* å²ãè¾¼ã¿ç¦æ­¢                     */
+	mov.l  @r10,r2		    /* reqflgã®ãã§ãã¯   		*/
+	tst    r2,r2		    /* FALSEãªãã°ããã1åº¦å²ãè¾¼ã¿å¾
+ã¡  */
+	bt     dispatcher_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  r0,@r10		    /* reqflgã®ã¯ãªã¢   		*/
+	bra    dispatcher
+	mov.l  r0,@r11		    /*  é
+å»¶ã¹ã­ãã  */
+				    /*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ 	*/
+
+	/*
+	 *ãå²è¾¼ã¿å¾
+ã¡ã®ç´åã«è¡ã£ãã¹ã¿ãã¯åæ¿ã®æ»ããè¡ã£ã¦ããªããã
+	 *ããã£ã¹ãããã£ã®åºå£ã§TCBããåãåºããå¤ãã¹ã¿ãã¯ãã¤ã³
+	 *ãã¿ã«è¨­å®ããã®ã§åé¡ãªãã
+	 */
+
+
+	.align 4
+_runtsk_dis:
+	.long _runtsk
+_schedtsk_dis:
+	.long _schedtsk
+_call_texrtn_dis:
+	.long _call_texrtn
+_mask_ipm_dis:
+	.long MAX_IPM << 4	/* å²è¾¼ã¿ç¦æ­¢æã®SRã®å¤  		*/
+dispatch_r_k:
+	.long dispatch_r
+_stacktop_dis:
+	.long STACKTOP		/* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤	*/
+
+_intnest_dis:	  		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿  	*/
+	.long _intnest
+_reqflg_dis:
+	.long _reqflg
+
+#ifdef SUPPORT_CHG_IPM
+_task_intmask_dis:		/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿ãã¹ã¯   	*/
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ã®å
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ã®éã®ã¹ã¿ãã¯ãã¤ã³ã¿ãæãç¤ºãä½ç½®ãã
+ *ãSR,PCã®ã³ãã¼ãããå ´æã¾ã§ã®ãªãã»ãã
+ *ãããã
+ *ãããããã§ããã¹ã¿ãã¯ãã¤ã³ã¿ã¨ã¯å²è¾¼ã¿ï¼CPUä¾å¤ã®å
+¥å£å¦çã§
+ *ããããã­ã·ã¼ã¸ã£ã¬ã¸ã¹ã¿PRã®éé¿ãçµãã£ãç´å¾ã®å¤ãæå³ããã
+ *ãããSRã¯ã¹ã¿ãã¯å
+é ­ãã40ãã¤ãä¸ã«ãPCã¯36ãã¤ãä¸ã«ç©ã¾ãã¦
+ *ããããããããï¼ret_int_3ãåç
+§ï¼
+ */
+#define	SP_SR_OFFSET	40
+#define	SP_PC_OFFSET	36
+
+/*
+ *  CPUä¾å¤ã®å
+¥å£å¦çã®ç¶ã
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ *  ã
+ *  ä¸è¬ä¸å½å½ä»¤ã®å ´åã¯æ»ãçªå°ã2ãã¤ãé²ããå¿
+è¦ãããã
+ *  å¯¾å¿ãã¦ããªã
+ *  ï¼GDB stubããã¬ã¼ã¯ãã¤ã³ãã¨ãã¦ä½¿ç¨ãããï¼
+ *  ã
+ * ããCPUä¾å¤è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr4ï¼Cè¨èªã«ã¼ãã³ã®å¼æ°
+ * ãããããã¹ã¿ãã¯ä¸ã«ç©ã¾ããSRã®ã¢ãã¬ã¹
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl _cpu_exception_entry
+_cpu_exception_entry:
+			/*  æ®ãã®ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ç©ãã	*/
+	mov.l	r3,@-r15
+	mov.l	r4,@-r15
+	mov.l	r5,@-r15
+	mov.l	r6,@-r15
+	mov.l	r7,@-r15
+	sts.l	pr,@-r15
+	mov	r15,r4		/*  Cè¨èªã«ã¼ãã³ã®å¼æ°è¨­å®  		*/
+	add	#SP_SR_OFFSET, r4
+			/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	mov.l	_intnest_int, r5
+	mov.l	@r5,r6
+	tst     r6,r6   	/* CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããå¤å®  	*/
+	add	#0x1,r6		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+				/*  addå½ä»¤ã§ã¯srã®Tãããã¯å¤åããªã	*/
+	mov.l	r6,@r5
+				/* å¤éä¾å¤ãªãã¸ã£ã³ã   		*/
+	bf	_exc_from_int
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+									
+/* 	åæ®µã®CPUä¾å¤ã®å ´å 						*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	mov     r15,r7
+				/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	mov.l   _stacktop_int,r15
+	ldc  	r1,sr		/*  å²è¾¼ã¿è¨±å¯  */			
+	jsr	@r2		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+	mov.l	r7,@-r15 	/*  é
+å»¶ã¹ã­ããã  			*/
+				/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+									
+				/*  å²è¾¼ã¿ç¦æ­¢		*/		
+	mov.l	_mask_ipm_int,r0
+	ldc	r0,sr
+				/* å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ */
+	mov.l	_intnest_int,r0
+	mov	#0x0,r1
+	mov.l	r1,@r0
+	mov.l	@r15,r15	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	mov.l	_reqflg_int,r4
+        mov.l	@r4,r5
+	tst	r5,r5
+	bt   	1f		/*  reqflg=FALSEã®å ´åã¯ret_to_task_excã¸ */
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+	bra	ret_exc		/*  reqflg=TRUEã®å ´åã¯ret_excã¸	*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+	/*
+	 *ãbtå½ä»¤ã§ã¯ret_to_task_excã«å±ããªãã®ã§ãbraå½ä»¤ãï¼ã¯ãã·ã§ã³
+	 *ãå
+¥ããã
+	 */
+1:									
+	bra	ret_to_task_exc	/*  reqflg=FALSEã®å ´å			*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+
+/* å¤éCPUä¾å¤ã®å ´å 							*/
+/* 	CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããå¤å¥å¾ã 				*/
+/*   		å²è¾¼ã¿ç¦æ­¢ 						*/
+/*   		r1ï¼å²è¾¼ã¿åä»æã®srã®ã³ãã¼ 				*/
+/*   		r2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹				*/
+/*   		r4ï¼Cè¨èªã«ã¼ãã³ã®å¼æ°					*/
+/* 	ã®ç¶æ
+ã§ããã«é£ãã§ãã 					*/
+/* 	Cè¨èªã«ã¼ãã³ã®å¼æ°è¨­å®ã¨å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã® 		*/
+/* 	ã¤ã³ã¯ãªã¡ã³ãã¯æ¸ãã§ãã 					*/
+									
+_exc_from_int:
+	jsr	@r2			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã 	*/
+	ldc	r1,sr			/*  å²è¾¼ã¿è¨±å¯ï¼é
+å»¶ã¹ã­ããï¼	*/
+									
+	mov.l	_mask_ipm_int,r0	/*  å²è¾¼ã¿ç¦æ­¢			*/
+	ldc	r0,sr
+		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ããã£ã¯ãªã¡ã³ã	*/
+	mov.l	_intnest_int,r3
+	mov.l	@r3,r4
+	add	#-1,r4
+	bra	_ret_to_exc
+	mov.l	r4,@r3		/*  é
+å»¶ã¹ã­ãã 			*/
+
+
+/*
+ *  å²è¾¼ã¿ã®å£å¦çã®ç¶ã
+ *
+ * ããå²è¾¼ã¿è¦å æ¯ã«å±éãããã«ã¼ãã³ã§r0,r1ãä¿å­ãã
+ * ããå²è¾¼ã¿ç¦æ­¢ã«ããå¾ã
+ *ããããr1ï¼å²è¾¼ã¿åä»ç´å¾ã®SRã®ã³ãã¼
+ *ããããr2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ * ããã®ç¶æ
+ã§ããã«æ¥ãã
+ * ãã
+ * ããã¬ã¸ã¹ã¿å²å½
+ * ãããr7ï¼ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿
+ */
+	.text
+	.align 2
+	.globl _interrupt_entry
+_interrupt_entry:
+			/*  æ®ãã®ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ç©ãã	*/
+	mov.l	r3,@-r15
+	mov.l	r4,@-r15
+	mov.l	r5,@-r15
+	mov.l	r6,@-r15
+	mov.l	r7,@-r15
+	sts.l	pr,@-r15
+			/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã§ãã¯ 	*/
+	mov.l	_intnest_int, r5
+	mov.l	@r5,r6
+	tst     r6,r6   	/* å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å®  	*/
+	add	#0x1,r6		/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+				/*  addå½ä»¤ã§ã¯srã®Tãããã¯å¤åããªã	*/
+	mov.l	r6,@r5
+				/* å¤éå²è¾¼ã¿ãªãã¸ã£ã³ã   		*/
+	bf	_interrupt_from_int
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+									
+/* 	åæ®µã®å²è¾¼ã¿ã®å ´å 						*/
+				/* ã¹ã¿ãã¯å
+¥ãæ¿ãåã®			*/
+				/* ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­        	*/
+	mov     r15,r7
+				/* å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã		*/
+	mov.l   _stacktop_int,r15
+	ldc  	r1,sr		/*  å²è¾¼ã¿è¨±å¯  */			
+	jsr	@r2		/* Cè¨èªã«ã¼ãã³å¼ã³åºã		*/
+	mov.l	r7,@-r15 	/*  é
+å»¶ã¹ã­ããã  			*/
+				/*    ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ã		*/
+				/*    å²è¾¼ã¿ã¹ã¿ãã¯ã«ç©ã  		*/
+									
+				/*  å²è¾¼ã¿ç¦æ­¢		*/		
+	mov.l	_mask_ipm_int,r0
+	ldc	r0,sr
+				/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢*/
+	mov.l	_intnest_int,r0
+	mov	#0x0,r1
+	mov.l	r1,@r0
+	mov.l	@r15,r15	/* ã¹ã¿ãã¯åæ¿ã  			*/
+				/* reqflgã®ãã§ãã¯                    	*/
+	mov.l	_reqflg_int,r4
+        mov.l	@r4,r5
+	tst	r5,r5
+	bt   	ret_to_task_int	/*  reqflg=FALSEã®å ´å 			*/
+	/*  é
+å»¶ã¹ã­ãããªã  */					
+	bra	ret_int		/*  reqflg=TRUEã®å ´å			*/
+	nop			/*  é
+å»¶ã¹ã­ãã 			*/
+
+										
+/* å¤éå²è¾¼ã¿ã®å ´å 							*/
+/* 	å²è¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å¥å¾ã 				*/
+/*   		å²è¾¼ã¿ç¦æ­¢ 						*/
+/*   		r1ï¼å²è¾¼ã¿åä»æã®srã®ã³ãã¼ 				*/
+/*   		r2ï¼Cè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹				*/
+/* 	ã®ç¶æ
+ã§ããã«é£ãã§ãã 					*/
+/* 	ï¼å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ãã¯æ¸ãã§ããï¼ 		*/
+									
+_interrupt_from_int:
+	jsr	@r2			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã 	*/
+	ldc	r1,sr			/*  å²è¾¼ã¿è¨±å¯ï¼é
+å»¶ã¹ã­ããï¼	*/
+									
+	mov.l	_mask_ipm_int,r0	/*  å²è¾¼ã¿ç¦æ­¢			*/
+	ldc	r0,sr
+		/* å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ããã£ã¯ãªã¡ã³ã	*/
+	mov.l	_intnest_int,r3
+	mov.l	@r3,r4
+	add	#-1,r4
+	mov.l	r4,@r3
+
+
+/*   å¤éå²è¾¼ã¿ï¼CPUä¾å¤ããã®å¾©å¸°å¦ç
+ *
+ *   	ã»ãã£ã¹ããããã¿ã¹ã¯ä¾å¤å¦çãå¿
+è¦ãªã
+ * 	ã»chg_ipm()ã®å¦çã¯å¿
+è¦ãªã
+ * 	ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã¯ãchg_ipm()ã¯ä½¿ç¨ä¸å¯ï¼
+ *
+ *
+ *    ãã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==NULLï¼å ´å
+ *    ã¯ãsleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«åãæ¿ãã¦å²è¾¼ã¿å¾
+
+ *    ã¡ããã¦ãããï¼dispatcher_2ä»è¿ãåç
+§ï¼
+ *    
+ *    å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡å
+ *    ã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ãsleepå½ä»¤å®
+ *    è¡åã«å²è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ã
+ *    åãä»ãããããã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«ãªã£ã¦ãã¾ãã
+ *    ï¼reqflgã®ãã§ãã¯ã«é²ã¾ãªããï¼ãã®åé¡ã¯ãå²è¾¼ã¿ã®è¨±å¯ã¨sleep ç¶
+ *    æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®è¡ã§ããªããã¨ã«èµ·å ããã
+ *    ãããé²ããããå²è¾¼ã¿ã®åºå£ã§æ»ãå
+ã¢ãã¬ã¹ãåé¡ã®sleepå½ä»¤ã§ã
+ *    ãå ´åãæ»ãçªå°ã1å½ä»¤åé²ããå¦çããã¦ãããï¼å®è¡ãã¹ãã¿ã¹ã¯
+ *    ããªãããã£ã¹ãããã£å
+ã§å²è¾¼ã¿å¾
+ã¡ä¸­ã«å²è¾¼ã¿ãåãä»ããå ´åã¯ã
+ *    ãã£ã¹ãããã£ã®äºéå¼ã³åºããé¿ãããããå¤éå²è¾¼ã¿ã¨ãã¦å¦çãã¦
+ *    ãããããä¸è¨ã®_ret_to_intãééããã
+ */
+_ret_to_int:
+_ret_to_exc:
+
+#ifndef OMIT_POWER_CONTROL
+				/*  r4âã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°	*/
+	mov.l	@(SP_PC_OFFSET, r15), r4
+	mov.l	_waiting_interrupt_int, r5
+	cmp/eq	r4, r5
+	bf	_ret_to_int_1
+	add	#2, r4
+	mov.l	r4, @(SP_PC_OFFSET, r15)
+#endif	/*  OMIT_POWER_CONTROL  */
+
+_ret_to_int_1:
+	lds.l	@r15+,pr    	/*  ã¬ã¸ã¹ã¿å¾©å
+  			*/
+	mov.l	@r15+,r7
+	mov.l	@r15+,r6
+	mov.l	@r15+,r5
+	mov.l	@r15+,r4
+	mov.l	@r15+,r3
+	mov.l	@r15+,r2
+	mov.l	@r15+,r1
+	mov.l	@r15+,r0
+	rte		    	/*  å²è¾¼ã¿å
+ã«æ»ã  			*/
+	nop
+									
+	.align 4
+_stacktop_int:			/* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  	*/
+	.long  STACKTOP
+_intnest_int:	    		/*  å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿  	*/
+	.long  _intnest
+_reqflg_int:
+	.long  _reqflg
+_mask_ipm_int:	    		/*  å²è¾¼ã¿ç¦æ­¢ç¨ãã¹ã¯  		*/
+	.long  MAX_IPM << 4	/*  ipmä»¥å¤ã®ãããã¯ã¼ã­ã§è¯ã	*/
+
+#ifndef OMIT_POWER_CONTROL
+_waiting_interrupt_int:
+	.long  _waiting_interrupt
+#endif	/*  OMIT_POWER_CONTROL  */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã
+ * ä¿å­ããç¶æ
+ã§å¼ã³åºããã¨ã
+ *
+ * r4ã«ã¯å¤æ°reqflgã®ã¢ãã¬ã¹ãä»£å
+¥ãããç¶æ
+ã§ããã«æ¥ãã
+ *
+ */
+	.text
+	.align 2
+ret_int:
+ret_exc:
+	/*
+	 *ãæ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãå¦ãã®å¤å¥
+	 *ã
+	 *ãSH1ã§ã¯å²è¾¼ã¿åä»ç´å¾ã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªããããå²è¾¼ã¿A
+	 *ãã®å
+¥å£å¦çä¸­ã«å¥ã®å²è¾¼ã¿Bãå
+¥ãå¯è½æ§ããããï¼ããã¯ãã¼ã
+	 *ãã¦ã§ã¢ã®ã¢ã¼ã­ãã¯ãã£ä¸é¿ãããããªããï¼å²è¾¼ã¿ãã³ãã©Bå
+
+	 *ãã§ã¿ã¹ã¯åãæ¿ããèµ·ãããããªãµã¼ãã¹ã³ã¼ã«ãå¼ã¶ã¨å²è¾¼ã¿B
+	 *ãã®åºå£å¦çã§å¥ã®ã¿ã¹ã¯ã«ãã£ã¹ããããã¦ãã¾ããã¿ã¹ã¯2ãã
+	 *ãå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¾ã§ãå²è¾¼ã¿Aã®å¦çãé
+ãã¦ãã¾ãã
+	 *ãã¾ããå²è¾¼ã¿Aãã¬ãã«ããªã¬ã ã¨2åæ¤åºããã¦ãã¾ãåé¡ãããã
+	 *ããããé²ããããã¹ã¿ãã¯ã«ç©ãã§ããæ»ãå
+ã®IPMã¨task_intmask
+	 *ãã®å¤ãæ¯è¼ãã¦ãå
+¥å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ããªãã£ãããã§ãã¯ã
+	 *ãã¦ããããã£ã¹ãããããåã®ã¿ã¤ãã³ã°ã§å¤å¥ãã¦ããã®ã§ã
+	 *ãchg_ipm()ã§task_intmaskãæ¸ãæãããã¦ããå¿é
+ã¯ãªãã
+	 */
+				/*  	r0âã¹ã¿ãã¯ã«ç©ã¾ããsr  	*/
+	mov.l  @(SP_SR_OFFSET,r15),r0
+#ifdef SUPPORT_CHG_IPM
+	mov.l  _task_intmask_ret,r2 /*  r2â&task_intmask  		*/
+	and    #0xf0, r0	/*  	IPMåãåºã  			*/
+	mov.l  @r2,r3		/*  	r3âtask_intmask  		*/
+	cmp/eq r0, r3		/*  	æ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãï¼ 	*/
+#else /* SUPPORT_CHG_IPM */
+	/*
+	 *ãchg_ipmããµãã¼ãããªãå ´åã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã®IPMã¯
+	 *ãå¸¸ã«0x0
+	 */
+	and    #0xf0, r0	/*  	IPMåãåºã  			*/
+	cmp/eq #0x00, r0	/*  	æ»ãå
+ãå²è¾¼ã¿ã®å
+¥å£å¦çãï¼ 	*/
+#endif /* SUPPORT_CHG_IPM */
+	bf     ret_to_task_int	/*    	ãã£ã¹ãããããªãã§å²è¾¼ã¿å
+ã«	*/
+				/*	æ»ãå¦çã¸			*/
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+	/*
+	 *ãæ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çãå¦ãã®å¤å¥
+	 *ã
+	 *ãSH1ã§ã¯CPUä¾å¤ãå²è¾¼ã¿ã¨ã»ã¼åãåºå
+¥å£å¦çãè¡ã£ã¦ãããã
+	 *ãCPUä¾å¤ãåãä»ãã¦ãå²è¾¼ã¿ãã¹ã¯ã¯å¤åããªããCPUä¾å¤ã®å
+¥
+	 *ãå£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ã£ãå ´åã«åãã¦ãã¹ã¿ãã¯ä¸ã«ç©ã¾ãã
+	 *ãæ»ãçªå°ãä½¿ã£ã¦å¤å¥ãè¡ãã
+	 *ã
+	 *ã
+	 *ããcheck_exc_entry()ã®API
+	 *ãããå¼æ°r4ï¼ã¹ã¿ãã¯ä¸ã«ç©ã¾ããæ»ãçªå°
+	 *ãããæ»ãå¤r0ï¼
+	 *ããããã1ï¼æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦ç
+	 *ããããã0ï¼ããä»¥å¤
+	 */
+	mov.l	_check_exc_entry_ret, r1
+	jsr	@r1			/*  Cè¨èªã«ã¼ãã³å¼ã³åºã  	*/
+	mov.l	@(SP_PC_OFFSET, r15), r4 /* å¼æ°è¨­å®ï¼é
+å»¶ã¹ã­ããï¼  	*/
+	
+	tst	r0, r0		/*  æ»ãå¤ã®å¤å®  */
+	bf     ret_to_task_int	/*    æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ããã°  */
+				/*ãããã£ã¹ãããããªãã§å²è¾¼ã¿å
+ã«æ»ã */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+	/*  
+	 *ãreqflgã®ã¯ãªã¢
+	 *ã
+	 *ãããã«å°éããåã«reqflgãã¯ãªã¢ãã¦ãã¾ãã¨ãä¸è¨ã®å²è¾¼ã¿A
+	 *ãã®åºå£å¦çã§ãã£ã¹ãããã£å¼ã³åºããå¿
+è¦ãªã±ã¼ã¹ã§ããã£ã¹
+	 *ããããã£ãå¼ã³åºãããªãã
+	 *ãï¼å²è¾¼ã¿Bã§reqflgãã»ãããã¦ãå²è¾¼ã¿Aã§reqflgã«å¤åããªãå ´
+	 *ããåï¼
+	 */
+	mov	#0x0, r0
+	mov.l  _reqflg_ret,r1
+	mov.l	r0, @r1		/* reqflg <- 0			   */ 
+	
+	mov.l  _runtsk_ret,r1   /* r7 <- runtsk                    */
+	mov.l  @r1,r7
+	mov.l  _enadsp_ret,r2   /* enadspã®ãã§ãã¯                */
+	mov.l  @r2,r3
+	tst    r3,r3		/* ãã£ã¹ãããç¦æ­¢ãªãret_int_1ã¸ */
+	bt     ret_int_1
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+	mov.l  _schedtsk_ret,r4 /* r5 <- schedtsk                  */
+	mov.l  @r4,r5
+	cmp/eq r7,r5            /* runtsk ã¨ schedtsk ãæ¯è¼       */
+	bt     ret_int_1	/*  åããªãret_int_1ã¸  	   */
+	/*  é
+å»¶ã¹ã­ãããªã  */
+
+        mov.l  r8,@-r15        	/* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­            */
+        mov.l  r9,@-r15
+        mov.l  r10,@-r15
+        mov.l  r11,@-r15
+        mov.l  r12,@-r15
+        mov.l  r13,@-r15
+        mov.l  r14,@-r15
+	sts.l  mach,@-r15
+	sts.l  macl,@-r15
+	stc.l  gbr,@-r15
+	/*
+	 * ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯TCBä¸­ã®sp,pcãå
+é ­ãã60ãã¤ãã®
+	 * ç¯å²å
+ã«ãããã¢ã©ã¤ã³ã¡ã³ãã4ãã¤ãå¢çã«ãªã£ã¦ããã°ã
+	 * ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ã§ã¢ã¯ã»ã¹ã§ãã
+	 */
+#ifdef TCB_SHORT
+				/*  ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­  */
+	mov.l  r15,@(TCB_sp, r7)
+	mov.l  ret_int_r_ret,r1	/* å®è¡åéçªå°             	  */
+	bra    dispatcher
+	mov.l  r1,@(TCB_pc, r7)	/*  é
+å»¶ã¹ã­ããã*/
+
+#else	/*  TCB_SHORT  */
+	mov    #TCB_sp,r1      	/* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­           */
+	mov.l  r15,@(r7,r1)
+	mov.l  ret_int_r_ret,r1	/* å®è¡åéçªå°ãä¿å­             */
+	mov    #TCB_pc,r2	/*  ãã£ã¹ãããã£ããã®æ»ãå
+ã  */
+				/*  ret_int_rã«è¨­å®  		ã*/
+	bra    dispatcher
+	mov.l  r1,@(r7,r2)	/*  é
+å»¶ã¹ã­ãã 		  */
+#endif	/* TCB_SHORT */
+
+/*
+ *  å²è¾¼ã¿ã®åºå£ã§ãã£ã¹ãããã£ããããã«æ»ã£ã¦ãã
+ *    r7ã«runtskãä»£å
+¥ãããç¶æ
+ã§ããã«æ¥ã
+ */
+ret_int_r:
+	ldc.l  @r15+,gbr       /* ã¬ã¸ã¹ã¿ãå¾©å¸°                  */
+	lds.l  @r15+,macl
+	lds.l  @r15+,mach
+	mov.l  @r15+,r14
+	mov.l  @r15+,r13
+	mov.l  @r15+,r12
+	mov.l  @r15+,r11
+	mov.l  @r15+,r10
+	mov.l  @r15+,r9
+	mov.l  @r15+,r8
+
+	/*
+	 * ãã£ã¹ãããã£ããret_int_rã«åå²ããå ´åã
+	 * ret_intããç´æ¥ããã«åå²ããå ´åã
+	 * ãããã®å ´åããr7ã«runtskãä»£å
+¥ããã¦ãã
+	 *
+	 *ã ã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * 	r7  : runtsk
+	 * 	r0  : runtsk->enatex
+	 * ããã     mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«
+	 * ããã     åºå®ããã¦ãã
+	 * 	r2  : runtsk->texptn
+	 * 	r3  : call_texrtn()ã®å
+é ­çªå°
+	 */
+ret_int_1:
+	mov.b  @(TCB_enatex,r7),r0	/*  ãªãã©ã³ããr0ã«åºå® (d) */
+	and    #TCB_enatex_mask,r0
+	tst    r0,r0			/*  runtsk->enatexã®ãã§ãã¯  	*/
+	bt     ret_int_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  @(TCB_texptn,r7),r2	/*  runtsk->texptnã®ãã§ãã¯  	*/
+	tst    r2,r2
+	bt     ret_int_2
+	/*  é
+å»¶ã¹ã­ãããªã  */
+	mov.l  _call_texrtn_ret,r3 	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å	*/
+	jsr    @r3
+	nop				/*  é
+å»¶ã¹ã­ãã		*/
+
+ret_int_2:
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *ãSH1ã§ã¯å²è¾¼ã¿ããã®ãªã¿ã¼ã³å½ä»¤ã§ãã¼ãã¦ã§ã¢ãã¹ã¿ãã¯ä¸
+	 *ãã®ãã¼ã¿ãèª­ã¿åºãã¦SRãå¾©å
+ããã
+	 *ãå²è¾¼ã¿ã«ãã£ã¦å¥ã®ã¿ã¹ã¯ã«åãæ¿ãã£ãå ´åã¯ãã¿ã¹ã¯ã³ã³ã
+	 *ãã­ã¹ãã®IPMãå¤æ´ããã¦ããå¯è½æ§ãããã®ã§ã¹ã¿ãã¯ä¸ã®SR
+	 *ãã®ã³ãã¼ã«å«ã¾ããIPMãæ´æ°ãã¦ããå¿
+è¦ãããã
+	 */
+				/*  	r0âã¹ã¿ãã¯ã«ç©ã¾ããsr  	*/
+	mov.l  @(SP_SR_OFFSET,r15),r0
+	mov.l  _unmask_ipm_ret,r1
+	mov.l  _task_intmask_ret,r2 /*  r2â&task_intmask  		*/
+	and    r1,r0		/*  	IPMããããã¯ãªã¢ 	 	*/
+	mov.l  @r2,r3		/*  	r3âtask_intmask  		*/
+	or     r3,r0		/*  	IPMããããã»ãã 	 	*/
+				/*  ã¹ã¿ãã¯ã«ç©ãã§ããsrã«ä¸æ¸ã  	*/
+	mov.l  r0,@(SP_SR_OFFSET,r15)
+#endif /* SUPPORT_CHG_IPM */
+
+	/*
+	 *ãã¿ã¹ã¯ã¸ã®å¾©å¸°å¦ç
+	 *ãããã£ã¹ãããã£å¼ã³åºããè¦ããªãå ´åã¯ããããåæµããã
+	 *ããå
+¥å£å¦çã®éä¸­ã§å²è¾¼ã¿ãå
+¥ã£ãå ´åã¯ãå
+¥å£å¦çãæ»ãå
+ã«
+	 *ãããªãã
+	 */
+ret_to_task_int:
+ret_to_task_exc:
+				/* pr,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° 		*/
+				/*  ã¹ã¿ãã¯ã®å
+é ­ããã®ãªãã»ãã  	*/
+	lds.l  @r15+,pr		/*   +0:PR  */
+	mov.l  @r15+,r7		/*   +4:r7  */
+	mov.l  @r15+,r6		/*   +8:r6  */
+	mov.l  @r15+,r5		/*  +12:r5  */
+	mov.l  @r15+,r4		/*  +16:r4  */
+	mov.l  @r15+,r3		/*  +20:r3  */
+	mov.l  @r15+,r2		/*  +24:r2  */
+	mov.l  @r15+,r1		/*  +28:r1  */
+	mov.l  @r15+,r0		/*  +32:r0  */
+				/*  +36:PC  */
+				/*  +40:SR  */
+	rte
+	nop			/*  é
+å»¶ã¹ã­ãã  */
+	.align 4
+_reqflg_ret:
+	.long  _reqflg
+_call_texrtn_ret:
+	.long _call_texrtn
+_runtsk_ret:
+	.long _runtsk
+_schedtsk_ret:
+	.long _schedtsk
+_enadsp_ret:
+	.long _enadsp
+ret_int_r_ret:
+	.long ret_int_r
+
+#ifdef SUPPORT_CHG_IPM		/*  chg_ipm()ããµãã¼ãããå ´å */
+_unmask_ipm_ret:
+	.long  ~0xf0		/*  ipmãããä»¥å¤ãã¹ã¦ï¼  */
+_task_intmask_ret:
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+#ifdef SUPPORT_CPU_EXC_ENTRY_CHECK
+_check_exc_entry_ret:
+	.long _check_cpu_exc_entry
+#endif /* SUPPORT_CPU_EXC_ENTRY_CHECK */
+
+
+/*
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  ä¾å¤ãçºçããæç¹ã®pc,sr,pr,r0ã15ãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ */
+	.text
+	.align 2
+	.globl _no_reg_exception
+_no_reg_exception:
+				/*  pr,r0ã15ãä¿å­  */
+	sts.l  pr, @-r15
+	mov.l  r15,@-r15
+	mov.l  r14,@-r15
+	mov.l  r13,@-r15
+	mov.l  r12,@-r15
+	mov.l  r11,@-r15
+	mov.l  r10,@-r15
+	mov.l  r9, @-r15
+	mov.l  r8, @-r15
+	mov.l  r7, @-r15
+	mov.l  r6, @-r15
+	mov.l  r5, @-r15
+	mov.l  r4, @-r15
+	mov.l  r3, @-r15
+	mov.l  r2, @-r15
+	mov.l  r1, @-r15
+	mov.l  r0, @-r15
+
+				/*  cpu_experr()ã®å¼ã³åºã  	*/
+	mov.l  _cpu_experr_k,r1	/*  (cpu_config.c)  		*/
+	jsr    @r1
+	mov    r15, r4		/*  å¼æ°è¨­å®ï¼é
+å»¶ã¹ã­ããï¼	*/
+
+	.align 4
+_cpu_experr_k:
+	.long  _cpu_experr
+
+
+
+/*  ã¤ããã£ã¨ã¤ãç¸å¯¾ã¢ãã¬ãã·ã³ã°ãå¯è½ããã§ãã¯  */
+#if !(CHECK_IMMEDIATE_ADDRESSING(TCB_tinib) 			\
+	&& CHECK_IMMEDIATE_ADDRESSING(TINIB_task)		\
+	&& CHECK_IMMEDIATE_ADDRESSING(TINIB_exinf) )
+
+ããã§ã¢ã»ã³ãã«ã»ã¨ã©ã¼
+#endif
+
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ *  ããdispatcherããå¼ã°ããã®ã§ãr7ã«runtskãä»£å
+¥ããã¦ãã
+ *  
+ */
+	.text
+	.align 2
+	.globl _activate_r
+_activate_r:
+				/* å²ãè¾¼ã¿è¨±å¯ã®æºå 		*/
+#ifndef SUPPORT_CHG_IPM		/*  ï¼t_unlock_cpuç¸å½ã®å¦çï¼ 	*/
+	mov   #0,r1		/*  IPMä»¥å¤ã®ããããç ´å£ããã */
+#else  /* SUPPORT_CHG_IPM */
+        mov.l _task_intmask_act,r2
+	mov.l @r2,r1
+#endif /* SUPPORT_CHG_IPM */
+	ldc   r1,sr		/*  å²è¾¼ã¿è¨±å¯  		*/
+	mov.l _ext_tsk_act,r3
+	lds   r3,pr		/*  ã¿ã¹ã¯ããã®æ»ãçªå°ãè¨­å®  */
+
+	/*
+	 *  ããã§å²è¾¼ã¿ãå
+¥ã£ã¦runtskãæ¸ãæãã£ã¦ãã
+	 *  ãã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¨ãã«ã¯runtskã®å¤ã
+	 *  å½ç¶ãå
+ã«æ»ã£ã¦ãã
+	 * 
+	 *   ã¬ã¸ã¹ã¿å²ãå½ã¦
+	 * ããr7ï¼runtsk
+	 * ããr1ï¼&(runtsk->tinib)
+	 * ããr2ï¼runtsk->tinib->task
+	 * ããr4ï¼ã¿ã¹ã¯ã®æ¡å¼µæ
+å ±ï¼å¼æ°ï¼
+	 */
+	mov.l @(TCB_tinib,r7),r1
+	mov.l @(TINIB_task,r1),r2	/*  ã¿ã¹ã¯èµ·åçªå°  	*/
+	jmp   @r2		/* jsrå½ä»¤ã§ã¯prãç ´å£ãã¦ãã¾ã*/
+	mov.l @(TINIB_exinf,r1),r4	/*  é
+å»¶ã¹ã­ãã  	*/
+				/*  æ¡å¼µæ
+å ±ï¼ã¿ã¹ã¯ã¸ã®å¼æ°ï¼  */
+	.align 4
+_ext_tsk_act:
+	.long _ext_tsk
+
+#ifdef SUPPORT_CHG_IPM
+_task_intmask_act:
+	.long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+
+    mov.l  _sil_dly_tim1, r1	/* r4ãã SIL_DLY_TIM1 ãå¼ã */
+    add    r1, r4
+    cmp/pl r4			/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+    bt     _sil_dly_nse1
+    /*  é
+å»¶ã¹ã­ãããªã  */
+    rts
+    nop
+_sil_dly_nse1:            
+    mov.l  _sil_dly_tim2, r1	/* r4ãã SIL_DLY_TIM2 ãå¼ã */
+    add    r1, r4
+    cmp/pl r4			/* çµæã 0 ä»¥ä¸ãªããªã¿ã¼ã³ */
+    bt     _sil_dly_nse1
+    /*  é
+å»¶ã¹ã­ãããªã  */
+    rts
+    nop   
+    .align 4
+_sil_dly_tim1:
+    .long  -SIL_DLY_TIM1    
+_sil_dly_tim2:                         
+    .long  -SIL_DLY_TIM2
+
+
+/*
+ * åå¿é²
+ * ããdispatcherå
+(a)è¡ã§cmp/eq imm,r0å½ä»¤ãä½¿ããªãçç±
+ * ãã
+ *ãããdispatcherã§r7ã«runtskã®å¤ãä»£å
+¥ããåå²å
+ã®dispatch_rã
+ *ãããret_int_rãactivate_rã§ã¯ç¡é§ãªã­ã¼ããããªãããã«ãã¦ã
+ *ããããã
+ *ãããschedtskã®æç¡ããã§ãã¯ããã¨ãã®cmp/eq imm,r0å½ä»¤ï¼(a)
+ *ãããè¡ï¼ããªãã©ã³ããr0ã«åºå®ããã¦ãããããããã«åããã¦ã
+ *ãããæåã¯runtskã«r0ãå²ãå½ã¦ã¦ããã
+ *ãããããããr0ã¯ååå²å
+ã«ããenatexã®èª­ã¿åºã(c),(d)è¡ã®mov.b
+ *ãããå½ä»¤ã§ãäºç´ãã¦ãããããã§ããã°ç©ºãã¦ããããã
+ *ãããï¼mov.b @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«åºå®ããã¦ãããï¼
+ *ãããå¾ã£ã¦ãruntskã¯r7ã«å²ãå½ã¦ã(a)è¡ã¯cmp/eq imm,r0å½ä»¤ãã
+ *ãããcmp/eq rn,rmå½ä»¤ã«å¤æ´ããããã®ãããã¬ã¸ã¹ã¿ã«0ãä»£å
+¥ãã
+ *ãããå½ä»¤ï¼(b)è¡ï¼ãï¼ã¤ä½åã«å
+¥ã£ã¦ããã
+ *
+ *ãããä¸æ¹ãmov.l @(imm, r),r0å½ä»¤ã¯ãªãã©ã³ããr0ã«åºå®ããã¦
+ *ãããããªãã
+ *ãããSH3çã®ããã«makeoffset.cã§ã©ãã«BIT_BWãæå®ããã°ã4ã
+ *ãããã¤ãåä½ã§ãªãã»ããã¨ãã¹ã¯ãçæãããã®ã§ãmov.lå½ä»¤ã
+ *ãããä½¿ããã¬ã¸ã¹ã¿å²ä»ãæ¥½ã«ãªãããenatexå¤å®æã®ãã¹ã¯ãã¼
+ *ãããã¿ãandå½ä»¤ã®ã¤ããã£ã¨ã¼ãå¤ã«åã¾ãåããªããªãããã
+ *ãããã­ã¼ãå½ä»¤ãï¼ã¤ä½åã«å
+¥ãã
+ *ãããã©ã¡ããä¸é·ä¸ç­ããããããããã«ãããruntskãåã­ã¼ã
+ *ãããããããã¯ãã·ã¨æãããã
+ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cpu_unrename.h	(revision 26)
@@ -0,0 +1,57 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+/*
+ * cpu_support.S
+ */
+#undef activate_r
+#undef interrupt_entry
+#undef cpu_exception_entry
+#undef no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#undef task_intmask
+#undef int_intmask
+#undef intnest
+#undef vector_table
+#undef cpu_experr
+#undef define_exc
+#undef check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#undef start
+
+#ifdef LABEL_ASM
+
+/*
+ * cpu_support.S
+ */
+#undef _activate_r
+#undef _interrupt_entry
+#undef _cpu_exception_entry
+#undef _no_reg_exception
+
+/*
+ * cpu_config.c
+ */
+#undef _task_intmask
+#undef _int_intmask
+#undef _intnest
+#undef _vector_table
+#undef _cpu_experr
+#undef _define_exc
+#undef _check_cpu_exc_entry
+
+/*
+ * start.S
+ */
+#undef _start
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/Makefile.config	(revision 26)
@@ -0,0 +1,66 @@
+#
+#  @(#) $Id
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼CQ_FRKSH2Aç¨ï¼
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#      DBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#      æç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#      å
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#      DBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#
+
+#DBGENV = ROM
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS) -N
+CDEFS := $(CDEFS) -DSH7262
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sh726xscif.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+
+ifeq ($(DBGENV),GDB_STUB)
+    TEXT_START_ADDRESS=0x1C020000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã (å
+èµRAM)
+    TEXT_START_ADDRESS=0x1C000500
+# RAMé åã®å
+é ­ã¢ãã¬ã¹ (å
+èµRAM)
+#    DATA_START_ADDRESS=0x1C000000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.stub.ld
+else
+    LDSCRIPT = $(CPU)/$(SYS)/shelf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/cq_frksh2a.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/cq_frksh2a.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/cq_frksh2a.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  CQ-FRK-SH2A (CQåºç SH7262æ­è¼ä»é²åºæ¿)
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _CQ_FRKSH2A_H_
+#define _CQ_FRKSH2A_H_
+
+#ifndef _MACRO_ONLY
+
+extern void sh2scif_putc_pol (ID portid, char c);	/*  sh726xscif.c  */
+
+#ifdef GDB_STUB
+
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+
+#define sh2_exit	gdb_stub_exit
+#define sh2_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit (void)
+{
+	/* ãã¹ããã¦ããªã */
+	Asm ("trapa #0x20"::);
+}
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+gdb_stub_putc (ID portid, int c)
+{
+	sh2scif_putc_pol (portid, c);
+	return (c);
+}
+
+#else /* GDB_STUB */
+
+/*
+ *  ROMåã®å ´å
+ */
+
+Inline void
+sh2_exit ()
+{
+	while (1);
+}
+
+Inline void
+sh2_putc (ID portid, char c)
+{
+	sh2scif_putc_pol (portid, c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _CQ_FRKSH2A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.cfg	(revision 26)
@@ -0,0 +1,24 @@
+/*
+ *  @(#) $Id
+ */
+
+/*
+ *	SCI/SCIFãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+DEF_INH(INHNO_SERIAL_BRK, { TA_HLNG, sio_handler_brk });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_handler2_in });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_handler2_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio_handler2_error });
+DEF_INH(INHNO_SERIAL2_BRK, { TA_HLNG, sio_handler2_brk });
+
+#endif /* TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_serial.h	(revision 26)
@@ -0,0 +1,217 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/SCIFï¼ãã©ã¤ãï¼CQ_FRKSH2Aç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh726xscif.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+
+#ifndef GDB_STUB
+
+#define REGBASE_SERIAL		SCIF2_BASE
+#define INHNO_SERIAL_IN		INT_RXI2
+#define INHNO_SERIAL_OUT	INT_TXI2
+#define INHNO_SERIAL_ERROR	INT_ERI2
+#define INHNO_SERIAL_BRK	INT_BRI2
+#if TNUM_PORT >= 2
+#define REGBASE_SERIAL2		SCIF3_BASE
+#define INHNO_SERIAL2_IN	INT_RXI3
+#define INHNO_SERIAL2_OUT	INT_TXI3
+#define INHNO_SERIAL2_ERROR	INT_ERI3
+#define INHNO_SERIAL2_BRK	INT_BRI3
+#endif /* TNUM_PORT >= 2 */
+
+#else	/*  GDB_STUB  */
+
+#define REGBASE_SERIAL		SCIF3_BASE
+#define INHNO_SERIAL_IN		INT_RXI3
+#define INHNO_SERIAL_OUT	INT_TXI3
+#define INHNO_SERIAL_ERROR	INT_ERI3
+#define INHNO_SERIAL_BRK	INT_BRI3
+
+#endif	/*  GDB_STUB  */
+
+/*
+ * SCIã®å²ãè¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define LEVEL0		0			/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh2scif_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh2scif_openflag (siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh2scif_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		if (siopcb->siopinib->reg_base == SCIF2_BASE)
+			define_int_plevel (IPR17, siopcb->siopinib->int_level, 4);
+		if ((siopcb->siopinib->reg_base) == SCIF3_BASE)
+			define_int_plevel (IPR17, siopcb->siopinib->int_level, 0);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh2scif_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+		if (siopcb->siopinib->reg_base == SCIF2_BASE)
+			define_int_plevel (IPR17, LEVEL0, 4);
+		if ((siopcb->siopinib->reg_base) == SCIF3_BASE)
+			define_int_plevel (IPR17, LEVEL0, 0);
+
+}
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in		sh2scif_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out		sh2scif_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error	sh2scif_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_brk		sh2scif_isr_brk	/*  ãã¬ã¼ã¯æ¤åºå²è¾¼ã¿ãã³ãã©  */
+#if TNUM_PORT >= 2
+#define	sio_handler2_in		sh2scif_isr2_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_out	sh2scif_isr2_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_error	sh2scif_isr2_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_brk	sh2scif_isr2_brk	/*  ãã¬ã¼ã¯æ¤åºå²è¾¼ã¿ãã³ãã©  */
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh2scif_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh2scif_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh2scif_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh2scif_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh2scif_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh2scif_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/hw_timer.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7262/7264ç¨ï¼
+ *  CMTãä½¿ç¨
+ *ãã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh726xcmt.hã«è¨è¿°ãã
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "sh726xcmt.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	INT_CMI0
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define CMI0_BIT_SHIFT	4
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh2_timer_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh2_timer_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+						/* å²ãè¾¼ã¿ã¬ãã«è¨­å® 	*/
+	define_int_plevel (IPR10, TIMER_INTLVL, CMI0_BIT_SHIFT);
+	sh2_timer_int_clear();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh2_timer_start();		/* ã¿ã¤ãã¹ã¿ã¼ã    	*/
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh2_timer_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh2_timer_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh2_timer_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sh2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sh2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sh2.h	(revision 26)
@@ -0,0 +1,69 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+
+#ifndef _SH2_H_
+#define _SH2_H_
+
+#include "sh7262.h"
+#include "cq_frksh2a.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+Inline void
+define_int_plevel (VH * mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem ((VP) mem);
+
+	reg = (VH) ((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem ((VP) mem, reg);
+}
+#endif /* _MACRO_ONLY */
+#endif /*  _SH2_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.ld	(revision 26)
@@ -0,0 +1,134 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+/*    .vector : AT(0)*/
+    .vector : AT(0x1C000000)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.stub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.stub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/shelf.stub.ld	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.c	(revision 26)
@@ -0,0 +1,151 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <s_services.h>
+#include "sh726xscif.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå banneråºåã®ããã«ã¼ãã«ã®åæåã¨ç¡é¢ä¿ã«è¡ã
+ */
+void
+sys_initialize ()
+{
+	SIOPCB *siopcb;
+
+	/* ä½¿ç¨ããå¨è¾ºæ©å¨ã¯ããã§æå¹ã«ãã¦ããã */
+	/*  SCIFãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+
+#ifndef GDB_STUB
+
+	/* SCIF2 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x20));
+	sil_wrh_mem (PFCR0, sil_reh_mem (PFCR0) | (0x0400 | 0x0040));
+#if TNUM_PORT >=2
+	/* SCIF3 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x10));
+	sil_wrh_mem (PFCR1, sil_reh_mem (PFCR1) | 0x0004);
+	sil_wrh_mem (PFCR0, sil_reh_mem (PFCR0) | 0x4000);
+#endif /*TNUM_PORT >=2 */
+
+#else /* GDB_STUB */
+
+	/* SCIF3 */
+	sil_wrb_mem (STBCR4, (VB) ((VB) sil_reb_mem (STBCR4) & ~0x10));
+	sil_wrh_mem (PFCR1, sil_reh_mem (PFCR1) | 0x0004);
+	sil_wrh_mem (PFCR0, sil_reh_mem (PFCR0) | 0x4000);
+
+#endif /* GDB_STUB */
+
+	/* CMT0 */
+	sil_wrb_mem (STBCR7, (VB) ((VB) sil_reb_mem (STBCR7) & ~0x04));
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	/*ããã¼åºåãããã */
+	sh2scif_initialize();
+	siopcb = sh2scif_opn_por (LOGTASK_PORTID, 0);
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit ()
+{
+	sh2_exit ();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc (char c)
+{
+	if (c == '\n') {
+		sh2_putc (LOGTASK_PORTID, '\r');
+	}
+	sh2_putc (LOGTASK_PORTID, c);
+}
+
+/* ãã¼ãã¦ã§ã¢ã®è¨­å® */
+/* ããã§ã¯ãã¹ã®è¨­å®ã®ã¿è¡ããå¨è¾ºæ©å¨ã®è¨­å®ã¯sys_initializeã§è¡ãã */
+#ifndef GDB_STUB
+void
+hardware_init_hook (void)
+{
+	/* ã¯ã­ãã¯çºæ¯å¨ã®åæå */
+	sil_wrh_mem (FRQCR, 0x1104);	/* ã¯ã­ãã¯è¨­å® IÏ=144MHz, BÏ=48MHz, PÏ=24MHz */
+
+	/* I/Oãã¼ãã®è¨­å® */
+	sil_wrh_mem (PCIOR0, 0x0100);	/* PC8ãã¼ã åºåæ¹å (LEDæ¥ç¶ãã¼ã) */
+	sil_wrh_mem (PCCR2, 0x0000);	/* PC8ã¢ã¼ã ãã¼ãé¸æ (LEDæ¥ç¶ãã¼ã) */
+
+	/* ã­ã£ãã·ã¥ã®è¨­å® */
+	sil_wrw_mem (CCR1, 0x00000808);	/* ã­ã£ãã·ã¥ããã©ãã·ã¥ */
+	sil_wrw_mem (CCR1, CCR_MODE);	/* ã­ã£ãã·ã¥ã¢ã¼ããè¨­å® */
+}
+#else /*  GDB_STUB  */
+void
+hardware_init_hook (void)
+{
+}
+#endif /*  GDB_STUB  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CQ_FRKSH2Aç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "cq_frksh2a.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"cq_frksh2a"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼SH1ããã³SH3ã®è¨­å®å¤ã¨æ¯è¼ãã¦é©å½ã«ç®åºããå¤ï¼
+ */
+#define	SIL_DLY_TIM1	270
+#define	SIL_DLY_TIM2	150
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+//#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_defs.h	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼CQ_FRKSH2Aç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define CQ_FRKSH2A			/* ã·ã¹ãã ç¥ç§° */
+
+#define COPYRIGHT_SYS \
+"Copyright (C) 2010 by Cronus Computer Works, JAPAN\n\n"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ */
+//#define CCR_MODE      0x00000101    /* ã©ã¤ãããã¯ã¢ã¼ã */
+#define CCR_MODE      0x00000103    /* ã©ã¤ãã¹ã«ã¼ã¢ã¼ã */
+
+/*
+ *  å¨è¾ºã¢ã¸ã¥ã¼ã«ã¸ã®ä¾çµ¦ã¯ã­ãã¯ã®å¨æ³¢æ°
+ *  CQ_SH7262ã§ã¯ãPÎ¦ã¯ã­ãã¯ã¯24MHz
+ */
+#define PCLOCK          24000000
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *
+ *   CQ_SH7262ã§ã¯ãPÎ¦ã¯ã­ãã¯ã24MHz
+ *   0: PÎ¦/8   3MHz      tick 3000  0.33 Î¼sec
+ *   1: PÎ¦/32  750KHz    tick 750   1.33 Î¼sec
+ *   2: PÎ¦/128 187.5KHz  tick 187   5.33 Î¼sec
+ *   3: PÎ¦/512 46.875KHz tick 47    21.33 Î¼sec
+ */
+#define TCR_CKS         0
+
+/*
+ *  SDRAMã¢ã¼ãã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ *  â»ã¢ãã¬ã¹ãã¢ã¼ãè¨­å®å¤
+ */
+//#define SDRAM_MODE  ((VH *)0xfffc58c0)
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trapa #0x20"::);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_support.S	(revision 26)
@@ -0,0 +1,66 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+!        .text
+!        .align 2
+!        .global _hardware_init_hook
+!_hardware_init_hook:    
+! ããã©ã«ãã®ãã¹å¹
+ã¨ç°ãªãè¨­å®ãããå ´åãããã§ãã¹å¹
+ã®è¨­å®ãè¡ãã
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/cq_frksh2a/user_config.h	(revision 26)
@@ -0,0 +1,225 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  SRAMã¡ã¢ãªå®è£
+ã¿ã¤ããã©ã¼ã¸ã¿ã¤ãã¨ãããã©ããã®å®ç¾©
+ *ãï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæãªã®ã§ãæ¬æ©ç¨®ã§ã¯æªä½¿ç¨ï¼
+ */
+//#define	LARGE_TYPE
+
+
+/*
+ *  å¤ãæã¤ãã¯ã­ã®å®ç¾©
+ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x1c00,0000 -              ã³ã¼ã/ãã¼ã¿é å(1MB)
+ *                  - 0x1c0f,ffff  å¤§å®¹éå
+èµRAMçµäº
+ *      0xfff8,0000 -              ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯(64KB)
+ *                  - 0xfff8,ffff  å
+èµRAMçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	 0xFFF90000
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ *
+ *  TNUM_PORTã¯ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼
+ *  ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§ãããæ©ç¨®ä¾å­é¨ã§å®ç¾©ããããå
+±éé¨
+ *  ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¦å®ããã¦ããã
+ *  ä¸æ¹ãTNUM_SIOPã¯PDICã¬ãã«ã§ãµãã¼ããã¦ããã·ãªã¢ã«ãã¼ãã®æ°ã§
+ *  ãããæ©ç¨®ä¾å­é¨ã®ä¸­ã§ã®ã¿ç¨ãã¦ããã
+ *ã
+ */
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+#define SCIF_BPS		38400
+
+/*
+ * SCIFã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define SCIF_INTLVL		6
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+#define	INNER_RAM_ADDRESS	0xFFF90000
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/Makefile.config	(revision 26)
@@ -0,0 +1,73 @@
+#
+#  @(#) $Id: Makefile.config,v 1.1 2006/05/13 10:45:07 roi Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼CRB_H3ç¨ï¼
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+
+#DBGENV = ROM
+#DBGENV = MULTI_STACK
+DBGENV = 
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS)
+CDEFS := $(CDEFS) -DSH7047
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sys_support.o sh7047scif.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+TEXT_START_ADDRESS=0x00200000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã
+ifeq ($(DBGENV),ROM)
+TEXT_START_ADDRESS=0x00000400
+else
+TEXT_START_ADDRESS=0x00200400
+endif
+# RAMé åã®å
+é ­ã¢ãã¬ã¹(CS2)
+#DATA_START_ADDRESS=0x00200000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+LDSCRIPT = $(CPU)/$(SYS)/shelf.stub.ld
+else
+ifeq ($(DBGENV),ROM)
+LDSCRIPT = $(CPU)/$(SYS)/shelf.rom.ld
+else
+LDSCRIPT = $(CPU)/$(SYS)/shelf.ld
+endif
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/crb_h3.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/crb_h3.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/crb_h3.h	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006      by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  ã¤ã¼ã¨ã¹ãã¼ä¼ç»	CRB_H3
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _CRB_H3_H_
+#define _CRB_H3_H_
+#include "sh7047.h"
+#include <sil.h>
+
+#define SRAM_START  0xffffd000
+#define SRAM_END    0xfffff800
+
+#ifndef _MACRO_ONLY
+
+Inline void
+sh2_exit ()
+{
+	while (1);
+}
+
+Inline void
+sh2_putc (ID portid, char c)
+{
+	unsigned long base = portid * IOREG_SCI_WINDOW + IOREG_SCI_BASE;
+
+	while((sil_reb_mem((VP)(base+IOREG_SSR_OFFSET)) & SSR_TDRE) == 0);
+	sil_wrb_mem((VP)(base+IOREG_TDR_OFFSET), c);
+	sil_wrb_mem((VP)(base+IOREG_SSR_OFFSET), sil_reb_mem((VP)(base+IOREG_SSR_OFFSET)) & ~SSR_TDRE);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CRB_H3_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.cfg	(revision 26)
@@ -0,0 +1,22 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2006/05/13 10:05:07 roi Exp $
+ */
+
+/*
+ *	SCI/SCIFãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_handler2_in });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_handler2_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio_handler2_error });
+
+#endif /* TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_serial.h	(revision 26)
@@ -0,0 +1,197 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/SCIFï¼ãã©ã¤ãï¼CRB_H3ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh7047scif.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯sh7615scif.c */
+
+#define INHNO_SERIAL_IN	   RXI_3
+#define INHNO_SERIAL_OUT   TXI_3
+#define INHNO_SERIAL_ERROR ERI_3
+#if TNUM_PORT >= 2
+#define INHNO_SERIAL2_IN   RXI_4
+#define INHNO_SERIAL2_OUT  TXI_4
+#define INHNO_SERIAL2_ERROR ERI_4
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ * SCIã®å²ãè¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define LEVEL0		0			/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh7047scif_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh7047scif_openflag (siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh7047scif_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		define_int_plevel ((VH*)siopcb->siopinib->intctl, siopcb->siopinib->level, siopcb->siopinib->shift);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh7047scif_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+	define_int_plevel ((VH*)siopcb->siopinib->intctl, LEVEL0, siopcb->siopinib->shift);
+
+}
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in	sh7047scif3_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out	sh7047scif3_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error sh7047scif3_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#if TNUM_PORT >= 2
+#define	sio_handler2_in		sh7047scif4_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_out	sh7047scif4_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_error	sh7047scif4_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh7047scif_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh7047scif_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh7047scif_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh7047scif_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh7047scif_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh7047scif_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/hw_timer.h	(revision 26)
@@ -0,0 +1,193 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7047ç¨ï¼
+ *  CMT0ãä½¿ç¨
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include "crb_h3.h"
+
+/*
+ *  ã³ã³ãã¢ãããã¿ã¤ãã¹ã¿ã¼ãã¬ã¸ã¹ã¿CMSTRã®ãããè¨­å®
+ */
+#define CMSTR_STR1	0x0002	/* ã«ã¦ã³ãã¹ã¿ã¼ã1 */
+#define CMSTR_STR0  0x0001	/* ã«ã¦ã³ãã¹ã¿ã¼ã0 */
+
+/*
+ *  ã³ã³ãã¢ãããã¿ã¤ãã³ã³ãã­ã¼ã«ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿CMCSRã®ãããè¨­å®
+ */
+#define CMCSR_CMF   0x0080	/* ã³ã³ãã¢ããããã©ã° */
+#define CMCSR_CMIE  0x0040	/* ã³ã³ãã¢ãããå²è¾¼ã¿ã¤ãã¼ãã« */
+#define CMCSR_CKS8  0x0000	/* 8åå¨ã¯ã­ãã¯ã»ã¬ã¯ã */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	CMI0
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *   	40.000MHz/8 =5.0000MHz =5000.0kHz
+ */
+#define TIMER_CLOCK     (CLOCK_RATE/8000L)
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100		/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼ */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define FRT_BIT_SHIFT	4
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/* ã¿ã¤ãããã¤ã¹èªä½ã®åæå */
+	sil_wrh_mem((VP)IOREG_CMSTR_BASE, 0x0000);	/* ã¿ã¤ãã¹ããã */
+												/* ã«ã¦ã³ã¿å¤è¨­å® */
+	sil_wrh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCOR_OFFSET), TO_CLOCK(TIC_NUME, TIC_DENO));
+
+	/* å²ãè¾¼ã¿ã¬ãã«è¨­å®   */
+	define_int_plevel ((VH*)(IOREG_INTC_BASE+IOREG_IPRG_OFFSET), TIMER_INTLVL, FRT_BIT_SHIFT);
+
+	/*  å²è¾¼ã¿è¨­å®ã¨è¦æ±ãã¯ãªã¢ã¨ã¯ã­ãã¯ã»ãã */
+	sil_wrh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCSR_OFFSET), (CMCSR_CMIE|CMCSR_CKS8));
+	sil_wrh_mem((VP)IOREG_CMSTR_BASE, CMSTR_STR0);	/* ã¿ã¤ãã¹ã¿ã¼ã */
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+	sil_wrh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCSR_OFFSET),
+		(sil_reh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCSR_OFFSET)) & ~CMCSR_CMF));
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate()
+{
+	sil_wrh_mem((VP)IOREG_CMSTR_BASE,			/* ã¿ã¤ãã®åæ­¢ */
+		(sil_reh_mem((VP)IOREG_CMSTR_BASE) & ~CMSTR_STR0));
+	sil_wrh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCSR_OFFSET), CMCSR_CKS8);/* å²è¾¼ã¿åæ­¢ã¨è¦å ã®ã¯ãªã¢ */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return sil_reh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCNT_OFFSET));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return ((sil_reh_mem((VP)(IOREG_CMT0_BASE+IOREG_CMCSR_OFFSET)) & CMCSR_CMIE) != 0);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh2.h	(revision 26)
@@ -0,0 +1,68 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id$
+ */
+
+
+#ifndef _SH2_H_
+#define _SH2_H_
+
+#include "sh7047.h"
+#include "crb_h3.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+Inline void
+define_int_plevel (VH * mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem ((VP) mem);
+
+	reg = (VH) ((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem ((VP) mem, reg);
+}
+#endif /* _MACRO_ONLY */
+#endif /*  _SH2_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.c	(revision 26)
@@ -0,0 +1,384 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  SH7047å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "sh7047.h"
+#include "sh7047scif.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+static const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{
+		(IOREG_SCI_BASE+IOREG_SCI_WINDOW*1),
+		(IOREG_INTC_BASE+IOREG_IPRI_OFFSET),
+		9,
+		ISR_SCR3_SHIFT
+	},
+	{
+		(IOREG_SCI_BASE+IOREG_SCI_WINDOW*2),
+		(IOREG_INTC_BASE+IOREG_IPRI_OFFSET),
+		8,
+		ISR_SCR4_SHIFT
+	}
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ *      ID = 1 ãSCI3ã«å¯¾å¿ããã¦ãã.
+ */
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh7047scif_getready (SIOPCB * siopcb)
+{
+	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ãã§ãã¯ */
+	return (sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET)) & SSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh7047scif_putready (SIOPCB * siopcb)
+{
+	/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ãã§ãã¯ */
+	return (sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET)) & SSR_TDRE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline char
+sh7047scif_getchar (SIOPCB * siopcb)
+{
+	VB data;
+
+	data = sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_RDR_OFFSET));
+	/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢ */
+	sil_wrb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET),
+		sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET)) & ~SSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh7047scif_putchar (SIOPCB * siopcb, char c)
+{
+	sil_wrb_mem((VP)(siopcb->siopinib->cntrl+IOREG_TDR_OFFSET), c);
+	/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢ */
+	sil_wrb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET),
+		sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SSR_OFFSET)) & ~SSR_TDRE);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh7047scif_initialize ()
+{
+	SIOPCB *siopcb;
+	UINT i;
+
+	/*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->siopinib = &siopinib_table[i];
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãã¯ãããï¼
+ */
+BOOL
+sh7047scif_openflag (ID siopid)
+{
+	if(siopcb_table[INDEX_SIOP(siopid)].openflag)
+		return TRUE;
+	sil_dly_nse(sh2scif_DELAY*4);	/* Wait for Banner */
+	return FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh7047scif_opn_por (ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb;
+	UW     base;
+	unsigned char  dummy;
+
+	siopcb = get_siopcb (siopid);
+	base   = siopcb->siopinib->cntrl;
+	/* éåä¿¡åæ­¢ */
+	sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET),
+		 sil_reb_mem((VP)(base+IOREG_SCR_OFFSET)) & ~(SCR_TE | SCR_RE));
+	/* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å® */
+	sil_wrb_mem((VP)(base+IOREG_SMR_OFFSET), DEFAULT_SMR);
+	/* ãã¼ã¬ã¼ãã®è¨­å® */
+	sil_wrb_mem((VP)(base+IOREG_BRR_OFFSET), DEFAULT_BRR);
+
+	sil_dly_nse(sh2scif_DELAY);
+	/* éåä¿¡ãåä¿¡å²è¾¼ã¿è¨±å¯ */
+	sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET), SCR_RIE|SCR_TE|SCR_RE);
+	dummy = sil_reb_mem((VP)(base+IOREG_SSR_OFFSET));		/* Dummy read */
+	/* å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®è¨­å® */
+	sil_wrb_mem((VP)(base+IOREG_SSR_OFFSET), SSR_TDRE);		/* Clear error flags */
+	siopcb->exinf    = exinf;
+	siopcb->openflag = TRUE;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh7047scif_cls_por (SIOPCB * siopcb)
+{
+	/* éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢ */
+	sil_wrb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SCR_OFFSET),
+			sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SCR_OFFSET)) & ~(SCR_TIE|SCR_RIE|SCR_TE|SCR_RE));
+
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh7047scif_snd_chr (SIOPCB * siopcb, char c)
+{
+	if (sh7047scif_putready (siopcb)) {
+		sh7047scif_putchar (siopcb, c);
+		return (TRUE);
+	}
+	return (FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh7047scif_rcv_chr (SIOPCB * siopcb)
+{
+	if (sh7047scif_getready (siopcb)) {
+		return ((INT) (UB) sh7047scif_getchar (siopcb));
+	}
+	return (-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯è¨±å¯
+ */
+void
+sh7047scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	UW base = siopcb->siopinib->cntrl;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:		/* éä¿¡å²è¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET), sil_reb_mem((VP)(base+IOREG_SCR_OFFSET)) | SCR_TIE);
+		break;
+	case SIO_ERDY_RCV:		/* åä¿¡å²è¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET), sil_reb_mem((VP)(base+IOREG_SCR_OFFSET)) | SCR_RIE);
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ç¦æ­¢
+ */
+void
+sh7047scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	UW base = siopcb->siopinib->cntrl;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:		/* éä¿¡å²è¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET), sil_reb_mem((VP)(base+IOREG_SCR_OFFSET)) & ~SCR_TIE);
+		break;
+	case SIO_ERDY_RCV:		/* åä¿¡å²è¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem((VP)(base+IOREG_SCR_OFFSET), sil_reb_mem((VP)(base+IOREG_SCR_OFFSET)) & ~SCR_RIE);
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh7047scif_isr_siop_out (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SCR_OFFSET));
+
+	if ((scr0 & SCR_TIE) != 0 && sh7047scif_putready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh7047scif_ierdy_snd (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh7047scif_isr_siop_in (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem((VP)(siopcb->siopinib->cntrl+IOREG_SCR_OFFSET));
+
+	if ((scr0 & SCR_RIE) != 0 && sh7047scif_getready (siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh7047scif_ierdy_rcv (siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI3ç¨)
+ */
+void
+sh7047scif3_isr_out ()
+{
+	if (siopcb_table[0].openflag) {
+		sh7047scif_isr_siop_out (&(siopcb_table[0]));
+	}
+}
+
+/*
+ *  SIOéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI4ç¨)
+ */
+void
+sh7047scif4_isr_out ()
+{
+	if (siopcb_table[1].openflag) {
+		sh7047scif_isr_siop_out (&(siopcb_table[1]));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI3ç¨)
+ */
+void
+sh7047scif3_isr_in ()
+{
+	if (siopcb_table[0].openflag) {
+		sh7047scif_isr_siop_in (&(siopcb_table[0]));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI4ç¨)
+ */
+void
+sh7047scif4_isr_in ()
+{
+	if (siopcb_table[1].openflag) {
+		sh7047scif_isr_siop_in (&(siopcb_table[1]));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI3ç¨)
+ */
+void
+sh7047scif3_isr_error (void)
+{
+	UW base = siopcb_table[0].siopinib->cntrl;
+
+	if (siopcb_table[0].openflag) {
+		sil_wrb_mem((VP)(base+IOREG_SSR_OFFSET), sil_reb_mem((VP)(base+IOREG_SSR_OFFSET)) & ~(SSR_OPER|SSR_FER|SSR_PER));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³(SCI4ç¨)
+ */
+void
+sh7047scif4_isr_error (void)
+{
+	UW base = siopcb_table[1].siopinib->cntrl;
+
+	if (siopcb_table[1].openflag) {
+		sil_wrb_mem((VP)(base+IOREG_SSR_OFFSET), sil_reb_mem((VP)(base+IOREG_SSR_OFFSET)) & ~(SSR_OPER|SSR_FER|SSR_PER));
+	}
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sh7047scif.h	(revision 26)
@@ -0,0 +1,156 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *  SH7047å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#ifndef _SH7047SCIF_H_
+#define _SH7047SCIF_H_
+
+#include <t_config.h>
+
+#define sh2scif_DELAY 105000
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UW	cntrl;		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®çªå° */
+	UW  intctl;		/* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã®çªå° */
+	UH	level;		/* å²è¾¼ã¿ã¬ãã« */
+	UH	shift;		/* å²è¾¼ã¿ã·ãã */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *    2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæåç¨ã®ãã¼ã¿ãå«ãã
+ */
+typedef struct sio_port_control_block
+{
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT	exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL	openflag;			/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+} SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void sh7047scif_initialize (void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL sh7047scif_openflag (ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sh7047scif_opn_por (ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sh7047scif_cls_por (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL sh7047scif_snd_chr (SIOPCB * siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT sh7047scif_rcv_chr (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sh7047scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sh7047scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void sh7047scif_isr (void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sh7047scif_ierdy_snd (VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sh7047scif_ierdy_rcv (VP_INT exinf);
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH7047SCIF_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.ld	(revision 26)
@@ -0,0 +1,173 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+STARTUP(start.o)
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+
+MEMORY {
+	/* internal ROM area: 0x000000 - 0x07ffff */
+	rom		: o = 0x000000, l = 0x080000
+
+	/* external RAM area: 0x200000 - 0x21ffff */
+	ram		: o = 0x200000, l = 0x020000
+        vector		: o = 0x200000, l = 0x000400
+		ramexe		: o = 0x200400, l = 0x02a000
+
+	/* internal RAM area: 0xffffd000 - 0xffffffff */
+	sram	: o = 0xffffd000, l = 0x003000
+        readwrite	: o = 0xffffd000, l = 0x002c00
+}
+
+SECTIONS
+{
+    .vector :
+	{
+		*(.vector)
+    } > vector
+    .init :
+	{
+        KEEP (*(.init))
+    }
+    .text :
+	{
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    } > ramexe
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .varrom :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } > ramexe
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } > ramexe
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } > ramexe
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    } > ramexe
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    } > ramexe
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    } > ramexe
+    _end = . ;
+    __bss_end = . ;
+	.var :
+	{
+		*(.var)
+	} > readwrite
+	.rela.dyn      0 :
+    {
+      *(.rela.init)
+      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+      *(.rela.fini)
+      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+      *(.rela.ctors)
+      *(.rela.dtors)
+      *(.rela.got)
+      *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
+      *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
+      *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
+      *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
+      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+    }
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.rom.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.rom.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/shelf.rom.ld	(revision 26)
@@ -0,0 +1,155 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.stub.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+STARTUP(start.o);
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+
+MEMORY {
+	/* internal ROM area: 0x000000 - 0x07ffff */
+	rom		: o = 0x000000, l = 0x080000
+        vector		: o = 0x000000, l = 0x000400
+		romexe		: o = 0x000400, l = 0x800000
+
+	/* external RAM area: 0x200000 - 0x21ffff */
+	ram		: o = 0x200000, l = 0x020000
+
+	/* internal RAM area: 0xffffd000 - 0xffffffff */
+	sram	: o = 0xffffd000, l = 0x003000
+        readwrite	: o = 0xffffd000, l = 0x002c00
+}
+
+SECTIONS
+{
+    .vector :
+	{
+		*(.vector)
+    } > vector
+    .init :
+	{
+        KEEP (*(.init))
+    }
+    .text :
+	{
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    } > romexe
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .varrom :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } > romexe
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    } > romexe
+    . = ALIGN(4) ;
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    } > romexe
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    } > romexe
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    } > ram
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    } > ram
+    _end = . ;
+    __bss_end = . ;
+	.var :
+	{
+		*(.var)
+	} > readwrite
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.c	(revision 26)
@@ -0,0 +1,103 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <s_services.h>
+#include "sh7047.h"
+
+#define SCI3_BASE   (IOREG_SCI_WINDOW*1) + IOREG_SCI_BASE
+#define SCI4_BASE   (IOREG_SCI_WINDOW*2) + IOREG_SCI_BASE
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize ()
+{
+	unsigned char  dummy;
+												/* Initialize SCR, SMR and BRR */
+	sil_wrb_mem((VP)(SCI3_BASE+IOREG_SCR_OFFSET), 0x00);
+	sil_wrb_mem((VP)(SCI3_BASE+IOREG_SMR_OFFSET), DEFAULT_SMR);
+	sil_wrb_mem((VP)(SCI3_BASE+IOREG_BRR_OFFSET), DEFAULT_BRR);
+
+	sil_dly_nse(5000L);
+	sil_wrb_mem((VP)(SCI3_BASE+IOREG_SCR_OFFSET), SCR_RIE|SCR_TE|SCR_RE);
+	dummy = sil_reb_mem((VP)(SCI3_BASE+IOREG_SSR_OFFSET));		/* Dummy read */
+	sil_wrb_mem((VP)(SCI3_BASE+IOREG_SSR_OFFSET), SSR_TDRE);	/* Clear error flags */
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+	sh2_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		sh2_putc (LOGTASK_PORTID, '\r');
+	}
+	sh2_putc (LOGTASK_PORTID, c);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_config.h	(revision 26)
@@ -0,0 +1,158 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼CRB_H3ç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "crb_h3.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"crb_h3"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ */
+#define	SIL_DLY_TIM1	2286
+#define	SIL_DLY_TIM2	1664
+
+/*
+ *  SIOã¬ã¸ã¹ã¿è¨­å®å¤
+ */
+#define DEFAULT_SPEED   38400
+#define DEFAULT_SMR     0x00	/* Async, 8 bits, No parity, 1 stop bit, no MP, 1/1 */
+#define DEFAULT_BRR		(CLOCK_RATE / 32 / DEFAULT_SPEED)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_defs.h	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼CRB_H3ç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define CRB_H3				/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	10u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_support.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_support.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_support.c	(revision 26)
@@ -0,0 +1,113 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+
+#include "jsp_kernel.h"
+#include "sh7047.h"
+#include <sil.h>
+
+void hardware_init_hook(void)
+{
+	unsigned long *p = (unsigned long *)SRAM_START;
+
+	/* initial Module Standby register */
+	sil_wrh_mem((VP)(IOREG_MST_BASE+IOREG_CR1_OFFSET), 0xf023);	/* sci4,sci3,sci2	*/
+	sil_wrh_mem((VP)(IOREG_MST_BASE+IOREG_CR2_OFFSET), 0xe0f0);	/* cmt */
+
+	/* initial base state */
+	sil_wrh_mem((VP)(IOREG_BSC_BASE+IOREG_BCR1_OFFSET), 0x600e);/* CS0:8bit */
+	sil_wrh_mem((VP)(IOREG_BSC_BASE+IOREG_BCR2_OFFSET), 0xffff);/* CS0:idle cycle 3*/
+	sil_wrh_mem((VP)(IOREG_BSC_BASE+IOREG_WCR1_OFFSET), 0xfff2);/* CS0 2Wait */
+
+	/* ï¼©ï¼¯ãã¼ãè¨­å® */
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PACRL1_OFFSET), 0x1115);	/*	0001 0001 0001 0101	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PACRL2_OFFSET), 0x4000);	/*	0100 0000 0000 0000	*/	/*	PA6	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PACRL3_OFFSET), 0x03bf);	/*	0000 0011 1011 1111	*/	/*	PA6	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PAIORL_OFFSET), 0x5ebf);	/*	0101 1110 1011 1111	*/
+
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PBCR1_OFFSET), 0x2c00);	/*	0010 1100 0000 0000	*/	/*	TXD4,RXD4	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PBCR2_OFFSET), 0x04f5);	/*	0000 0100 1111 0101	*/	/*	TXD4,RXD4	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PBIOR_OFFSET), 0x0023);	/*	0000 0000 0010 0011	*/	/*	TXD4,RXD4	*/
+
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PDCRL1_OFFSET), 0x00ff);	/*	0000 0000 1111 1111	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PDCRL2_OFFSET), 0x0000);	/*	0000 0000 0000 0000	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PDIORL_OFFSET), 0x0000);	/*	0000 0000 0000 0000	*/
+
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PECRH_OFFSET), 0x0fff);	/*	0000 1111 1111 1111	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PECRL1_OFFSET), 0x0000);	/*	0000 0000 0000 0000	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PECRL2_OFFSET), 0xff00);	/*	1111 1111 0000 0000	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PEIORH_OFFSET), 0x003f);	/*	0000 0000 0011 1111	*/
+	sil_wrh_mem((VP)(IOREG_PFC_BASE+IOREG_PEIORL_OFFSET), 0x00f0);	/*	0000 0000 1111 0000	*/
+
+	/* SRAM clear */
+	while(p < (unsigned long *)SRAM_END){
+		*p++ = 0L;
+	}
+}
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ */
+void sh2_init_intcontorller (void)
+{
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRA_OFFSET), 0x0000);
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRD_OFFSET), 0x0000);
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRE_OFFSET), 0x0000);
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRF_OFFSET), 0x0000);
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRG_OFFSET), 0x0000);
+	sil_wrh_mem((VP)(IOREG_INTC_BASE+IOREG_IPRH_OFFSET), 0x0000);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/crb_h3/user_config.h	(revision 26)
@@ -0,0 +1,199 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id$
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 - 0x0003,ffff  ã³ã¼ãé å:ROM(256KB)
+ *      0x0020,0000 - 0x0021,ffff  ã³ã¼ãé å:RAM,ãã¼ã¿é å(128K)
+ *      0xffff,d000 - 0xffff,ffff  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ ã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	 0x00000000
+
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 2
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define CONSOLE_PORTID  1	/* ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·ï¼ã«åºå® */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	10u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+//#define	INNER_RAM_ADDRESS
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/Makefile.config	(revision 26)
@@ -0,0 +1,66 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2005/07/06 00:45:07 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼HSB7616ITç¨ï¼
+#
+
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#
+#      DBGENVã«ã¯ä¸è¨ã®ä¸­ã®ï¼ã¤ã ããé¸æããã
+#
+#ãããDBGENV = ROMã¯ROMåã§ããï¼ä»ã®å®è¡ç°å¢ã§ã¯ãªãï¼ãã¨ã
+#ãããæç¤ºãã¦ããã ãã§ãã½ã¼ã¹ã³ã¼ãä¸­ã§åç
+§ã¯ãã¦ããªãã
+#
+#ãããå
+±éé¨Makefileã§ããã©ã«ãã®å®è¡ç°å¢ã¨ãã¦GDB stubãé¸æãããã
+#ãããDBGENV=GDB_STUBã«ä»®è¨­å®ãããç¶æ
+ã§ããã®ãã¡ã¤ã«ãèª­ã¿è¾¼ã¾ããã
+#ããã
+
+#DBGENV = ROM
+#DBGENV = MULTI_STACK
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS)
+CDEFS := $(CDEFS) -DSH7615
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o sh7615scif.o
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+     TEXT_START_ADDRESS=0x04020000
+else
+# ãã¯ã¿ãã¼ãã«ã®å¾ã
+#TEXT_START_ADDRESS=0x00000400
+TEXT_START_ADDRESS=0x04000400
+
+# RAMé åã®å
+é ­ã¢ãã¬ã¹(CS2)
+#DATA_START_ADDRESS=0x04000000
+endif
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+LDSCRIPT = $(CPU)/$(SYS)/shelf.stub.ld
+else
+LDSCRIPT = $(CPU)/$(SYS)/shelf.ld
+endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hsb7616it.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hsb7616it.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hsb7616it.h	(revision 26)
@@ -0,0 +1,107 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hsb7616it.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  åæé»å­	HSB7616IT
+ *  ãã¼ãåºæã®å®ç¾©
+ */
+
+#ifndef _HSB7616IT_H_
+#define _HSB7616IT_H_
+#include "sh7615.h"
+
+#ifndef _MACRO_ONLY
+/*
+ *  GDB STUBå¼åºãã«ã¼ãã³
+ */
+
+extern void sh2scif_putc_pol (ID portid, char c);	/*  sh7615sci.c  */
+
+#ifdef GDB_STUB
+
+#define sh2_exit	gdb_stub_exit
+#define sh2_putc	gdb_stub_putc
+
+Inline void
+gdb_stub_exit (void)
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trapa #0x20"::);
+}
+
+Inline int
+gdb_stub_putc (ID portid, int c)
+{
+	sh2scif_putc_pol (portid, c);
+	return(c);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+sh2_exit ()
+{
+	while (1);
+}
+
+Inline void
+sh2_putc (ID portid, char c)
+{
+	sh2scif_putc_pol (portid, c);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _HSB7616IT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.cfg	(revision 26)
@@ -0,0 +1,24 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	SCI/SCIFãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "hw_serial.h"
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,  { TA_HLNG, sio_handler_in });
+DEF_INH(INHNO_SERIAL_OUT, { TA_HLNG, sio_handler_out });
+DEF_INH(INHNO_SERIAL_ERROR, { TA_HLNG, sio_handler_error });
+DEF_INH(INHNO_SERIAL_BRK, { TA_HLNG, sio_handler_brk });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_handler2_in });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_handler2_out });
+DEF_INH(INHNO_SERIAL2_ERROR, { TA_HLNG, sio_handler2_error });
+DEF_INH(INHNO_SERIAL2_BRK, { TA_HLNG, sio_handler2_brk });
+
+#endif /* TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_serial.h	(revision 26)
@@ -0,0 +1,217 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *ããã·ãªã¢ã«I/Oããã¤ã¹ï¼SIO/SCIFï¼ãã©ã¤ãï¼HSB7615ITç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#ifndef _MACRO_ONLY
+#include "sh7615scif.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯sh7615scif.c */
+
+#ifndef GDB_STUB
+
+#define INHNO_SERIAL_IN	 RXI1
+#define INHNO_SERIAL_OUT TXI1
+#define INHNO_SERIAL_ERROR ERI1
+#define INHNO_SERIAL_BRK BRI1
+#if TNUM_PORT >= 2
+#define INHNO_SERIAL2_IN	 RXI2
+#define INHNO_SERIAL2_OUT TXI2
+#define INHNO_SERIAL2_ERROR ERI2
+#define INHNO_SERIAL2_BRK BRI2
+#endif /* TNUM_PORT >= 2 */
+
+#else	/*  GDB_STUB  */
+
+#define INHNO_SERIAL_IN	 RXI2
+#define INHNO_SERIAL_OUT TXI2
+#define INHNO_SERIAL_ERROR ERI2
+#define INHNO_SERIAL_BRK BRI2
+
+#endif	/*  GDB_STUB  */
+
+/*
+ * SCIã®å²ãè¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+#define LEVEL0		0			/*  å²è¾¼ã¿è§£é¤æã®ã¬ãã«  */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	sh2scif_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = sh2scif_openflag (siopid);
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = sh2scif_opn_por(siopid, exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+	 *  ãã·ãªã¢ã«I/Oå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ãè¨­å®ãã
+	 */
+	if (!openflag) {
+		if (siopcb->siopinib->reg_base == 0xfffffcc0)
+			define_int_plevel (IPRD, siopcb->siopinib->int_level, 0);
+		if ((siopcb->siopinib->reg_base) == 0xfffffce0)
+			define_int_plevel (IPRE, siopcb->siopinib->int_level, 12);
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	sh2scif_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã¬ãã«ãæä½ã¬ãã«ã«ãã
+	 */
+		if (siopcb->siopinib->reg_base == 0xfffffcc0)
+			define_int_plevel (IPRD, LEVEL0, 0);
+		if ((siopcb->siopinib->reg_base) == 0xfffffce0)
+			define_int_plevel (IPRE, LEVEL0, 12);
+
+}
+
+/*
+ *  SIO/SCIFã®å²è¾¼ã¿ãã³ãã©
+ */
+#define	sio_handler_in	sh2scif_isr_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_out	sh2scif_isr_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_error sh2scif_isr_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler_brk	sh2scif_isr_brk	/*  ãã¬ã¼ã¯æ¤åºå²è¾¼ã¿ãã³ãã©  */
+#if TNUM_PORT >= 2
+#define	sio_handler2_in		sh2scif_isr2_in	/*  åä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_out	sh2scif_isr2_out	/*  éä¿¡å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_error	sh2scif_isr2_error	/*  åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©  */
+#define	sio_handler2_brk	sh2scif_isr2_brk	/*  ãã¬ã¼ã¯æ¤åºå²è¾¼ã¿ãã³ãã©  */
+#endif /* TNUM_PORT >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr	sh2scif_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr	sh2scif_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr	sh2scif_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr	sh2scif_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_snd	sh2scif_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  ããjsp/systask/serial.cã«ããå®ä½ããªãã¼ã ãã¦ãã
+ *  ããï¼ä¸ç¨®ã®åæ¹åç
+§ï¼
+ */
+#define	sio_ierdy_rcv	sh2scif_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/hw_timer.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH7615ç¨ï¼
+ *  FRTãä½¿ç¨
+ *ãã¿ã¤ãããã¤ã¹èªä½ã«ä¾å­ããå¦çã¯sh7615frt.hã«è¨è¿°ãã
+ *
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+#include "sh7615frt.h"
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	OCI
+
+#ifndef _MACRO_ONLY
+
+/*  å²è¾¼ã¿ã¬ãã«ãè¨­å®ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¨ãã®ã·ããæ°  */
+#define FRT_BIT_SHIFT	8
+
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#define hw_timer_int_clear	sh2_timer_int_clear
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	/*
+	 *  ã¿ã¤ãããã¤ã¹èªä½ã®åæå
+	 */
+	sh2_timer_initialize();
+
+	/*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	/* å²ãè¾¼ã¿ã¬ãã«è¨­å®   */
+	define_int_plevel (IPRB, TIMER_INTLVL, FRT_BIT_SHIFT);
+	sh2_timer_int_clear ();		/*  å²è¾¼ã¿è¦æ±ãã¯ãªã¢  */
+
+	sh2_timer_start ();			/* ã¿ã¤ãã¹ã¿ã¼ã       */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#define hw_timer_terminate		sh2_timer_terminate
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+#define hw_timer_get_current		sh2_timer_get_current
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#define hw_timer_fetch_interrupt	sh2_timer_fetch_interrupt
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sh2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sh2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sh2.h	(revision 26)
@@ -0,0 +1,68 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sh2.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+
+#ifndef _SH2_H_
+#define _SH2_H_
+
+#include "sh7615.h"
+#include "hsb7616it.h"
+
+#ifndef _MACRO_ONLY
+#include <sil.h>
+
+Inline void
+define_int_plevel (VH * mem, UW level, UINT shift)
+{
+	VH reg = sil_reh_mem ((VP) mem);
+
+	reg = (VH) ((reg & ~(0xfu << shift)) | (level << shift));
+	sil_wrh_mem ((VP) mem, reg);
+}
+#endif /* _MACRO_ONLY */
+#endif /*  _SH2_H_  */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.ld	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+/*    .vector : AT(0)*/
+    .vector : AT(0x04000000)
+    {
+	*(.vector)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.stub.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.stub.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/shelf.stub.ld	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: shelf.stub.ld,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+
+
+PROVIDE (__stack = 0) ;
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = __dummy_memcpy);
+SECTIONS
+{
+    .init :
+    {
+        KEEP (*(.init))
+    }
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .fini :
+    {
+        KEEP (*(.fini))
+    }
+    _etext = . ;
+    PROVIDE (etext = .) ;
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4) ;
+    __idata_start = . ;
+    .data : AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    .eh_frame : { KEEP (*(.eh_frame)) }
+    .gcc_except_table : { *(.gcc_except_table) }
+    .ctors :
+    {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    }
+    .dtors :
+    {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    }
+    __idata_end = __idata_start + SIZEOF(.data) ;
+    _edata  = . ;
+    PROVIDE (edata = .) ;
+    . = ALIGN(4) ;
+    __bss_start = . ;
+    .bss :
+    {
+        *(.bss)
+        *(COMMON)
+    }
+    _end = . ;
+    __bss_end = . ;
+    PROVIDE (end = .) ;
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.c	(revision 26)
@@ -0,0 +1,153 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <s_services.h>
+#include "sh7615scif.h"
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯sh7615scif.c */
+void
+sys_initialize ()
+{
+	SIOPCB *siopcb;
+
+	/* ä½¿ç¨ããå¨è¾ºæ©å¨ã¯ããã§æå¹ã«ãã¦ããã */
+	/*  SCIFãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+#ifndef GDB_STUB
+
+	/* SCIF1 */
+	sil_wrh_mem (PBCR, sil_reh_mem (PBCR) | (0x0800 | 0x2000));
+#if TNUM_PORT >= 2
+	/* SCIF2 */
+	sil_wrh_mem (PBCR2, sil_reh_mem (PBCR2) | (0x0200 | 0x0800));
+#endif /* TNUM_PORT >= 2 */
+
+#else	/*  GDB_STUB  */
+
+	/* SCIF2 */
+	sil_wrh_mem (PBCR2, sil_reh_mem (PBCR2) | (0x0200 | 0x0800));
+
+#endif	/*  GDB_STUB  */
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	/*ããã¼åºåãããã */
+	sh2scif_initialize();
+	siopcb = sh2scif_opn_por (LOGTASK_PORTID, 0);
+
+#ifndef GDB_STUB
+	/* ãã¯ã¿çªå·ã®åæå */
+
+	sil_wrw_mem (DMA_VCRDMA0, 72);
+	sil_wrw_mem (DMA_VCRDMA1, 73);
+
+	sil_wrh_mem (VCRWDT, 74 * 0x100 + 75);
+	sil_wrh_mem (VCRA, 76 * 0x100);
+	sil_wrh_mem (VCRC, 77 * 0x100 + 78);
+	sil_wrh_mem (VCRD, 79 * 0x100);
+	sil_wrh_mem (VCRE, 80 * 0x100 + 81);
+	sil_wrh_mem (VCRF, 82 * 0x100 + 83);
+	sil_wrh_mem (VCRG, 84 * 0x100);
+	sil_wrh_mem (VCRH, 85 * 0x100 + 86);
+	sil_wrh_mem (VCRI, 87 * 0x100 + 88);
+	sil_wrh_mem (VCRJ, 89 * 0x100 + 90);
+	sil_wrh_mem (VCRK, 91 * 0x100 + 92);
+	sil_wrh_mem (VCRL, 93 * 0x100 + 94);
+	sil_wrh_mem (VCRM, 95 * 0x100 + 96);
+	sil_wrh_mem (VCRN, 97 * 0x100 + 98);
+	sil_wrh_mem (VCRO, 99 * 0x100 + 100);
+	sil_wrh_mem (VCRP, 101 * 0x100 + 102);
+	sil_wrh_mem (VCRQ, 103 * 0x100 + 104);
+	sil_wrh_mem (VCRR, 105 * 0x100 + 106);
+	sil_wrh_mem (VCRS, 107 * 0x100 + 108);
+	sil_wrh_mem (VCRT, 109 * 0x100 + 110);
+	sil_wrh_mem (VCRU, 111 * 0x100 + 112);
+#endif	/*  GDB_STUB  */
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit()
+{
+	sh2_exit();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void
+sys_putc(char c)
+{
+	if (c == '\n') {
+		sh2_putc (LOGTASK_PORTID, '\r');
+	}
+	sh2_putc (LOGTASK_PORTID, c);
+}
+
+/* ãã¼ãã¦ã§ã¢ã®è¨­å® */
+void
+hardware_init_hook (void)
+{
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_config.h	(revision 26)
@@ -0,0 +1,165 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼HSB7616ITç¨ï¼
+ *ãããããã«ã¼ãã«å
+é¨ã§ä½¿ç¨ããå®ç¾©
+ *ãããããããã¼ã¿åããã¯ã­ãé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+ */
+#include <user_config.h>
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "hsb7616it.h"
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­ã®å®ç¾©
+ */
+#include <util.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"hsb7616it"
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define str_STACKTOP	TO_STRING(STACKTOP)
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ *  ãæ¬å½ã¯ã¯ã­ãã¯å¨æ³¢æ°ã«ä¾å­ããã
+ *  ãï¼ã¯ã­ãã¯20MHzæã®å®æ¸¬å¤ãªã®ã§ãå®å
+¨å´ã«åãã¦ãããï¼
+ */
+#define	SIL_DLY_TIM1	1143
+#define	SIL_DLY_TIM2	 832
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼
+ */
+extern void	sys_putc(char c) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«é¢é£ã®ãã¯ã­å®ç¾©
+ *  ãããã¯ã­ã®èª¬æ
+ *  ãããKERNEL_HAS_A_VECTOR_TABLE
+ *  ããããã«ã¼ãã«ãä¾å¤ãã¯ã¿ãã¼ãã«ãæã¤
+ *  ãããSIO_RESERVED
+ *  ããããã·ãªã¢ã«ããã¤ã¹ããããã¬ã«ãã£ã¦ä½¿ç¨ããã¦ãã
+ */
+#ifdef GDB_STUB
+/*
+ *  GDB-stubã®å ´å
+ *  ããã«ã¼ãã«ã¯ä¾å¤ãã¯ã¿ãã¼ãã«ãæãããå²è¾¼ã¿ã®éã«ã¯
+ *ãããstubãç®¡çãã¦ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããã·ãªã¢ã«ãã¼ãã¯stubãå æãã¦ãã
+ */
+//#define SIO_RESERVED
+
+#else /* GDB_STUB */
+/*
+ *  ROMåã®å ´å
+ *  ãããªã»ããæï¼ROMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ *  ããåæåå¾ï¼RAMä¸ã«ããä¾å¤ãã¯ã¿ãã¼ãã«ãåç
+§ãã
+ */
+#define KERNEL_HAS_A_VECTOR_TABLE
+
+#endif /* GDB_STUB */
+
+
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_defs.h	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼HSB7616ITç¨ï¼
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define HSB7616IT			/* ã·ã¹ãã ç¥ç§° */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿çªå·ã®åã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯
+ */
+#if 0 /* ç¾æç¹ã§ã¯ãµãã¼ããã¦ããªã */
+
+typedef	UINT	INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno) throw();
+extern ER	ena_int(INTNO intno) throw();
+
+#endif /* 0 */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#ifdef GDB_STUB
+
+Inline void
+kernel_abort()
+{
+	/* ãã¹ããã¦ããªã */
+	Asm("trapa #0x20"::);
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+	while(1);
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_support.S	(revision 26)
@@ -0,0 +1,66 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+!        .text
+!        .align 2
+!        .global _hardware_init_hook
+!_hardware_init_hook:    
+! ããã©ã«ãã®ãã¹å¹
+ã¨ç°ãªãè¨­å®ãããå ´åãããã§ãã¹å¹
+ã®è¨­å®ãè¡ãã
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/user_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/user_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/hsb7616it/user_config.h	(revision 26)
@@ -0,0 +1,197 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: user_config.h,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¦ã¼ã¶ã¼å®ç¾©ã®è¨­å®é¨
+ */
+
+#ifndef _USER_CONFIG_H_
+#define _USER_CONFIG_H_
+
+/*
+ *  æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­å®ç¾©
+ */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  å²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ *ããã§ãã¯ãè¡ãã©ããã®å®ç¾©
+ */
+//#define	SUPPORT_CPU_EXC_ENTRY_CHECK
+
+/*
+ *  å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ *ãã©ããã®å®ç¾©ï¼ãã«ICEåãï¼
+ */
+//#define	OMIT_POWER_CONTROL
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§
+ *ãåæåããã©ããã®å®ç¾©
+ */
+//#define	FILL_STACK_WITH_0
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãçç¥ããã
+ *ãã©ããã®å®ç¾©
+ */
+//#define	OMIT_DATA_SECTION_COPY
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x0000,0000 - 0x001f,ffff  ã³ã¼ãé å(2MB)
+ *      0x0400,0000 -              ãã¼ã¿é å(1MB)
+ *                  - 0x040f,ffff  ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ ã¡ã¢ãªçµäº
+ */
+
+/*
+ *ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+ */
+#define STACKTOP    	 0x04100000
+
+
+/*
+ *  GDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ */
+#define TNUM_PORT 1
+
+/*
+ *  PDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *ãï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+ */
+#define	LOGTASK_PORTID	1
+
+/*
+ *  ã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ *ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ * SCIã®å²è¾¼ã¿ã¬ãã«
+ * ãå²è¾¼ã¿ãã³ãã©ã¯éåä¿¡å¥ã
+ã«ç»é²ã§ããããå²è¾¼ã¿ã¬ãã«ã¯
+ * ãéä¿¡ãåä¿¡ãåãã¬ãã«ã«ããè¨­å®ã§ããªãã
+ */
+/* shxxxxsci.cã§è¨­å® */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ã®ã¬ãã«
+ */
+#define TIMER_INTLVL	4
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  ãï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æï¼[msec]åä½ï¼
+ */
+#define	TIC_NUME	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+
+/*
+ *  ä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®æ°
+ */
+//#define	NUM_EXC
+
+/*
+ *  å
+é¨RAMã®æçµã¢ãã¬ã¹
+ *ããhardware_init_hookãCè¨èªã®é¢æ°ã§è¨è¿°ãããã
+ *  ãã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ã¨ãã¦ä½¿ç¨ãããã
+ */
+//#define	INNER_RAM_ADDRESS
+
+
+/*
+ *  ä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ *  çç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®
+ *ãå
+é ­ã¢ãã¬ã¹ãè¨­å®ãããã
+ */
+
+/*  ä¸è¬ä¸å½å½ä»¤  */
+//#define GII_VECTOR
+
+/*  ã¹ã­ããä¸å½å½ä»¤  */
+//#define SII_VECTOR
+
+/*  CPUã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define CAE_VECTOR
+
+/*  DMAã¢ãã¬ã¹ã¨ã©ã¼  */
+//#define DAE_VECTOR
+
+/*  NMI  */
+//#define NMI_VECTOR
+
+
+#endif /* _USER_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/makeoffset.c	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.6 2005/07/06 00:45:07 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+        OFFSET_DEF2(TCB, tinib, tinib);
+        OFFSET_DEF2(TINIB, task, task);
+        OFFSET_DEF2(TINIB, exinf, exinf);
+	OFFSET_DEF(TCB, texptn);
+
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+        OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+/*  BIT_BBï¼ããã°ã¨ã³ãã£ã¢ã³ããã¤ãåä½ã§ããããã¿ã¼ã³ãåºåãã  */
+TCB	BIT_BB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { NULL, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145.h	(revision 26)
@@ -0,0 +1,132 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002 by Hokkaido Industrial Research Institute, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sh7145.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+#ifndef _SH7145_H_
+#define _SH7145_H_
+
+#include <sil.h>
+
+/*
+ *  å²è¾¼ã¿ã®ãã¯ã¿çªå·å®ç¾©
+ */
+
+#define ERI0	128				/*  SCI0    */
+#define RXI0	129				/*  SCI0    */
+#define TXI0	130				/*  SCI0    */
+#define ERI1	132				/*  SCI1    */
+#define RXI1	133				/*  SCI1    */
+#define TXI1	134				/*  SCI1    */
+#define CMI0	144				/*  CMT    */
+#define ERI2	168				/*  SCI2    */
+#define RXI2	169				/*  SCI2    */
+#define TXI2	170				/*  SCI2    */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SH2ã®å
+é¨ã¬ã¸ã¹ã¿å®ç¾©
+ */
+/* ã¢ã¸ã¥ã¼ã«ã¹ã¿ã³ãã¤ã¬ã¸ã¹ã¿ */
+#define MSTCR1	((VH *)0xffff861c)
+#define MSTCR2	((VH *)0xffff861e)
+
+#define BCR1	((VH *)0xffff8620)
+#define BCR2	((VH *)0xffff8622)
+#define WCR1	((VH *)0xffff8624)
+#define PACRH	((VH *)0xffff8388)
+#define PACRL1	((VH *)0xffff838c)
+#define PACRL2	((VH *)0xffff838e)
+#define PBCR1	((VH *)0xffff8398)
+#define PBCR2	((VH *)0xffff839a)
+#define PCCR	((VH *)0xffff839c)
+#define PDCRH1	((VH *)0xffff83a8)
+#define PDCRH2	((VH *)0xffff83aa)
+#define PDCRL1	((VH *)0xffff83ac)
+#define PDCRL2	((VH *)0xffff83ae)
+#define PECRL1	((VH *)0xffff83b8)
+#define PECRL2	((VH *)0xffff83ba)
+#define PAIORL	((VH *)0xffff8386)
+#define PBIOR	((VH *)0xffff8394)
+#define PEIORL	((VH *)0xffff83b4)
+#define PEDRL	((VH *)0xffff83b0)
+
+/* å²ãè¾¼ã¿åªå
+åº¦ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ */
+#define IPRA    ((VH *)0xffff8348)
+#define IPRB    ((VH *)0xffff834a)
+#define IPRC    ((VH *)0xffff834c)
+#define IPRD    ((VH *)0xffff834e)
+#define IPRE    ((VH *)0xffff8350)
+#define IPRF    ((VH *)0xffff8352)
+#define IPRG    ((VH *)0xffff8354)
+#define IPRH    ((VH *)0xffff8356)
+#define IPRI    ((VH *)0xffff835c)
+#define IPRJ    ((VH *)0xffff835e)
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ */
+Inline void sh2_init_intcontorller(void)
+{
+	sil_wrh_mem (IPRA, 0x0000);
+	sil_wrh_mem (IPRB, 0x0000);
+	sil_wrh_mem (IPRC, 0x0000);
+	sil_wrh_mem (IPRD, 0x0000);
+	sil_wrh_mem (IPRE, 0x0000);
+	sil_wrh_mem (IPRF, 0x0000);
+	sil_wrh_mem (IPRG, 0x0000);
+	sil_wrh_mem (IPRH, 0x0000);
+	sil_wrh_mem (IPRI, 0x0000);
+	sil_wrh_mem (IPRJ, 0x0000);
+}
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH7145_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145cmt.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145cmt.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145cmt.h	(revision 26)
@@ -0,0 +1,226 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7145cmt.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *  CMTãä½¿ç¨
+ */
+
+#ifndef _SH7145CMT_H_
+#define _SH7145CMT_H_
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *   	f/8ã§ã«ã¦ã³ã
+ */
+#define TCR_CKS         0x0
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *      12.288MHz*2/8 = 3,072kHz
+ */
+#define TIMER_CLOCK     3072
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100		/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼ */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+#define CMSTR	(VH *)0xffff83d0
+#define CMCSR_0	(VH *)0xffff83d2
+#define CMCNT_0	(VH *)0xffff83d4
+#define CMCOR_0	(VH *)0xffff83d6
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+sh2_timer_start ()
+{
+	sil_wrh_mem (CMSTR, sil_reh_mem (CMSTR) | 0x0001);
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+sh2_timer_stop ()
+{
+    	/* ã¿ã¤ããåæ­¢ 	  */
+	sil_wrh_mem (CMSTR, sil_reh_mem (CMSTR) & ~0x0001);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+sh2_timer_int_clear ()
+{
+	/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢     */
+	sil_wrh_mem (CMCSR_0, sil_reh_mem (CMCSR_0) & ~0x0080);
+				/* CMFã³ã³ãã¢ããããã©ã°ã®ã¯ãªã¢ */
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+sh2_timer_initialize ()
+{
+	CLOCK cyc = TO_CLOCK (TIC_NUME, TIC_DENO);
+
+
+	sil_wrh_mem (MSTCR2, (sil_reh_mem(MSTCR2)& ~0x0100));
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	sh2_timer_stop ();			/* ã¿ã¤ãåæ­¢ */
+	/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert (cyc <= MAX_CLOCK);
+
+	/*  åå¨æ¯è¨­å®  clock 1/8  ãå²ãè¾¼ã¿ç¦æ­¢ */
+    sil_wrh_mem(CMCSR_0,0x0000);
+	/*  CMCOR0ã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼      */
+	sil_wrh_mem (CMCOR_0,(VH)CLOCK_PER_TICK);
+	/* ã«ã¦ã³ã¿ãã¯ãªã¢             */
+	sil_wrh_mem (CMCNT_0,0x0000);
+	sil_wrh_mem (CMCSR_0, sil_reh_mem(CMCSR_0) | 0x0040);	/* å²ãè¾¼ã¿è¨±å¯ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+sh2_timer_terminate ()
+{
+	sh2_timer_stop ();			/* ã¿ã¤ããåæ­¢     */
+	sh2_timer_int_clear ();		/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	sil_wrh_mem (CMCSR_0, sil_reh_mem(CMCSR_0) & ~0x0040);	//å²ãè¾¼ã¿ä¸è¨±å¯
+	sil_wrh_mem (CMCNT_0,0x0000);
+	sil_wrh_mem (CMCOR_0,0x0000);
+	sil_wrh_mem (MSTCR2, (sil_reh_mem(MSTCR2) | 0x0100));
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+Inline CLOCK
+sh2_timer_get_current ()
+{
+	CLOCK	clk;
+/* SH1ã¨åã */
+	sh2_timer_stop ();			/*  ã¿ã¤ãåæ­¢  */
+
+	/*  æ¬æ¥ã¯å¾
+ã¡æéãå
+¥ããã¹ã  */
+
+	clk = sil_reh_mem(CMCNT_0);
+	sh2_timer_start();			/*  ã¿ã¤ãã¹ã¿ã¼ã  */
+	
+	return(clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+sh2_timer_fetch_interrupt ()
+{
+	return (sil_reh_mem (CMCSR_0) & 0x0080);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SH7145CMT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.c	(revision 26)
@@ -0,0 +1,422 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7145sci.c,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "sh7145sci.h"
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+#ifndef GDB_STUB
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{0xffff81b0, BRR9600, 0x0, 6}, /* SCI1 */
+#if TNUM_PORT >= 2
+	{0xffff81a0, BRR9600, 0x0, 6}, /* SCI0 */
+#endif /* TNUM_PORT >= 2 */
+};
+#else /* GDB_STUB */
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{0xffff81a0, BRR9600, 0x0, 6}, /* SCI0 */
+};
+#endif /* GDB_STUB */
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+				/*  ãã¼ãIDããããã¤ã¹çªå·ãæ±ãããã¯ã­  */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2sci_getready (SIOPCB * siopcb)
+{
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ãã§ãã¯  */
+	return (sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR)) &
+			SSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2sci_putready (SIOPCB * siopcb)
+{
+	/*  ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ãã§ãã¯ */
+	return (sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR)) &
+			SSR_TDRE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+sh2sci_getchar (SIOPCB * siopcb)
+{
+	char data;
+
+	data = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_RDR));
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCI_SSR)) & ~SSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh2sci_putchar (SIOPCB * siopcb, char c)
+{
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_TDR), c);
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCI_SSR)) & ~SSR_TDRE);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh2sci_initialize ()
+{
+	SIOPCB *siopcb;
+	UINT i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+		siopcb->siopinib = (&siopinib_table[i]);
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+sh2sci_openflag (ID siopid)
+{
+	return (siopcb_table[siopid - 1].openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh2sci_opn_por (ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb = get_siopcb (siopid);
+
+	/*  éåä¿¡åæ­¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR), 0x00);
+
+	/*  SCIãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+	/*  ãã³ã¢ãµã¤ã³ */
+	/* sys_initializeã§è¨­å® */
+
+	/*  éåä¿¡ãã©ã¼ããã  */
+	/*  èª¿æ­©åæå¼  */
+	/*  8ããããããªãã£ãªã  */
+	/*  ã¹ããããããã¬ã³ã°ã¹ï¼1   */
+	/*  ã¯ã­ãã¯ã»ã¬ã¯ã */
+
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SMR),
+				 siopcb->siopinib->smr);
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_BRR),
+				 (VB) siopcb->siopinib->brr);
+
+	/*
+	 * ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ã«ã¦ã³ãåå¾
+ããªããã°ãªããªãã
+	 */
+	sil_dly_nse (sh2sci_DELAY);	/* å¤ã¯ï½ï½ï¼ã¨åã */
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCI_SSR)) & ~(SSR_ORER | SSR_FER |
+													SSR_PER));
+	/*éåä¿¡è¨±å¯ãåä¿¡å²ãè¾¼ã¿è¨±å¯ */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+				 (VB) (SCI_RIE | SCI_TE | SCI_RE));
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return (siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh2sci_cls_por (SIOPCB * siopcb)
+{
+	/*  éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCI_SCR)) & (VB) ~ (SCI_TIE | SCI_RIE |
+														  SCI_TE | SCI_RE));
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh2sci_snd_chr (SIOPCB * siopcb, char c)
+{
+	if (sh2sci_putready (siopcb)) {
+		sh2sci_putchar (siopcb, c);
+		return (TRUE);
+	}
+	return (FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh2sci_rcv_chr (SIOPCB * siopcb)
+{
+	if (sh2sci_getready (siopcb)) {
+		return ((INT) (UB) sh2sci_getchar (siopcb));
+		/*  (UB)ã§ã­ã£ã¹ãããã®ã¯ã¼ã­æ¡å¼µã«ãããã  */
+	}
+	return (-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sh2sci_ena_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCI_SCR)) | SCI_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCI_SCR)) | SCI_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sh2sci_dis_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCI_SCR)) & ~SCI_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCI_SCR)) & ~SCI_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2sci_isr_siop_out (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR));
+
+	if ((scr0 & SCI_TIE) != 0 && sh2sci_putready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2sci_ierdy_snd (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2sci_isr_siop_in (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SCR));
+
+	if ((scr0 & SCI_RIE) != 0 && sh2sci_getready (siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2sci_ierdy_rcv (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡ã¨ã©ã¼å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2sci_isr_siop_err (SIOPCB * siopcb)
+{
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCI_SSR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCI_SSR)) & ~(SSR_ORER | SSR_FER |
+													SSR_PER));
+}
+
+/*
+ *  SCIéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2sci_isr_out (void)
+{
+	if (siopcb_table[0].openflag) {
+		sh2sci_isr_siop_out (get_siopcb (1));
+	}
+}
+
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2sci_isr_in (void)
+{
+	if (siopcb_table[0].openflag) {
+		sh2sci_isr_siop_in (get_siopcb (1));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+sh2sci_isr_error (void)
+{
+	if (siopcb_table[0].openflag) {
+		sh2sci_isr_siop_err (get_siopcb (1));
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh2sci_putc_pol (ID portid, char c)
+{
+	while (!sh2sci_putready (&siopcb_table[portid - 1]));
+	sh2sci_putchar (&siopcb_table[portid - 1], c);
+}
+
+
+#if TNUM_PORT >= 2
+/*
+ *  SIOåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2sci_isr2_in (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2sci_isr_siop_in (get_siopcb (2));
+	}
+}
+
+/*
+ *  SCIéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2sci_isr2_out (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2sci_isr_siop_out (get_siopcb (2));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+sh2sci_isr2_error (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2sci_isr_siop_err (get_siopcb (2));
+	}
+}
+#endif /* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7145sci.h	(revision 26)
@@ -0,0 +1,196 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7145sci.h,v 1.1 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#ifndef _sh7145sci_H_
+#define _sh7145sci_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block
+{
+	UW reg_base;				/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UB brr;						/* ãã¼ã¬ã¼ãã®è¨­å®å¤   */
+	UB smr;						/* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å®å¤   */
+	UB int_level;				/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®å¤   */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block
+{
+	const SIOPINIB *siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL sendflag;				/* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+	BOOL getready;				/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL putready;				/* æå­ãéä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ãªãã»ãã 
+ */
+#define SCI_SCR	0x2
+#define SCI_SSR	0x4
+#define SCI_BRR	0x1
+#define SCI_SMR	0x0
+#define SCI_TDR	0x3
+#define SCI_RDR	0x5
+#define SCI_SDCR 0x6
+
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+#define SCI_TIE		0x80		/* ãã©ã³ã¹ãããã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+#define SCI_RIE		0x40		/* ã¬ã·ã¼ãã¤ã³ã¿ã©ããã¤ãã¼ãã«   */
+#define SCI_TE		0x20		/* ãã©ã³ã¹ãããã¤ãã¼ãã«         */
+#define SCI_RE		0x10		/* ã¬ã·ã¼ãã¤ãã¼ãã«           */
+#define SSR_ORER	0x20		/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼           */
+#define SSR_FER		0x10		/* ãã¬ã¼ãã³ã°ã¨ã©ã¼           */
+#define SSR_PER		0x08		/* ããªãã£ã¨ã©ã¼           */
+#define SSR_TDRE	0x80		/* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ */
+#define SSR_RDRF	0x40		/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«       */
+
+#define sh2sci_DELAY 	105000
+
+#define PFC_TXD0	0x0004
+#define PFC_RXD0	0x0001
+#define PFC_TXD1	0x0100
+#define PFC_RXD1	0x0040
+#define PFC_TXD2	0x0020
+#define PFC_RXD2	0x8000
+
+/*
+ *  SCIã®è¨­å®
+ */
+#define SMR_CKS 	0x0			/*  åå¨æ¯          */
+#define BRR9600 	79			/*  9600 ãããã¬ã¼ã    */
+#define BRR19200	39			/*  19200 ãããã¬ã¼ã    */
+#define BRR38400	19			/*  38400 ãããã¬ã¼ã    */
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void sh2sci_initialize (void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL sh2sci_openflag (ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sh2sci_opn_por (ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sh2sci_cls_por (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL sh2sci_snd_chr (SIOPCB * siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT sh2sci_rcv_chr (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sh2sci_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sh2sci_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void sh2sci_isr (void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sh2sci_ierdy_snd (VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sh2sci_ierdy_rcv (VP_INT exinf);
+
+#endif /* _sh7145sci_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7262.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7262.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7262.h	(revision 26)
@@ -0,0 +1,490 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+#ifndef _SH7262_H_
+#define _SH7262_H_
+
+#include <sil.h>
+
+/*
+ *  å²è¾¼ã¿ãã¯ã¿çªå·
+ */
+#define INT_IRQ0        64          /* IRQ0 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ1        65          /* IRQ1 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ2        66          /* IRQ2 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ3        67          /* IRQ3 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ4        68          /* IRQ4 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ5        69          /* IRQ5 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ6        70          /* IRQ6 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ7        71          /* IRQ7 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT0       80          /* PINT0 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT1       81          /* PINT1 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT2       82          /* PINT2 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT3       83          /* PINT3 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT4       84          /* PINT4 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT5       85          /* PINT5 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT6       86          /* PINT6 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT7       87          /* PINT7 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_DEI0        108         /* DMACãã£ãã«0 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI0        109         /* DMACãã£ãã«0 ãã¼ãã¨ã³ã */
+#define INT_DEI1        112         /* DMACãã£ãã«1 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI1        113         /* DMACãã£ãã«1 ãã¼ãã¨ã³ã */
+#define INT_DEI2        116         /* DMACãã£ãã«2 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI2        117         /* DMACãã£ãã«2 ãã¼ãã¨ã³ã */
+#define INT_DEI3        120         /* DMACãã£ãã«3 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI3        121         /* DMACãã£ãã«3 ãã¼ãã¨ã³ã */
+#define INT_DEI4        124         /* DMACãã£ãã«4 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI4        125         /* DMACãã£ãã«4 ãã¼ãã¨ã³ã */
+#define INT_DEI5        128         /* DMACãã£ãã«5 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI5        129         /* DMACãã£ãã«5 ãã¼ãã¨ã³ã */
+#define INT_DEI6        132         /* DMACãã£ãã«6 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI6        133         /* DMACãã£ãã«6 ãã¼ãã¨ã³ã */
+#define INT_DEI7        136         /* DMACãã£ãã«7 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI7        137         /* DMACãã£ãã«7 ãã¼ãã¨ã³ã */
+#define INT_DEI8        140         /* DMACãã£ãã«8 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI8        141         /* DMACãã£ãã«8 ãã¼ãã¨ã³ã */
+#define INT_DEI9        144         /* DMACãã£ãã«9 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI9        145         /* DMACãã£ãã«9 ãã¼ãã¨ã³ã */
+#define INT_DEI10       148         /* DMACãã£ãã«10 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI10       149         /* DMACãã£ãã«10 ãã¼ãã¨ã³ã */
+#define INT_DEI11       152         /* DMACãã£ãã«11 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI11       153         /* DMACãã£ãã«11 ãã¼ãã¨ã³ã */
+#define INT_DEI12       156         /* DMACãã£ãã«12 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI12       157         /* DMACãã£ãã«12 ãã¼ãã¨ã³ã */
+#define INT_DEI13       160         /* DMACãã£ãã«13 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI13       161         /* DMACãã£ãã«13 ãã¼ãã¨ã³ã */
+#define INT_DEI14       164         /* DMACãã£ãã«14 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI14       165         /* DMACãã£ãã«14 ãã¼ãã¨ã³ã */
+#define INT_DEI15       168         /* DMACãã£ãã«15 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI15       169         /* DMACãã£ãã«15 ãã¼ãã¨ã³ã */
+#define INT_USBI        170         /* USBã³ã³ãã­ã¼ã© */
+#define INT_VIVSYNCJ    171         /* ãããªãã£ã¹ãã¬ã¤ã³ã³ãã­ã¼ã©3 VSYNCå¨æä¹±ãæ¤åº */
+#define INT_VBUFFER     172         /* ãããªãã£ã¹ãã¬ã¤ã³ã³ãã­ã¼ã©3 ãããã¡ã¨ã©ã¼ */
+#define INT_VIFIELDE    173         /* ãããªãã£ã¹ãã¬ã¤ã³ã³ãã­ã¼ã©3 ãã£ã¼ã«ãæ¸ãè¾¼ã¿å®äº */
+#define INT_VOLINE      174         /* ãããªãã£ã¹ãã¬ã¤ã³ã³ãã­ã¼ã©3 ã©ã¤ã³å²ãè¾¼ã¿ */
+#define INT_CMI0        175         /* CMTãã£ãã«0 ã³ã³ãã¢ããã */
+#define INT_CMI1        176         /* CMTãã£ãã«1 ã³ã³ãã¢ããã */
+#define INT_CMI         177         /* BSC ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ãã¢ããã */
+#define INT_ITI         178         /* WDT ã¤ã³ã¿ã¼ãã«ã¿ã¤ãå²ãè¾¼ã¿ */
+#define INT_TGI0A       179         /* MTU2 TGRA0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0B       180         /* MTU2 TGRB0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0C       181         /* MTU2 TGRC0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0D       182         /* MTU2 TGRD0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0V       183         /* MTU2 TCNT0 ãªã¼ããã­ã¼ */
+#define INT_TGI0E       184         /* MTU2 TGRE0 ã³ã³ãã¢ããã */
+#define INT_TGI0F       185         /* MTU2 TGRF0 ã³ã³ãã¢ããã */
+#define INT_TGI1A       186         /* MTU2 TGRA1 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI1B       187         /* MTU2 TGRB1 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI1V       188         /* MTU2 TCNT1 ãªã¼ããã­ã¼ */
+#define INT_TGI1U       189         /* MTU2 TCNT1 ã¢ã³ããã­ã¼ */
+#define INT_TGI2A       190         /* MTU2 TGRA2 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI2B       191         /* MTU2 TGRA2 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI2V       192         /* MTU2 TCNT2 ãªã¼ããã­ã¼ */
+#define INT_TGI2U       193         /* MTU2 TCNT2 ã¢ã³ããã­ã¼ */
+#define INT_TGI3A       194         /* MTU2 TGRA3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3B       195         /* MTU2 TGRB3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3C       196         /* MTU2 TGRC3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3D       197         /* MTU2 TGRD3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3V       198         /* MTU2 TCNT3 ãªã¼ããã­ã¼ */
+#define INT_TGI4A       199         /* MTU2 TGRA4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4B       200         /* MTU2 TGRB4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4C       201         /* MTU2 TGRC4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4D       202         /* MTU2 TGRD4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4V       203         /* MTU2 TCNT4 ãªã¼ããã­ã¼ï¼ã¢ã³ããã­ã¼ */
+#define INT_CMF1        204         /* PWMãã£ãã«1 ã³ã³ãã¢ããããã©ã° */
+#define INT_CMF2        205         /* PWMãã£ãã«2 ã³ã³ãã¢ããããã©ã° */
+#define INT_ADI         206         /* A/Då¤æå¨ å¤æçµäº */
+#define INT_SSIF0       207         /* SSIãã£ãã«0 SSIF0 */
+#define INT_SSIRXI0     208         /* SSIãã£ãã«0 SSIRXI0 */
+#define INT_SSITXI0     209         /* SSIãã£ãã«0 SSITXI0 */
+#define INT_SSII1       210         /* SSIãã£ãã«1 SSII1 */
+#define INT_SSIRTI1     211         /* SSIãã£ãã«1 SSIRTI1 */
+#define INT_SSII2       212         /* SSIãã£ãã«2 SSII2 */
+#define INT_SSIRTI2     213         /* SSIãã£ãã«2 SSIRTI2 */
+#define INT_SSII3       214         /* SSIãã£ãã«3 SSII2 */
+#define INT_SSIRTI3     215         /* SSIãã£ãã«3 SSIRTI2 */
+#define INT_SPDIFI      216         /* SPDIFã¤ã³ã¿ã¼ãã§ã¼ã¹å²ãè¾¼ã¿ */
+#define INT_IIC3STPI0   217         /* IIC3ãã£ãã«0 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI0   218         /* IIC3ãã£ãã«0 NACK æ¤åº */
+#define INT_IIC3RXI0    219         /* IIC3ãã£ãã«0 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI0    220         /* IIC3ãã£ãã«0 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI0    221         /* IIC3ãã£ãã«0 éä¿¡çµäº */
+#define INT_IIC3STPI1   222         /* IIC3ãã£ãã«1 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI1   223         /* IIC3ãã£ãã«1 NACK æ¤åº */
+#define INT_IIC3RXI1    224         /* IIC3ãã£ãã«1 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI1    225         /* IIC3ãã£ãã«1 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI1    226         /* IIC3ãã£ãã«1 éä¿¡çµäº */
+#define INT_IIC3STPI2   227         /* IIC3ãã£ãã«2 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI2   228         /* IIC3ãã£ãã«2 NACK æ¤åº */
+#define INT_IIC3RXI2    229         /* IIC3ãã£ãã«2 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI2    230         /* IIC3ãã£ãã«2 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI2    231         /* IIC3ãã£ãã«2 éä¿¡çµäº */
+#define INT_BRI0        232         /* SCIFãã£ãã«0 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI0        233         /* SCIFãã£ãã«0 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI0        234         /* SCIFãã£ãã«0 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI0        235         /* SCIFãã£ãã«0 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI1        236         /* SCIFãã£ãã«1 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI1        237         /* SCIFãã£ãã«1 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI1        238         /* SCIFãã£ãã«1 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI1        239         /* SCIFãã£ãã«1 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI2        240         /* SCIFãã£ãã«2 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI2        241         /* SCIFãã£ãã«2 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI2        242         /* SCIFãã£ãã«2 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI2        243         /* SCIFãã£ãã«2 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI3        244         /* SCIFãã£ãã«3 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI3        245         /* SCIFãã£ãã«3 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI3        246         /* SCIFãã£ãã«3 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI3        247         /* SCIFãã£ãã«3 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI4        248         /* SCIFãã£ãã«4 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI4        249         /* SCIFãã£ãã«4 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI4        250         /* SCIFãã£ãã«4 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI4        251         /* SCIFãã£ãã«4 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI5        252         /* SCIFãã£ãã«5 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI5        253         /* SCIFãã£ãã«5 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI5        254         /* SCIFãã£ãã«5 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI5        255         /* SCIFãã£ãã«5 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI6        256         /* SCIFãã£ãã«6 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI6        257         /* SCIFãã£ãã«6 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI6        258         /* SCIFãã£ãã«6 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI6        259         /* SCIFãã£ãã«6 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI7        260         /* SCIFãã£ãã«7 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI7        261         /* SCIFãã£ãã«7 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI7        262         /* SCIFãã£ãã«7 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI7        263         /* SCIFãã£ãã«7 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_SIOFI       264         /* SIOFå²ãè¾¼ã¿ */
+#define INT_SPEI0       265         /* SPIãã£ãã«0 ã¨ã©ã¼ */
+#define INT_SPRI0       266         /* SPIãã£ãã«0 åä¿¡ãããã¡ãã« */
+#define INT_SPTI0       267         /* SPIãã£ãã«0 éä¿¡ã¨ã³ããã£*/
+#define INT_SPEI1       268         /* SPIãã£ãã«1 ã¨ã©ã¼ */
+#define INT_SPRI1       269         /* SPIãã£ãã«1 åä¿¡ãããã¡ãã« */
+#define INT_SPTI1       270         /* SPIãã£ãã«1 éä¿¡ã¨ã³ããã£*/
+#define INT_ERS0        271         /* RCANãã£ãã«0 ERSè¦å å²ãè¾¼ã¿ */
+#define INT_OVR0        272         /* RCANãã£ãã«0 OVRè¦å å²ãè¾¼ã¿ */
+#define INT_RM00        273         /* RCANãã£ãã«0 ãã¼ã¿ãã¬ã¼ã åä¿¡ */
+#define INT_RM10        274         /* RCANãã£ãã«0 ãªã¢ã¼ããã¬ã¼ã åä¿¡ */
+#define INT_SLE0        275         /* RCANãã£ãã«0 ã¡ãã»ã¼ã¸éä¿¡ */
+#define INT_ERS1        276         /* RCANãã£ãã«1 ERSè¦å å²ãè¾¼ã¿ */
+#define INT_OVR1        277         /* RCANãã£ãã«1 OVRè¦å å²ãè¾¼ã¿ */
+#define INT_RM01        278         /* RCANãã£ãã«1 ãã¼ã¿ãã¬ã¼ã åä¿¡ */
+#define INT_RM11        279         /* RCANãã£ãã«1 ãªã¢ã¼ããã¬ã¼ã åä¿¡ */
+#define INT_SLE1        280         /* RCANãã£ãã«1 ã¡ãã»ã¼ã¸éä¿¡ */
+#define INT_IEBI        281         /* IEBusã³ã³ãã­ã¼ã©å²ãè¾¼ã¿ */
+#define INT_ISY         282         /* CD-ROMãã³ã¼ã åæã³ã¼ãç°å¸¸ã¿ã¤ãã³ã° */
+#define INT_IERR        283         /* CD-ROMãã³ã¼ã ECCã¨ã©ã¼ */
+#define INT_IARG        284         /* CD-ROMãã³ã¼ã ITARGã¨ã©ã¼å²ãè¾¼ã¿ */
+#define INT_ISEC        285         /* CD-ROMãã³ã¼ã ã»ã¯ã¿åãæ¿ãã */
+#define INT_IBUF        286         /* CD-ROMãã³ã¼ã ãããã¡ãã¼ã¿è»¢éç¶æ
+é·ç§» */
+#define INT_IREDAY      287         /* CD-ROMãã³ã¼ã ãããã¡ãã¼ã¿è»¢éè¦æ± */
+#define INT_FLSTEI      288         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© STEIè¦å å²å²ãè¾¼ã¿ */
+#define INT_FLTENDI     289         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© è»¢éçµäº */
+#define INT_FLTREQ0I    290         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© FIFO0è»¢éè¦æ± */
+#define INT_FLTREQ1I    291         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© FIFO0è»¢éè¦æ± */
+#define INT_SDHI3       292         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI3å²ãè¾¼ã¿ */
+#define INT_SDHI0       293         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI0å²ãè¾¼ã¿ */
+#define INT_SDHI1       294         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI1å²ãè¾¼ã¿ */
+#define INT_ARM         296         /* RTC ã¢ã©ã¼ã å²ãè¾¼ã¿ */
+#define INT_PRD         297         /* RTC å¨æå²ãè¾¼ã¿ */
+#define INT_CUP         298         /* RTC æ¡ä¸ãå²ãè¾¼ã¿ */
+#define INT_OVF0        299         /* SRCãã£ãã«0 åºåãã¼ã¿FIFOãªã¼ãã¼ã©ã¤ã */
+#define INT_UDF0        300         /* SRCãã£ãã«0 åºåãã¼ã¿FIFOã¢ã³ãã¼ãã­ã¼ */
+#define INT_CEF0        301         /* SRCãã£ãã«0 å¤æå¦ççµäº */
+#define INT_ODFI0       302         /* SRCãã£ãã«0 åºåãã¼ã¿FIFOãã« */
+#define INT_IDEI0       303         /* SRCãã£ãã«0 åºåãã¼ã¿FIFOã¨ã³ããã£ */
+#define INT_OVF1        304         /* SRCãã£ãã«1 åºåãã¼ã¿FIFOãªã¼ãã¼ã©ã¤ã */
+#define INT_UDF1        305         /* SRCãã£ãã«1 åºåãã¼ã¿FIFOã¢ã³ãã¼ãã­ã¼ */
+#define INT_CEF1        306         /* SRCãã£ãã«1 å¤æå¦ççµäº */
+#define INT_ODFI1       307         /* SRCãã£ãã«1 åºåãã¼ã¿FIFOãã« */
+#define INT_IDEI1       308         /* SRCãã£ãã«1 åºåãã¼ã¿FIFOã¨ã³ããã£ */
+#define INT_DCUEI       310         /* ãã³ã³ãã¬ãã·ã§ã³ã¦ããã DCUEIå²ãè¾¼ã¿ */
+#define INT_OFFI        311         /* ãã³ã³ãã¬ãã·ã§ã³ã¦ããã OFFIå²ãè¾¼ã¿ */
+#define INT_IFEI        312         /* ãã³ã³ãã¬ãã·ã§ã³ã¦ããã IFEIå²ãè¾¼ã¿ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å
+èµã¢ã¸ã¥ã¼ã«ã®ã¬ã¸ã¹ã¿
+ */
+/* ã­ã£ãã·ã¥ */
+#define CCR1        ((VW *)0xFFFC1000)  /* ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define CCR2        ((VW *)0xFFFC1004)  /* ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿2 */
+
+/* ã¯ã­ãã¯çºæ¯å¨ (CPG) */
+#define FRQCR       ((VH *)0xFFFE0010)  /* å¨æ³¢æ°å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/* ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã© (BSC) */
+#define CMNCR       ((VW *)0xFFFC0000)  /* å
+±éã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS0BCR      ((VW *)0xFFFC0004)  /* ã¨ãªã¢0 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS1BCR      ((VW *)0xFFFC0008)  /* ã¨ãªã¢1 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS2BCR      ((VW *)0xFFFC000C)  /* ã¨ãªã¢2 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS3BCR      ((VW *)0xFFFC0010)  /* ã¨ãªã¢3 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS4BCR      ((VW *)0xFFFC0014)  /* ã¨ãªã¢4 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS5BCR      ((VW *)0xFFFC0018)  /* ã¨ãªã¢5 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS6BCR      ((VW *)0xFFFC001C)  /* ã¨ãªã¢6 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS7BCR      ((VW *)0xFFFC0020)  /* ã¨ãªã¢7 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS0WCR      ((VW *)0xFFFC0028)  /* ã¨ãªã¢0 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS1WCR      ((VW *)0xFFFC002C)  /* ã¨ãªã¢1 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS2WCR      ((VW *)0xFFFC0030)  /* ã¨ãªã¢2 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS3WCR      ((VW *)0xFFFC0034)  /* ã¨ãªã¢3 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS4WCR      ((VW *)0xFFFC0038)  /* ã¨ãªã¢4 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS5WCR      ((VW *)0xFFFC003C)  /* ã¨ãªã¢5 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS6WCR      ((VW *)0xFFFC0040)  /* ã¨ãªã¢6 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS7WCR      ((VW *)0xFFFC0044)  /* ã¨ãªã¢7 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SDCR        ((VW *)0xFFFC004C)  /* SDRAMã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define RTCSR       ((VW *)0xFFFC0050)  /* ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RTCNT       ((VW *)0xFFFC0054)  /* ãªãã¬ãã·ã¥ã¿ã¤ãã«ã¦ã³ã¿ */
+#define RTCOR       ((VW *)0xFFFC0058)  /* ãªãã¬ãã·ã¥ã¿ã¤ã ã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+#define ACSWR       ((VW *)0xFFFC180C)  /* ACç¹æ§åãæ¿ãã¬ã¸ã¹ã¿ */
+#define ACKEYR      ((VB *)0xFFFC1BFC)  /* ACç¹æ§åãæ¿ãã­ã¼ã¬ã¸ã¹ã¿ */
+
+/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã© (INTC) */
+#define ICR0        ((VH *)0xFFFE0800)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define ICR1        ((VH *)0xFFFE0802)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define ICR2        ((VH *)0xFFFE0804)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define IRQRR       ((VH *)0xFFFE0806)  /* IRQ å²ãè¾¼ã¿è¦æ±ã¬ã¸ã¹ã¿ */
+#define PINTER      ((VH *)0xFFFE0808)  /* PINT å²ãè¾¼ã¿ã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define PIRR        ((VH *)0xFFFE080A)  /* PINT å²ãè¾¼ã¿è¦æ±ã¬ã¸ã¹ã¿ */
+#define IBCR        ((VH *)0xFFFE080C)  /* ãã³ã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define IBNR        ((VH *)0xFFFE080E)  /* ãã³ã¯çªå·ã¬ã¸ã¹ã¿ */
+#define IPR01       ((VH *)0xFFFE0818)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿01 */
+#define IPR02       ((VH *)0xFFFE081A)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿02 */
+#define IPR05       ((VH *)0xFFFE0820)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿05 */
+#define IPR06       ((VH *)0xFFFE0C00)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿06 */
+#define IPR07       ((VH *)0xFFFE0C02)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿07 */
+#define IPR08       ((VH *)0xFFFE0C04)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿08 */
+#define IPR09       ((VH *)0xFFFE0C06)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿09 */
+#define IPR10       ((VH *)0xFFFE0C08)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿10 */
+#define IPR11       ((VH *)0xFFFE0C0A)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿11 */
+#define IPR12       ((VH *)0xFFFE0C0C)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿12 */
+#define IPR13       ((VH *)0xFFFE0C0E)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿13 */
+#define IPR14       ((VH *)0xFFFE0C10)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿14 */
+#define IPR16       ((VH *)0xFFFE0C12)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿15 */
+#define IPR15       ((VH *)0xFFFE0C14)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿16 */
+#define IPR17       ((VH *)0xFFFE0C16)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿17 */
+#define IPR18       ((VH *)0xFFFE0C18)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿18 */
+#define IPR19       ((VH *)0xFFFE0C1A)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿19 */
+#define IPR20       ((VH *)0xFFFE0C1C)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿20 */
+#define IPR21       ((VH *)0xFFFE0C1E)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿21 */
+#define IPR22       ((VH *)0xFFFE0C20)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿22 */
+
+/* ã³ã³ãã¢ãããã¿ã¤ã (CMT) */
+#define CMSTR       ((VH *)0xFFFEC000)  /* ã³ã³ãã¢ãããã¿ã¤ãã¹ã¿ã¼ãã¬ã¸ã¹ã¿ */
+#define CMCSR_0     ((VH *)0xFFFEC002)  /* ãã£ãã«0 ã³ã³ãã¢ãããã«ã¦ã³ã¿ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define CMCNT_0     ((VH *)0xFFFEC004)  /* ãã£ãã«0 ã³ã³ãã¢ãããã«ã¦ã³ã¿ */
+#define CMCOR_0     ((VH *)0xFFFEC006)  /* ãã£ãã«0 ã³ã³ãã¢ãããã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+#define CMCSR_1     ((VH *)0xFFFEC008)  /* ãã£ãã«1 ã³ã³ãã¢ãããã«ã¦ã³ã¿ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define CMCNT_1     ((VH *)0xFFFEC00A)  /* ãã£ãã«1 ã³ã³ãã¢ãããã«ã¦ã³ã¿ */
+#define CMCOR_1     ((VH *)0xFFFEC00C)  /* ãã£ãã«1 ã³ã³ãã¢ãããã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+
+/* ãã³ãã¡ã³ã¯ã·ã§ã³ã³ã³ãã­ã¼ã© (PFC), I/Oãã¼ã */
+#define PAIOR0      ((VH *)0xFFFE3812)  /* ãã¼ãA IOã¬ã¸ã¹ã¿0 */
+#define PADR1       ((VH *)0xFFFE3814)  /* ãã¼ãA ãã¼ã¿ã¬ã¸ã¹ã¿1 */
+#define PADR0       ((VH *)0xFFFE3816)  /* ãã¼ãA ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PAPR0       ((VH *)0xFFFE381A)  /* ãã¼ãA ãã¼ãã¬ã¸ã¹ã¿0 */
+#define PBCR5       ((VH *)0xFFFE3824)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define PBCR4       ((VH *)0xFFFE3826)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿4 */
+#define PBCR3       ((VH *)0xFFFE3828)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define PBCR2       ((VH *)0xFFFE382A)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PBCR1       ((VH *)0xFFFE382C)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PBCR0       ((VH *)0xFFFE382E)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PBIOR1      ((VH *)0xFFFE3830)  /* ãã¼ãB IOã¬ã¸ã¹ã¿1 */
+#define PBIOR0      ((VH *)0xFFFE3832)  /* ãã¼ãB IOã¬ã¸ã¹ã¿0 */
+#define PBDR1       ((VH *)0xFFFE3834)  /* ãã¼ãB ãã¼ã¿ã¬ã¸ã¹ã¿1 */
+#define PBDR0       ((VH *)0xFFFE3836)  /* ãã¼ãB ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PBPR1       ((VH *)0xFFFE3838)  /* ãã¼ãB ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PBPR0       ((VH *)0xFFFE383A)  /* ãã¼ãB ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PCCR2       ((VH *)0xFFFE384A)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PCCR1       ((VH *)0xFFFE384C)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PCCR0       ((VH *)0xFFFE384E)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PCIOR0      ((VH *)0xFFFE3852)  /* ãã¼ãC IOã¬ã¸ã¹ã¿0 */
+#define PCDR0       ((VH *)0xFFFE3856)  /* ãã¼ãC ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PCPR0       ((VH *)0xFFFE385A)  /* ãã¼ãC ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PDCR3       ((VH *)0xFFFE3868)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define PDCR2       ((VH *)0xFFFE386A)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PDCR1       ((VH *)0xFFFE386C)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PDCR0       ((VH *)0xFFFE386E)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PDIOR0      ((VH *)0xFFFE3872)  /* ãã¼ãD IOã¬ã¸ã¹ã¿0 */
+#define PDDR0       ((VH *)0xFFFE3876)  /* ãã¼ãD ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PDPR0       ((VH *)0xFFFE387A)  /* ãã¼ãD ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PECR1       ((VH *)0xFFFE388C)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PECR0       ((VH *)0xFFFE388E)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PEIOR0      ((VH *)0xFFFE3892)  /* ãã¼ãD IOã¬ã¸ã¹ã¿0 */
+#define PEDR0       ((VH *)0xFFFE3896)  /* ãã¼ãD ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PEPR0       ((VH *)0xFFFE389A)  /* ãã¼ãD ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PFCR3       ((VH *)0xFFFE38A8)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define PFCR2       ((VH *)0xFFFE38AA)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PFCR1       ((VH *)0xFFFE38AC)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PFCR0       ((VH *)0xFFFE38AE)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PFIOR0      ((VH *)0xFFFE38B2)  /* ãã¼ãF IOã¬ã¸ã¹ã¿0 */
+#define PFDR0       ((VH *)0xFFFE38B6)  /* ãã¼ãF ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PFPR0       ((VH *)0xFFFE38BA)  /* ãã¼ãF ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PGCR7       ((VH *)0xFFFE38C0)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define PGCR6       ((VH *)0xFFFE38C2)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define PGCR5       ((VH *)0xFFFE38C4)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define PGCR4       ((VH *)0xFFFE38C6)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿4 */
+#define PGCR3       ((VH *)0xFFFE38C8)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define PGCR2       ((VH *)0xFFFE38CA)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PGCR1       ((VH *)0xFFFE38CC)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PGCR0       ((VH *)0xFFFE38CE)  /* ãã¼ãG ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PGIOR1      ((VH *)0xFFFE38D0)  /* ãã¼ãG IOã¬ã¸ã¹ã¿1 */
+#define PGIOR0      ((VH *)0xFFFE38D2)  /* ãã¼ãG IOã¬ã¸ã¹ã¿0 */
+#define PGDR1       ((VH *)0xFFFE38D4)  /* ãã¼ãG ãã¼ã¿ã¬ã¸ã¹ã¿1 */
+#define PGDR0       ((VH *)0xFFFE38D6)  /* ãã¼ãG ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PGPR1       ((VH *)0xFFFE38D8)  /* ãã¼ãG ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PGPR0       ((VH *)0xFFFE38DA)  /* ãã¼ãG ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PHCR1       ((VH *)0xFFFE38EC)  /* ãã¼ãH ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PHCR0       ((VH *)0xFFFE38EE)  /* ãã¼ãH ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PHPR0       ((VH *)0xFFFE38FA)  /* ãã¼ãH ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PJCR2       ((VH *)0xFFFE390A)  /* ãã¼ãJ ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PJCR1       ((VH *)0xFFFE390C)  /* ãã¼ãJ ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PJCR0       ((VH *)0xFFFE390E)  /* ãã¼ãJ ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PJIOR0      ((VH *)0xFFFE3912)  /* ãã¼ãJ IOã¬ã¸ã¹ã¿0 */
+#define PJDR0       ((VH *)0xFFFE3916)  /* ãã¼ãJ ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PJPR0       ((VH *)0xFFFE391A)  /* ãã¼ãJ ãã¼ãã¬ã¸ã¹ã¿1 */
+#define PKCR2       ((VH *)0xFFFE392A)  /* ãã¼ãK ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PKCR1       ((VH *)0xFFFE392C)  /* ãã¼ãK ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define PKCR0       ((VH *)0xFFFE392E)  /* ãã¼ãK ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define PKIOR0      ((VH *)0xFFFE3932)  /* ãã¼ãK IOã¬ã¸ã¹ã¿0 */
+#define PKDR0       ((VH *)0xFFFE3936)  /* ãã¼ãK ãã¼ã¿ã¬ã¸ã¹ã¿0 */
+#define PKPR0       ((VH *)0xFFFE393A)  /* ãã¼ãK ãã¼ãã¬ã¸ã¹ã¿1 */
+
+/* ä½æ¶è²»é»åã¢ã¼ã */
+#define STBCR1      ((VB *)0xFFFE0014)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define STBCR2      ((VB *)0xFFFE0018)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define STBCR3      ((VB *)0xFFFE0408)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define STBCR4      ((VB *)0xFFFE040C)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿4 */
+#define STBCR5      ((VB *)0xFFFE0410)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define STBCR6      ((VB *)0xFFFE0414)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿6 */
+#define STBCR7      ((VB *)0xFFFE0418)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿7 */
+#define STBCR8      ((VB *)0xFFFE041C)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿8 */
+#define SWRSTCR     ((VB *)0xFFFE0430)  /* ã½ããã¦ã§ã¢ãªã»ããã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿8 */
+#define SYSCR1      ((VB *)0xFFFE0400)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define SYSCR2      ((VB *)0xFFFE0404)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define SYSCR3      ((VB *)0xFFFE0420)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define SYSCR4      ((VB *)0xFFFE0424)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿4 */
+#define SYSCR5      ((VB *)0xFFFE0428)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define RRAMKP      ((VB *)0xFFFE6800)  /* ä¿æç¨å
+èµRAM ä¿æã¨ãªã¢æå®ã¬ã¸ã¹ã¿ */
+#define DSCTR       ((VB *)0xFFFE6802)  /* ãã£ã¼ãã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define DSSSR       ((VH *)0xFFFE6804)  /* ãã£ã¼ãã¹ã¿ã³ãã¤è§£é¤è¦å ã»ã¬ã¯ãã¬ã¸ã¹ã¿ */
+#define DSESR       ((VH *)0xFFFE6806)  /* ãã£ã¼ãã¹ã¿ã³ãã¤è§£é¤ã¨ãã¸ã»ã¬ã¯ãã¬ã¸ã¹ã¿ */
+#define DSFR        ((VH *)0xFFFE6808)  /* ãã£ã¼ãã¹ã¿ã³ãã¤è§£é¤è¦å ãã©ã°ã¬ã¸ã¹ã¿ */
+#define XTALCTR     ((VB *)0xFFFE6810)  /* XTALæ°´æ¶çºæ¯å¨ã²ã¤ã³ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+
+/* FIFOä»ãã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ (SCIF) */
+
+#define SCIF0_BASE  ((UW)0xFFFE8000)    /* ãã£ãã«0 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF1_BASE  ((UW)0xFFFE8800)    /* ãã£ãã«1 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF2_BASE  ((UW)0xFFFE9000)    /* ãã£ãã«2 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF3_BASE  ((UW)0xFFFE9800)    /* ãã£ãã«3 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF4_BASE  ((UW)0xFFFEA000)    /* ãã£ãã«4 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF5_BASE  ((UW)0xFFFEA800)    /* ãã£ãã«5 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF6_BASE  ((UW)0xFFFEB000)    /* ãã£ãã«6 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF7_BASE  ((UW)0xFFFEB800)    /* ãã£ãã«7 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ */
+Inline void sh2_init_intcontorller(void)
+{
+	/* ãã³ã¯çªå·ã¬ã¸ã¹ã¿ã®è¨­å® */
+	sil_wrh_mem(IBNR, 0x0000);		/* BE=00, BOVE=0                         */
+									/*  ãã¹ã¦ã®å²ãè¾¼ã¿ã§ãã³ã¯ä½¿ç¨ç¦æ­¢     */
+									/*  ã¬ã¸ã¹ã¿ãã³ã¯ãªã¼ãã¼ãã­ã¼ä¾å¤ç¦æ­¢ */
+	/* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ãåæå */
+	sil_wrh_mem (IPR01, 0x0000);
+	sil_wrh_mem (IPR02, 0x0000);
+	sil_wrh_mem (IPR05, 0x0000);
+	sil_wrh_mem (IPR06, 0x0000);
+	sil_wrh_mem (IPR07, 0x0000);
+	sil_wrh_mem (IPR08, 0x0000);
+	sil_wrh_mem (IPR09, 0x0000);
+	sil_wrh_mem (IPR10, 0x0000);
+	sil_wrh_mem (IPR11, 0x0000);
+	sil_wrh_mem (IPR12, 0x0000);
+	sil_wrh_mem (IPR13, 0x0000);
+	sil_wrh_mem (IPR14, 0x0000);
+	sil_wrh_mem (IPR15, 0x0000);
+	sil_wrh_mem (IPR16, 0x0000);
+	sil_wrh_mem (IPR17, 0x0000);
+	sil_wrh_mem (IPR18, 0x0000);
+	sil_wrh_mem (IPR19, 0x0000);
+	sil_wrh_mem (IPR20, 0x0000);
+	sil_wrh_mem (IPR21, 0x0000);
+	sil_wrh_mem (IPR22, 0x0000);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH7262_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7263.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7263.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7263.h	(revision 26)
@@ -0,0 +1,390 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id
+ */
+
+#ifndef _SH7263_H_
+#define _SH7263_H_
+
+#include <sil.h>
+
+/*
+ *  å²è¾¼ã¿ãã¯ã¿çªå·
+ */
+#define INT_IRQ0        64          /* IRQ0 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ1        65          /* IRQ1 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ2        66          /* IRQ2 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ3        67          /* IRQ3 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ4        68          /* IRQ4 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ5        69          /* IRQ5 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ6        70          /* IRQ6 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_IRQ7        71          /* IRQ7 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT0       80          /* PINT0 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT1       81          /* PINT1 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT2       82          /* PINT2 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT3       83          /* PINT3 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT4       84          /* PINT4 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT5       85          /* PINT5 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT6       86          /* PINT6 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_PINT7       87          /* PINT7 (å¤é¨å²ãè¾¼ã¿) */
+#define INT_DEI0        108         /* DMACãã£ãã«0 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI0        109         /* DMACãã£ãã«0 ãã¼ãã¨ã³ã */
+#define INT_DEI1        112         /* DMACãã£ãã«1 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI1        113         /* DMACãã£ãã«1 ãã¼ãã¨ã³ã */
+#define INT_DEI2        116         /* DMACãã£ãã«2 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI2        117         /* DMACãã£ãã«2 ãã¼ãã¨ã³ã */
+#define INT_DEI3        120         /* DMACãã£ãã«3 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI3        121         /* DMACãã£ãã«3 ãã¼ãã¨ã³ã */
+#define INT_DEI4        124         /* DMACãã£ãã«4 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI4        125         /* DMACãã£ãã«4 ãã¼ãã¨ã³ã */
+#define INT_DEI5        128         /* DMACãã£ãã«5 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI5        129         /* DMACãã£ãã«5 ãã¼ãã¨ã³ã */
+#define INT_DEI6        132         /* DMACãã£ãã«6 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI6        133         /* DMACãã£ãã«6 ãã¼ãã¨ã³ã */
+#define INT_DEI7        136         /* DMACãã£ãã«7 ãã©ã³ã¹ãã¡ã¨ã³ã */
+#define INT_HEI7        137         /* DMACãã£ãã«7 ãã¼ãã¨ã³ã */
+#define INT_USBI        140         /* USBã³ã³ãã­ã¼ã© */
+#define INT_LCDCI       141         /* LCDã³ã³ãã­ã¼ã© */
+#define INT_CMI0        142         /* CMTãã£ãã«0 ã³ã³ãã¢ããã */
+#define INT_CMI1        143         /* CMTãã£ãã«1 ã³ã³ãã¢ããã */
+#define INT_CMI         144         /* BSC ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ãã¢ããã */
+#define INT_ITI         145         /* WDT ã¤ã³ã¿ã¼ãã«ã¿ã¤ãå²ãè¾¼ã¿ */
+#define INT_TGI0A       146         /* MTU2 TGRA0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0B       147         /* MTU2 TGRB0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0C       148         /* MTU2 TGRC0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0D       149         /* MTU2 TGRD0 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI0V       150         /* MTU2 TCNT0 ãªã¼ããã­ã¼ */
+#define INT_TGI0E       151         /* MTU2 TGRE0 ã³ã³ãã¢ããã */
+#define INT_TGI0F       152         /* MTU2 TGRF0 ã³ã³ãã¢ããã */
+#define INT_TGI1A       153         /* MTU2 TGRA1 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI1B       154         /* MTU2 TGRB1 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI1V       155         /* MTU2 TCNT1 ãªã¼ããã­ã¼ */
+#define INT_TGI1U       156         /* MTU2 TCNT1 ã¢ã³ããã­ã¼ */
+#define INT_TGI2A       157         /* MTU2 TGRA2 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI2B       158         /* MTU2 TGRA2 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI2V       159         /* MTU2 TCNT2 ãªã¼ããã­ã¼ */
+#define INT_TGI2U       160         /* MTU2 TCNT2 ã¢ã³ããã­ã¼ */
+#define INT_TGI3A       161         /* MTU2 TGRA3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3B       162         /* MTU2 TGRB3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3C       163         /* MTU2 TGRC3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3D       164         /* MTU2 TGRD3 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI3V       165         /* MTU2 TCNT3 ãªã¼ããã­ã¼ */
+#define INT_TGI4A       166         /* MTU2 TGRA4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4B       167         /* MTU2 TGRB4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4C       168         /* MTU2 TGRC4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4D       169         /* MTU2 TGRD4 ã¤ã³ãããã­ã£ããã£ï¼ã³ã³ãã¢ããã */
+#define INT_TGI4V       170         /* MTU2 TCNT4 ãªã¼ããã­ã¼ï¼ã¢ã³ããã­ã¼ */
+#define INT_ADI         171         /* A/Då¤æå¨ å¤æçµäº */
+#define INT_IIC3STPI0   172         /* IIC3ãã£ãã«0 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI0   173         /* IIC3ãã£ãã«0 NACK æ¤åº */
+#define INT_IIC3RXI0    174         /* IIC3ãã£ãã«0 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI0    175         /* IIC3ãã£ãã«0 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI0    176         /* IIC3ãã£ãã«0 éä¿¡çµäº */
+#define INT_IIC3STPI1   177         /* IIC3ãã£ãã«1 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI1   178         /* IIC3ãã£ãã«1 NACK æ¤åº */
+#define INT_IIC3RXI1    179         /* IIC3ãã£ãã«1 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI1    180         /* IIC3ãã£ãã«1 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI1    181         /* IIC3ãã£ãã«1 éä¿¡çµäº */
+#define INT_IIC3STPI2   182         /* IIC3ãã£ãã«2 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI2   183         /* IIC3ãã£ãã«2 NACK æ¤åº */
+#define INT_IIC3RXI2    184         /* IIC3ãã£ãã«2 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI2    185         /* IIC3ãã£ãã«2 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI2    186         /* IIC3ãã£ãã«2 éä¿¡çµäº */
+#define INT_IIC3STPI3   187         /* IIC3ãã£ãã«3 åæ­¢æ¡ä»¶æ¤åº */
+#define INT_IIC3NAKI3   188         /* IIC3ãã£ãã«3 NACK æ¤åº */
+#define INT_IIC3RXI3    189         /* IIC3ãã£ãã«3 åä¿¡ãã¼ã¿ãã« */
+#define INT_IIC3TXI3    190         /* IIC3ãã£ãã«3 éä¿¡ãã¼ã¿ã¨ã³ããã£ */
+#define INT_IIC3TEI3    191         /* IIC3ãã£ãã«3 éä¿¡çµäº */
+#define INT_BRI0        192         /* SCIFãã£ãã«0 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI0        193         /* SCIFãã£ãã«0 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI0        194         /* SCIFãã£ãã«0 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI0        195         /* SCIFãã£ãã«0 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI1        196         /* SCIFãã£ãã«1 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI1        197         /* SCIFãã£ãã«1 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI1        198         /* SCIFãã£ãã«1 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI1        199         /* SCIFãã£ãã«1 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI2        200         /* SCIFãã£ãã«2 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI2        201         /* SCIFãã£ãã«2 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI2        202         /* SCIFãã£ãã«2 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI2        203         /* SCIFãã£ãã«2 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_BRI3        204         /* SCIFãã£ãã«3 ãã¬ã¼ã¯æ¤åº */
+#define INT_ERI3        205         /* SCIFãã£ãã«3 åä¿¡ã¨ã©ã¼ */
+#define INT_RXI3        206         /* SCIFãã£ãã«3 åä¿¡ãã¼ã¿ãã« */
+#define INT_TXI3        207         /* SCIFãã£ãã«3 éä¿¡FIFOãã¼ã¿ã¨ã³ããã£ */
+#define INT_SSERI0      208         /* SSUãã£ãã«0 ã¨ã©ã¼ */
+#define INT_SSRXI0      209         /* SSUãã£ãã«0 åä¿¡ãã¼ã¿ãã« */
+#define INT_SSTXI0      210         /* SSUãã£ãã«0 éä¿¡ãã¼ã¿ã¨ã³ããã£/éä¿¡çµäº */
+#define INT_SSERI1      211         /* SSUãã£ãã«1 ã¨ã©ã¼ */
+#define INT_SSRXI1      212         /* SSUãã£ãã«1 åä¿¡ãã¼ã¿ãã« */
+#define INT_SSTXI1      213         /* SSUãã£ãã«1 éä¿¡ãã¼ã¿ã¨ã³ããã£/éä¿¡çµäº */
+#define INT_SSI0        214         /* SSIãã£ãã«0 å²ãè¾¼ã¿ */
+#define INT_SSI1        215         /* SSIãã£ãã«1 å²ãè¾¼ã¿ */
+#define INT_SSI2        216         /* SSIãã£ãã«2 å²ãè¾¼ã¿ */
+#define INT_SSI3        217         /* SSIãã£ãã«3 å²ãè¾¼ã¿ */
+#define INT_ISY         218         /* CD-ROMãã³ã¼ã åæã³ã¼ãç°å¸¸ã¿ã¤ãã³ã° */
+#define INT_IERR        219         /* CD-ROMãã³ã¼ã ECCã¨ã©ã¼ */
+#define INT_IARG        220         /* CD-ROMãã³ã¼ã ITARGå²ãè¾¼ã¿ */
+#define INT_ISEC        221         /* CD-ROMãã³ã¼ã ã»ã¯ã¿åãæ¿ãã */
+#define INT_IBUF        222         /* CD-ROMãã³ã¼ã ãããã¡ãã¼ã¿è»¢éç¶æ
+é·ç§» */
+#define INT_IREDAY      223         /* CD-ROMãã³ã¼ã ãããã¡ãã¼ã¿è»¢éè¦æ± */
+#define INT_FLSTEI      224         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© STEIè¦å å²å²ãè¾¼ã¿ */
+#define INT_FLTENDI     225         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© è»¢éçµäº */
+#define INT_FLTREQ0I    226         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© FIFO0è»¢éè¦æ± */
+#define INT_FLTREQ1I    227         /* NANDãã©ãã·ã¥ã³ã³ãã­ã¼ã© FIFO0è»¢éè¦æ± */
+#define INT_SDHI3       228         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI3å²ãè¾¼ã¿ */
+#define INT_SDHI0       229         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI0å²ãè¾¼ã¿ */
+#define INT_SDHI1       230         /* SDãã¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ SDHI1å²ãè¾¼ã¿ */
+#define INT_ARM         231         /* RTC ã¢ã©ã¼ã å²ãè¾¼ã¿ */
+#define INT_PRD         232         /* RTC å¨æå²ãè¾¼ã¿ */
+#define INT_CUP         233         /* RTC æ¡ä¸ãå²ãè¾¼ã¿ */
+#define INT_ERS0        234         /* RCANãã£ãã«0 ERSè¦å å²ãè¾¼ã¿ */
+#define INT_OVR0        235         /* RCANãã£ãã«0 OVRè¦å å²ãè¾¼ã¿ */
+#define INT_RM00        236         /* RCANãã£ãã«0 ãã¼ã¿ãã¬ã¼ã åä¿¡ */
+#define INT_RM10        237         /* RCANãã£ãã«0 ãªã¢ã¼ããã¬ã¼ã åä¿¡ */
+#define INT_SLE0        238         /* RCANãã£ãã«0 ã¡ãã»ã¼ã¸éä¿¡ */
+#define INT_ERS1        239         /* RCANãã£ãã«1 ERSè¦å å²ãè¾¼ã¿ */
+#define INT_OVR1        240         /* RCANãã£ãã«1 OVRè¦å å²ãè¾¼ã¿ */
+#define INT_RM01        241         /* RCANãã£ãã«1 ãã¼ã¿ãã¬ã¼ã åä¿¡ */
+#define INT_RM11        242         /* RCANãã£ãã«1 ãªã¢ã¼ããã¬ã¼ã åä¿¡ */
+#define INT_SLE1        243         /* RCANãã£ãã«1 ã¡ãã»ã¼ã¸éä¿¡ */
+#define INT_OVF         244         /* SRC åºåãã¼ã¿FIFOãªã¼ãã¼ã©ã¤ã */
+#define INT_ODFI        245         /* SRC åºåãã¼ã¿FIFOãã« */
+#define INT_IDEI        246         /* SRC å
+¥åãã¼ã¿FIFOã¨ã³ããã£ */
+#define INT_IEBI        247         /* IEBusã³ã³ãã­ã¼ã© å²ãè¾¼ã¿ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å
+èµã¢ã¸ã¥ã¼ã«ã®ã¬ã¸ã¹ã¿
+ */
+/* ã­ã£ãã·ã¥ */
+#define CCR1        ((VW *)0xFFFC1000)  /* ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define CCR2        ((VW *)0xFFFC1004)  /* ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿2 */
+
+/* ã¯ã­ãã¯çºæ¯å¨ (CPG) */
+#define FRQCR       ((VH *)0xFFFE0010)  /* å¨æ³¢æ°å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/* ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã© (BSC) */
+#define CMNCR       ((VW *)0xFFFC0000)  /* å
+±éã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS0BCR      ((VW *)0xFFFC0004)  /* ã¨ãªã¢0 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS1BCR      ((VW *)0xFFFC0008)  /* ã¨ãªã¢1 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS2BCR      ((VW *)0xFFFC000C)  /* ã¨ãªã¢2 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS3BCR      ((VW *)0xFFFC0010)  /* ã¨ãªã¢3 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS4BCR      ((VW *)0xFFFC0014)  /* ã¨ãªã¢4 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS5BCR      ((VW *)0xFFFC0018)  /* ã¨ãªã¢5 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS6BCR      ((VW *)0xFFFC001C)  /* ã¨ãªã¢6 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS7BCR      ((VW *)0xFFFC0020)  /* ã¨ãªã¢7 ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS0WCR      ((VW *)0xFFFC0028)  /* ã¨ãªã¢0 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS1WCR      ((VW *)0xFFFC002C)  /* ã¨ãªã¢1 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS2WCR      ((VW *)0xFFFC0030)  /* ã¨ãªã¢2 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS3WCR      ((VW *)0xFFFC0034)  /* ã¨ãªã¢3 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS4WCR      ((VW *)0xFFFC0038)  /* ã¨ãªã¢4 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS5WCR      ((VW *)0xFFFC003C)  /* ã¨ãªã¢5 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS6WCR      ((VW *)0xFFFC0040)  /* ã¨ãªã¢6 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define CS7WCR      ((VW *)0xFFFC0044)  /* ã¨ãªã¢7 ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define SDCR        ((VW *)0xFFFC004C)  /* SDRAMã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define RTCSR       ((VW *)0xFFFC0050)  /* ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RTCNT       ((VW *)0xFFFC0054)  /* ãªãã¬ãã·ã¥ã¿ã¤ãã«ã¦ã³ã¿ */
+#define RTCOR       ((VW *)0xFFFC0058)  /* ãªãã¬ãã·ã¥ã¿ã¤ã ã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+
+/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã© (INTC) */
+#define ICR0        ((VH *)0xFFFE0800)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿0 */
+#define ICR1        ((VH *)0xFFFE0802)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define ICR2        ((VH *)0xFFFE0804)  /* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define IRQRR       ((VH *)0xFFFE0806)  /* IRQ å²ãè¾¼ã¿è¦æ±ã¬ã¸ã¹ã¿ */
+#define PINTER      ((VH *)0xFFFE0808)  /* PINT å²ãè¾¼ã¿ã¤ãã¼ãã«ã¬ã¸ã¹ã¿ */
+#define PIRR        ((VH *)0xFFFE080A)  /* PINT å²ãè¾¼ã¿è¦æ±ã¬ã¸ã¹ã¿ */
+#define IBCR        ((VH *)0xFFFE080C)  /* ãã³ã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define IBNR        ((VH *)0xFFFE080E)  /* ãã³ã¯çªå·ã¬ã¸ã¹ã¿ */
+#define IPR01       ((VH *)0xFFFE0818)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿01 */
+#define IPR02       ((VH *)0xFFFE081A)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿02 */
+#define IPR05       ((VH *)0xFFFE0820)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿05 */
+#define IPR06       ((VH *)0xFFFE0C00)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿06 */
+#define IPR07       ((VH *)0xFFFE0C02)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿07 */
+#define IPR08       ((VH *)0xFFFE0C04)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿08 */
+#define IPR09       ((VH *)0xFFFE0C06)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿09 */
+#define IPR10       ((VH *)0xFFFE0C08)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿10 */
+#define IPR11       ((VH *)0xFFFE0C0A)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿11 */
+#define IPR12       ((VH *)0xFFFE0C0C)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿12 */
+#define IPR13       ((VH *)0xFFFE0C0E)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿13 */
+#define IPR14       ((VH *)0xFFFE0C10)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿14 */
+#define IPR16       ((VH *)0xFFFE0C12)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿15 */
+#define IPR15       ((VH *)0xFFFE0C14)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿16 */
+#define IPR17       ((VH *)0xFFFE0C16)  /* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿17 */
+
+/* ã³ã³ãã¢ãããã¿ã¤ã (CMT) */
+#define CMSTR       ((VH *)0xFFFEC000)  /* ã³ã³ãã¢ãããã¿ã¤ãã¹ã¿ã¼ãã¬ã¸ã¹ã¿ */
+#define CMCSR_0     ((VH *)0xFFFEC002)  /* ãã£ãã«0 ã³ã³ãã¢ãããã«ã¦ã³ã¿ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define CMCNT_0     ((VH *)0xFFFEC004)  /* ãã£ãã«0 ã³ã³ãã¢ãããã«ã¦ã³ã¿ */
+#define CMCOR_0     ((VH *)0xFFFEC006)  /* ãã£ãã«0 ã³ã³ãã¢ãããã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+#define CMCSR_1     ((VH *)0xFFFEC008)  /* ãã£ãã«1 ã³ã³ãã¢ãããã«ã¦ã³ã¿ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define CMCNT_1     ((VH *)0xFFFEC00A)  /* ãã£ãã«1 ã³ã³ãã¢ãããã«ã¦ã³ã¿ */
+#define CMCOR_1     ((VH *)0xFFFEC00C)  /* ãã£ãã«1 ã³ã³ãã¢ãããã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+
+/* ãã³ãã¡ã³ã¯ã·ã§ã³ã³ã³ãã­ã¼ã© (PFC), I/Oãã¼ã */
+#define PADRL       ((VH *)0xFFFE3802)  /* ãã¼ãA ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PBCRL       ((VH *)0xFFFE3882)  /* ãã¼ãB ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PBIORL      ((VH *)0xFFFE3886)  /* ãã¼ãB IOã¬ã¸ã¹ã¿L */
+#define PBCRL4      ((VH *)0xFFFE3890)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L4 */
+#define PBCRL3      ((VH *)0xFFFE3892)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L3 */
+#define PBCRL2      ((VH *)0xFFFE3894)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L2 */
+#define PBCRL1      ((VH *)0xFFFE3896)  /* ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L1 */
+#define PBPRL       ((VH *)0xFFFE389E)  /* ãã¼ãB ãã¼ãã¬ã¸ã¹ã¿L */
+#define IFCR        ((VH *)0xFFFE38A2)  /* IRQOUTæ©è½ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define PCCRL       ((VH *)0xFFFE3902)  /* ãã¼ãC ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PCIORL      ((VH *)0xFFFE3906)  /* ãã¼ãC IOã¬ã¸ã¹ã¿L */
+#define PCCRL4      ((VH *)0xFFFE3910)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L4 */
+#define PCCRL3      ((VH *)0xFFFE3912)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L3 */
+#define PCCRL2      ((VH *)0xFFFE3914)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L2 */
+#define PCCRL1      ((VH *)0xFFFE3916)  /* ãã¼ãC ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L1 */
+#define PCPRL       ((VH *)0xFFFE391E)  /* ãã¼ãC ãã¼ãã¬ã¸ã¹ã¿L */
+#define PDCRL       ((VH *)0xFFFE3982)  /* ãã¼ãD ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PDIORL      ((VH *)0xFFFE3986)  /* ãã¼ãD IOã¬ã¸ã¹ã¿L */
+#define PDCRL4      ((VH *)0xFFFE3990)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L4 */
+#define PDCRL3      ((VH *)0xFFFE3992)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L3 */
+#define PDCRL2      ((VH *)0xFFFE3994)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L2 */
+#define PDCRL1      ((VH *)0xFFFE3996)  /* ãã¼ãD ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L1 */
+#define PDPRL       ((VH *)0xFFFE399E)  /* ãã¼ãD ãã¼ãã¬ã¸ã¹ã¿L */
+#define PECRL       ((VH *)0xFFFE3A02)  /* ãã¼ãE ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PEIORL      ((VH *)0xFFFE3A06)  /* ãã¼ãE IOã¬ã¸ã¹ã¿L */
+#define PECRL4      ((VH *)0xFFFE3A10)  /* ãã¼ãE ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L4 */
+#define PECRL3      ((VH *)0xFFFE3A12)  /* ãã¼ãE ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L3 */
+#define PECRL2      ((VH *)0xFFFE3A14)  /* ãã¼ãE ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L2 */
+#define PECRL1      ((VH *)0xFFFE3A16)  /* ãã¼ãE ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L1 */
+#define PEPRL       ((VH *)0xFFFE3A1E)  /* ãã¼ãE ãã¼ãã¬ã¸ã¹ã¿L */
+#define PFCRH       ((VH *)0xFFFE3A80)  /* ãã¼ãE ãã¼ã¿ã¬ã¸ã¹ã¿H */
+#define PFCRL       ((VH *)0xFFFE3A82)  /* ãã¼ãE ãã¼ã¿ã¬ã¸ã¹ã¿L */
+#define PFIORH      ((VH *)0xFFFE3A84)  /* ãã¼ãF IOã¬ã¸ã¹ã¿H */
+#define PFIORL      ((VH *)0xFFFE3A86)  /* ãã¼ãF IOã¬ã¸ã¹ã¿L */
+#define PFCRH4      ((VH *)0xFFFE3A88)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H4 */
+#define PFCRH3      ((VH *)0xFFFE3A8A)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H3 */
+#define PFCRH2      ((VH *)0xFFFE3A8C)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H2 */
+#define PFCRH1      ((VH *)0xFFFE3A8E)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿H1 */
+#define PFCRL4      ((VH *)0xFFFE3A90)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L4 */
+#define PFCRL3      ((VH *)0xFFFE3A92)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L3 */
+#define PFCRL2      ((VH *)0xFFFE3A94)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L2 */
+#define PFCRL1      ((VH *)0xFFFE3A96)  /* ãã¼ãF ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿L1 */
+#define PFPRH       ((VH *)0xFFFE3A9C)  /* ãã¼ãE ãã¼ãã¬ã¸ã¹ã¿H */
+#define PFPRL       ((VH *)0xFFFE3A9E)  /* ãã¼ãE ãã¼ãã¬ã¸ã¹ã¿L */
+#define SCSR        ((VH *)0xFFFE3AA2)  /* SSIã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿ */
+
+/* ä½æ¶è²»é»åã¢ã¼ã */
+#define STBCR       ((VB *)0xFFFE0014)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define STBCR2      ((VB *)0xFFFE0018)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define STBCR3      ((VB *)0xFFFE0408)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define STBCR4      ((VB *)0xFFFE040C)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿4 */
+#define STBCR5      ((VB *)0xFFFE0410)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿5 */
+#define STBCR6      ((VB *)0xFFFE0414)  /* ã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿6 */
+#define SYSCR1      ((VB *)0xFFFE0402)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿1 */
+#define SYSCR2      ((VB *)0xFFFE0404)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define SYSCR3      ((VB *)0xFFFE0418)  /* ã·ã¹ãã ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿3 */
+#define DSCTR       ((VB *)0xFFFE2800)  /* ãã£ã¼ãã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define DSCTR2      ((VB *)0xFFFE2802)  /* ãã£ã¼ãã¹ã¿ã³ãã¤ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define DSSSR       ((VH *)0xFFFE2804)  /* ãã£ã¼ãã¹ã¿ã³ãã¤è§£é¤è¦å ã»ã¬ã¯ãã¬ã¸ã¹ã¿ */
+#define DSFR        ((VH *)0xFFFE2808)  /* ãã£ã¼ãã¹ã¿ã³ãã¤è§£é¤ã¨ãã¸ã»ã¬ã¯ãã¬ã¸ã¹ã¿ */
+#define DSRTR       ((VB *)0xFFFE280C)  /* ä¿æç¨å
+èµRAMããªãã³ã°ã¬ã¸ã¹ã¿ */
+
+/* FIFOä»ãã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ (SCIF) */
+
+#define SCIF0_BASE  ((UW)0xFFFE8000)    /* ãã£ãã«0 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF1_BASE  ((UW)0xFFFE8800)    /* ãã£ãã«1 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF2_BASE  ((UW)0xFFFE9000)    /* ãã£ãã«2 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define SCIF3_BASE  ((UW)0xFFFE9800)    /* ãã£ãã«3 ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ */
+Inline void sh2_init_intcontorller(void)
+{
+	/* ãã³ã¯çªå·ã¬ã¸ã¹ã¿ã®è¨­å® */
+	sil_wrh_mem(IBNR, 0x0000);		/* BE=00, BOVE=0                         */
+									/*  ãã¹ã¦ã®å²ãè¾¼ã¿ã§ãã³ã¯ä½¿ç¨ç¦æ­¢     */
+									/*  ã¬ã¸ã¹ã¿ãã³ã¯ãªã¼ãã¼ãã­ã¼ä¾å¤ç¦æ­¢ */
+	/* å²ãè¾¼ã¿åªå
+ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ãåæå */
+	sil_wrh_mem (IPR01, 0x0000);
+	sil_wrh_mem (IPR02, 0x0000);
+	sil_wrh_mem (IPR05, 0x0000);
+	sil_wrh_mem (IPR06, 0x0000);
+	sil_wrh_mem (IPR07, 0x0000);
+	sil_wrh_mem (IPR08, 0x0000);
+	sil_wrh_mem (IPR09, 0x0000);
+	sil_wrh_mem (IPR10, 0x0000);
+	sil_wrh_mem (IPR11, 0x0000);
+	sil_wrh_mem (IPR12, 0x0000);
+	sil_wrh_mem (IPR13, 0x0000);
+	sil_wrh_mem (IPR14, 0x0000);
+	sil_wrh_mem (IPR15, 0x0000);
+	sil_wrh_mem (IPR16, 0x0000);
+	sil_wrh_mem (IPR17, 0x0000);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH7263_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xcmt.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xcmt.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xcmt.h	(revision 26)
@@ -0,0 +1,246 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *  CMTãä½¿ç¨
+ */
+
+#ifndef _SH726XCMT_H_
+#define _SH726XCMT_H_
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *   	f/8ã§ã«ã¦ã³ã
+ */
+//#define TCR_CKS         0x0   /* sys_def.h å
+ã¸ç§»å */
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ */
+#if TCR_CKS == 0
+#define TIMER_CLOCK     ((PCLOCK / 1000) / 8)
+#elif TCR_CKS == 1
+#define TIMER_CLOCK     ((PCLOCK / 1000) / 32)
+#elif TCR_CKS == 2
+#define TIMER_CLOCK     ((PCLOCK / 1000) / 128)
+#elif TCR_CKS == 3
+#define TIMER_CLOCK     ((PCLOCK / 1000) / 512)
+#endif
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100		/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼ */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+#ifndef CMSTR
+#define CMSTR	(VH *)0xfffec000
+#define CMCSR_0	(VH *)0xfffec002
+#define CMCNT_0	(VH *)0xfffec004
+#define CMCOR_0	(VH *)0xfffec006
+#endif
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+sh2_timer_start ()
+{
+	sil_wrh_mem (CMSTR, sil_reh_mem (CMSTR) | 0x0001);
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+sh2_timer_stop ()
+{
+    	/* ã¿ã¤ããåæ­¢ 	  */
+	sil_wrh_mem (CMSTR, sil_reh_mem (CMSTR) & ~0x0001);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+sh2_timer_int_clear ()
+{
+	/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢     */
+	sil_wrh_mem (CMCSR_0, sil_reh_mem (CMCSR_0) & ~0x0080);
+				/* CMFã³ã³ãã¢ããããã©ã°ã®ã¯ãªã¢ */
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+sh2_timer_initialize ()
+{
+	CLOCK cyc = TO_CLOCK (TIC_NUME, TIC_DENO);
+
+#if defined(SH7203) || defined(SH7263)
+	sil_wrb_mem (STBCR4, (sil_reb_mem(STBCR4)& ~0x04));
+#endif
+#if defined(SH7262) || defined(SH7264)
+	sil_wrb_mem (STBCR7, (sil_reb_mem(STBCR7)& ~0x04));
+#endif
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	sh2_timer_stop ();			/* ã¿ã¤ãåæ­¢ */
+	/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert (cyc <= MAX_CLOCK);
+
+	/*  åå¨æ¯è¨­å®  clock 1/8  ãå²ãè¾¼ã¿ç¦æ­¢ */
+    sil_wrh_mem(CMCSR_0,0x0000);
+	/*  CMCOR0ã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼      */
+	sil_wrh_mem (CMCOR_0,(VH)CLOCK_PER_TICK);
+	/* ã«ã¦ã³ã¿ãã¯ãªã¢             */
+	sil_wrh_mem (CMCNT_0,0x0000);
+	sil_wrh_mem (CMCSR_0, sil_reh_mem(CMCSR_0) | 0x0040);	/* å²ãè¾¼ã¿è¨±å¯ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+sh2_timer_terminate ()
+{
+	sh2_timer_stop ();			/* ã¿ã¤ããåæ­¢     */
+	sh2_timer_int_clear ();		/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	sil_wrh_mem (CMCSR_0, sil_reh_mem(CMCSR_0) & ~0x0040);	//å²ãè¾¼ã¿ä¸è¨±å¯
+	sil_wrh_mem (CMCNT_0,0x0000);
+	sil_wrh_mem (CMCOR_0,0x0000);
+#if defined(SH7203) || defined(SH7263)
+	sil_wrb_mem (STBCR4, (sil_reb_mem(STBCR4) | 0x04));
+#endif
+#if defined(SH7262) || defined(SH7264)
+	sil_wrb_mem (STBCR7, (sil_reb_mem(STBCR7) | 0x04));
+#endif
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãã®åä½ãä¸æçã«åæ­¢ãï¼ã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+Inline CLOCK
+sh2_timer_get_current ()
+{
+	CLOCK	clk;
+/* SH1ã¨åã */
+	sh2_timer_stop ();			/*  ã¿ã¤ãåæ­¢  */
+
+	/*  æ¬æ¥ã¯å¾
+ã¡æéãå
+¥ããã¹ã  */
+
+	clk = sil_reh_mem(CMCNT_0);
+	sh2_timer_start();			/*  ã¿ã¤ãã¹ã¿ã¼ã  */
+	
+	return(clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+sh2_timer_fetch_interrupt ()
+{
+	return (sil_reh_mem (CMCSR_0) & 0x0080);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SH726XCMT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.c	(revision 26)
@@ -0,0 +1,490 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIFç¨ ç°¡æãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "sh726xscif.h"
+#define _MACRO_ONLY
+#include "hw_serial.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+
+#ifndef GDB_STUB
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{REGBASE_SERIAL, BRR_VALUE(SCIF_BPS), 0x0, SCIF_INTLVL},
+#if TNUM_PORT >= 2
+	{REGBASE_SERIAL2, BRR_VALUE(SCIF_BPS), 0x0, SCIF_INTLVL},
+#endif /* TNUM_PORT >= 2 */
+};
+
+#else /* GDB_STUB */
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{REGBASE_SERIAL, BRR_VALUE(SCIF_BPS), 0x0, SCIF_INTLVL},
+};
+
+#endif /* GDB_STUB */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2scif_getready (SIOPCB * siopcb)
+{
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ãã§ãã¯  */
+	return (sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR)) &
+			SCFSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2scif_putready (SIOPCB * siopcb)
+{
+	/*  ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ãã§ãã¯ */
+	return (sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR)) &
+			SCFSR_TDFE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+sh2scif_getchar (SIOPCB * siopcb)
+{
+	VB data;
+
+	data = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFRDR));
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCFSR)) & ~SCFSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh2scif_putchar (SIOPCB * siopcb, char c)
+{
+	/*  ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢ */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFTDR), c);
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCFSR)) & ~SCFSR_TDFE);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh2scif_initialize ()
+{
+	SIOPCB *siopcb;
+	UINT i;
+
+	/*
+	 *  ã·ã«ã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+		siopcb->siopinib = (&siopinib_table[i]);
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+sh2scif_openflag (ID siopid)
+{
+	return (siopcb_table[siopid - 1].openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh2scif_opn_por (ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb;
+
+	siopcb = get_siopcb (siopid);
+
+	/*  éåä¿¡åæ­¢  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCSCR)) & ~(SCSCR_TE | SCSCR_RE));
+
+	/*  SCIFãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+	/*  ãã³ã¢ãµã¤ã³ */
+	/* sys_initializeã§è¨­å® */
+
+	/*  FIFOã®åæå  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFCR),
+				 (VH) (SCFCR_TFRST | SCFCR_RFRST));
+
+	/*  éåä¿¡ãã©ã¼ããã  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSMR), 0x0000);
+	/*  èª¿æ­©åæå¼  */
+	/*  8ããããããªãã£ãªã  */
+	/*  ã¹ããããããã¬ã³ã°ã¹ï¼1   */
+	/*  ã¯ã­ãã¯ã»ã¬ã¯ã */
+
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCBRR),
+				 (VB) siopcb->siopinib->brr);	/* ãã¼ã¬ã¼ãè¨­å® */
+
+
+	/*
+	 * ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ã«ã¦ã³ãåå¾
+ããªããã°ãªããªãã
+	 */
+	sil_dly_nse (sh2scif_DELAY);
+
+	/*  FIFOã®è¨­å®  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFCR), 0x0030);
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCFSR)) & ~SCFSR_ER);
+
+	/*  éåä¿¡éå§  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 (VH) (SCSCR_TE | SCSCR_RE));
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return (siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh2scif_cls_por (SIOPCB * siopcb)
+{
+	/*  éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 (VH) ~ (SCSCR_TIE | SCSCR_RIE | SCSCR_TE | SCSCR_RE));
+
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh2scif_snd_chr (SIOPCB * siopcb, char c)
+{
+	if (sh2scif_putready (siopcb)) {
+		sh2scif_putchar (siopcb, c);
+		return (TRUE);
+	}
+	return (FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh2scif_rcv_chr (SIOPCB * siopcb)
+{
+	if (sh2scif_getready (siopcb)) {
+		return ((INT) (UB) sh2scif_getchar (siopcb));
+	}
+	return (-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sh2scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) | SCSCR_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) | SCSCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sh2scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) & ~SCSCR_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) & ~SCSCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_out (SIOPCB * siopcb)
+{
+	VH scr0 = sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR));
+
+	if ((scr0 & SCSCR_TIE) != 0 && sh2scif_putready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2scif_ierdy_snd (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_in (SIOPCB * siopcb)
+{
+	VH scr0 = sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCSCR));
+
+	if ((scr0 & SCSCR_RIE) != 0 && sh2scif_getready (siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2scif_ierdy_rcv (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡ã¨ã©ã¼å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_err (SIOPCB * siopcb)
+{
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCFSR)) & ~SCFSR_ER);
+	/*  FIFOã®åæå  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFCR),
+				 (VH) SCFCR_RFRST);
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFCR), 0x0030);
+}
+
+/* ãã¬ã¼ã¯æ¤åºå¦ç */
+/* ãã©ã°ããªã»ãããã */
+Inline void
+sh2scif_isr_siop_brk (SIOPCB * siopcb)
+{
+	/* ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SCFSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SCFSR)) & ~SCFSR_BRK);
+}
+
+/*
+ *  SCIFéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH2å
+èµã®SCIFã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCIFã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh2scif_isr_out ()
+{
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_out (get_siopcb (1));
+	}
+}
+
+/*
+ *  SCIFåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH2å
+èµã®SCIFã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCIFã®åä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh2scif_isr_in ()
+{
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_in (get_siopcb (1));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ *  ãSH2å
+èµã®SCIFã§ã¯å²è¾¼ã¿çªå·ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCIFã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  ã
+ *  ãã¨ã©ã¼å¦çèªä½ã¯ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã«ã¨ã©ãã¦ããã
+ *  ãããã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼
+ *  ãããã»ãã¬ã¼ãã³ã°ã¨ã©ã¼
+ *  ãããã»ããªãã£ã¨ã©ã¼
+ */
+void
+sh2scif_isr_error (void)
+{
+
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_err (get_siopcb (1));
+	}
+}
+
+/* ãã¬ã¼ã¯æ¤åº */
+void
+sh2scif_isr_brk (void)
+{
+
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_brk (get_siopcb (1));
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh2scif_putc_pol (ID portid, char c)
+{
+	while (!sh2scif_putready (&siopcb_table[portid - 1]));
+	sh2scif_putchar (&siopcb_table[portid - 1], c);
+}
+
+#if TNUM_PORT >= 2
+/*
+ *  SCIFåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2scif_isr2_in (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_in (get_siopcb (2));
+	}
+}
+
+/*
+ *  SCIFéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2scif_isr2_out (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_out (get_siopcb (2));
+	}
+}
+
+/*
+ *  SCIFåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+sh2scif_isr2_error (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_err (get_siopcb (2));
+	}
+}
+
+/* ãã¬ã¼ã¯æ¤åº */
+void
+sh2scif_isr2_brk (void)
+{
+
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_brk (get_siopcb (2));
+	}
+}
+#endif /* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh726xscif.h	(revision 26)
@@ -0,0 +1,199 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *  Copyright (C) 2010 by Cronus Computer Works, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7615scif.h,v 1.1 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#ifndef _SH726xSCI_H_
+#define _SH726xSCI_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block
+{
+	UW reg_base;				/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UB brr;						/* ãã¼ã¬ã¼ãã®è¨­å®å¤   */
+	UB smr;						/* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å®å¤   */
+	UB int_level;				/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®å¤   */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block
+{
+	const SIOPINIB *siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL sendflag;				/* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+	BOOL getready;				/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL putready;				/* æå­ãéä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ãªãã»ãã 
+ */
+#define SCIF_SCFSR	0x10
+#define SCIF_SCLSR	0x24
+#define SCIF_SCFRDR	0x14
+#define SCIF_SCFTDR	0x0c
+#define SCIF_SCSCR	0x08
+#define SCIF_SCFCR	0x18
+#define SCIF_SCSMR	0x00
+#define SCIF_SCBRR	0x04
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+/*  FIFOã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCFCRã®ããã  */
+#define SCFCR_TFRST	0x0004		/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ãªã»ãã */
+#define SCFCR_RFRST	0x0002		/* ã¬ã·ã¼ãFIFOãã¼ã¿ã¬ã¸ã¹ã¿ãªã»ãã */
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCSCRã®ããã  */
+#define SCSCR_TIE	0x0080		/* ãã©ã³ã¹ãããã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+#define SCSCR_RIE	0x0040		/* ã¬ã·ã¼ãã¤ã³ã¿ã©ããã¤ãã¼ãã«   */
+#define SCSCR_TE	0x0020		/* ãã©ã³ã¹ãããã¤ãã¼ãã«         */
+#define SCSCR_RE	0x0010		/* ã¬ã·ã¼ãã¤ãã¼ãã«           */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SC1SSRã®ããã  */
+#define SCFSR_TEND	0x0040
+#define SCFSR_TDFE	0x0020		/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ */
+#define SCFSR_ER	0x0080		/* ã¬ã·ã¼ãã¨ã©ã¼       */
+#define SCFSR_FER	0x0008		/* ãã¬ã¼ãã³ã°ã¨ã©ã¼       */
+#define SCFSR_PER	0x0004		/* ããªãã£ã¨ã©ã¼       */
+#define SCFSR_RDRF	0x0002		/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«       */
+#define SCFSR_BRK	0x0010		/* ãã¬ã¼ã¯æ¤åº */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SC2SSRã®ããã  */
+#define SCLSR_ORER	0x01		/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼ */
+
+#define sh2scif_DELAY 	1000000
+
+
+/*
+ *  SCIFã®è¨­å®
+ */
+#define SMR_CKS 	0x0			/*  åå¨æ¯ PÎ¦ã¯ã­ãã¯/1 [å¤æ´ä¸å¯] */
+/* BRRè¨­å®å¤ã®è¨ç® */
+#define BRR_VALUE(bps)	(((PCLOCK / 32) / (bps)) - 1)
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void sh2scif_initialize (void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL sh2scif_openflag (ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sh2scif_opn_por (ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sh2scif_cls_por (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL sh2scif_snd_chr (SIOPCB * siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT sh2scif_rcv_chr (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sh2scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sh2scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void sh2scif_isr (void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sh2scif_ierdy_snd (VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sh2scif_ierdy_rcv (VP_INT exinf);
+
+#endif /* _SH726xSCI_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615.h	(revision 26)
@@ -0,0 +1,238 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®æ¡ä»¶ã®ãããããæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sh7615.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+#ifndef _SH7615_H_
+#define _SH7615_H_
+
+#include <sil.h>
+
+/*
+ *  å²è¾¼ã¿ã®ãã¯ã¿çªå·å®ç¾©
+ */
+#define GII	 4					/*  ä¸è¬ä¸å½å½ä»¤:General Illegal Instruction  */
+#define SII	 6					/*  ã¹ã­ããä¸å½å½ä»¤:Slot Illegal Instruction */
+#define CAE	 9					/*  CPUã¢ãã¬ã¹ã¨ã©ã¼:CPU Address Error       */
+#define DAE	10					/*  DMAã¢ãã¬ã¹ã¨ã©ã¼:DMA Address Error       */
+
+#define NMI	11					/*  NMI         */
+#define USBK	12				/*  ã¦ã¼ã¶ã¼ãã¬ã¼ã¯    */
+#define HUDI	13				/*  ã¦ã¼ã¶ã¼ãããã°ã¤ã³ã¿ã¼ãã§ã¼ã¹    */
+/* å¤é¨ãã¯ã¿çªå·ãæå®ããå ´åãåå®ç¾©ãå¥ã«å®ç¾©ãã */
+#define IRQ0	64				/*  å¤é¨å²è¾¼ã¿è¦æ±      */
+#define IRQ1	65
+#define IRQ2	66
+#define IRQ3	67
+#define IRL1	64
+#define IRL2	65
+#define IRL3	65
+#define IRL4	66
+#define IRL5	66
+#define IRL6	67
+#define IRL7	67
+#define IRL8	68
+#define IRL9	68
+#define IRL10	69
+#define IRL11	69
+#define IRL12	70
+#define IRL13	70
+#define IRL14	71
+#define IRL15	71
+
+/* ãã¯ã¿çªå·ãèªç±ã«æå®ããå ´åãåå®ç¾©ãå¥ã«å®ç¾©ãã */
+	/*  DMAC:ãã¤ã¬ã¯ãã¡ã¢ãªã¢ã¯ã»ã¹ã³ã³ãã­ã¼ã©  */
+#define DMAC0	72				/*  DMAC0  */
+#define DMAC1	73				/*  DMAC1  */
+
+#define ITI	74					/*  WDT:ã¦ã©ããããã¯ã¿ã¤ã        */
+#define CMI	75					/*  REF:DRAMãªãã¬ãã·ã¥å¶å¾¡        */
+#define EINT	76				/*  EINT:EtherCå²ãè¾¼ã¿         */
+
+	/*  FRT:ããªã¼ã©ã³ãã³ã°ã¿ã¤ã  */
+#define ICI	77					/*  FRT  */
+#define OCI	78
+#define OVI	79
+
+	/*  TPU:ã¿ã¤ããã«ã¹ã¦ããã  */
+#define TGI0A	80				/*  TPU0  */
+#define TGI0B	81
+#define TGI0C	82
+#define TGI0D	83
+#define TCI0V	84
+#define TGI1A	85				/*  TPU1  */
+#define TGI1B	86
+#define TCI1V	87
+#define TCI1U	88
+#define TGI2A	89				/*  TPU2  */
+#define TGI2B	90
+#define TCI2V	91
+#define TCI2U	92
+
+	/*  SCIF:ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹  */
+#define ERI1	93				/*  SCI1  */
+#define RXI1	94
+#define BRI1	95
+#define TXI1	96
+#define ERI2	97				/*  SCI2  */
+#define RXI2	98
+#define BRI2	99
+#define TXI2	100
+
+	/*  SIO:ã·ãªã¢ã«I/O  */
+#define EREI0	101				/*  SCI0  */
+#define TERI0	102
+#define RDFI0	103
+#define TDEI0	104
+#define EREI1	105				/*  SCI1  */
+#define TERI1	106
+#define RDFI1	107
+#define TDEI1	108
+#define EREI2	109				/*  SCI2  */
+#define TERI2	110
+#define RDFI2	111
+#define TDEI2	112
+
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SH2ã®å
+é¨ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+/* ã¬ã¸ã¹ã¿ã®ã¢ã¯ã»ã¹ã¯åå32bitå¹
+ */
+/*
+ *   ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©
+ */
+/* ãã¹ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define BCR1    ((VW *)0xffffffe0)
+#define BCR2    ((VW *)0xffffffe4)
+#define BCR3    ((VW *)0xfffffffc)
+/* ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define WCR1    ((VW *)0xffffffe8)
+#define WCR2    ((VW *)0xffffffc0)
+#define WCR3    ((VW *)0xffffffc4)
+/* åå¥ã¡ã¢ãªã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define MCR     ((VW *)0xffffffec)
+/* ãªãã¬ãã·ã¥ã¿ã¤ãã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define RTCSR   ((VW *)0xfffffff0)
+/* ãªãã¬ãã·ã¥ã¿ã¤ãã«ã¦ã³ã¿ */
+#define RTCNT   ((VW *)0xfffffff4)
+/* ãªãã¬ãã·ã¥ã¿ã¤ã ã³ã³ã¹ã¿ã³ãã¬ã¸ã¹ã¿ */
+#define RTCOR   ((VW *)0xfffffff8)
+/*-----å
+é¨çºæ¯åè·¯-----*/
+#define FMR     ((VB *)0xfffffe90)
+
+/*
+ * ãã³ãã¡ã³ã¯ã·ã§ã³ã³ã³ãã­ã¼ã©
+ */
+#define PACR    ((VH *)0xfffffc80)	/*  ãã¼ãA ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿  */
+#define PAIOR   ((VH *)0xfffffc82)	/*  ãã¼ãA I/Oã¬ã¸ã¹ã¿       */
+#define PBCR    ((VH *)0xfffffc88)	/*  ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿  */
+#define PBIOR   ((VH *)0xfffffc8a)	/*  ãã¼ãB I/Oã¬ã¸ã¹ã¿       */
+#define PBCR2   ((VH *)0xfffffc8e)	/*  ãã¼ãB ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿2 */
+#define PADR    ((VH *)0xfffffc84)	/*  ãã¼ãA ãã¼ã¿ã¬ã¸ã¹ã¿        */
+#define PBDR    ((VH *)0xfffffc8c)	/*  ãã¼ãB ãã¼ã¿ã¬ã¸ã¹ã¿        */
+
+/* å²ãè¾¼ã¿åªå
+åº¦ã¬ãã«è¨­å®ã¬ã¸ã¹ã¿ */
+#define IPRA    ((VH *)0xfffffee2)
+#define IPRB    ((VH *)0xfffffe60)
+#define IPRC    ((VH *)0xfffffee6)
+#define IPRD    ((VH *)0xfffffe40)
+#define IPRE    ((VH *)0xfffffec0)
+/* ãã¯ã¿çªå·è¨­å®ã¬ã¸ã¹ã¿ */
+#define VCRA    ((VH *)0xfffffe62)
+#define VCRB    ((VH *)0xfffffe64)
+#define VCRC    ((VH *)0xfffffe66)
+#define VCRD    ((VH *)0xfffffe68)
+#define VCRE    ((VH *)0xfffffe42)
+#define VCRF    ((VH *)0xfffffe44)
+#define VCRG    ((VH *)0xfffffe46)
+#define VCRH    ((VH *)0xfffffe48)
+#define VCRI    ((VH *)0xfffffe4a)
+#define VCRJ    ((VH *)0xfffffe4c)
+#define VCRK    ((VH *)0xfffffe4e)
+#define VCRL    ((VH *)0xfffffe50)
+#define VCRM    ((VH *)0xfffffe52)
+#define VCRN    ((VH *)0xfffffe54)
+#define VCRO    ((VH *)0xfffffe56)
+#define VCRP    ((VH *)0xfffffec2)
+#define VCRQ    ((VH *)0xfffffec4)
+#define VCRR    ((VH *)0xfffffec6)
+#define VCRS    ((VH *)0xfffffec8)
+#define VCRT    ((VH *)0xfffffeca)
+#define VCRU    ((VH *)0xfffffecc)
+#define VCRWDT  ((VH *)0xfffffee4)
+#define DMA_VCRDMA0     ((VW *)0xffffffa0)
+#define DMA_VCRDMA1     ((VW *)0xffffffa8)
+/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define ICR     ((VH *)0xfffffee0)
+/* å²ãè¾¼ã¿ã³ã³ãã­ã¼ã«/ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+#define IRQCSR  ((VH *)0xfffffee8)
+
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ */
+Inline void
+sh2_init_intcontorller (void)
+{
+	sil_wrh_mem (IPRA, 0x0000);
+	sil_wrh_mem (IPRB, 0x0000);
+	sil_wrh_mem (IPRC, 0x0000);
+	sil_wrh_mem (IPRD, 0x0000);
+	sil_wrh_mem (IPRE, 0x0000);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _SH7615_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615frt.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615frt.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615frt.h	(revision 26)
@@ -0,0 +1,239 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7615frt.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ã
+ *  FRTãä½¿ç¨
+ */
+
+#ifndef _SH7615FRT_H_
+#define _SH7615FRT_H_
+
+/*
+ *   ã¿ã¤ãã¸ã®å
+¥åã¯ã­ãã¯ã®åå¨æ¯è¨­å®
+ *   	f/8ã§ã«ã¦ã³ã
+ */
+#define TCR_CKS         0x0
+
+/*
+ *   ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+ *   	14.7456MHz/8 =1.8432MHz =1843.2kHz
+ */
+#define TIMER_CLOCK	1843
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UH CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define	TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define	TO_USEC(clock)		((clock) * 1000 / TIMER_CLOCK)
+#define CLOCK_PER_TICK	((CLOCK) TO_CLOCK(TIC_NUME, TIC_DENO))
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define	MAX_CLOCK	((CLOCK) 0xffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define	GET_TOLERANCE	100		/* å¦çé
+ãã®è¦ç©ãå¤ï¼åä½ã¯å
+é¨è¡¨ç¾ï¼ */
+#define	BEFORE_IREQ(clock) \
+		((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ */
+
+#define FRT_FTCSR	(VB *)0xfffffe11
+#define FRT_TOCR	(VB *)0xfffffe17
+#define FRT_TCR		(VB *)0xfffffe16
+#define FRT_OCRH	(VB *)0xfffffe14
+#define FRT_OCRL	(VB *)0xfffffe15
+#define FRT_TIER	(VB *)0xfffffe10
+#define FRT_FRCH	(VB *)0xfffffe12
+#define FRT_FRCL	(VB *)0xfffffe13
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã¹ã¿ã¼ã
+ */
+Inline void
+sh2_timer_start ()
+{
+	/* OCRAä¸è´ã«ããå²è¾¼çºçè¨±å¯ */
+	sil_wrb_mem (FRT_TIER, sil_reb_mem(FRT_TIER) | 0x08);
+}
+
+/*
+ *  ã¿ã¤ãä¸æåæ­¢
+ */
+Inline void
+sh2_timer_stop ()
+{
+	/* OCRAä¸è´ã«ããå²è¾¼çºçä¸è¨±å¯ */
+	sil_wrb_mem (FRT_TIER, sil_reb_mem(FRT_TIER) & ~0x08);
+}
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ *	TCRã¬ã¸ã¹ã¿ã®IMFAãããã¯1åèª­ã¿åºããå¾ã«ï¼ãæ¸ãè¾¼ã
+ */
+Inline void
+sh2_timer_int_clear ()
+{
+	/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢     */
+	/*  ï¼GRAã³ã³ãã¢ããããã©ã°ï¼ */
+	sil_wrb_mem (FRT_FTCSR, sil_reb_mem (FRT_FTCSR) & 0xf7);
+	/* OCRAã³ã³ãã¢ããããã©ã°ã®ã¯ãªã¢ */
+
+}
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+sh2_timer_initialize ()
+{
+	CLOCK cyc = TO_CLOCK (TIC_NUME, TIC_DENO);
+
+
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+	sh2_timer_stop ();			/* ã¿ã¤ãåæ­¢ */
+	/* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+	assert (cyc <= MAX_CLOCK);
+
+	/* OCRAé¸æ */
+	sil_wrb_mem (FRT_TOCR, 0x00);
+	/*  åå¨æ¯è¨­å®  clock 1/8   */
+	sil_wrb_mem (FRT_TCR, 0x00);
+	/* OCRAä¸è´ã«ããFRCã®ã¯ãªã¢ */
+	sil_wrb_mem (FRT_FTCSR, sil_reb_mem (FRT_FTCSR) | 0x01);
+	/* ã³ã³ãã¢ããããã©ã°ã®ã¯ãªã¢ */
+	sil_wrb_mem (FRT_FTCSR, sil_reb_mem (FRT_FTCSR) & 0xf7);
+	/*  OCRAã¬ã¸ã¹ã¿è¨­å®ï¼ã«ã¦ã³ã¿ç®æ¨å¤ï¼      */
+	sil_wrb_mem (FRT_OCRH, (CLOCK_PER_TICK >> 8) & 0x00ff);
+	sil_wrb_mem (FRT_OCRL, (CLOCK_PER_TICK) & 0x00ff);
+	/* OCRAä¸è´ã«ããå²è¾¼çºçè¨±å¯ */
+	sil_wrb_mem (FRT_TIER, 0x09);
+	/* ã«ã¦ã³ã¿ãã¯ãªã¢             */
+	sil_wrb_mem (FRT_FRCH, 0);
+	sil_wrb_mem (FRT_FRCL, 0);
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+sh2_timer_terminate ()
+{
+	sh2_timer_stop ();			/* ã¿ã¤ããåæ­¢     */
+	sh2_timer_int_clear ();		/* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+
+	sil_wrb_mem (FRT_TIER, 0x01);	//å²ãè¾¼ã¿ä¸è¨±å¯
+	sil_wrb_mem (FRT_FRCH, 0);
+	sil_wrb_mem (FRT_FRCL, 0);
+	sil_wrb_mem (FRT_OCRH, 0);
+	sil_wrb_mem (FRT_OCRL, 0);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ *ãããã¿ã¤ãå¤ãèª­ã¿åºãï¼
+ */
+Inline CLOCK
+sh2_timer_get_current ()
+{
+	CLOCK	clk;
+	CLOCK up, low;
+
+
+	up = sil_reb_mem (FRT_FRCH);
+	low = sil_reb_mem (FRT_FRCL);
+	clk = (up << 8) | low;
+	return (clk);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+sh2_timer_fetch_interrupt ()
+{
+	return (sil_reb_mem (FRT_FTCSR) & 0x08);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SH7615FRT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.c	(revision 26)
@@ -0,0 +1,501 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7615scif.c,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIFç¨ ç°¡æãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "sh7615scif.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+/* å
+¥åºåãã¼ãã®è¨­å®ã¯sys_config.c */
+/* å²è¾¼ã¿ãã¯ã¿çªå·ã®è¨­å®ã¯hw_serial.h */
+/* ç®¡çãã­ãã¯ã®è¨­å®ã¯sh7615scif.c */
+
+#ifndef GDB_STUB
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{0xfffffcc0, BRR9600, 0x0, 6}, /* SCIF1 */
+#if TNUM_PORT >= 2
+	{0xfffffce0, BRR9600, 0x0, 6}, /* SCIF2 */
+#endif /* TNUM_PORT >= 2 */
+};
+
+#else /* GDB_STUB */
+
+const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{0xfffffce0, BRR9600, 0x0, 6}, /* SCIF2 */
+};
+
+#endif /* GDB_STUB */
+
+#if defined(TTM)
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ *  ã2chãµãã¼ãã«æ¡å¼µããå ´åã¯åæå¤ç¨ã®ãã¼ã¿ãå«ãã
+ */
+struct sio_port_control_block
+{
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+#endif
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2scif_getready (SIOPCB * siopcb)
+{
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ãã§ãã¯  */
+	return (sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR)) &
+			SC1SSR_RDRF);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+sh2scif_putready (SIOPCB * siopcb)
+{
+	/*  ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ãã§ãã¯ */
+	return (sil_reh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR)) &
+			SC1SSR_TDFE);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+sh2scif_getchar (SIOPCB * siopcb)
+{
+	VB data;
+
+	data = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFRDR));
+	/*  ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«ã»ãã©ã°ã®ã¯ãªã¢  */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SC1SSR)) & ~SC1SSR_RDRF);
+	return data;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+sh2scif_putchar (SIOPCB * siopcb, char c)
+{
+	/*  ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ã»ãã©ã°ã®ã¯ãªã¢ */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFTDR), c);
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SC1SSR)) & ~SC1SSR_TDFE);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+sh2scif_initialize ()
+{
+	SIOPCB *siopcb;
+	UINT i;
+
+	/*
+	 *  ã·ã«ã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->openflag = FALSE;
+		siopcb->siopinib = (&siopinib_table[i]);
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+sh2scif_openflag (ID siopid)
+{
+	return (siopcb_table[siopid - 1].openflag);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sh2scif_opn_por (ID siopid, VP_INT exinf)
+{
+	SIOPCB *siopcb;
+
+	siopcb = get_siopcb (siopid);
+
+	/*  éåä¿¡åæ­¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+									  SCIF_SCSCR)) & ~(SCSCR_TE | SCSCR_RE));
+
+	/*  SCIãã¼ã¿å
+¥åºåãã¼ãã®è¨­å®  */
+	/*  ãã³ã¢ãµã¤ã³ */
+	/* sys_initializeã§è¨­å® */
+
+	/*  FIFOã®åæå  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFCR),
+				 (VB) (SCFCR_TFRST | SCFCR_RFRST));
+
+	/*  éåä¿¡ãã©ã¼ããã  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSMR), 0x00);
+	/*  èª¿æ­©åæå¼  */
+	/*  8ããããããªãã£ãªã  */
+	/*  ã¹ããããããã¬ã³ã°ã¹ï¼1   */
+	/*  ã¯ã­ãã¯ã»ã¬ã¯ã */
+
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCBRR), (VB) siopcb->siopinib->brr);	/* ãã¼ã¬ã¼ãè¨­å® */
+
+
+	/*
+	 * ãã¼ã¬ã¼ãã®è¨­å®å¾ã1ã«ã¦ã³ãåå¾
+ããªããã°ãªããªãã
+	 */
+	sil_dly_nse (sh2scif_DELAY);	/* å¤ã¯ï½ï½ï¼ã¨åã */
+
+	/*  FIFOã®è¨­å®  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFCR), 0x00);
+
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SC1SSR)) & ~SC1SSR_ER);
+
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 (VB) (SCSCR_RIE | SCSCR_TE | SCSCR_RE));
+
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	return (siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sh2scif_cls_por (SIOPCB * siopcb)
+{
+	/*  éåä¿¡åæ­¢ãå²è¾¼ã¿ç¦æ­¢  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+				 (VB) ~ (SCSCR_TIE | SCSCR_RIE | SCSCR_TE | SCSCR_RE));
+
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+sh2scif_snd_chr (SIOPCB * siopcb, char c)
+{
+	if (sh2scif_putready (siopcb)) {
+		sh2scif_putchar (siopcb, c);
+		return (TRUE);
+	}
+	return (FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+sh2scif_rcv_chr (SIOPCB * siopcb)
+{
+	if (sh2scif_getready (siopcb)) {
+		return ((INT) (UB) sh2scif_getchar (siopcb));
+	}
+	return (-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sh2scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) | SCSCR_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) | SCSCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sh2scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case SIO_ERDY_SND:			/* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) & ~SCSCR_TIE);
+		break;
+	case SIO_ERDY_RCV:			/* åä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */
+		sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR),
+					 sil_reb_mem ((VB *) (siopcb->siopinib->reg_base +
+										  SCIF_SCSCR)) & ~SCSCR_RIE);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããéä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_out (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR));
+
+	if ((scr0 & SCSCR_TIE) != 0 && sh2scif_putready (siopcb)) {
+		/*
+		 *  éä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2scif_ierdy_snd (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_in (SIOPCB * siopcb)
+{
+	VB scr0 = sil_reb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCSCR));
+
+	if ((scr0 & SCSCR_RIE) != 0 && sh2scif_getready (siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sh2scif_ierdy_rcv (siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããåä¿¡ã¨ã©ã¼å²è¾¼ã¿å¦ç
+ */
+Inline void
+sh2scif_isr_siop_err (SIOPCB * siopcb)
+{
+	/* ã¨ã©ã¼ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SC1SSR)) & ~SC1SSR_ER);
+	/*  FIFOã®åæå  */
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFCR),
+				 (VB) SCFCR_RFRST);
+	sil_wrb_mem ((VB *) (siopcb->siopinib->reg_base + SCIF_SCFCR), 0x30);
+}
+
+/* ãã¬ã¼ã¯æ¤åºå¦ç */
+/* ãã©ã°ããªã»ãããã */
+Inline void
+sh2scif_isr_siop_brk (SIOPCB * siopcb)
+{
+	/* ãã©ã°ãã¯ãªã¢ */
+	sil_wrh_mem ((VH *) (siopcb->siopinib->reg_base + SCIF_SC1SSR),
+				 sil_reh_mem ((VH *) (siopcb->siopinib->reg_base +
+									  SCIF_SC1SSR)) & ~SC1SSR_BRK);
+}
+
+/*
+ *  SCIéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ ï½ï½ï¼ã¨åã
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®éä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh2scif_isr_out ()
+{
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_out (get_siopcb (1));
+	}
+}
+
+/*
+ *  SCIåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ãï½ï½ï¼ã¨åã
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ãéåä¿¡å¥ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  
+ */
+void
+sh2scif_isr_in ()
+{
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_in (get_siopcb (1));
+	}
+}
+
+/*
+ *  SIOåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ãï½ï½ï¼ã¨åã
+ *  
+ *  ãSH1å
+èµã®SCIã§ã¯å²è¾¼ã¿çªå·ããã£ãã«å¥ã«åããã¦ããã®ã§ã
+ *  ãSCI0ã®åä¿¡ã¨ã©ã¼å²è¾¼ã¿ä»¥å¤ã§ãã®ã«ã¼ãã³ãå¼ã°ãããã¨ã¯ãªã
+ *  ã
+ *  ãã¨ã©ã¼å¦çèªä½ã¯ã¨ã©ã¼ãã©ã°ã®ã¯ãªã¢ã®ã¿ã«ã¨ã©ãã¦ããã
+ *  ãããã»ãªã¼ãã¼ã©ã³ã¨ã©ã¼
+ *  ãããã»ãã¬ã¼ãã³ã°ã¨ã©ã¼
+ *  ãããã»ããªãã£ã¨ã©ã¼
+ */
+void
+sh2scif_isr_error (void)
+{
+
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_err (get_siopcb (1));
+	}
+}
+
+/* ãã¬ã¼ã¯æ¤åº */
+void
+sh2scif_isr_brk (void)
+{
+
+	if (siopcb_table[0].openflag) {
+		sh2scif_isr_siop_brk (get_siopcb (1));
+	}
+}
+
+/*
+ * ãã¼ãªã³ã°ã«ããæå­ã®éä¿¡
+ */
+void
+sh2scif_putc_pol (ID portid, char c)
+{
+	while (!sh2scif_putready (&siopcb_table[portid - 1]));
+	sh2scif_putchar (&siopcb_table[portid - 1], c);
+}
+
+#if TNUM_PORT >= 2
+/*
+ *  SCIåä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2scif_isr2_in (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_in (get_siopcb (2));
+	}
+}
+
+/*
+ *  SCIéä¿¡å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *  
+ */
+void
+sh2scif_isr2_out (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_out (get_siopcb (2));
+	}
+}
+
+/*
+ *  SCIåä¿¡ã¨ã©ã¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+sh2scif_isr2_error (void)
+{
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_err (get_siopcb (2));
+	}
+}
+
+/* ãã¬ã¼ã¯æ¤åº */
+void
+sh2scif_isr2_brk (void)
+{
+
+	if (siopcb_table[1].openflag) {
+		sh2scif_isr_siop_brk (get_siopcb (2));
+	}
+}
+#endif /* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/sh7615scif.h	(revision 26)
@@ -0,0 +1,213 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh7615scif.h,v 1.1 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *   SH2å
+èµã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ãã§ã¼ã¹SCIç¨ ç°¡æãã©ã¤ã
+ */
+
+#ifndef _SH2SCIF_H_
+#define _SH2SCIF_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block
+{
+	UW reg_base;				/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+	UB brr;						/* ãã¼ã¬ã¼ãã®è¨­å®å¤   */
+	UB smr;						/* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å®å¤   */
+	UB int_level;				/* å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®å¤   */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block
+{
+	const SIOPINIB *siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT exinf;				/* æ¡å¼µæ
+å ± */
+	BOOL openflag;				/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL sendflag;				/* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+	BOOL getready;				/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL putready;				/* æå­ãéä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+#if defined(TTM)
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ 
+ */
+#define SCIF_SC1SSR	(VH *)0xfffffcc8
+#define SCIF_SC2SSR	(VB *)0xfffffcca
+#define SCIF_SCFRDR	(VB *)0xfffffccc
+#define SCIF_SCFTDR	(VB *)0xfffffcc6
+#define SCIF_SCSCR	(VB *)0xfffffcc4
+#define SCIF_SCFCR	(VB *)0xfffffcce
+#define SCIF_SCSMR	(VB *)0xfffffcc0
+#define SCIF_SCBRR	(VB *)0xfffffcc2
+#endif
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ãªãã»ãã 
+ */
+#define SCIF_SC1SSR	0x08
+#define SCIF_SC2SSR	0x0a
+#define SCIF_SCFRDR	0x0c
+#define SCIF_SCFTDR	0x06
+#define SCIF_SCSCR	0x04
+#define SCIF_SCFCR	0x0e
+#define SCIF_SCSMR	0x00
+#define SCIF_SCBRR	0x02
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+/*  FIFOã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCFCRã®ããã  */
+#define SCFCR_TFRST	0x04		/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ãªã»ãã */
+#define SCFCR_RFRST	0x02		/* ã¬ã·ã¼ãFIFOãã¼ã¿ã¬ã¸ã¹ã¿ãªã»ãã */
+/*  ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿SCSCRã®ããã  */
+#define SCSCR_TIE	0x80		/* ãã©ã³ã¹ãããã¤ã³ã¿ã©ããã¤ãã¼ãã« */
+#define SCSCR_RIE	0x40		/* ã¬ã·ã¼ãã¤ã³ã¿ã©ããã¤ãã¼ãã«   */
+#define SCSCR_TE	0x20		/* ãã©ã³ã¹ãããã¤ãã¼ãã«         */
+#define SCSCR_RE	0x10		/* ã¬ã·ã¼ãã¤ãã¼ãã«           */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SC1SSRã®ããã  */
+#define SC1SSR_TDFE	0x0020		/* ãã©ã³ã¹ãããFIFOãã¼ã¿ã¬ã¸ã¹ã¿ã¨ã³ããã£ */
+#define SC1SSR_ER	0x0080		/* ã¬ã·ã¼ãã¨ã©ã¼       */
+#define SC1SSR_FER	0x0008		/* ãã¬ã¼ãã³ã°ã¨ã©ã¼       */
+#define SC1SSR_PER	0x0004		/* ããªãã£ã¨ã©ã¼       */
+#define SC1SSR_RDRF	0x0002		/* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ãã«       */
+#define SC1SSR_BRK	0x0010		/* ãã¬ã¼ã¯æ¤åº */
+/*  ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿SC2SSRã®ããã  */
+#define SC2SSR_ORER	0x01		/* ãªã¼ãã¼ã©ã³ã¨ã©ã¼ */
+
+#define sh2scif_DELAY 	105000
+
+
+/*
+ *  SCIã®è¨­å®
+ */
+#define SMR_CKS 	0x0			/*  åå¨æ¯          */
+#define BRR9600 	47			/*  9600 ãããã¬ã¼ã    */
+#define BRR19200	23			/*  19200 ãããã¬ã¼ã    */
+#define BRR38400	11			/*  38400 ãããã¬ã¼ã    */
+#define BRR57600 	7			/*  57600 ãããã¬ã¼ã 	*/
+#define BRR115200 	3			/*  115200 ãããã¬ã¼ã */
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void sh2scif_initialize (void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL sh2scif_openflag (ID siopid);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sh2scif_opn_por (ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sh2scif_cls_por (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL sh2scif_snd_chr (SIOPCB * siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT sh2scif_rcv_chr (SIOPCB * siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sh2scif_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sh2scif_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void sh2scif_isr (void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sh2scif_ierdy_snd (VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sh2scif_ierdy_rcv (VP_INT exinf);
+
+#endif /* _SH2SCIF_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/start.S	(revision 26)
@@ -0,0 +1,275 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼SH1/2ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include <t_config.h>
+
+/*
+ *ããä¾å¤ãã¯ã¿ã®å®ç¾©ï¼SH1/2ç¨ï¼
+ *ãããããã§ã¯ãªã»ããæã«å¿
+è¦ãªæä½éã®ãã¯ã¿ããç¨æããªã
+ *ãããcpu_initialize()ã§ä¾å¤ãã¯ã¿ã®ç§»åï¼VBRã®æ¸ãæãï¼ãè¡ã
+ */
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+/*
+ *   ä»¥ä¸ã®ä¾å¤è¦å ã§ããã©ã«ãã¨ã¯ç°ãªãä¾å¤ãã¯ã¿ãå®ç¾©
+ *   ããå ´åã¯ãsys_config.hã§è©²å½ãããã¯ã­ãå®ç¾©ããã
+ */
+	.section ".vector","ax"
+	.align 2
+	.long   TO_ASM(RESET_VECTOR)	/*   0:ãã¯ã¼ãªã³ãªã»ãã  */
+	.long   INIT_STACK		/*       SPã®åæå¤        */
+	.long   TO_ASM(RESET_VECTOR)	/*   2:ããã¥ã¢ã«ãªã»ãã  */
+	.long   INIT_STACK		/*       SPã®åæå¤        */
+	.long   TO_ASM(GII_VECTOR)	/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   5:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(SII_VECTOR)	/*   6:ã¹ã­ããä¸å½å½ä»¤    */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   7:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(RESERVED_VECTOR)	/*   8:ã·ã¹ãã äºç´        */
+	.long   TO_ASM(CAE_VECTOR)	/*   9:CPUã¢ãã¬ã¹ã¨ã©ã¼   */
+	.long   TO_ASM(DAE_VECTOR)	/*  10:DMAã¢ãã¬ã¹ã¨ã©ã¼   */
+	.long   TO_ASM(NMI_VECTOR)	/*  11:MNI                 */
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
+/*
+ *   SH1/2ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ */
+	.global	_start
+	.section .text
+	.align 2
+_start:
+	/*
+	 *  SRãåæåãããï¼å²è¾¼ã¿ç¦æ­¢ï¼
+	 *  IPM=0xe
+	 *  stubå®è¡æã®ã¿IPM=0xfã¨ãªãã
+	 */
+	mov.l _init_sr,r0
+	ldc   r0,sr
+	/*
+	 * éã¿ã¹ã¯ã³ã³ãã¹ãã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * STACKTOPã¯ãuser_config.hã§å®ç¾©
+	 */
+	mov.l  _stack_k, r15
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+start_0:
+	/*
+	 *  ãã­ã»ããµå
+èµRAMãå©ç¨ã§ããå ´åã¯ãã®ã¢ãã¬ã¹ã
+	 *  INNER_RAM_ADDRESSãã¯ã­ã¨ãã¦user_config.hã¾ãã¯
+	 *  ã³ã³ãã¤ã©ã»ãªãã·ã§ã³ã§å®ç¾©ããã
+	 *ãï¼å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ã§ã¯ãªããã¹ã¿ãã¯ã®åºã§
+	 *ããããç¹ã«æ³¨æï¼
+	 *
+	 *  ãã®å ´åãhardware_init_hook()é¢æ°ãCè¨èªã§
+	 *  è¨è¿°ãã¦ããã
+	 *  ä¸è¬ã«Cè¨èªã®é¢æ°å¼ã³åºãã¯ã¹ã¿ãã¯ãä½¿ç¨ããã®ã§
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæååã«ã§ããªãã
+	 */
+#ifdef INNER_RAM_ADDRESS
+	mov.l  _inner_ram_address_k, r15
+#endif /* INNER_RAM_ADDRESS */
+	mov.l   _hardware_init_k, r0
+	tst    r0,r0
+	bt     start_1
+	jsr    @r0
+        nop
+
+
+	/*
+         * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+start_1:
+	/*
+         * ã¹ã¿ãã¯ãã¤ã³ã¿ãå¤é¨RAMã«åè¨­å®ãããï¼ä¸è¨åç
+§ï¼
+	 */
+#ifdef INNER_RAM_ADDRESS
+	mov.l  _stack_k, r15
+#endif /* INNER_RAM_ADDRESS */
+
+	mov.l	_bss_start_k,r0
+	mov.l	_end_k,r1
+	cmp/eq  r0,r1
+	bt      start_3
+	mov	#0,r2
+start_2:
+	/*
+	 *  r0ã®ã¤ã³ã¯ãªã¡ã³ããåé·ã«è¦ããã
+	 *  mov.l r4,@r0+å½ä»¤ã¯ãªã
+	 *	ãã£ã¹ãã£ãã¼ã·ã§ã³ã®ã¢ãã¬ã¹ã¯ãã£ã¯ãªã¡ã³ãã®ã¿
+	 */
+        mov.l	r2,@r0
+	add	#4,r0
+ 	cmp/hi	r0,r1
+	bt	start_2
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 *
+	 *ããããã°ç°å¢ã«ãã£ã¦ã¯dataã»ã¯ã·ã§ã³ã®èªè­ã«ä¸å
+·åãããã
+	 *ã__idata_startçªå°ã«ãã¦ã³ã­ã¼ããã¹ããã¼ã¿ã__data_start
+	 *ãçªå°ã«ãã¦ã³ã­ã¼ããã¦ãã¾ããã®ãããããã®å ´åã¯
+	 *ãOMIT_DATA_SECTION_COPYãã¯ã­ãå®ç¾©ãã¦ãããã¨ã§ãã®ã³ãã¼
+	 *ãä½æ¥­ãçç¥ããã
+	 */
+start_3:
+#ifndef OMIT_DATA_SECTION_COPY	/*  dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãè¡ãå ´å  */
+	mov.l   __idata_start_k,r1
+	mov.l   __idata_end_k,r2
+	cmp/eq  r1,r2
+	bt      start_5
+	mov.l   __data_start_k,r0
+start_4:
+	mov.l   @r1+,r4
+	mov.l   r4,@r0
+	cmp/hi  r1,r2
+	add     #4,r0
+	bt      start_4
+#endif 	/* OMIT_DATA_SECTION_COPY */
+
+	/*
+	 *  software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:
+	mov.l  _software_init_hook_k, r0
+	tst    r0,r0
+	bt     start_6
+	jsr    @r0
+	nop
+
+
+start_6:
+	/*
+         *  ã«ã¼ãã«ãèµ·åãã
+	 */
+	! call the mainline
+	mov.l	_kernel_start_k,r0
+	jsr	@r0
+	nop
+
+
+	.align 2
+_intnest_k:
+	.long	_intnest
+_init_sr:
+	.long	MAX_IPM << 4
+_stack_k:
+	.long   STACKTOP
+
+
+#ifdef INNER_RAM_ADDRESS
+_inner_ram_address_k:
+	.long   INNER_RAM_ADDRESS
+#endif /* INNER_RAM_ADDRESS */
+
+_bss_start_k:
+	.long   __bss_start
+
+#ifdef FILL_STACK_WITH_0  /*  ãããã¬ã§ã¹ã¿ãã¯é åãè¦³å¯ãæã  */
+			  /*  ãããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã®    */
+			  /*  ã¹ã¿ãã¯é åãåæåãã            */
+_end_k:
+	.long   STACKTOP
+#else			/*  ã¹ã¿ãã¯é åãåæåããªãå ´å  */
+_end_k:			/*  ãbssã»ã¯ã·ã§ã³ã ãåæåãã  */
+	.long  	_end
+#endif	/* FILL_STACK_WITH_0  */
+
+
+#ifndef OMIT_DATA_SECTION_COPY	/*  dataã»ã¯ã·ã§ã³ã®ã³ãã¼ãè¡ãå ´å  */
+__idata_start_k:
+	.long 	__idata_start
+__idata_end_k:
+	.long   __idata_end
+__data_start_k:
+	.long  	__data_start
+#endif 	/* OMIT_DATA_SECTION_COPY */
+
+_kernel_start_k:
+	.long	_kernel_start
+_hardware_init_k:
+	.long   _hardware_init_hook
+_software_init_hook_k:
+	.long   _software_init_hook
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_config.h	(revision 26)
@@ -0,0 +1,294 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.6 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+
+/*
+ *  å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­
+ *  ãGNUéçºç°å¢ã§ã¯å®ç¾©ãçç¥ãã¦è¯ã
+ *
+ *    #define __EMPTY_LABEL(x, y)
+ */
+
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/tool_defs.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.5 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *ãããããã¢ããªã±ã¼ã·ã§ã³ãå¿
+è¦ã¨ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/util.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/util.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/util.h	(revision 26)
@@ -0,0 +1,75 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: util.h,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *  ã¦ã¼ãã£ãªãã£ã»ãã¯ã­ã®å®ç¾©
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+/*
+ *  æ°å¤ãã¼ã¿æå­ååç¨ãã¯ã­
+ */
+#define _TO_STRING(arg)	#arg
+#define TO_STRING(arg)	_TO_STRING(arg)
+
+/*
+ *  Cè¨èªã®ã·ã³ãã«åãã¢ã»ã³ãã©ã®ã·ã³ãã«åã«å¤æãããã¯ã­
+ */
+#define _TO_ASM(arg)	_##arg
+#define TO_ASM(arg)	_TO_ASM(arg)
+
+
+#endif /* _UTIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/vector_table.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/vector_table.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh2/vector_table.c	(revision 26)
@@ -0,0 +1,329 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vector_table.c,v 1.3 2005/07/06 00:45:07 honda Exp $
+ */
+
+/*
+ *	ä¾å¤ãã¯ã¿ã®å®ç¾©ï¼SH1/2ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#ifdef KERNEL_HAS_A_VECTOR_TABLE
+
+extern void start(void);		/*  start.S  */
+extern void no_reg_exception(void);	/*  cpu_support.S  */
+
+FP vector_table [] = {
+	RESET_VECTOR,		/*   0:ãã¯ã¼ãªã³ãªã»ãã  */
+	(FP)INIT_STACK,		/*     ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+	RESET_VECTOR,		/*   2:ããã¥ã¢ã«ãªã»ãã  */
+	(FP)INIT_STACK,		/*     ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤  */
+	GII_VECTOR,		/*   4:ä¸è¬ä¸å½å½ä»¤        */
+	RESERVED_VECTOR,	/*   5:ã·ã¹ãã äºç´        */
+	SII_VECTOR,		/*   6:ã¹ã­ããä¸å½å½ä»¤    */
+	RESERVED_VECTOR,	/*   7:ã·ã¹ãã äºç´        */
+	RESERVED_VECTOR,	/*   8:ã·ã¹ãã äºç´        */
+	CAE_VECTOR,		/*   9:CPUã¢ãã¬ã¹ã¨ã©ã¼   */
+	DAE_VECTOR,		/*  10:DMAã¢ãã¬ã¹ã¨ã©ã¼   */
+	NMI_VECTOR,		/*  11:MNI                 */
+
+				/*  æ®ãã¯ããã©ã«ãã®ä¾å¤å¦ç  */
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception,
+	no_reg_exception
+};
+
+#endif /* KERNEL_HAS_A_VECTOR_TABLE */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_config.h	(revision 26)
@@ -0,0 +1,438 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.5 2004/09/04 16:38:40 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH3/4ç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+
+/*
+ *  ã«ã¼ãã«å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+
+#ifdef SH4
+#include "sh4.h"        
+#else  /* SH3 */
+#include "sh3.h"        
+#endif /* SH4 */
+
+
+/*
+ *  è¨­å®å¯è½ãªæé«åªå
+åº¦
+ */
+#ifdef GHS_STUB
+#define MAX_IPM  0xe
+#else
+#define MAX_IPM  0xf 
+#endif 
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TWAIT		8	/* twait ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+        VP	sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP  pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã4ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+current_intmask()
+{
+	return(current_sr() & 0x000000f0);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UW intmask)
+{
+	set_sr((current_sr() & ~0x000000f0) | intmask);
+}
+
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+asm unsigned int _context()
+{
+%
+    stc     r7_bank,r0
+}
+
+#define sense_context() (_context() > 0)
+
+
+Inline BOOL
+sense_lock()
+{
+	return(current_intmask() == MAX_IPM << 4);
+}
+
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼t_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦
+ *  ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UW	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+
+Inline void
+t_lock_cpu()
+{
+	disint();
+}
+
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();
+#endif /* SUPPORT_CHG_IPM */
+}
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UW	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+	UW	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask()ãå¼ã
+	 *  ã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+
+Inline void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã®å®ç¾©
+ */
+extern void   BASE_VBR(void);
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®æ§é ã®å®ç¾©
+ */
+typedef struct exc_vector_entry {
+	FP	exchdr;			/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©ã®çä¼¼ãã¼ãã«
+ *  SH3ä»¥éã¯ãã¯ã¿ãã¼ãã«ãæããªãããå²ãè¾¼ã¿å¦çã§ä¾å¤è¦å ã
+ *  ãªãã»ããã«ãããçä¼¼ãã¼ãã«ãããã³ãã©ã®å®è¡çªå°åã³
+ *  å²ãè¾¼ã¿ãã¹ã¯ã®å¤ãåå¾ãã
+ */
+extern FP	int_table[0x50];
+extern VW   int_plevel_table[0x50];
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ */
+extern FP	exc_table[(0x1E0 >> 5) + 1];
+
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  çä¼¼ãã¼ãã«ã«ç»é²ãã
+ *  stubãä½¿ãå ´åã¯stubå¼ã³åºãã«ããstubã«ç»é²ãã
+ *  
+ */
+
+extern FP general_exception();
+extern FP interrupt();
+
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+        int_table[inhno >> 5] = inthdr;
+
+}
+
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *   æ¬ä¼¼ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²
+ */   
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+        exc_table[excno >> 5] = exchdr;
+
+}
+
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ */
+Inline void
+define_int_plevel(UINT dintno, UW plevel)
+{
+    int_plevel_table[dintno >> 5] = (plevel << 4) | 0x40000000;
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *  
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define	INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define	EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+
+#define	EXC_ENTRY(exchdr)     exchdr
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	return(_context() > 1);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UW *)p_excinf + 11) & 0x00000f0) == MAX_IPM << 4);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿/ä¾å¤çºçæã®ã­ã°åºå
+ */
+extern void     cpu_expevt(VW,VW,VW,VW);
+extern void     cpu_interrupt(VW,VW,VW,VW);
+extern void     no_reg_interrupt(void);
+
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãè¨­å®æã®å¾
+ã¡æéã®è¨­å®
+ *  ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®ãªãã¬ãã·ã¥ã«ã¦ã³ã¿ãä½¿ã
+ */
+#define WAIT_RFCR_FOR_SCI    200
+
+
+#endif /* _MACRO_ONLY_ */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_defs.h	(revision 26)
@@ -0,0 +1,175 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_defs.h,v 1.4 2005/07/27 11:06:36 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼SH3/4ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ * å²è¾¼ã¿/CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ * å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´/åç
+§
+ */
+typedef	UINT		IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm)  throw();
+extern ER	get_ipm(IPM *p_ipm)  throw();
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno)  throw();
+extern ER	ena_int(INTNO intno)  throw();
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifdef _int64_
+typedef	UD  SYSUTIM;	       /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+#else
+typedef	UINT  SYSUTIM;	       /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+#endif
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+asm unsigned int __current_sr(void)
+{
+%
+    stc sr,r0
+}
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+asm void __set_sr(s)
+{
+%reg s
+
+   ldc s,sr
+}
+
+
+
+/*
+ * ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+_current_intmask_()
+{
+    return(__current_sr() & 0x000000f0);
+}
+
+/*
+ *  å
+¨ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+
+Inline void
+_disint_()
+{
+    UW sr;
+    
+    sr = __current_sr();
+	sr |= 0x000000f0;
+    __set_sr(sr);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+_set_intmask_(UW intmask)
+{
+    UW sr;
+    
+    sr=__current_sr();
+    sr = (sr & ~0x000000f0) | intmask;
+    __set_sr(sr);
+}
+
+
+/*
+ * å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC UW _intmask_ = _current_intmask_()
+#define SIL_LOC_INT()   _disint_()
+#define SIL_UNL_INT()   _set_intmask_(_intmask_)
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_insn.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003        by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.4 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼SH3/4ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+#define CPU_BITMAP_SEARCH
+#define bitmap_search(c)          (ffs(c)-1)
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+asm unsigned int
+current_sr(void)
+{
+%
+    stc sr,r0
+}
+
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+asm void
+set_sr(s)
+{
+%reg s
+
+   ldc s,sr
+}
+
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+    set_sr((current_sr() & ~0x000000f0) |  MAX_IPM << 4 );
+}
+
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+    set_sr(current_sr() & ~0x000000f0);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+asm VP
+current_vbr(void)
+{
+%
+    stc  vbr,r0
+}
+
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+asm void
+set_vbr(v)
+{
+%reg v
+
+    ldc v,vbr    
+}
+
+
+#endif /* _CPU_INSN_H_ */
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_support.sh
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_support.sh	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/cpu_support.sh	(revision 26)
@@ -0,0 +1,917 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.sh,v 1.4 2003/12/19 11:48:37 honda Exp $
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <t_config.h>
+ 			
+
+/*GHS ã¢ã»ã³ãã©æ¬ä¼¼å½ä»¤å¤æ*/
+#define	long	data.l
+#define	org	offset
+
+/*GHS ROMã¢ãã¿å²ãè¾¼ã¿ã¨ã³ããªã¼ã¢ãã¬ã¹*/
+#ifdef 	GHS_STUB
+#define	_CpuExceptionHandler	0xa0000848
+#endif
+
+
+/*
+ *  ä¾å¤/å²ãè¾¼ã¿åºå
+¥ãå£å¦çã«ã¼ãã³
+ *  SH3ã¯ãã¯ã¿ãã¼ãã«ãæãããä¾å¤,TRAPAãçºçããã¨VBR+0x100çªå°ãã
+ *  å
+é¨/å¤é¨/NMIå²ãè¾¼ã¿ãçºçããã¨ãVBR+0x600çªå°ãå®è¡ããã
+ */
+        
+/*
+ *	VBR ã«è¨­å®ããå¤
+ */
+    .section .text
+    .align 2        
+    .global _BASE_VBR
+_BASE_VBR:
+     bra _start
+     nop
+     nop
+     nop
+
+/*
+ *  Exception 100 vector
+ *  ã¢ãã¬ã¹ã¨ã©ã¼,ã¹ã­ããä¸å½å½ä»¤ä¾å¤ãTrapaä¾å¤ç­ãçºçããã¨å®è¡ãããã
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããããã®ãããCPUä¾å¤ãã³
+ *  ãã©ãå¼ã³åºãåã«ä¾å¤/å²ãè¾¼ã¿ãç¤ºãã¬ã¸ã¹ã¿ãã³ã¯1ã® r7 ã¬ã¸ã¹ã¿ãã¤ã³
+ *  ã¯ã¡ã³ããããªã¿ã¼ã³ãã¦ããå¾ã«ãã¯ãªã¡ã³ããããCPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­
+ *  ã¹ãã§çºçããregflg ã TRUE ã«ãªã£ãæã«ã ret_exc ã¸åå²ããã
+ *  regflg ããã§ãã¯ããåã«å²ãè¾¼ã¿ãç¦æ­¢ããªãã¨ãreqflg ããã§ãã¯å¾ã«èµ·
+ *  åãããå²ãè¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ããã£ã¹ããã
+ *  ãããªãã
+ *
+ *		
+ *  ä¾å¤ãçºçããã¨ãä¾å¤çºçå
+ã®ã³ã³ãã­ã¹ãã§ããspc,pr,ssr,r0ãr7ãéé¿
+ *  ãããä¾å¤ãçºçããæç¹ã§ã®ã³ã³ãã­ã¹ããèª¿ã¹éã¿ã¹ã¯ã³ã³ãã­ã¹ããªã
+ *  _exception_from_intããå®è¡ãéå§ãããä¾å¤ã®è¦å ã¯EXPEVTã¬ã¸ã¹ã¿èª­ã¿ã
+ *  exc_tableããCPUä¾å¤ãã³ãã©ã®éå§çªå°ãèª­ã¿è¾¼ããçºçããä¾å¤ã«å¯¾ãã¦
+ *  CPUä¾å¤ãã³ãã©ãç»é²ããã¦ããªããã°ã_no_reg_exceptionã«ãã©ã³ããã¦ã
+ *  ssr,sr,spc,prã®å
+å®¹ãåºåãã¦åæ­¢ãããCPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ãã¦
+ *  ããããreqflgãèª¿ã¹0ä»¥å¤ãªãrec_exc()ã«é£ã³ã0ãªãå
+ã®å¦çã«ãªã¿ã¼ã³ã
+ *  ãã
+ *
+ *
+ *  BLãããã®æ±ãã«ã¤ãã¦
+ *  ssr,spc ã«æ»ãå
+ã®ã³ã³ãã­ã¹ããæ»ãã¦ rte ãçºè¡ããéã«ã¯ï¼å²è¾¼ã¿ï¼NMI 
+ *  ãå«ãï¼ãåãä»ããªãããã« BL ãããã1ã«ããå¿
+è¦ãããï¼ä¾å¤/å²è¾¼ã¿ã
+ *  ã³ãã©çµäºæã«ã¯ BL ããããã1ã«ãã IPM ã MAX_IPM ã«è¨­å®ããï¼ããã¯ï¼
+ *  BL ãããã1ã®å ´åã«ä¾å¤ãçºçããã¨ CPU ããªã»ããããããã¨ãèæ
+®ãã¦ï¼
+ *  å®å
+¨ã®ããï¼ssr,spcãå¾©å¸°ããç´åã§BLã1ã«è¨­å®ãã¦ããï¼
+ *       
+ */	
+			
+
+    .org   0x0100              /*  _BASE_VBR + 0x0100çªå°ã«é
+ç½®   */
+    .align 2
+    .global _general_exception
+_general_exception:
+#ifdef GHS_STUB /* GHS */
+	mov.l	r0,@-r15
+	mov.l	r1,@-r15
+	mov.l   _expevt,r0
+	mov.l   @r0,r1     
+	shlr2   r1           
+	shlr    r1
+	mov.l   _exc_table_exc,r0
+	mov.l   @(r0,r1),r0        
+	tst     r0,r0
+	mov.l	@r15+,r1	
+	mov.l	@r15+,r0
+	bt      _rom_exception   /* _rom_exceptionã¸ã¸ã£ã³ã             */
+#endif
+ /* spc,pr,ssr ãã¹ã¿ãã¯ã«ä¿å­ãã */
+    stc.l  spc,@-r15          
+    sts.l  pr,@-r15               
+    stc.l  ssr,@-r15
+    stc.l  gbr,@-r15					
+    sts.l  macl,@-r15					
+    sts.l  mach,@-r15
+    stc.l  r0_bank,@-r15 /* ä¾å¤çºçæã®r0ãr7ãä¿å­        */    
+    stc.l  r1_bank,@-r15
+    stc.l  r2_bank,@-r15
+    stc.l  r3_bank,@-r15
+    stc.l  r4_bank,@-r15
+    stc.l  r5_bank,@-r15
+    stc.l  r6_bank,@-r15    
+    stc.l  r7_bank,@-r15
+    tst    r7,r7               /* ä¾å¤çºçå
+ã®ã³ã³ãã­ã¹ããå¤å®            */
+    bf/s   _exception_from_exc /* çºçå
+ãä¾å¤/å²ãè¾¼ã¿ãã³ãã©ãªãã¸ã£ã³ã */
+     add    #0x01,r7	       /* ä¾å¤/å²ãè¾¼ã¿ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã   */
+    mov    r15,r1              /* æ»ãå
+ãå²ãè¾¼ã¿ãã³ãã©ã§ãªãã®ã§ã¹ã¿ã  */
+    mov.l  _stacktop_exc,r15   /* ã¯ãå
+¥ãæ¿ãå
+ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­    */ 
+    mov.l r1,@-r15            
+#ifdef GHS_HOOK
+	mov.l   r1,@-r15
+	mov.l   r7,@-r15
+	stc     spc,r0
+	mov.l   r0,r5
+	mov.l   _expevt,r0        /* å²ãè¾¼ã¿è¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­    */
+	mov.l   _exception_hook_dis,r2
+	jsr     @r2
+	mov.l   @r0,r4            /* EXPEVTã¬ã¸ã¹ã¿ãåå¾		              */
+	mov.l   @r15+,r7
+	mov.l   @r15+,r1
+#endif
+
+    mov.l  _expevt,r0          /* ä¾å¤ãè¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­      */
+    mov.l  @r0,r5              /* EXPEVTã¬ã¸ã¹ã¿ãåå¾                      */
+    ldc    r1,r4_bank          /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°                   */
+    ldc    r5,r5_bank	     
+    mov.l  _unmak_rb_bl_exc,r2 /* BLãããã0ã«ï¼ã¬ã¸ã¹ã¿ãã³ã¯ãåãæ¿ã   */
+    stc    sr,r3               
+    and    r3,r2			
+    ldc    r2,sr               
+    shlr2  r5                  /* EXPEVTã3ãããå³ã·ãã                   */
+    shlr   r5                
+    mov.l  _exc_table_exc,r0   /* exc_tableã®ã¢ãã¬ã¹ãr0ã«                 */
+    mov.l  @(r0,r5),r2         /* ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾                  */
+    tst    r2,r2               /* ãã³ãã©ãç»é²ããã¦ããªãä¾å¤ãªã        */
+    bt     _no_reg_exception   /* no_reg_exceptionã¸ã¸ã£ã³ã                */
+    jsr    @r2                 /* CPUä¾å¤ãã³ãã©ã¸                         */
+     nop
+    mov.l  _mask_md_ipm_exc,r0
+    ldc    r0,sr               /* å²ãè¾¼ã¿ç¦æ­¢                              */
+    stc    r7_bank,r7          /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã   */
+    dt     r7
+    ldc    r7,r7_bank
+    mov.l  _reqflg_exc,r2      /* reqflgã®ãã§ãã¯                          */
+    mov.l  @r2,r1
+    tst    r1,r1               /* reqflgãFALSEãªãret_to_task_excã«é£ã³    */
+    bt/s   _ret_to_task_exc    /* ã¿ã¹ã¯ã«æ»ã                              */
+     mov.l  @r15,r15           /* æ»ãå
+ãã¿ã¹ã¯ãªã®ã§ã¹ã¿ãã¯ãæ»ã        */
+    xor    r0,r0               
+    bra    ret_exc
+     mov.l  r0,@r2             /* reqflgãã¯ãªã¢                            */
+
+
+/*
+ *   exception_from_int
+ *   CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã®å¦ç
+ *   ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã¨ã®å¦çã®éãã¯ãã¨CPUä¾å¤ãã³ãã©ã®
+ *   å¦çãçµäºããã¨å¿
+ãå
+ã®å¦çã«æ»ããã¨ã§ããã
+ */
+	
+_exception_from_exc:
+#ifdef GHS_HOOK
+	mov.l   r7,@-r15
+	stc     spc,r0
+	mov.l   r0,r5
+	mov.l   _expevt,r0       /* å²ãè¾¼ã¿è¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­    */
+	mov.l   _exception_hook_dis,r2
+	jsr     @r2
+	mov.l   @r0,r4           /* EXPEVTã¬ã¸ã¹ã¿ãåå¾                      */
+	mov.l   @r15+,r7
+	
+#endif
+    mov.l   _expevt,r0        /* ä¾å¤ãè¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­      */
+    mov.l   @r0,r5            /* EXPEVTã¬ã¸ã¹ã¿ãåå¾                      */
+    ldc     r15,r4_bank       /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°                   */
+    ldc     r5,r5_bank	     
+    mov.l   _unmak_rb_bl_exc,r2 /* BLãããã0ã«ï¼ã¬ã¸ã¹ã¿ãã³ã¯ãåãæ¿ã */
+    stc     sr,r3
+    and     r3,r2			
+    ldc     r2,sr               
+    shlr2   r5                /* EXPECTã3ãããå³ã·ãã                   */
+    shlr    r5                	
+    mov.l   _exc_table_exc,r0 /* exc_tableã®ã¢ãã¬ã¹ãr0ã«                 */
+    mov.l   @(r0,r5),r2       /* ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾                  */
+    tst     r2,r2             /* ãã³ãã©ãç»é²ããã¦ããªãä¾å¤ãªã        */
+    bt      _no_reg_exception /* no_reg_exceptionã¸ã¸ã£ã³ã                */
+    jsr     @r2               /* CPUä¾å¤ãã³ãã©ã¸                         */
+     nop
+    mov.l  _mask_md_ipm_exc,r0
+    ldc    r0,sr              /* BL=1,å²ãè¾¼ã¿ç¦æ­¢                         */
+    stc    r7_bank,r7         /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã   */
+    dt     r7
+    ldc    r7,r7_bank
+_ret_to_task_exc:
+    mov.l  @r15+,r7           /* r0ãr1,ssr,pr,spcãå¾©å¸°ãã¿ã¹ã¯ã«æ»ã     */
+    mov.l  @r15+,r6
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1        
+    mov.l  _mask_md_bl_exc,r0 
+    ldc    r0,sr             /* BLã1ã«                                   */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr               
+    ldc.l  @r15+,ssr            
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+
+#ifdef GHS_STUB /* GHS */
+_rom_exception:
+	stc.l	ssr,@-r15
+	stc.l	spc,@-r15
+	mov.l	r0,@-r15
+	mov.l	r1,@-r15
+	mov.l	L._CpuException1,r1
+	jmp	@r1
+	mov	#1,r0
+
+	.align	4
+L._CpuException1:
+	.data.l	_CpuExceptionHandler
+#endif
+
+/*	
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  ä¾å¤ã³ã¼ããä¾å¤ãçºçããæç¹ã®pc,sr,prãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ */					
+_no_reg_exception:
+    mov.l  _expevt,r5
+    mov.l  @r5,r4
+    stc    spc,r5
+    stc    ssr,r6
+    sts    pr,r7
+    mov.l  _cpu_expevt_k,r1
+    jsr    @r1
+     nop
+
+	.align  4
+_stacktop_exc:
+    .long  STACKTOP            /* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  */
+_expevt:	
+    .long  EXPEVT
+_exc_table_exc:	
+    .long  _exc_table
+_unmak_rb_bl_exc:		
+    .long  0x4fffffff
+_mask_md_ipm_exc:	
+    .long  0x40000000 + MAX_IPM << 4	
+_reqflg_exc:
+    .long  _reqflg
+_cpu_expevt_k:	
+    .long  _cpu_expevt	
+_mask_md_bl_exc:	
+    .long  0x50000000 + MAX_IPM << 4	
+
+#ifdef GHS_HOOK
+	.global _exception_hook
+_exception_hook_dis:
+	.long   _exception_hook
+#endif
+
+
+	
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  _dispatch ã¯ãr7_bank1 = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããª
+ *  ãï¼_exit_and_dispatch ãï¼r7_bank1 = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºã
+ *  ã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼r7_bank1 = 1ã§å¼ã³
+ *  åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+
+    .text
+    .align 2
+    .global _dispatch
+_dispatch:
+    sts.l  pr,@-r15         /* pr,r8ãr15 ãã¹ã¿ãã¯ã«ä¿å­           */
+    mov.l  r14,@-r15        /* r0ãr7ã¯å¼ã³åºãå
+ã§ä¿å­ãã¦ãããã  */    
+    mov.l  r13,@-r15        /* ä¿å­ããå¿
+è¦ãç¡ã                    */    
+    mov.l  r12,@-r15
+    mov.l  r11,@-r15
+    mov.l  r10,@-r15
+    mov.l  r9, @-r15
+    mov.l  r8, @-r15
+    mov.l  _runtsk_dis,r2   /* r0 <- runtsk                          */
+    mov.l  @r2,r0
+    mov.l  r15,@(TCB_sp,r0) /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ 60ä»¥ä¸ãªãOK*/		
+    mov.l  dispatch_r_k,r1  /* å®è¡åéçªå°ãä¿å­                    */
+    mov.l  r1,@(TCB_pc,r0)  /* å®è¡åéçªå°ãTCBã«ä¿å­  60ä»¥ä¸ãªãOK */
+    bra    dispatcher
+     nop
+
+dispatch_r:	
+    mov.l  @r15+,r8         /* ã¬ã¸ã¹ã¿ãå¾©å¸°                       */
+    mov.l  @r15+,r9
+    mov.l  @r15+,r10
+    mov.l  @r15+,r11
+    mov.l  @r15+,r12
+    mov.l  @r15+,r13
+    mov.l  @r15+,r14
+    lds.l  @r15+,pr
+    /*
+     *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+     *  dispatch_rã¯dispatcherããå¼ã³åºãããããï¼
+     *  tcbã®ã¢ãã¬ã¹ã¯r0ã«å
+¥ã£ã¦ããï¼      
+     */
+    mov.l  @(TCB_enatex,r0),r1
+    mov.l  _enatex_mask_dis,r2
+    tst    r1,r2
+    bt     dispatch_r_1         /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+    mov.l  @(TCB_texptn,r0),r1  /* texptnãã­ã¼ã               */
+    tst    r1,r1
+    bt     dispatch_r_1         /* texptn ã 0ã§ç¡ããã°        */
+    mov.l  _call_texrtn_dis,r1  /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+    jmp    @r1        
+     nop                          
+dispatch_r_1:   
+    rts
+     nop                
+
+    .global _exit_and_dispatch
+_exit_and_dispatch:
+    xor    r1,r1                 /* r7_bank1ã0ã¯ãªã¢             */
+    ldc    r1,r7_bank
+dispatcher:
+    /*
+     * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+     */
+    mov.l  _schedtsk_dis,r12    /* r0 <- schedtsk                   */
+    mov.l  @r12,r0             
+    cmp/eq #0,r0                /* schedtsk ããããï¼              */
+    bt     dispatcher_1         /* ç¡ããã°ã¸ã£ã³ã                 */
+#ifdef GHS_HOOK 
+	mov.l   _dispatch_hook_dis,r2
+	jsr     @r2
+	mov     r0,r4
+	mov.l   @r12,r0
+#endif
+
+    mov.l  _runtsk_dis,r2
+    mov.l  r0,@r2               /* schedtskãruntskã«               */
+    mov.l  @(TCB_sp,r0),r15     /* TCBããã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸°      */
+    mov.l  @(TCB_pc,r0),r1      /* TCBããå®è¡åéçªå°ãå¾©å¸°        */
+    jmp    @r1 
+     nop
+dispatcher_1:
+    /* ã¤ããã£ã¨ã¤ãå¤ãæ¯åèª­ã¿è¾¼ãã®ã¯å¹çãæªãã®ã§äºåã«ç¨æãã
+     * r8  : å²ãè¾¼ã¿ç¦æ­¢ã®ããã®SRã®å¤   
+     * r9  : å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤
+     * r10 : reqflgã®çªå°
+     * r11 : 0x01
+     * r12 : 0x00
+     * r13 : sleepä¸­ã®SRã®ç¶æ
+       
+     */
+    mov.l  _mask_md_ipm_dis,r8  /* å²ãè¾¼ã¿ç¦æ­¢ã®SRã®å¤             */
+#ifdef NO_SLEEP
+    mov.l  _mask_md_dis,r9      /* å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤           */        
+#else
+    mov.l  _mask_bl_md_dis,r9   /* å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤           */
+#endif                          
+#ifdef SUPPORT_CHG_IPM
+    mov.l  _task_intmask_k,r2
+    mov.l  @r2,r3
+    or     r3,r9
+#endif
+    mov.l  _reqflg_dis,r10
+    mov    #0x01,r11
+    xor    r12,r12
+    mov.l  _stacktop_dis,r15   /* ã¹ã¿ãã¯ãå²ãè¾¼ã¿ã¹ã¿ãã¯ã«     */
+    ldc    r11,r7_bank         /* r7_bank1 ã1ã«ãã¦å²ãè¾¼ã¿ç¶æ
+ã« */        
+dispatcher_2:        
+    /*
+     *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+     *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+     *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+     */
+     /*
+      *  å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ããã¨ï¼å²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡åã«
+      *  å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼å²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ã
+      *  åãä»ããããã®å¾©å¸°å¾ã«ï¼reqflgã®ãã§ãã¯ã§ã¯ãªã sleep ç¶æ
+
+      *  ã«å
+¥ã£ã¦ãã¾ãï¼
+      *  ãã®åé¡ã¯ï¼å²è¾¼ã¿ã®è¨±å¯ã¨ sleep ç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®
+      *  è¡ã§ããªããã¨ã«èµ·å ããï¼
+      *  ãã®ããï¼sleep å®è¡ç´åã® SR å¤æ´ã§ã¯ BL ãããã'1'ã«è¨­å®ã
+      *  ããã¨ã§ï¼å²è¾¼ã¿ã®è¨±å¯ã¨ sleep ç¶æ
+ã¸ã®ä»¥éãã¢ãããã¯ã«å®è¡
+      *  ããï¼
+      *  ldc r9,sr ã§ã¯BLããããã»ãããããããï¼å²è¾¼ã¿ã¯åãä»ããã¹
+      *  ãªã¼ãã¢ã¼ãã«ç§»è¡ããï¼ã¹ãªã¼ãã¢ã¼ãä¸­ã¯ï¼BLãããã1ã§ãå²
+      *  è¾¼ã¿ãåãä»ãããã(SH7709ãã¼ãã¦ã§ã¢ããã¥ã¢ã« 8-10)ï¼ã¹ãªã¼
+      *  ãã¢ã¼ãã¸ã®ç§»è¡ç´å¾ã«å²è¾¼ã¿ãåä»ã¹ãªã¼ãã¢ã¼ãããå¾©å¸°ããï¼
+      */
+               
+    ldc    r9,sr               /* å²ãè¾¼ã¿ã®è¨±å¯                   */
+#ifndef NO_SLEEP
+    sleep                      /* å²è¾¼ã¿å¾
+ã¡                       */
+#endif /* NO_SLEEP */                
+    ldc    r8,sr               /* å²ãè¾¼ã¿ç¦æ­¢                     */  
+    mov.l  @r10,r7             /* r7 <- reqflg                     */
+    tst    r7,r7               /* reqflg ã FALSEãªã              */
+    bt     dispatcher_2        /* dispatcher_2 ã¸                  */
+    ldc    r12,r7_bank         /* r7_bank1 ãã¯ãªã¢                */        
+    mov.l  r12,@r10            /* reqflg ã FALSEã«                */
+    bra    dispatcher
+     nop	
+    .align 4
+_runtsk_dis:	
+    .long _runtsk
+_schedtsk_dis:	
+    .long _schedtsk
+_enatex_mask_dis:    
+    .long TCB_enatex_mask
+_call_texrtn_dis:	
+    .long _call_texrtn
+_mask_md_ipm_dis:	
+    .long 0x40000000 + MAX_IPM << 4
+_mask_md_dis:	
+    .long 0x40000000
+_mask_bl_md_dis:	
+    .long 0x50000000	        
+dispatch_r_k:	
+    .long dispatch_r
+_stacktop_dis:
+    .long STACKTOP           /* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤	*/
+_reqflg_dis:
+    .long  _reqflg
+#ifdef GHS_HOOK
+	.global _dispatch_hook
+_dispatch_hook_dis:
+	.long   _dispatch_hook
+#endif
+
+
+/* 
+ *  å²ãè¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * r7_bank1 = 0,å²ãè¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã
+ * ç¶æ
+ã§å¼ã³åºããã¨ã 
+ *	
+ */
+    .text
+    .align 2
+    .globl ret_int
+    .globl ret_exc
+ret_exc:
+ret_int:
+    mov.l  _runtsk_ret,r1     /* r0 <- runtsk                  */
+    mov.l  @r1,r0           
+    mov.l  _enadsp_ret,r2     /* enadspã®ãã§ãã¯              */
+    mov.l  @r2,r3
+    tst    r3,r3           
+    bt     ret_int_1           
+    mov.l  _schedtsk_ret,r4   /* r5 <- schedtsk                */ 
+    mov.l  @r4,r5
+    cmp/eq r0,r5              /* runtsk ã¨ schedtsk ãæ¯è¼     */
+    bt     ret_int_1
+    mov.l  r14,@-r15          /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­          */
+    mov.l  r13,@-r15					
+    mov.l  r12,@-r15					
+    mov.l  r11,@-r15					
+    mov.l  r10,@-r15					
+    mov.l  r9,@-r15					
+    mov.l  r8,@-r15
+    mov    #TCB_sp,r1        /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­           */
+    mov.l  r15,@(r0,r1)    
+    mov.l  ret_int_r_k,r1    /* å®è¡åéçªå°ãä¿å­             */
+    mov    #TCB_pc,r2	
+    mov.l  r1,@(r0,r2)  
+    bra    dispatcher
+     nop
+    
+ret_int_r:
+    mov.l  @r15+,r8		
+    mov.l  @r15+,r9		
+    mov.l  @r15+,r10		
+    mov.l  @r15+,r11		
+    mov.l  @r15+,r12		
+    mov.l  @r15+,r13		
+    mov.l  @r15+,r14		
+ret_int_1:
+    /*
+     *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+     *  ret_int_r ã¯ dispatcher ããå¼ã³åºãããããï¼tcbã®ã¢ãã¬ã¹ã¯r0ã«
+     *  å
+¥ã£ã¦ããï¼
+     *  ãªãï¼å²è¾¼ã¿ã®åºå£ã§ã¿ã¹ã¯ã¹ã¤ãããçºçããªãå ´åã¯ãã£ã¹ãããã£
+     *  ãéããã« ret_int ããç´æ¥ ret_int_1 ã«é£ã¶       
+     */
+    mov.l  @(TCB_enatex,r0),r1
+    mov.l  _enatex_mask_ret,r2
+    tst    r1,r2
+    bt     ret_int_2            /* enatex ã FALSE ãªããªã¿ã¼ã³  */
+    mov.l  @(TCB_texptn,r0),r1  /* texptnãã­ã¼ã                */
+    tst    r1,r1
+    bt     ret_int_2            /* texptn ã 0ã§ç¡ããã°T<= 0    */
+    mov.l _call_texrtn_ret,r1   /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã  */
+    jsr   @r1        
+     nop       
+ret_int_2:               
+#ifdef SUPPORT_CHG_IPM
+    mov    #32,r0
+    mov.l  @(r0,r15),r1
+    mov.l  _unmask_ipm,r2
+    and    r2,r1
+    mov.l  _task_intmask_k,r2
+    mov.l  @r2,r3
+    or     r3,r1
+    mov.l  r1,@(r0,r15)
+#endif /* SUPPORT_CHG_IMP */
+    mov.l  @r15+,r7            /* spc,pr,ssr,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+    mov.l  @r15+,r6        
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1
+    mov.l  _mask_md_bl_ret,r0
+    ldc    r0,sr               /* BLã1ã«                               */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr       
+    ldc.l  @r15+,ssr    
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+        
+    .align 4
+_runtsk_ret:
+    .long _runtsk
+_schedtsk_ret:	
+    .long _schedtsk
+_enadsp_ret:	
+    .long _enadsp
+ret_int_r_k:
+    .long ret_int_r
+_enatex_mask_ret:    
+    .long TCB_enatex_mask        
+_call_texrtn_ret:	
+    .long _call_texrtn
+_mask_md_bl_ret:	
+    .long  0x50000000
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ */ 
+    .text
+    .align 2
+    .globl _activate_r
+_activate_r:
+    stc    sr,r0               /* å²ãè¾¼ã¿è¨±å¯ */
+    mov.l  _unmask_ipm,r1
+    and    r1,r0	
+#ifdef SUPPORT_CHG_IPM
+    mov.l  _task_intmask_k,r1
+    mov.l  @r1,r2
+    or     r2,r0
+#endif /* SUPPORT_CHG_IPM */
+    ldc    r0,sr
+    mov.l  @r15+,r1
+    lds.l  @r15+,pr
+    mov.l  @r15+,r4
+    jmp    @r1
+     nop
+    .align 4
+_unmask_ipm:
+    .long  0xffffff0f
+#ifdef SUPPORT_CHG_IPM		
+_task_intmask_k:
+    .long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+		
+		
+/*
+ *  Exception 600 vector
+ *  å²ãè¾¼ã¿ãçºçããã¨å®è¡ãããã		
+ *
+ *
+ *  SH3ã¯å²ãè¾¼ã¿ãçºçããã¨ãã¹ã¦VBR+0x600çªå°ãããã­ã°ã©ã ãå®è¡ããããã
+ *  ããã«é
+ç½®ããã«ã¼ãã³ã§ã¾ãã¹ã¿ãã¯ã®åãæ¿ããã¬ã¸ã¹ã¿ã®ä¿å­,IPMã®è¨­å®,
+ *  å²ãè¾¼ã¿è¦å ã®å¤å®ãè¡ããã®å¾BLãããã0ã«ãã¦å²ãè¾¼ã¿ãã³ãã©ãå¼ã¶å¿
+è¦
+ *  ãããã
+ *  å²ãè¾¼ã¿è¦å ã«å¯¾å¿ããå²ãè¾¼ã¿ãã³ãã©ã®éå§çªå°ã¯é
+åint_table[]ã«ç»é²ã
+ *  ã¦å¼ã³åºãããªãã»ããã®è¨ç®ã¯ãå²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ãå³ã«2ãããã·ããã
+ *  ã¦è¡ããå²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ã¯SH7708ã§ã¯INTEVTã¬ã¸ã¹ã¿ã«ã»ããããããã
+ *  SH7709ããã³SH7709Aã§ã¯INTEVT2ã«ã»ããããããããifdefã«ããåãåãã¦ã
+ *  ããã¾ããä¸é¨ã®ãã£ãã¤ã¹ã«ã¤ãã¦å²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ã§æ¸¡ãããå¤ã¨IPMã¨
+ *  ã®éã«ã¯é¢ä¿ããªããããåå²ãè¾¼ã¿è¦å ã«å¯¾å¿ããIPMãæã¤SRã®å
+å®¹ãé
+å
+ *  int_plevel_table[]ã«ç»é²ãã¦ãããèª­ã¿åºãã
+ *
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ *
+ */
+
+    .org    0x0600        /* _BASE_VBR + 0x0600çªå°ã«é
+ç½® */
+    .align 2
+    .global _interrupt
+_interrupt:    
+#ifdef GHS_STUB
+	mov.l	r0,@-r15
+	mov.l	r1,@-r15
+	mov.l   _intevt,r0 
+	mov.l   @r0,r1     
+	shlr2   r1           
+	shlr    r1
+/*	mov.l   _int_table_k,r0
+	mov.l   @(r0,r1),r0
+*/	
+	mov.l	@r15+,r1
+	mov.l	@r15+,r0
+	bt      _rom_interrupt   
+#endif
+    stc.l  spc,@-r15       /* å¤éå²ãè¾¼ã¿ãå
+¥ãã¨æ¶ãã¦ãã¾ãã®ã§        */
+    sts.l  pr,@-r15        /* spc,pr,ssr,gbr,macl,mach                    */
+    stc.l  ssr,@-r15    
+    stc.l  gbr,@-r15                    
+    sts.l  macl,@-r15                    
+    sts.l  mach,@-r15                                                    
+    stc.l  r0_bank,@-r15   /* ,r0ãr7ãã¹ã¿ãã¯ã«ä¿å­   */ 
+    stc.l  r1_bank,@-r15
+    stc.l  r2_bank,@-r15
+    stc.l  r3_bank,@-r15
+    stc.l  r4_bank,@-r15
+    stc.l  r5_bank,@-r15
+    stc.l  r6_bank,@-r15    
+    stc.l  r7_bank,@-r15
+    tst    r7,r7                 /* å²ãè¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å®  */  
+    bf/s    _interrupt_from_int  /* ä¾å¤/å²ãè¾¼ã¿ãã³ãã©ãªãã¸ã£ã³ã   */
+     add    #0x01,r7             /* å²ãè¾¼ã¿ã®ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã*/
+    mov    r15,r1                /* ã¹ã¿ãã¯ãå
+¥ãæ¿ãå
+ã®ã¹ã¿ãã¯ãã¤  */
+    mov.l  _stacktop_k,r15       /* ã³ã¿ãä¿å­                          */
+    mov.l  r1,@-r15            
+#ifdef GHS_HOOK
+	mov.l   r7,@-r15
+	stc     spc,r0
+	mov.l   r0,r5
+	mov.l   _intevt,r0          /* ä¾å¤è¦å ã¬ã¸ã¹ã¿ãåå¾              */
+	mov.l   _interrupt_hook_dis,r2
+	jsr     @r2
+	mov.l   @r0,r4              
+	mov.l   @r15+,r7
+#endif
+    mov.l  _intevt,r0            /* ä¾å¤è¦å ã¬ã¸ã¹ã¿ãåå¾              */
+    mov.l  @r0,r4              
+    shlr2  r4                    /* 3ãããå³ã·ããããªãã»ãããæ±ãã */
+    shlr   r4                  
+    mov.l  _int_plevel_table_k,r0 
+    mov.l  @(r0,r4),r5           /* å²ãè¾¼ã¿ã®åªå
+åº¦ãåå¾               */
+    mov.l  _int_table_k,r0    
+    mov.l  @(r0,r4),r2           /* å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾    */
+    ldc    r2,r2_bank            /* ãã³ã¯0ã«åãæ¿ããããã³ãã¼       */    
+    ldc    r5,sr                 /* ããä»¥éå²ãè¾¼ã¿ãåãä»ããã      */
+    jsr    @r2                   /* å²ãè¾¼ã¿ãã³ãã©ã¸                  */
+     nop
+    mov.l  _mask_md_ipm_ret,r0
+    ldc    r0,sr                 /* å²ãè¾¼ã¿ç¦æ­¢                           */
+    stc    r7_bank,r7            /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã*/
+    dt     r7
+    ldc    r7,r7_bank
+    mov.l  _reqflg_k,r4          /* reqflgã®ãã§ãã¯                       */
+    mov.l  @r4,r1
+    tst    r1,r1                 /* reqflgãFALSEãªãret_to_task_intã«é£ã¶ */
+    bt/s   _ret_to_task_int      /* ã¿ã¹ã¯ã«æ»ã                           */
+     mov.l  @r15,r15             /* æ»ãå
+ãã¿ã¹ã¯ãªã®ã§ã¹ã¿ãã¯ãæ»ã     */
+    xor    r0,r0
+    bra    ret_int
+     mov.l  r0,@r4               /* reqflgãã¯ãªã¢                   */
+_interrupt_from_int:
+#ifdef GHS_HOOK
+	mov.l   r7,@-r15
+	stc     spc,r0
+	mov.l   r0,r5
+	mov.l   _intevt,r0             /* ä¾å¤è¦å INTEVT2ã¬ã¸ã¹ã¿ãåå¾    */
+	mov.l   _interrupt_hook_dis,r2
+	jsr     @r2
+	mov.l   @r0,r4
+	mov.l   @r15+,r7
+#endif
+    mov.l   _intevt,r0           /* ä¾å¤è¦å ã¬ã¸ã¹ã¿ãåå¾           */
+    mov.l   @r0,r4
+    shlr2   r4                   /* ãªãã»ãããæ±ãã               */
+    shlr    r4                   /* ãªãã»ãããæ±ãã               */    
+    mov.l   _int_plevel_table_k,r0 
+    mov.l   @(r0,r4),r5            /* å²ãè¾¼ã¿ã®åªå
+åº¦ãåå¾           */
+    mov.l   _int_table_k,r0        
+    mov.l   @(r0,r4),r2            /* å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾ */
+    ldc     r2,r2_bank             /* ãã³ã¯0ã«åãæ¿ããããã³ãã¼    */
+    ldc     r5,sr                  /* ããä»¥éå²ãè¾¼ã¿ãåãä»ããã   */
+    jsr     @r2                    /* å²ãè¾¼ã¿ãã³ãã©ã¸               */ 
+     nop
+    mov.l  _mask_md_ipm_ret,r0
+    ldc    r0,sr                   /* å²ãè¾¼ã¿ç¦æ­¢                     */
+    stc    r7_bank,r7              /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã*/
+    dt     r7
+    ldc    r7,r7_bank
+_ret_to_task_int:
+    mov.l  @r15+,r7                /* å²ãè¾¼ã¿å
+ã«æ»ã                 */
+    mov.l  @r15+,r6
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1
+    mov.l  _mask_md_bl_int,r0 
+    ldc    r0,sr                   /* BL ã1ã«                         */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr                       
+    ldc.l  @r15+,ssr
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+#ifdef GHS_STUB
+_rom_interrupt:
+	stc.l	ssr,@-r15
+	stc.l	spc,@-r15
+	mov.l	r0,@-r15
+	mov.l	r1,@-r15
+	mov.l	L._CpuException6,r1
+	jmp	@r1
+	mov	#6,r0
+
+	.align	4
+L._CpuException6:
+	.data.l	_CpuExceptionHandler
+#endif
+    /*
+     * æªç»é²ã®å²è¾¼ã¿ãçºçããã¨ï¼ãã®æã® INTEVT,INTEVT2,SR,PC ã
+     * å¼æ°ã«cpu_interrupt()ãå¼ã³åºãï¼
+     */   
+    .global _no_reg_interrupt
+_no_reg_interrupt:
+    mov.l _intevt1,r0
+    mov.l @r0,r4
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+    mov.l _intevt2,r0    
+    mov.l @r0,r5
+#endif 
+    stc   spc,r6
+    stc   ssr,r7
+    mov.l _cpu_interrupt_k,r1
+    jsr   @r1
+     nop
+    .align  4
+_stacktop_k:
+    .long  STACKTOP            /* éã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  */
+_intevt:        
+#if defined(SH7708) || defined(SH7750)    
+    .long  INTEVT
+#else
+    .long  INTEVT2
+#endif    
+_int_table_k:    
+    .long    _int_table       
+_int_plevel_table_k:    
+    .long    _int_plevel_table 
+_reqflg_k:
+    .long  _reqflg
+_mask_md_ipm_ret:    
+    .long  0x40000000 + MAX_IPM << 4
+_mask_md_bl_int:    
+    .long  0x50000000
+_intevt1:        
+    .long  INTEVT
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+_intevt2:        
+    .long  INTEVT2
+#endif 
+_cpu_interrupt_k:
+    .long  _cpu_interrupt   
+#ifdef GHS_HOOK
+_interrupt_hook_dis:
+	.long   _exception_hook
+#endif
+
+   
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+    mov.l  _sil_dly_tim1, r1
+    add    r1, r4
+    cmp/pl r4
+    bt     _sil_dly_nse1
+    rts
+     nop
+_sil_dly_nse1:            
+    mov.l  _sil_dly_tim2, r1
+    add    r1, r4
+    cmp/pl r4
+    bt     _sil_dly_nse1
+    rts
+     nop   
+    .align 4
+_sil_dly_tim1:
+    .long  -SIL_DLY_TIM1    
+_sil_dly_tim2:                         
+    .long  -SIL_DLY_TIM2
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/ms7727cp01.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/ms7727cp01.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/ms7727cp01.bld	(revision 26)
@@ -0,0 +1,25 @@
+#!build
+default:
+	subproject
+	:sourcedirs=./
+	:sourcedirs=../sh3/ms7727cp01
+hw_serial.h
+	include_file
+st16c2550.h
+	include_file
+sys_defs.h
+	include_file
+sys_unrename.h
+	include_file
+ms7727cp01.h
+	include_file
+	:sourcedirs=./
+	:sourcedirs=../../sh3/ms7727cp01
+sys_config.h
+	include_file
+sys_rename.h
+	include_file
+st16c2550.c
+	C
+sys_config.c
+	C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_config.c	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2003/12/19 11:48:37 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include <ms7727cp01.h>
+#include <st16c2550.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+    /* PINT7 Hightã¬ãã«ã§åä» */
+    sil_wrh_mem((VP)ICR2,
+                (sil_reh_mem((VP)ICR2) | ICR2_PINT7S));
+
+    /* PINT6 Hightã¬ãã«ã§åä» */
+    sil_wrh_mem((VP)ICR2,
+                (sil_reh_mem((VP)ICR2) | ICR2_PINT6S));    
+    
+    /*
+     * ã³ã³ã½ã¼ã«ç¨ã®ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®åæå
+     */
+    st16c2550_init();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    kernel_abort();
+}
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+
+#ifdef MULTI_IO
+#include <stdio.h>
+#define SYS_PUT_CHAR(c) putchar(c)
+#else 
+#define SYS_PUT_CHAR(c) st16c2550_pol_putc(c,LOGTASK_PORTID)
+#endif /* GDB_STUB */
+
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        SYS_PUT_CHAR('\r');
+    }
+    SYS_PUT_CHAR(c);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/ms7727cp01/sys_defs.h	(revision 26)
@@ -0,0 +1,189 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by  Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2003/12/19 11:48:37 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MS7717CP01ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MS7727CP01(SH7727 T-Engine)"
+
+/*
+ * ãã­ã»ããµã®ç¨®é¡(DSPã«ã¯å¯¾å¿ãã¦ããªã)
+ */
+#define SH3
+#define SH7727
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x8c000000 - 0x8c000000 ãã¯ã¿ãã¼ãã«
+ *      0x8c000500 - 0x8c001fff T-Monitorä½¿ç¨é å
+ *      0x8c002000 - 0x8cffffff ã³ã¼ãé å(1MB)
+ *      0x8c100000 -            ãã¼ã¿é å(3MB)
+ *                 - 0x8c3fffff ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *                 - 0x8e000000 ã¡ã¢ãªçµäº
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#define STACKTOP   0x8c400000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define KTIM_INT_LV   4
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ msec åä½ã¨ã®å¤æ
+ *  MS7727CP01ã§ã¯ãPã¯ã­ãã¯ã24MHz
+ *  åå¨æ¯ /4,/16,/64/256 ã®ãããããé¸æ
+ *  /4:  6Mhz     tick 6000   0.16 Î¼sec
+ *  /16: 1.5Mhz   tick 1500   0.6 Î¼sec
+ *  /64: 0.375Mhz tick 375    2.6 Î¼sec
+ *  /256:0.097Mhz tick 97     10 Î¼sec
+ *
+ *  /16 ãé¸æ
+ *  TMUã®ã¯ã­ãã¯ã®ä¸éã¯2Mhz
+ */
+
+#define TCR0_TPSC  0x0001
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK     1600
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 90
+#define	SIL_DLY_TIM2	 50
+
+
+#ifndef _MACRO_ONLY
+
+asm void ___set_sr(s)
+{
+%reg s
+
+   ldc s,sr
+}
+
+
+
+Inline void
+kernel_abort()
+{
+    UW sr = 0x10000000;
+    
+    /*
+     * å¼·å¶çã«ãªã»ãããçºçããã
+     */
+    /*
+     * BLããããç«ã¦ã
+     */
+    ___set_sr(sr);
+    /*
+     * æ¸è¾¼ã¿ä¾å¤
+     */
+    *((volatile int *) 0xFFFFFEC1) = 0;
+}
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_DEFS_H_ */
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/offset.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/offset.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/offset.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated by genoffset. */
+
+#define TCB_sp	24
+#define TCB_pc	28
+#define TCB_enatex	12
+#define TCB_texptn	16
+#ifdef __LittleEndian
+#define TCB_enatex_mask 0x40000
+#else
+#define TCB_enatex_mask 0x2000
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_ms7727-ghs.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_ms7727-ghs.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_ms7727-ghs.bld	(revision 26)
@@ -0,0 +1,35 @@
+#!build
+default:
+	subproject
+	:sourcedirs=./ms7727cp01
+	:sourcedirs=../sh3
+	:sourcedirs=../sh3/ms7727cp01
+	:defines=LABEL_ASM
+cpu_config.h
+	include_file
+cpu_defs.h
+	include_file
+cpu_insn.h
+	include_file
+cpu_context.h
+	include_file
+cpu_rename.h
+	include_file
+cpu_unrename.h
+	include_file
+hw_timer.h
+	include_file
+sh3.h
+	include_file
+tool_defs.h
+	include_file
+tool_config.h
+	include_file
+cpu_support.sh
+	assembly
+start.sh
+	assembly
+cpu_config.c
+	C
+ms7727cp01.bld
+	subproject
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_solution-ghs.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_solution-ghs.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/sh3_solution-ghs.bld	(revision 26)
@@ -0,0 +1,34 @@
+#!build
+default:
+	subproject
+	:sourcedirs=../sh3
+	:sourcedirs=./solution_engine
+	:defines=GHS_STUB
+cpu_config.h
+	include_file
+cpu_defs.h
+	include_file
+cpu_insn.h
+	include_file
+cpu_context.h
+	include_file
+cpu_rename.h
+	include_file
+cpu_unrename.h
+	include_file
+hw_timer.h
+	include_file
+sh3.h
+	include_file
+tool_defs.h
+	include_file
+tool_config.h
+	include_file
+start.sh
+	assembly
+cpu_support.sh
+	assembly
+cpu_config.c
+	C
+solution.bld
+	subproject
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.c	(revision 26)
@@ -0,0 +1,423 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003  by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fdc37c935a.c,v 1.4 2003/12/24 08:00:42 honda Exp $
+ */
+
+/*
+ * ã¹ã¼ãI/O FDC37C935A ç¨ãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "fdc37c935a.h"
+
+/*
+ *  åæå
+ */
+void
+smsc_init(void)
+{
+    /*
+     * Enter Config mode 
+     */
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0x55 << 8));
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0x55 << 8));
+
+    /*
+     * Init SCI0
+     */
+    /* Power on */
+    smsc_config_write(0x22, (smsc_config_read(0x22) | 0x10));
+    /* Select SCI0 */
+    smsc_config_write(0x07, 0x04);
+    /* Enable SCI0 */
+    smsc_config_write(0x30, 0x01);
+    /* Set SCI0 Base Address */
+    smsc_config_write(0x60, (SMSC_SCI0_BASE_ADDR & 0xff00) >> 8);
+    smsc_config_write(0x61, (SMSC_SCI0_BASE_ADDR & 0xff));    
+    /* IRQ4 */
+    smsc_config_write(0x70, 0x04);
+    
+
+    /*
+     *  Exit Config mode
+     */
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0xAA << 8));
+}
+
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+    char dummy;
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+struct sio_port_control_block {
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;           /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;           /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;           /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;           /* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP]= {{0}};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+smsc_sci0_getready(SIOPCB *siopcb)
+{
+    return(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x01) != 0);
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+smsc_sci0_putready(SIOPCB *siopcb)
+{
+	return(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x60) != 0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline char
+smsc_sci0_getchar(SIOPCB *siopcb)
+{
+    return (sil_reh_mem((VP)SMSC_SCI0_RBR) >> 8);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+smsc_sci0_putchar(SIOPCB *siopcb, char c)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_THR, c << 8);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+smsc_sci0_enable_send(SIOPCB *siopcb)
+{
+
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x02) << 8));   
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+smsc_sci0_disable_send(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x02) << 8));   
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+smsc_sci0_enable_rcv(SIOPCB *siopcb)
+{
+
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x01) << 8));   
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+smsc_sci0_disable_rcv(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x01) << 8));   
+}
+
+
+
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+smsc_sci0_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ã«ã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ *  å²è¾¼ã¿ä»¥å¤ã®åæå
+ */
+void
+fdc37c935a_init(void)
+{
+    volatile UH dummy;
+    
+    /* BIT7 = 1 */
+    sil_wrh_mem((VP)SMSC_SCI0_LCR, 0x83 << 8);
+
+    /* Set BPS */
+    sil_wrh_mem((VP)SMSC_SCI0_DLL, ((SMSC_SCI0_BPS & 0x00ff) << 8));   
+    sil_wrh_mem((VP)SMSC_SCI0_DLM, ((SMSC_SCI0_BPS >> 8) << 8));
+
+    /* BIT7 = 0 Divisor Latch BIT6 = 0 No Break : BIT3 = 0 NoParity
+       : BIT2 = 0 1Stopbit : BIT1,0 = {1.1} 8bitData */    
+    sil_wrh_mem((VP)SMSC_SCI0_LCR, 0x03 << 8);
+
+    /* Do not use FIFO */
+    sil_wrh_mem((VP)SMSC_SCI0_FCR, 0x0000);
+
+    /* Clear Status */
+    dummy = sil_reh_mem((VP)SMSC_SCI0_RBR);
+    dummy = sil_reh_mem((VP)SMSC_SCI0_LSR);    
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+smsc_sci0_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+smsc_sci0_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    fdc37c935a_init();
+        
+    /* Enable Receive Data Interrupt */
+    sil_wrh_mem((VP)SMSC_SCI0_IER, (0x01 << 8));
+    sil_wrh_mem((VP)SMSC_SCI0_MCR, 0x08 << 8);
+
+    /*
+     * MS7729RSE01ã§ã¯ï¼ä¸åº¦éä¿¡å²è¾¼ã¿ãçºçããã¦ãããªãã¨å²è¾¼ã¿
+     * ã¬ãã«16ã®å²è¾¼ã¿ãçºçãã¦ãã¾ãæ­£ããåä½ããªãï¼
+     */
+    /* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x02) << 8));   
+    /* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */        
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x02) << 8));   
+
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+smsc_sci0_cls_por(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER, 0x00);      /* å²è¾¼ã¿ã®ç¦æ­¢ */
+    siopcb->openflag = FALSE;
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+void
+fdc37c935a_pol_putc(char c)
+{
+    while(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x60) == 0)
+        ;
+
+    sil_wrh_mem((VP)SMSC_SCI0_THR, c << 8);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+smsc_sci0_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (smsc_sci0_putready(siopcb)){
+        smsc_sci0_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+smsc_sci0_rcv_chr(SIOPCB *siopcb)
+{
+    if (smsc_sci0_getready(siopcb)) {
+        return((INT)(UB) smsc_sci0_getchar(siopcb));
+    }
+    return(-1);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+smsc_sci0_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            smsc_sci0_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            smsc_sci0_enable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+smsc_sci0_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            smsc_sci0_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            smsc_sci0_disable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+smsc_sci0_isr_siop(SIOPCB *siopcb)
+{
+    if (smsc_sci0_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        smsc_sci0_ierdy_rcv(siopcb->exinf);
+    }
+    if (smsc_sci0_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        smsc_sci0_ierdy_snd(siopcb->exinf);
+    }
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+smsc_sci0_isr()
+{
+    smsc_sci0_isr_siop(&(siopcb_table[0]));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/fdc37c935a.h	(revision 26)
@@ -0,0 +1,211 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fdc37c935a.h,v 1.1 2003/12/24 06:51:28 honda Exp $
+ */
+
+/*
+ * ã¹ã¼ãI/O FDC37C935A ç¨ãã©ã¤ã
+ */
+#ifndef _FDC37C935A_H_
+#define _FDC37C935A_H_
+
+#include <t_config.h>
+
+/*
+ * ãã¼ã¹ã¢ãã¬ã¹ 
+ */
+//#define SMSC_BASE_ADDR 0xB0400000
+
+#define SMSC_CONFIG_PORT (SMSC_BASE_ADDR + 0x7E0)  /* H */
+#define SMSC_INDEX_PORT  (SMSC_BASE_ADDR + 0x7E0)  /* H */
+#define SMSC_DATA_PORT   (SMSC_BASE_ADDR + 0x7E2)  /* H */
+
+
+#ifndef _MACRO_ONLY
+
+Inline void
+smsc_config_write(UH index, UH data)
+{
+    sil_wrh_mem((VP)SMSC_INDEX_PORT, (index << 8));
+    sil_wrh_mem((VP)SMSC_DATA_PORT, (data << 8));
+}
+
+Inline UH
+smsc_config_read(UH index)
+{
+    sil_wrh_mem((VP)SMSC_INDEX_PORT, (index << 8));
+    return(sil_reh_mem((VP)SMSC_DATA_PORT) >> 8);
+}
+
+/*
+ *  åæå
+ */
+extern void smsc_init(void);
+
+
+
+#endif /*  _MACRO_ONLY */
+
+
+/*
+ * SCI0
+ */
+#define SMSC_SCI0_BASE_ADDR  0x03f8
+
+#define SMSC_SCI0_RBR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_THR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_DLL (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_IER (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x2)  /* H */
+#define SMSC_SCI0_DLM (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x2)  /* H */
+#define SMSC_SCI0_IIR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x4)  /* H */
+#define SMSC_SCI0_FCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x4)  /* H */
+#define SMSC_SCI0_LCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x6)  /* H */
+#define SMSC_SCI0_MCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x8)  /* H */
+#define SMSC_SCI0_LSR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xA)  /* H */
+#define SMSC_SCI0_MSR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xC)  /* H */
+#define SMSC_SCI0_SCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xE)  /* H */
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ä»¥å¤ã®åæå
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void fdc37c935a_init(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block   SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void smsc_sci0_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL smsc_sci0_openflag(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *smsc_sci0_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void smsc_sci0_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL smsc_sci0_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  smsc_sci0_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void smsc_sci0_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void smsc_sci0_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void smsc_sci0_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void smsc_sci0_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void smsc_sci0_ierdy_rcv(VP_INT exinf);
+
+
+
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _FDC37C935A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/solution.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/solution.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/solution.bld	(revision 26)
@@ -0,0 +1,31 @@
+#!build
+default:
+	subproject
+	:sourcedirs=../../sh3/solution_engine
+fdc37c935a.h
+	include_file
+hw_serial.h
+	include_file
+ms7709ase01.h
+	include_file
+ms7729rse01.h
+	include_file
+ms7750se01.h
+	include_file
+solution_engine.h
+	include_file
+sys_config.h
+	include_file
+sys_defs.h
+	include_file
+	:defines=MS7729RSE01
+sys_rename.h
+	include_file
+sys_unrename.h
+	include_file
+fdc37c935a.c
+	C
+sys_config.c
+	C
+sys_support.sh
+	assembly
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_config.c	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003 by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.3 2003/12/19 11:24:55 honda Exp $
+ */
+
+/*
+ * ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Solution Engineç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <solution_engine.h>
+#include <fdc37c935a.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+#if defined(MS7709ASE01) || defined(MS7729RSE01)    
+    /* Enable IRL Interrupt */
+    sil_wrh_mem((VP)ICR1, 0x5000);
+#else /* MS7750SE01 */
+    sil_wrh_mem((VP)ICR, 0x0000);
+#endif /* defined(MS7709ASE01) | defined(MS7729RSE01) */   
+    /*
+     * Init Super I/O
+     */
+    smsc_init();
+
+    /*
+     * Init SIO
+     */
+    fdc37c935a_init();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+  kernel_abort();
+}
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+
+#ifdef  MULTI_IO
+#include <stdio.h>
+#define SYS_PUT_CHAR(c) putchar(c)
+#else
+#define SYS_PUT_CHAR(c) fdc37c935a_pol_putc(c)
+#endif 
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        SYS_PUT_CHAR('\r');
+    }
+    SYS_PUT_CHAR(c);
+}
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_defs.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.1 2003/12/19 11:26:33 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Solution Engineç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¿ã¼ã²ãããã¼ãæ¯ã®è¨­å®ãèª­è¾¼ã
+ */
+#ifdef MS7729RSE01
+#include <ms7729rse01.h>
+#elif  MS7709ASE01
+#include <ms7709ase01.h>
+#elif MS7750SE01
+#include <ms7750se01.h>
+#endif /* MS7729RSE01 */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã 
+ *      0c000000 - 0c000fff     stubã®ã¯ã¼ã¯ã¨ãªã¢
+ *      0c001000 - 0c100000     ã³ã¼ãé å(1MB)
+ *      0c100000 -              ãã¼ã¿é å(3MB)
+ *               - 0c3fffff     ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *               - 0c400000     ã¡ã¢ãªçµäº
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#define STACKTOP    0x0c400000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define KTIM_INT_LV   4
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+Inline void
+kernel_abort()
+{
+  while(1);
+}
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_DEFS_H_ */
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_support.sh
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_support.sh	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/solution_engine/sys_support.sh	(revision 26)
@@ -0,0 +1,58 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.sh,v 1.4 2003/12/24 07:24:40 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/start.sh
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/start.sh	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/start.sh	(revision 26)
@@ -0,0 +1,178 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                                  Toyohashi Univ. of Technology, JAPAN
+ *                     2003        by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼   
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: start.sh,v 1.3 2003/12/19 11:24:55 honda Exp $
+ */
+        
+/*
+ *  ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ */               
+#define _MACRO_ONLY
+#include <t_config.h>
+#include <sys_defs.h>
+
+/*GHSã¢ã»ã³ãã©æ¬ä¼¼å½ä»¤å¤æ*/
+#define   long   data.l
+
+/*
+ *   SH3ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ *   ã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ãã
+ *   ã ããªã®ã§JSPã«ã¼ãã«ã®ã¿ä½¿ç¨ããã	
+ */
+	.global	_start
+	.global _main
+	.align 2
+_main:
+_start:
+	/*
+	 *  ã­ã£ãã·ã¥ã®åæå
+	 */
+	mov.l _ccr_addr,r1
+	mov.l _ccr_disable,r2
+	mov.l r2,@r1
+	mov.l _ccr_mode,r2
+	mov.l r2,@r1
+
+	/*
+	 *  SRãåæåããã
+	 *  MD=1, RB=0, BL=0, I3ãI0=e fã¯stubã®ã¿
+	 */
+	mov.l _init_sr,r0
+	ldc   r0,sr
+	mov   #0x01,r0
+	ldc   r0,r7_bank
+	/*
+	 * ã¿ã¹ã¯ç¬ç«ã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * STACKTOPã¯ãsys_config.hã§å®ç¾©
+	 */
+	mov.l  _stack_k, r15
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ _hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+
+start_0:
+	mov.l  _hardware_init_hook_k, r0
+	tst    r0,r0
+	bt     start_5
+	jsr    @r0
+     	or      r0,r0
+
+	/*
+	 *  _software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:	
+	mov.l  _software_init_hook_k, r0
+	tst    r0,r0
+	bt     start_6		
+	jsr    @r0
+	or     r0,r0
+
+		
+start_6:
+	/*ã«ã¼ãã«ãèµ·åãã*/
+
+	mov.l _kernel_start_k,r0
+	jsr	  @r0
+	or	   r0,r0
+
+
+	.align 4
+_ccr_addr:	
+	.long CCR
+_ccr_disable:	
+	.long CCR_DISABLE
+_ccr_mode:	
+	.long CCR_MODE
+_init_sr:	
+	.long  0x40000000 + MAX_IPM << 4
+_stack_k:	
+	.long   STACKTOP
+_kernel_start_k:	
+	.long	_kernel_start
+	.weak _hardware_init_hook
+	.weak _software_init_hook
+_hardware_init_hook_k:	
+	.long   _hardware_init_hook
+_software_init_hook_k:	
+	.long   _software_init_hook	
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_config.h	(revision 26)
@@ -0,0 +1,464 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by  Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.5 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+#define __EMPTY_LABEL(x,y) x y[]
+
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+#pragma weak software_term_hook
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+#ifdef GHS_HOOK
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)				sts_hook(TSKID(tcb));
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)			sys_hook1(THF_TSK, TFN_ACT_TSK, (int)tskid);
+#define	LOG_ACT_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_ACT_TSK, ercd);
+#define	LOG_IACT_TSK_ENTER(tskid)			sys_hook1_i(THF_TSK, TFN_IACT_TSK, (int)tskid);			
+#define	LOG_IACT_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSK, TFN_IACT_TSK, ercd);
+#define	LOG_CAN_ACT_ENTER(tskid)			sys_hook1(THF_TSK, TFN_CAN_ACT, (int)tskid);			
+#define	LOG_CAN_ACT_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_CAN_ACT, tcb->actcnt);
+#define	LOG_EXT_TSK_ENTER()				sys_hook0(THF_TSK, TFN_EXT_TSK);
+#define	LOG_TER_TSK_ENTER(tskid)			sys_hook1(THF_TSK, TFN_TER_TSK, (int)tskid);
+#define	LOG_TER_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_TER_TSK, ercd);
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)		sys_hook2(THF_TSK, TFN_CHG_PRI, (int)tskid, (int)tskpri);
+#define	LOG_CHG_PRI_LEAVE(ercd)				trc_rtn_hook(THF_TSK, TFN_CHG_PRI, ercd);	
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)		
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()				sys_hook0(THF_TSKS, TFN_SLP_TSK);
+#define	LOG_SLP_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_SLP_TSK, ercd);
+#define	LOG_TSLP_TSK_ENTER(tmout)			sys_hook1(THF_TSKS, TFN_TSLP_TSK, (int)tmout);
+#define	LOG_TSLP_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_TSLP_TSK, ercd);
+#define	LOG_WUP_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_WUP_TSK, (int)tskid);
+#define	LOG_WUP_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_WUP_TSK, ercd);				
+#define	LOG_IWUP_TSK_ENTER(tskid)			sys_hook1_i(THF_TSKS, TFN_IWUP_TSK, (int)tskid);
+#define	LOG_IWUP_TSK_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_IWUP_TSK, ercd);
+#define	LOG_CAN_WUP_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_CAN_WUP, (int)tskid);
+#define	LOG_CAN_WUP_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_CAN_WUP, tcb->wupcnt);
+#define	LOG_REL_WAI_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_REL_WAI, (int)tskid);
+#define	LOG_REL_WAI_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_REL_WAI, ercd);	
+#define	LOG_IREL_WAI_ENTER(tskid)			sys_hook1_i(THF_TSKS, TFN_IREL_WAI, (int)tskid);
+#define	LOG_IREL_WAI_LEAVE(ercd)			trc_rtn_hook(THF_TSKS, TFN_IREL_WAI, ercd);			
+#define	LOG_SUS_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_SUS_TSK, (int)tskid);
+#define	LOG_SUS_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_SUS_TSK, ercd);
+#define	LOG_RSM_TSK_ENTER(tskid)			sys_hook1(THF_TSKS, TFN_RSM_TSK, (int)tskid);
+#define	LOG_RSM_TSK_LEAVE(ercd)				trc_rtn_hook(THF_TSKS, TFN_RSM_TSK, ercd);
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)			/*sys_hook1(THF_TSKS, TFN_DLY_TSK, (int)dlytim);*/
+#define	LOG_DLY_TSK_LEAVE(ercd)				/*trc_rtn_hook(THF_TSKS, TFN_DLY_TSK, winfo.wercd);*/
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)		sys_hook2(THF_TEX, TFN_RAS_TEX, (int)tskid, (int)rasptn);
+#define	LOG_RAS_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_RAS_TEX, ercd);
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)		sys_hook2_i(THF_TEX, TFN_IRAS_TEX, (int)tskid, (int)rasptn);
+#define	LOG_IRAS_TEX_LEAVE(ercd)			trc_rtn_hook(THF_TEX, TFN_IRAS_TEX, ercd);	
+#define	LOG_DIS_TEX_ENTER()				sys_hook0(THF_TEX, TFN_DIS_TEX);
+#define	LOG_DIS_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_DIS_TEX, ercd);
+#define	LOG_ENA_TEX_ENTER()				sys_hook0(THF_TEX, TFN_ENA_TEX);
+#define	LOG_ENA_TEX_LEAVE(ercd)				trc_rtn_hook(THF_TEX, TFN_ENA_TEX, ercd);		
+#define	LOG_SNS_TEX_ENTER()				
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_SIG_SEM, (int)semid);
+#define	LOG_SIG_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_SIG_SEM, ercd);
+#define	LOG_ISIG_SEM_ENTER(semid)			sys_hook1_i(THF_SEM, TFN_ISIG_SEM, (int)semid);
+#define	LOG_ISIG_SEM_LEAVE(ercd)			trc_rtn_hook(THF_SEM, TFN_ISIG_SEM, ercd);
+#define	LOG_WAI_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_WAI_SEM, (int)semid);
+#define	LOG_WAI_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_WAI_SEM, ercd);
+#define	LOG_POL_SEM_ENTER(semid)			sys_hook1(THF_SEM, TFN_POL_SEM, (int)semid);
+#define	LOG_POL_SEM_LEAVE(ercd)				trc_rtn_hook(THF_SEM, TFN_POL_SEM, ercd);
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)		sys_hook2(THF_SEM, TFN_TWAI_SEM, (int)semid, (int)tmout);
+#define	LOG_TWAI_SEM_LEAVE(ercd)			trc_rtn_hook(THF_SEM, TFN_TWAI_SEM, ercd);
+#define	LOG_SET_FLG_ENTER(flgid, setptn)				sys_hook2(THF_FLG, TFN_SET_FLG, (int)flgid, (int)setptn);
+#define	LOG_SET_FLG_LEAVE(ercd)						trc_rtn_hook(THF_FLG, TFN_SET_FLG);
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)				sys_hook2_i(THF_FLG, TFN_ISET_FLG, (int)flgid, (int)setptn);
+#define	LOG_ISET_FLG_LEAVE(ercd)					trc_rtn_hook(THF_FLG, TFN_ISET_FLG);
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)				sys_hook2(THF_FLG, TFN_CLR_FLG, (int)flgid, (int)clrptn);
+#define	LOG_CLR_FLG_LEAVE(ercd)						trc_rtn_hook(THF_FLG, TFN_CLR_FLG);
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)		sys_hook3(THF_FLG, TFN_WAI_FLG, (int)flgid, (int)waiptn, (int)wfmode);
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)					trc_rtn_hook(THF_FLG, TFN_WAI_FLG, ercd);
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)		sys_hook3(THF_FLG, TFN_POL_FLG, (int)flgid, (int)waiptn, (int)wfmode);
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)					trc_rtn_hook(THF_FLG, TFN_POL_FLG, ercd);
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)	sys_hook4(THF_FLG, TFN_TWAI_FLG, (int)flgid, (int)waiptn, (int)wfmode, (int)tmout);
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)				trc_rtn_hook(THF_FLG, TFN_TWAI_FLG, ercd);
+#define	LOG_SND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_SND_DTQ, (int)dtqid, (int)data);
+#define	LOG_SND_DTQ_LEAVE(ercd)						trc_rtn_hook(THF_DTQ, TFN_SND_DTQ, ercd);
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_PSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_PSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_PSND_DTQ, ercd);
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)				sys_hook2_i(THF_DTQ, TFN_IPSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_IPSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_IPSND_DTQ, ercd);
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)				sys_hook3(THF_DTQ, TFN_TSND_DTQ, (int)dtqid, (int)data, (int)tmout);
+#define	LOG_TSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_TSND_DTQ, ercd);
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)					sys_hook2(THF_DTQ, TFN_FSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_FSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_FSND_DTQ);
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)				sys_hook2_i(THF_DTQ, TFN_IFSND_DTQ, (int)dtqid, (int)data);
+#define	LOG_IFSND_DTQ_LEAVE(ercd)					trc_rtn_hook(THF_DTQ, TFN_IFSND_DTQ);
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)				sys_hook1(THF_DTQ, TFN_RCV_DTQ, (int)dtqid);
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_RCV_DTQ, ercd);
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)				sys_hook1(THF_DTQ, TFN_PRCV_DTQ, (int)dtqid);
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_PRCV_DTQ, ercd);
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)			sys_hook1(THF_DTQ, TFN_TRCV_DTQ, (int)dtqid);
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)					trc_rtn_hook(THF_DTQ, TFN_TRCV_DTQ, ercd);
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)				sys_hook2(THF_MBX, TFN_SND_MBX, (int)mbxid, (int)pk_msg);
+#define	LOG_SND_MBX_LEAVE(ercd)						trc_rtn_hook(THF_MBX, TFN_SND_MBX, ercd);
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)		sys_hook1(THF_MBX, TFN_RCV_MBX, (int)mbxid);
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)			trc_rtn_hook(THF_MBX, TFN_RCV_MBX, ercd);
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)		sys_hook1(THF_MBX, TFN_PRCV_MBX, (int)mbxid);
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)		trc_rtn_hook(THF_MBX, TFN_PRCV_MBX, ercd);
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)	sys_hook2(THF_MBX, TFN_TRCV_MBX, (int)mbxid, (int)tmout);
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)		trc_rtn_hook(THF_MBX, TFN_TRCV_MBX, ercd);
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)			sys_hook1(THF_MPF, TFN_GET_MPF, (int)mpfid);
+#define	LOG_GET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_GET_MPF, ercd);
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)		sys_hook1(THF_MPF, TFN_PGET_MPF, (int)mpfid);		
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_PGET_MPF, ercd);
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)		sys_hook2(THF_MPF, TFN_TGET_MPF, (int)mpfid, (int)tmout);
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)			trc_rtn_hook(THF_MPF, TFN_TGET_MPF, ercd);
+#define	LOG_REL_MPF_ENTER(mpfid, blk)			sys_hook2(THF_MPF, TFN_REL_MPF, (int)mpfid, (int)blk);
+#define	LOG_REL_MPF_LEAVE(ercd)				trc_rtn_hook(THF_MPF, TFN_REL_MPF, ercd);
+#define	LOG_SET_TIM_ENTER(p_systim)			sys_hook1(THF_TIM, TFN_SET_TIM, (int)p_systim);
+#define	LOG_SET_TIM_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_SET_TIM);
+#define	LOG_GET_TIM_ENTER(p_systim)			
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)			sys_hook1(THF_TIM, TFN_STA_CYC, (int)cycid);
+#define	LOG_STA_CYC_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_STA_CYC);
+#define	LOG_STP_CYC_ENTER(cycid)			sys_hook1(THF_TIM, TFN_STP_CYC, (int)cycid);
+#define	LOG_STP_CYC_LEAVE(ercd)				trc_rtn_hook(THF_TIM, TFN_STP_CYC);
+#define	LOG_ROT_RDQ_ENTER(tskpri)			sys_hook1(THF_SYS, TFN_ROT_RDQ, (int)tskpri);
+#define	LOG_ROT_RDQ_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_ROT_RDQ);
+#define	LOG_IROT_RDQ_ENTER(tskpri)			sys_hook1_i(THF_SYS, TFN_IROT_RDQ, (int)tskpri);
+#define	LOG_IROT_RDQ_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_IROT_RDQ);
+#define	LOG_GET_TID_ENTER(p_tskid)			
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()				sys_hook0(THF_SYS, TFN_LOC_CPU);			
+#define	LOG_LOC_CPU_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_LOC_CPU);			
+#define	LOG_ILOC_CPU_ENTER()				sys_hook0_i(THF_SYS, TFN_ILOC_CPU);		
+#define	LOG_ILOC_CPU_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_ILOC_CPU);
+#define	LOG_UNL_CPU_ENTER()				sys_hook0(THF_SYS, TFN_UNL_CPU);		
+#define	LOG_UNL_CPU_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_UNL_CPU);		
+#define	LOG_IUNL_CPU_ENTER()				sys_hook0_i(THF_SYS, TFN_IUNL_CPU);		
+#define	LOG_IUNL_CPU_LEAVE(ercd)			trc_rtn_hook(THF_SYS, TFN_IUNL_CPU);
+#define	LOG_DIS_DSP_ENTER()				sys_hook0(THF_SYS, TFN_DIS_DSP);		
+#define	LOG_DIS_DSP_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_DIS_DSP);
+#define	LOG_ENA_DSP_ENTER()				sys_hook0(THF_SYS, TFN_ENA_DSP);
+#define	LOG_ENA_DSP_LEAVE(ercd)				trc_rtn_hook(THF_SYS, TFN_ENA_DSP);
+#define	LOG_SNS_CTX_ENTER()			
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#else
+
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3-ghs/tool_defs.h	(revision 26)
@@ -0,0 +1,91 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                     2003         by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/19 11:24:55 honda Exp $
+ */
+
+/*
+ *  éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#ifdef __LL_Is_64
+#define _int64_	long 	long	/* 64ãããã®æ´æ°å */
+#endif
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus         /* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L      /* C99 ã«ã¯ inline ããã */
+#define inline      __inline
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#define	Asm		asm 
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/Makefile.config	(revision 26)
@@ -0,0 +1,57 @@
+#
+#@(#) $Id: Makefile.config,v 1.10 2004/09/04 16:17:50 honda Exp $
+# 
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (SH3/4ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = sh-hitachi-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU) 
+COPTS    := $(COPTS) -g -O2 
+CDEFS    := $(CDEFS) -DLABEL_ASM
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR) $(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) cpu_config.o
+
+
+ifeq ($(DBGENV),PARTNER_J)
+CDEFS    := $(CDEFS) -DNO_SLEEP
+endif
+
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+ifdef USE_CXX
+  START_OBJS = start.o $(shell $(CC) $(COPTS) -print-file-name=crti.o | sed -e 's/\\/\//g') $(shell $(CC) $(COPTS) -print-file-name=crtbegin.o | sed -e 's/\\/\//g')
+  END_OBJS   = $(shell $(CC) $(COPTS) -print-file-name=crtend.o | sed -e 's/\\/\//g') $(shell $(CC) $(COPTS) -print-file-name=crtn.o | sed -e 's/\\/\//g')
+else
+  START_OBJS = start.o
+  END_OBJS   =
+endif
+
+$(START_OBJS):
+$(START_OBJS:.o=.d):
+
+start.o: start.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+start.d: start.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+        -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(END_OBJS):
+$(END_OBJS:.o=.d):
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.c	(revision 26)
@@ -0,0 +1,252 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.24 2006/04/10 09:58:15 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH3/4ç¨ï¼
+ */
+#include <s_services.h>
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UW	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UW	int_intmask;
+
+
+/*
+ * å²ãè¾¼ã¿ãã³ãã©/åªå
+åº¦ã®çä¼¼ãã¼ãã«
+ */
+FP  int_table[(MAX_INTIVT>>5) + 1];
+VW  int_plevel_table[(MAX_INTIVT>>5) + 1];
+
+
+/*
+ * CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ */
+FP	exc_table[(0x1E0 >> 5) + 1];
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+    int i;
+    
+    /*
+     *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+     */
+#ifdef SUPPORT_CHG_IPM
+    task_intmask = 0x0000;    
+#endif /* SUPPORT_CHG_IPM */
+    
+    /*
+     * int_table[],int_plevel_table[]ã®åæå
+     * æªç»é²ã®å²è¾¼ã¿çºçæã«cpu_interrup()ãå¼ã³åºãããããã«
+     * no_reg_interrup()ãç»é²ãã
+     * ãã£ãã©ã«ãã®int_plevel_table[]ã®å²è¾¼ã¿åªå
+åº¦ã¯MAX_IPM - 1
+     * ã¨ããï¼
+     */
+    for(i = 0; i < ((MAX_INTIVT>>5) + 1); i++){
+        int_table[i] = no_reg_interrupt;
+        int_plevel_table[i] = 0x40000000 | (MAX_IPM - 1) << 4;
+    }
+    
+#ifndef GDB_STUB
+    /*
+     * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå 
+     */
+#if defined(SH7750)
+    sil_wrh_mem((VP)ICR, 0x0000);
+    sil_wrh_mem((VP)IPRA, 0x0000);
+    sil_wrh_mem((VP)IPRB, 0x0000);
+    sil_wrh_mem((VP)IPRC, 0x0000);
+#else /* SH7708 || SH7709 || SH7709A || SH7729R || SH7727 */   
+    sil_wrh_mem((VP)ICR0, 0x0000);
+    sil_wrh_mem((VP)IPRA, 0x0000);     
+    sil_wrh_mem((VP)IPRB, 0x0000);
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+    sil_wrh_mem((VP)ICR1, 0x4000);
+    sil_wrh_mem((VP)ICR2, 0x0000);     
+    sil_wrh_mem((VP)PINTER, 0x0000);
+    sil_wrh_mem((VP)IPRC, 0x0000);
+    sil_wrh_mem((VP)IPRD, 0x0000);
+    sil_wrh_mem((VP)IPRE, 0x0000);
+    sil_wrb_mem((VP)IRR0, 0x0000);   
+    sil_wrb_mem((VP)IRR1, 0x0000);
+    sil_wrb_mem((VP)IRR2, 0x0000);
+#endif /* SH7709 || SH7709A  */   
+#endif /* SH7750 */
+    
+    /*
+     *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã¼ã®åæå
+     */
+    set_vbr(BASE_VBR);
+    
+#endif /* GDB_STUB */
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+
+/*
+ * Trapaä»¥å¤ã®ä¾å¤ã§ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void
+cpu_expevt(VW expevt,VW spc,VW ssr,VW pr)
+{
+    syslog(LOG_EMERG, "Unregistered Expevt error occurs.");
+    syslog(LOG_EMERG, "Expevt = %08x SPC = %08x SR = %08x PR=%08X",
+           expevt,spc,ssr,pr);
+    while(1);
+}
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ */
+void
+cpu_interrupt(VW intevt, VW intevt2,VW spc,VW ssr)
+{
+    syslog(LOG_EMERG, "Unregistered Interrupt occurs.");
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+    syslog(LOG_EMERG, "INTEVT = %08x INTEVT2 = %08x SPC = %08x SR = %08x ",
+           intevt,intevt2,spc,ssr);
+#else /* SH7708 || SH7750 */   
+    syslog(LOG_EMERG, "INTEVT = %08x  SPC = %08x SR = %08x ",intevt,spc,ssr);
+#endif    
+    while(1);
+}
+
+
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã MAX_IPM ï¼NMI ã¹ã¿ããªã¢ã¼ããã¬ã¼ã¯ ä»¥å¤
+ *  ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ä»¥ä¸ã«å¤æ´ãããã¨ã¯ã§ããªãï¼NMI ã¹ã¿ããª
+ *  ã¢ã¼ããã¬ã¼ã¯ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ãloc_cpu ã«
+ *  ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹
+ *  ãããã¯ä¿çãããªãï¼IPM ã¯ï¼ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®
+ *  è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ãããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥
+ *  ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ãããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM
+ *  ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã«ãã£ã¦ãèµ·ããã®ã§ï¼ããã«ãã£ã¦æ±
+ *  ããé£ãããªãç¶æ³ã¯å°ãªãã¨æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹
+ *  ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ãä½µç¨ããã°ããï¼
+ */
+
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+    ER  ercd;
+    
+    LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= MAX_IPM - 1);
+
+	t_lock_cpu();
+	task_intmask = (ipm << 4);
+    ercd = E_OK;
+	t_unlock_cpu();
+
+  exit:
+    LOG_CHG_IPM_LEAVE(ercd);
+    return(ercd);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+    ER  ercd;
+
+    LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 4);
+    ercd = E_OK;
+	t_unlock_cpu();
+
+  exit:
+    LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+    return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_config.h	(revision 26)
@@ -0,0 +1,464 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.26 2006/04/10 09:58:15 honda Exp $
+ */
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼SH3/4ç¨ï¼
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+
+/*
+ *  ã«ã¼ãã«å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+
+#ifdef SH4
+#include <sh4.h>        
+#else  /* SH3 */
+#include <sh3.h>        
+#endif /* SH4 */
+
+
+/*
+ *  è¨­å®å¯è½ãªæé«åªå
+åº¦
+ */
+#ifdef GDB_STUB
+#define MAX_IPM  0xe
+#else
+#define MAX_IPM  0xf
+#endif 
+
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+        VP	sp;             /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+        FP  pc;             /* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã4ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+current_intmask()
+{
+	return(current_sr() & 0x000000f0);
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+set_intmask(UW intmask)
+{
+	set_sr((current_sr() & ~0x000000f0) | intmask);
+}
+
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+    UW  nest;
+    Asm("stc r7_bank,%0":"=r"(nest));
+        
+	return(nest > 0);    
+}
+
+
+Inline BOOL
+sense_lock()
+{
+	return(current_intmask() == MAX_IPM << 4);
+}
+
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼t_unlock_cpu ä¸­ã® task_intmask ã¯ 0 ã«ç½®ãæãã¦
+ *  ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UW	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+
+Inline void
+t_lock_cpu()
+{
+	disint();
+}
+
+
+Inline void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();
+#endif /* SUPPORT_CHG_IPM */
+}
+
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UW	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+Inline void
+i_lock_cpu()
+{
+	UW	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask()ãå¼ã
+	 *  ã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+
+Inline void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã®å®ç¾©
+ */
+extern void   BASE_VBR(void);
+
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®æ§é ã®å®ç¾©
+ */
+typedef struct exc_vector_entry {
+	FP	exchdr;			/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©ã®çä¼¼ãã¼ãã«
+ *  SH3ä»¥éã¯ãã¯ã¿ãã¼ãã«ãæããªãããå²ãè¾¼ã¿å¦çã§ä¾å¤è¦å ã
+ *  ãªãã»ããã«ãããçä¼¼ãã¼ãã«ãããã³ãã©ã®å®è¡çªå°åã³
+ *  å²ãè¾¼ã¿ãã¹ã¯ã®å¤ãåå¾ãã
+ */
+extern FP	int_table[];
+extern VW   int_plevel_table[];
+
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®çä¼¼ãã¼ãã«
+ */
+extern FP	exc_table[(0x1E0 >> 5) + 1];
+
+
+/*
+ *
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  çä¼¼ãã¼ãã«ã«ç»é²ãã
+ *  stubãä½¿ãå ´åã¯stubå¼ã³åºãã«ããstubã«ç»é²ãã
+ *  
+ */
+
+extern FP general_exception();
+extern FP interrupt();
+
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+        int_table[inhno >> 5] = inthdr;
+#ifdef GDB_STUB
+        Asm("mov #0x8,r0;  mov %0,r4; mov %1,r5; trapa #0x3f"
+	    : /* no output */
+	    : "r"(inhno),"r"(interrupt)
+	    : "r0", "r4", "r5");
+#endif /* GDB_STUB */
+}
+
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *   æ¬ä¼¼ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²
+ */   
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+        exc_table[excno >> 5] = exchdr;
+#ifdef  GDB_STUB 
+        Asm("mov #0x8,r0;  mov %0,r4; mov %1,r5;  trapa #0x3f"
+	    : /* no output */
+	    : "r"(excno),"r"(general_exception)
+	    : "r0", "r4", "r5");
+#endif /* GDB_STUB */
+}
+
+
+/*
+ *  å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ */
+Inline void
+define_int_plevel(UINT dintno, UW plevel)
+{
+    int_plevel_table[dintno >> 5] = (plevel << 4) | 0x40000000;
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ *  
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ */
+
+#define	INTHDR_ENTRY(inthdr)  extern void inthdr(void)
+
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define	EXCHDR_ENTRY(exchdr)  extern void exchdr(VP sp)
+
+#define	EXC_ENTRY(exchdr)     exchdr
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+    UW  nest;
+    Asm("stc r7_bank,%0":"=r"(nest));
+        
+	return(nest > 1);
+}
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UW *)p_excinf + 11) & 0x00000f0) == MAX_IPM << 4);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿/ä¾å¤çºçæã®ã­ã°åºå
+ */
+extern void     cpu_expevt(VW,VW,VW,VW);
+extern void     cpu_interrupt(VW,VW,VW,VW);
+extern void     no_reg_interrupt(void);
+
+
+/*
+ *  ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®ãã¼ã¬ã¼ãè¨­å®æã®å¾
+ã¡æéã®è¨­å®
+ *  ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®ãªãã¬ãã·ã¥ã«ã¦ã³ã¿ãä½¿ã
+ */
+#define WAIT_RFCR_FOR_SCI    200
+
+/*
+ *  gdb stubã«ããåºå
+ */
+Inline int
+stub_putc(int c)
+{
+  Asm("mov #0x00,r0; mov %0,r4; trapa #0x3f"
+               : /* no output */
+               : "r"(c)
+               : "r0","r4");
+  return(c);
+}
+
+
+#endif /* _MACRO_ONLY_ */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_context.h	(revision 26)
@@ -0,0 +1,126 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.6 2003/06/20 11:49:38 honda Exp $
+ */
+
+
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼SH3/4ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_conf.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯TCBã
+ *  å®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_conf.h ã«ã¯TCBãå®ç¾©ã
+ *  ãåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ãã¿ã¹ã¯ãèµ·åã§ãã
+ *  ç¶æ
+ã«è¨­å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°
+ *  ããï¼å¤ãã®å¦çã¯ã©ã¡ãã®é¢æ°ã§è¡ã£ã¦ãããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ *  
+ */
+extern void	activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)(((SIZE) tcb->tinib->stk) + tcb->tinib->stksz);
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW) ext_tsk;
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.sp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_defs.h	(revision 26)
@@ -0,0 +1,152 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cpu_defs.h,v 1.13 2005/07/27 11:06:36 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼SH3/4ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ * å²è¾¼ã¿/CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ * å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´/åç
+§
+ */
+typedef	UINT		IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm)  throw();
+extern ER	get_ipm(IPM *p_ipm)  throw();
+
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno)  throw();
+extern ER	ena_int(INTNO intno)  throw();
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	UD  SYSUTIM;	       /* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+/*
+ * ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+Inline UW
+_current_intmask_()
+{
+    UW sr;
+
+    Asm("stc  sr,%0" : "=r"(sr));
+    return(sr & 0x000000f0);
+}
+
+/*
+ *  å
+¨ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+_disint_()
+{
+    UW sr;
+
+    Asm("stc  sr,%0" : "=r"(sr));
+    sr |= 0x000000f0;
+    Asm("ldc %0, sr" : : "r"(sr) );
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+Inline void
+_set_intmask_(UW intmask)
+{
+    UW sr;
+    
+    Asm("stc  sr,%0" : "=r"(sr));
+    sr = (sr & ~0x000000f0) | intmask;
+    Asm("ldc %0, sr" : : "r"(sr) );    
+}
+
+
+/*
+ * å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC UW _intmask_ = _current_intmask_()
+#define SIL_LOC_INT()   _disint_()
+#define SIL_UNL_INT()   _set_intmask_(_intmask_)
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_insn.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.7 2003/12/24 07:24:40 honda Exp $
+ */
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼SH3/4ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline UW
+current_sr(void)
+{
+    UW	sr;
+    Asm("stc  sr,%0" : "=r"(sr));
+    return(sr);
+}
+
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+Inline void
+set_sr(UW sr)
+{
+	Asm("ldc %0, sr" : : "r"(sr) );
+}
+
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint(void)
+{
+    set_sr((current_sr() & ~0x000000f0) |  MAX_IPM << 4 );
+}
+
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+    set_sr(current_sr() & ~0x000000f0);
+}
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline VP
+current_vbr(void)
+{
+    VP	vbr;
+	Asm("stc vbr,%0" : "=r"(vbr));
+	return(vbr);
+}
+
+
+/*
+ *  ãã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ï¼VBRï¼ã®è¨­å®
+ */
+Inline void
+set_vbr(VP vbr)
+{
+    Asm("ldc  %0, vbr" : : "r"(vbr) );
+}
+
+
+#endif /* _CPU_INSN_H_ */
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.def	(revision 26)
@@ -0,0 +1,14 @@
+activate_r  
+ret_int     
+ret_exc     
+task_intmask
+int_intmask 
+int_table
+int_plevel_table
+exc_table
+BASE_VBR
+general_exception
+no_reg_interrupt
+cpu_expevt
+cpu_interrupt
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_rename.h	(revision 26)
@@ -0,0 +1,39 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r  		_kernel_activate_r  
+#define ret_int     		_kernel_ret_int     
+#define ret_exc     		_kernel_ret_exc     
+#define task_intmask		_kernel_task_intmask
+#define int_intmask 		_kernel_int_intmask 
+#define int_table		_kernel_int_table
+#define int_plevel_table	_kernel_int_plevel_table
+#define exc_table		_kernel_exc_table
+#define BASE_VBR		_kernel_BASE_VBR
+#define general_exception	_kernel_general_exception
+#define no_reg_interrupt	_kernel_no_reg_interrupt
+#define cpu_expevt		_kernel_cpu_expevt
+#define cpu_interrupt		_kernel_cpu_interrupt
+
+
+#ifdef LABEL_ASM
+
+#define _activate_r  		__kernel_activate_r  
+#define _ret_int     		__kernel_ret_int     
+#define _ret_exc     		__kernel_ret_exc     
+#define _task_intmask		__kernel_task_intmask
+#define _int_intmask 		__kernel_int_intmask 
+#define _int_table		__kernel_int_table
+#define _int_plevel_table	__kernel_int_plevel_table
+#define _exc_table		__kernel_exc_table
+#define _BASE_VBR		__kernel_BASE_VBR
+#define _general_exception	__kernel_general_exception
+#define _no_reg_interrupt	__kernel_no_reg_interrupt
+#define _cpu_expevt		__kernel_cpu_expevt
+#define _cpu_interrupt		__kernel_cpu_interrupt
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_support.S	(revision 26)
@@ -0,0 +1,785 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.37 2005/08/22 16:57:25 honda Exp $
+ */
+
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+#include "offset.h"
+#include <t_config.h>
+        
+ 			
+/*
+ *  ä¾å¤/å²ãè¾¼ã¿åºå
+¥ãå£å¦çã«ã¼ãã³
+ *  SH3ã¯ãã¯ã¿ãã¼ãã«ãæãããä¾å¤,TRAPAãçºçããã¨VBR+0x100çªå°ãã
+ *  å
+é¨/å¤é¨/NMIå²ãè¾¼ã¿ãçºçããã¨ãVBR+0x600çªå°ãå®è¡ããã
+ */
+        
+/*
+ *	VBR ã«è¨­å®ããå¤
+ */
+    .section .text
+    .align 2        
+    .global _BASE_VBR
+_BASE_VBR:   
+     nop 
+     nop
+     nop
+
+/*
+ *  Exception 100 vector
+ *  ã¢ãã¬ã¹ã¨ã©ã¼,ã¹ã­ããä¸å½å½ä»¤ä¾å¤ãTrapaä¾å¤ç­ãçºçããã¨å®è¡ãããã
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããããã®ãããCPUä¾å¤ãã³
+ *  ãã©ãå¼ã³åºãåã«ä¾å¤/å²ãè¾¼ã¿ãç¤ºãã¬ã¸ã¹ã¿ãã³ã¯1ã® r7 ã¬ã¸ã¹ã¿ãã¤ã³
+ *  ã¯ã¡ã³ããããªã¿ã¼ã³ãã¦ããå¾ã«ãã¯ãªã¡ã³ããããCPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­
+ *  ã¹ãã§çºçããregflg ã TRUE ã«ãªã£ãæã«ã ret_exc ã¸åå²ããã
+ *  regflg ããã§ãã¯ããåã«å²ãè¾¼ã¿ãç¦æ­¢ããªãã¨ãreqflg ããã§ãã¯å¾ã«èµ·
+ *  åãããå²ãè¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ããã£ã¹ããã
+ *  ãããªãã
+ *
+ *		
+ *  ä¾å¤ãçºçããã¨ãä¾å¤çºçå
+ã®ã³ã³ãã­ã¹ãã§ããspc,pr,ssr,r0ãr7ãéé¿
+ *  ãããä¾å¤ãçºçããæç¹ã§ã®ã³ã³ãã­ã¹ããèª¿ã¹éã¿ã¹ã¯ã³ã³ãã­ã¹ããªã
+ *  _exception_from_intããå®è¡ãéå§ãããä¾å¤ã®è¦å ã¯EXPEVTã¬ã¸ã¹ã¿èª­ã¿ã
+ *  exc_tableããCPUä¾å¤ãã³ãã©ã®éå§çªå°ãèª­ã¿è¾¼ããçºçããä¾å¤ã«å¯¾ãã¦
+ *  CPUä¾å¤ãã³ãã©ãç»é²ããã¦ããªããã°ã_no_reg_exceptionã«ãã©ã³ããã¦ã
+ *  ssr,sr,spc,prã®å
+å®¹ãåºåãã¦åæ­¢ãããCPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ãã¦
+ *  ããããreqflgãèª¿ã¹0ä»¥å¤ãªãrec_exc()ã«é£ã³ã0ãªãå
+ã®å¦çã«ãªã¿ã¼ã³ã
+ *  ãã
+ *
+ *
+ *  BLãããã®æ±ãã«ã¤ãã¦
+ *  ssr,spc ã«æ»ãå
+ã®ã³ã³ãã­ã¹ããæ»ãã¦ rte ãçºè¡ããéã«ã¯ï¼å²è¾¼ã¿ï¼NMI 
+ *  ãå«ãï¼ãåãä»ããªãããã« BL ãããã1ã«ããå¿
+è¦ãããï¼ä¾å¤/å²è¾¼ã¿ã
+ *  ã³ãã©çµäºæã«ã¯ BL ããããã1ã«ãã IPM ã MAX_IPM ã«è¨­å®ããï¼ããã¯ï¼
+ *  BL ãããã1ã®å ´åã«ä¾å¤ãçºçããã¨ CPU ããªã»ããããããã¨ãèæ
+®ãã¦ï¼
+ *  å®å
+¨ã®ããï¼ssr,spcãå¾©å¸°ããç´åã§BLã1ã«è¨­å®ãã¦ããï¼
+ *       
+ */	
+			
+
+    .org   0x0100              /*  _BASE_VBR + 0x0100çªå°ã«é
+ç½®   */
+    .align 2
+    .global _general_exception
+_general_exception:
+    stc.l  spc,@-r15           /* spc,pr,ssr ãã¹ã¿ãã¯ã«ä¿å­ãã */
+    sts.l  pr,@-r15               
+    stc.l  ssr,@-r15
+    stc.l  gbr,@-r15					
+    sts.l  macl,@-r15					
+    sts.l  mach,@-r15					                        
+    stc.l  r0_bank,@-r15       /* ä¾å¤çºçæã®r0ãr7ãä¿å­        */
+    stc.l  r1_bank,@-r15
+    stc.l  r2_bank,@-r15
+    stc.l  r3_bank,@-r15
+    stc.l  r4_bank,@-r15
+    stc.l  r5_bank,@-r15
+    stc.l  r6_bank,@-r15    
+    stc.l  r7_bank,@-r15
+    tst    r7,r7               /* ä¾å¤çºçå
+ã®ã³ã³ãã­ã¹ããå¤å®            */
+    bf/s   _exception_from_exc /* çºçå
+ãä¾å¤/å²ãè¾¼ã¿ãã³ãã©ãªãã¸ã£ã³ã */
+     add    #0x01,r7	       /* ä¾å¤/å²ãè¾¼ã¿ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã   */
+    mov    r15,r1              /* æ»ãå
+ãå²ãè¾¼ã¿ãã³ãã©ã§ãªãã®ã§ã¹ã¿ã  */
+    mov.l  _stacktop_exc,r15   /* ã¯ãå
+¥ãæ¿ãå
+ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å­    */ 
+    mov.l  r1,@-r15 
+    mov.l  _expevt,r0          /* ä¾å¤ãè¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­      */
+    mov.l  @r0,r5              /* EXPEVTã¬ã¸ã¹ã¿ãåå¾                      */
+    ldc    r1,r4_bank          /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°                   */
+    ldc    r5,r5_bank	     
+    mov.l  _unmak_rb_bl_exc,r2 /* BLãããã0ã«ï¼ã¬ã¸ã¹ã¿ãã³ã¯ãåãæ¿ã   */
+    stc    sr,r3               
+    and    r3,r2			
+    ldc    r2,sr               
+    shlr2  r5                  /* EXPEVTã3ãããå³ã·ãã                   */
+    shlr   r5                
+    mov.l  _exc_table_exc,r0   /* exc_tableã®ã¢ãã¬ã¹ãr0ã«                 */
+    mov.l  @(r0,r5),r2         /* ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾                  */
+    tst    r2,r2               /* ãã³ãã©ãç»é²ããã¦ããªãä¾å¤ãªã        */
+    bt     _no_reg_exception   /* no_reg_exceptionã¸ã¸ã£ã³ã                */
+    jsr    @r2                 /* CPUä¾å¤ãã³ãã©ã¸                         */
+     nop
+    mov.l  _mask_md_ipm_exc,r0
+    ldc    r0,sr               /* å²ãè¾¼ã¿ç¦æ­¢                              */
+    stc    r7_bank,r7          /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã   */
+    dt     r7
+    ldc    r7,r7_bank
+    mov.l  _reqflg_exc,r2      /* reqflgã®ãã§ãã¯                          */
+    mov.l  @r2,r1
+    tst    r1,r1               /* reqflgãFALSEãªãret_to_task_excã«é£ã³    */
+    bt/s   _ret_to_task_exc    /* ã¿ã¹ã¯ã«æ»ã                              */
+     mov.l  @r15,r15           /* æ»ãå
+ãã¿ã¹ã¯ãªã®ã§ã¹ã¿ãã¯ãæ»ã        */
+    xor    r0,r0               
+    bra    ret_exc
+     mov.l  r0,@r2             /* reqflgãã¯ãªã¢                            */
+
+
+/*
+ *   exception_from_int
+ *   CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã®å¦ç
+ *   ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã¨ã®å¦çã®éãã¯ãã¨CPUä¾å¤ãã³ãã©ã®
+ *   å¦çãçµäºããã¨å¿
+ãå
+ã®å¦çã«æ»ããã¨ã§ããã
+ */
+	
+_exception_from_exc:
+    mov.l   _expevt,r0        /* ä¾å¤ãè¨±å¯ããã¨æ¶ããã¬ã¸ã¹ã¿ãä¿å­      */
+    mov.l   @r0,r5            /* EXPEVTã¬ã¸ã¹ã¿ãåå¾                      */
+    ldc     r15,r4_bank       /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°                   */
+    ldc     r5,r5_bank	     
+    mov.l   _unmak_rb_bl_exc,r2 /* BLãããã0ã«ï¼ã¬ã¸ã¹ã¿ãã³ã¯ãåãæ¿ã */
+    stc     sr,r3
+    and     r3,r2			
+    ldc     r2,sr               
+    shlr2   r5                /* EXPECTã3ãããå³ã·ãã                   */
+    shlr    r5                	
+    mov.l   _exc_table_exc,r0 /* exc_tableã®ã¢ãã¬ã¹ãr0ã«                 */
+    mov.l   @(r0,r5),r2       /* ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾                  */
+    tst     r2,r2             /* ãã³ãã©ãç»é²ããã¦ããªãä¾å¤ãªã        */
+    bt      _no_reg_exception /* no_reg_exceptionã¸ã¸ã£ã³ã                */
+    jsr     @r2               /* CPUä¾å¤ãã³ãã©ã¸                         */
+     nop
+    mov.l  _mask_md_ipm_exc,r0
+    ldc    r0,sr              /* BL=1,å²ãè¾¼ã¿ç¦æ­¢                         */
+    stc    r7_bank,r7         /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã   */
+    dt     r7
+    ldc    r7,r7_bank
+_ret_to_task_exc:
+    mov.l  @r15+,r7           /* r0ãr1,ssr,pr,spcãå¾©å¸°ãã¿ã¹ã¯ã«æ»ã     */
+    mov.l  @r15+,r6
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1        
+    mov.l  _mask_md_bl_exc,r0 
+    ldc    r0,sr             /* BLã1ã«                                   */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr               
+    ldc.l  @r15+,ssr            
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+
+
+/*	
+ *  no_reg_exception()
+ *  CPUä¾å¤ã¨ãã¦ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  ä¾å¤ã³ã¼ããä¾å¤ãçºçããæç¹ã®pc,sr,prãåºåãã¦ã«ã¼ãã«
+ *  ãåæ­¢ããã
+ */					
+_no_reg_exception:
+    mov.l  _expevt,r5
+    mov.l  @r5,r4
+    stc    spc,r5
+    stc    ssr,r6
+    sts    pr,r7
+    mov.l  _cpu_expevt_k,r1
+    jsr    @r1
+     nop
+
+	.align  4
+_stacktop_exc:	
+    .long  STACKTOP            /* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  */
+_expevt:	
+    .long  EXPEVT
+_exc_table_exc:	
+    .long  _exc_table
+_unmak_rb_bl_exc:		
+    .long  0x4fffffff
+_mask_md_ipm_exc:	
+    .long  0x40000000 + MAX_IPM << 4	
+_reqflg_exc:
+    .long  _reqflg
+_cpu_expevt_k:	
+    .long  _cpu_expevt	
+_mask_md_bl_exc:	
+    .long  0x50000000 + MAX_IPM << 4	
+
+
+
+	
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *
+ *  _dispatch ã¯ãr7_bank1 = 0,å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªããã°ãªããª
+ *  ãï¼_exit_and_dispatch ãï¼r7_bank1 = 0ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºã
+ *  ã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼r7_bank1 = 1ã§å¼ã³
+ *  åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+ */
+
+    .text
+    .align 2
+    .global _dispatch
+_dispatch:
+    sts.l  pr,@-r15         /* pr,r8ãr15 ãã¹ã¿ãã¯ã«ä¿å­           */
+    mov.l  r14,@-r15        /* r0ãr7ã¯å¼ã³åºãå
+ã§ä¿å­ãã¦ãããã  */    
+    mov.l  r13,@-r15        /* ä¿å­ããå¿
+è¦ãç¡ã                    */    
+    mov.l  r12,@-r15
+    mov.l  r11,@-r15
+    mov.l  r10,@-r15
+    mov.l  r9, @-r15
+    mov.l  r8, @-r15
+    mov.l  _runtsk_dis,r2   /* r0 <- runtsk                          */
+    mov.l  @r2,r0
+    mov.l  r15,@(TCB_sp,r0) /* ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­ 60ä»¥ä¸ãªãOK*/		
+    mov.l  dispatch_r_k,r1  /* å®è¡åéçªå°ãä¿å­                    */
+    mov.l  r1,@(TCB_pc,r0)  /* å®è¡åéçªå°ãTCBã«ä¿å­  60ä»¥ä¸ãªãOK */
+    bra    dispatcher
+     nop
+
+dispatch_r:	
+    mov.l  @r15+,r8         /* ã¬ã¸ã¹ã¿ãå¾©å¸°                       */
+    mov.l  @r15+,r9
+    mov.l  @r15+,r10
+    mov.l  @r15+,r11
+    mov.l  @r15+,r12
+    mov.l  @r15+,r13
+    mov.l  @r15+,r14
+    lds.l  @r15+,pr
+    /*
+     *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+     *  dispatch_rã¯dispatcherããå¼ã³åºãããããï¼
+     *  tcbã®ã¢ãã¬ã¹ã¯r0ã«å
+¥ã£ã¦ããï¼      
+     */
+    mov.l  @(TCB_enatex,r0),r1
+    mov.l  _enatex_mask_dis,r2
+    tst    r1,r2
+    bt     dispatch_r_1         /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+    mov.l  @(TCB_texptn,r0),r1  /* texptnãã­ã¼ã               */
+    tst    r1,r1
+    bt     dispatch_r_1         /* texptn ã 0ã§ç¡ããã°        */
+    mov.l  _call_texrtn_dis,r1  /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+    jmp    @r1        
+     nop                          
+dispatch_r_1:   
+    rts
+     nop                
+
+    .global _exit_and_dispatch
+_exit_and_dispatch:
+    xor    r1,r1                 /* r7_bank1ã0ã¯ãªã¢             */
+    ldc    r1,r7_bank
+dispatcher:
+    /*
+     * ããã«ã¯å²ãè¾¼ã¿ç¦æ­¢ã§æ¥ããã¨
+     */
+    mov.l  _schedtsk_dis,r12    /* r0 <- schedtsk                   */
+    mov.l  @r12,r0             
+    mov.l  _runtsk_dis,r2
+    mov.l  r0,@r2               /* schedtskãruntskã«               */
+    cmp/eq #0,r0                /* schedtsk ããããï¼              */
+    bt     dispatcher_1         /* ç¡ããã°ã¸ã£ã³ã                 */        
+    mov.l  @(TCB_sp,r0),r15     /* TCBããã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸°      */
+    mov.l  @(TCB_pc,r0),r1      /* TCBããå®è¡åéçªå°ãå¾©å¸°        */
+    jmp    @r1 
+     nop
+dispatcher_1:
+    /* ã¤ããã£ã¨ã¤ãå¤ãæ¯åèª­ã¿è¾¼ãã®ã¯å¹çãæªãã®ã§äºåã«ç¨æãã
+     * r8  : å²ãè¾¼ã¿ç¦æ­¢ã®ããã®SRã®å¤   
+     * r9  : å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤
+     * r10 : reqflgã®çªå°
+     * r11 : 0x01
+     * r12 : 0x00
+     * r13 : sleepä¸­ã®SRã®ç¶æ
+       
+     */
+    mov.l  _mask_md_ipm_dis,r8  /* å²ãè¾¼ã¿ç¦æ­¢ã®SRã®å¤             */
+#ifdef NO_SLEEP
+    mov.l  _mask_md_dis,r9      /* å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤           */        
+#else
+    mov.l  _mask_bl_md_dis,r9   /* å²ãè¾¼ã¿å¾
+ã¡ä¸­ã®SRã®å¤           */
+#endif                          
+#ifdef SUPPORT_CHG_IPM
+    mov.l  _task_intmask_k,r2
+    mov.l  @r2,r3
+    or     r3,r9
+#endif
+    mov.l  _reqflg_dis,r10
+    mov    #0x01,r11
+    xor    r12,r12
+    mov.l  _stacktop_dis,r15   /* ã¹ã¿ãã¯ãå²ãè¾¼ã¿ã¹ã¿ãã¯ã«     */
+    ldc    r11,r7_bank         /* r7_bank1 ã1ã«ãã¦å²ãè¾¼ã¿ç¶æ
+ã« */        
+dispatcher_2:        
+    /*
+     *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+     *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+     *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ããäºã¤ã®æå³ãããï¼
+     */
+     /*
+      *  å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ããã¨ï¼å²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡åã«
+      *  å²è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼å²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ã
+      *  åãä»ããããã®å¾©å¸°å¾ã«ï¼reqflgã®ãã§ãã¯ã§ã¯ãªã sleep ç¶æ
+
+      *  ã«å
+¥ã£ã¦ãã¾ãï¼
+      *  ãã®åé¡ã¯ï¼å²è¾¼ã¿ã®è¨±å¯ã¨ sleep ç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®
+      *  è¡ã§ããªããã¨ã«èµ·å ããï¼
+      *  ãã®ããï¼sleep å®è¡ç´åã® SR å¤æ´ã§ã¯ BL ãããã'1'ã«è¨­å®ã
+      *  ããã¨ã§ï¼å²è¾¼ã¿ã®è¨±å¯ã¨ sleep ç¶æ
+ã¸ã®ä»¥éãã¢ãããã¯ã«å®è¡
+      *  ããï¼
+      *  ldc r9,sr ã§ã¯BLããããã»ãããããããï¼å²è¾¼ã¿ã¯åãä»ããã¹
+      *  ãªã¼ãã¢ã¼ãã«ç§»è¡ããï¼ã¹ãªã¼ãã¢ã¼ãä¸­ã¯ï¼BLãããã1ã§ãå²
+      *  è¾¼ã¿ãåãä»ãããã(SH7709ãã¼ãã¦ã§ã¢ããã¥ã¢ã« 8-10)ï¼ã¹ãªã¼
+      *  ãã¢ã¼ãã¸ã®ç§»è¡ç´å¾ã«å²è¾¼ã¿ãåä»ã¹ãªã¼ãã¢ã¼ãããå¾©å¸°ããï¼
+      */
+               
+    ldc    r9,sr               /* å²ãè¾¼ã¿ã®è¨±å¯                   */
+#ifndef NO_SLEEP
+    sleep                      /* å²è¾¼ã¿å¾
+ã¡                       */
+#endif /* NO_SLEEP */                
+    ldc    r8,sr               /* å²ãè¾¼ã¿ç¦æ­¢                     */  
+    mov.l  @r10,r7             /* r7 <- reqflg                     */
+    tst    r7,r7               /* reqflg ã FALSEãªã              */
+    bt     dispatcher_2        /* dispatcher_2 ã¸                  */
+    ldc    r12,r7_bank         /* r7_bank1 ãã¯ãªã¢                */        
+    mov.l  r12,@r10            /* reqflg ã FALSEã«                */
+    bra    dispatcher
+     nop	
+    .align 4
+_runtsk_dis:	
+    .long _runtsk
+_schedtsk_dis:	
+    .long _schedtsk
+_enatex_mask_dis:    
+    .long TCB_enatex_mask
+_call_texrtn_dis:	
+    .long _call_texrtn
+_mask_md_ipm_dis:	
+    .long 0x40000000 + MAX_IPM << 4
+_mask_md_dis:	
+    .long 0x40000000
+_mask_bl_md_dis:	
+    .long 0x50000000	        
+dispatch_r_k:	
+    .long dispatch_r
+_stacktop_dis:	
+    .long STACKTOP            /* ã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤	*/
+_reqflg_dis:
+    .long  _reqflg
+
+/* 
+ *  å²ãè¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©åºå£å¦ç
+ *
+ * æ»ãå
+ãã¿ã¹ã¯ã§reqflgãã»ããããã¦ããå ´åã®ã¿ããã«ããã
+ * r7_bank1 = 0,å²ãè¾¼ã¿ç¦æ­¢ç¶æ
+,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã
+ * ç¶æ
+ã§å¼ã³åºããã¨ã 
+ *	
+ */
+    .text
+    .align 2
+    .globl ret_int
+    .globl ret_exc
+ret_exc:
+ret_int:
+    mov.l  _runtsk_ret,r1     /* r0 <- runtsk                  */
+    mov.l  @r1,r0           
+    mov.l  _enadsp_ret,r2     /* enadspã®ãã§ãã¯              */
+    mov.l  @r2,r3
+    tst    r3,r3           
+    bt     ret_int_1           
+    mov.l  _schedtsk_ret,r4   /* r5 <- schedtsk                */ 
+    mov.l  @r4,r5
+    cmp/eq r0,r5              /* runtsk ã¨ schedtsk ãæ¯è¼     */
+    bt     ret_int_1
+    mov.l  r14,@-r15          /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­          */
+    mov.l  r13,@-r15					
+    mov.l  r12,@-r15					
+    mov.l  r11,@-r15					
+    mov.l  r10,@-r15					
+    mov.l  r9,@-r15					
+    mov.l  r8,@-r15
+    mov    #TCB_sp,r1        /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­           */
+    mov.l  r15,@(r0,r1)    
+    mov.l  ret_int_r_k,r1    /* å®è¡åéçªå°ãä¿å­             */
+    mov    #TCB_pc,r2	
+    mov.l  r1,@(r0,r2)  
+    bra    dispatcher
+     nop
+    
+ret_int_r:
+    mov.l  @r15+,r8		
+    mov.l  @r15+,r9		
+    mov.l  @r15+,r10		
+    mov.l  @r15+,r11		
+    mov.l  @r15+,r12		
+    mov.l  @r15+,r13		
+    mov.l  @r15+,r14		
+ret_int_1:
+    /*
+     *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+     *  ret_int_r ã¯ dispatcher ããå¼ã³åºãããããï¼tcbã®ã¢ãã¬ã¹ã¯r0ã«
+     *  å
+¥ã£ã¦ããï¼
+     *  ãªãï¼å²è¾¼ã¿ã®åºå£ã§ã¿ã¹ã¯ã¹ã¤ãããçºçããªãå ´åã¯ãã£ã¹ãããã£
+     *  ãéããã« ret_int ããç´æ¥ ret_int_1 ã«é£ã¶       
+     */
+    mov.l  @(TCB_enatex,r0),r1
+    mov.l  _enatex_mask_ret,r2
+    tst    r1,r2
+    bt     ret_int_2            /* enatex ã FALSE ãªããªã¿ã¼ã³  */
+    mov.l  @(TCB_texptn,r0),r1  /* texptnãã­ã¼ã                */
+    tst    r1,r1
+    bt     ret_int_2            /* texptn ã 0ã§ç¡ããã°T<= 0    */
+    mov.l _call_texrtn_ret,r1   /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã  */
+    jsr   @r1        
+     nop       
+ret_int_2:               
+#ifdef SUPPORT_CHG_IPM
+    mov    #44,r0
+    mov.l  @(r0,r15),r1
+    mov.l  _unmask_ipm,r2
+    and    r2,r1
+    mov.l  _task_intmask_k,r2
+    mov.l  @r2,r3
+    or     r3,r1
+    mov.l  r1,@(r0,r15)
+#endif /* SUPPORT_CHG_IMP */
+    mov.l  @r15+,r7            /* spc,pr,ssr,ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+    mov.l  @r15+,r6        
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1
+    mov.l  _mask_md_bl_ret,r0
+    ldc    r0,sr               /* BLã1ã«                               */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr       
+    ldc.l  @r15+,ssr    
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+        
+    .align 4
+_runtsk_ret:
+    .long _runtsk
+_schedtsk_ret:	
+    .long _schedtsk
+_enadsp_ret:	
+    .long _enadsp
+ret_int_r_k:
+    .long ret_int_r
+_enatex_mask_ret:    
+    .long TCB_enatex_mask        
+_call_texrtn_ret:	
+    .long _call_texrtn
+_mask_md_bl_ret:	
+    .long  0x50000000
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ */ 
+    .text
+    .align 2
+    .globl _activate_r
+_activate_r:
+    stc    sr,r0               /* å²ãè¾¼ã¿è¨±å¯ */
+    mov.l  _unmask_ipm,r1
+    and    r1,r0	
+#ifdef SUPPORT_CHG_IPM
+    mov.l  _task_intmask_k,r1
+    mov.l  @r1,r2
+    or     r2,r0
+#endif /* SUPPORT_CHG_IPM */
+    ldc    r0,sr
+    mov.l  @r15+,r1
+    lds.l  @r15+,pr
+    mov.l  @r15+,r4
+    jmp    @r1
+     nop
+    .align 4
+_unmask_ipm:
+    .long  0xffffff0f
+#ifdef SUPPORT_CHG_IPM		
+_task_intmask_k:
+    .long _task_intmask
+#endif /* SUPPORT_CHG_IPM */
+		
+		
+/*
+ *  Exception 600 vector
+ *  å²ãè¾¼ã¿ãçºçããã¨å®è¡ãããã		
+ *
+ *
+ *  SH3ã¯å²ãè¾¼ã¿ãçºçããã¨ãã¹ã¦VBR+0x600çªå°ãããã­ã°ã©ã ãå®è¡ããããã
+ *  ããã«é
+ç½®ããã«ã¼ãã³ã§ã¾ãã¹ã¿ãã¯ã®åãæ¿ããã¬ã¸ã¹ã¿ã®ä¿å­,IPMã®è¨­å®,
+ *  å²ãè¾¼ã¿è¦å ã®å¤å®ãè¡ããã®å¾BLãããã0ã«ãã¦å²ãè¾¼ã¿ãã³ãã©ãå¼ã¶å¿
+è¦
+ *  ãããã
+ *  å²ãè¾¼ã¿è¦å ã«å¯¾å¿ããå²ãè¾¼ã¿ãã³ãã©ã®éå§çªå°ã¯é
+åint_table[]ã«ç»é²ã
+ *  ã¦å¼ã³åºãããªãã»ããã®è¨ç®ã¯ãå²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ãå³ã«2ãããã·ããã
+ *  ã¦è¡ããå²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ã¯SH7708ã§ã¯INTEVTã¬ã¸ã¹ã¿ã«ã»ããããããã
+ *  SH7709ããã³SH7709Aã§ã¯INTEVT2ã«ã»ããããããããifdefã«ããåãåãã¦ã
+ *  ããã¾ããä¸é¨ã®ãã£ãã¤ã¹ã«ã¤ãã¦å²ãè¾¼ã¿è¦å ã¬ã¸ã¹ã¿ã§æ¸¡ãããå¤ã¨IPMã¨
+ *  ã®éã«ã¯é¢ä¿ããªããããåå²ãè¾¼ã¿è¦å ã«å¯¾å¿ããIPMãæã¤SRã®å
+å®¹ãé
+å
+ *  int_plevel_table[]ã«ç»é²ãã¦ãããèª­ã¿åºãã
+ *
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ *
+ */
+
+    .org    0x0600        /* _BASE_VBR + 0x0600çªå°ã«é
+ç½® */
+    .align 2
+    .global _interrupt
+_interrupt:
+    stc.l  spc,@-r15       /* å¤éå²ãè¾¼ã¿ãå
+¥ãã¨æ¶ãã¦ãã¾ãã®ã§        */
+    sts.l  pr,@-r15        /* spc,pr,ssr,gbr,macl,mach                    */
+    stc.l  ssr,@-r15    
+    stc.l  gbr,@-r15                    
+    sts.l  macl,@-r15                    
+    sts.l  mach,@-r15                                                    
+    stc.l  r0_bank,@-r15   /* ,r0ãr7ãã¹ã¿ãã¯ã«ä¿å­   */ 
+    stc.l  r1_bank,@-r15
+    stc.l  r2_bank,@-r15
+    stc.l  r3_bank,@-r15
+    stc.l  r4_bank,@-r15
+    stc.l  r5_bank,@-r15
+    stc.l  r6_bank,@-r15    
+    stc.l  r7_bank,@-r15
+    tst    r7,r7                 /* å²ãè¾¼ã¿çºçæã®ã³ã³ãã­ã¹ããå¤å®  */  
+    bf/s    _interrupt_from_int  /* ä¾å¤/å²ãè¾¼ã¿ãã³ãã©ãªãã¸ã£ã³ã   */
+     add    #0x01,r7             /* å²ãè¾¼ã¿ã®ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã*/
+    mov    r15,r1                /* ã¹ã¿ãã¯ãå
+¥ãæ¿ãå
+ã®ã¹ã¿ãã¯ãã¤  */
+    mov.l  _stacktop_k,r15       /* ã³ã¿ãä¿å­                          */
+    mov.l  r1,@-r15            
+    mov.l  _intevt,r0            /* ä¾å¤è¦å ã¬ã¸ã¹ã¿ãåå¾              */
+    mov.l  @r0,r4              
+    shlr2  r4                    /* 3ãããå³ã·ããããªãã»ãããæ±ãã */
+    shlr   r4                  
+    mov.l  _int_plevel_table_k,r0 
+    mov.l  @(r0,r4),r5           /* å²ãè¾¼ã¿ã®åªå
+åº¦ãåå¾               */
+    mov.l  _int_table_k,r0    
+    mov.l  @(r0,r4),r2           /* å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾    */
+    ldc    r2,r2_bank            /* ãã³ã¯0ã«åãæ¿ããããã³ãã¼       */    
+    ldc    r5,sr                 /* ããä»¥éå²ãè¾¼ã¿ãåãä»ããã      */
+    jsr    @r2                   /* å²ãè¾¼ã¿ãã³ãã©ã¸                  */
+     nop
+    mov.l  _mask_md_ipm_ret,r0
+    ldc    r0,sr                 /* å²ãè¾¼ã¿ç¦æ­¢                           */
+    stc    r7_bank,r7            /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã*/
+    dt     r7
+    ldc    r7,r7_bank
+    mov.l  _reqflg_k,r4          /* reqflgã®ãã§ãã¯                       */
+    mov.l  @r4,r1
+    tst    r1,r1                 /* reqflgãFALSEãªãret_to_task_intã«é£ã¶ */
+    bt/s   _ret_to_task_int      /* ã¿ã¹ã¯ã«æ»ã                           */
+     mov.l  @r15,r15             /* æ»ãå
+ãã¿ã¹ã¯ãªã®ã§ã¹ã¿ãã¯ãæ»ã     */
+    xor    r0,r0
+    bra    ret_int
+     mov.l  r0,@r4               /* reqflgãã¯ãªã¢                   */
+_interrupt_from_int:
+    mov.l   _intevt,r0           /* ä¾å¤è¦å ã¬ã¸ã¹ã¿ãåå¾           */
+    mov.l   @r0,r4
+    shlr2   r4                   /* ãªãã»ãããæ±ãã               */
+    shlr    r4                   /* ãªãã»ãããæ±ãã               */    
+    mov.l   _int_plevel_table_k,r0 
+    mov.l   @(r0,r4),r5            /* å²ãè¾¼ã¿ã®åªå
+åº¦ãåå¾           */
+    mov.l   _int_table_k,r0        
+    mov.l   @(r0,r4),r2            /* å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾ */
+    ldc     r2,r2_bank             /* ãã³ã¯0ã«åãæ¿ããããã³ãã¼    */
+    ldc     r5,sr                  /* ããä»¥éå²ãè¾¼ã¿ãåãä»ããã   */
+    jsr     @r2                    /* å²ãè¾¼ã¿ãã³ãã©ã¸               */ 
+     nop
+    mov.l  _mask_md_ipm_ret,r0
+    ldc    r0,sr                   /* å²ãè¾¼ã¿ç¦æ­¢                     */
+    stc    r7_bank,r7              /* ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã*/
+    dt     r7
+    ldc    r7,r7_bank
+_ret_to_task_int:
+    mov.l  @r15+,r7                /* å²ãè¾¼ã¿å
+ã«æ»ã                 */
+    mov.l  @r15+,r6
+    mov.l  @r15+,r5
+    mov.l  @r15+,r4
+    mov.l  @r15+,r3
+    mov.l  @r15+,r2
+    mov.l  @r15+,r1
+    mov.l  _mask_md_bl_int,r0 
+    ldc    r0,sr                   /* BL ã1ã«                         */
+    mov.l  @r15+,r0
+    lds.l  @r15+,mach                
+    lds.l  @r15+,macl        
+    ldc.l  @r15+,gbr                       
+    ldc.l  @r15+,ssr
+    lds.l  @r15+,pr
+    ldc.l  @r15+,spc
+    rte
+     nop
+
+    /*
+     * æªç»é²ã®å²è¾¼ã¿ãçºçããã¨ï¼ãã®æã® INTEVT,INTEVT2,SR,PC ã
+     * å¼æ°ã«cpu_interrupt()ãå¼ã³åºãï¼
+     */   
+    .global _no_reg_interrupt
+_no_reg_interrupt:
+    mov.l _intevt1,r0
+    mov.l @r0,r4
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+    mov.l _intevt2,r0    
+    mov.l @r0,r5
+#endif 
+    stc   spc,r6
+    stc   ssr,r7
+    mov.l _cpu_interrupt_k,r1
+    jsr   @r1
+     nop
+
+        
+    .align  4
+_stacktop_k:    
+    .long  STACKTOP            /* éã¿ã¹ã¯ç¬ç«é¨ã®ã¹ã¿ãã¯ã®åæå¤  */
+_intevt:        
+#if defined(SH7708) || defined(SH7750)    
+    .long  INTEVT
+#else
+    .long  INTEVT2
+#endif    
+_int_table_k:    
+    .long    _int_table       
+_int_plevel_table_k:    
+    .long    _int_plevel_table 
+_reqflg_k:
+    .long  _reqflg
+_mask_md_ipm_ret:    
+    .long  0x40000000 + MAX_IPM << 4
+_mask_md_bl_int:    
+    .long  0x50000000
+_intevt1:        
+    .long  INTEVT
+#if defined(SH7709) || defined(SH7709A) || defined(SH7729R) || defined(SH7727) 
+_intevt2:        
+    .long  INTEVT2
+#endif 
+_cpu_interrupt_k:
+    .long  _cpu_interrupt   
+
+    
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	.globl _sil_dly_nse
+_sil_dly_nse:
+    mov.l  _sil_dly_tim1, r1
+    add    r1, r4
+    cmp/pl r4
+    bt     _sil_dly_nse1
+    rts
+     nop
+_sil_dly_nse1:            
+    mov.l  _sil_dly_tim2, r1
+    add    r1, r4
+    cmp/pl r4
+    bt     _sil_dly_nse1
+    rts
+     nop   
+    .align 4
+_sil_dly_tim1:
+    .long  -SIL_DLY_TIM1    
+_sil_dly_tim2:                         
+    .long  -SIL_DLY_TIM2
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/cpu_unrename.h	(revision 26)
@@ -0,0 +1,39 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r  
+#undef ret_int     
+#undef ret_exc     
+#undef task_intmask
+#undef int_intmask 
+#undef int_table
+#undef int_plevel_table
+#undef exc_table
+#undef BASE_VBR
+#undef general_exception
+#undef no_reg_interrupt
+#undef cpu_expevt
+#undef cpu_interrupt
+
+
+#ifdef LABEL_ASM
+
+#undef _activate_r  
+#undef _ret_int     
+#undef _ret_exc     
+#undef _task_intmask
+#undef _int_intmask 
+#undef _int_table
+#undef _int_plevel_table
+#undef _exc_table
+#undef _BASE_VBR
+#undef _general_exception
+#undef _no_reg_interrupt
+#undef _cpu_expevt
+#undef _cpu_interrupt
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/hw_timer.h	(revision 26)
@@ -0,0 +1,177 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.8 2003/06/20 11:44:42 honda Exp $
+ */
+
+/*
+ *  CPUä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼SH3/4ç¨ï¼
+ *  TMU0ãä½¿ç¨
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®INTEVTçªå·
+ */
+#define	INHNO_TIMER	TMU0_INTEVT
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK	((CLOCK) 0xffffffff)
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã®å¤æ­
+ */
+#define GET_TOLERANCE	100
+#define BEFORE_IREQ(clock) \
+        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize()
+{
+	CLOCK	cyc = TO_CLOCK(TIC_NUME, TIC_DENO);
+        
+	/*
+	 *  ã¿ã¤ãé¢é£ã®è¨­å®
+	 */
+    sil_wrb_mem((VP)TMU_TSTR,
+                (sil_reb_mem((VP)TMU_TSTR) & ~TMU_STR0));  /* ã¿ã¤ãåæ­¢ */
+    assert(cyc <= MAX_CLOCK);		     /* ã¿ã¤ãä¸éå¤ã®ãã§ãã¯ */
+
+    /* åå¨æ¯è¨­å®ãå²ãè¾¼ã¿è¨±å¯ */
+    sil_wrh_mem((VP)TMU_TCR0,(0x020 | TCR0_TPSC));
+    
+    sil_wrw_mem((VP)TMU_TCOR0, cyc); /* timer constantã¬ã¸ã¹ã¿ãã»ãã */
+    sil_wrw_mem((VP)TMU_TCNT0, cyc); /* ã«ã¦ã³ã¿ã¼ãã»ãã */
+    /* ã¿ã¤ã0ã¹ã¿ã¼ã */
+    sil_wrb_mem((VP)TMU_TSTR,
+                (sil_reb_mem((VP)TMU_TSTR) | TMU_STR0));
+
+    
+    /*
+	 *  å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+    define_int_plevel(TMU0_INTEVT,KTIM_INT_LV); /* å²ãè¾¼ã¿ã¬ãã«è¨­å®(SF) */
+    /* å²ãè¾¼ã¿ã¬ãã«è¨­å®(HW) */
+    sil_wrh_mem((VP)IPRA,
+                ((sil_reh_mem((VP)IPRA) & 0x0fff) | (KTIM_INT_LV<<12)));
+    /* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+    sil_wrh_mem((VP)TMU_TCR0,
+                (sil_reh_mem((VP)TMU_TCR0) & ~TCR_UNF));
+}
+
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear()
+{
+    /* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+    sil_wrh_mem((VP)TMU_TCR0,
+                (sil_reh_mem((VP)TMU_TCR0) & ~TCR_UNF));    
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+Inline void
+hw_timer_terminate()
+{
+    /* ã¿ã¤ããåæ­¢ */
+    sil_wrb_mem((VP)TMU_TSTR,
+                (sil_reb_mem((VP)TMU_TSTR) & ~TMU_STR0));
+    /* å²ãè¾¼ã¿è¦æ±ãã¯ãªã¢ */
+    sil_wrh_mem((VP)TMU_TCR0,0);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­ã¿ã ã
+ *
+ *  å²è¾¼ã¿ç¦æ­¢åºéä¸­ã§å¼ã³åºããã¨ï¼
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)TMU_TCNT0));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return(sil_reh_mem((VP)TMU_TCR0) & TCR_UNF);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/makeoffset.c	(revision 26)
@@ -0,0 +1,93 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: makeoffset.c,v 1.11 2004/09/06 16:00:52 hiro Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef offsetof
+#define offsetof(structure, field) \
+                        ((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset()
+{
+	OFFSET_DEF(TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+#ifdef __LITTLE_ENDIAN__
+TCB	BIT_LW_TCB_enatex = {
+#else
+TCB	BIT_BW_TCB_enatex = {
+#endif /* __LITTLE_ENDIAN__ */
+               { NULL, NULL }, NULL, 0, 0,
+               FALSE, FALSE, TRUE,
+               0, NULL, {NULL, NULL }
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/Makefile.config	(revision 26)
@@ -0,0 +1,43 @@
+#
+#  @(#) $Id: Makefile.config,v 1.5 2003/12/11 06:47:39 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼MS7717CP01ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+			-I$(SRCDIR)/pdic/simple_sio
+COPTS := $(COPTS)  -ml -m3
+LDFLAGS := $(LDFLAGS)  -ml
+DBGENV :=
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR     := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)\
+				:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS   := $(KERNEL_COBJS) sys_config.o st16c2550.o
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+TEXT_START_ADDRESS=0x8C003000
+DATA_START_ADDRESS=0x8C100000
+
+#
+#  ãªã³ã«ã¹ã¯ãªãã
+#
+LDSCRIPT = $(CPU)/shlelf.ld
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/07/31 03:10:49 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼MS7727CP01ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/hw_serial.h	(revision 26)
@@ -0,0 +1,170 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.9 2005/07/28 06:56:29 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼MS7717CP01ç¨ï¼
+ *  
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+#include <sh3.h>
+#include <ms7727cp01.h>
+#include <st16c2550.h>
+
+/*
+ *  ã·ãªã¢ã«ã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·(å²è¾¼ã¿åªå
+åº¦)
+ */
+#define INHNO_SIO   ST16C2550_INT
+
+/*
+ * å²ãè¾¼ã¿ã¬ãã«
+ */
+#define SIO_INTLVL   8
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  st16c2550_initialize
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = st16c2550_openflag();
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = st16c2550_opn_por(siopid, exinf);
+
+    /*
+     * å²ãè¾¼ã¿é¢é£ã®è¨­å®
+     * ã¨ã©ã¼ãã³ãã©ãç»é²ãã¹ã
+     */
+    if(!openflag){
+        define_int_plevel(INHNO_SIO,SIO_INTLVL);     /* SWåªå
+åº¦ */
+        sil_wrh_mem((VP)IPRD,                        /* HWåªå
+åº¦ */  
+                    (sil_reh_mem((VP)IPRD) | (SIO_INTLVL << 12))); 
+        /* PINTã¤ãã¼ãã« */
+        sil_wrh_mem((VP)PINTER,
+                    (sil_reh_mem((VP)PINTER) | siopcb->siopinib->pinter_val));
+    }
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    st16c2550_cls_por(siopcb);
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler st16c2550_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr st16c2550_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr st16c2550_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr st16c2550_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr st16c2550_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   st16c2550_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   st16c2550_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/ms7727cp01.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/ms7727cp01.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/ms7727cp01.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ms7727cp01.h,v 1.5 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ *  MS7727CP01ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef _MS7727CP01_H_ 
+#define _MS7727CP01_H_ 
+
+/*
+ *  st16c2550  
+ *  PORT A ã¯ H8 ã¨æ¥ç¶ããã¦ãã
+ */
+#define ST16C_CHA 0xba000000  /* ãã¼ãAãã¼ã¹ã¢ãã¬ã¹ */
+#define ST16C_CHB 0xbb000000  /* ãã¼ãBãã¼ã¹ã¢ãã¬ã¹ */
+
+
+/* 
+ *  ST16C2550ã«ã¯PINT7ã¨PINT6ãæ¥ç¶ããã¦ãã
+ */
+#define ST16C2550_INT PINT0_7_INTEVT
+
+
+#endif /*  _MS7727CP01_H_ */
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.c	(revision 26)
@@ -0,0 +1,111 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.6 2003/12/11 00:52:12 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include <ms7727cp01.h>
+#include <st16c2550.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+    /* PINT7 Hightã¬ãã«ã§åä» */
+    sil_wrh_mem((VP)ICR2,
+                (sil_reh_mem((VP)ICR2) | ICR2_PINT7S));
+
+    /* PINT6 Hightã¬ãã«ã§åä» */
+    sil_wrh_mem((VP)ICR2,
+                (sil_reh_mem((VP)ICR2) | ICR2_PINT6S));    
+    
+    /*
+     * ã³ã³ã½ã¼ã«ç¨ã®ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®åæå
+     */
+    st16c2550_init();    
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+    kernel_abort();
+}
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+
+#ifdef GDB_STUB
+#define SYS_PUT_CHAR(c) stub_putc(c)
+#else 
+#define SYS_PUT_CHAR(c) st16c2550_pol_putc(c,LOGTASK_PORTID)
+#endif /* GDB_STUB */
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        SYS_PUT_CHAR('\r');
+    }
+    SYS_PUT_CHAR(c);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_config.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.10 2004/09/04 16:52:27 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼MS7727CP01ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include <ms7727cp01.h>
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ *  P0,U0,P1ã©ã¤ãã¹ã«ã¼ã¢ã¼ã
+ */
+#define CCR_MODE      0x00000003  
+
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   2   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+
+#ifndef _MACRO_ONLY
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ *
+ */
+
+extern void sys_putc(char c);
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_CONFIG_H_ */
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_defs.h	(revision 26)
@@ -0,0 +1,181 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.7 2004/05/27 08:30:41 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼MS7717CP01ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+/*
+ *  ã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MS7727CP01(SH7727 T-Engine)"
+
+/*
+ * ãã­ã»ããµã®ç¨®é¡(DSPã«ã¯å¯¾å¿ãã¦ããªã)
+ */
+#define SH3
+#define SH7727
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã
+ *      0x8c000000 - 0x8c000000 ãã¯ã¿ãã¼ãã«
+ *      0x8c000500 - 0x8c001fff T-Monitorä½¿ç¨é å
+ *      0x8c002000 - 0x8cffffff ã³ã¼ãé å(1MB)
+ *      0x8c100000 -            ãã¼ã¿é å(3MB)
+ *                 - 0x8c3fffff ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *                 - 0x8e000000 ã¡ã¢ãªçµäº
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#define STACKTOP    0x8c400000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define KTIM_INT_LV   4
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ msec åä½ã¨ã®å¤æ
+ *  MS7727CP01ã§ã¯ãPã¯ã­ãã¯ã24MHz
+ *  åå¨æ¯ /4,/16,/64/256 ã®ãããããé¸æ
+ *  /4:  6Mhz     tick 6000   0.16 Î¼sec
+ *  /16: 1.5Mhz   tick 1500   0.6 Î¼sec
+ *  /64: 0.375Mhz tick 375    2.6 Î¼sec
+ *  /256:0.097Mhz tick 97     10 Î¼sec
+ *
+ *  /16 ãé¸æ
+ *  TMUã®ã¯ã­ãã¯ã®ä¸éã¯2Mhz
+ */
+
+#define TCR0_TPSC  0x0001
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK     1600
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 90
+#define	SIL_DLY_TIM2	 50
+
+
+#ifndef _MACRO_ONLY
+
+
+Inline void
+kernel_abort()
+{
+    UW sr = 0x10000000;
+    
+    /*
+     * å¼·å¶çã«ãªã»ãããçºçããã
+     */
+    /*
+     * BLããããç«ã¦ã
+     */
+	Asm("ldc %0, sr" : : "r"(sr) );
+    
+    /*
+     * æ¸è¾¼ã¿ä¾å¤
+     */
+    *((volatile int *) 0xFFFFFEC1) = 0;
+}
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_DEFS_H_ */
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_support.S	(revision 26)
@@ -0,0 +1,56 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.3 2003/12/24 07:24:40 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/ms7727cp01/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh3.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh3.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh3.h	(revision 26)
@@ -0,0 +1,358 @@
+
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                                  Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh3.h,v 1.8 2006/04/10 09:58:15 honda Exp $
+ */
+
+/*
+ *  SH3(SH7729R,SH7709A,SH7709,SH7708)ã®å
+é¨ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+#ifndef _SH3_H_
+#define _SH3_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ä¾å¤ã¤ãã³ãã¬ã¸ã¹ã¿
+ */
+#define TRA	        0xFFFFFFD0		
+#define EXPEVT	    0xFFFFFFD4		
+#define INTEVT	    0xFFFFFFD8		
+#define INTEVT2	    0xA4000000		
+
+/*
+ * INTEVT(2) ã®æå¤§å¤
+ */ 
+#ifdef SH7709A
+
+#define MAX_INTIVT (0x980)
+
+#elif defined(SH7727)
+
+#define MAX_INTIVT (0xB80)
+
+#elif defined(SH7729R)
+
+#define MAX_INTIVT (0x980)
+
+#elif defined(SH7750)
+
+#define MAX_INTIVT (0x7E0)
+
+#else
+
+#define MAX_INTIVT (0xB80)
+
+#endif 
+
+
+
+/*
+ *   ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©é¢é£
+ */
+#define	RFCR	0xffffff74	/* H */
+
+#define    RFCR_CLEAR         0xa400
+
+
+/*
+ * å²ãè¾¼ã¿ã«ãã£ã¦INTEVT2ã¬ã¸ã¹ã¿ã«è¨­å®ãããå¤
+ */
+#define    TMU0_INTEVT        0x400
+#define    IRQ0_INTEVT        0x600
+#define    SCI_RXI_INTEVT     0x500
+#define    SCI_TXI_INTEVT     0x520
+#define    SCI_BRI_INTEVT     0x4ed
+#define    PINT0_7_INTEVT     0x700
+#define    PINT8_15_INTEVT    0x720
+#define    SCI1_RXI_INTEVT    0x8a0
+#define    SCI1_TXI_INTEVT    0x8e0
+#define    SCI1_BRI_INTEVT    0x8c0
+#define    SCIF_RXI_INTEVT    0x920
+#define    SCIF_TXI_INTEVT    0x960
+#define    SCIF_BRI_INTEVT    0x940
+
+        
+/*
+ * å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã¼ã¬ã¸ã¹ã¿ã¼
+ */
+#define	ICR0	0xfffffee0    /* H */
+#define	ICR1	0xa4000010    /* H */
+#define	ICR2	0xa4000012    /* H */
+#define	PINTER	0xa4000014    /* H */
+#define	IPRA	0xfffffee2    /* H */
+#define	IPRB	0xfffffee4    /* H */
+#define	IPRC	0xa4000016    /* H */
+#define	IPRD	0xa4000018    /* H */
+#define	IPRE	0xa400001a    /* H */
+#define	IRR0	0xa4000004    /* B */
+#define	IRR1	0xa4000006    /* B */
+#define	IRR2	0xa4000008    /* B */
+
+#define ICR2_PINT7S     0x80
+#define ICR2_PINT6S     0x40
+#define PINTER_PINT7E   0x80
+#define PINTER_PINT6E   0x40
+
+/*
+ * ã¿ã¤ãã¼ã¬ã¸ã¹ã¿
+ */
+#define TMU_TOCR   0xfffffe90  /* B */
+#define TMU_TSTR   0xfffffe92  /* B */
+#define TMU_TCOR0  0xfffffe94  /* W */
+#define TMU_TCNT0  0xfffffe98  /* W */
+#define TMU_TCR0   0xfffffe9c  /* H */
+#define TMU_TCOR1  0xfffffea0  /* W */
+#define TMU_TCNT1  0xfffffea4  /* W */
+#define TMU_TCR1   0xfffffea8  /* H */
+#define TMU_TCOR2  0xfffffeac  /* W */
+#define TMU_TCNT2  0xfffffeb0  /* W */
+#define TMU_TCR2   0xfffffeb4  /* H */
+
+#define	TMU_STR0	0x01
+#define	TMU_STR1	0x02
+#define	TMU_STR2	0x04
+#define TCR_UNF     0x0100    
+
+
+/*
+ *  ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCI)
+ */
+#define   SCI_SCSMR    0xfffffe80  /* B */
+#define   SCI_SCBRR    0xfffffe82  /* B */
+#define   SCI_SCSCR    0xfffffe84  /* B */
+#define   SCI_SCTDR    0xfffffe86  /* B */
+#define   SCI_SCSSR    0xfffffe88  /* B */
+#define   SCI_SCRDR    0xfffffe8a  /* B */
+
+/*
+ *  ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCI)ã®
+ *  ãã¼ãSCã³ã³ãã­ã¼ã«/ãã¼ã¿ã¬ã¸ã¹ã¿
+ *  SH7709åã³SH7709Aã®ã¿
+ */
+#define	SCPDR     0xa4000136   /* B */
+#define	SCPCR	  0xa4000116   /* H */
+
+
+/*
+ *  ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCI)ã®
+ *  ã·ãªã¢ã«ãã¼ãã¬ã¸ã¹ã¿
+ *  SH7708ã®ã¿
+ */
+#define	SCSPTR	  0xffffff7c  /* H */
+
+#define	SCSMR_CHR	  0x0040
+#define	SCSMR_PE	  0x0020
+#define	SCSMR_OE	  0x0010
+#define	SCSMR_STOP	  0x0008
+#define	SCSMR_CKS1	  0x0002
+#define	SCSMR_CKS0	  0x0001
+
+#define SCSCR_TIE	  0x0080
+#define SCSCR_RIE	  0x0040
+#define SCSCR_TE	  0x0020
+#define SCSCR_RE	  0x0010
+#define SCSCR_CKE1	  0x0002
+#define SCSCR_CKE0	  0x0001
+
+#define SCSSR_TDRE	  0x80
+#define SCSSR_RDRF	  0x40
+#define SCSSR_ORER	  0x20
+#define SCSSR_FER	  0x10
+#define SCSSR_PER	  0x08
+#define SCSSR_TEND	  0x04
+#define SCSSR_MPB	  0x02
+#define SCSSR_MPBT	  0x01
+
+
+/*
+ *  FIFOä»ãã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCIF)ã¬ã¸ã¹ã¿
+ *  SH7709åã³SH7709Aã®ã¿
+ */
+#define  SCIF_SCSMR2     0xa4000150  /* B */
+#define  SCIF_SCBRR2     0xa4000152  /* B */
+#define  SCIF_SCSCR2     0xa4000154  /* B */
+#define  SCIF_SCFTDR2    0xa4000156  /* B */
+#define  SCIF_SCSSR2     0xa4000158  /* H */
+#define  SCIF_SCFRDR2    0xa400015a  /* B */
+#define  SCIF_SCFCR2     0xa400015c  /* B */
+#define  SCIF_SCFDR2     0xa400015e  /* H */
+
+#define	SCSMR2_CHR	  0x0040
+#define	SCSMR2_PE	  0x0020
+#define	SCSMR2_OE	  0x0010
+#define	SCSMR2_STOP	  0x0008
+#define	SCSMR2_CKS1	  0x0002
+#define	SCSMR2_CKS0	  0x0001
+
+#define SCSCR2_TIE	  0x0080
+#define SCSCR2_RIE	  0x0040
+#define SCSCR2_TE	  0x0020
+#define SCSCR2_RE	  0x0010
+#define SCSCR2_CKE1	  0x0002
+#define SCSCR2_CKE0	  0x0001
+
+#define SCSSR2_ER	  0x0080
+#define SCSSR2_TEND	  0x0040
+#define SCSSR2_TDFE	  0x0020
+#define SCSSR2_BRK	  0x0010
+#define SCSSR2_FER	  0x0008
+#define SCSSR2_PER	  0x0004
+#define SCSSR2_RDF	  0x0002
+#define SCSSR2_DR	  0x0001
+
+
+#define SCFCR2_RTRG1  0x0080
+#define SCFCR2_RTRG0  0x0040
+#define SCFCR2_TTRG1  0x0020
+#define SCFCR2_TTRG0  0x0010
+#define SCFCR2_MCE	  0x0008
+#define SCFCR2_TFRST  0x0004
+#define SCFCR2_RFRST  0x0002
+#define SCFCR2_LOOP	  0x0001
+
+
+/*
+ *  IrDA (SCI1)ã¬ã¸ã¹ã¿
+ *  SH7709åã³SH7709Aã®ã¿
+ */
+#define  SCI1_SCSMR1    0xa4000140   /* B */ 
+#define  SCI1_SCBRR1    0xa4000142   /* B */ 
+#define  SCI1_SCSCR1    0xa4000144   /* B */ 
+#define  SCI1_SCFTDR1   0xa4000146   /* B */ 
+#define  SCI1_SCSSR1    0xa4000148   /* H */ 
+#define  SCI1_SCFRDR1   0xa400014a   /* B */ 
+#define  SCI1_SCFCR1    0xa400014c   /* B */ 
+#define  SCI1_SCFDR1    0xa400014e   /* H */ 
+
+#define	SCSMR1_IRMOD    0x0080
+#define	SCSMR1_CHR	    0x0040
+#define	SCSMR1_PE	    0x0020
+#define	SCSMR1_OE	    0x0010
+#define	SCSMR1_STOP	    0x0008
+#define	SCSMR1_CKS1	    0x0002
+#define	SCSMR1_CKS0	    0x0001
+
+#define SCSCR1_TIE      0x0080
+#define SCSCR1_RIE      0x0040
+#define SCSCR1_TE       0x0020
+#define SCSCR1_RE       0x0010
+#define SCSCR1_CKE1     0x0002
+#define SCSCR1_CKE0     0x0001
+
+#define SCSSR1_ER	0x0080
+#define SCSSR1_TEND	0x0040
+#define SCSSR1_TDFE	0x0020
+#define SCSSR1_BRK	0x0010
+#define SCSSR1_FER	0x0008
+#define SCSSR1_PER	0x0004
+#define SCSSR1_RDF	0x0002
+#define SCSSR1_DR	0x0001
+
+
+#define SCFCR1_RTRG1    0x0080
+#define SCFCR1_RTRG0    0x0040
+#define SCFCR1_TTRG1    0x0020
+#define SCFCR1_TTRG0    0x0010
+#define SCFCR1_MCE      0x0008
+#define SCFCR1_TFRST    0x0004
+#define SCFCR1_RFRST    0x0002
+#define SCFCR1_LOOP     0x0001
+
+
+
+/*
+ * ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿
+ */
+#define	CCR	   0xffffffec   /* W */
+
+#define CCR_DISABLE   0x00000008     /* ã­ã£ãã·ã¥ã®ç¡å¹å */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *   SH7709Aåã³SH7709ã®SCIFã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+Inline int
+scif_putc(int c)
+{
+    /* Wait TDRD = 1 */
+    while((sil_reb_mem((VP)SCIF_SCSSR2) & SCSSR2_TDFE)==0);
+
+    sil_wrb_mem((VP)SCIF_SCFTDR2, c);
+    sil_wrh_mem((VP)SCIF_SCSSR2,
+                (sil_reh_mem((VP)SCIF_SCSSR2) & ~SCSSR2_TDFE));
+    return(c);
+}
+
+    
+/*
+ *  SCIã«ããåºå
+ */
+Inline int
+sci_putc(int c)
+{
+
+    /* Wait TDRD = 1 */
+    while((sil_reb_mem((VP)SCI_SCSSR) & SCSSR_TDRE) == 0);
+
+    sil_wrb_mem((VP)SCI_SCTDR, c);
+    sil_wrb_mem((VP)SCI_SCSSR,
+                (sil_reb_mem((VP)SCI_SCSSR) & ~SCSSR_TDRE));
+    return(c);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SH3_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh4.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh4.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/sh4.h	(revision 26)
@@ -0,0 +1,226 @@
+
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                                  Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sh4.h,v 1.4 2003/06/17 16:45:54 honda Exp $
+ */
+
+/*
+ *  SH4(SH7750)ã®å
+é¨ã¬ã¸ã¹ã¿å®ç¾©
+ */
+
+#ifndef _SH4_H_
+#define _SH4_H_
+
+/*
+ *  ä¾å¤ã¤ãã³ãã¬ã¸ã¹ã¿
+ */
+#define TRA	        0xff000020
+#define EXPEVT	    0xff000024
+#define INTEVT	    0xff000028
+
+
+/*
+ *   ãã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©é¢é£
+ */
+#define	RFCR	    0xff800028   /* H */
+
+#define RFCR_CLEAR  0xa400
+
+/*
+ * å²ãè¾¼ã¿ã«ãã£ã¦ INTEVT ã¬ã¸ã¹ã¿ã«è¨­å®ãããå¤
+ */
+#define    TMU0_INTEVT        0x400
+#define    SCI_RXI_INTEVT     0x500
+#define    SCI_TXI_INTEVT     0x520
+#define    SCI_ERI_INTEVT     0x4e0
+#define    SCIF_RXI_INTEVT    0x720
+#define    SCIF_TXI_INTEVT    0x760
+#define    SCIF_BRI_INTEVT    0x740
+
+
+        
+/*
+ * å²è¾¼ã¿ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+ */
+#define	ICR   0xffd00000    /* H */
+#define	IPRA  0xffd00004    /* H */
+#define	IPRB  0xffd00008    /* H */
+#define	IPRC  0xffd0000c    /* H */
+#define	IPRD  0xffd00010    /* H */
+
+
+/*
+ * ã¿ã¤ãã¼ã¬ã¸ã¹ã¿
+ */
+#define TMU_TOCR   0xffd80000  /* B */
+#define TMU_TSTR   0xffd80004  /* B */
+#define TMU_TCOR0  0xffd80008  /* W */
+#define TMU_TCNT0  0xffd8000c  /* W */
+#define TMU_TCR0   0xffd80010  /* H */
+#define TMU_TCOR1  0xffd80014  /* W */
+#define TMU_TCNT1  0xffd80018  /* W */
+#define TMU_TCR1   0xffd8001c  /* H */
+#define TMU_TCOR2  0xffd80020  /* W */
+#define TMU_TCNT2  0xffd80024  /* W */
+#define TMU_TCR2   0xffd80028  /* H */
+
+#define	TMU_STR0	0x01
+#define	TMU_STR1	0x02
+#define	TMU_STR2	0x04
+#define TCR_UNF     0x0100    
+
+/*
+ *
+ *  ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCI)
+ *
+ */
+#define SCI_SCSMR1  0xffe00000    /* B */
+#define SCI_SCBRR1  0xffe00004    /* B */
+#define SCI_SCSCR1  0xffe00008    /* B */
+#define SCI_SCTDR1  0xffe0000c    /* B */
+#define SCI_SCSSR1  0xffe00010    /* B */
+#define SCI_SCRDR1  0xffe00014    /* B */
+#define SCI_SCSPTR1 0xffe0001c    /* B */
+
+
+#define	SCSMR_CHR	  0x0040
+#define	SCSMR_PE	  0x0020
+#define	SCSMR_OE	  0x0010
+#define	SCSMR_STOP	  0x0008
+#define	SCSMR_CKS1	  0x0002
+#define	SCSMR_CKS0	  0x0001
+
+#define SCSCR_TIE	  0x0080
+#define SCSCR_RIE	  0x0040
+#define SCSCR_TE	  0x0020
+#define SCSCR_RE	  0x0010
+#define SCSCR_CKE1	  0x0002
+#define SCSCR_CKE0	  0x0001
+
+#define SCSSR_TDRE	  0x80
+#define SCSSR_RDRF	  0x40
+#define SCSSR_ORER	  0x20
+#define SCSSR_FER	  0x10
+#define SCSSR_PER	  0x08
+#define SCSSR_TEND	  0x04
+#define SCSSR_MPB	  0x02
+#define SCSSR_MPBT	  0x01
+
+/*
+ *
+ *  FIFOä»ãã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹(SCIF)ã¬ã¸ã¹ã¿
+ *
+ */
+#define SCIF_SCSMR2    0xffe80000   /* H */
+#define SCIF_SCBRR2    0xffe80004   /* B */
+#define SCIF_SCSCR2    0xffe80008   /* H */
+#define SCIF_SCFTDR2   0xffe8000c   /* B */
+#define SCIF_SCFSR2    0xffe80010   /* H */
+#define SCIF_SCFRDR2   0xffe80014   /* B */
+#define SCIF_SCFCR2    0xffe80018   /* H */
+#define SCIF_SCFDR2    0xffe8001c   /* H */
+#define	SCIF_SCSPTR2   0xffe80020   /* H */
+#define	SCIF_SCLSR2	   0xffe80024   /* H */
+
+#define	SCSMR2_CHR	  0x0040
+#define	SCSMR2_PE	  0x0020
+#define	SCSMR2_OE	  0x0010
+#define	SCSMR2_STOP	  0x0008
+#define	SCSMR2_CKS1	  0x0002
+#define	SCSMR2_CKS0	  0x0001
+
+#define SCSCR2_TIE	  0x0080
+#define SCSCR2_RIE	  0x0040
+#define SCSCR2_TE	  0x0020
+#define SCSCR2_RE	  0x0010
+#define SCSCR2_CKE1	  0x0002
+#define SCSCR2_CKE0	  0x0001
+
+#define SCFSR2_ER	  0x0080
+#define SCFSR2_TEND	  0x0040
+#define SCFSR2_TDFE	  0x0020
+#define SCFSR2_BRK	  0x0010
+#define SCFSR2_FER	  0x0008
+#define SCFSR2_PER	  0x0004
+#define SCFSR2_RDF	  0x0002
+#define SCFSR2_DR	  0x0001
+
+#define SCFCR2_RTRG1  0x0080
+#define SCFCR2_RTRG0  0x0040
+#define SCFCR2_TTRG1  0x0020
+#define SCFCR2_TTRG0  0x0010
+#define SCFCR2_MCE	  0x0008
+#define SCFCR2_TFRST  0x0004
+#define SCFCR2_RFRST  0x0002
+#define SCFCR2_LOOP	  0x0001
+
+#define SCSPTR2_RTSIO  0x0080
+#define SCSPTR2_RTSDT  0x0040
+#define SCSPTR2_CTSIO  0x0020
+#define SCSPTR2_CTSDT  0x0010
+#define SCSPTR2_SPB2IO 0x0002
+#define SCSPTR2_SPB2DT 0x0001
+
+
+/*
+ * ã­ã£ãã·ã¥å¶å¾¡ã¬ã¸ã¹ã¿
+ */
+#define	CCR	0xff00001c   /* W */
+#define CCR_DISABLE   0x00000808  /* ã­ã£ãã·ã¥ç¡å¹ */
+
+
+#endif /* _SH4_H_ */
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shelf.ld	(revision 26)
@@ -0,0 +1,54 @@
+/*
+ *  @(#) $Id: shelf.ld,v 1.2 2003/07/01 15:59:15 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-sh","elf32-sh","elf32-sh")
+OUTPUT_ARCH(sh)
+	
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+SECTIONS
+{
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { *(.rodata) }
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+
+      *(.bss)
+      *(COMMON)
+    }
+    _end = .		;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}	
+	
+	
+		
+	
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shlelf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shlelf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/shlelf.ld	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  @(#) $Id: shlelf.ld,v 1.3 2003/12/04 14:14:39 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-shl","elf32-shl","elf32-shl")
+OUTPUT_ARCH(sh)
+
+PROVIDE(_hardware_init_hook = 0);
+PROVIDE(_software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+
+SECTIONS
+{
+    .text :
+    {
+        __text = . ;
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+    .init :
+    {
+        KEEP (*(.init))
+    } = 0
+    .fini :
+    {
+        KEEP (*(.fini))
+    } = 0
+    _etext = . ;
+    PROVIDE (etext = .) ;
+   .eh_frame_hdr : { *(.eh_frame_hdr) }
+    .rodata :
+    {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+    . = ALIGN(4);
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data .data.* .gnu.linkonce.d.*)
+        SORT(CONSTRUCTORS)
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    .eh_frame       : { KEEP (*(.eh_frame)) }
+    .gcc_except_table   : { *(.gcc_except_table) }
+    .ctors :
+    {
+        ___ctors = .;
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+        ___ctors_end = .;
+    }
+    .dtors :
+    {
+        ___dtors = .;
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+        ___dtors_end = .;
+    }
+    .jcr   : { KEEP (*(.jcr)) }
+    .got   : { *(.got.plt) *(.got) }
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = . ;
+    .bss       :
+    {
+
+      *(.bss)
+      *(COMMON)
+    }
+    . = ALIGN(4);
+    _end = .		;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/Makefile.config	(revision 26)
@@ -0,0 +1,63 @@
+#
+#  @(#) $Id: Makefile.config,v 1.6 2004/09/04 16:17:50 honda Exp $
+# 
+
+#
+#  Makefile ã®ã·ã¹ãã ä¾å­é¨åï¼Solution Engineç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS) \
+			-I$(SRCDIR)/pdic/simple_sio
+COPTS    := $(COPTS) -m3
+LDFLAGS  := $(LDFLAGS) 
+
+#
+# ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)\
+				:$(SRCDIR)/pdic/simple_sio
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o fdc37c935a.o 
+
+
+#
+#  åã»ã°ã¡ã³ãã®éå§ã¢ãã¬ã¹ã®å®ç¾©
+#
+ifeq ($(DBGENV),GDB_STUB)
+     TEXT_START_ADDRESS=0x0C003000
+     DATA_START_ADDRESS=0x0C100000
+else
+     TEXT_START_ADDRESS=0x0C000000
+     DATA_START_ADDRESS=0x0C100000
+endif
+
+#
+#  ã¿ã¼ã²ãããã¼ãä¾å­ã®å®ç¾©
+#
+
+# MS7729RSE01
+CDEFS := $(CDEFS)  -DMS7729RSE01
+
+# MS7709ASE01
+#CDEFS := $(CDEFS) -DMS7709ASE01
+
+# MS7750SE01
+#CDEFS := $(CDEFS) -DMS7750SE01
+
+
+#
+#  ã¨ã³ãã£ã¢ã³
+#
+#Little
+COPTS := $(COPTS) -ml 
+LDFLAGS := $(LDFLAGS) -ml
+LDSCRIPT = $(CPU)/shlelf.ld
+
+#Big
+#COPTS := $(COPTS) -mb 
+#LDFLAGS := $(LDFLAGS) -mb
+#LDSCRIPT = $(CPU)/shelf.ld
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.cfg	(revision 26)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/07/31 03:10:14 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Solution Engineç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/hw_serial.h	(revision 26)
@@ -0,0 +1,164 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.4 2003/12/11 00:52:12 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Solution Engineç¨ï¼
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ä¸ã®ã·ãªã¢ã«1ãä½¿ç¨
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <solution_engine.h>
+#include <fdc37c935a.h>
+
+/*
+ *  ã·ãªã¢ã«ã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·(å²è¾¼ã¿åªå
+åº¦)
+ */
+#define INHNO_SIO   UART_IRQ0
+
+/*
+ * å²ãè¾¼ã¿ã¬ãã«ã¯åºå®ã§ããï¼
+ */
+#define SCI1INTLVL   8
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  smsc_sci0_initialize
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB  *siopcb;
+    BOOL    openflag;
+
+    /*
+     *  ãªã¼ãã³ãããã¼ãããããã openflg ã«èª­ãã§ããï¼
+     */
+    openflag = smsc_sci0_openflag();
+    
+    
+    /*
+     *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+     */
+    siopcb = smsc_sci0_opn_por(siopid, exinf);
+
+      
+    /*
+     * å²ãè¾¼ã¿é¢é£ã®è¨­å®
+     * ã¨ã©ã¼ãã³ãã©ãç»é²ãã¹ã
+     */
+    if(!openflag){
+        define_int_plevel(INHNO_SIO,SCI1INTLVL);
+    }
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+    /*
+     *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+     */
+    smsc_sci0_cls_por(siopcb);
+}
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler smsc_sci0_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr smsc_sci0_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr smsc_sci0_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr smsc_sci0_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr smsc_sci0_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   smsc_sci0_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   smsc_sci0_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7709ase01.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7709ase01.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7709ase01.h	(revision 26)
@@ -0,0 +1,136 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ms7709ase01.h,v 1.4 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ *   MS7729RSE01ç¨ã®å®ç¾©
+ *   sys_defs.h ããã¤ã³ã¯ã«ã¼ããã
+ */
+
+#ifndef _MS7709ASE01_H_
+#define _MS7709ASE01_H_
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+/*
+ * ãã­ã»ããµã®ç¨®é¡(DSPã«ã¯å¯¾å¿ãã¦ããªã)
+ */
+#define SH3
+#define SH7709A
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MS7709ASE01(CPU:SH7709A Solution Engine)"
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ *  P0,U0,P1ã©ã¤ãã¹ã«ã¼ã¢ã¼ã
+ */
+#define CCR_MODE      0x00000003  
+
+/*
+ *  SCIF,SCI,TMUã®è¨­å®å¤
+ *
+ */
+
+/*
+ * ã«ã¼ãã«ã§ã¯CPGã®è¨­å®ã¯è¡ããªã
+ * GDB_STUBãããã¯ICEã«ãã
+ * ã¯ã­ãã¯ã¢ã¼ã0 
+ * OSC1 33MHz : I:B:P = 4:1:1
+ * è¨­å®ãããã¨
+ * 
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ msec åä½ã¨ã®å¤æ
+ *  Pã¯ã­ãã¯ã¯ 33.2MHz
+ *  åå¨æ¯ /4,/16,/64/256 ã®ãããããé¸æ
+ *  /4:  8.3Mhz   tick 8300   0.12 Î¼sec
+ *  /16: 2.075Mhz tick 2075   0.48 Î¼sec 
+ *  /64: 0.518Mhz tick 518    1.93 Î¼sec
+ *  /256:0.129Mhz tick 129    7.73 Î¼sec
+ *
+ */
+#define TCR0_TPSC  0x0001
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK		2075
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define SMSC_BASE_ADDR 0xB0400000
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ä¸ã®SCI0ã®ãã¼ã¬ã¼ãã®è¨­å®å¤
+ *  19200bps
+ */
+#define SMSC_SCI0_BPS 0x0006
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 90
+#define	SIL_DLY_TIM2	 50
+
+#endif  /* _MS7709ASE01_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7729rse01.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7729rse01.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7729rse01.h	(revision 26)
@@ -0,0 +1,136 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ms7729rse01.h,v 1.5 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ *   MS7729RSE01ç¨ã®å®ç¾©
+ *   sys_defs.h ããã¤ã³ã¯ã«ã¼ããã
+ */
+
+#ifndef _MS7729RSE01_H_
+#define _MS7729RSE01_H_
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_LITTLE  /* ãªãã«ã¨ã³ãã£ã¢ã³ */
+
+/*
+ * ãã­ã»ããµã®ç¨®é¡(DSPã«ã¯å¯¾å¿ãã¦ããªã)
+ */
+#define SH3
+#define SH7729R
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MS7729RSE01(CPU:SH7729R Solution Engine)"
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ *  P0,U0,P1ã©ã¤ãã¹ã«ã¼ã¢ã¼ã
+ */
+#define CCR_MODE      0x00000003  
+
+/*
+ *  SCIF,SCI,TMUã®è¨­å®å¤
+ *
+ */
+
+/*
+ * ã«ã¼ãã«ã§ã¯CPGã®è¨­å®ã¯è¡ããªã
+ * GDB_STUBãããã¯ICEã«ãã
+ * ã¯ã­ãã¯ã¢ã¼ã0 
+ * OSC1 33MHz : I:B:P = 4:1:1
+ * è¨­å®ãããã¨
+ * 
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ msec åä½ã¨ã®å¤æ
+ *  Pã¯ã­ãã¯ã¯ 33.2MHz
+ *  åå¨æ¯ /4,/16,/64/256 ã®ãããããé¸æ
+ *  /4:  8.3Mhz   tick 8300   0.12 Î¼sec
+ *  /16: 2.075Mhz tick 2075   0.48 Î¼sec 
+ *  /64: 0.518Mhz tick 518    1.93 Î¼sec
+ *  /256:0.129Mhz tick 129    7.73 Î¼sec
+ *
+ */
+#define TCR0_TPSC  0x0001
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK		2075
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define SMSC_BASE_ADDR 0xB0400000
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ä¸ã®SCI0ã®ãã¼ã¬ã¼ãã®è¨­å®å¤
+ *  19200bps
+ */
+#define SMSC_SCI0_BPS 0x0006
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 90
+#define	SIL_DLY_TIM2	 50
+
+#endif  /* _MS7729RSE01_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7750se01.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7750se01.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/ms7750se01.h	(revision 26)
@@ -0,0 +1,136 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ms7750se01.h,v 1.4 2005/07/06 01:34:05 honda Exp $
+ */
+
+/*
+ *   MS7729RSE01ç¨ã®å®ç¾©
+ *   sys_defs.h ããã¤ã³ã¯ã«ã¼ããã
+ */
+
+#ifndef _MS7729RSE01_H_
+#define _MS7729RSE01_H_
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN  SIL_ENDIAN_BIG  /* ããã¯ã¨ã³ãã£ã¢ã³ */
+
+/*
+ * ãã­ã»ããµã®ç¨®é¡(DSPã«ã¯å¯¾å¿ãã¦ããªã)
+ */
+#define SH4
+#define SH7750
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"MS7750SE01(CPU:SH7750 Solution Engine)"
+
+/*
+ *  ã­ã£ãã·ã¥ã¢ã¼ãã®è¨­å®
+ *  P0,U0,P1ã©ã¤ãã¹ã«ã¼ã¢ã¼ã
+ */
+#define CCR_MODE      0x0000898d
+
+/*
+ *  SCIF,SCI,TMUã®è¨­å®å¤
+ *
+ */
+
+/*
+ * ã«ã¼ãã«ã§ã¯CPGã®è¨­å®ã¯è¡ããªã
+ * GDB_STUBãããã¯ICEã«ãã
+ * ã¯ã­ãã¯ã¢ã¼ã0 
+ * OSC1 33MHz : I:B:P = 4:1:1
+ * è¨­å®ãããã¨
+ * 
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ msec åä½ã¨ã®å¤æ
+ *  Pã¯ã­ãã¯ã¯ 33.2MHz
+ *  åå¨æ¯ /4,/16,/64/256 ã®ãããããé¸æ
+ *  /4:  8.3Mhz   tick 8300   0.12 Î¼sec
+ *  /16: 2.075Mhz tick 2075   0.48 Î¼sec 
+ *  /64: 0.518Mhz tick 518    1.93 Î¼sec
+ *  /256:0.129Mhz tick 129    7.73 Î¼sec
+ *
+ */
+#define TCR0_TPSC  0x0001
+
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK		2075
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ã®ãã¼ã¹ã¢ãã¬ã¹
+ */
+#define SMSC_BASE_ADDR 0xB0400000
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ä¸ã®SCI0ã®ãã¼ã¬ã¼ãã®è¨­å®å¤
+ *  19200bps
+ */
+#define SMSC_SCI0_BPS 0x0006
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+ */
+#define	SIL_DLY_TIM1	 90
+#define	SIL_DLY_TIM2	 50
+
+#endif  /* _MS7729RSE01_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/solution_engine.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/solution_engine.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/solution_engine.h	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: solution_engine.h,v 1.4 2003/07/29 07:53:11 honda Exp $
+ */
+
+/*
+ *  Solution Engineã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#ifndef _SOLUTION_ENGINE_H_
+#define _SOLUTION_ENGINE_H_
+
+#ifndef _MACRO_ONLY
+#include <itron.h>
+#include <sil.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  FPGA1(U17)ã«ããçæãããå²è¾¼ã¿ã®INTEVTã³ã¼ã
+ */
+#define SLOT_IRQ8  0x200
+#define KBC0_IRQ0  0x220
+#define PCIC_IRQ2  0x240
+#define UART_IRQ1  0x260
+#define SLOT_IRQ6  0x280
+#define KBC_IRQ1   0x2A0
+#define PCIC_IRQ1  0x2C0
+#define UART_IRQ0  0x2E0
+#define SLOT_IRQ4  0x300
+#define SLOT_IRQ3  0x320
+#define PRN_IRQ    0x340
+#define SLOT_IRQ2  0x360
+#define LAN_IRQ    0x380
+#define FDC_IRQ    0x3A0
+#define PCIC_IRQ0  0x3C0
+
+
+
+
+#endif /*  _SOLUTION_ENGINE_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.c	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.4 2003/12/11 00:52:12 honda Exp $
+ */
+
+/*
+ * ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Solution Engineç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <solution_engine.h>
+#include <fdc37c935a.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+void
+sys_initialize()
+{
+#if defined(MS7709ASE01) || defined(MS7729RSE01)    
+    /* Enable IRL Interrupt */
+    sil_wrh_mem((VP)ICR1, 0x5000);
+#else /* MS7750SE01 */
+    sil_wrh_mem((VP)ICR, 0x0000);
+#endif /* defined(MS7709ASE01) | defined(MS7729RSE01) */   
+    /*
+     * Init Super I/O
+     */
+    smsc_init();
+
+    /*
+     * Init SIO
+     */
+    fdc37c935a_init();
+}
+
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼éå¸¸ã¯ã¢ãã¿å¼ã³åºãã§å®ç¾ããï¼
+ *  
+ */
+void
+sys_exit(void)
+{
+  Asm("trapa #0xff"::);
+}
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+
+#ifdef GDB_STUB
+#define SYS_PUT_CHAR(c) stub_putc(c)
+#else  
+#define SYS_PUT_CHAR(c) fdc37c935a_pol_putc(c)
+#endif 
+
+
+void
+sys_putc(char c)
+{
+    if (c == '\n') {
+        SYS_PUT_CHAR('\r');
+    }
+    SYS_PUT_CHAR(c);
+}
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_config.h	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.9 2005/07/06 01:48:21 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Solution Engineç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+ 
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define TNUM_PORT   1   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP   1   /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+
+extern void sys_putc(char c);
+
+/*
+ *  FDC37C935A ããã®ãã¼ãªã³ã°åºå
+ */
+extern void fdc37c935a_pol_putc(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_defs.h	(revision 26)
@@ -0,0 +1,142 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.6 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Solution Engineç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã¿ã¼ã²ãããã¼ãæ¯ã®è¨­å®ãèª­è¾¼ã
+ */
+#ifdef MS7729RSE01
+#include <ms7729rse01.h>
+#elif  MS7709ASE01
+#include <ms7709ase01.h>
+#elif MS7750SE01
+#include <ms7750se01.h>
+#endif /* MS7729RSE01 */
+
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªããã 
+ *      0c000000 - 0c000fff     stubã®ã¯ã¼ã¯ã¨ãªã¢
+ *      0c001000 - 0c100000     ã³ã¼ãé å(1MB)
+ *      0c100000 -              ãã¼ã¿é å(3MB)
+ *               - 0c3fffff     ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯
+ *               - 0c400000     ã¡ã¢ãªçµäº
+ *
+ */
+
+/*
+ *   ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#define STACKTOP    0x0c400000    /* ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ */
+
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define KTIM_INT_LV   4
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ * ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+#ifdef GDB_STUB
+Inline void
+kernel_abort()
+{
+    Asm("trapa #0xff");
+}
+
+#else /* GDB_STUB */
+
+Inline void
+kernel_abort()
+{
+
+}
+
+#endif /* GDB_STUB */
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _SYS_DEFS_H_ */
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_rename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_support.S	(revision 26)
@@ -0,0 +1,58 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.3 2003/12/24 07:24:40 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "jsp_kernel.h"
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/solution_engine/sys_unrename.h	(revision 26)
@@ -0,0 +1,14 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/start.S	(revision 26)
@@ -0,0 +1,218 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                                  Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: start.S,v 1.10 2003/12/11 00:52:12 honda Exp $
+ */
+        
+/*
+ *  ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ */               
+#define _MACRO_ONLY
+#include <t_config.h>
+#include <sys_defs.h>
+        
+/*
+ *   SH3ç¨ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+ *   ã«ã¼ãã«ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãªã³ã¯ãã¦ä½¿ç¨ãã
+ *   ã ããªã®ã§JSPã«ã¼ãã«ã®ã¿ä½¿ç¨ããã	
+ */
+	.global	_start
+	.align 2
+_start:
+	/*
+	 *  ã­ã£ãã·ã¥ã®åæå
+	 */
+	mov.l _ccr_addr,r1
+	mov.l _ccr_disable,r2
+	mov.l r2,@r1
+	mov.l _ccr_mode,r2
+	mov.l r2,@r1
+
+	/*
+	 *  SRãåæåããã
+	 *  MD=1, RB=0, BL=0, I3ãI0=e fã¯stubã®ã¿
+	 */
+	mov.l _init_sr,r0
+	ldc   r0,sr
+	mov   #0x01,r0
+	ldc   r0,r7_bank
+	/*
+	 * ã¿ã¹ã¯ç¬ç«ã®ã¹ã¿ãã¯ãSTACKTOPã«åæåãã
+	 * STACKTOPã¯ãsys_config.hã§å®ç¾©
+	 */
+	mov.l  _stack_k, r15
+
+	/*
+	 *  _hardware_init_hook ãå¼ã³åºãã(0ã§ãªãå ´å)
+	 *
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã«å¿
+è¦ãªåæåå¦çãããå ´åã¯ï¼
+	 *  hardware_init_hook ã¨ããé¢æ°ãç¨æããã°ããï¼
+	 *  å
+·ä½çã«ã¯ROMåã®éãRAMãä½¿ç¨å¯è½ã«ããããã®
+	 *  ãã¹ã³ã³ãã­ã¼ã©ã®åæåç­ãè¡ãã
+	 *  sys_support.S å
+ã§ _hardware_init_hook ãå®ç¾©ãã¦ã
+	 *  ãï¼
+	 */
+
+start_0:
+	mov.l  _hardware_init_hook_k, r0
+	tst    r0,r0
+	bt     start_1
+	jsr    @r0
+     or      r0,r0
+
+	
+	/*
+     * bssã»ã¯ã·ã§ã³ãã¯ãªã¢
+	 */
+start_1:		
+	mov.l	_bss_start_k,r0
+	mov.l	_end_k,r1
+	cmp/eq  r0,r1
+	bt      start_3
+	mov	    #0,r2
+start_2:
+    mov.l	r2,@r0
+	add	#4,r0
+ 	cmp/hi	r0,r1
+	bt	start_2
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ãåæåããï¼ROMåå¯¾å¿ï¼ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 */
+start_3:
+	mov.l   __idata_start_k,r1
+	mov.l   __idata_end_k,r2
+	cmp/eq  r1,r2
+	bt      start_5
+	mov.l   __data_start_k,r0
+start_4:	
+	mov.l   @r1+,r4
+	mov.l   r4,@r0
+	cmp/hi  r1,r2
+	add     #4,r0
+	bt      start_4
+
+		
+	/*
+	 *  _software_init_hook ãå¼ã³åºãï¼0 ã§ãªãå ´åï¼ï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+start_5:	
+	mov.l  _software_init_hook_k, r0
+	tst    r0,r0
+	bt     start_6		
+	jsr    @r0
+	or     r0,r0
+
+		
+start_6:
+	/*	
+     *  ã«ã¼ãã«ãèµ·åãã
+	 */
+	! call the mainline
+	mov.l _kernel_start_k,r0
+	jsr	  @r0
+     or	   r0,r0
+
+
+	.align 4
+_ccr_addr:	
+	.long CCR
+_ccr_disable:	
+	.long CCR_DISABLE
+_ccr_mode:	
+	.long CCR_MODE
+_init_sr:	
+	.long  0x40000000 + MAX_IPM << 4
+_stack_k:	
+	.long   STACKTOP
+_bss_start_k:	
+	.long   __bss_start	
+_end_k:	
+	.long  	_end	
+__idata_start_k:	
+	.long 	__idata_start
+__idata_end_k:	
+	.long   __idata_end
+__data_start_k:	
+	.long  	__data_start	
+_kernel_start_k:	
+	.long	_kernel_start
+_hardware_init_hook_k:	
+	.long   _hardware_init_hook
+_software_init_hook_k:	
+	.long   _software_init_hook	
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.5 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh3/tool_defs.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/04 14:14:39 honda Exp $
+ */
+
+/*
+ *  éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus         /* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L      /* C99 ã«ã¯ inline ããã */
+#define inline      __inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define Inline      static inline
+
+#ifndef __cplusplus/* C++ ã«ã¯ asm ããã */
+#define asm	__asm__
+#endif /* __cplusplus */
+
+#define Asm     __asm__ volatile
+
+#define _init   init
+#define _fini   fini
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/api.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/api.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/api.h	(revision 26)
@@ -0,0 +1,224 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: api.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+#ifndef API_H
+#define API_H
+
+#define __cycini
+#define __cycenq
+#define __sta_cyc
+#define __stp_cyc
+#define __cyccal
+#define __dtqini
+#define __dtqenq
+#define __dtqfenq
+#define __dtqdeq
+#define __dtqsnd
+#define __dtqrcv
+#define __snd_dtq
+#define __psnd_dtq
+#define __ipsnd_dtq
+#define __tsnd_dtq
+#define __fsnd_dtq
+#define __ifsnd_dtq
+#define __rcv_dtq
+#define __prcv_dtq
+#define __trcv_dtq
+#define __flgini
+#define __flgcnd
+#define __set_flg
+#define __iset_flg
+#define __clr_flg
+#define __wai_flg
+#define __pol_flg
+#define __twai_flg
+#define __excini
+#define __vxsns_ctx
+#define __vxsns_loc
+#define __vxsns_dsp
+#define __vxsns_dpn
+#define __vxsns_tex
+#define __inhini
+#define __mbxini
+#define __snd_mbx
+#define __rcv_mbx
+#define __prcv_mbx
+#define __trcv_mbx
+#define __mpfini
+#define __mpfget
+#define __get_mpf
+#define __pget_mpf
+#define __tget_mpf
+#define __rel_mpf
+#define __semini
+#define __sig_sem
+#define __isig_sem
+#define __wai_sem
+#define __pol_sem
+#define __twai_sem
+#define __rot_rdq
+#define __irot_rdq
+#define __get_tid
+#define __iget_tid
+#define __loc_cpu
+#define __iloc_cpu
+#define __unl_cpu
+#define __iunl_cpu
+#define __dis_dsp
+#define __ena_dsp
+#define __sns_ctx
+#define __sns_loc
+#define __sns_dsp
+#define __sns_dpn
+#define __logini
+#define __vwri_log
+#define __vrea_log
+#define __vmsk_log
+#define __logter
+#define __tskini
+#define __tsksched
+#define __tskrun
+#define __tsknrun
+#define __tskdmt
+#define __tskact
+#define __tskext
+#define __tskpri
+#define __tskrot
+#define __tsktex
+#define __ras_tex
+#define __iras_tex
+#define __dis_tex
+#define __ena_tex
+#define __sns_tex
+#define __act_tsk
+#define __iact_tsk
+#define __can_act
+#define __ext_tsk
+#define __ter_tsk
+#define __chg_pri
+#define __get_pri
+#define __slp_tsk
+#define __tslp_tsk
+#define __wup_tsk
+#define __iwup_tsk
+#define __can_wup
+#define __rel_wai
+#define __irel_wai
+#define __sus_tsk
+#define __rsm_tsk
+#define __frsm_tsk
+#define __dly_tsk
+#define __tmeini
+#define __tmeup
+#define __tmedown
+#define __tmeins
+#define __tmedel
+#define __isig_tim
+#define __set_tim
+#define __get_tim
+#define __vxget_tim
+#define __waimake
+#define __waicmp
+#define __waitmo
+#define __waitmook
+#define __waican
+#define __wairel
+#define __wobjwai
+#define __wobjwaitmo
+#define __wobjpri
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.c	(revision 26)
@@ -0,0 +1,206 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ *  
+ *  @(#) $Id: cpu_config.c,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼TLCS-900L1ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+UINT	intcnt;
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UH	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UH	int_intmask;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize()
+{
+	/* å²è¾¼ã¿ãã¹ãã«ã¦ã³ãåæå(å²è¾¼ã¿ã³ã³ãã­ã¹ã) */
+	intcnt = 1;
+
+	/*
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®åæå
+	 */
+#ifdef SUPPORT_CHG_IPM
+	task_intmask = 0x0000;
+#endif /* SUPPORT_CHG_IPM */
+
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+}
+
+#ifdef SUPPORT_CHG_IPM
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+ *
+ *  chg_ipm ãä½¿ã£ã¦ IPM ã 7ï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«å¤æ´
+ *  ãããã¨ã¯ã§ããªãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  loc_cpu ã«ããCPUã­ãã¯ç¶æ
+ã«ããã°ããï¼
+ *  IPM ã 0 ä»¥å¤ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼IPM ã¯ï¼
+ *  ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ãç¶ã
+ *  ããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ *  ããå ´åãããï¼JSPã«ã¼ãã«ã§ã¯ï¼IPM ã®å¤æ´ã¯ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«ãã£ã¦ãèµ·ããã®ã§ï¼ããã«ãã£ã¦æ±ããé£ãããªãç¶æ³ã¯å°ãªãã¨
+ *  æãããï¼IPM ã®å¤ã«ãã£ã¦ã¿ã¹ã¯ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼
+ *  dis_dsp ãä½µç¨ããã°ããï¼
+ */
+SYSCALL ER
+chg_ipm(IPM ipm)
+{
+	ER	ercd;
+
+	LOG_CHG_IPM_ENTER(ipm);
+	CHECK_TSKCTX_UNL();
+	CHECK_PAR(0 <= ipm && ipm <= 6);
+
+	t_lock_cpu();
+	task_intmask = (ipm << 12);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_IPM_LEAVE(ercd);
+	return(ercd);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+ */
+SYSCALL ER
+get_ipm(IPM *p_ipm)
+{
+	ER	ercd;
+
+	LOG_GET_IPM_ENTER(p_ipm);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_ipm = (task_intmask >> 12);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_IPM_LEAVE(ercd, *p_ipm);
+	return(ercd);
+}
+
+#endif /* SUPPORT_CHG_IPM */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_config.h	(revision 26)
@@ -0,0 +1,452 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼TLCS-900L1ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include <cpu_insn.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IPM
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_PRIORITY	4	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	VP	xsp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP	pc;		/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/* 
+ *  å²è¾¼ã¿/CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ */
+extern UINT	intcnt;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã12ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+#pragma inline current_intmask
+UH
+current_intmask()
+{
+	return(current_sr() & 0x7000);
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+#pragma inline set_intmask
+void
+set_intmask(UH intmask)
+{
+	set_sr((current_sr() & ~0x7000) | intmask);
+}
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+#pragma inline sense_context
+BOOL
+sense_context()
+{
+	Asm("	ldc	hl, intnest");
+	return __HL;
+}
+
+#pragma inline sense_lock
+BOOL
+sense_lock()
+{
+	return(current_intmask() == 0x7000);
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#ifdef SUPPORT_CHG_IPM
+extern UH	task_intmask;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+#endif /* SUPPORT_CHG_IPM */
+
+#pragma inline t_lock_cpu
+void
+t_lock_cpu()
+{
+	disint();
+}
+
+#pragma inline t_unlock_cpu
+void
+t_unlock_cpu()
+{
+#ifdef SUPPORT_CHG_IPM
+	/*
+	 *  t_unlock_cpu ãå¼ã³åºãããã®ã¯ CPUã­ãã¯ç¶æ
+ã®ã¿ã§ããã
+	 *  ãï¼å¦çã®éä¸­ã§ task_intmask ãæ¸ãæãããã¨ã¯ãªãï¼
+	 */
+	set_intmask(task_intmask);
+#else /* SUPPORT_CHG_IPM */
+	enaint();
+#endif /* SUPPORT_CHG_IPM */
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+extern UH	int_intmask;	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ */
+
+#pragma inline i_lock_cpu
+void
+i_lock_cpu()
+{
+	UH	intmask;
+
+	/*
+	 *  ä¸æå¤æ° intmask ãä½¿ã£ã¦ããã®ã¯ï¼current_intmask() ãå¼
+	 *  ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+	 *  int_intmask ãå¤æ´ãããå¯è½æ§ãããããã§ããï¼
+	 */
+	intmask = current_intmask();
+	disint();
+	int_intmask = intmask;
+}
+
+#pragma inline i_unlock_cpu
+void
+i_unlock_cpu()
+{
+	set_intmask(int_intmask);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.asmï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.asmï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+
+#pragma inline define_inh
+void
+define_inh(INHNO inhno, FP inthdr)
+{
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©ãç»é²ãããã¯ã¿ãã¼ãã«ã¯ROMä¸ã«åã,
+ *  ããã«æ¸ãè¾¼ã. ãã®ããããã§ã¯ä½ãããªãï¼
+ */
+#pragma inline define_exc
+void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ã®åãæ¿ããã½ããã¦ã§ã¢ã§å®ç¾ããï¼ãã®ããï¼
+ *  å²è¾¼ã¿ãã³ãã©å
+¥ãå£ã«ã¦å²è¾¼ã¿ç¦æ­¢å¦çãè¡ãï¼ãªãï¼å²è¾¼ã¿çºçãã
+ *  å²è¾¼ã¿ç¦æ­¢ãè¡ãã¾ã§ã®éã«å¤éå²è¾¼ã¿ãçºçããã¨ï¼å¤éå²è¾¼ã¿ã§ãã
+ *  ãã¨ãã½ããã¦ã§ã¢ã§æ¤ç¥ã§ããªãããï¼æåã«çºçããå²è¾¼ã¿å¦çãå®
+ *  è¡ããªãã¾ã¾ã¿ã¹ã¯ãã£ã¹ãããããå¯è½æ§ãããï¼ãã®å¤éå²è¾¼ã¿ãæ¤
+ *  ç¥ããããã«ãã¼ãã¦ã§ã¢ INTNEST ã¬ã¸ã¹ã¿ãå©ç¨ããï¼
+ *
+ *  TLCS-900 Family C Compiler ã§ã¯ XIZ ã¬ã¸ã¹ã¿ä»¥å¤ã¯å
+¨ã¦ã¹ã¯ã©ããã¬
+ *  ã¸ã¹ã¿ã§ããï¼ãªãï¼å
+¥ãå£å¦çã§ä½¿ç¨ããã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®ã¿ãã
+ *  ãã§ä¿æãï¼æ®ãã¯å²è¾¼ã¿å
+±éå¦çã§ä¿æããï¼
+ *
+ *  ãããä¿®æ­£ããå ´åã¯ï¼ä¸ã®CPUä¾å¤ãã³ãã©å
+¥å£å¦ççæãã¯ã­ãåæ§ã«
+ *  ä¿®æ­£ãããã¨ï¼
+ */
+#define	INTHDR_ENTRY(inthdr) \
+extern void _kernel_interrupt(void); \
+extern void inthdr##(void); \
+void inthdr##_entry(void) \
+{ \
+Asm("	push	xwa	");	/* ä½¿ç¨ããã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+Asm("	push	sr");	/* å²è¾¼ã¿çºçæã®IFFãåå¾	*/ \
+Asm("	pop		wa"); \
+Asm("	ei		7");	/* å²è¾¼ã¿ç¦æ­¢	*/ \
+Asm("	push	xhl	");	/* ä½¿ç¨ããã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+Asm("	ld		xhl, _" #inthdr );	/* ã¦ã¼ã¶ãã³ãã©ãã¤ã³ã¿ãåå¾	*/ \
+Asm("	jp	__kernel_interrupt"	);	/* å²è¾¼ã¿å
+±éå¦çã¸	*/ \
+}
+/*
+ *  ä¸è¨ãä¿®æ­£ããå ´åã¯ï¼ä¸ã®CPUä¾å¤ãã³ãã©å
+¥å£å¦ççæãã¯ã­ãåæ§ã«
+ *  ä¿®æ­£ãããã¨ï¼
+ */
+
+
+#define	INT_ENTRY(inthdr)	inthdr##_entry
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼å²è¾¼ã¿ãã³ãã©ã¨åç­å¦çã¨ããï¼
+ *  ãªãï¼ä¾å¤ãã³ãã©ã®å¼æ°åãç°ãªãããï¼åç­å¦çã®ãã¯ã­ãå¥é
+ *  çæããï¼
+ *
+ *  ãããä¿®æ­£ããå ´åã¯ï¼ä¸ã®å²è¾¼ã¿ãã³ãã©å
+¥å£å¦ççæãã¯ã­ãåæ§ã«
+ *  ä¿®æ­£ãããã¨ï¼
+ */
+
+#define	EXCHDR_ENTRY(exchdr) \
+extern void _kernel_interrupt(void); \
+extern void exchdr##(VP p_excinf); \
+void exchdr##_entry(void) \
+{ \
+Asm("	push	xwa	");	/* ä½¿ç¨ããã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+Asm("	push	sr");	/* å²è¾¼ã¿çºçæã®IFFãåå¾	*/ \
+Asm("	pop		wa"); \
+Asm("	ei		7");	/* å²è¾¼ã¿ç¦æ­¢	*/ \
+Asm("	push	xhl	");	/* ä½¿ç¨ããã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */ \
+Asm("	ld		xhl, _" #exchdr );	/* ã¦ã¼ã¶ãã³ãã©ãã¤ã³ã¿ãåå¾	*/ \
+Asm("	jp	__kernel_interrupt"	);	/* å²è¾¼ã¿å
+±éå¦çã¸	*/ \
+}
+/*
+ *  ãããä¿®æ­£ããå ´åã¯ï¼ä¸ã®å²è¾¼ã¿ãã³ãã©å
+¥å£å¦ççæãã¯ã­ãåæ§ã«
+ *  ä¿®æ­£ãããã¨ï¼
+ */
+
+#define	EXC_ENTRY(exchdr)	exchdr##_entry
+
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+#pragma inline exc_sense_context
+BOOL
+exc_sense_context(VP p_excinf)
+{
+	Asm("	ldc	hl, intnest");
+	return ( __HL > 1 );
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+#pragma inline exc_sense_lock
+BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return ((*((UH *) p_excinf) & 0x7000) == 0x7000);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_context.h	(revision 26)
@@ -0,0 +1,159 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼TLCS-900L1ç¨ï¼
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+#pragma inline create_context
+void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	activate_r(void);
+
+#pragma inline activate_context
+void
+activate_context(TCB *tcb)
+{
+	VW	*sp;
+
+	sp = (VW *)((UW)(tcb->tinib->stk) + (UW)(tcb->tinib->stksz));
+	*--sp = (VW)(tcb->tinib->exinf);
+	*--sp = (VW) ext_tsk;
+	*--sp = (VW)(tcb->tinib->task);
+	tcb->tskctxb.xsp = sp;
+	tcb->tskctxb.pc = activate_r;
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VW) * 3)
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_defs.h	(revision 26)
@@ -0,0 +1,138 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.2 2007/04/17 03:19:29 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼TLCS-900L1ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define TLCS_900			/* ãã­ã»ããµç¥ç§° */
+
+/* ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ */
+#define COPYRIGHT_CPU \
+"Copyright (C) 2006-2007 by Witz Corporation, JAPAN"
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT	INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT	EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§
+ */
+typedef	UINT	IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+extern ER	chg_ipm(IPM ipm) throw();
+extern ER	get_ipm(IPM *p_ipm) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ãªãã«ã°ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_insn.h	(revision 26)
@@ -0,0 +1,173 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼TLCS-900L1ç¨ï¼
+ */
+
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+#pragma inline current_sr
+UH
+current_sr()
+{
+	Asm("	push	sr");
+	Asm("	pop		hl");
+	return(__HL);
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SRï¼ã®ç¾å¨å¤ã®å¤æ´
+ */
+#pragma inline set_sr
+void
+set_sr(UH sr)
+{
+	__HL = sr;
+	Asm("	push	hl");
+	Asm("	pop		sr");
+}
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+/*
+ *  ãei #7ãã¨ãdiãã¯åç­ã®æ©è½ã§ãããeiå½ä»¤ã¯å®è¡å¾ç´ã¡ã«æå¹ã«
+ *  ãªãããeiå½ä»¤ãæ¡ç¨ãã
+ */
+#pragma inline disint
+void
+disint()
+{
+	Asm("	ei	7	");
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+#pragma inline enaint
+void
+enaint()
+{
+	Asm("	ei	0	");
+}
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããããµã¼ãé¢æ°
+ *
+ *  ããããããã®ä¸ä½16ããããä½¿ç¨ãï¼æä¸ä½ããããæä½åªå
+åº¦ã«å¯¾å¿
+ *  ãããï¼
+ */
+#define	CPU_BITMAP_SEARCH
+
+#pragma inline bitmap_search
+UINT
+bitmap_search(UINT bitmap)
+{
+	/*
+	 *  ãã®ã³ã¼ãã¯ï¼bitmapï¼UINTåï¼ã16ãããã§ãããã¨ãä»®å®ã
+	 *  ã¦ããï¼
+	 */
+	__HL = bitmap;
+	Asm("	bs1f	a, hl");
+	return (UINT)__A;
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.def	(revision 26)
@@ -0,0 +1,7 @@
+intcnt
+task_intmask
+int_intmask
+activate_r
+interrupt
+task_intmask
+int_intmask
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_rename.h	(revision 26)
@@ -0,0 +1,28 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define intcnt			_kernel_intcnt
+#define task_intmask	_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+#define activate_r		_kernel_activate_r
+#define interrupt		_kernel_interrupt
+#define task_intmask	_kernel_task_intmask
+#define int_intmask		_kernel_int_intmask
+
+#ifdef LABEL_ASM
+
+#define _intcnt			__kernel_intcnt
+#define _task_intmask	__kernel_task_intmask
+#define _int_intmask	__kernel_int_intmask
+#define _activate_r		__kernel_activate_r
+#define _interrupt		__kernel_interrupt
+#define _task_intmask	__kernel_task_intmask
+#define _int_intmask	__kernel_int_intmask
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_support.app
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_support.app	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_support.app	(revision 26)
@@ -0,0 +1,454 @@
+;
+;   TOPPERS/JSP Kernel
+;       Toyohashi Open Platform for Embedded Real-Time Systems/
+;       Just Standard Profile Kernel
+;
+;   Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+;  
+;   The above copyright holders grant permission gratis to use,
+;   duplicate, modify, or redistribute (hereafter called use) this
+;   software (including the one made by modifying this software),
+;   provided that the following four conditions (1) through (4) are
+;   satisfied.
+;  
+;   (1) When this software is used in the form of source code, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be retained in the source code without modification.
+;  
+;   (2) When this software is redistributed in the forms usable for the
+;       development of other software, such as in library form, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be shown without modification in the document provided
+;       with the redistributed software, such as the user manual.
+;  
+;   (3) When this software is redistributed in the forms unusable for the
+;       development of other software, such as the case when the software
+;       is embedded in a piece of equipment, either of the following two
+;       conditions must be satisfied:
+;  
+;     (a) The above copyright notice, this use conditions, and the
+;            disclaimer shown below must be shown without modification in
+;         the document provided with the redistributed software, such as
+;         the user manual.
+;  
+;     (b) How the software is to be redistributed must be reported to the
+;         TOPPERS Project according to the procedure described
+;         separately.
+;  
+;   (4) The above copyright holders and the TOPPERS Project are exempt
+;       from responsibility for any type of damage directly or indirectly
+;       caused from the use of this software and are indemnified by any
+;       users or end users of this software from any and all causes of
+;       action whatsoever.
+;  
+;   THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+;   THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+;   INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+;   PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+;   TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+;   INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+;
+;   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+;   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+;   åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+;       è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+;       ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+;       ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+;       è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+;     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+;         æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+;         åãããã¨ï¼
+;   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+;       ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+;       æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+;       ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;  
+;   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+;   ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+;   ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+;   ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+;   ããªãï¼
+;  
+;   @(#) $Id: cpu_support.app,v 1.1 2006/04/10 08:19:25 honda Exp $
+;
+
+	$MAXIMUM
+	module cpu_support_app
+
+;
+;	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼TLCS-900L1ç¨ï¼
+;
+
+#define	SUPPORT_CHG_IPM
+#include "jsp_rename.h"
+#include "cpu_rename.h"
+#include "sys_rename.h"
+#include "offset.inc"
+
+; å¤é¨åç
+§ã·ã³ãã«å®ç¾©
+	extern large	__StackTop
+	extern large	_reqflg
+	extern large	_enadsp
+	extern large	_intcnt
+	extern large	_runtsk
+	extern large	_schedtsk
+	extern large	_call_texrtn
+	extern large	_task_intmask
+
+
+f_code section code large align=1,1
+
+;
+;	ã¿ã¹ã¯ãã£ã¹ãããã£
+;
+;   dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºããªã
+;   ãã°ãªããªãï¼exit_and_dispatch ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¶æ
+ã»å²è¾¼
+;   ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åºãã®ãååã§ãããï¼ã«ã¼ãã«èµ·åæã«å¯¾å¿ããããï¼
+;   å²è¾¼ã¿ã³ã³ãã­ã¹ãç¶æ
+ã§å¼ã³åºããå ´åã«ãå¯¾å¿ãã¦ããï¼
+;	å¼ã³åºãæ¡ä»¶: SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+),
+;				  intcnt = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+	public _dispatch
+
+_dispatch:
+	push	xiz			; é¢æ°å¼åºã§ä¿è­·ãå¿
+è¦ãªã¬ã¸ã¹ã¿ã®ä¿å­
+	ld		xwa, (_runtsk)	; åä½ä¸­ã¿ã¹ã¯ã®TCBãåå¾
+	ld		(xwa+TCB_sp), xsp	;
+	lda		xhl, dispatch_r	;
+	ld		(xwa+TCB_pc), xhl	;
+	jr		dispatcher	;
+
+;
+;	å¼ã³åºãæ¡ä»¶: SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+),
+;				  intcnt = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+;	xwa ã«ã¯runtsk ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã
+;
+dispatch_r:
+	pop		xiz		;
+	ld		bc, (xwa+TCB_enatex)	;
+	bit		TCB_enatex_bit, bc	;
+	jr		z, dispatch_r_1	; enatex ã FALSE ãªããªã¿ã¼ã³
+	cpw		(xwa+TCB_texptn), 0	; ã¿ã¹ã¯ä¾å¤è¦å ãããå ´å
+	jp		nz, _call_texrtn	;
+	; call_texrtnããç´æ¥dispatch å¼ã³åºãå
+ã¸æ»ã.
+dispatch_r_1:				; ã¿ã¹ã¯ä¾å¤ãå®è¡ããªãå ´å
+	ret				; dispatch å¼ã³åºãå
+ã¸æ»ã.
+
+;
+;	ã¿ã¹ã¯èµ·åæå¦ç
+;
+;	ããã§ã¯, CPUã­ãã¯è§£é¤ç¶æ
+ã«ã, ã¿ã¹ã¯ãèµ·åãã.
+;
+;	å¼ã³åºãæ¡ä»¶: SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+),
+;				  intcnt = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;
+	public _activate_r
+
+_activate_r:
+	pop		xhl		; ã¿ã¹ã¯ã®èµ·åçªå°ãwhl ã«è¨­å®
+#ifdef SUPPORT_CHG_IPM			/* t_unlock_cpu ç¸å½ã®å¦ç */
+	push	sr			; å²è¾¼ã¿ãã¹ã¯ã« task_intmask ãè¨­å®
+	ld		wa, (_task_intmask)	;
+	andw	(xsp), ~0x7000	;
+	or		(xsp), wa	;
+	pop		sr			;
+#else /* SUPPORT_CHG_IPM */
+	ei		0		; å²è¾¼ã¿è¨±å¯
+#endif /* SUPPORT_CHG_IPM */
+	jp		xhl
+
+;
+;	dispatcherå¼ã³åºãæ¡ä»¶:
+;		ã»ãã¹ã¦ã®ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ãã¯ä¿å­ããã¦ãã.
+;		ã»SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+)
+;		ã»ã³ã³ãã­ã¹ãã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ã(intcnt=0)
+;	dispatcher å¼åºæã®ã¹ã¿ãã¯:
+;		dispatch ããããå ´å: ã¿ã¹ã¯ã¹ã¿ãã¯
+;		exit_and_dispatch ããããå ´å: 
+;			exit_task ããããå ´åã¯ã¿ã¹ã¯ã¹ã¿ãã¯
+;			ã«ã¼ãã«èµ·åæã¯å²è¾¼ã¿ã¹ã¿ãã¯
+;		ret_int ããããå ´å: ã¿ã¹ã¯ã¹ã¿ãã¯
+;		dispatcher_2 ã§ã®å²è¾¼ã¿å¾
+ã¡ããããå ´å: å²è¾¼ã¿ã¹ã¿ãã¯
+;
+	public _exit_and_dispatch
+
+_exit_and_dispatch:
+	ldw		(_intcnt), 0	; ãã¹ãã«ã¦ã³ã¿ã¯ãªã¢(ã¿ã¹ã¯ã³ã³ãã­ã¹ã)
+dispatcher:
+	ld		xwa, (_schedtsk)	; schedtsk ã runtsk ã«è¨­å®
+	ld		(_runtsk), xwa	;
+	or		xwa, xwa		; å®è¡ããã¿ã¹ã¯ãç¡ããã°ã¢ã¤ãã«ã«ã¼ãã¸
+	jr		z, pre_idle_loop	;
+	ld		xsp, (xwa+TCB_sp)	; ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãå¾©å¸°
+	ld		xhl, (xwa+TCB_pc)	;
+	jp		xhl			; å®è¡åéçªå°ã¸ã¸ã£ã³ã
+;
+;	å®è¡ãã¹ãã¿ã¹ã¯ãç¾ããã¾ã§å¾
+ã¤å¦ç
+;
+pre_idle_loop:
+	ld		xsp, __StackTop ; å²è¾¼ã¿ç¨ã®ã¹ã¿ãã¯ã¸åæ¿ã
+	incw	1, (_intcnt)	; éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+;
+;	ããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ã,å²è¾¼ã¿ã¹ã¿ãã¯ã«åãæããã®ã¯,
+;	ããã§çºçããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨,
+;	å²è¾¼ã¿ãã³ãã©å
+ã§ã®ãã£ã¹ãããé²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+;
+idle_loop:
+#ifdef SUPPORT_CHG_IPM			/* t_unlock_cpu ç¸å½ã®å¦ç */
+	push	sr			; å²è¾¼ã¿ãã¹ã¯ã« task_intmask ãè¨­å®
+	ld		wa, (_task_intmask)	;
+	andw	(xsp), ~0x7000	;
+	or		(xsp), wa	;
+	pop		sr			;
+#else /* SUPPORT_CHG_IPM */
+	ei		0		; å²è¾¼ã¿è¨±å¯
+#endif /* SUPPORT_CHG_IPM */
+
+	halt 		; IDLE2ç¶æ
+ã¸é·ç§»
+	nop			; ä¸è¨haltãã³ã¡ã³ã(nopã®ã¿)ã«ããã¨
+	nop			; ä½æ¶è²»åä½ãè¡ããªãã¢ã¤ãã«ã«ã¼ãã¨ãªã.
+	nop			; 
+	nop			; 
+	ei		7			; å²è¾¼ã¿ç¦æ­¢
+	cpw		(_reqflg), 0	; reqflg ã FALSE ã§ããã°
+	jr		z, idle_loop	;         idle_loop ã¸
+	ldw		(_reqflg), 0	; reqflg <--- FALSE
+	decw		1, (_intcnt)	; ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«æ»ã
+	jr		dispatcher		; dispatcher ã¸æ»ã
+
+;
+;  é
+å»¶ãã£ã¹ãããå¦ç
+;
+;	å¼ã³åºãæ¡ä»¶: SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+),
+;				  intcnt = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;				  reqflg = TRUE
+;				  INTNESTã¬ã¸ã¹ã¿ = 1
+;
+ret_int:
+	ldw		(_reqflg), 0	; reqflg <--- FALSE
+	ld		de, 0	;
+	ldc		intnest, de	; ãã£ã¹ããããããintnest ã¯0
+	push	xiz			; é¢æ°å¼åºã§ä¿è­·ãå¿
+è¦ãªã¬ã¸ã¹ã¿ã®ä¿å­
+	ld		xwa, (_runtsk)	; runtsk ãåå¾
+	cpw		(_enadsp), 0	; enadsp ã FALSE ãªã
+	jr		z, ret_int_r	; ret_int_r ã¸
+	cp		xwa, (_schedtsk)	; runtsk ã¨schedtsk ãåããªã
+	jr		z, ret_int_r	; ret_int_r ã¸
+	or		xwa, xwa	; runtsk = NULL ãªã
+	jr		z, dispatcher	; ä¿å­ããdispather ã¸
+	ld		(xwa+TCB_sp), xsp	;
+	lda		xhl, ret_int_r	;
+	ld		(xwa+TCB_pc), xhl	;
+	jr		dispatcher	;
+
+;
+;	å¼ã³åºãæ¡ä»¶: SRã®IFF=7 (å²è¾¼ã¿ç¦æ­¢ç¶æ
+),
+;				  intcnt = 0(ã¿ã¹ã¯ã³ã³ãã­ã¹ã), ã¿ã¹ã¯ã¹ã¿ãã¯
+;				  INTNESTã¬ã¸ã¹ã¿ = 0
+;
+;	xwa ã«ã¯runtsk ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã
+;
+ret_int_r:
+	pop		xiz
+#ifdef SUPPORT_CHG_IPM		/* ã¹ã¿ãã¯ã«ããSR ã®IFF ãæä½ */
+	ld		de, (_task_intmask)	;
+	andw	(xsp+24), ~0x7000	;
+	or		(xsp+24), de	;
+#endif /* SUPPORT_CHG_IPM */
+	ld		bc, (xwa+TCB_enatex)	;
+	bit		TCB_enatex_bit, bc	;
+	jr		z, nest_ctrl_r	; enatex ã FALSE ãªããªã¿ã¼ã³
+	cpw		(xwa+TCB_texptn), 0	; ã¿ã¹ã¯ä¾å¤è¦å ãããå ´å
+	call	nz, _call_texrtn	;
+nest_ctrl_r:
+	ld		de, 1	;
+	ldc		intnest, de	; retiç¨ã«æ¬ä¼¼çã«intnest ã¯1
+	jr		interrupt_r
+
+;
+;	å²è¾¼ã¿/CPUä¾å¤ã®å
+±éå¦ç
+;
+;	å¼åºãæ¡ä»¶:
+;	ã»SRã®IFF=7.
+;	ã»ã¹ã¿ãã¯ã¯å¤éå²ãè¾¼ã¿ãªãå²è¾¼ã¿ã¹ã¿ãã¯, ããã§ãªããã°
+;	  ã¿ã¹ã¯ã¹ã¿ãã¯
+;	ã»XHL ã«ã¯å²è¾¼ã¿/CPUä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ãæ ¼ç´ããã¦ãã.
+;	ã»AW ã«ã¯æ¬å²è¾¼ã¿ã®åªå
+åº¦ãè¨­å®ããã SR ãæ ¼ç´ããã¦ãã.
+;
+;	ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ä¸ã«ã©ã®ããã«ä¿å­ããã¦ããããä»¥ä¸ã«ç¤ºã.
+;	ãã®å³ã§ã¯ä¸ãä½ä½, ä¸ãé«ä½ã®ã¢ãã¬ã¹ã§, ã¹ã¿ãã¯ã¯ä¸ãã
+;	ä¸æ¹åã«åãã£ã¦ç©ã¿ä¸ãããããã®ã¨ãã.
+;
+;	--------------------------------------
+;	|        CPUä¾å¤ãã³ãã©ã®å¼æ°       |
+;	|          CPUä¾å¤æ
+å ±(4byte)        |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XSP(4byte)             | ã¿ã¹ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ï¼
+;	|             â»åæ®µã®ã¿             | åæ®µã®å²è¾¼ã¿ã®ã¿ä¿æãããï¼
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XIY(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XIX(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XDE(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XBC(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	-------------------------------------- <-- å²è¾¼ã¿å
+¥ãå£å¦çã§å¦çãããï¼
+;	|             XHL(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;	|             XAW(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	-------------------------------------- <-- å²è¾¼ã¿çºçæã«ãã¼ãã¦ã§ã¢
+;	|              SR(2byte)             |     ã«ã¦å¦çãããï¼ p_excinfã¯
+;	|                                    |     ãããæãããã«æ¼ç®ããï¼
+;	--------------------------------------
+;	|              PC(4byte)             |
+;	|                                    |
+;	|                                    |
+;	|                                    |
+;	--------------------------------------
+;
+;	ãã³ãã©ãããªã¿ã¼ã³ããå¾ã¯, å¤éå²è¾¼ã¿ã§ãªã, ãã¤ reqflg ã
+;	TRUE ã«ãªã£ãæã«ï¼ret_int ã¸åå²ããï¼
+;
+;	å¤éå²è¾¼ã¿ãã©ããã¯å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ã®å¤ã§å¤å®ãã.
+;	intcnt != 0 ãªãã°å¤éå²è¾¼ã¿ã§ããã¨å¤å®ãã.
+;	ãªãï¼ãã¼ãã¦ã§ã¢ä»æ§ä¸ï¼å²è¾¼ã¿çºçããå²è¾¼ã¿ç¦æ­¢ãè¡ãã¾ã§ã®éã«
+;	å¤éå²è¾¼ã¿ãçºçããã¨ï¼å¤éå²è¾¼ã¿ã§ãããã¨ãã½ããã¦ã§ã¢ã§æ¤ç¥ã§
+;	ããªãããï¼æåã«çºçããå²è¾¼ã¿å¦çãå®è¡ããªãã¾ã¾ã¿ã¹ã¯ãã£ã¹
+;	ãããããå¯è½æ§ãããï¼ãã®å¤éå²è¾¼ã¿ãæ¤ç¥ããããã«ãã¼ãã¦ã§ã¢
+;	INTNEST ã¬ã¸ã¹ã¿ãå©ç¨ããï¼
+;
+;	reqflg ã¯CPUã­ãã¯ç¶æ
+ã§ãã§ãã¯ãã. ããã§ãªãã¨ï¼
+;	reqflg ãã§ãã¯å¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§
+;	ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£ã¹ããããããªã.
+;
+	public _interrupt
+
+_interrupt:
+	push	xbc			; ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®æ®ããä¿å­
+	push	xde			;
+	push	xix			;
+	push	xiy			;
+
+	ld		xbc, xsp	; CPUä¾å¤æ
+å ±å¼æ°ã«ä½¿ç¨ããããããã§åå¾
+	cpw		(_intcnt), 0	;
+	jr		nz, from_int	;
+	ld		xsp, __StackTop ; åæ®µã®å²è¾¼ã¿ã®å ´åã¹ã¿ãã¯ãåãæ¿ã
+	push	xbc			; ã¿ã¹ã¯SPã®ä¿æ
+from_int:				;
+	incw	1, (_intcnt)	; å²è¾¼ã¿ãã¹ãã«ã¦ã³ããã¤ã³ã¯ãªã¡ã³ã
+
+	add		xbc, 24	; CPUä¾å¤æ
+å ±å¼æ°çæ
+	push	xbc			; å²è¾¼ã¿å¦çã§ã¯æªä½¿ç¨
+	push	wa			;
+	pop		sr			; æ¬å²è¾¼ã¿ããåªå
+åº¦ã®é«ãå²è¾¼ã¿è¨±å¯
+	call	xhl			; å²è¾¼ã¿ãã³ãã©/CPUä¾å¤å¦çãå¼ã³åºã
+	ei		7			; å²è¾¼ã¿ç¦æ­¢
+	pop		xbc			; ã¹ã¿ãã¯æ°åãã(CPUä¾å¤æ
+å ±å¼æ°)
+
+	decw	1, (_intcnt)	; å²è¾¼ã¿ãã¹ãã«ã¦ã³ãããã¯ãªã¡ã³ã
+	jr		nz, from_int_r	;
+	pop		xbc			; åæ®µã®å²è¾¼ã¿ã®å ´åã¿ã¹ã¯SPã®å¾©å¸°
+	ld		xsp, xbc	;
+	ldc		de, intnest	; å²è¾¼ã¿çºçããå²è¾¼ã¿ç¦æ­¢ã¾ã§ã®éã«å¤éå²è¾¼ã¿ã
+	djnz	de, from_int_r	; çºçãã¦ããå ´åã¯ãã£ã¹ãããããªã
+	cpw		(_reqflg), 0	; reqflg ã TRUE ã§ããã°
+	jp		nz, ret_int	;              ret_int ã¸
+from_int_r:		;
+interrupt_r:	;
+	pop		xiy	;ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸°
+	pop		xix	;
+	pop		xde	;
+	pop		xbc	;
+	pop		xhl	;
+	pop		xwa	;
+	reti	;
+
+;
+; æªä½¿ç¨å²è¾¼ã¿ã®å¦ç
+;
+	public unused_interrupt
+
+unused_interrupt:
+	reti
+
+
+	end
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/cpu_unrename.h	(revision 26)
@@ -0,0 +1,28 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_RENAME_H_
+#undef _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef intcnt
+#undef task_intmask
+#undef int_intmask
+#undef activate_r
+#undef interrupt
+#undef task_intmask
+#undef int_intmask
+
+#ifdef LABEL_ASM
+
+#undef _intcnt
+#undef _task_intmask
+#undef _int_intmask
+#undef _activate_r
+#undef _interrupt
+#undef _task_intmask
+#undef _int_intmask
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/kernel_inline_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/kernel_inline_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/kernel_inline_defs.h	(revision 26)
@@ -0,0 +1,182 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: kernel_inline_defs.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	TOSHIBAéçºç°å¢åããã«ãã¤ã³(inline)é¢æ°ã®å®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼ã«ã¼ãã«å
+é¨ã®cãã¡ã¤ã«ããã¤ã³ã¯ã«ã¼ã
+ *  ããã¦ããtool_defs.h ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥
+ *  ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çã
+ *  ããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _KERNEL_INLINE_DEFS_H_
+#define _KERNEL_INLINE_DEFS_H_
+
+/*
+ *  TOSHIBA IDEã§ã¯#pragma inlineè¨è¿°ã«ã¦ã¤ã³ã©ã¤ã³é¢æ°ãå®ç¾©ãã
+ *  ãã®ããã«ã¼ãã«å
+é¨ã«ã®ã¿ä»¥ä¸ã®å¦çãé©ç¨ããï¼
+ *  tool_defs.h ã«ã¦ã«ã¼ãã«å
+±éé¨ã®Inlineããã³inlineã®å®ç¾©ã¯å
+¨ã¦
+ *  ç¡å¹ã¨ãï¼æ¢ç¥ã®ã¤ã³ã©ã¤ã³é¢æ°ã«å¯¾ãã#pragma inlineå®ç¾©æ¬ãã¡
+ *  ã¤ã«ã«è¨è¼ããï¼
+ */
+/* sil.h	*/
+#pragma inline sil_reb_mem
+#pragma inline sil_wrb_mem
+#pragma inline sil_reh_mem
+#pragma inline sil_wrh_mem
+#pragma inline sil_reh_lem
+#pragma inline sil_wrh_lem
+#pragma inline sil_reh_bem
+#pragma inline sil_wrh_bem
+#pragma inline sil_rew_mem
+#pragma inline sil_wrw_mem
+#pragma inline sil_rew_lem
+#pragma inline sil_wrw_lem
+#pragma inline sil_rew_bem
+#pragma inline sil_wrw_bem
+
+/* t_services.h	*/
+#pragma inline _t_perror
+#pragma inline _t_panic
+
+/* t_syslog.h	*/
+#pragma inline _syslog_0
+#pragma inline _syslog_1
+#pragma inline _syslog_2
+#pragma inline _syslog_3
+#pragma inline _syslog_4
+#pragma inline _syslog_5
+#pragma inline _syslog_6
+
+/* mailbox.c	*/
+#pragma inline enqueue_msg_pri
+
+/* task.c	*/
+#pragma inline bitmap_search
+
+/* time_event.c	*/
+#pragma inline tmevtb_delete_top
+
+/* wait.c	*/
+#pragma inline make_non_wait
+#pragma inline queue_insert_tpri
+#pragma inline wobj_queue_insert
+
+/* queue.h	*/
+#pragma inline queue_initialize
+#pragma inline queue_insert_prev
+#pragma inline queue_delete
+#pragma inline queue_delete_next
+#pragma inline queue_empty
+
+/* task_event.h	*/
+#pragma inline tmevtb_enqueue
+#pragma inline tmevtb_enqueue_evttim
+#pragma inline tmevtb_dequeue
+
+/* wait.h	*/
+#pragma inline make_wait
+
+/* serial.c	*/
+#pragma inline serial_snd_chr
+
+
+#endif	/* _KERNEL_INLINE_DEFS_H_	*/
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/makeoffset.c	(revision 26)
@@ -0,0 +1,170 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+
+/*
+ *	offset.inc (ãããã¯ offset.h) ã«ã¤ãã¦
+ *
+ *	  offset.inc ã¯æ§é ä½ã®ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãç®ã«
+ *	å­å¨ãããã¨ãããã¨ã, ç¹å®ã®ããããã£ã¼ã«ããå
+é ­ãã
+ *	ä½ãã¤ãå
+ã®ä½ãããç®ã«å­å¨ããã, ã¨ããæ
+å ±ã
+ *	ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ã«ä¸ããããã«å­å¨ãã¦ãã.
+ *
+ *	  offset.inc ãã¡ã¤ã«ã®ä¸­èº«ã¯, åãªãã·ã³ãã«å®ç¾©ãã¡ã¤ã«ã§ãã.
+ *	ã·ã³ãã«ã¨ãã£ã¦ãå®ç¾©ããã·ã³ãã«ã®åç§°ã«ã¯ãã¿ã¼ã³ããã,
+ *	å¤§ããåãã¦æ¬¡ã®3ç¨®é¡ã«åé¡ã§ãã.
+ *
+ *	<æ§é ä½å>_<è¦ç´ å>	(ä¾) TCB_sp, TCB_pc, TCB_enatex ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_bit	(ä¾) TCB_enatex_bit ãªã©
+ *	<æ§é ä½å>_<è¦ç´ å>_mask (ä¾) TCB_enatex_mask ãªã©
+ *
+ *	(ä¾)
+ *		TCB_texptn		equ		14
+ *		TCB_sp			equ		20
+ *		TCB_pc			equ		24
+ *		TCB_enatex		equ		12
+ *		TCB_enatex_bit	equ		14
+ *		TCB_enatex_mask	equ		0x4000
+ *
+ *	  ä¸çªã¯ããã¯ç¹å®ã®è¦ç´ ãæ§é ä½ã®å
+é ­ããä½ãã¤ãå
+ã«ããã
+ *	ã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°.
+ *	  äºçªç®ã¯ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã, ä¸ä½ããæ°ãã¦
+ *	ä½ãããç®ã«ãããã¨ãããã¨ãç¤ºãæ°å¤ã«ã¤ããã©ãã«ã®åç§°. 
+ *	0ããå§ã¾ãæ°å¤ã§è¡¨ç¾ãã. æãä¸ä½ã®ãããã¯ç¬¬0ãããã§ãã.
+ *	  ä¸çªç®ã¯å
+ã»ã©ã® <æ§é ä½å>_<è¦ç´ å>_bit ã¨ãé¢é£ããã,
+ *	ç¹å®ã®ããããã£ã¼ã«ãä¸­ã®ãããã®ãã¹ã¯å¤ã®åç§°.
+ *	*_bit ã¨ *_mask ã®å¤ã®éã«ã¯æ¬¡ã®é¢ä¿ããã.
+ *		(*_mask) == (1 << *_bit)
+ *	(ä¾) TCB_enatex_bit ã 14 ã®æ, TCB_enatex_mask ã¯ 0x4000
+ *
+ *	  ã¡ãªã¿ã«TLCS-900L1ä¾å­é¨ã®å®è£
+ã§ã¯, ç¹å®ãããã®ãã§ãã¯ãªã©ã«
+ *	ãããå½ä»¤ã¢ãã¬ãã·ã³ã°ãä½¿ç¨ãã¦ããã®ã§ *_mask ã¨ããã©ãã«ã¯
+ *	ä½¿ç¨ãã¦ããªã.
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+
+void makeoffset(void);
+
+void
+makeoffset()
+{
+	Asm("; BEGIN TCB_texptn\n");
+	(((TCB *)0)->texptn) |= (TEXPTN)1;
+	Asm("; END");
+
+	Asm("; BEGIN TCB_sp\n");
+	(((TCB *)0)->tskctxb.xsp) = (VP)1;
+	Asm("; END");
+
+	Asm("; BEGIN TCB_pc\n");
+	(((TCB *)0)->tskctxb.pc)();
+	Asm("; END");
+
+	Asm("; BEGIN TCB_enatex\n");
+	(((TCB *)0)->enatex) = 1;
+	Asm("; END");
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/start.app
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/start.app	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/start.app	(revision 26)
@@ -0,0 +1,205 @@
+;
+;   TOPPERS/JSP Kernel
+;       Toyohashi Open Platform for Embedded Real-Time Systems/
+;       Just Standard Profile Kernel
+;
+;   Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+;  
+;   The above copyright holders grant permission gratis to use,
+;   duplicate, modify, or redistribute (hereafter called use) this
+;   software (including the one made by modifying this software),
+;   provided that the following four conditions (1) through (4) are
+;   satisfied.
+;  
+;   (1) When this software is used in the form of source code, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be retained in the source code without modification.
+;  
+;   (2) When this software is redistributed in the forms usable for the
+;       development of other software, such as in library form, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be shown without modification in the document provided
+;       with the redistributed software, such as the user manual.
+;  
+;   (3) When this software is redistributed in the forms unusable for the
+;       development of other software, such as the case when the software
+;       is embedded in a piece of equipment, either of the following two
+;       conditions must be satisfied:
+;  
+;     (a) The above copyright notice, this use conditions, and the
+;            disclaimer shown below must be shown without modification in
+;         the document provided with the redistributed software, such as
+;         the user manual.
+;  
+;     (b) How the software is to be redistributed must be reported to the
+;         TOPPERS Project according to the procedure described
+;         separately.
+;  
+;   (4) The above copyright holders and the TOPPERS Project are exempt
+;       from responsibility for any type of damage directly or indirectly
+;       caused from the use of this software and are indemnified by any
+;       users or end users of this software from any and all causes of
+;       action whatsoever.
+;  
+;   THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+;   THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+;   INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+;   PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+;   TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+;   INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+;
+;   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+;   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+;   åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+;       è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+;       ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+;       ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+;       è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+;     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+;         æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+;         åãããã¨ï¼
+;   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+;       ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+;       æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+;       ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;  
+;   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+;   ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+;   ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+;   ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+;   ããªãï¼
+;  
+;   @(#) $Id: start.app,v 1.1 2006/04/10 08:19:25 honda Exp $
+;
+
+	$MAXIMUM
+	module start_app
+
+;
+;	ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼TLCS-900ç¨ï¼
+;
+#include "jsp_rename.h"
+#include "cpu_rename.h"
+#include "sys_rename.h"
+#include "tlcs900vec.inc"
+
+; å¤é¨åç
+§ã·ã³ãã«å®ç¾©
+	extern large	__StackTop
+	extern large	__AreaRAM
+	extern large	__AreaRAM_size
+	extern large	__DataRAM
+	extern large	__DataRAM_ini
+	extern large	__DataRAM_size
+	extern large	hardware_init_hook
+	extern large	software_init_hook
+	extern large	_kernel_start
+
+f_code section code large align=1,1
+
+	public _start
+_start:
+; å²è¾¼ã¿ç¦æ­¢
+	di		; ãªã»ããæã¯IFFã«7ãè¨­å®ãããããDIç¶æ
+ã¨ãªã
+			; ãã¼ãã¦ã§ã¢ãªã»ããæã¯diå½ä»¤ä¸è¦
+			; ã½ããã«ã¦ jp _start ããå¯è½æ§ãèæ
+®ãã³ã¼ããæ®ã
+
+; ã¹ã¿ãã¯åæå
+	ld		xsp, __StackTop
+
+; INTNESTã¬ã¸ã¹ã¿åæå
+	ld		hl, 0
+	ldc		intnest, hl
+
+; hardware_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+; ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+; ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	ld		xhl, hardware_init_hook
+	cp		xhl, 0
+	call	nz, hardware_init_hook
+
+; åæå¤ç¡ãRAMé åã®ã¯ãªã¢
+	ld		xde, __AreaRAM			; å
+é ­çªå°ã¨ãµã¤ãºåå¾
+	ld		xbc, __AreaRAM_size
+	ld		ix, bc					; æä¸ä½bitä¿æ(å¾ã§ä½¿ç¨)
+	srl		1, xbc					; 2byteåä½ã§å¦çãããããµã¤ãº/2
+	jr		z, area_clr_byte
+	ld		xhl, xde				; å
+é ­çªå°ä¿æ(å¾ã§ä½¿ç¨)
+	ldw		(xde+), 0				; å
+é ­çªå°ã¯ãªã¢
+	sub		xbc, 1					; ãµã¤ãºãã¯ãªã¡ã³ã
+	jr		z, area_clr_byte
+	ldirw	(xde+), (xhl+)			; å
+é ­çªå°(åã§0è¨­å®)ã®å¤ãæ¬¡çªå°ã¸...
+									; ã®è¦é ã§BCã¬ã¸ã¹ã¿åãã­ãã¯ã­ã¼ã
+	cp		qbc, 0
+	jr		eq, area_clr_byte			; ä¸ä½16bitã0ãªãçµäº
+	ld		wa, qbc
+area_clr_loop:						; ä¸ä½16bit(0x10000åä½)ã§ã®å¦ç
+	ldirw	(xde+), (xhl+)			; 0x10000åãã­ãã¯ã­ã¼ã
+	djnz	wa, area_clr_loop
+area_clr_byte:
+	bit		0, ix					; é åãµã¤ãºãå¥æ°ãªã1byteã¯ãªã¢
+	jr		z, area_clr_end
+	ldb		(xde), 0
+area_clr_end:
+
+; åæå¤æãRAMé åã¸ã®ãã¼ã¿ã­ã¼ã
+	ld		xde, __DataRAM			; ã­ã¼ãå
+ã»ã­ã¼ãå
+çªå°ã¨ãµã¤ãºåå¾
+	ld		xhl, __DataRAM_ini
+	ld		xbc, __DataRAM_size
+	or		xbc, xbc				; ãµã¤ãº0ãªãçµäº
+	jr		z, data_ld_end
+	ldirb	(xde+), (xhl+)			; BCã¬ã¸ã¹ã¿åãã­ãã¯ã­ã¼ã
+	cp		qbc, 0
+	jr		eq, data_ld_end			; ä¸ä½16bitã0ãªãçµäº
+	ld		wa, qbc
+data_ld_loop:						; ä¸ä½16bit(0x10000åä½)ã§ã®å¦ç
+	ldirb	(xde+), (xhl+)			; 0x10000åãã­ãã¯ã­ã¼ã
+	djnz	wa, data_ld_loop
+data_ld_end:
+
+; software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+; ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+; çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	ld		xhl, software_init_hook
+	cp		xhl, 0
+	call	nz, software_init_hook
+
+; ã«ã¼ãã«èµ·å
+	jp		_kernel_start
+
+; EXITã«ã¼ã
+exit:
+	jr		exit
+
+	end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_config.h	(revision 26)
@@ -0,0 +1,304 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define __EMPTY_LABEL(x,y) x y[]
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡ã¯ä½¿ç¨ããªã
+ */
+#define call_atexit()
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/tool_defs.h	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		int		/* 16ãããã®æ´æ°å */
+#define	_int32_		long		/* 32ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+
+#include "api.h"
+
+/*
+ *  TOSHIBA IDEã§ã¯#pragma inlineè¨è¿°ã«ã¦ã¤ã³ã©ã¤ã³é¢æ°ãå®ç¾©ãã
+ *  ãã®ããã«ã¼ãã«å
+é¨ã«ã®ã¿ä»¥ä¸ã®å¦çãé©ç¨ããï¼
+ *  ã«ã¼ãã«å
+±éé¨ã®Inlineããã³inlineã®å®ç¾©ã¯å
+¨ã¦ç¡å¹ã¨ãï¼æ¢ç¥ã®
+ *  ã¤ã³ã©ã¤ã³é¢æ°ã«å¯¾ãã#pragma inlineå®ç¾©ãkernel_inline_defs.h
+ *  ã«è¨è¼ãï¼ãã®ãã¡ã¤ã«ãæ¬ç®æã«ã¦ã¤ã³ã¯ã«ã¼ãããï¼
+ */
+
+#ifndef _MACRO_ONLY
+#include "kernel_inline_defs.h"
+#endif	/* _MACRO_ONLY	*/
+
+#define	Inline
+
+
+/*
+ *  TOSHIBA IDEã§ã¯ï¼ç¨®é¡ã®ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©å½ä»¤ããã
+ *  __asm	: ã¬ã¸ã¹ã¿éé¿æã(ä½éã ãã¬ã¸ã¹ã¿ç ´å£ããªã)
+ *  __ASM	: ã¬ã¸ã¹ã¿éé¿ç¡ã(é«éã ãã¬ã¸ã¹ã¿ç ´å£ã«æ³¨æ)
+ *  ã«ã¼ãã«å
+é¨ã§ä½¿ç¨ãããã¨ãåæã«__AMSãæ¡ç¨ãã
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__ASM
+#endif /* __cplusplus */
+
+#define	Asm		__ASM
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.cfg	(revision 26)
@@ -0,0 +1,12 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_serial.h>
+INCLUDE("<hw_serial.h>");
+DEF_INH(INHNO_SERIAL_IN1, { TA_HLNG, serial_in_handler1 });
+DEF_INH(INHNO_SERIAL_OUT1, { TA_HLNG, serial_out_handler1 });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_serial.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <tmp91cy22.h>
+#include <uart.h>
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND		UART_ERDY_SND			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		UART_ERDY_RCV			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define	sio_initialize	uart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+#define	sio_opn_por		uart_opn_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+#define	sio_cls_por		uart_cls_por
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define	sio_snd_chr		uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define	sio_rcv_chr		uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define	sio_ena_cbr		uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define	sio_dis_cbr		uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_snd	uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define	sio_ierdy_rcv	uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/hw_timer.h	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ã¿ã¤ããã©ã¤ãï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include <sil.h>
+#include <tmp91cy22.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER		INT_NO_TA0
+
+/*
+ *  ã¿ã¤ãã¼ã®å²ãè¾¼ã¿ã¬ãã«
+ */
+#define INT_LEVEL_TIMER	0x04
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  1msã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãä½¿ç¨ããã®ã§ãã®ã¯ã­ãã¯ãå®ç¾©ããï¼
+ */
+#define TIMER_CLOCK		192
+
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+#pragma inline hw_timer_initialize
+void
+hw_timer_initialize()
+{
+	/* ã¿ã¤ã0åæ­¢	*/
+	sil_wrb_mem((VP)TADR_SFR_TA01RUN,
+		(VB)(sil_reb_mem((VP)TADR_SFR_TA01RUN) & ~TBIT_TA0RUN));
+	/* ã¢ã¼ãè¨­å®	 IDLE2:åä½,8bitã¢ã¼ã,ã½ã¼ã¹ã¯ã­ãã¯/16,1ms	*/
+	sil_wrb_mem((VP)TADR_SFR_TA01RUN,
+		(sil_reb_mem((VP)TADR_SFR_TA01RUN) | TBIT_I2TA01));
+	sil_wrb_mem((VP)TADR_SFR_TA01MOD,
+		(sil_reb_mem((VP)TADR_SFR_TA01MOD) | TBIT_TA0CLK16));
+	sil_wrb_mem((VP)TADR_SFR_TA0REG, (VB)(TIMER_CLOCK - 1) );
+	/* å²è¾¼ã¿è¨­å®	å²è¾¼ã¿è¦æ±ã¯ãªã¢,å²è¾¼ã¿ã¬ãã«5	*/
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, TBIT_TA0_CLR );
+	sil_wrb_mem((VP)TADR_SFR_INTETA01,
+		(VB)((sil_reb_mem((VP)TADR_SFR_INTETA01) & ~TBIT_INTM_L) | INT_LEVEL_TIMER));
+	/* ã¿ã¤ã0ããã³ããªã¹ã±ã¼ã©èµ·å	*/
+	sil_wrb_mem((VP)TADR_SFR_TA01RUN,
+		(VB)(sil_reb_mem((VP)TADR_SFR_TA01RUN) | (TBIT_TA01PRUN | TBIT_TA0RUN)));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+#pragma inline hw_timer_int_clear
+void
+hw_timer_int_clear()
+{
+	/* å²è¾¼ã¿è¦æ±ã¯ãªã¢	*/
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, TBIT_TA0_CLR );
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+#pragma inline hw_timer_terminate
+void
+hw_timer_terminate()
+{
+	/* ã¿ã¤ã0åæ­¢	*/
+	sil_wrb_mem((VP)TADR_SFR_TA01RUN,
+		(VB)(sil_reb_mem((VP)TADR_SFR_TA01RUN) & ~TBIT_TA0RUN));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+#pragma inline hw_timer_fetch_interrupt
+BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)TADR_SFR_INTETA01) & TBIT_INTC_L);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.c	(revision 26)
@@ -0,0 +1,204 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include <tmp91cy22.h>
+#include "hw_serial.h"
+
+
+/* ã·ã¹ãã ã­ã°éä¿¡ä¸­ãã©ã° */
+BOOL	log_io_busy;
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ åæåã«ã¼ãã³
+ */
+
+void
+sys_initialize()
+{
+	/*
+	 *  ããã¼è¡¨ç¤ºç¨ã·ãªã¢ã«ãã¼ãã®åæå
+	 *
+	 *  éä¿¡ãããã¡ç©ºãã©ã°ãç¡ãï¼ãã¼ãªã³ã°ã«ããéä¿¡å¦çã®å®è£
+ã
+	 *  ã§ããªãããï¼éä¿¡å®äºå²è¾¼ã¿è¦æ±ãã©ã°ããã¼ãªã³ã°ãï¼ååéä¿¡
+	 *  ç¨ã«ã·ã¹ãã ã­ã°éä¿¡ä¸­ãã©ã°ãç¨ããï¼
+	 */
+	/* ã·ã¹ãã ã­ã°éä¿¡ä¸­ãã©ã°åæå */
+	log_io_busy = FALSE;
+
+	/* ã·ãªã¢ã«I/Oãã©ã¤ãåæå	*/
+	/* åä¿¡åæ­¢	*/
+	sil_wrb_mem((VP)(TADR_SFR_SC1MOD0), 0x00 );
+	/* ãã¼ãè¨­å®(TXD1)ã¨ãã¦ä½¿ç¨	*/
+	sil_wrb_mem((VP)(TADR_SFR_P9FC), 0x08 );
+	sil_wrb_mem((VP)(TADR_SFR_P9CR), 0x08 );
+	/* åä½ã¢ã¼ãè¨­å®	*/
+	sil_wrb_mem((VP)(TADR_SFR_SC1MOD0), (VB)(TBIT_SIOSMU8 | TBIT_SIOSCBRG) );
+							/* 8bitUARTã¢ã¼ã,ãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ä½¿ç¨	*/
+	sil_reb_mem((VP)(TADR_SFR_SC1CR));	/* èª­åºãã«ããã¨ã©ã¼ãã©ã°ã¯ãªã¢	*/
+	sil_wrb_mem((VP)(TADR_SFR_SC1CR), 0x00 );	/* ããªãã£ç¡ã	*/
+	sil_wrb_mem((VP)(TADR_SFR_BR1CR), (VB)BRCR_19200);
+							/* ÏT2ä½¿ç¨,19200bps,è£æ­£æ©è½æªä½¿ç¨	*/
+	sil_wrb_mem((VP)(TADR_SFR_BR1ADD), BRADD_19200);
+	sil_wrb_mem((VP)(TADR_SFR_SC1MOD1), TBIT_SIOI2S);
+
+	/* ã·ãªã¢ã«å²è¾¼ã¿è¦æ±ãã©ã°ã¯ãªã¢	 */
+	sil_wrb_mem((VP)(TADR_SFR_INTCLR), TBIT_TX1_CLR );	/* éä¿¡è¦æ±ã¯ãªã¢	*/
+
+	/* LEDåæå	*/
+	sil_wrb_mem((VP)(TADR_SFR_PA), 0xff );
+	sil_wrb_mem((VP)(TADR_SFR_PAFC), 0x00 );
+	sil_wrb_mem((VP)(TADR_SFR_PACR), 0xff );
+
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäºã«ã¼ãã³
+ */
+
+void
+sys_exit(void)
+{
+  while(1);
+}
+
+/*
+ *  ã·ã¹ãã ã­ã°ç¨æå­éä¿¡é¢æ°
+ *
+ *  æ¬é¢æ°ã¯CPUã­ãã¯ç¶æ
+(å²è¾¼ã¿ç¦æ­¢)ã§å®è¡ãããã¨
+ */
+void
+sys_putc(char c)
+{
+	/* æ¹è¡ã³ã¼ãã®å ´åå
+ã«'\r'ãéã	*/
+	if(c == '\n'){
+		if( log_io_busy == TRUE ){
+			/* æ¢ã«éä¿¡ä¸­ã®å ´åã¯å²è¾¼ã¿è¦æ±ãã©ã°ããã¼ãªã³ã°	*/
+			while( (sil_reb_mem((VP)(TADR_SFR_INTES1)) & TBIT_INTC_H) == 0 );
+			sil_wrb_mem((VP)TADR_SFR_INTCLR, (TBIT_TX1_CLR) );	/* éä¿¡è¦æ±ã¯ãªã¢	*/
+			sil_wrb_mem((VP)(TADR_SFR_SC1BUF), '\r');
+		}
+		else{
+			/* éä¿¡ç¶æ
+ã«ãã¦æå­ãéä¿¡	*/
+			log_io_busy = TRUE;
+			sil_wrb_mem((VP)(TADR_SFR_SC1BUF), '\r');
+		}
+	}
+	if( log_io_busy == TRUE ){
+		/* æ¢ã«éä¿¡ä¸­ã®å ´åã¯å²è¾¼ã¿è¦æ±ãã©ã°ããã¼ãªã³ã°	*/
+		while( (sil_reb_mem((VP)(TADR_SFR_INTES1)) & TBIT_INTC_H) == 0 );
+		sil_wrb_mem((VP)TADR_SFR_INTCLR, (TBIT_TX1_CLR) );	/* éä¿¡è¦æ±ã¯ãªã¢	*/
+		sil_wrb_mem((VP)(TADR_SFR_SC1BUF), c);
+	}
+	else{
+		/* éä¿¡ç¶æ
+ã«ãã¦æå­ãéä¿¡	*/
+		log_io_busy = TRUE;
+		sil_wrb_mem((VP)(TADR_SFR_SC1BUF), c);
+	}
+}
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_config.h	(revision 26)
@@ -0,0 +1,160 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.3 2007/04/19 06:10:19 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"TOSHIBA TLCS-900/L1 SERIES TRAINING BOARD"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/*#define	SUPPORT_VXGET_TIM	*/
+/* ã¿ã¤ãã«ã¦ã³ã¿å¤ãåå¾ã§ããªãããæªãµãã¼ãã¨ãã	*/
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/* ã·ã¹ãã ã­ã°åºåãã©ã° */
+extern BOOL	log_io_busy;
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_defs.h	(revision 26)
@@ -0,0 +1,140 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³
+ *  ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼
+ *  ãããã«ä¾å­ãã¦ãããï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+
+/* 
+ *  ã¿ã¼ã²ããè­å¥ãã¯ã­(ã·ã¹ãã åã®å®ç¾©)
+ */
+#define ZUP_F16_EX
+
+#ifndef _MACRO_ONLY
+
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1u		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+extern void start(void);
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+#pragma inline kernel_abort
+void
+kernel_abort()
+{
+	start();
+	/* ãªã¹ã¿ã¼ã */
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+log_io_busy
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_rename.h	(revision 26)
@@ -0,0 +1,16 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define log_io_busy			_kernel_log_io_busy
+
+#ifdef LABEL_ASM
+
+#define _log_io_busy		__kernel_log_io_busy
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_support.app
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_support.app	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_support.app	(revision 26)
@@ -0,0 +1,170 @@
+;
+;   TOPPERS/JSP Kernel
+;       Toyohashi Open Platform for Embedded Real-Time Systems/
+;       Just Standard Profile Kernel
+;
+;   Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+;  
+;   The above copyright holders grant permission gratis to use,
+;   duplicate, modify, or redistribute (hereafter called use) this
+;   software (including the one made by modifying this software),
+;   provided that the following four conditions (1) through (4) are
+;   satisfied.
+;  
+;   (1) When this software is used in the form of source code, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be retained in the source code without modification.
+;  
+;   (2) When this software is redistributed in the forms usable for the
+;       development of other software, such as in library form, the above
+;       copyright notice, this use conditions, and the disclaimer shown
+;       below must be shown without modification in the document provided
+;       with the redistributed software, such as the user manual.
+;  
+;   (3) When this software is redistributed in the forms unusable for the
+;       development of other software, such as the case when the software
+;       is embedded in a piece of equipment, either of the following two
+;       conditions must be satisfied:
+;  
+;     (a) The above copyright notice, this use conditions, and the
+;            disclaimer shown below must be shown without modification in
+;         the document provided with the redistributed software, such as
+;         the user manual.
+;  
+;     (b) How the software is to be redistributed must be reported to the
+;         TOPPERS Project according to the procedure described
+;         separately.
+;  
+;   (4) The above copyright holders and the TOPPERS Project are exempt
+;       from responsibility for any type of damage directly or indirectly
+;       caused from the use of this software and are indemnified by any
+;       users or end users of this software from any and all causes of
+;       action whatsoever.
+;  
+;   THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+;   THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+;   INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+;   PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+;   TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+;   INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+;
+;   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+;   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+;   åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+;       è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+;       ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+;       ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+;       è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+;       ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+;     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+;         æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+;         åãããã¨ï¼
+;   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+;       ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+;       æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+;       ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+;  
+;   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+;   ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+;   ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+;   ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+;   ããªãï¼
+;  
+;   @(#) $Id: sys_support.app,v 1.1 2006/04/10 08:19:25 honda Exp $
+;
+
+	$MAXIMUM
+	module sys_support_app
+
+;
+;	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨
+;	ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+;
+
+#include "jsp_rename.h"
+#include "cpu_rename.h"
+#include "sys_rename.h"
+#include "tmp91cy22.h"
+
+f_code section code large align=1,1
+
+;
+; ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+;
+	public hardware_init_hook
+hardware_init_hook:
+; åä½ã¯ã­ãã¯è¨­å®(é«éã¯ã­ãã¯1åå¨ã4éåã®1/2)ï¼6.144*(1/1)*4*(1/2)=12.288ï¼
+	ldb		(TADR_SFR_SYSCR0), 0xa0
+	ldb		(TADR_SFR_SYSCR1), 0x00
+	ldb		(TADR_SFR_SYSCR2), 0x2c ; haltå½ä»¤ã«ã¦IDLE2ã«é·ç§»
+	ldb		(TADR_SFR_DFMCR1), 0x0b
+	ldb		(TADR_SFR_DFMCR0), 0x40
+lockup:			; ã­ãã¯ã¢ããå¾
+ã¡
+	bit		5, (TADR_SFR_DFMCR0)
+	jr		nz, lockup
+	ldb		(TADR_SFR_DFMCR0), 0x80
+
+; å¤é¨ã¢ãã¬ã¹ç©ºé2ç¡å¹
+	ldb		(TADR_SFR_B2CS), 0x00
+; å¤é¨ã¢ãã¬ã¹ç©ºé1æå¹(1MByteSRAM)
+	ldb		(TADR_SFR_P1CR), 0x00
+	ldb		(TADR_SFR_P1FC), 0xff	; AD0ãAD15ãä½¿ç¨
+	ldb		(TADR_SFR_P2CR), 0xff
+	ldb		(TADR_SFR_P2FC), 0x0f	; A16ãA19ãä½¿ç¨(æ®ãã¯ãã¼ã)
+	ldb		(TADR_SFR_P2), 0xff
+	ldb		(TADR_SFR_P3), 0x78
+	ldb		(TADR_SFR_P3CR), 0x7f
+	ldb		(TADR_SFR_P3FC), 0x07	; RD/WR/HWRãä½¿ç¨
+	ldb		(TADR_SFR_P4FC), 0x02	; CS1ãä½¿ç¨
+	ldb		(TADR_SFR_P4CR), 0x0e
+	ldb		(TADR_SFR_MSAR1), 0x10	; 0x00100000ã
+	ldb		(TADR_SFR_MAMR1), 0x3f	; 0x001fffff
+	ldb		(TADR_SFR_B1CS), 0x83	; 0ã¦ã§ã¤ã/16bitDataBus
+
+; WDTåæ­¢
+	ldb		(TADR_SFR_WDMOD), 0x00
+	ldb		(TADR_SFR_WDCR), 0xb1
+
+	ret
+
+;
+;  å¾®å°æéå¾
+ã¡
+;
+	public _sil_dly_nse
+_sil_dly_nse:
+	ld	WA, (XSP+0x4)
+	sub	WA, 3173
+	ret	le
+	nop
+sil_dly_nse1:
+	sub	WA, 732
+	jr	gt, sil_dly_nse1
+	ret
+
+
+	end
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/sys_unrename.h	(revision 26)
@@ -0,0 +1,16 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef log_io_busy
+
+#ifdef LABEL_ASM
+
+#undef _log_io_busy
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/tmp91cy22.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/tmp91cy22.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/tmp91cy22.h	(revision 26)
@@ -0,0 +1,460 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: tmp91cy22.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *  ç¹æ®æ©è½ã¬ã¸ã¹ã¿é¢é£ã®å®ç¾©ï¼TMP91CY22ç¨ï¼
+ */
+
+#ifndef _TMP91CY22_H_
+#define _TMP91CY22_H_
+
+/*
+ *  å²è¾¼ã¿çªå·ã®å®ç¾©
+ */
+#define		INT_NO_RST_SW0		1	/* ãªã»ãã/SWI 0 å½ä»¤				*/
+#define		INT_NO_SW1			2	/* SWI 1 å½ä»¤						*/
+#define		INT_NO_UNDEF_SW2	3	/* æªå®ç¾©å½ä»¤å®è¡éå/SWI 2 å½ä»¤	*/
+#define		INT_NO_SW3			4	/* SWI 3 å½ä»¤						*/
+#define		INT_NO_SW4			5	/* SWI 4 å½ä»¤						*/
+#define		INT_NO_SW5			6	/* SWI 5 å½ä»¤						*/
+#define		INT_NO_SW6			7	/* SWI 6 å½ä»¤						*/
+#define		INT_NO_SW7			8	/* SWI 7 å½ä»¤						*/
+#define		INT_NO_NMI			9	/* NMI								*/
+#define		INT_NO_WD			10	/* ã¦ã©ããããã°ã¿ã¤ã				*/
+#define		INT_NO_0			11	/* INT0								*/
+#define		INT_NO_1			12	/* INT1								*/
+#define		INT_NO_2			13	/* INT2								*/
+#define		INT_NO_3			14	/* INT3								*/
+#define		INT_NO_4			15	/* INT4								*/
+#define		INT_NO_5			16	/* INT5								*/
+#define		INT_NO_6			17	/* INT6								*/
+#define		INT_NO_7			18	/* INT7								*/
+#define		INT_NO_8			19	/* INT8								*/
+#define		INT_NO_TA0			20	/* 8ãããã¿ã¤ã0					*/
+#define		INT_NO_TA1			21	/* 8ãããã¿ã¤ã1					*/
+#define		INT_NO_TA2			22	/* 8ãããã¿ã¤ã2					*/
+#define		INT_NO_TA3			23	/* 8ãããã¿ã¤ã3					*/
+#define		INT_NO_TA4			24	/* 8ãããã¿ã¤ã4					*/
+#define		INT_NO_TA5			25	/* 8ãããã¿ã¤ã5					*/
+#define		INT_NO_TA6			26	/* 8ãããã¿ã¤ã6					*/
+#define		INT_NO_TA7			27	/* 8ãããã¿ã¤ã7					*/
+#define		INT_NO_TB00			28	/* 16ãããã¿ã¤ã00					*/
+#define		INT_NO_TB01			29	/* 16ãããã¿ã¤ã01					*/
+#define		INT_NO_TB10			30	/* 16ãããã¿ã¤ã10					*/
+#define		INT_NO_TB11			31	/* 16ãããã¿ã¤ã11					*/
+#define		INT_NO_TBOF0		32	/* 16ãããã¿ã¤ã0ãªã¼ãã¼ãã­ã¼	*/
+#define		INT_NO_TBOF1		33	/* 16ãããã¿ã¤ã1ãªã¼ãã¼ãã­ã¼	*/
+#define		INT_NO_RX0			34	/* ã·ãªã¢ã«åä¿¡0					*/
+#define		INT_NO_TX0			35	/* ã·ãªã¢ã«éä¿¡0					*/
+#define		INT_NO_RX1			36	/* ã·ãªã¢ã«åä¿¡1					*/
+#define		INT_NO_TX1			37	/* ã·ãªã¢ã«éä¿¡1					*/
+#define		INT_NO_SBI			38	/* ã·ãªã¢ã«ãã¹ã¤ã³ã¿ãã§ã¼ã¹		*/
+#define		INT_NO_RTC			39	/* æè¨ç¨ã¿ã¤ã						*/
+#define		INT_NO_AD			40	/* ADå¤æçµäº						*/
+#define		INT_NO_TC0			41	/* ãã¤ã¯ã­DMAçµäº0					*/
+#define		INT_NO_TC1			42	/* ãã¤ã¯ã­DMAçµäº1					*/
+#define		INT_NO_TC2			43	/* ãã¤ã¯ã­DMAçµäº2					*/
+#define		INT_NO_TC3			44	/* ãã¤ã¯ã­DMAçµäº3					*/
+
+/*
+ *  SFRã¢ãã¬ã¹å®ç¾©
+ */
+/*
+ *  ãã¼ãã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_P0				0x0000
+#define		TADR_SFR_P1				0x0001
+#define		TADR_SFR_P0CR			0x0002
+#define		TADR_SFR_P1CR			0x0004
+#define		TADR_SFR_P1FC			0x0005
+#define		TADR_SFR_P2				0x0006
+#define		TADR_SFR_P3				0x0007
+#define		TADR_SFR_P2CR			0x0008
+#define		TADR_SFR_P2FC			0x0009
+#define		TADR_SFR_P3CR			0x000a
+#define		TADR_SFR_P3FC			0x000b
+#define		TADR_SFR_P4				0x000c
+#define		TADR_SFR_P5				0x000d
+#define		TADR_SFR_P4CR			0x000e
+#define		TADR_SFR_P4FC			0x000f
+#define		TADR_SFR_P6				0x0012
+#define		TADR_SFR_P7				0x0013
+#define		TADR_SFR_P6CR			0x0014
+#define		TADR_SFR_P6FC			0x0015
+#define		TADR_SFR_P7CR			0x0016
+#define		TADR_SFR_P7FC			0x0017
+#define		TADR_SFR_P8				0x0018
+#define		TADR_SFR_P9				0x0019
+#define		TADR_SFR_P8CR			0x001a
+#define		TADR_SFR_P8FC			0x001b
+#define		TADR_SFR_P9CR			0x001c
+#define		TADR_SFR_P9FC			0x001d
+#define		TADR_SFR_PA				0x001e
+#define		TADR_SFR_PACR			0x0020
+#define		TADR_SFR_PAFC			0x0021
+#define		TADR_SFR_ODE			0x002f
+
+/*
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_DMA0V			0x0080
+#define		TADR_SFR_DMA1V			0x0081
+#define		TADR_SFR_DMA2V			0x0082
+#define		TADR_SFR_DMA3V			0x0083
+#define		TADR_SFR_INTCLR			0x0088
+#define		TADR_SFR_DMAR			0x0089
+#define		TADR_SFR_DMAB			0x008a
+#define		TADR_SFR_IIMC			0x008c
+#define		TADR_SFR_INTE0AD		0x0090
+#define		TADR_SFR_INTE12			0x0091
+#define		TADR_SFR_INTE34			0x0092
+#define		TADR_SFR_INTE56			0x0093
+#define		TADR_SFR_INTE78			0x0094
+#define		TADR_SFR_INTETA01		0x0095
+#define		TADR_SFR_INTETA23		0x0096
+#define		TADR_SFR_INTETA45		0x0097
+#define		TADR_SFR_INTETA67		0x0098
+#define		TADR_SFR_INTETB0		0x0099
+#define		TADR_SFR_INTETB1		0x009a
+#define		TADR_SFR_INTETB01V		0x009b
+#define		TADR_SFR_INTES0			0x009c
+#define		TADR_SFR_INTES1			0x009d
+#define		TADR_SFR_INTSBIRTC		0x009e
+#define		TADR_SFR_INTETC01		0x00a0
+#define		TADR_SFR_INTETC23		0x00a1
+
+/*
+ *  ãããã»ã¬ã¯ã/ã¦ã§ã¤ãã³ã³ãã­ã¼ã©ã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_B0CS			0x00c0
+#define		TADR_SFR_B1CS			0x00c1
+#define		TADR_SFR_B2CS			0x00c2
+#define		TADR_SFR_B3CS			0x00c3
+#define		TADR_SFR_BEXCS			0x00c7
+#define		TADR_SFR_MSAR0			0x00c8
+#define		TADR_SFR_MAMR0			0x00c9
+#define		TADR_SFR_MSAR1			0x00ca
+#define		TADR_SFR_MAMR1			0x00cb
+#define		TADR_SFR_MSAR2			0x00cc
+#define		TADR_SFR_MAMR2			0x00cd
+#define		TADR_SFR_MSAR3			0x00ce
+#define		TADR_SFR_MAMR3			0x00cf
+
+/*
+ *  ã¯ã­ãã¯ã®ã¢/ã¯ã­ãã¯éååè·¯ã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_SYSCR0			0x00e0
+#define		TADR_SFR_SYSCR1			0x00e1
+#define		TADR_SFR_SYSCR2			0x00e2
+#define		TADR_SFR_EMCCR0			0x00e3
+#define		TADR_SFR_EMCCR1			0x00e4
+#define		TADR_SFR_DFMCR0			0x00e8
+#define		TADR_SFR_DFMCR1			0x00e9
+
+/*
+ *  8bitã¿ã¤ãAã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_TA01RUN		0x0100
+#define		TADR_SFR_TA0REG			0x0102
+#define		TADR_SFR_TA1REG			0x0103
+#define		TADR_SFR_TA01MOD		0x0104
+#define		TADR_SFR_TA1FFCR		0x0105
+#define		TADR_SFR_TA23RUN		0x0108
+#define		TADR_SFR_TA2REG			0x010a
+#define		TADR_SFR_TA3REG			0x010b
+#define		TADR_SFR_TA23MOD		0x010c
+#define		TADR_SFR_TA3FFCR		0x010d
+#define		TADR_SFR_TA45RUN		0x0110
+#define		TADR_SFR_TA4REG			0x0112
+#define		TADR_SFR_TA5REG			0x0113
+#define		TADR_SFR_TA45MOD		0x0114
+#define		TADR_SFR_TA5FFCR		0x0115
+#define		TADR_SFR_TA67RUN		0x0118
+#define		TADR_SFR_TA6REG			0x011a
+#define		TADR_SFR_TA7REG			0x011b
+#define		TADR_SFR_TA67MOD		0x011c
+#define		TADR_SFR_TA7FFCR		0x011d
+
+/*
+ *  16bitã¿ã¤ãBã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_TB0RUN			0x0180
+#define		TADR_SFR_TB0MOD			0x0182
+#define		TADR_SFR_TB0FFCR		0x0183
+#define		TADR_SFR_TB0RG0L		0x0188
+#define		TADR_SFR_TB0RG0H		0x0189
+#define		TADR_SFR_TB0RG1L		0x018a
+#define		TADR_SFR_TB0RG1H		0x018b
+#define		TADR_SFR_TB0CP0L		0x018c
+#define		TADR_SFR_TB0CP0H		0x018d
+#define		TADR_SFR_TB0CP1L		0x018e
+#define		TADR_SFR_TB0CP1H		0x018f
+#define		TADR_SFR_TB1RUN			0x0190
+#define		TADR_SFR_TB1MOD			0x0192
+#define		TADR_SFR_TB1FFCR		0x0193
+#define		TADR_SFR_TB1RG0L		0x0198
+#define		TADR_SFR_TB1RG0H		0x0199
+#define		TADR_SFR_TB1RG1L		0x019a
+#define		TADR_SFR_TB1RG1H		0x019b
+#define		TADR_SFR_TB1CP0L		0x019c
+#define		TADR_SFR_TB1CP0H		0x019d
+#define		TADR_SFR_TB1CP1L		0x019e
+#define		TADR_SFR_TB1CP1H		0x019f
+
+/*
+ *  ã·ãªã¢ã«I/O(UART/I2Cãã¹/SIO)ã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_SC0BUF			0x0200
+#define		TADR_SFR_SC0CR			0x0201
+#define		TADR_SFR_SC0MOD0		0x0202
+#define		TADR_SFR_BR0CR			0x0203
+#define		TADR_SFR_BR0ADD			0x0204
+#define		TADR_SFR_SC0MOD1		0x0205
+#define		TADR_SFR_SIRCR			0x0207
+#define		TADR_SFR_SC1BUF			0x0208
+#define		TADR_SFR_SC1CR			0x0209
+#define		TADR_SFR_SC1MOD0		0x020a
+#define		TADR_SFR_BR1CR			0x020b
+#define		TADR_SFR_BR1ADD			0x020c
+#define		TADR_SFR_SC1MOD1		0x020d
+#define		TADR_SFR_SBI0CR1		0x0240
+#define		TADR_SFR_SBI0DBR		0x0241
+#define		TADR_SFR_I2C0AR			0x0242
+#define		TADR_SFR_SBI0CR2		0x0243
+#define		TADR_SFR_SBI0BR0		0x0244
+#define		TADR_SFR_SBI0BR1		0x0245
+
+/*
+ *  10ãããADCã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_ADREG04L		0x02a0
+#define		TADR_SFR_ADREG04H		0x02a1
+#define		TADR_SFR_ADREG15L		0x02a2
+#define		TADR_SFR_ADREG15H		0x02a3
+#define		TADR_SFR_ADREG26L		0x02a4
+#define		TADR_SFR_ADREG26H		0x02a5
+#define		TADR_SFR_ADREG37L		0x02a6
+#define		TADR_SFR_ADREG37H		0x02a7
+#define		TADR_SFR_ADMOD0			0x02b0
+#define		TADR_SFR_ADMOD1			0x02b1
+
+/*
+ *  ã¦ã©ããããã°ã¿ã¤ãã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_WDMOD			0x0300
+#define		TADR_SFR_WDCR			0x0301
+
+/*
+ *  æè¨ç¨ã¿ã¤ãã¬ã¸ã¹ã¿
+ */
+#define		TADR_SFR_RTCCR			0x0310
+
+/*
+ *  SFRbitãã¹ã¯å®ç¾©
+ */
+/*
+ *  å²è¾¼ã¿ã¬ã¸ã¹ã¿
+ */
+/* åªå
+é ä½è¨­å®ã¬ã¸ã¹ã¿	*/
+#define		TBIT_INTM_L			0x07
+#define		TBIT_INTC_L			0x08
+#define		TBIT_INTM_H			0x70
+#define		TBIT_INTC_H			0x80
+/* å²è¾¼ã¿ã¯ãªã¢å¶å¾¡ã¬ã¸ã¹ã¿	*/
+/* ã¯ãªã¢ãã¯ã¿(ãã¤ã¯ã­DMAèµ·åãã¯ã¿)	*/
+#define		TBIT_INT0_CLR		0x0a	/* INT0								*/
+#define		TBIT_INT1_CLR		0x0b	/* INT1								*/
+#define		TBIT_INT2_CLR		0x0c	/* INT2								*/
+#define		TBIT_INT3_CLR		0x0d	/* INT3								*/
+#define		TBIT_INT4_CLR		0x0e	/* INT4								*/
+#define		TBIT_INT5_CLR		0x0f	/* INT5								*/
+#define		TBIT_INT6_CLR		0x10	/* INT6								*/
+#define		TBIT_INT7_CLR		0x11	/* INT7								*/
+#define		TBIT_INT8_CLR		0x12	/* INT8								*/
+#define		TBIT_TA0_CLR		0x13	/* 8ãããã¿ã¤ã0					*/
+#define		TBIT_TA1_CLR		0x14	/* 8ãããã¿ã¤ã1					*/
+#define		TBIT_TA2_CLR		0x15	/* 8ãããã¿ã¤ã2					*/
+#define		TBIT_TA3_CLR		0x16	/* 8ãããã¿ã¤ã3					*/
+#define		TBIT_TA4_CLR		0x17	/* 8ãããã¿ã¤ã4					*/
+#define		TBIT_TA5_CLR		0x18	/* 8ãããã¿ã¤ã5					*/
+#define		TBIT_TA6_CLR		0x19	/* 8ãããã¿ã¤ã6					*/
+#define		TBIT_TA7_CLR		0x1a	/* 8ãããã¿ã¤ã7					*/
+#define		TBIT_TB00_CLR		0x1b	/* 16ãããã¿ã¤ã00					*/
+#define		TBIT_TB01_CLR		0x1c	/* 16ãããã¿ã¤ã01					*/
+#define		TBIT_TB10_CLR		0x1d	/* 16ãããã¿ã¤ã10					*/
+#define		TBIT_TB11_CLR		0x1e	/* 16ãããã¿ã¤ã11					*/
+#define		TBIT_TBOF0_CLR		0x1f	/* 16ãããã¿ã¤ã0ãªã¼ãã¼ãã­ã¼	*/
+#define		TBIT_TBOF1_CLR		0x20	/* 16ãããã¿ã¤ã1ãªã¼ãã¼ãã­ã¼	*/
+#define		TBIT_RX0_CLR		0x21	/* ã·ãªã¢ã«åä¿¡0					*/
+#define		TBIT_TX0_CLR		0x22	/* ã·ãªã¢ã«éä¿¡0					*/
+#define		TBIT_RX1_CLR		0x23	/* ã·ãªã¢ã«åä¿¡1					*/
+#define		TBIT_TX1_CLR		0x24	/* ã·ãªã¢ã«éä¿¡1					*/
+#define		TBIT_SBI_CLR		0x25	/* ã·ãªã¢ã«ãã¹ã¤ã³ã¿ãã§ã¼ã¹		*/
+#define		TBIT_RTC_CLR		0x26	/* æè¨ç¨ã¿ã¤ã						*/
+#define		TBIT_AD_CLR			0x27	/* ADå¤æçµäº						*/
+
+/*
+ *  8bitã¿ã¤ãã¬ã¸ã¹ã¿
+ */
+/* RUNã¬ã¸ã¹ã¿	*/
+#define		TBIT_TA0RUN			0x01
+#define		TBIT_TA1RUN			0x02
+#define		TBIT_TA01PRUN		0x04
+#define		TBIT_I2TA01			0x08
+#define		TBIT_TA0RDE			0x80
+/* ã¢ã¼ãã¬ã¸ã¹ã¿	*/
+#define		TBIT_TA0CLK			0x03
+#define		TBIT_TA0CLK0		0x00
+#define		TBIT_TA0CLK1		0x01
+#define		TBIT_TA0CLK4		0x02
+#define		TBIT_TA0CLK16		0x03
+#define		TBIT_TA1CLK			0x0c
+#define		TBIT_TA1CLK0		0x00
+#define		TBIT_TA1CLK1		0x04
+#define		TBIT_TA1CLK16		0x08
+#define		TBIT_TA1CLK256		0x0c
+#define		TBIT_PWM			0x30
+#define		TBIT_PWM26			0x10
+#define		TBIT_PWM27			0x20
+#define		TBIT_PWM28			0x30
+#define		TBIT_TA01M			0xc0
+#define		TBIT_TA01M8			0x00
+#define		TBIT_TA01M16		0x40
+#define		TBIT_TA01MPPG		0x80
+#define		TBIT_TA01MPWM		0xc0
+
+/*
+ *  ã·ãªã¢ã«I/Oã¬ã¸ã¹ã¿
+ */
+/* ã¢ã¼ãã¬ã¸ã¹ã¿0	*/
+#define		TBIT_SIOSC			0x03
+#define		TBIT_SIOSCT			0x00
+#define		TBIT_SIOSCBRG		0x01
+#define		TBIT_SIOSCFSYS		0x02
+#define		TBIT_SIOSCSCLK		0x03
+#define		TBIT_SIOSM			0x0c
+#define		TBIT_SIOSMIO		0x00
+#define		TBIT_SIOSMU7		0x04
+#define		TBIT_SIOSMU8		0x08
+#define		TBIT_SIOSMU9		0x0c
+#define		TBIT_SIOWU			0x10
+#define		TBIT_SIORXE			0x20
+#define		TBIT_SIOCTSE		0x40
+#define		TBIT_SIOTB8			0x80
+/* å¶å¾¡ã¬ã¸ã¹ã¿	*/
+#define		TBIT_SIOIOC			0x01
+#define		TBIT_SIOSCLKS		0x02
+#define		TBIT_SIOFERR		0x04
+#define		TBIT_SIOPERR		0x08
+#define		TBIT_SIOOERR		0x10
+#define		TBIT_SIOPE			0x20
+#define		TBIT_SIOEVEN		0x40
+#define		TBIT_SIORB8			0x80
+/* ãã¼ã¬ã¼ãã³ã³ãã­ã¼ã©	*/
+#define		TBIT_SIOBRS			0x0f
+#define		TBIT_SIOBRCK		0x30
+#define		TBIT_SIOBRCK0		0x00
+#define		TBIT_SIOBRCK2		0x10
+#define		TBIT_SIOBRCK8		0x20
+#define		TBIT_SIOBRCK32		0x30
+#define		TBIT_SIOBRADD		0x40
+#define		TBIT_SIOBRK			0x0f
+/* ã¢ã¼ãã¬ã¸ã¹ã¿1	*/
+#define		TBIT_SIOFDPX		0x40
+#define		TBIT_SIOI2S			0x80
+
+#endif	/* _TMP91CY22_H_	*/
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.c	(revision 26)
@@ -0,0 +1,419 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: uart.c,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *  éåæéä¿¡ (UART)ã·ãªã¢ã«ãã£ã³ãã«ããã¤ã¹ï¼SIOï¼ãã©ã¤ã
+ *  ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+#include <s_services.h>
+#include <sil.h>
+#include <tmp91cy22.h>
+#include <uart.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oå¶å¾¡ã¬ã¸ã¹ã¿ã¸ã®ãªãã»ããå®ç¾©
+ */
+#define		TOFFSET_SC0BUF			0x0000
+#define		TOFFSET_SC0CR			0x0001
+#define		TOFFSET_SC0MOD0			0x0002
+#define		TOFFSET_BR0CR			0x0003
+#define		TOFFSET_BR0ADD			0x0004
+#define		TOFFSET_SC0MOD1			0x0005
+ 
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç¶æ
+ãã©ã°ã®å®ç¾©
+ */
+#define		TBIT_STS_DEF			0x00
+#define		TBIT_TXB_EMPTY			0x01
+#define		TBIT_ENE_TXCBR			0x02
+#define		TBIT_ENE_RXCBR			0x04
+#define		TBIT_LOG_PORT			0x80
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *
+ *  ID = 1 ãuart1ï¼ID = 2 ãuart0ã«å¯¾å¿ããã¦ããï¼
+ */
+static const SIOPINIB siopinib_table[TNUM_PORT] = {
+	{ TADR_SFR_SC1BUF, TADR_SFR_INTES1, 0x08, (TBIT_SIOSMU8 | TBIT_SIORXE | TBIT_SIOSCBRG),
+	  0x00, BRCR_19200, BRADD_19200, TBIT_RX1_CLR }	/* ID1ç¨ UART1 19200bps	*/
+/*	{ TADR_SFR_SC1BUF, TADR_SFR_INTES1, 0x08, (TBIT_SIOSMU8 | TBIT_SIORXE | TBIT_SIOSCBRG),
+	  0x00, BRCR_38400, BRADD_38400, TBIT_RX1_CLR }*/	/* ID1ç¨ UART1 38400bps	*/
+/*	{ TADR_SFR_SC0BUF, TADR_SFR_INTES0, 0x01, (TBIT_SIOSMU8 | TBIT_SIORXE | TBIT_SIOSCBRG),
+	  0x00, BRCR_19200, BRADD_19200, TBIT_RX0_CLR }*/	/* ID2ç¨ UART0 19200bps	*/
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+uart_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_PORT; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->sts_flag = TBIT_STS_DEF;
+		siopcb->rxb = -1;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb;
+	const SIOPINIB	*siopinib;
+	int i;
+
+	/* ãã¼ãIDããç®¡çãã­ãã¯ãåå¾	*/
+	siopcb = get_siopcb(siopid);
+	siopinib = siopcb->siopinib;
+
+	/* ç®¡çãã­ãã¯ã«æ
+å ±è¨­å®	*/
+	siopcb->sts_flag |= TBIT_TXB_EMPTY;
+	siopcb->exinf = exinf;
+	if( siopid == LOGTASK_PORTID ){	/* ã·ã¹ãã ã­ã°ç¨ã®ãã¼ãã®å ´å	*/
+		siopcb->sts_flag |= TBIT_LOG_PORT;
+		if( log_io_busy == TRUE ){
+			/* éä¿¡ä¸­ã®å ´åã¯å®äºã¾ã§å¾
+ã¤	*/
+			while( (sil_reb_mem((VP)(siopinib->hint)) & TBIT_INTC_H) == 0 );
+		}
+		log_io_busy = FALSE;	/* åæåãªã®ã§æç¤ºçã«è¡ã£ã¦ãã   */
+	}
+
+	/* åä¿¡åæ­¢	*/
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_SC0MOD0), 0x00 );
+	/* ãã¼ãè¨­å®(TXDã¨ãã¦ä½¿ç¨)	*/
+	sil_wrb_mem((VP)(TADR_SFR_P9FC), siopinib->pcrfc_def );
+	sil_wrb_mem((VP)(TADR_SFR_P9CR), siopinib->pcrfc_def );
+
+	/* åä½ã¢ã¼ãè¨­å®	*/
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_SC0MOD0), siopinib->scmod0_def );
+	sil_reb_mem((VP)(siopinib->cntrl+TOFFSET_SC0CR));	/* èª­åºãã«ããã¨ã©ã¼ãã©ã°ã¯ãªã¢	*/
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_SC0CR), siopinib->sccr_def );
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_BR0CR), siopinib->brcr_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_BR0ADD), siopinib->bradd_def);
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_SC0MOD1), TBIT_SIOI2S);
+
+	/* ã·ãªã¢ã«å²è¾¼ã¿ã®è¨­å®ããã³è¦æ±ãã©ã°ã¯ãªã¢	 */
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, (siopinib->int_clr) );		/* åä¿¡è¦æ±ã¯ãªã¢	*/
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, (VB)(siopinib->int_clr + 1) );	/* éä¿¡è¦æ±ã¯ãªã¢	*/
+	sil_wrb_mem((VP)(siopinib->hint), (VB)((INT_LEVEL_UART << 4) | INT_LEVEL_UART) );
+
+	/*
+	 * ããã¼ãã¼ã¿åä¿¡
+	 */
+	sil_reb_mem((VP)(siopinib->cntrl+TOFFSET_SC0BUF));
+	sil_reb_mem((VP)(siopinib->cntrl+TOFFSET_SC0BUF));
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+	const SIOPINIB	*siopinib;
+
+	siopinib = siopcb->siopinib;
+
+	/* åä¿¡åæ­¢	*/
+	sil_wrb_mem((VP)(siopinib->cntrl+TOFFSET_SC0MOD0), 0x00 );
+
+	/* ã·ã¹ãã ã­ã°ç¨ãã¼ãã®å¦ç	*/
+	if( (siopcb->sts_flag & TBIT_LOG_PORT) == TBIT_LOG_PORT ){
+		if( log_io_busy == TRUE ){
+			/* éä¿¡ä¸­ã®å ´åã¯å®äºã¾ã§å¾
+ã¤	*/
+			while( (sil_reb_mem((VP)(TADR_SFR_INTES0)) & TBIT_INTC_H) == 0 );
+		}
+		log_io_busy = FALSE;
+	}
+
+	/* ã·ãªã¢ã«å²è¾¼ã¿ã®ç¦æ­¢ããã³è¦æ±ãã©ã°ã¯ãªã¢	 */
+	sil_wrb_mem((VP)(siopinib->hint), 0x00 );
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, (siopinib->int_clr) );		/* åä¿¡è¦æ±ã¯ãªã¢	*/
+	sil_wrb_mem((VP)TADR_SFR_INTCLR, (VB)(siopinib->int_clr + 1) );	/* éä¿¡è¦æ±ã¯ãªã¢	*/
+	/* ãã¼ãè¨­å®(ãã¼ãã¨ãã¦ä½¿ç¨)	*/
+	sil_wrb_mem((VP)(TADR_SFR_P9FC), 0x00 );
+	sil_wrb_mem((VP)(TADR_SFR_P9CR), 0x00 );
+
+	siopcb->sts_flag = TBIT_STS_DEF;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+	if( (siopcb->sts_flag & TBIT_TXB_EMPTY) == TBIT_TXB_EMPTY ){
+		siopcb->sts_flag &= (UB)~TBIT_TXB_EMPTY;
+		sil_wrb_mem((VP)(siopcb->siopinib->cntrl+TOFFSET_SC0BUF), c);
+
+	/* ã·ã¹ãã ã­ã°ç¨ãã¼ãã®å¦ç	*/
+		if( (siopcb->sts_flag & TBIT_LOG_PORT) == TBIT_LOG_PORT ){
+			log_io_busy = TRUE;	/* éä¿¡ä¸­	*/
+		}
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+	return(siopcb->rxb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case UART_ERDY_SND:
+		siopcb->sts_flag |= TBIT_ENE_TXCBR;
+		break;
+	case UART_ERDY_RCV:
+		siopcb->sts_flag |= TBIT_ENE_RXCBR;
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	case UART_ERDY_SND:
+		siopcb->sts_flag &= (UB)~TBIT_ENE_TXCBR;
+		break;
+	case UART_ERDY_RCV:
+		siopcb->sts_flag &= (UB)~TBIT_ENE_RXCBR;
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ *  ãã¼ãID=1ã«æå®ããã¦ããSIOãã£ã³ãã«(uart1)ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler1()
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+
+	/* ã¨ã©ã¼ã®å ´åå¦çããªã   */
+	if( ( sil_reb_mem((VP)(siopcb->siopinib->cntrl+TOFFSET_SC0CR)) & 0x1c ) == 0 ){
+
+		/* ãã¼ã¿åä¿¡	*/
+		siopcb->rxb = (INT)sil_reb_mem((VP)(siopcb->siopinib->cntrl+TOFFSET_SC0BUF));
+
+		/* ã³ã¼ã«ããã¯ãè¨±å¯ããã¦ããå ´å	*/
+		if( (siopcb->sts_flag & TBIT_ENE_RXCBR) == TBIT_ENE_RXCBR ){
+			/*
+			 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+			 */
+			uart_ierdy_rcv(siopcb->exinf);
+		}
+	}
+}
+
+/*
+ *  ãã¼ãID=1ã«æå®ããã¦ããSIOãã£ã³ãã«(uart1)ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler1()
+{
+	SIOPCB *siopcb = &siopcb_table[0];
+
+	/* ãã¼ã¿éä¿¡å®äºãã©ã°ON	*/
+	siopcb->sts_flag |= TBIT_TXB_EMPTY;
+
+	/* ã·ã¹ãã ã­ã°ç¨ãã¼ãã®å¦ç	*/
+	if( (siopcb->sts_flag & TBIT_LOG_PORT) == TBIT_LOG_PORT ){
+		log_io_busy = FALSE;	/* éä¿¡å®äº	*/
+	}
+
+	/* ã³ã¼ã«ããã¯ãè¨±å¯ããã¦ããå ´å	*/
+	if( (siopcb->sts_flag & TBIT_ENE_TXCBR) == TBIT_ENE_TXCBR ){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		uart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+#if TNUM_PORT >= 2
+/*
+ *  ãã¼ãID=2ã«æå®ããã¦ããSIOãã£ã³ãã«(uart0)ããã®åä¿¡å²è¾¼ã¿
+ */
+void serial_in_handler2()
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+
+	/* ã¨ã©ã¼ã®å ´åå¦çããªã   */
+	if( ( sil_reb_mem((VP)(siopcb->siopinib->cntrl+TOFFSET_SC0CR)) & 0x1c ) == 0 ){
+
+		/* ãã¼ã¿åä¿¡	*/
+		siopcb->rxb = (INT)sil_reb_mem((VP)(siopcb->siopinib->cntrl+TOFFSET_SC0BUF));
+
+		/* ã³ã¼ã«ããã¯ãè¨±å¯ããã¦ããå ´å	*/
+		if( (siopcb->sts_flag & TBIT_ENE_RXCBR) == TBIT_ENE_RXCBR ){
+			/*
+			 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+			 */
+			uart_ierdy_rcv(siopcb->exinf);
+		}
+	}
+}
+
+/*
+ *  ãã¼ãID=2ã«æå®ããã¦ããSIOãã£ã³ãã«(uart0)ããã®éä¿¡å²è¾¼ã¿
+ */
+void serial_out_handler2()
+{
+	SIOPCB *siopcb = &siopcb_table[1];
+
+	/* ãã¼ã¿éä¿¡å®äºãã©ã°ON	*/
+	siopcb->sts_flag |= TBIT_TXB_EMPTY;
+
+	/* ã·ã¹ãã ã­ã°ç¨ãã¼ãã®å¦ç	*/
+	if( (siopcb->sts_flag & TBIT_LOG_PORT) == TBIT_LOG_PORT ){
+		log_io_busy = FALSE;	/* éä¿¡å®äº	*/
+	}
+
+	/* ã³ã¼ã«ããã¯ãè¨±å¯ããã¦ããå ´å	*/
+	if( (siopcb->sts_flag & TBIT_ENE_TXCBR) == TBIT_ENE_TXCBR ){
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		uart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/uart.h	(revision 26)
@@ -0,0 +1,206 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: uart.h,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *  éåæéä¿¡ (UART)ã·ãªã¢ã«ãã£ã³ãã«ããã¤ã¹ï¼SIOï¼ãã©ã¤ã
+ *  ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+
+#ifndef _UART_H_
+#define _UART_H_
+
+/*
+ * ã·ãªã¢ã«ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤ 
+ */
+/* 19200bps = (6144000*4)/4/(BRCK)/(BRS+(16-BRK)/16)/16	*/
+/* BRCK=4åå¨,BRS=5ã«ã¦ã³ã,+(16-BRK)/16 ã¯æªä½¿ç¨ */
+#define	BRCR_19200  	(TBIT_SIOBRCK2 | 5)
+#define	BRADD_19200		0
+/* 38400bps = (6144000*4)/4/(BRCK)/(BRS+(16-BRK)/16)/16	*/
+/* BRCK=1åå¨,BRS=10ã«ã¦ã³ã,+(16-BRK)/16 ã¯æªä½¿ç¨ */
+#define	BRCR_38400		(TBIT_SIOBRCK0 | 10)
+#define	BRADD_38400		0
+#define	INT_LEVEL_UART	5		/* å²è¾¼ã¿ã¬ãã« */
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SERIAL_IN1	INT_NO_RX1
+#define	INHNO_SERIAL_OUT1	INT_NO_TX1
+#define INHNO_SERIAL_IN2	INT_NO_RX0
+#define INHNO_SERIAL_OUT2	INT_NO_TX0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	UH  cntrl;		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®çªå° */
+	UH  hint;		/* å²è¾¼ã¿ã¬ã¸ã¹ã¿ã®çªå° */
+
+	UB  pcrfc_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (P9CR/P9FC) */
+	UB  scmod0_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (SCMOD0)	*/
+	UB  sccr_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (SCCR)		*/
+	UB  brcr_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (BRCR)		*/
+	UB  bradd_def;		/* ããã©ã¼ã«ãã®è¨­å®å¤ (BRADD)		*/
+	UB  int_clr;		/* å²è¾¼ã¿è¦æ±ãã©ã°ã¯ãªã¢ã³ãã³ã	*/
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT			exinf;		/* æ¡å¼µæ
+å ± */
+	INT				rxb;		/* åä¿¡ãããã¡	*/
+	volatile UB		sts_flag;	/* éä¿¡ãããã¡ç©ºãã©ã°	*/
+} SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define UART_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define UART_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	uart_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	uart_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	uart_ierdy_rcv(VP_INT exinf);
+
+#endif /* _MACRO_ONLY */
+#endif /* _UART_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/zup_f16_ex.lcf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/zup_f16_ex.lcf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/zup_f16_ex/zup_f16_ex.lcf	(revision 26)
@@ -0,0 +1,130 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: zup_f16_ex.lcf,v 1.1 2006/04/10 08:19:25 honda Exp $
+ */
+
+/*
+ *	ãªã³ã«ã³ãã³ãè¨èªãã¡ã¤ã«ï¼Zup-F16æ¡å¼µãã¼ãç¨ï¼
+ */
+
+memory
+{
+	IO		: org=0x000000	, length=0x000400
+	RAM		: org=0x001000	, length=0x003c00
+	STACK	: org=0x004c00	, length=0x000400
+	EXRAM	: org=0x100000	, length=0x100000
+	ROM		: org=0xfc0000	, length=0x03ff00
+	VECTER	: org=0xffff00	, length=0x000100
+}
+
+sections
+{
+	area	org=0x001000	: {*(f_area)}	>RAM
+	code	org=0xfc0000	: {*(f_code)}	>ROM
+	data	org=org(code)+sizeof(code)
+			addr=org(area)+sizeof(area)	: {*(f_data)}
+	const	: {*(f_const)}	>ROM
+	stack	org=0x004c00	: {*(f_stack)}	>STACK
+	vecter	org=0xffff00	: {*(f_vecter)}	>VECTER
+
+	__AreaRAM = org(area);
+	__AreaRAM_size = sizeof(area);
+	__DataRAM = addr(data);
+	__DataRAM_ini = org(data);
+	__DataRAM_size = sizeof(data);
+	__StackTop = org(stack)+0x000400;
+/*	hardware_init_hook = 0x000000;	*/
+	software_init_hook = 0x000000;
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/api.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/api.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/api.h	(revision 26)
@@ -0,0 +1,181 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: api.h,v 1.3 2003/12/04 08:25:44 honda Exp $
+ */
+
+#ifndef API_H
+#define API_H
+
+#define __cycini
+#define __cycenq
+#define __sta_cyc
+#define __stp_cyc
+#define __cyccal
+#define __dtqini
+#define __dtqenq
+#define __dtqfenq
+#define __dtqdeq
+#define __dtqsnd
+#define __dtqrcv
+#define __snd_dtq
+#define __psnd_dtq
+#define __ipsnd_dtq
+#define __tsnd_dtq
+#define __fsnd_dtq
+#define __ifsnd_dtq
+#define __rcv_dtq
+#define __prcv_dtq
+#define __trcv_dtq
+#define __flgini
+#define __flgcnd
+#define __set_flg
+#define __iset_flg
+#define __clr_flg
+#define __wai_flg
+#define __pol_flg
+#define __twai_flg
+#define __excini
+#define __vxsns_ctx
+#define __vxsns_loc
+#define __vxsns_dsp
+#define __vxsns_dpn
+#define __vxsns_tex
+#define __inhini
+#define __mbxini
+#define __snd_mbx
+#define __rcv_mbx
+#define __prcv_mbx
+#define __trcv_mbx
+#define __mpfini
+#define __mpfget
+#define __get_mpf
+#define __pget_mpf
+#define __tget_mpf
+#define __rel_mpf
+#define __semini
+#define __sig_sem
+#define __isig_sem
+#define __wai_sem
+#define __pol_sem
+#define __twai_sem
+#define __rot_rdq
+#define __irot_rdq
+#define __get_tid
+#define __iget_tid
+#define __loc_cpu
+#define __iloc_cpu
+#define __unl_cpu
+#define __iunl_cpu
+#define __dis_dsp
+#define __ena_dsp
+#define __sns_ctx
+#define __sns_loc
+#define __sns_dsp
+#define __sns_dpn
+#define __logini
+#define __vwri_log
+#define __vrea_log
+#define __vmsk_log
+#define __logter
+#define __tskini
+#define __tsksched
+#define __tskrun
+#define __tsknrun
+#define __tskdmt
+#define __tskact
+#define __tskext
+#define __tskpri
+#define __tskrot
+#define __tsktex
+#define __ras_tex
+#define __iras_tex
+#define __dis_tex
+#define __ena_tex
+#define __sns_tex
+#define __act_tsk
+#define __iact_tsk
+#define __can_act
+#define __ext_tsk
+#define __ter_tsk
+#define __chg_pri
+#define __get_pri
+#define __slp_tsk
+#define __tslp_tsk
+#define __wup_tsk
+#define __iwup_tsk
+#define __can_wup
+#define __rel_wai
+#define __irel_wai
+#define __sus_tsk
+#define __rsm_tsk
+#define __frsm_tsk
+#define __dly_tsk
+#define __tmeini
+#define __tmeup
+#define __tmedown
+#define __tmeins
+#define __tmedel
+#define __isig_tim
+#define __set_tim
+#define __get_tim
+#define __vxget_tim
+#define __waimake
+#define __waicmp
+#define __waitmo
+#define __waitmook
+#define __waican
+#define __wairel
+#define __wobjwai
+#define __wobjwaitmo
+#define __wobjpri
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.cmd
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.cmd	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.cmd	(revision 26)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: c5402dsk.cmd,v 1.4 2003/07/11 08:40:55 reiji Exp $
+ */
+
+
+_hardware_init_hook = 0;
+_software_init_hook = 0;
+_software_term_hook = 0;
+
+MEMORY
+{
+   PAGE 0 : PROG:  origin = 0x4000,  length = 0xBF80
+            VECT:  origin = 0xFF80,  length = 0x0080
+
+   PAGE 1 : USER:  origin = 0x0060,  length = 0x0020
+            DATA:  origin = 0x0080,  length = 0x3F80
+}
+
+SECTIONS
+{
+
+   vectors  : > VECT  PAGE 0    /* vector table */
+   usr_bss : > USER  PAGE 1    /* MMRé åã«å²ãå½ã¦ãã°ã­ã¼ãã«å¤æ° */
+   /* ã³ã¼ã */
+   .text    : > PROG  PAGE 0
+   {
+     start.o (.text)
+   }
+   .bss     : > DATA  PAGE 1    /* ã¯ã­ã¼ãã«å¤æ° */
+   .cinit   : > PROG  PAGE 0    /* bssã»ã¯ã·ã§ã³ã®åæåãã¼ãã« */
+   .const   : > DATA  PAGE 1    /* Const, æå­åãªãã©ã« */
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/c5402dsk.h	(revision 26)
@@ -0,0 +1,71 @@
+;
+;  TOPPERS/JSP Kernel
+;      Toyohashi Open Platform for Embedded Real-Time Systems/
+;      Just Standard Profile Kernel
+; 
+;  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+;                              Toyohashi Univ. of Technology, JAPAN
+; 
+;  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+;  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+;  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+;  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+;  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+;  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+;      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+;      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+;  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+;      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+;      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+;      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+;      ã¨ï¼
+;    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+;        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+;    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+;        å ±åãããã¨ï¼
+;  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+;      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+; 
+;  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+;  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+;  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+;  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+; 
+;  @(;) $Id: c5402dsk.h,v 1.4 2003/07/11 08:40:55 reiji Exp $
+; 
+
+STACKTOP    .set      0x4000    ; ã¿ã¹ã¯ç¬ç«é¨ç¨ã¹ã¿ãã¯ã®åæå¤ 
+TCB_sp      .set      6
+TCB_pc      .set      7
+SIL_DLY_TIM1 .set     10
+SIL_DLY_TIM2 .set     10
+            .ref      cinit,___bss__,___end__
+            .ref      _start,_interrupt
+            .ref      __kernel_nest
+            .ref      _INT_VECNO
+            .ref      __kernel_reqflg
+            .ref      __kernel_enadsp
+            .ref      __kernel_runtsk
+            .ref      __kernel_schedtsk
+            .ref      __kernel_int_table
+            .ref      __kernel_int_mask_table
+            .ref      _hardware_init_hook,_software_init_hook
+            .ref      __kernel_calltex
+            .ref      _kernel_start
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.cfg	(revision 26)
@@ -0,0 +1,10 @@
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/12/04 08:25:44 honda Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼C5402DSKç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/hw_serial.h	(revision 26)
@@ -0,0 +1,170 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.7 2003/12/04 08:25:44 honda Exp $
+ */
+
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+#include "c54x.h"
+#include "tl16c550cfn.h"
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO   INT1_VEC
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+#define sio_initialize  uart_initialize
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+	BOOL	openflag;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ãããããã openflag ã«èª­ãã§ããï¼
+	 */
+	openflag = uart_openflag();
+
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ãªã¼ãã³å¦çï¼
+	 */
+	siopcb = uart_opn_por(siopid, exinf);
+      
+	/*
+	 * å²è¾¼ã¿é¢é£ã®è¨­å®
+	 */
+	/* Enable Interrupt Rx */
+	if (!openflag) {
+		/* å²ãè¾¼ã¿ãã©ã°ã®ã¯ãªã¢ */
+		sil_wrh_mem((VP) IFR,
+			    (sil_reh_mem((VP) IFR) | (0x1 << INT1)));
+		/* å²ãè¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿ã®è¨­å® */
+		sil_wrh_mem((VP) IMR,
+			    (sil_reh_mem((VP) IMR) | (0x1 << INT1)));
+	}
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *siopcb)
+{
+	/*
+	 *  ããã¤ã¹ä¾å­ã®ã¯ã­ã¼ãºå¦çï¼
+	 */
+	uart_cls_por(siopcb);
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+	if (!uart_openflag()) {
+		/*
+		 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+		 */
+		sil_wrh_mem((VP) IMR,
+			    (sil_reh_mem((VP) IMR) & ~(0x1 << INT1)));
+		sil_wrh_mem((VP) IFR,
+			    (sil_reh_mem((VP) IFR) | (0x1 << INT1)));
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+#define sio_handler uart_isr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+#define sio_snd_chr uart_snd_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+#define sio_rcv_chr uart_rcv_chr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+#define sio_ena_cbr uart_ena_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+#define sio_dis_cbr uart_dis_cbr
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_snd   uart_ierdy_snd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+#define sio_ierdy_rcv   uart_ierdy_rcv
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.c	(revision 26)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.5 2004/09/06 13:51:36 honda Exp $
+ */
+
+
+#include "jsp_kernel.h"
+#include <sil.h>
+#include "tl16c550cfn.h"
+
+
+void
+sys_initialize(void)
+{
+/* sys_putcã«printfã§ã¯ãªãã·ãªã¢ã«ã¸ã®ãã¼ãªã³ã°ã§ã®
+ * éä¿¡ãè¡ãå ´åã®åæåå¦ç
+ */
+
+ /*  FIFOãæå¹ã«ããåä¿¡éä¿¡FIFOãã¯ãªã¢ã
+   *  ããªã¬ã¬ãã«ï¼ï¼(åä¿¡éä¿¡å
+±éï¼       
+   */
+	UART_FCR = FCR_FIFO | FCR_RFRST | FCR_TFRST | FIFO_TRIG;
+	UART_LCR = 0x03;  /*  8ãã¼ã¿ã1ã¹ãããããããno parity */
+	UART_LCR |= LCR_DLAB;  /*  ãã¼ã¬ã¼ãã¬ã¸ã¹ã¿ã«ã¢ã¯ã»ã¹ */
+	UART_DLL = UART_BAUD_RATE;
+	UART_DLM = UART_BAUD_RATE >> 8;
+	UART_LCR &= ~LCR_DLAB; /*  BAUD RATEè¨­å®çµäº  */
+	UART_SCR = UART_LSR;   /*  ã¨ã©ã¼ãã©ã°ãã¯ãªã¢  */
+}
+
+void
+sys_exit(void)
+{
+}
+
+void
+sys_putc(char c)
+{
+	if(c == '\n'){
+		uart_putc('\r');
+	}
+	uart_putc(c);
+}
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_config.h	(revision 26)
@@ -0,0 +1,110 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.10 2005/07/06 01:48:21 honda Exp $
+ */
+
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+#define _DSP_
+
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#define	TARGET_NAME	"TMS320VC5402 DSK"
+
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_VXGET_TIM
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT  1       /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+#define TNUM_SIOP  1       /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+#define LOGTASK_PORTID	1
+
+#ifndef _MACRO_ONLY
+
+
+extern void sys_initialize(void);
+
+extern void sys_exit(void);
+
+extern void sys_putc(char c);
+#endif //_MACRO_ONLY
+
+/*
+ *  UARTã®ãã¼ã¬ã¼ãã®è¨­å®
+ */
+#define UART_BAUD_RATE    2
+/*
+ * BAUD RATE 2 : 115200 bps
+ * BAUD RATE 4 : 57600  bps
+ */
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK 4000
+//#define TIMER_CLOCK 50000
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_defs.h	(revision 26)
@@ -0,0 +1,75 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.5 2003/12/04 08:25:44 honda Exp $
+ */
+
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+#define C5402DSK
+
+#ifndef _MACRO_ONLY
+
+#define TIC_NUME	1
+#define TIC_DENO	1
+
+/*
+ *  ã·ã¹ãã ã®åæ­¢å¦ç
+ */
+
+Inline void
+kernel_abort()
+{
+	for (;;);
+}
+
+#endif /* _MACRO_ONLY */
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_rename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_support.S	(revision 26)
@@ -0,0 +1,52 @@
+; *
+; *  TOPPERS/JSP Kernel
+; *      Toyohashi Open Platform for Embedded Real-Time Systems/
+; *      Just Standard Profile Kernel
+; * 
+; *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+; *                              Toyohashi Univ. of Technology, JAPAN
+; * 
+; *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+; *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+; *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+; *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+; *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+; *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+; *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+; *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+; *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+; *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+; *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+; *      ã¨ï¼
+; *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+; *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+; *        å ±åãããã¨ï¼
+; *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+; *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+; * 
+; *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+; *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+; *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+; *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+; * 
+; *  @(#) $Id: sys_support.S,v 1.4 2003/07/11 08:40:55 reiji Exp $
+; *
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/sys_unrename.h	(revision 26)
@@ -0,0 +1,11 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.c	(revision 26)
@@ -0,0 +1,331 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tl16c550cfn.c,v 1.4 2003/12/19 10:03:31 honda Exp $
+ */
+
+/*
+ * TL16c550cfn ç¨ãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include "tl16c550cfn.h"
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+void
+uart_init(void)
+{
+	/*  FIFOãæå¹ã«ããåä¿¡éä¿¡FIFOãã¯ãªã¢ã
+	 *  ããªã¬ã¬ãã«ï¼ï¼(åä¿¡éä¿¡å
+±éï¼
+	 *  8ãã¼ã¿ã1ã¹ãããããããno parity 
+	 */ 
+	UART_FCR = (FCR_FIFO | FCR_RFRST | FCR_TFRST | FIFO_TRIG);
+	UART_LCR = 0x03;
+	 /*  ãã¼ã¬ã¼ãã¬ã¸ã¹ã¿ã«ã¢ã¯ã»ã¹ */
+	UART_LCR |= LCR_DLAB;
+	UART_DLL = UART_BAUD_RATE;
+	UART_DLM = UART_BAUD_RATE >> 8;
+	/*  BAUD RATEè¨­å®çµäº  */
+	UART_LCR &= ~LCR_DLAB;
+	UART_SCR = UART_LSR;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {0};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+	return((UART_LSR & LSR_DR) != 0);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+	return((UART_LSR & LSR_THRE) != 0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+uart_getchar(SIOPCB *siopcb)
+{
+	return((char) UART_RBR);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, char c)
+{
+	UART_THR = (UB) c;
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+	UART_IER |= IER_TIE;
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+	UART_IER &= ~IER_TIE;
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+	UART_IER = IER_RIE;
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+	UART_IER &= ~IER_RIE;
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+uart_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+	return(siopcb_table[0].openflag);
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB	*siopcb;
+
+	siopcb = get_siopcb(siopid);
+	
+	/*  FIFOãæå¹ã«ããåä¿¡éä¿¡FIFOãã¯ãªã¢ã
+	 *  ããªã¬ã¬ãã«ï¼ï¼(åä¿¡éä¿¡å
+±éï¼
+	 *  8ãã¼ã¿ã1ã¹ãããããããno parity 
+	 */
+	UART_FCR = (FCR_FIFO | FCR_RFRST | FCR_TFRST | FIFO_TRIG);
+	UART_LCR = 0x03;
+	/*  ãã¼ã¬ã¼ãã¬ã¸ã¹ã¿ã«ã¢ã¯ã»ã¹ */
+	UART_LCR |= LCR_DLAB;
+	UART_DLL = UART_BAUD_RATE;
+	UART_DLM = UART_BAUD_RATE >> 8;
+	/*  BAUD RATEè¨­å®çµäº  */
+	UART_LCR &= ~LCR_DLAB;
+	/*  ã¨ã©ã¼ãã©ã°ãã¯ãªã¢  */
+	UART_SCR = UART_LSR;
+	UART_IER = IER_RIE;       /*  åä¿¡å²ãè¾¼ã¿è¨±å¯  */
+	
+	siopcb->exinf = exinf;
+	siopcb->openflag = TRUE;
+	siopcb->getready = siopcb->putready = FALSE;
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+	/* éä¿¡åä¿¡å²ãè¾¼ã¿è¦æ±ç¦æ­¢ */
+	UART_IER = 0;
+	
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char chr)
+{
+	if (uart_putready(siopcb)) {
+		uart_putchar(siopcb, chr);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+	if (uart_getready(siopcb)) {
+		return((INT)(UB) uart_getchar(siopcb));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	    case SIO_ERDY_SND:
+		uart_enable_send(siopcb);
+		break;
+	    case SIO_ERDY_RCV:
+		uart_enable_rcv(siopcb);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	switch (cbrtn) {
+	    case SIO_ERDY_SND:
+		uart_disable_send(siopcb);
+		break;
+	    case SIO_ERDY_RCV:
+		uart_disable_rcv(siopcb);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_isr_siop(SIOPCB *siopcb)
+{
+	if (uart_getready(siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		uart_ierdy_rcv(siopcb->exinf);
+	}
+	if (uart_putready(siopcb)) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		uart_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+uart_isr()
+{
+	if (siopcb_table[0].openflag) {
+		uart_isr_siop(&(siopcb_table[0]));
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c5402dsk/tl16c550cfn.h	(revision 26)
@@ -0,0 +1,257 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tl16c550cfn.h,v 1.3 2003/12/04 08:25:44 honda Exp $
+ */
+
+/*
+ * TL16C550CFNç¨ ç°¡æSIOãã©ã¤ã
+ */
+#ifndef _TL16C550CFN_H_
+#define _TL16C550CFN_H_
+
+#include <t_config.h>
+
+/***********************************************
+ *  I/O  ã¡ã¢ãªã»ããããã»ã¬ã¸ã¹ã¿            *
+***********************************************/
+/*
+ *  complex Programmable Logic Device (CPLD)   *
+ *  I/O ã¡ã¢ãªã»ããããã»ã¬ã¸ã¹ã¿                 *
+ */
+
+/*  ã¬ã¸ã¹ã¿ãã¢ãã¬ã¹ã*/
+#ifndef _MACRO_ONLY
+volatile ioport UH	port0;
+volatile ioport UH	port1;
+volatile ioport UH	port2;
+volatile ioport UH	port3;
+volatile ioport UH	port4;
+volatile ioport UH	port5;
+volatile ioport UH	port6;
+#endif /* _MACRO_ONLY */
+
+/*  CPLDãã¬ã¸ã¹ã¿ */
+#define CPLD_CTRL1	port0
+#define CPLD_STAT	port1
+#define CPLD_DMCTRL	port2
+#define CPLD_DBIO	port3
+#define CPLD_CTRL2	port4
+#define CPLD_SEM0	port5
+#define CPLD_SEM1	port6
+
+/*
+ *  UART I/O ã¡ã¢ãªã»ããããã»ã¬ã¸ã¹ã¿ *
+ */
+/*  ã¬ã¸ã¹ã¿ ã¢ãã¬ã¹ */
+#ifndef _MACRO_ONLY
+volatile ioport UH	port4000;
+volatile ioport UH	port4001;
+volatile ioport UH	port4002;
+volatile ioport UH	port4003;
+volatile ioport UH	port4004;
+volatile ioport UH	port4005;
+volatile ioport UH	port4006;
+volatile ioport UH	port4007;
+#endif /* _MACRO_ONLY */
+
+/*  UART ã¬ã¸ã¹ã¿  */
+#define UART_RBR	port4000
+#define UART_THR	port4000
+#define UART_IER	port4001
+#define UART_IIR	port4002
+#define UART_FCR	port4002
+#define UART_LCR	port4003
+#define UART_MCR	port4004
+#define UART_LSR	port4005
+#define UART_MSR	port4006
+#define UART_SCR	port4007
+/*
+ *  ä»¥ä¸ã®ã¬ã¸ã¹ã¿ã«ã¢ã¯ã»ã¹ããåã«ã
+ *  DLAB=1 (b7 of LCR) ãã»ããããå¿
+è¦ããã
+ */
+#define UART_DLL	port4000
+#define UART_DLM	port4001
+
+/*
+ *  ããããã£ã¼ã«ãã®å®ç¾©
+ */
+#define FCR_FIFO	0x01
+#define FCR_RFRST	0x02
+#define FCR_TFRST	0x04
+#define FIFO_TRIG	0x00
+
+#define LCR_DLAB	0x80
+
+/* åä¿¡éä¿¡å²ãè¾¼ã¿ã®å®ç¾© */
+#define IER_ERBI	0x01  /* åä¿¡å²ãè¾¼ã¿ */
+#define IER_RIE		IER_ERBI 
+#define IER_ETBEI	0x02  /* éä¿¡å²ãè¾¼ã¿ */
+#define IER_TIE		IER_ETBEI
+
+#define LSR_DR		0x01
+#define LSR_THRE	0x20
+#define LSR_TEMT	0x40
+
+#define IIR_RXINT	0x04
+#define IIR_TXINT	0x02
+
+/*
+ *  UARTã®ãã¼ã¬ã¼ãã®è¨­å®
+ */
+/*
+ * BAUD RATE 2 : 115200 bps
+ * BAUD RATE 4 : 57600  bps
+ */
+#define UART_BAUD_RATE    2
+
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+	VP	dummy;
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT	exinf;			/* æ¡å¼µæ
+å ± */
+	BOOL	openflag;		/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL	getready;		/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL	putready;		/* æå­ãåä¿¡ã§ããç¶æ
+ */
+} SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void	uart_init(void);
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	uart_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	uart_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*uart_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	uart_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	uart_snd_chr(SIOPCB *siopcb, char chr);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	uart_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	uart_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	uart_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	uart_ierdy_rcv(VP_INT exinf);
+
+/* ãã¼ãªã³ã°ã§ã·ãªã¢ã«ã«éä¿¡ */
+Inline char
+uart_putc(char c)
+{
+	while ((UART_LSR & LSR_THRE) == 0);      /*  éä¿¡ã¬ã¸ã¹ã¿ãç©ºãã©ãã  */
+	UART_THR = c;
+	return(c);
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _TL16C550CFN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c54x.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c54x.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/c54x.h	(revision 26)
@@ -0,0 +1,219 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2005 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: c54x.h,v 1.6 2003/12/04 08:25:44 honda Exp $
+ */
+
+#ifndef _C54X_H_
+#define _C54X_H_
+
+/******************************************
+ *  ï¼£ï¼°ï¼µ ã¡ã¢ãªã»ããããã»ã¬ã¸ã¹ã¿
+ ******************************************/
+#define IMR	0x0
+#define IFR	0x1
+#define ST0	0x6
+#define ST1	0x7
+#define AL	0x8
+#define AH	0x9
+#define AG	0xA
+#define BL	0xB
+#define BH	0xC
+#define BG	0xD
+#define T	0xE
+#define TRN	0xF
+#define AR0	0x10
+#define AR1	0x11
+#define AR2	0x12
+#define AR3	0x13
+#define AR4	0x14
+#define AR5	0x15
+#define AR6	0x16
+#define AR7	0x17
+#define SP	0x18
+#define BK	0x19
+#define BRC	0x1A
+#define RSA	0x1B
+#define REA	0x1C
+#define PMST	0x1D
+#define XPC	0x1E
+
+/********************************************
+ *   ããªãã§ã©ã« ã¡ã¢ãªã»ããããã»ã¬ã¸ã¹ã¿
+ *******************************************/
+/*
+ * ã¿ã¤ãã¼ã¬ã¸ã¹ã¿
+ */
+#define TMU0_TIM	0x24
+#define TMU0_PRD	0x25
+#define TMU0_TCR	0x26
+
+#define TMU1_TIM	0x30
+#define TMU1_PRD	0x31
+#define TMU1_TCR	0x32
+
+#define TCR_TSS 0x0010
+#define TCR_TRB 0x0020
+
+/*
+ *   å²ãè¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿(IMR)ããããã£ã¼ã«ã
+ */
+#define INT0           0
+#define INT1           1
+#define INT2           2
+#define TINT0          3
+
+#define RINT0          4
+#define XINT0          5
+
+#define TINT1          7
+
+#define INT3           8
+#define HPINT          9
+#define RINT1         10
+#define XINT1         11
+
+#define DMAC0         6
+#define DMAC1         7
+#define DMAC2         10
+#define DMAC3         11
+#define DMAC4         12
+#define DMAC5         13
+
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©çªå· INHNO
+ */
+#define RESET_VEC             0
+#define NMI_VEC	              1
+#define SINT17_VEC            2
+#define SINT18_VEC            3
+#define SINT19_VEC           4
+#define SINT20_VEC        5
+#define SINT21_VEC        6
+#define SINT22_VEC        7
+#define SINT23_VEC        8
+#define SINT24_VEC        9
+#define SINT25_VEC        10
+#define SINT26_VEC        11
+#define SINT27_VEC        12
+#define SINT28_VEC        13
+#define SINT29_VEC        14
+#define SINT30_VEC        15
+#define INT0_VEC        16
+#define INT1_VEC        17
+#define INT2_VEC        18
+#define TINT0_VEC        19
+#define RINT0_VEC        20
+#define XINT0_VEC        21
+#define DMAC0_VEC        22
+#define TINT1_VEC        23
+#define INT3_VEC        24
+#define HPI_VEC            25
+#define RINT1_VEC        26
+#define XINT1_VEC        27
+#define DMAC2_VEC        26
+#define DMAC3_VEC        27
+#define DMAC4_VEC        28
+#define DMAC5_VEC        29
+
+/*
+ *  TRAPçªå·
+ */
+#define RS_TRAP           0
+#define NMI_TRAP       1
+#define INT0_TRAP       16
+#define INT1_TRAP       17
+#define INT2_TRAP       18
+#define TINT_TRAP       19
+#define RINT0_TRAP       20
+#define XINT0_TRAP       21
+#define DMAC0_TRAP       22
+#define DMAC1_TRAP       23
+#define INT3_TRAP       24
+#define HPINT_TRAP       25
+#define RINT1_TRAP       26
+#define DMAC2_TRAP       26
+#define XINT1_TRAP       27
+#define DMAC3_TRAP       27
+#define DMAC4_TRAP       28
+#define DMAC5_TRAP       29
+
+#define SINTR        0
+#define SINT16        1
+#define SINT17        2
+#define SINT18        3
+#define SINT19        4
+#define SINT20        5
+#define SINT21        6
+#define SINT22        7
+#define SINT23        8
+#define SINT24        9
+#define SINT25        10
+#define SINT26        11
+#define SINT27        12
+#define SINT28        13
+#define SINT29        14
+#define SINT30        15
+#define SINT0        16
+#define SINT1        17
+#define SINT2        18
+#define SINT3        19
+#define SINT4        20
+#define SINT5        21
+#define SINT6        22
+#define SINT7        23
+#define SINT8        24
+#define SINT9        25
+#define SINT10        26
+#define SINT11        27
+#define SINT12          28
+#define SINT13          29
+
+#endif /* _C54X_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.c	(revision 26)
@@ -0,0 +1,84 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.6 2003/12/04 08:25:44 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+#include "c54x.h"
+
+#pragma DATA_SECTION (INT_VECNO, "usr_bss")
+UH  INT_VECNO;
+
+/*
+ * å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ã
+ */
+UH  nest = 1;
+
+FP  int_table[32];
+const UH int_mask_table[32] = {
+0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
+0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
+0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,
+0xfeff,0xfdff,0xfbff,0xf7ff,0xefff,0xdfff,0xbfff,0x7fff
+};
+
+void 
+cpu_initialize()
+{
+}
+
+void
+cpu_terminate()
+{
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_config.h	(revision 26)
@@ -0,0 +1,181 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.9 2003/12/04 08:25:44 honda Exp $
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+#include "api.h"
+
+/*
+ *  ã«ã¼ãã«å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include "cpu_rename.h"
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+#include "cpu_insn.h"
+#endif /* _MACRO_ONLY */
+
+#include "c54x.h"
+
+
+#define TBIT_TCB_TSTAT      6
+#define TBIT_TCB_PRIORITY   4
+
+#ifndef _MACRO_ONLY
+
+typedef struct task_context_block{
+  VP  sp;
+  FP  pc;
+}CTXB;
+
+extern UH  nest;
+
+Inline BOOL
+sense_context(void)
+{
+  return (nest > 0);
+}
+
+Inline BOOL
+sense_lock()
+{
+  volatile UH temp_st1;
+  temp_st1 = ST1;
+  return ((temp_st1 & 0x0800) > 0);
+}
+
+#define t_sense_lock sense_lock
+#define i_sense_lock sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤
+ *
+ */
+
+#define t_lock_cpu      lock_cpu
+#define i_lock_cpu      lock_cpu
+#define t_unlock_cpu    unlock_cpu
+#define i_unlock_cpu    unlock_cpu
+
+
+Inline void
+lock_cpu()
+{
+    disint();
+}
+
+Inline void
+unlock_cpu()
+{
+    enaint();
+}
+
+extern void dispatch(void);
+extern void exit_and_dispatch(void);
+
+extern FP  int_table[32];
+extern const UH  int_mask_table[32];
+
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+  int_table[inhno] = inthdr;
+}
+
+#define INTHDR_ENTRY(inthdr) extern void inthdr(void)
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  TMS320VC54x DSPã«ã¯CPUä¾å¤ãå­å¨ããªãã®ã§
+ *  ä»¥ä¸ã¯é©å½ã«åãã
+ */
+
+/*
+ *   CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *   æ¬ä¼¼ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²
+ */   
+
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãå¤å®
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+   return(TRUE);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+   return(TRUE);
+}
+
+extern void cpu_initialize(void);
+extern void cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_context.h	(revision 26)
@@ -0,0 +1,88 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.6 2003/12/04 08:25:44 honda Exp $
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+#ifndef _MACRO_ONLY
+
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+
+extern void activate_r(void);
+
+
+Inline void
+activate_context(TCB *tcb)
+{
+  VH  *sp;
+
+  sp = ((VH *)tcb->tinib->stk) + tcb->tinib->stksz;
+  *--sp = (VH)ext_tsk;
+  *--sp = (VH)(tcb->tinib->exinf);
+  *--sp = (VH)(tcb->tinib->task);
+  tcb->tskctxb.sp = sp;
+  tcb->tskctxb.pc = activate_r;
+}
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	(sizeof(VH) * 3)
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_defs.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.7 2005/07/27 11:06:36 honda Exp $
+ */
+
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define TMS320C54X
+
+#ifndef _MACRO_ONLY
+
+/*
+ * å²è¾¼ã¿/CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+
+/*
+ * å²è¾¼ã¿ãã¹ã¯ã®åã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´/åç
+§
+ */
+typedef	UINT		IPM;		/* å²è¾¼ã¿ãã¹ã¯ */
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno)  throw();
+extern ER	ena_int(INTNO intno)  throw();
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	UW	SYSUTIM;		/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+extern ER	vxget_tim(SYSUTIM *p_sysutim) throw();
+
+#endif /* _MACRO_ONLY */
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define	SIL_ENDIAN	SIL_ENDIAN_LITTLE	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_insn.h	(revision 26)
@@ -0,0 +1,79 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_insn.h,v 1.3 2003/12/04 08:25:44 honda Exp $
+ */
+#ifndef	_CPU_INSN_H_
+#define	_CPU_INSN_H_
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢
+ */
+Inline void
+disint()
+{
+	asm("\t .newblock");\
+	asm("\t nop");\
+	asm("\t SSBX INTM");\
+	asm("\t nop");
+}
+
+/*
+ *  ãã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯
+ */
+Inline void
+enaint()
+{
+	asm("\t .newblock");\
+	asm("\t nop");\
+	asm("\t RSBX INTM");\
+	asm("\t nop");
+}
+
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+activate_r
+ret_int
+int_table
+int_mask_table
+nest
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_rename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define int_table		_kernel_int_table
+#define int_mask_table		_kernel_int_mask_table
+#define nest			_kernel_nest
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _int_table		__kernel_int_table
+#define _int_mask_table		__kernel_int_mask_table
+#define _nest			__kernel_nest
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_support.S	(revision 26)
@@ -0,0 +1,281 @@
+; *
+; *  TOPPERS/JSP Kernel
+; *      Toyohashi Open Platform for Embedded Real-Time Systems/
+; *      Just Standard Profile Kernel
+; * 
+; *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+; *                              Toyohashi Univ. of Technology, JAPAN
+; * 
+; *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+; *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+; *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+; *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+; *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+; *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+; *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+; *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+; *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+; *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+; *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+; *      ã¨ï¼
+; *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+; *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+; *        å ±åãããã¨ï¼
+; *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+; *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+; * 
+; *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+; *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+; *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+; *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+; * 
+; *  @(#) $Id: cpu_support.S,v 1.5 2003/12/04 08:25:44 honda Exp $
+; *
+
+        .c_mode
+        .align  1
+        .global __kernel_dispatch
+        .include  "c5402dsk.h"
+        .mmregs
+
+__kernel_dispatch:
+        PSHM   AR1                       ;AR1,6,7ãã¹ã¿ãã¯ã«ä¿å­
+        PSHM   AR6                       ;PCã¯å¼ã³åºãæã«ã¹ã¿ãã¯ã«ä¿å­ããã
+        PSHM   AR7                       ;ä»ã®è£å©ã¬ã¸ã¹ã¿ARxã¯ä¿å­ããå¿
+è¦ã¯ãªã
+        LDM    SP,A
+        MVDM   *(__kernel_runtsk),AR1    ;AR1 <- runtsk
+        NOP
+        STL    A,*AR1(TCB_sp)            ;ã¿ã¹ã¯ã¹ã¿ãã¯ãTCBã«ä¿å­
+        ST     #dispatch_r,*AR1(TCB_pc)  ;å®è¡åéçªå°ãTCBã«ä¿å­
+        B      dispatcher_1
+
+dispatch_r:
+        POPM   AR7                       ;ã¬ã¸ã¹ã¿ãå¾©å¸°
+        POPM   AR6
+        POPM   AR1 
+        B      __kernel_calltex          ;ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã
+
+        .global __kernel_exit_and_dispatch
+__kernel_exit_and_dispatch:
+        SSBX   INTM                      ;å²ãè¾¼ã¿ç¦æ­¢
+        ST     #0,*(__kernel_nest)               ;ã«ã¼ãã«ã®åæåå¦çæã®ãã
+dispatcher_1:
+        LD     *(__kernel_schedtsk),A    ;schedtskããããï¼
+        BC     dispatcher_2,AEQ          ;ç¡ããã°ã¸ã£ã³ã
+        MVDK   *(__kernel_schedtsk),*(__kernel_runtsk)   ;schedtskãruntskã«
+        MVDM   *(__kernel_runtsk),AR1
+        NOP
+        MVDK   *AR1(TCB_sp),SP           ;TCBããã¹ã¿ãã¯ãå¾©å¸°
+        LD     *AR1(TCB_pc),A            ;TCBããå®è¡åéçªå°ãå¾©å¸°
+        BACC   A    
+        
+dispatcher_2:
+        STM    #STACKTOP,SP
+        ST     #0x01,*(__kernel_nest)
+        RSBX   INTM                      ;å²ãè¾¼ã¿è¨±å¯
+        IDLE   1                         ;ãªã»ããããã¹ã¯ããã¦ããªãå²è¾¼ã¿å¾
+ã¡
+        SSBX   INTM                      ;å²ãè¾¼ã¿ç¦æ­¢
+        ST     #0x0,*(__kernel_nest)
+        B      dispatcher_1
+
+
+;
+;  ã¿ã¹ã¯ã®èµ·åå¦ç
+;
+
+        .global __kernel_activate_r
+;         .global _activate_r
+__kernel_activate_r:
+;_activate_r:
+        RSBX   INTM                      ;å²ãè¾¼ã¿è¨±å¯
+        POPM   AR2
+        POPM   AR3
+        LDM    AR2,B
+        LDM    AR3,A
+        BACC   B
+
+
+
+        .global _interrupt
+_interrupt:
+        PSHM   ST0
+        PSHM   AL
+        PSHM   AH
+        PSHM   AG
+        PSHM   BL
+        PSHM   BH
+        PSHM   BG
+        PSHM   ST1
+        PSHM   AR0
+        PSHM   AR2
+        PSHM   AR3
+        PSHM   AR4
+        PSHM   AR5
+        PSHM   T
+        PSHM   TRN
+        PSHM   BK
+        PSHM   BRC
+        PSHM   RSA
+        PSHM   REA
+        PSHM   PMST
+        LD     *(__kernel_nest),A
+        ADDM   #1,*(__kernel_nest)               ;å²ãè¾¼ã¿ã®ãã¹ãåæ°ãã¤ã³ã¯ãªã¡ã³ã
+        BC     _interrupt_from_int,ANEQ
+        LDM    SP,A                      ;ã¹ã¿ãã¯å
+¥ãæ¿ãã¨
+        STM    #STACKTOP,SP              ;å
+ã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®
+        PSHM   AL                        ;ä¿å­ãè¡ã
+        PSHM   IMR
+        MVDM   *(_INT_VECNO),AR2         ;ãªãã»ããå¤ãAR2ã«ã»ãã
+        STM    #IMR,AR3                  ;åãå²ãè¾¼ã¿ãä½åº¦ãããããªãããã«
+        LD     *AR2(__kernel_int_mask_table),A   ;            ï½
+        AND    *AR3,A                    ;            â
+        STL    A,*AR3                    ;ç¾å¨ã®å²ãè¾¼ã¿ããã¹ã¯ãã 
+        LD     *AR2(__kernel_int_table),A        ;å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾
+        RSBX   INTM                      ;ããä»¥éå²ãè¾¼ã¿ãåãåãä»ãã
+        CALA   A                         ;å²ãè¾¼ã¿ãã³ãã©ã¸
+        SSBX   INTM                      ;å²ãè¾¼ã¿ãç¦æ­¢
+        ADDM   #-1,*(__kernel_nest)              ;ãã¯ãªã¡ã³ã
+        POPM   IMR
+        POPM   SP                        ;æ»ãå
+ãã¿ã¹ã¯ãªã®ã§ã¹ã¿ãã¯ãæ»ã
+        LD     *(__kernel_reqflg),A
+        BC     _ret_to_task_int,AEQ      ;reqflgãFALSEãªãã¸ã£ã³ã
+        ST     #0,*(__kernel_reqflg)
+        B      ret_int
+
+_interrupt_from_int:
+        LDM    SP,A
+        ANDM   #0xFFFE,*(SP)
+        NOP
+        NOP
+        PSHM   AL
+        PSHM   IMR
+        MVDM   *(_INT_VECNO),AR2         ;ãªãã»ããå¤ãAR2ã«ã»ãã
+        STM    #IMR,AR3                  ;åãå²ãè¾¼ã¿ãä½åº¦ãããããªãããã«
+        LD     *AR2(__kernel_int_mask_table),A   ;            ï½
+        AND    *AR3,A                    ;            â
+        STL    A,*AR3                    ;ç¾å¨ã®å²ãè¾¼ã¿ããã¹ã¯ãã 
+        LD     *AR2(__kernel_int_table),A        ;å²ãè¾¼ã¿ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾
+        RSBX   INTM                      ;ããä»¥éå²ãè¾¼ã¿ãåãä»ãã
+        CALA   A                         ;å²ãè¾¼ã¿ãã³ãã©ã
+        SSBX   INTM                      ;å²ãè¾¼ã¿ç¦æ­¢
+        POPM   IMR
+        POPM   SP
+        ADDM   #-1,*(__kernel_nest)              ;å²ãè¾¼ã¿ã®ãã¹ãåæ°ããã¯ãªã¡ã³ã
+_ret_to_task_int:                        ;ã¬ã¸ã¹ã¿ãå¾©å¸°ãå²ãè¾¼ã¿å
+ã¸æ»ãã
+        POPM   PMST
+        POPM   REA
+        POPM   RSA
+        POPM   BRC
+        POPM   BK
+        POPM   TRN
+        POPM   T
+        POPM   AR5
+        POPM   AR4
+        POPM   AR3
+        POPM   AR2
+        POPM   AR0
+        POPM   ST1
+        POPM   BG
+        POPM   BH
+        POPM   BL
+        POPM   AG
+        POPM   AH
+        POPM   AL
+        POPM   ST0
+        RETE
+        
+        .global ret_int
+ret_int:
+        LD     *(__kernel_enadsp),A
+        BC     ret_int_1,AEQ
+        MVDM    *(__kernel_runtsk),AR0
+        MVDM    *(__kernel_schedtsk),AR2
+        NOP
+        CMPR   EQ,AR2                    ;runtskã¨schedtskãæ¯è¼ 
+        BC     ret_int_1,TC
+        PSHM   AR1
+        PSHM   AR6
+        PSHM   AR7
+        LDM    SP,A
+        STL    A,*AR0(TCB_sp)
+        ST     #ret_int_r,*AR0(TCB_pc)
+        B      dispatcher_1
+ret_int_r:
+        POPM   AR7
+        POPM   AR6
+        POPM   AR1
+ret_int_1:
+        LDM    SP,A
+        ANDM   #0xFFFE,*(SP)
+        NOP
+        NOP
+        PSHM   AL
+        FRAME  #-1
+        LD     #__kernel_calltex,A
+        CALA   A
+        FRAME  #1
+        POPM   SP
+        NOP
+        POPM   PMST
+        POPM   REA
+        POPM   RSA
+        POPM   BRC
+        POPM   BK
+        POPM   TRN
+        POPM   T
+        POPM   AR5
+        POPM   AR4
+        POPM   AR3
+        POPM   AR2
+        POPM   AR0
+        POPM   ST1
+        POPM   BG
+        POPM   BH
+        POPM   BL
+        POPM   AG
+        POPM   AH
+        POPM   AL
+        POPM   ST0
+        RETE
+
+;
+;   å¾®å°æéå¾
+ã¡
+;
+        .global	_sil_dly_nse
+_sil_dly_nse:
+        SSBX      SXM
+        NOP
+        LD	*(AL), A
+        SUB	#SIL_DLY_TIM1, A, A
+        BC	_sil_dly_nse1, AGT
+        RET
+_sil_dly_nse1:
+        SUB	#SIL_DLY_TIM2, A, A
+        BC	_sil_dly_nse1, AGT
+        RET
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/cpu_unrename.h	(revision 26)
@@ -0,0 +1,21 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef activate_r
+#undef ret_int
+#undef int_table
+#undef int_mask_table
+#undef nest
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _int_table
+#undef _int_mask_table
+#undef _nest
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/hw_timer.h	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.6 2003/12/04 08:25:44 honda Exp $
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+#include "c54x.h"
+
+#define INHNO_TIMER TINT0_VEC
+
+#ifndef _MACRO_ONLY
+
+#define TO_CLOCK(nume,deno) (TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)
+
+#define MAX_CLOCK ((CLOCK) 0xffff)
+
+#define GET_TOLERANCE 100
+
+#define BEFORE_IREQ(clock) \
+  ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)
+
+
+typedef UH CLOCK;
+
+Inline void
+hw_timer_initialize()
+{
+	CLOCK	c = TO_CLOCK(TIC_NUME,TIC_DENO);
+
+	/* 0.25 Î¼secã§ã«ã¦ã³ããã */
+	sil_wrh_mem((VP) TMU0_TCR, TCR_TSS | 0x0009);
+//	sil_wrh_mem((VP) TMU0_TCR, TCR_TSS | 0x0001);
+	/* ã«ã¦ã³ã¿ã®è¨­å® */
+	sil_wrh_mem((VP) TMU0_PRD, c - 1);
+	/* ãã¦ã³ã«ã¦ã³ã¿ã®åæå¤è¨­å® */
+	sil_wrh_mem((VP) TMU0_TCR, (sil_reh_mem((VP) TMU0_TCR) | TCR_TRB));
+	/* ã¿ã¤ãã®èµ·å */
+	sil_wrh_mem((VP) TMU0_TCR, (sil_reh_mem((VP) TMU0_TCR) & ~TCR_TSS));
+
+	sil_wrh_mem((VP) IFR, (sil_reh_mem((VP) IFR) | (0x1 << TINT0)));
+	sil_wrh_mem((VP) IMR, (sil_reh_mem((VP) IMR) | (0x1 << TINT0)));
+}
+
+Inline void
+hw_timer_int_clear()
+{
+}
+
+Inline void
+hw_timer_terminate()
+{
+	sil_wrh_mem((VP) TMU0_TCR, (sil_reh_mem((VP) TMU0_TCR) | TCR_TSS));
+	sil_wrh_mem((VP) IMR, (sil_reh_mem((VP) IMR) & ~(0x1 << TINT0)));
+	sil_wrh_mem((VP) IFR, (sil_reh_mem((VP) IFR) | (0x1 << TINT0)));
+}
+
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return(TO_CLOCK(TIC_NUME,TIC_DENO) - sil_reh_mem((VP) TMU0_TIM));
+}
+
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return(sil_reh_mem((VP) IFR) & (0x1 << TINT0));
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/start.S	(revision 26)
@@ -0,0 +1,130 @@
+; *
+; *  TOPPERS/JSP Kernel
+; *      Toyohashi Open Platform for Embedded Real-Time Systems/
+; *      Just Standard Profile Kernel
+; * 
+; *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+; *                              Toyohashi Univ. of Technology, JAPAN
+; * 
+; *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+; *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+; *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+; *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+; *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+; *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+; *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+; *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+; *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+; *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+; *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+; *      ã¨ï¼
+; *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+; *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+; *        å ±åãããã¨ï¼
+; *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+; *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+; * 
+; *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+; *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+; *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+; *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+; * 
+; *  @(#) $Id: start.S,v 1.6 2003/12/04 08:25:44 honda Exp $
+; *
+
+        .c_mode
+        .mmregs
+        .include  "c5402dsk.h"
+        .global   _main
+        .align    1
+;ã¹ã¿ãã¯é åã«ã¯ãã¼ã¿é åã®æå¾ã®ä½ã£ãé åãå²ãå½ã¦ãã
+;__stack:.usect ".stack",0
+        .text
+_start:
+        ;******************************************
+        ;      ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®åæå
+        ;******************************************
+        SSBX   INTM                    ;ãã¹ã¦ã®ãã¹ã«ãã«å²ãè¾¼ã¿ãç¦æ­¢
+        STM    #0x0FFFF,IFR            ;IFRã®ã¯ãªã¢
+
+        SSBX   SXM                     ;ç¬¦å·ãããã»ãã
+        SSBX   CPL                     ;ã³ã³ãã¤ã©äºæã¢ã¼ã
+        RSBX   OVM                     ;éé£½åã¢ã¼ã
+        LD     #0,ARP                  ;è£å©ã¬ã¸ã¹ã¿ãã¤ã³ã¿
+        RSBX   CMPT
+        RSBX   C16
+        RSBX   FRCT
+        
+        ;******************************************
+        ;     ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+        ;******************************************
+        STM    #STACKTOP,SP
+        ANDM   #0x0fffe,*(SP)          ;SPãå¶æ°ã¢ãã¬ã¹ã«ã¢ã©ã¤ã³
+        
+        ;******************************************
+        ;     _hardware_init_hook ã®å¼ã³åºã
+        ;******************************************
+start_0:
+        LD     #_hardware_init_hook,A
+        CC     _hardware_init_hook,ANEQ
+        
+        ;******************************************
+        ;     bssã»ã¯ã·ã§ã³ã®åæå
+        ;******************************************
+start_1:
+        STM    #___bss__,AR2
+        RPTZ  A,#___end__-___bss__-1
+        STL    A,*AR2+
+
+        LD     #cinit,A                ;cinit=-1ãªãcinitã¯ç¡ã
+        ADD    #1,A,B
+        BC     start_4,BEQ
+
+        
+        RSBX   SXM                     ;ç¬¦å·ãããã¯ãªã¢
+        NOP
+        LD     #cinit,A
+        B      start_2
+start_3:
+        READA  *(AR2)                  ;AR2 = å¤æ°ã®ã¢ãã¬ã¹
+        ADD    #1,A                    ;åæåãã¼ã¿ã¸ã®ãã¤ã³ã¿ãæ±ãã
+        RPT    *(AR1)                  ;length+1 ç¹°ãè¿ã 
+        READA  *AR2+                   ;å¤æ°ãåæå
+        ADD    *(AR1),A                ;
+        ADD    #1,A                    ;ãã¼ã¿é·åã ããã¤ã³ã¿ãé²ãã
+start_2:
+        READA  *(AR1)                  ;AR1 = length
+        ADD    #1,A                    ;A += 1
+        BANZ   start_3,*AR1-           ;if (length != 0) length--ãã¸ã£ã³ã
+        
+        ;*****************************************
+        ;    software_init_hookãå¼ã³åºã
+        ;*****************************************
+start_4:
+        LD     #_software_init_hook,A
+        CC     _software_init_hook,ANEQ
+
+;        ST     #1,*(_nest)
+        CALL   _kernel_start
+        
+        
+        
+          
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_config.h	(revision 26)
@@ -0,0 +1,287 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.4 2007/01/05 02:02:38 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  __EMPTY_LABELãã¯ã­ã®å®ç¾©
+ */
+#define __EMPTY_LABEL(x,y) x y[1]
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/tool_defs.h	(revision 26)
@@ -0,0 +1,73 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.3 2003/12/04 08:25:44 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		long		/* 32ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#define	Inline		static inline
+//#define	asm		__asm__
+//#define	Asm		__asm__ volatile
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/vectors.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/vectors.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tms320c54x/vectors.S	(revision 26)
@@ -0,0 +1,123 @@
+; *
+; *  TOPPERS/JSP Kernel
+; *      Toyohashi Open Platform for Embedded Real-Time Systems/
+; *      Just Standard Profile Kernel
+; * 
+; *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+; *                              Toyohashi Univ. of Technology, JAPAN
+; * 
+; *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+; *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+; *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+; *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+; *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+; *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+; *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+; *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+; *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+; *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+; *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+; *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+; *      ã¨ï¼
+; *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+; *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+; *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+; *        å ±åãããã¨ï¼
+; *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+; *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+; * 
+; *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+; *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+; *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+; *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+; * 
+; *  @(#) $Id: vectors.S,v 1.6 2003/12/04 08:25:44 honda Exp $
+; *
+
+       .include "c5402dsk.h"
+       .sect   "vectors"
+       .align  0x80
+       .mmregs
+
+RESET: B _start
+       NOP
+       NOP
+
+NMI:   RETE
+       NOP
+       NOP
+       NOP
+
+; ã½ããã¦ã§ã¢å²ãè¾¼ã¿(TRAP,INTM)
+sint17 .space 4*16
+sint18 .space 4*16
+sint19 .space 4*16
+sint20 .space 4*16
+sint21 .space 4*16
+sint22 .space 4*16
+sint23 .space 4*16
+sint24 .space 4*16
+sint25 .space 4*16
+sint26 .space 4*16
+sint27 .space 4*16
+sint28 .space 4*16
+sint29 .space 4*16
+sint30 .space 4*16
+
+int0:  BD   _interrupt
+       STM  #16,_INT_VECNO
+
+int1:  BD   _interrupt
+       STM  #17,_INT_VECNO
+
+int2:  BD   _interrupt
+       STM  #18,_INT_VECNO
+
+tint0: BD  _interrupt
+       STM  #19,_INT_VECNO
+
+rint0: BD  _interrupt
+       STM  #20,_INT_VECNO
+
+xint0: BD  _interrupt
+       STM  #21,_INT_VECNO
+
+dma0:  BD  _interrupt
+       STM  #22,_INT_VECNO
+
+tint1: BD  _interrupt
+       STM  #23,_INT_VECNO
+
+int3:  BD  _interrupt
+       STM  #24,_INT_VECNO
+
+hpi:   BD  _interrupt
+       STM  #25,_INT_VECNO
+
+rint1: BD  _interrupt
+       STM  #26,_INT_VECNO
+
+xint1: BD  _interrupt
+       STM  #27,_INT_VECNO
+
+dma4:  BD  _interrupt
+       STM  #28,_INT_VECNO
+
+dma5:  BD  _interrupt
+       STM  #29,_INT_VECNO
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/Makefile.config	(revision 26)
@@ -0,0 +1,87 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2005 by Freelines CO.,Ltd 
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.11 2007/01/05 02:10:17 honda Exp $
+#
+
+#
+#  Makefile ã®ãã­ã»ããµä¾å­ (V850ç¨)
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = v850-nec-elf
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+COPTS := $(COPTS) -mv850 -O2 -Wall -ffixed-r2
+CDEFS := $(CDEFS) -DLABEL_ASM
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) cpu_config.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.c	(revision 26)
@@ -0,0 +1,138 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.9 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼V850ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include <hw_serial.h>
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+#ifdef SUPPORT_CHG_IPM
+UH	task_intmask;
+#endif /* SUPPORT_CHG_IPM */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯
+ */
+UH	int_intmask;
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+
+UW	intnest = 0;
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ãã¼ãã«
+ */
+INTVE InterruptHandlerEntry[NUM_INTERRUPT];
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+	hw_port_initialize(SERIAL_PORT);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+}
+
+/*
+ * ç»é²ããã¦ããªãå²ãè¾¼ã¿ãçºçããã¨å¼ã³åºããã
+ */
+
+void cpu_experr(unsigned int intno)
+{
+    syslog(LOG_EMERG, "!Unexpected interrupt. [INTNO = %d]", intno);
+    __asm("halt");
+}
+
+/*
+ *   ã·ã¹ãã æå­åºåå
+ã®æå®
+ */
+
+void
+cpu_putc(char c)
+{
+    if (c == '\n') {
+        hw_port_wait_putchar(SERIAL_PORT, '\r');
+    }
+    hw_port_wait_putchar(SERIAL_PORT, c);
+}
+
+void *
+local_memcpy (void *out, const void *in, unsigned int n)
+{
+    char *o = out;
+    const char *i = in;
+
+    while (n -- > 0)
+        *o ++ = *i ++;
+    return out;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_config.h	(revision 26)
@@ -0,0 +1,312 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.14 2007/01/05 02:10:17 honda Exp $
+ */
+
+#include "sys_config.h"
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼V850ç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <cpu_rename.h>
+
+/*
+ *  chg_ipm/get_ipm ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/*#define	SUPPORT_CHG_IPM*/
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	unsigned long sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	unsigned long psw;		/* ãã­ã°ã©ã ã¹ãã¼ã¿ã¹ã¯ã¼ã */
+	FP	pc;					/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} CTXB;
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯æä½ã©ã¤ãã©ãª
+ *
+ *  å²è¾¼ã¿ãã¹ã¯ï¼intmaskï¼ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã8ããã
+ *  å·¦ã«ã·ãããããã®ã§ããï¼
+ */
+
+BOOL sense_lock(void);
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®èª­åºã
+ */
+
+Inline UB
+current_intmask(void)
+{
+	return (UB)sense_lock();
+}
+
+/*
+ *  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ */
+
+Inline void
+set_intmask(UB intmask)
+{
+	if (intmask) {
+		asm("di");
+	} else {
+		asm("ei");
+	}
+}
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+
+#define t_lock_cpu		lock_cpu
+#define i_lock_cpu		lock_cpu
+#define t_unlock_cpu	unlock_cpu
+#define i_unlock_cpu	unlock_cpu
+
+Inline void
+lock_cpu(void)
+{	asm("di");	}
+
+Inline void
+unlock_cpu(void)
+{	asm("ei");	}
+
+
+/*
+ *  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿
+ */
+
+extern UW	intnest;
+
+Inline BOOL
+sense_context(void)
+{
+	return (intnest > 0);
+}
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch(void);
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Sï¼
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+typedef struct int_vector_entry {
+	FP	inthdr;
+} INTVE;
+
+extern INTVE InterruptHandlerEntry[NUM_INTERRUPT];
+
+/*
+ *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®æ§é ã®å®ç¾©
+ */
+typedef struct exc_vector_entry {
+	FP	exchdr;			/* ä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCVE;
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{
+	InterruptHandlerEntry[inhno-1].inthdr = inthdr;
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{
+	define_inh(excno, exchdr);
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+
+#define INT_ENTRY(hdr) hdr
+#define INTHDR_ENTRY(entry)	extern void entry();
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+#define EXC_ENTRY(hdr) hdr
+#define EXCHDR_ENTRY(entry)	extern void entry();
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ããã
+ */
+Inline BOOL
+exc_sense_context(VP p_excinf)
+{
+	/* ï¼ã¨æ¯è¼ããã®ã¯ãç¾å¨å®è¡ä¸­ã®CPUä¾å¤ã®å 		*/
+	/*  å²è¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ãããã¦ãããã 	*/
+	return(intnest > 0);
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline BOOL
+exc_sense_lock(VP p_excinf)
+{
+	return((*((UH *) p_excinf) & 0x0700) == 0x0700);
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_context.h	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.8 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern void	_kernel_activate_r(void);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	tcb->tskctxb.psw = DEFAULT_PSW;
+	tcb->tskctxb.pc = _kernel_activate_r;
+	tcb->tskctxb.sp = (unsigned long)((char *)tcb->tinib->stk + tcb->tinib->stksz);
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ *
+ *      V850ã§ã¯activate_context()ã¨create_context()ã§ã¹ã¿ãã¯ã«ä½ã
+ *      ç©ã¾ãªããããACTIVATED_STACK_SIZEãå®ç¾©ããå¿
+è¦ããªã
+ */
+/* #define	ACTIVATED_STACK_SIZE */
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+/* #define OMIT_CALLTEX */
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_defs.h	(revision 26)
@@ -0,0 +1,99 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.9 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼V850ç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define V850
+
+	/* ç¹ã«ä½ãç¡ãã¨ãã«PSWã®å¤ */
+#define DEFAULT_PSW	0x0
+
+#define	STACK_SIZE	1024		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+/*
+ *  CPU ã®ãã¤ãé ã«é¢ããå®ç¾©
+ */
+#define SIL_ENDIAN		SIL_ENDIAN_LITTLE
+
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UB			IPR;		/* å²è¾¼ã¿åªå
+åº¦ */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+typedef	UD  SYSUTIM;	/* æ§è½è©ä¾¡ç¨ã·ã¹ãã æå» */
+
+extern ER   vxget_tim(SYSUTIM *pk_sysutim);
+
+/*
+ *  ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+
+Inline void
+kernel_abort (void)
+{
+	asm("halt");
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.def	(revision 26)
@@ -0,0 +1,5 @@
+task_intmask
+int_intmask
+intnest
+InterruptHandlerEntry
+cpu_experr
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_rename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define task_intmask	_kernel_task_intmask
+
+#define int_intmask		_kernel_int_intmask
+
+#define intnest			_kernel_intnest
+
+#define InterruptHandlerEntry	_kernel_InterruptHandlerEntry
+
+#define cpu_experr		_kernel_cpu_experr
+
+
+#ifdef LABEL_ASM
+
+#define _task_intmask	__kernel_task_intmask
+
+#define _int_intmask	__kernel_int_intmask
+
+#define _intnest		__kernel_intnest
+
+#define _InterruptHandlerEntry	__kernel_InterruptHandlerEntry
+
+#define _cpu_experr		__kernel_cpu_experr
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_support.S	(revision 26)
@@ -0,0 +1,521 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_support.S,v 1.10 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼V850ESç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "v850asm.inc"
+#include "jsp_kernel.h"
+#include "offset.h"
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+Function	__kernel_dispatch
+
+	/*
+	 * ã³ã³ãã­ã¹ãã®éé¿ 
+	 */
+	Push	ep
+	addi	-120, sp, sp
+	mov	sp, ep
+	sst.w	r1, 116[ep]
+	sst.w	r2, 112[ep]
+	sst.w	r3, 108[ep]
+	sst.w	r4, 104[ep]
+	sst.w	r5, 100[ep]
+	sst.w	r6,  96[ep]
+	sst.w	r7,  92[ep]
+	sst.w	r8,  88[ep]
+	sst.w	r9,  84[ep]
+	sst.w	r10, 80[ep]
+	sst.w	r11, 76[ep]
+	sst.w	r12, 72[ep]
+	sst.w	r13, 68[ep]
+	sst.w	r14, 64[ep]
+	sst.w	r15, 60[ep]
+	sst.w	r16, 56[ep]
+	sst.w	r17, 52[ep]
+	sst.w	r18, 48[ep]
+	sst.w	r19, 44[ep]
+	sst.w	r20, 40[ep]
+	sst.w	r21, 36[ep]
+	sst.w	r22, 32[ep]
+	sst.w	r23, 28[ep]
+	sst.w	r24, 24[ep]
+	sst.w	r25, 20[ep]
+	sst.w	r26, 16[ep]
+	sst.w	r27, 12[ep]
+	sst.w	r28,  8[ep]
+	sst.w	r29,  4[ep]
+	sst.w	r31,  0[ep]
+
+	/* ã¹ã¿ãã¯ã¨æ¬¡ã®èµ·åçªå°ãä¿å­ */
+	Lea	__kernel_runtsk, ep
+	sld.w	0[ep], ep
+	sst.w	sp, TCB_sp[ep]
+	Lea	dispatch_r, r10
+	sst.w	r10, TCB_pc[ep]
+	stsr	psw, r10
+	sst.w	r10, TCB_psw[ep]
+
+	/*
+	 * æ¬¡ã®ã¿ã¹ã¯ã®æºå __kernel_dispatch_1
+	 *  ããã¯å²ãè¾¼ã¿ç¦æ­¢ç¶æ
+ã§æ¥ãå¿
+è¦ãããã
+	 */
+Label	__kernel_dispatch_1
+	/* runtsk = schedtsk */
+	Lea	__kernel_schedtsk, r10
+	ld.w	0[r10], r10
+	Lea	__kernel_runtsk, r11
+	st.w	r10, 0[r11]
+	cmp	r10,r0
+	bne	1f
+
+	/*
+	 * èµ·åãã¹ãã¿ã¹ã¯ã¯ãªã...ã¢ã¤ãã«ã«ã¼ã
+	 */
+
+	/* å²ãè¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ã */
+	Lea	STACKTOP, sp
+	/* intnestãï¼ã«ãã */
+	mov	r0, r10
+	add	1, r10
+	Lea	_intnest, r11
+	st.w	r10, 0[r11]
+
+	/* å²ãè¾¼ã¿å¾
+ã¡ */
+	ei
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	di
+
+	/* intnestãã¯ãªã¢ãã */
+	Lea	_intnest, r10
+	st.w	r0, 0[r10]
+
+	br	__kernel_dispatch_1
+
+1:
+	/* ã¹ã¿ãã¯ã¨æ¬¡ã®èµ·åçªå°ãå¾©å¸° */
+	mov	r10, ep
+	sld.w	TCB_pc[ep], r31
+	sld.w	TCB_sp[ep], sp
+	sld.w	TCB_psw[ep], r10
+	ldsr	r10, psw
+	jmp	r31
+
+	/* ãã£ã¹ãããã£ã®å¾©å¸°ã«ã¼ãã³ */
+Label	dispatch_r
+	Lea	__kernel_runtsk, r10
+	ld.w	0[r10], r10
+	ld.w	TCB_enatex[r10], r11
+	tst1	TCB_enatex_bit, 0[r11]
+	be	1f
+	ld.w	TCB_texptn[r10], r11
+	cmp	r0, r11
+	be	1f
+
+	/* ã¿ã¹ã¯ä¾å¤ */
+	jarl	__kernel_calltex, r31
+1:
+	mov	sp, ep
+	sld.w	116[ep], r1
+	sld.w	112[ep], r2
+	sld.w	108[ep], r3
+	sld.w	104[ep], r4
+	sld.w	100[ep], r5
+	sld.w	 96[ep], r6
+	sld.w	 92[ep], r7
+	sld.w	 88[ep], r8
+	sld.w	 84[ep], r9
+	sld.w	 80[ep], r10
+	sld.w	 76[ep], r11
+	sld.w	 72[ep], r12
+	sld.w	 68[ep], r13
+	sld.w	 64[ep], r14
+	sld.w	 60[ep], r15
+	sld.w	 56[ep], r16
+	sld.w	 52[ep], r17
+	sld.w	 48[ep], r18
+	sld.w	 44[ep], r19
+	sld.w	 40[ep], r20
+	sld.w	 36[ep], r21
+	sld.w	 32[ep], r22
+	sld.w	 28[ep], r23
+	sld.w	 24[ep], r24
+	sld.w	 20[ep], r25
+	sld.w	 16[ep], r26
+	sld.w	 12[ep], r27
+	sld.w	  8[ep], r28
+	sld.w	  4[ep], r29
+	sld.w	  0[ep], r31
+	addi	120, ep, sp
+	Pop     ep
+	jmp	r31
+
+/*
+ *  ã¿ã¹ã¯èµ·åæå¦ç
+ */
+Function	__kernel_activate_r
+
+	Lea	__kernel_runtsk, ep
+	ld.w	0[ep], ep
+	ld.w	TCB_tinib[ep], ep
+	ld.w	TINIB_exinf[ep], r6
+	ld.w	TINIB_task[ep], r10
+	Lea	_ext_tsk, r31
+	
+	ei
+
+	jmp	r10
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ *    CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªã
+ */
+Function	__kernel_exit_and_dispatch
+	di
+	Lea	_intnest, r10
+	st.w	r0, 0[r10]
+	br	__kernel_dispatch_1
+
+
+.extern _InterruptHandlerEntry
+.extern __kernel_runtsk
+.extern __kernel_calltex
+
+/*
+ * å²è¾¼ã¿ãã³ãã©
+ */
+Function	vector_handler
+
+	/* ä½æ¥­é åã®ä½æ */
+	addi	-16,  sp, sp
+	st.w	 ep, 12[sp]
+	st.w	r10,  8[sp]
+	st.w	r11,  4[sp]
+	st.w	r12,  0[sp]
+
+	/*
+	 * ãã³ãã©èµ·åçªå°ã®èª­ã¿åºã
+	 *    R10 : ãã³ãã©ã®çªå°
+	 */
+	stsr	ecr, r10
+	shr	2, r10
+	add	-4, r10
+	Lea	_InterruptHandlerEntry, r11
+	add	r10, r11
+	ld.w	0[r11], r10
+
+	/* ãã³ãã©ãç¡ããã°å³çµäº */
+	cmp	r0,r10
+	bne	1f
+
+	/* å²ãè¾¼ã¿ãã³ãã©ãç»é²ããã¦ããªãå ´åï¼
+	   ããã§r6ãç ´å£ãã¦ãï¼£ã®é¢æ°ãå¼ãã§ããããä»ã®ã¬ã¸ã¹ã¿ãç ´å£
+	   ãããå¯è½æ§ãå¼·ãããããã¦ããcpu_experr()ã®ä¸­ã§haltããã¦
+	   ãããç¡éã«ã¼ããã¦ããã®ã§ãã®é¢æ°ããã¯æ»ã£ã¦ããªããæ»ã£ã¦
+	   ããããã«ããããªãä»ã®ã¬ã¸ã¹ã¿ãä¿å­ããã»ãããã */
+	stsr	ecr, r6
+	jarl	_cpu_experr, r31
+	br	end_handler
+
+1:
+	/*
+	 * æ®ãã®ã¬ã¸ã¹ã¿éé¿ 
+	 */
+	addi	-116, sp, ep
+	mov	ep, sp			/* ã¹ã¿ãã¯ã«åæ  */
+	sst.w	r1, 112[ep]
+	sst.w	r2, 108[ep]
+	sst.w	r3, 104[ep]
+	sst.w	r4, 100[ep]
+	sst.w	r5,  96[ep]
+	sst.w	r6,  92[ep]
+	sst.w	r7,  88[ep]
+	sst.w	r8,  84[ep]
+	sst.w	r9,  80[ep]
+	sst.w	r13, 76[ep]
+	sst.w	r14, 72[ep]
+	sst.w	r15, 68[ep]
+	sst.w	r16, 64[ep]
+	sst.w	r17, 60[ep]
+	sst.w	r18, 56[ep]
+	sst.w	r19, 52[ep]
+	sst.w	r20, 48[ep]
+	sst.w	r21, 44[ep]
+	sst.w	r22, 40[ep]
+	sst.w	r23, 36[ep]
+	sst.w	r24, 32[ep]
+	sst.w	r25, 28[ep]
+	sst.w	r26, 24[ep]
+	sst.w	r27, 20[ep]
+	sst.w	r28, 16[ep]
+	sst.w	r29, 12[ep]
+	sst.w	r31,  8[ep]
+	stsr	eipc,   r6		/* å¤éå²è¾¼ã¿å¯¾ç­ */
+	sst.w	r6 ,  4[ep]
+	stsr	eipsw,  r6
+	sst.w	r6 ,  0[ep]
+
+	/* å¤éå²ãè¾¼ã¿ãã§ãã¯ã¨ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã */
+	Lea	_intnest, r11
+	ld.w	0[r11], r6
+	add	1, r6
+	st.w	r6, 0[r11]
+	cmp	1, r6
+	ble	1f
+
+	/* å¤éå²è¾¼ã¿...ãã§ã«å²ãè¾¼ã¿ã¹ã¿ãã¯ã«ãªã£ã¦ãã */
+	jr	2f
+1:
+	/* å¤éå²è¾¼ã¿ã§ãªã */
+	/* ã¹ã¿ãã¯åãæ¿ã */
+	mov	sp, r11
+	Lea	STACKTOP, sp
+	Push	r11
+
+	Lea	end_int, r31
+	/* å²ãè¾¼ã¿è¨±å¯ */
+	ei
+	/* ãã³ãã©èµ·å */
+	jmp	r10
+
+	/*
+	 * å²ãè¾¼ã¿ããã®å¾©å¸°å¦ç
+	 */
+Label	end_int
+	/* å²ãè¾¼ã¿ç¦æ­¢ */
+	di
+
+	/* ã¹ã¿ãã¯ã®å¾©å¸° */
+	ld.w	0[sp], sp
+
+	/* intnestããã£ã¯ãªã¡ã³ã */
+	Lea	_intnest, r11
+	ld.w	0[r11], r10
+	mov	1, r11
+	sub	r11, r10
+	Lea	_intnest, r11
+	st.w	r10, 0[r11]
+
+	/* 
+	 * ã¿ã¹ã¯ãã£ã¹ãããã£è¦æ±ããããï¼
+	 */
+	Lea	__kernel_reqflg, r10
+	ld.w	0[r10], r11
+	cmp	r0, r11
+	bz	recover_from_int
+	st.w	r0, 0[r10]
+	jr	ret_int
+
+2:
+	Lea	end_int_nest, r31
+	/* å²ãè¾¼ã¿è¨±å¯ */
+	ei
+	/* ãã³ãã©èµ·å */
+	jmp	r10
+
+	/*
+	 * å²ãè¾¼ã¿ããã®å¾©å¸°å¦ç
+	 */
+Label	end_int_nest
+	/* å²ãè¾¼ã¿ç¦æ­¢ */
+	di
+
+	/* intnestããã£ã¯ãªã¡ã³ã */
+	Lea	_intnest, r11
+	ld.w	0[r11], r10
+	mov	1, r11
+	sub	r11, r10
+	Lea	_intnest, r11
+	st.w	r10, 0[r11]
+
+recover_from_int:
+	/*
+	 * ã¬ã¸ã¹ã¿å¾©å¸° 
+	 */
+	mov	sp, ep
+
+	sld.w	112[ep], r1
+	sld.w	108[ep], r2
+	sld.w	104[ep], r3
+	sld.w	100[ep], r4
+	sld.w	 96[ep], r5
+	sld.w	 92[ep], r6
+	sld.w	 88[ep], r7
+	sld.w	 84[ep], r8
+	sld.w	 80[ep], r9
+	sld.w	 76[ep], r13
+	sld.w	 72[ep], r14
+	sld.w	 68[ep], r15
+	sld.w	 64[ep], r16
+	sld.w	 60[ep], r17
+	sld.w	 56[ep], r18
+	sld.w	 52[ep], r19
+	sld.w	 48[ep], r20
+	sld.w	 44[ep], r21
+	sld.w	 40[ep], r22
+	sld.w	 36[ep], r23
+	sld.w	 32[ep], r24
+	sld.w	 28[ep], r25
+	sld.w	 24[ep], r26
+	sld.w	 20[ep], r27
+	sld.w	 16[ep], r28
+	sld.w	 12[ep], r29
+	sld.w	  8[ep], r31
+	sld.w	  4[ep], r10
+	ldsr	    r10, eipc
+	sld.w	  0[ep], r10
+	ldsr	    r10, eipsw
+
+	addi	116, ep, sp
+
+
+end_handler:
+	/*
+	 * ä½æ¥­é åã®å¾©å¸°
+	 */
+	addi	 16, sp, sp
+	ld.w	 -4[sp], ep
+	ld.w	 -8[sp], r10
+	ld.w	-12[sp], r11
+	ld.w	-16[sp], r12
+	reti
+
+
+/*
+ * å²ãè¾¼ã¿ã«ã¨ããªãã¿ã¹ã¯ãã£ã¹ãããã®å¤å®
+ */
+ret_int:
+	/* ãã£ã¹ãããç¦æ­¢ï¼ */
+	Lea	__kernel_enadsp, r10
+	ld.w	0[r10], r10
+	cmp	r0, r10
+	be	ret_int_r
+
+	/* ã¿ã¹ã¯åãæ¿ãã®å¿
+è¦ããããï¼ */
+	Lea	__kernel_schedtsk, r10
+	ld.w	0[r10], r10
+	Lea	__kernel_runtsk, r11
+	ld.w	0[r11], r11
+	cmp	r10,r11
+	be	ret_int_r
+
+	/* TCBã®ä¸­èº«ãä¿®æ­£ãã¦å¾©å¸°æ
+å ±ãè¨­å® */
+	mov	ep, r11
+	Lea	__kernel_runtsk, ep
+	sld.w	0[ep], ep			/* ep = _kernel_runtsk */
+
+	sst.w	sp, TCB_sp[ep]
+	Lea	ret_int_r, r10
+	sst.w	r10, TCB_pc[ep]
+	stsr	psw, r10
+	sst.w	r10, TCB_psw[ep]
+	mov	r11, ep
+
+	/* ã¿ã¹ã¯ãã£ã¹ãããã£ã¸ */
+	stsr	eipsw, r10
+	ori	0x20, r10, r10
+	ldsr	r10, eipsw
+	Lea	__kernel_dispatch_1, r10
+	ldsr	r10, eipc
+	reti
+
+ret_int_r:
+	di
+
+	Lea	__kernel_runtsk, r10
+	ld.w	0[r10], r10
+	ld.w	TCB_enatex[r10], r11
+	tst1	TCB_enatex_bit, 0[r11]
+	be	1f
+	ld.w	TCB_texptn[r10], r11
+	cmp	r0, r11
+	be	1f
+
+	/* ã¿ã¹ã¯ä¾å¤ */
+	jarl	__kernel_calltex, r31
+1:
+	/* ãããã¨ã®å¾©å¸°å¦çã¸é£ã°ã */
+	jr	recover_from_int
+
+/*
+ * CPUã­ãã¯ç¶æ
+ã®åå¾
+ *
+ *   å²è¾¼ã¿ç¦æ­¢ãªãCPUã­ãã¯ç¶æ
+
+ */
+Function	_sense_lock
+	stsr	psw, r10
+	shr	5, r10
+	andi	1, r10, r10
+	jmp	r31
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cpu_unrename.h	(revision 26)
@@ -0,0 +1,31 @@
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_RENAME_H_
+#undef _CPU_RENAME_H_
+
+#undef task_intmask
+
+#undef int_intmask
+
+#undef intnest
+
+#undef InterruptHandlerEntry
+
+#undef cpu_experr
+
+
+#ifdef LABEL_ASM
+
+#undef _task_intmask
+
+#undef _int_intmask
+
+#undef _intnest
+
+#undef _InterruptHandlerEntry
+
+#undef _cpu_experr
+
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/Makefile.config	(revision 26)
@@ -0,0 +1,73 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼D70F3716GCç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+COPTS := $(COPTS) -g
+LDFLAGS := $(LDFLAGS) -msoft-float
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/v850elf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/cq_d70f3716gc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/cq_d70f3716gc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/cq_d70f3716gc.h	(revision 26)
@@ -0,0 +1,140 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007-2010 by Monami Software Limited Partnership, JAPAN.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#ifndef	_CQ_D70F3716GC_H_
+#define	_CQ_D70F3716GC_H_
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼V850ES/JG2ç¨ï¼
+ */
+
+/*
+ * å
+èµRAM
+ */
+#define	IRAM_TOP	0x00140000		/* å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ */
+#define IRAM_SIZE	0x6000			/* å
+èµRAMã®å¤§ãã 24Kbyte */
+/*
+ * å
+èµFlashROM
+ */
+#define	IROM_TOP	0x0000000		/* å
+èµFlashROMã®å
+é ­ã¢ãã¬ã¹ */
+#define IROM_SIZE	0x40000			/* å
+èµFlashROMã®å¤§ãã 256Kbyte */
+
+
+/* 
+ * V850ES/JG2ã®IOã¬ã¸ã¹ã¿å®ç¾©
+ */
+#define PRCMD		(0xFFFFF1FC)	/* Command Register */
+#define VSWC		(0xFFFFF06E)	/* System Wait Control Register */
+#define OCDM		(0xFFFFF9FC)	/* OnChip Debug Mode Register */
+#define WDTM2		(0xFFFFF6D0)	/* Watchdog Debug Mode Register2 */
+
+/*
+ * ã¯ã­ãã¯é¢é£
+ */
+#define PCC			(0xFFFFF828)	/* Processor Clock Control Register */
+#define PLLCTL		(0xFFFFF82C)	/* PLL ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+
+/*
+ * LEDé¢é£
+ */
+/* ãã¼ãCT */
+#define PCT			(0xFFFFF00A)	/* PCT Register vector */
+#define PMCT		(0xFFFFF02A)	/* PCT Mode Register vector */
+#define PMCCT		(0xFFFFF04A)	/* PCT Mode Control Register vector */
+
+#define LED_BIT		(0x40)			/* LED */
+
+/*
+ * 16bit Interval Timer M
+ */
+#define TM0CTL0		(0xFFFFF690)
+#define TM0CMP0		(0xFFFFF694)
+
+/*
+ * UART0é¢é£
+ */
+/* ãã¼ã */
+#define PMC3		(0xFFFFF446)
+#define PFC3		(0xFFFFF466)
+#define PFCE3L		(0xFFFFF706)
+
+/* UART0 */
+#define UA0CTL0		(0xFFFFFA20)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define UA0OPT0		(0xFFFFFA23)	/* UARTA0 ãªãã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define UA0STR		(0xFFFFFA24)	/* UARTA0 ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define UA0RX		(0xFFFFFA26)	/* UARTA0 åä¿¡ãã¼ã¿ã¬ã¸ã¹ã¿ */
+#define UA0TX		(0xFFFFFA27)	/* UARTA0 éä¿¡ãã¼ã¿ã¬ã¸ã¹ã¿ */
+
+/* ãã¼ã¬ã¼ã */
+#define UA0CTL1		(0xFFFFFA21)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define UA0CTL2		(0xFFFFFA22)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿2 */
+
+/*
+ * IntC
+ */
+#define TM0EQIC0	(0xFFFFF150)	/* TM0EQ0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UA0RIC		(0xFFFFF16A)	/* UART0 åä¿¡å®äºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UA0TIC		(0xFFFFF16C)	/* UART0 éä¿¡è¨±å¯å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define IMR2		(0xFFFFF104)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2 */
+#define IMR2H		(0xFFFFF105)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2H */
+#define IMR2L		(0xFFFFF104)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2L */
+#define ISPR		(0xFFFFF1FA)	/* ã¤ã³ãµã¼ãã¹ã»ãã©ã¤ãªãªãã£ã»ã¬ã¸ã¹ã¿ */
+
+#endif	/* _CQ_D70F3716GC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.cfg	(revision 26)
@@ -0,0 +1,60 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ * SCI ãã©ã¤ã (V850ES/JG2ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_serial.h	(revision 26)
@@ -0,0 +1,388 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007-2010 by Monami Software Limited Partnership, JAPAN.
+ * 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼D70F3716GC å
+èµéåæã·ãªã¢ã«ch0ç¨ï¼
+ *   ãã¼ã¿ãã©ã¼ãããã¯8bit data, non-parity, 1stop-bitåºå®
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+typedef struct sio_port_initialization_block {
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	int			port_id;	/* ãã¼ãçªå·(0ã) */
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+
+#define SERIAL_PORT				(CONSOLE_PORTID-1)		/* ã·ã¹ãã ã®ãã¼ãçªå· */
+#define SERIAL_INT_PRIORITY		3	/* å²ãè¾¼ã¿åªå
+åº¦ */
+#define SERIAL_CLKDIV			0x01	/* clk = fxx/2     */
+#define SERIAL_COMPAREVALUE		0x82	/* 38400bps */
+//#define SERIAL_CLKDIV			0x00	/* clk = fxx/1     */
+//#define SERIAL_COMPAREVALUE		0x57	/* 115200bps */
+
+
+#define FLG_RECEIVED 1
+
+extern volatile unsigned int _serial_flag;
+
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(0x35)
+#define INHNO_SERIAL_OUT	(0x36)
+
+/*
+ *  ä½ã¬ãã«ãã¼ãæ
+å ±ç®¡çãã­ãã¯ã®åæå¤
+ */
+
+#define NUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+Inline BOOL
+hw_port_initialize(int port_id)
+{
+#ifndef DEBUGGER
+	while( (sil_reb_mem((VP)UA0STR) & 0x80) ) ;
+
+	/* éåæã·ãªã¢ã«éä¿¡è·¯ã®åæå */
+
+	/* ãã¼ããéãã */
+	if (port_id == 0) {
+		sil_wrh_mem((VP)PMC3, sil_reh_mem((VP)PMC3) | 0x0300);
+		sil_wrh_mem((VP)PFC3, sil_reh_mem((VP)PFC3) & ~0x0300);
+	} else {
+
+	}
+
+	/* ãã¼ã¬ã¼ãçºçå¨ã®åæå */
+	sil_wrb_mem((VP)UA0CTL1, SERIAL_CLKDIV);
+	sil_wrb_mem((VP)UA0CTL2, SERIAL_COMPAREVALUE);
+
+	sil_wrb_mem((VP)UA0CTL0, 0x80);	/* enable ASIO */
+
+	__asm("nop; nop");
+
+	/* ããªãã£ãªãã»8ãããã»ã¹ããã1ãããã»LSBãã¡ã¼ã¹ã */
+	sil_wrb_mem((VP)UA0CTL0, sil_reb_mem((VP)UA0CTL0) | 0x12);
+
+	__asm("nop; nop");
+
+	sil_wrb_mem((VP)UA0CTL0, sil_reb_mem((VP)UA0CTL0) | 0x60);	/* Tx, Rx enable */
+
+	/* å²è¾¼ã¿å¶å¾¡ */
+	sil_wrb_mem((VP)UA0RIC, SERIAL_INT_PRIORITY);
+	sil_wrb_mem((VP)UA0TIC, SERIAL_INT_PRIORITY);
+#endif
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+hw_port_terminate(int port_id)
+{
+	sil_wrb_mem((VP)UA0RIC, sil_reb_mem((VP)UA0RIC) | 0x40);
+	sil_wrb_mem((VP)UA0TIC, sil_reb_mem((VP)UA0TIC) | 0x40);
+
+	sil_wrb_mem((VP)UA0CTL0, 0x10);	/* Tx, Rx disable */
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼åæ¹åç
+§ï¼
+ */
+extern void	serial_handler_in(int portid);
+extern void	serial_handler_out(int portid);
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+hw_port_getready(int port_id)
+{
+	return ((_serial_flag & FLG_RECEIVED) != 0);
+}
+
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_port_putready(int port_id)
+{
+	return ((sil_reb_mem((VP)UA0STR) & 0x80) == 0);
+}
+
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline unsigned char
+hw_port_getchar(int port_id)
+{
+	_serial_flag &= ~FLG_RECEIVED;
+	return sil_reb_mem((VP)UA0RX);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+hw_port_putchar(int port_id, unsigned char c)
+{
+	sil_wrb_mem((VP)UA0TX, c);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿ï¼éä¿¡å¯è½ã«ãªãã¾ã§å¾
+ã¤ï¼
+ */
+Inline void
+hw_port_wait_putchar(int port_id, unsigned char c)
+{
+	while( !hw_port_putready(port_id) ) ;
+	hw_port_putchar(port_id, c);
+}
+
+/*
+ *  éä¿¡å¶å¾¡é¢æ°
+ */
+Inline void
+hw_port_sendstart(int port_id)
+{
+}
+
+Inline void
+hw_port_sendstop(int port_id)
+{
+}
+
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern void	sio_ierdy_snd(VP_INT exinf);
+
+Inline void
+hw_port_handler_in(int port_id)
+{
+	UB tmp;
+
+	if((sil_reb_mem((VP)UA0STR) & 0x07) == 0) {
+		_serial_flag |= FLG_RECEIVED;
+		sio_ierdy_rcv(siopcb_table[port_id].exinf);	
+	} else {
+		/* ã¨ã©ã¼ãããã°ãã¼ã¿ãç ´æ£ */
+		tmp = sil_reb_mem((VP)UA0RX);
+	}
+}
+
+Inline void
+hw_port_handler_out(int port_id)
+{
+	if(hw_port_putready(port_id)) {
+		sio_ierdy_snd(siopcb_table[port_id].exinf);
+	}
+}
+
+/***********************************************************************************/
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+Inline void
+sio_initialize (void)
+{
+	int ix;
+
+	/* SIO ç®¡çãã­ãã¯ã®åæå */
+	for (ix = TNUM_PORT; ix -- > 0; ) {
+		siopcb_table[ix].openflag = FALSE;
+	}
+}
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	pcb->inib     = NULL;
+	pcb->exinf    = exinf;
+	pcb->openflag = TRUE;
+	pcb->port_id  = sioid-1;
+	hw_port_initialize(pcb->port_id);
+	return pcb;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *pcb, INT chr)
+{
+#if 0
+	if (hw_port_putready(pcb->port_id)) {
+		hw_port_putchar(pcb->port_id, (UB)chr);
+		return TRUE;
+	} else {
+		return FALSE;
+	}
+#else
+	/* æ¬æ¥ã¯ãâã®ããã«ããã¹ãã ãã */
+	/* syslogåºåãæ­¢ã¾ã£ã¦ãã¾ãããã */
+	/* æ«å®å¦ç½® */
+	while(!hw_port_putready(pcb->port_id)) ;
+	hw_port_putchar(pcb->port_id, (UB)chr);
+	return TRUE;
+#endif
+}
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *pcb)
+{
+	if (hw_port_getready(pcb->port_id))
+		return hw_port_getchar(pcb->port_id);
+	else
+		return -1;
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+Inline void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+Inline void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+	sio_dis_cbr(pcb, SIO_ERDY_SND);
+	sio_dis_cbr(pcb, SIO_ERDY_RCV);
+	pcb->openflag = FALSE;
+}
+
+Inline void
+sio_in_handler(void)
+{
+	hw_port_handler_in(0);
+}
+
+Inline void
+sio_out_handler(void)
+{
+	hw_port_handler_out(0);
+}
+
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/hw_timer.h	(revision 26)
@@ -0,0 +1,146 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼D70F3716GC å
+èµã¿ã¤ãç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+
+/* ã·ã¹ãã ã¿ã¤ãã¼ã¯TMM0ãä½¿ç¨ */
+#define	TIMER_INT_PRIORITY		0		/* å²ãè¾¼ã¿åªå
+åº¦(0ãæé«ã§7ãæä½) */
+#define	TIMER_COMPAREVALUE		((CPU_CLOCK>>1)/1000)		/* fx/2ã§1msecãä½ã */
+
+
+#define WAIT __asm("nop;nop;nop;nop;nop");
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       (0x28)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)TM0CTL0, sil_reb_mem((VP)TM0CTL0) | ~0x80);	/* Stop */
+	sil_wrb_mem((VP)TM0CTL0, 1);		/* fx/2 */
+	sil_wrh_mem((VP)TM0CMP0, TIMER_COMPAREVALUE);
+	sil_wrb_mem((VP)TM0CTL0, 0x80 | sil_reb_mem((VP)TM0CTL0));	/* Start */
+
+	/* å²è¾¼ã¿è¦æ±ãè§£é¤ãã¤ã¤ãå²è¾¼ã¿è¨±å¯ã«ãã¦ãåªå
+åº¦ãè¨­å®ãã */
+	sil_wrb_mem((VP)TM0EQIC0, TIMER_INT_PRIORITY);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* å²è¾¼ã¿ããã¹ã¯ãã */
+	sil_wrb_mem((VP)TM0EQIC0, sil_reb_mem((VP)TM0EQIC0) | 0x40);
+	sil_wrb_mem((VP)TM0CTL0, (~0x08) & sil_reb_mem((VP)TM0CTL0));	/* Stop */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return 0;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)TM0EQIC0) & 0x80) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.c	(revision 26)
@@ -0,0 +1,93 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼D70F3716GCç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#include "hw_serial.h"
+
+
+//void led(int num);
+
+volatile unsigned int _serial_flag = 0;
+
+
+/*  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯ */
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	volatile int i;
+
+	/* LED ãã¼ãè¨­å® */
+	sil_wrb_mem((VP)PMCCT, sil_reb_mem((VP)PMCCT) & (UB)~LED_BIT);
+	sil_wrb_mem((VP)PMCT, sil_reb_mem((VP)PMCT) & (UB)~LED_BIT);
+
+	sil_wrb_mem((VP)PCT, sil_reb_mem((VP)PCT) | (UB)LED_BIT);	/* LED off */
+
+	*(UW *)(0x3ffeffc) = 0x00100000;
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	kernel_abort();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_config.h	(revision 26)
@@ -0,0 +1,135 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼D70F3716GCï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "cq_d70f3716gc.h"
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"CQBB+V850ES/JG2"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/* #define	SUPPORT_VXGET_TIM */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ */
+#ifdef DEBUGGER
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE - 16)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+#else
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+#endif
+
+/* CPUåä½ã¯ã­ãã¯å¨æ³¢æ°ï¼20MHz(5MHzÃ4) */
+#define	CPU_CLOCK		20000000
+
+/* å²ãè¾¼ã¿è¦å ã®æ° */
+#define NUM_INTERRUPT	0x3E
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define TNUM_PORT		1
+#define SEPARATE_SIO_INT	/* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å®äºå²ãè¾¼ã¿ãåºå¥ãããå²ãè¾¼ã¿ã«ãªã£ã¦ããã */
+#define	LOGTASK_PORTID		CONSOLE_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+Inline void
+sys_putc(char c)
+{
+	extern void cpu_putc(char c);
+	/* ROMã¢ãã¿ãªã©ã®ã³ã³ã½ã¼ã«ã¸ã¡ãã»ã¼ã¸åºåããä½ã¬ãã«é¢æ°ãæ³å®ãã¦ããã
+	   é¢åãªã®ã§ã·ã¹ãã ã®ã·ãªã¢ã«ãã¼ãã¸åºåãã */
+	cpu_putc(c);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_defs.h	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *    D70F3716GC 20MHz
+ */
+
+#include "sys_config.h"
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno);
+extern ER	ena_int(INTNO intno);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.def	(revision 26)
@@ -0,0 +1,4 @@
+sys_initialize
+sys_exit
+hardware_init_hook
+sys_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_rename.h	(revision 26)
@@ -0,0 +1,35 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define sys_initialize \
+		_kernel_sys_initialize
+
+#define sys_exit \
+		_kernel_sys_exit
+
+#define hardware_init_hook \
+	_kernel_hardware_init_hook
+
+#define sys_putc \
+		_kernel_sys_putc
+
+
+#ifdef LABEL_ASM
+
+#define _sys_initialize \
+	__kernel_sys_initialize
+
+#define _sys_exit \
+		__kernel_sys_exit
+
+#define _hardware_init_hook \
+	__kernel_hardware_init_hook
+
+#define _sys_putc \
+		__kernel_sys_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_support.S	(revision 26)
@@ -0,0 +1,253 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼D70F3716GCç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "v850asm.inc"
+
+#define Set(x,y,z) Lea x, r6; Lea y, r7; st.z r7, 0[r6]
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+
+	.text
+	.globl hardware_init_hook
+hardware_init_hook:
+
+	/* ã·ã¹ãã ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼20MHzæ */
+	movhi  hi(VSWC), r0, r11
+	movea  lo(VSWC), r11, r11
+	mov  0x01, r12
+	st.b  r12, 0[r11]
+
+	/* ä¿è­·ãããç¹å®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹
+	   ãã­ã»ããµã»ã¯ã­ãã¯ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ï¼ã¡ã¤ã³ã¯ã­ãã¯ã®fxxåºå(PCC=0) */
+	movhi  hi(PRCMD), r0, r11
+	movea  lo(PRCMD), r11, r11
+	movhi  hi(PCC), r0, r13
+	movea  lo(PCC), r13, r13
+	st.b  r12, 0[r11]
+	st.b  r0, 0[r13]
+	 nop
+	 nop
+	 nop
+	 nop
+	 nop
+	movhi  hi(PLLCTL), r0, r13
+	movea  lo(PLLCTL), r13, r13
+	mov  0x03, r12
+	st.b  r12, 0[r13]				/* PLLã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼PLLåä½ */
+
+	movhi  hi(PRCMD), r0, r11
+	movea  lo(PRCMD), r11, r11
+	movhi  hi(OCDM), r0, r13
+	movea  lo(OCDM), r13, r13
+	st.b  r12, 0[r11]
+	st.b  r0, 0[r13]
+	 nop
+	 nop
+	 nop
+	 nop
+	 nop
+	movhi  hi(WDTM2), r0, r11
+	movea  lo(WDTM2), r11, r11
+	mov  0x08, r12
+	st.b  r12, 0[r11]				/* WDTM2 stop */
+
+	jmp		r31
+
+
+
+	/* æ¨æºå²è¾¼ã¿å¦çã¨ã¹ãºã¼ãµã¼ */
+	.macro StandardInterruptEntry name
+	.globl \name
+\name:
+	jr	vector_handler
+	nop;nop;nop;nop;nop;nop
+	.endm
+
+	.macro ReservedInterruptEntry
+	nop;nop;nop;nop;nop;nop;nop;nop
+	.endm
+
+/*
+ * å²è¾¼ã¿ãã³ãã©é¨åã®å®ç¾©
+ * 		ã¨ããããä¸ç®æã«éããã
+ */
+
+	.section	".vectors","ax"
+	.align      4
+	.globl      __reset
+__reset:
+	jr	start
+	nop;nop;nop;nop;nop;nop
+
+	StandardInterruptEntry NMI
+	StandardInterruptEntry INTWDT1
+	StandardInterruptEntry INTWDT2
+	StandardInterruptEntry TRAP0
+	StandardInterruptEntry TRAP1
+#ifdef DEBUGGER
+DBG0:
+	.org 0x0060
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+#else
+	StandardInterruptEntry DBG0
+#endif
+
+/*#-------------------------------------------------------------------
+  #	SECURITY_ID
+  #-------------------------------------------------------------------*/
+/*	.section	"SECURITY_ID" */
+	.word	0xffffffff	/* --0-3 byte code,Address is 0x70-0x73 */
+	.word	0xffffffff	/* --4-7 byte code,Address is 0x74-0x77 */
+	.hword	0xffff		/* --8-9 byte code,Address is 0x78-0x79 */
+/*#-------------------------------------------------------------------
+  #	OPTION_BYTES
+  #-------------------------------------------------------------------*/
+/*	.section	"OPTION_BYTES" */
+	.hword	0x0000		/* --0-1 byte code,Address is 0x7a-0x7b */
+	.hword	0x0000		/* --2-3 byte code,Address is 0x7c-0x7d */
+	.hword	0x0000		/* --4-5 byte code,Address is 0x7e-0x7f */
+
+	StandardInterruptEntry INTLVI
+	StandardInterruptEntry INTP0
+	StandardInterruptEntry INTP1
+	StandardInterruptEntry INTP2
+	StandardInterruptEntry INTP3
+	StandardInterruptEntry INTP4
+	StandardInterruptEntry INTP5
+	StandardInterruptEntry INTP6
+	StandardInterruptEntry INTP7
+	StandardInterruptEntry INTTQ0OV 
+	StandardInterruptEntry INTTQ0CC0
+	StandardInterruptEntry INTTQ0CC1
+	StandardInterruptEntry INTTQ0CC2
+	StandardInterruptEntry INTTQ0CC3
+	StandardInterruptEntry INTTP0OV 
+	StandardInterruptEntry INTTP0CC0
+	StandardInterruptEntry INTTP0CC1
+	StandardInterruptEntry INTTP1OV 
+	StandardInterruptEntry INTTP1CC0
+	StandardInterruptEntry INTTP1CC1
+	StandardInterruptEntry INTTP2OV 
+	StandardInterruptEntry INTTP2CC0
+	StandardInterruptEntry INTTP2CC1
+	StandardInterruptEntry INTTP3OV 
+	StandardInterruptEntry INTTP3CC0
+	StandardInterruptEntry INTTP3CC1
+	StandardInterruptEntry INTTP4OV 
+	StandardInterruptEntry INTTP4CC0
+	StandardInterruptEntry INTTP4CC1
+	StandardInterruptEntry INTTP5OV 
+	StandardInterruptEntry INTTP5CC0
+	StandardInterruptEntry INTTP5CC1
+	StandardInterruptEntry INTTM0EQ0
+	StandardInterruptEntry INTCB0R
+	StandardInterruptEntry INTCB0T
+	StandardInterruptEntry INTCB1R
+	StandardInterruptEntry INTCB1T
+	StandardInterruptEntry INTCB2R
+	StandardInterruptEntry INTCB2T
+	StandardInterruptEntry INTCB3R
+	StandardInterruptEntry INTCB3T
+#ifdef DEBUGGER
+INTUA0R:
+	.org 0x0310
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+#else
+	StandardInterruptEntry INTUA0R
+#endif
+	StandardInterruptEntry INTUA1R
+	StandardInterruptEntry INTUA1T
+	StandardInterruptEntry INTUA2R
+	StandardInterruptEntry INTUA2T
+	StandardInterruptEntry INTAD
+	StandardInterruptEntry INTDMA0
+	StandardInterruptEntry INTDMA1
+	StandardInterruptEntry INTDMA2
+	StandardInterruptEntry INTDMA3
+	StandardInterruptEntry INTKR
+	StandardInterruptEntry INTWTI 
+	StandardInterruptEntry INTWT
+
+/*
+ * è©ä¾¡ç¨é«æ§è½?ã¿ã¤ã
+ *  dummy
+ */
+ 	.text
+	.align 4
+	.globl _vxget_tim
+_vxget_tim:
+	jmp	r31
+
+
+#ifdef DEBUGGER
+	.section MonitorROM, "ax"
+__monitor:
+        .rept	(512)
+        .long	0xFFFFFFFF
+        .endr
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/sys_unrename.h	(revision 26)
@@ -0,0 +1,27 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#undef sys_initialize
+
+#undef sys_exit
+
+#undef hardware_init_hook
+
+#undef sys_putc
+
+
+#ifdef LABEL_ASM
+
+#undef _sys_initialize
+
+#undef _sys_exit
+
+#undef _hardware_init_hook
+
+#undef _sys_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/v850elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/v850elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_bb/v850elf.ld	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2007-2010 by Monami Software Limited Partnership, JAPAN.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+OUTPUT_FORMAT("elf32-v850","elf32-v850","elf32-v850")
+OUTPUT_ARCH(v850E)
+
+STARTUP(start.o)
+
+/* V850ES/JG2 (24KB-RAM)ç¨ã®ã¡ã¢ãª */
+
+MEMORY
+{
+	INTROM(raxi) : org = 0x00100000, len = 254k
+	MON(raxi) : org = 0x0013F800, len = 2k
+	INTRAM(wax)  : org = 0x00140000, len = 24k
+};
+
+PROVIDE(__stack = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS
+{
+	.vector :
+	{
+		*(.vectors)
+	} > INTROM
+
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+        _etext = . ;
+    } > INTROM
+ 
+	. = ALIGN(4);
+    .rodata : { *(.rodata) } > INTROM
+
+	_textend = .;
+
+    MonitorROM : { *(MonitorROM) } > MON
+
+	. = ALIGN(4);
+    __idata_start = . ;
+
+    .data   :  AT(__idata_start) 
+    {
+		. = ALIGN(4);
+        __data_start = . ;
+        *(.data)
+		. = ALIGN(4);
+        _edata  =  . ;
+    } > INTRAM
+
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    .bss       :
+    {
+      . = ALIGN(4);
+      __bss_start = .;
+      *(.bss)
+      *(COMMON)
+      . = ALIGN(4);
+      _end = .;
+    } > INTRAM
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/Makefile.config	(revision 26)
@@ -0,0 +1,73 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼D70F3716GCç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS) -msoft-float
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/v850elf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/cq_d70f3716gc.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/cq_d70f3716gc.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/cq_d70f3716gc.h	(revision 26)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#ifndef	_CQ_D70F3716GC_H_
+#define	_CQ_D70F3716GC_H_
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼V850ES/JG2ç¨ï¼
+ */
+
+/*
+ * å
+èµRAM
+ */
+#define	IRAM_TOP	0x03FF9000		/* å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ */
+#define IRAM_SIZE	0x6000			/* å
+èµRAMã®å¤§ãã 24Kbyte */
+/*
+ * å
+èµFlashROM
+ */
+#define	IROM_TOP	0x0000000		/* å
+èµFlashROMã®å
+é ­ã¢ãã¬ã¹ */
+#define IROM_SIZE	0x40000			/* å
+èµFlashROMã®å¤§ãã 256Kbyte */
+
+
+/* 
+ * V850ES/JG2ã®IOã¬ã¸ã¹ã¿å®ç¾©
+ */
+#define PRCMD		(0xFFFFF1FC)	/* Command Register */
+#define VSWC		(0xFFFFF06E)	/* System Wait Control Register */
+#define OCDM		(0xFFFFF9FC)	/* OnChip Debug Mode Register */
+#define WDTM2		(0xFFFFF6D0)	/* Watchdog Debug Mode Register2 */
+
+/*
+ * ã¯ã­ãã¯é¢é£
+ */
+#define PCC			(0xFFFFF828)	/* Processor Clock Control Register */
+#define PLLCTL		(0xFFFFF82C)	/* PLL ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+
+/*
+ * LEDé¢é£
+ */
+/* ãã¼ãCT */
+#define PCT			(0xFFFFF00A)	/* PCT Register vector */
+#define PMCT		(0xFFFFF02A)	/* PCT Mode Register vector */
+#define PMCCT		(0xFFFFF04A)	/* PCT Mode Control Register vector */
+
+#define LED_BIT		(0x40)			/* LED */
+
+/*
+ * 16bit Interval Timer M
+ */
+#define TM0CTL0		(0xFFFFF690)
+#define TM0CMP0		(0xFFFFF694)
+
+/*
+ * UART0é¢é£
+ */
+/* ãã¼ã */
+#define PMC3		(0xFFFFF446)
+#define PFC3		(0xFFFFF466)
+#define PFCE3L		(0xFFFFF706)
+
+/* UART0 */
+#define UA0CTL0		(0xFFFFFA00)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define UA0OPT0		(0xFFFFFA03)	/* UARTA0 ãªãã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define UA0STR		(0xFFFFFA04)	/* UARTA0 ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define UA0RX		(0xFFFFFA06)	/* UARTA0 åä¿¡ãã¼ã¿ã¬ã¸ã¹ã¿ */
+#define UA0TX		(0xFFFFFA07)	/* UARTA0 éä¿¡ãã¼ã¿ã¬ã¸ã¹ã¿ */
+
+/* ãã¼ã¬ã¼ã */
+#define UA0CTL1		(0xFFFFFA01)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define UA0CTL2		(0xFFFFFA02)	/* UARTA0 å¶å¾¡ã¬ã¸ã¹ã¿2 */
+
+/*
+ * IntC
+ */
+#define TM0EQIC0	(0xFFFFF150)	/* TM0EQ0 å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UA0RIC		(0xFFFFF162)	/* UART0 åä¿¡å®äºå²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UA0TIC		(0xFFFFF164)	/* UART0 éä¿¡è¨±å¯å²è¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define IMR2		(0xFFFFF104)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2 */
+#define IMR2H		(0xFFFFF105)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2H */
+#define IMR2L		(0xFFFFF104)	/* å²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿2L */
+#define ISPR		(0xFFFFF1FA)	/* ã¤ã³ãµã¼ãã¹ã»ãã©ã¤ãªãªãã£ã»ã¬ã¸ã¹ã¿ */
+
+#endif	/* _CQ_D70F3716GC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.cfg	(revision 26)
@@ -0,0 +1,60 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ */
+
+/*
+ * SCI ãã©ã¤ã (V850ES/JG2ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_serial.h	(revision 26)
@@ -0,0 +1,388 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼D70F3716GC å
+èµéåæã·ãªã¢ã«ch0ç¨ï¼
+ *   ãã¼ã¿ãã©ã¼ãããã¯8bit data, non-parity, 1stop-bitåºå®
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+typedef struct sio_port_initialization_block {
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	int			port_id;	/* ãã¼ãçªå·(0ã) */
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+
+#define SERIAL_PORT				(CONSOLE_PORTID-1)		/* ã·ã¹ãã ã®ãã¼ãçªå· */
+#define SERIAL_INT_PRIORITY		3	/* å²ãè¾¼ã¿åªå
+åº¦ */
+#define SERIAL_CLKDIV			0x01	/* clk = fxx/2     */
+#define SERIAL_COMPAREVALUE		0x82	/* 38400bps */
+//#define SERIAL_CLKDIV			0x00	/* clk = fxx/1     */
+//#define SERIAL_COMPAREVALUE		0x57	/* 115200bps */
+
+
+#define FLG_RECEIVED 1
+
+extern volatile unsigned int _serial_flag;
+
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(0x31)
+#define INHNO_SERIAL_OUT	(0x32)
+
+/*
+ *  ä½ã¬ãã«ãã¼ãæ
+å ±ç®¡çãã­ãã¯ã®åæå¤
+ */
+
+#define NUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+Inline BOOL
+hw_port_initialize(int port_id)
+{
+#ifndef DEBUGGER
+	while( (sil_reb_mem((VP)UA0STR) & 0x80) ) ;
+
+	/* éåæã·ãªã¢ã«éä¿¡è·¯ã®åæå */
+
+	/* ãã¼ããéãã */
+	if (port_id == 0) {
+		sil_wrh_mem((VP)PMC3, sil_reh_mem((VP)PMC3) | 0x0003);
+		sil_wrh_mem((VP)PFC3, sil_reh_mem((VP)PFC3) & ~0x0003);
+		sil_wrb_mem((VP)PFCE3L, 0x0000);
+	} else {
+
+	}
+
+	/* ãã¼ã¬ã¼ãçºçå¨ã®åæå */
+	sil_wrb_mem((VP)UA0CTL1, SERIAL_CLKDIV);
+	sil_wrb_mem((VP)UA0CTL2, SERIAL_COMPAREVALUE);
+
+	sil_wrb_mem((VP)UA0CTL0, 0x80);	/* enable ASIO */
+
+	__asm("nop; nop");
+
+	/* ããªãã£ãªãã»8ãããã»ã¹ããã1ãããã»LSBãã¡ã¼ã¹ã */
+	sil_wrb_mem((VP)UA0CTL0, sil_reb_mem((VP)UA0CTL0) | 0x12);
+
+	__asm("nop; nop");
+
+	sil_wrb_mem((VP)UA0CTL0, sil_reb_mem((VP)UA0CTL0) | 0x60);	/* Tx, Rx enable */
+
+	/* å²è¾¼ã¿å¶å¾¡ */
+	sil_wrb_mem((VP)UA0RIC, SERIAL_INT_PRIORITY);
+	sil_wrb_mem((VP)UA0TIC, SERIAL_INT_PRIORITY);
+#endif
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+hw_port_terminate(int port_id)
+{
+	sil_wrb_mem((VP)UA0RIC, sil_reb_mem((VP)UA0RIC) | 0x40);
+	sil_wrb_mem((VP)UA0TIC, sil_reb_mem((VP)UA0TIC) | 0x40);
+
+	sil_wrb_mem((VP)UA0CTL0, 0x10);	/* Tx, Rx disable */
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼åæ¹åç
+§ï¼
+ */
+extern void	serial_handler_in(int portid);
+extern void	serial_handler_out(int portid);
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+hw_port_getready(int port_id)
+{
+	return ((_serial_flag & FLG_RECEIVED) != 0);
+}
+
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_port_putready(int port_id)
+{
+	return ((sil_reb_mem((VP)UA0STR) & 0x80) == 0);
+}
+
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline unsigned char
+hw_port_getchar(int port_id)
+{
+	_serial_flag &= ~FLG_RECEIVED;
+	return sil_reb_mem((VP)UA0RX);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+hw_port_putchar(int port_id, unsigned char c)
+{
+	sil_wrb_mem((VP)UA0TX, c);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿ï¼éä¿¡å¯è½ã«ãªãã¾ã§å¾
+ã¤ï¼
+ */
+Inline void
+hw_port_wait_putchar(int port_id, unsigned char c)
+{
+	while( !hw_port_putready(port_id) ) ;
+	hw_port_putchar(port_id, c);
+}
+
+/*
+ *  éä¿¡å¶å¾¡é¢æ°
+ */
+Inline void
+hw_port_sendstart(int port_id)
+{
+}
+
+Inline void
+hw_port_sendstop(int port_id)
+{
+}
+
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern void	sio_ierdy_snd(VP_INT exinf);
+
+Inline void
+hw_port_handler_in(int port_id)
+{
+	UB tmp;
+
+	if((sil_reb_mem((VP)UA0STR) & 0x07) == 0) {
+		_serial_flag |= FLG_RECEIVED;
+		sio_ierdy_rcv(siopcb_table[port_id].exinf);	
+	} else {
+		/* ã¨ã©ã¼ãããã°ãã¼ã¿ãç ´æ£ */
+		tmp = sil_reb_mem((VP)UA0RX);
+	}
+}
+
+Inline void
+hw_port_handler_out(int port_id)
+{
+	if(hw_port_putready(port_id)) {
+		sio_ierdy_snd(siopcb_table[port_id].exinf);
+	}
+}
+
+/***********************************************************************************/
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+Inline void
+sio_initialize (void)
+{
+	int ix;
+
+	/* SIO ç®¡çãã­ãã¯ã®åæå */
+	for (ix = TNUM_PORT; ix -- > 0; ) {
+		siopcb_table[ix].openflag = FALSE;
+	}
+}
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	pcb->inib     = NULL;
+	pcb->exinf    = exinf;
+	pcb->openflag = TRUE;
+	pcb->port_id  = sioid-1;
+	hw_port_initialize(pcb->port_id);
+	return pcb;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *pcb, INT chr)
+{
+#if 0
+	if (hw_port_putready(pcb->port_id)) {
+		hw_port_putchar(pcb->port_id, (UB)chr);
+		return TRUE;
+	} else {
+		return FALSE;
+	}
+#else
+	/* æ¬æ¥ã¯ãâã®ããã«ããã¹ãã ãã */
+	/* syslogåºåãæ­¢ã¾ã£ã¦ãã¾ãããã */
+	/* æ«å®å¦ç½® */
+	while(!hw_port_putready(pcb->port_id)) ;
+	hw_port_putchar(pcb->port_id, (UB)chr);
+	return TRUE;
+#endif
+}
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *pcb)
+{
+	if (hw_port_getready(pcb->port_id))
+		return hw_port_getchar(pcb->port_id);
+	else
+		return -1;
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+Inline void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+Inline void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+	sio_dis_cbr(pcb, SIO_ERDY_SND);
+	sio_dis_cbr(pcb, SIO_ERDY_RCV);
+	pcb->openflag = FALSE;
+}
+
+Inline void
+sio_in_handler(void)
+{
+	hw_port_handler_in(0);
+}
+
+Inline void
+sio_out_handler(void)
+{
+	hw_port_handler_out(0);
+}
+
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/hw_timer.h	(revision 26)
@@ -0,0 +1,146 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼D70F3716GC å
+èµã¿ã¤ãç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+
+/* ã·ã¹ãã ã¿ã¤ãã¼ã¯TMM0ãä½¿ç¨ */
+#define	TIMER_INT_PRIORITY		0		/* å²ãè¾¼ã¿åªå
+åº¦(0ãæé«ã§7ãæä½) */
+#define	TIMER_COMPAREVALUE		((CPU_CLOCK>>1)/1000)		/* fx/2ã§1msecãä½ã */
+
+
+#define WAIT __asm("nop;nop;nop;nop;nop");
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       (0x28)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)TM0CTL0, sil_reb_mem((VP)TM0CTL0) | ~0x80);	/* Stop */
+	sil_wrb_mem((VP)TM0CTL0, 1);		/* fx/2 */
+	sil_wrh_mem((VP)TM0CMP0, TIMER_COMPAREVALUE);
+	sil_wrb_mem((VP)TM0CTL0, 0x80 | sil_reb_mem((VP)TM0CTL0));	/* Start */
+
+	/* å²è¾¼ã¿è¦æ±ãè§£é¤ãã¤ã¤ãå²è¾¼ã¿è¨±å¯ã«ãã¦ãåªå
+åº¦ãè¨­å®ãã */
+	sil_wrb_mem((VP)TM0EQIC0, TIMER_INT_PRIORITY);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* å²è¾¼ã¿ããã¹ã¯ãã */
+	sil_wrb_mem((VP)TM0EQIC0, sil_reb_mem((VP)TM0EQIC0) | 0x40);
+	sil_wrb_mem((VP)TM0CTL0, (~0x08) & sil_reb_mem((VP)TM0CTL0));	/* Stop */
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return 0;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)TM0EQIC0) & 0x80) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.c	(revision 26)
@@ -0,0 +1,116 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼D70F3716GCç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#include "hw_serial.h"
+
+
+//void led(int num);
+
+volatile unsigned int _serial_flag = 0;
+
+
+/*  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯ */
+SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+	volatile int i;
+
+	/* LED ãã¼ãè¨­å® */
+	sil_wrb_mem((VP)PMCCT, sil_reb_mem((VP)PMCCT) & (UB)~LED_BIT);
+	sil_wrb_mem((VP)PMCT, sil_reb_mem((VP)PMCT) & (UB)~LED_BIT);
+
+	sil_wrb_mem((VP)PCT, sil_reb_mem((VP)PCT) | (UB)LED_BIT);	/* LED off */
+
+#if 0
+	/* USBã§ã·ãªã¢ã«éä¿¡ãããã¨ãã«ã */
+	/* TOPPERSã­ã´ãè¡¨ç¤ºããããã«waitãå
+¥ãã */
+	for(i=0; i<0x1000000; i++) ;
+	led(1);
+#endif
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	kernel_abort();
+}
+
+
+#if 0
+void
+led(int num)
+{
+	volatile int i;
+	int j;
+
+	for(j=0; j<num; j++) {
+		*((volatile UB *)PCT) &= (UB)~LED_BIT;
+		for(i=0; i<0x40000; i++) ;
+		*((volatile UB *)PCT) |= (UB)LED_BIT;
+		for(i=0; i<0x40000; i++) ;
+	}
+}
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_config.h	(revision 26)
@@ -0,0 +1,135 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼D70F3716GCï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "cq_d70f3716gc.h"
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"CQ/D70F3716GC"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/* #define	SUPPORT_VXGET_TIM */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ */
+#ifdef DEBUGGER
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE - 16)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+#else
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+#endif
+
+/* CPUåä½ã¯ã­ãã¯å¨æ³¢æ°ï¼20MHz(5MHzÃ4) */
+#define	CPU_CLOCK		20000000
+
+/* å²ãè¾¼ã¿è¦å ã®æ° */
+#define NUM_INTERRUPT	0x3E
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define TNUM_PORT		1
+#define SEPARATE_SIO_INT	/* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å®äºå²ãè¾¼ã¿ãåºå¥ãããå²ãè¾¼ã¿ã«ãªã£ã¦ããã */
+#define	LOGTASK_PORTID		CONSOLE_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+Inline void
+sys_putc(char c)
+{
+	extern void cpu_putc(char c);
+	/* ROMã¢ãã¿ãªã©ã®ã³ã³ã½ã¼ã«ã¸ã¡ãã»ã¼ã¸åºåããä½ã¬ãã«é¢æ°ãæ³å®ãã¦ããã
+	   é¢åãªã®ã§ã·ã¹ãã ã®ã·ãªã¢ã«ãã¼ãã¸åºåãã */
+	cpu_putc(c);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_defs.h	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *    D70F3716GC 20MHz
+ */
+
+#include "sys_config.h"
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno);
+extern ER	ena_int(INTNO intno);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.def	(revision 26)
@@ -0,0 +1,4 @@
+sys_initialize
+sys_exit
+hardware_init_hook
+sys_putc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_rename.h	(revision 26)
@@ -0,0 +1,35 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define sys_initialize \
+		_kernel_sys_initialize
+
+#define sys_exit \
+		_kernel_sys_exit
+
+#define hardware_init_hook \
+	_kernel_hardware_init_hook
+
+#define sys_putc \
+		_kernel_sys_putc
+
+
+#ifdef LABEL_ASM
+
+#define _sys_initialize \
+	__kernel_sys_initialize
+
+#define _sys_exit \
+		__kernel_sys_exit
+
+#define _hardware_init_hook \
+	__kernel_hardware_init_hook
+
+#define _sys_putc \
+		__kernel_sys_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_support.S	(revision 26)
@@ -0,0 +1,253 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼D70F3716GCç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "v850asm.inc"
+
+#define Set(x,y,z) Lea x, r6; Lea y, r7; st.z r7, 0[r6]
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+
+	.text
+	.globl hardware_init_hook
+hardware_init_hook:
+
+	/* ã·ã¹ãã ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼20MHzæ */
+	movhi  hi(VSWC), r0, r11
+	movea  lo(VSWC), r11, r11
+	mov  0x01, r12
+	st.b  r12, 0[r11]
+
+	/* ä¿è­·ãããç¹å®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹
+	   ãã­ã»ããµã»ã¯ã­ãã¯ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ï¼ã¡ã¤ã³ã¯ã­ãã¯ã®fxxåºå(PCC=0) */
+	movhi  hi(PRCMD), r0, r11
+	movea  lo(PRCMD), r11, r11
+	movhi  hi(PCC), r0, r13
+	movea  lo(PCC), r13, r13
+	st.b  r12, 0[r11]
+	st.b  r0, 0[r13]
+	 nop
+	 nop
+	 nop
+	 nop
+	 nop
+	movhi  hi(PLLCTL), r0, r13
+	movea  lo(PLLCTL), r13, r13
+	mov  0x03, r12
+	st.b  r12, 0[r13]				/* PLLã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼PLLåä½ */
+
+	movhi  hi(PRCMD), r0, r11
+	movea  lo(PRCMD), r11, r11
+	movhi  hi(OCDM), r0, r13
+	movea  lo(OCDM), r13, r13
+	st.b  r12, 0[r11]
+	st.b  r0, 0[r13]
+	 nop
+	 nop
+	 nop
+	 nop
+	 nop
+	movhi  hi(WDTM2), r0, r11
+	movea  lo(WDTM2), r11, r11
+	mov  0x08, r12
+	st.b  r12, 0[r11]				/* WDTM2 stop */
+
+	jmp		r31
+
+
+
+	/* æ¨æºå²è¾¼ã¿å¦çã¨ã¹ãºã¼ãµã¼ */
+	.macro StandardInterruptEntry name
+	.globl \name
+\name:
+	jr	vector_handler
+	nop;nop;nop;nop;nop;nop
+	.endm
+
+	.macro ReservedInterruptEntry
+	nop;nop;nop;nop;nop;nop;nop;nop
+	.endm
+
+/*
+ * å²è¾¼ã¿ãã³ãã©é¨åã®å®ç¾©
+ * 		ã¨ããããä¸ç®æã«éããã
+ */
+
+	.section	".vectors","ax"
+	.align      4
+	.globl      __reset
+__reset:
+	jr	start
+	nop;nop;nop;nop;nop;nop
+
+	StandardInterruptEntry NMI
+	StandardInterruptEntry INTWDT1
+	StandardInterruptEntry INTWDT2
+	StandardInterruptEntry TRAP0
+	StandardInterruptEntry TRAP1
+#ifdef DEBUGGER
+DBG0:
+	.org 0x0060
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+#else
+	StandardInterruptEntry DBG0
+#endif
+
+/*#-------------------------------------------------------------------
+  #	SECURITY_ID
+  #-------------------------------------------------------------------*/
+/*	.section	"SECURITY_ID" */
+	.word	0xffffffff	/* --0-3 byte code,Address is 0x70-0x73 */
+	.word	0xffffffff	/* --4-7 byte code,Address is 0x74-0x77 */
+	.hword	0xffff		/* --8-9 byte code,Address is 0x78-0x79 */
+/*#-------------------------------------------------------------------
+  #	OPTION_BYTES
+  #-------------------------------------------------------------------*/
+/*	.section	"OPTION_BYTES" */
+	.hword	0x0000		/* --0-1 byte code,Address is 0x7a-0x7b */
+	.hword	0x0000		/* --2-3 byte code,Address is 0x7c-0x7d */
+	.hword	0x0000		/* --4-5 byte code,Address is 0x7e-0x7f */
+
+	StandardInterruptEntry INTLVI
+	StandardInterruptEntry INTP0
+	StandardInterruptEntry INTP1
+	StandardInterruptEntry INTP2
+	StandardInterruptEntry INTP3
+	StandardInterruptEntry INTP4
+	StandardInterruptEntry INTP5
+	StandardInterruptEntry INTP6
+	StandardInterruptEntry INTP7
+	StandardInterruptEntry INTTQ0OV 
+	StandardInterruptEntry INTTQ0CC0
+	StandardInterruptEntry INTTQ0CC1
+	StandardInterruptEntry INTTQ0CC2
+	StandardInterruptEntry INTTQ0CC3
+	StandardInterruptEntry INTTP0OV 
+	StandardInterruptEntry INTTP0CC0
+	StandardInterruptEntry INTTP0CC1
+	StandardInterruptEntry INTTP1OV 
+	StandardInterruptEntry INTTP1CC0
+	StandardInterruptEntry INTTP1CC1
+	StandardInterruptEntry INTTP2OV 
+	StandardInterruptEntry INTTP2CC0
+	StandardInterruptEntry INTTP2CC1
+	StandardInterruptEntry INTTP3OV 
+	StandardInterruptEntry INTTP3CC0
+	StandardInterruptEntry INTTP3CC1
+	StandardInterruptEntry INTTP4OV 
+	StandardInterruptEntry INTTP4CC0
+	StandardInterruptEntry INTTP4CC1
+	StandardInterruptEntry INTTP5OV 
+	StandardInterruptEntry INTTP5CC0
+	StandardInterruptEntry INTTP5CC1
+	StandardInterruptEntry INTTM0EQ0
+	StandardInterruptEntry INTCB0R
+	StandardInterruptEntry INTCB0T
+	StandardInterruptEntry INTCB1R
+	StandardInterruptEntry INTCB1T
+	StandardInterruptEntry INTCB2R
+	StandardInterruptEntry INTCB2T
+	StandardInterruptEntry INTCB3R
+	StandardInterruptEntry INTCB3T
+#ifdef DEBUGGER
+INTUA0R:
+	.org 0x0310
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+	.long 0xFFFFFFFF
+#else
+	StandardInterruptEntry INTUA0R
+#endif
+	StandardInterruptEntry INTUA1R
+	StandardInterruptEntry INTUA1T
+	StandardInterruptEntry INTUA2R
+	StandardInterruptEntry INTUA2T
+	StandardInterruptEntry INTAD
+	StandardInterruptEntry INTDMA0
+	StandardInterruptEntry INTDMA1
+	StandardInterruptEntry INTDMA2
+	StandardInterruptEntry INTDMA3
+	StandardInterruptEntry INTKR
+	StandardInterruptEntry INTWTI 
+	StandardInterruptEntry INTWT
+
+/*
+ * è©ä¾¡ç¨é«æ§è½?ã¿ã¤ã
+ *  dummy
+ */
+ 	.text
+	.align 4
+	.globl _vxget_tim
+_vxget_tim:
+	jmp	r31
+
+
+#ifdef DEBUGGER
+	.section MonitorROM, "ax"
+__monitor:
+        .rept	(512)
+        .long	0xFFFFFFFF
+        .endr
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/sys_unrename.h	(revision 26)
@@ -0,0 +1,27 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#undef sys_initialize
+
+#undef sys_exit
+
+#undef hardware_init_hook
+
+#undef sys_putc
+
+
+#ifdef LABEL_ASM
+
+#undef _sys_initialize
+
+#undef _sys_exit
+
+#undef _hardware_init_hook
+
+#undef _sys_putc
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/v850elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/v850elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/cq_d70f3716gc/v850elf.ld	(revision 26)
@@ -0,0 +1,123 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+OUTPUT_FORMAT("elf32-v850","elf32-v850","elf32-v850")
+OUTPUT_ARCH(v850E)
+
+STARTUP(start.o)
+
+/* V850ES/JG2 (24KB-RAM)ç¨ã®ã¡ã¢ãª */
+
+MEMORY
+{
+	INTROM(raxi) : org = 0x00000000, len = 254k
+	MON(raxi) : org = 0x0003F800, len = 2k
+	INTRAM(wax)  : org = 0x03ff9000, len = 24k
+};
+
+PROVIDE(__stack = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS
+{
+	.vector : AT(0)
+	{
+		*(.vectors)
+	} > INTROM
+
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+        _etext = . ;
+    } > INTROM
+ 
+	. = ALIGN(4);
+    .rodata : { *(.rodata) } > INTROM
+
+	_textend = .;
+
+    MonitorROM : { *(MonitorROM) } > MON
+
+	. = ALIGN(4);
+    __idata_start = . ;
+
+    .data   :  AT(__idata_start) 
+    {
+		. = ALIGN(4);
+        __data_start = . ;
+        *(.data)
+		. = ALIGN(4);
+        _edata  =  . ;
+    } > INTRAM
+
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    .bss       :
+    {
+      . = ALIGN(4);
+      __bss_start = .;
+      *(.bss)
+      *(COMMON)
+      . = ALIGN(4);
+      _end = .;
+    } > INTRAM
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/makeoffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/makeoffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/makeoffset.c	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: makeoffset.c,v 1.8 2007/01/05 02:10:17 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+
+#undef  offsetof
+#define	offsetof(structure, field) \
+			((INT) &(((structure *) 0)->field))
+
+#define OFFSET_DEF(TYPE, FIELD)						\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)				\
+	Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"			\
+	  : /* no output */						\
+	  : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset(void)
+{
+	OFFSET_DEF(TCB, tinib);
+	OFFSET_DEF(TINIB, task);
+	OFFSET_DEF(TINIB, exinf);
+	OFFSET_DEF (TCB, texptn);
+	OFFSET_DEF2(TCB, tskctxb.sp, sp);
+	OFFSET_DEF2(TCB, tskctxb.psw, psw);
+	OFFSET_DEF2(TCB, tskctxb.pc, pc);
+}
+
+UW	BIT_REF_4 = 0x12345678;
+UH	BIT_REF_2 = 0x1234;
+UB	BIT_REF_1 = 0x12;
+
+TCB	BIT_LB_TCB_enatex = {
+		{ NULL, NULL }, NULL, 0, 0,
+		FALSE, FALSE, TRUE,
+		0, NULL, { 0, 0, NULL }
+	};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/start.S	(revision 26)
@@ -0,0 +1,145 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S,v 1.9 2007/01/05 02:10:17 honda Exp $
+ */
+
+#define	_MACRO_ONLY
+#include "sys_config.h"
+#include "v850asm.inc"
+#include "offset.h"
+
+
+/*
+ *	V850ç¨ã¹ã¿ã¼ãã¢ãããã¡ã¤ã«
+ */
+
+Function start
+	di
+
+	/*
+	 * ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+	 */
+	mov	r0, r2
+	Lea	STACKTOP, r3
+
+	/*
+	 *  hardware_init_hook ã®å¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+	 *  ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æããï¼
+	 */
+
+	Lea	hardware_init_hook, r1
+	cmp	r1, r0
+	bz	1f
+	jarl	hardware_init_hook, r31
+1:
+
+
+	/*
+	 *  bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
+	 *   ã¢ã©ã¤ã³ããã¦ããã®ã§4ãã¤è¡ã
+	 */
+
+	Lea	__bss_start, ep
+	Lea	_end, r6
+	Lea	1f, r31
+1:
+	cmp	ep, r6
+	be	1f
+	sst.w	r0, 0[ep]
+	add	4, ep
+	jmp	r31
+1:
+
+
+	/*
+	 *  dataã»ã¯ã·ã§ã³ã®åæåï¼ROMåå¯¾å¿ï¼
+	 *
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ããï¼
+	 */
+	Lea	__idata_start, r6
+	Lea	__idata_end,   r7
+	Lea	__data_start,  r8
+	Lea	1f, r31
+1:
+	cmp	r6, r7
+	be	1f
+	ld.w	0[r6], r9
+	st.w	r9, 0[r8]
+	add	4, r6
+	add	4, r8
+	jmp	r31
+1:
+
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+
+	Lea	software_init_hook, r1
+	cmp	r1, r1
+	bz	1f
+	jarl	software_init_hook, r31
+1:
+
+	/*
+	 *  ã«ã¼ãã«ãèµ·åããï¼
+	 */
+	jarl	_kernel_start, r31
+	halt
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_config.h	(revision 26)
@@ -0,0 +1,503 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_cpu_config.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+#ifndef _TINET_CPU_CONFIG_H_
+#define _TINET_CPU_CONFIG_H_
+
+/*
+ *  TCP/IP ã«é¢ããå®ç¾©
+ */
+
+/* TCP ã«é¢ããå®ç¾© */
+
+/*
+ *  MAX_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤
+ *
+ *    æ³¨æ: å¤æ´ãã¹ãã§ã¯ãªãã
+ */
+
+#define MAX_TCP_RCV_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+
+/*
+ *  MAX_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤
+ *
+ *    ç¸æãã MSS ãªãã·ã§ã³ã§ã»ã°ã¡ã³ããµã¤ãºãæå®ããã¦ãã
+ *    ãã®å¤ã§ãã»ã°ã¡ã³ããµã¤ãºãå¶éã§ããã
+ */
+
+#ifdef SUPPORT_PPP
+
+#define MAX_TCP_SND_SEG		(256 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))
+/*#define MAX_TCP_SND_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))*/
+/*#define MAX_TCP_SND_SEG		TCP_MSS*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+/*#define MAX_TCP_SND_SEG		(1024 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))*/
+#define MAX_TCP_SND_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+/*#define MAX_TCP_SND_SEG		TCP_MSS*/
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#define MAX_TCP_SND_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+
+#endif	/* of #ifdef SUPPORT_LOOP */
+
+/*
+ *  DEF_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤
+ *  DEF_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤
+ */
+
+#ifdef SUPPORT_PPP
+
+#define DEF_TCP_SND_SEG		MAX_TCP_SND_SEG
+
+#define DEF_TCP_RCV_SEG		(256 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))
+/*#define DEF_TCP_RCV_SEG		MAX_TCP_RCV_SEG*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+#define DEF_TCP_SND_SEG		MAX_TCP_SND_SEG
+
+/*#define DEF_TCP_RCV_SEG		(1024 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))*/
+#define DEF_TCP_RCV_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+/*#define DEF_TCP_RCV_SEG		TCP_MSS*/
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#define DEF_TCP_SND_SEG		MAX_TCP_SND_SEG
+#define DEF_TCP_RCV_SEG		(IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
+
+#endif	/* of #ifdef SUPPORT_LOOP */
+
+/* 
+ *  ã»ã°ã¡ã³ãã®é çªãå
+¥ãæ¿ããã¨ãã«æ°ãã«ãããã¯ã¼ã¯ãããã¡ãå²å½ã¦ã¦ã
+ *  ãã¼ã¿ãã³ãã¼ãããµã¤ãºã®ãããå¤
+ */
+#define MAX_TCP_REALLOC_SIZE	1024	
+
+#define TMO_TCP_GET_NET_BUF	1000	/* [ms]ãnet_buf ç²å¾ã¿ã¤ã ã¢ã¦ã		*/
+#define TMO_TCP_OUTPUT		1000	/* [ms]ãTCP åºåã¿ã¤ã ã¢ã¦ã			*/
+
+#define TCP_CFG_OPT_MSS		/* ã³ãã¯ã·ã§ã³éè¨­æã«ãã»ã°ã¡ã³ããµã¤ãºãªãã·ã§ã³ãã¤ãã¦éä¿¡ããã*/
+#define TCP_CFG_DELAY_ACK	/* ACK ãé
+ãããã¨ãã¯ã³ã¡ã³ããå¤ãã			*/
+#define TCP_CFG_ALWAYS_KEEP	/* å¸¸ã«ã­ã¼ãã¢ã©ã¤ãããæã¯ã³ã¡ã³ããå¤ãã		*/
+
+/*
+ *  åºåã¿ã¹ã¯
+ */
+
+#define	TCP_OUT_TASK_STACK_SIZE	1024	/* TCP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+#define TCP_OUT_TASK_PRIORITY	5	/* TCP åºåã¿ã¹ã¯ã®åªå
+åº¦			*/
+
+/* UDP ã«é¢ããå®ç¾© */
+
+					/* UDP åä¿¡ã­ã¥ã¼ãµã¤ãº				*/
+#define NUM_DTQ_UDP_RCVQ	(NUM_MPF_NET_BUF_IF_PDU-1)	/* éã³ã¼ã«ããã¯ç¨	*/
+#define NUM_DTQ_UDP_CB_RCVQ	(NUM_DTQ_UDP_RCVQ+1)		/* ã³ã¼ã«ããã¯ç¨	*/
+
+#define TMO_UDP_OUTPUT	10000		/* [ms]ãUDP åºåã¿ã¤ã ã¢ã¦ã			*/
+
+#define UDP_CFG_IN_CHECKSUM	/* UDP ã®å
+¥åãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+#define UDP_CFG_OUT_CHECKSUM	/* UDP ã®åºåãã§ãã¯ãµã ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã	*/
+
+/*
+ *  ãã³ãã­ãã­ã³ã°ã³ã¼ã«ãè¡ãå ´åã«çµã¿è¾¼ãã¿ã¹ã¯ã¨ãã¼ã¿ã­ã¥ã¼
+ */
+
+#define NUM_DTQ_UDP_OUTPUT	1	/* UDP åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº			*/
+#define	UDP_OUT_TASK_STACK_SIZE	1024	/* UDP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº			*/
+#define UDP_OUT_TASK_PRIORITY	5	/* UDP åºåã¿ã¹ã¯ã®åªå
+åº¦				*/
+
+/* ICMPv4/v6 ã«é¢ããå®ç¾© */
+
+#define ICMP_REPLY_ERROR		/* ICMP ã¨ã©ã¼ã¡ãã»ã¼ã¸ãéä¿¡ããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+#define TMO_ICMP_OUTPUT		1000	/* [ms]ãICMP åºåãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+
+/* IPv4/IPv6 å
+±éå®ç¾© */
+
+#define TMO_IN_REDIRECT	(10*60*1000)	/* [ms]ãåãç´ãã«ã¼ãã£ã³ã°ã¨ã³ããªã¿ã¤ã ã¢ã¦ã	*/
+
+/* IPv4 ã«é¢ããå®ç¾© */
+
+/*#define IP4_CFG_FRAGMENT		 ãã¼ã¿ã°ã©ã ã®åå²ã»åæ§æè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã*/
+#define NUM_IP4_FRAG_QUEUE	2	/* ãã¼ã¿ã°ã©ã åæ§æã­ã¥ã¼ãµã¤ãº			*/
+#define TMO_IP4_FRAG_GET_NET_BUF	1000	/* [ms]ãnet_buf ç²å¾ã¿ã¤ã ã¢ã¦ã		*/
+
+/* IPv6 ã«é¢ããå®ç¾© */
+
+#ifdef SUPPORT_ETHER
+
+#define IP6_CFG_AUTO_LINKLOCAL		/* ãªã³ã¯ã­ã¼ã«ã«ã¢ãã¬ã¹ã®èªåè¨­å®ãè¡ãå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#define NUM_IP6_DAD_COUNT	1	/* éè¤ã¢ãã¬ã¹æ¤åºã§éä¿¡ããè¿é£è¦è«ã®åæ°ã		*/
+					/*  0 ãæå®ããã¨ãéè¤ã¢ãã¬ã¹æ¤åºãè¡ããªãã	*/
+#define NUM_ND6_CACHE_ENTRY	10	/* è¿é£ã­ã£ãã·ã¥ã®ã¨ã³ããªæ°			*/
+
+#ifdef SUPPORT_ETHER
+
+/*
+ *  ãã£ãã©ã«ãã«ã¼ã¿ãªã¹ãã®ã¨ã³ããªæ°ã
+ *  0 ãæå®ããã¨ã«ã¼ã¿éç¥ãåä¿¡ããªãã
+ */
+#define NUM_ND6_DEF_RTR_ENTRY	2
+
+/*
+ *  èµ·åæã®ã«ã¼ã¿è¦è«åºååæ°ã
+ *  0 ãæå®ããã¨ã«ã¼ã¿è¦è«ãåºåããªãã
+ */
+#define NUM_ND6_RTR_SOL_RETRY	3	
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#define TMO_ND6_NS_OUTPUT	1000	/* [ms]ãè¿é£è¦è«åºåã¿ã¤ã ã¢ã¦ã		*/
+#define TMO_ND6_NA_OUTPUT	1000	/* [ms]ãè¿é£éç¥åºåã¿ã¤ã ã¢ã¦ã		*/
+#define TMO_ND6_RS_OUTPUT	1000	/* [ms]ãã«ã¼ã¿è¦è«åºåã¿ã¤ã ã¢ã¦ã		*/
+#define TMO_ND6_RTR_SOL_DELAY	1000	/* [ms]ãã«ã¼ã¿è¦è«åºåé
+å»¶			*/
+#define TMO_ND6_RTR_SOL_INTERVAL	\
+				3000	/* [ms]ãã«ã¼ã¿è¦è«åºåéé			*/
+
+/*
+ *  ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  PPP ã«é¢ããå®ç¾©
+ */
+
+#define NUM_DTQ_PPP_OUTPUT	2	/* PPP åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãºã2 ä»¥ä¸	*/
+
+#define	PPP_INPUT_STACK_SIZE	1024	/* PPP ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+#define	PPP_OUTPUT_STACK_SIZE	1024	/* PPP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº		*/
+
+#define PPP_INPUT_PRIORITY	5	/* PPP ã¿ã¹ã¯ã®åªå
+åº¦			*/
+#define PPP_OUTPUT_PRIORITY	5	/* PPP ã¿ã¹ã¯ã®åªå
+åº¦			*/
+
+#define TMO_PPP_GET_NET_BUF	1000	/* [ms]ãåä¿¡ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ *  PPPãã¢ãã ã«é¢ããå®ç¾©
+ */
+
+#define MODEM_CFG_DIAL		"ATD"	/* ãã¤ã¢ã«ã³ãã³ãæå­å			*/
+#define MODEM_CFG_RETRY_CNT	3	/* ãã¤ã¢ã«ãªãã©ã¤åæ°			*/
+#define MODEM_CFG_RETRY_WAIT	10000	/* ãã¤ã¢ã«ãªãã©ã¤ã¾ã§ã®å¾
+ã¡æé [ms]	*/
+
+/*
+ *  PPPãHDLC ã«é¢ããå®ç¾©
+ */
+
+#define DEF_LOCAL_ACCM		0x000a0000	/* èªåã® ACCMãXON ã¨ XOFF ã®ã¿å¤æ	*/
+#define DEF_REMOTE_ACCM		0xffffffff	/* ç¸æã® ACCMãåæå¤ã¯å
+¨ã¦å¤æ		*/
+
+/*
+ *  PPPãLCP ã«é¢ããå®ç¾©
+ */
+
+#define LCP_CFG_MRU		0x0001	/* MRU					*/
+#define LCP_CFG_ACCM		0x0002	/* ACCM					*/
+#define LCP_CFG_MAGIC		0x0004	/* ãã¸ãã¯çªå·				*/
+#define LCP_CFG_PCOMP		0x0008	/* ãã­ãã³ã«é¨å§ç¸®æ©è½			*/
+#define LCP_CFG_ACCOMP		0x0010	/* ã¢ãã¬ã¹ã»å¶å¾¡é¨å§ç¸®			*/
+#define LCP_CFG_PAP		0x0020	/* PAP					*/
+/*#define LCP_CFG_CHAP		0x0040	   CHAP ã¯å®è£
+äºå®			*/
+
+#ifdef LCP_CFG_MAGIC
+
+#define LCP_ECHO_INTERVAL	(20*NET_TIMER_HZ)	/* ã¤ã³ã¿ã¼ãã«æé		*/
+#define LCP_ECHO_FAILS		9			/* å¤±æé¾å¤			*/
+
+#endif	/* of #ifdef LCP_CFG_MAGIC */
+
+/*
+ *  PPPãPAP ã«é¢ããå®ç¾©
+ */
+
+#define DEF_PAP_TIMEOUT		(3*NET_TIMER_HZ)
+#define DEF_PAP_REQTIME		(30*NET_TIMER_HZ)	/* ã¿ã¤ã ã¢ã¦ãå¦çãè¡ãã¨ãã¯ã³ã¡ã³ããå¤ãã*/
+#define MAX_PAP_REXMT		10			/* èªè¨¼è¦æ±ã®æå¤§åéåæ°	*/
+
+/*
+ *  ARP ã«é¢ããå®ç¾©
+ */
+
+#define NUM_ARP_ENTRY		10			/* ARP ã­ã£ãã·ã¥ã¨ã³ããªæ°	*/
+#define ARP_CACHE_KEEP		(20*60*NET_TIMER_HZ)	/* ARP ã­ã£ãã·ã¥ã®ã¿ã¤ã ã¢ã¦ã	*/
+#define TMO_ARP_GET_NET_BUF	1000	/* [ms]ãã¢ãã¬ã¹è§£æ±ºè¦æ±ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã*/
+#define TMO_ARP_OUTPUT		1000	/* [ms]ãã¢ãã¬ã¹è§£æ±ºè¦æ±åºåã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ *  DHCP ã«é¢ããå®ç¾©
+ *
+ *    ã»æ³¨æ: TINET ã¯ãDHCP ãå®è£
+ãã¦ããªããå¿ç¨ãã­ã°ã©ã ã§ã
+ *            DHCP ã¡ãã»ã¼ã¸ãåä¿¡ããããã®å®ç¾©ã§ããã
+ *            ã¾ããç¾å¨ã¯ IPv4 ã®ã¿æå¹ã§ããã
+ */
+
+/*#define DHCP_CFG					 DHCP ãå¦çããå ´åã¯ã³ã¡ã³ããå¤ãã*/
+
+/*
+ *  Ethernet ã«é¢ããå®ç¾©
+ */
+
+#define NUM_DTQ_ETHER_OUTPUT	2	/* Ethernet åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+
+#define	ETHER_INPUT_STACK_SIZE	1024	/* Ethernet å
+¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+#define	ETHER_OUTPUT_STACK_SIZE	1024	/* Ethernet åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+
+#define ETHER_INPUT_PRIORITY	5	/* Ethernet å
+¥åã¿ã¹ã¯ã®åªå
+åº¦		*/
+#define ETHER_OUTPUT_PRIORITY	5	/* Ethernet åºåã¿ã¹ã¯ã®åªå
+åº¦		*/
+
+/*#define ETHER_CFG_ACCEPT_ALL		 ãã«ãã­ã£ã¹ããã¨ã©ã¼ãã¬ã¼ã ãåä¿¡ããã¨ãã¯ã³ã¡ã³ããå¤ãã	*/
+/*#define ETHER_CFG_UNEXP_WARNING	 éãµãã¼ããã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_802_WARNING		 IEEE 802.3 ãã¬ã¼ã ã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+/*#define ETHER_CFG_MCAST_WARNING	 ãã«ãã­ã£ã¹ãã®è­¦åãè¡¨ç¤ºããã¨ãã¯ã³ã¡ã³ããå¤ãã		*/
+
+/*
+ *  ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã«é¢ããå®ç¾©
+ */
+
+#define LOMTU			1500	/* ã«ã¼ãããã¯ã® MTU			*/
+
+#define NUM_DTQ_LOOP_INPUT	0	/* ã«ã¼ãããã¯å
+¥åãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+#define NUM_DTQ_LOOP_OUTPUT	0	/* ã«ã¼ãããã¯åºåãã¼ã¿ã­ã¥ã¼ãµã¤ãº	*/
+
+#define	LOOP_INPUT_STACK_SIZE	1024	/* ã«ã¼ãããã¯å
+¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+#define	LOOP_OUTPUT_STACK_SIZE	1024	/* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº	*/
+
+#define LOOP_INPUT_PRIORITY	5	/* ã«ã¼ãããã¯å
+¥åã¿ã¹ã¯ã®åªå
+åº¦		*/
+#define LOOP_OUTPUT_PRIORITY	5	/* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®åªå
+åº¦		*/
+
+/*
+ *  ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ */
+
+#define	NET_TIMER_STACK_SIZE	1024	/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define NET_TIMER_PRIORITY	5	/* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®åªå
+åº¦ */
+
+#define NUM_NET_CALLOUT		10	/* ã¿ã¤ã ã¢ã¦ãå¼åºãæ°ã10 ä»¥ä¸	*/
+
+/* net_buf æ° */
+
+#ifdef SUPPORT_PPP
+
+/*
+ *  PPP ã§ã¯ãåä¿¡ç¨ã® net_buf ã¯ PDU (1502) ãµã¤ãºãå¸¸ã«
+ *  å²ãå½ã¦ãªããã°ãªããªãã®ã§ PDU ãµã¤ãºãå¤ãã«ç¢ºä¿ããã
+ *  128 ãµã¤ãºã® net_buf ã¯ãTCP ã»ã°ã¡ã³ãç¨ã«å¤ãã«ç¢ºä¿ããã
+ */
+
+#define NUM_MPF_NET_BUF_128	2	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#define NUM_MPF_NET_BUF_256	4	/* net_buf æ°ã256		*/
+#define NUM_MPF_NET_BUF_512	1	/* net_buf æ°ã512		*/
+#define NUM_MPF_NET_BUF_1024	1	/* net_buf æ°ã1024		*/
+#define NUM_MPF_NET_BUF_IF_PDU	1	/* net_buf æ°ãPDU		*/
+
+#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
+
+#ifndef NUM_MPF_NET_BUF_4096
+#define NUM_MPF_NET_BUF_4096	2	/* net_buf æ°ã4096		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_4096 */
+
+#endif	/* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+#ifdef SUPPORT_ETHER
+
+/*
+ *  ã¤ã¼ãµãããã§ã¯ãåä¿¡ç¨ã® net_buf ã¯ãNIC ã®ãããã¡ã«ãã
+ *  ãã¬ã¼ã é·ãè¦ã¦å²ãå½ã¦ãã°ããã
+ *  TCP ã®æå¤§ã»ã°ã¡ã³ããµã¤ãºã¯ 1024 ãªã¯ãããã® net_buf ã«èª¿æ´ããå ´åã¯ã
+ *  ãã®ãµã¤ãºã® net_buf ã¯å¤ãã«ç¢ºä¿ããã
+ *  128 ãµã¤ãºã® net_buf ããTCP ã®å¶å¾¡ã»ã°ã¡ã³ãç¨ã«å¤ãã«ç¢ºä¿ããã
+ */
+
+#ifndef NUM_MPF_NET_BUF_128
+#define NUM_MPF_NET_BUF_128	4	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_128 */
+
+#ifndef NUM_MPF_NET_BUF_256
+#define NUM_MPF_NET_BUF_256	2	/* net_buf æ°ã256		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_256 */
+
+#ifndef NUM_MPF_NET_BUF_512
+#define NUM_MPF_NET_BUF_512	2	/* net_buf æ°ã512		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_512 */
+
+#ifndef NUM_MPF_NET_BUF_1024
+#define NUM_MPF_NET_BUF_1024	2	/* net_buf æ°ã1024		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_1024 */
+
+#ifndef NUM_MPF_NET_BUF_IF_PDU
+#define NUM_MPF_NET_BUF_IF_PDU	4	/* net_buf æ°ãPDU		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
+
+#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
+
+#ifndef NUM_MPF_NET_BUF_4096
+#define NUM_MPF_NET_BUF_4096	2	/* net_buf æ°ã4096		*/
+#endif	/* of #ifndef NUM_MPF_NET_BUF_4096 */
+
+#endif	/* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
+
+#endif	/* of #ifdef SUPPORT_ETHER */
+
+#ifdef SUPPORT_LOOP
+
+#define NUM_MPF_NET_BUF_128	2	/* net_buf æ°ã128ã2 ä»¥ä¸	*/
+#define NUM_MPF_NET_BUF_256	2	/* net_buf æ°ã256		*/
+#define NUM_MPF_NET_BUF_512	2	/* net_buf æ°ã512		*/
+#define NUM_MPF_NET_BUF_1024	2	/* net_buf æ°ã1024		*/
+#define NUM_MPF_NET_BUF_IF_PDU	2	/* net_buf æ°ãPDU		*/
+
+#endif	/* of #ifdef SUPPORT_PPP */
+
+/*
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬
+ *
+ *  ãããã¯ã¼ã¯çµ±è¨æ
+å ±ã®è¨æ¸¬ãè¡ãå ´åã¯ãtinet/include/net/net.h
+ *  ã§å®ç¾©ããã¦ãããã­ãã³ã«è­å¥ãã©ã°ãæå®ããã
+ */
+
+#if 1
+
+#ifdef SUPPORT_INET4
+
+#define NET_COUNT_ENABLE	(0			\
+				| PROTO_FLG_PPP_HDLC	\
+				| PROTO_FLG_PPP_PAP	\
+				| PROTO_FLG_PPP_LCP	\
+				| PROTO_FLG_PPP_IPCP	\
+				| PROTO_FLG_PPP		\
+				| PROTO_FLG_LOOP	\
+				| PROTO_FLG_ETHER_NIC	\
+				| PROTO_FLG_ETHER	\
+				| PROTO_FLG_ARP		\
+				| PROTO_FLG_IP4		\
+				| PROTO_FLG_ICMP4	\
+				| PROTO_FLG_UDP		\
+				| PROTO_FLG_TCP		\
+				| PROTO_FLG_NET_BUF	\
+				)
+
+#endif	/* of #ifdef SUPPORT_INET4 */
+
+#ifdef SUPPORT_INET6
+
+#define NET_COUNT_ENABLE	(0			\
+				| PROTO_FLG_PPP_HDLC	\
+				| PROTO_FLG_PPP_PAP	\
+				| PROTO_FLG_PPP_LCP	\
+				| PROTO_FLG_PPP_IPCP	\
+				| PROTO_FLG_PPP		\
+				| PROTO_FLG_LOOP	\
+				| PROTO_FLG_ETHER_NIC	\
+				| PROTO_FLG_ETHER	\
+				| PROTO_FLG_IP6		\
+				| PROTO_FLG_ICMP6	\
+				| PROTO_FLG_ND6		\
+				| PROTO_FLG_UDP		\
+				| PROTO_FLG_TCP		\
+				| PROTO_FLG_NET_BUF	\
+				)
+
+#endif	/* of #ifdef SUPPORT_INET6 */
+
+#else	/* of #if 0 */
+
+#define NET_COUNT_ENABLE	(0			\
+				)
+
+#endif	/* of #if 0 */
+
+#endif /* _TINET_CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tinet_cpu_defs.h	(revision 26)
@@ -0,0 +1,71 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_cpu_defs.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+#ifndef _TINET_CPU_DEFS_H_
+#define _TINET_CPU_DEFS_H_
+
+/*
+ *  ãããã¯ã¼ã¯ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  CPU ã®ã¢ã©ã¤ã¡ã³ãã«é¢ããå®ç¾©
+ *
+ *  4 ãªã¯ãããåä½ã§ãã¢ã©ã¤ã³ããå¿
+è¦ãããå ´åã¯ 4 ãæå®ããã
+ */
+
+#define CPU_NET_ALIGN		4
+
+#endif /* _TINET_CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/Makefile.config	(revision 26)
@@ -0,0 +1,80 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  Copyright (C) 2005 by Freelines CO.,Ltd
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.4 2007/01/05 02:10:17 honda Exp $
+# 
+
+# 
+#  @(#) $Id: Makefile.config,v 1.4 2007/01/05 02:10:17 honda Exp $
+#
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼TK-850ES/KJ1+ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+CFLAGS := $(CFLAGS)
+LDFLAGS := $(LDFLAGS) -msoft-float
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/v850elf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.cfg	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.cfg,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ * SCI ãã©ã¤ã (V850ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_in2_handler  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_out2_handler });
+
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_serial.h	(revision 26)
@@ -0,0 +1,385 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.5 2007/05/21 01:28:28 honda Exp $
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼V850/KJ1+ å
+èµéåæã·ãªã¢ã«ch0/ch1ç¨ï¼
+ *   ãã¼ã¬ã¼ãè¨­å®ã¯SERIAL_COMPAREVALUEãå¤æ´ããã
+ *   ãã¼ã¿ãã©ã¼ãããã¯8bit data, non-parity, 1stop-bitåºå®
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+typedef struct sio_port_initialization_block {
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	int			port_id;	/* ãã¼ãçªå·(0ã) */
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+
+#define SERIAL_PORT				(CONSOLE_PORTID-1)		/* ã·ã¹ãã ã®ãã¼ãçªå· */
+#define SERIAL_INT_PRIORITY		1	/* å²ãè¾¼ã¿åªå
+åº¦ */
+#define SERIAL_CLKDIV			3	/* clk = fxx/8     */
+#define SERIAL_COMPAREVALUE		11	/* 9600bps=130, 19200bps=65, 38400bps=33, 57600bps=22, 115200bps=11 */
+
+/* ã·ãªã¢ã«é¢é£ã¬ã¸ã¹ã¿ */
+#define ASIM(x)  (ASIM0 + ((x) * 0x10))
+#define ASIS(x)  (ASIS0 + ((x) * 0x10))
+#define ASIF(x)  (ASIF0 + ((x) * 0x10))
+#define RXB(x)   (RXB0  + ((x) * 0x10))
+#define TXB(x)   (TXB0  + ((x) * 0x10))
+#define CKSR(x)  (CKSR0 + ((x) * 0x10))
+#define BRGC(x)  (BRGC0 + ((x) * 0x10))
+#define SRIC(x)  (SRIC0 + ((x) * 8))
+#define STIC(x)  (STIC0 + ((x) * 8))
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(0x19 + (SERIAL_PORT * 3))
+#define INHNO_SERIAL_OUT	(0x1a + (SERIAL_PORT * 3))
+
+/*
+ *  ä½ã¬ãã«ãã¼ãæ
+å ±ç®¡çãã­ãã¯ã®åæå¤
+ */
+
+#define NUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+#define FLG_RECEIVED 1
+#define FLG_TXRBUSY  2
+
+extern unsigned int _serial_flag[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+Inline BOOL
+hw_port_initialize(int port_id)
+{
+	if( (sil_reb_mem((VP)ASIM(port_id)) & 0x80) == 0 )
+	{
+	    	/* éåæã·ãªã¢ã«éä¿¡è·¯ã®åæå */
+
+		/* ãã¼ããéãã */
+		if (port_id == 0) {
+			sil_wrh_mem((VP)PMC3, sil_reh_mem((VP)PMC3) | 0x0003);
+		} else {
+			sil_wrh_mem((VP)PFC8, 0);
+			sil_wrh_mem((VP)PMC8, 3);
+		}
+		/* ãã¼ã¬ã¼ãçºçå¨ã®åæå */
+		sil_wrb_mem((VP)CKSR(port_id), SERIAL_CLKDIV);
+		sil_wrb_mem((VP)BRGC(port_id), SERIAL_COMPAREVALUE);
+		sil_wrb_mem((VP)ASIM(port_id), sil_reb_mem((VP)ASIM(port_id)) | 0x80);	/* enable ASIO */
+
+		__asm("nop; nop");
+
+		sil_wrb_mem((VP)ASIM(port_id), sil_reb_mem((VP)ASIM(port_id)) | 0x04);	/* 8bit length */
+
+		__asm("nop; nop");
+
+		sil_wrb_mem((VP)ASIM(port_id), sil_reb_mem((VP)ASIM(port_id)) | 0x60);	/* Tx, Rx enable */
+
+		/* å²è¾¼ã¿å¶å¾¡ */
+		sil_wrb_mem((VP)SRIC(port_id), SERIAL_INT_PRIORITY);
+		sil_wrb_mem((VP)STIC(port_id), SERIAL_INT_PRIORITY);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+hw_port_terminate(int port_id)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼åæ¹åç
+§ï¼
+ */
+extern void	serial_handler_in(int portid);
+extern void	serial_handler_out(int portid);
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+hw_port_getready(int port_id)
+{
+	return (_serial_flag[port_id] & FLG_RECEIVED) != 0 ? TRUE : FALSE;
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_port_putready(int port_id)
+{
+	return (sil_reb_mem((VP)ASIF(port_id)) & FLG_TXRBUSY) != 0 ? FALSE : TRUE;
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline unsigned char
+hw_port_getchar(int port_id)
+{
+	_serial_flag[port_id] &= ~FLG_RECEIVED;
+	sil_wrb_mem((VP)SRIC(port_id), sil_reb_mem((VP)SRIC(port_id)) & 0x7f);
+	return sil_reb_mem((VP)RXB(port_id));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+hw_port_putchar(int port_id, unsigned char c)
+{
+	sil_wrb_mem((VP)TXB(port_id), c);
+	_serial_flag[port_id] |= FLG_TXRBUSY;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿ï¼éä¿¡å¯è½ã«ãªãã¾ã§å¾
+ã¤ï¼
+ */
+Inline void
+hw_port_wait_putchar(int port_id, unsigned char c)
+{
+	while( !hw_port_putready(port_id) ) ;
+	hw_port_putchar(port_id, c);
+}
+
+/*
+ *  éä¿¡å¶å¾¡é¢æ°
+ */
+Inline void
+hw_port_sendstart(int port_id)
+{
+}
+
+Inline void
+hw_port_sendstop(int port_id)
+{
+}
+
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern void	sio_ierdy_snd(VP_INT exinf);
+
+Inline void
+hw_port_handler_in(int port_id)
+{
+	_serial_flag[port_id] |= FLG_RECEIVED;
+    sio_ierdy_rcv(siopcb_table[port_id].exinf);
+}
+
+Inline void
+hw_port_handler_out(int port_id)
+{
+	_serial_flag[port_id] &= ~FLG_TXRBUSY;
+	sio_ierdy_snd(siopcb_table[port_id].exinf);
+}
+
+/***********************************************************************************/
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+Inline void
+sio_initialize (void)
+{
+	int ix;
+
+	/* SIO ç®¡çãã­ãã¯ã®åæå */
+	for (ix = TNUM_PORT; ix -- > 0; ) {
+		siopcb_table[ix].openflag = FALSE;
+	}
+}
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	pcb->inib     = NULL;
+	pcb->exinf    = exinf;
+	pcb->openflag = TRUE;
+	pcb->port_id  = sioid-1;
+	hw_port_initialize(pcb->port_id);
+	return pcb;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *pcb, INT chr)
+{
+	if (hw_port_putready(pcb->port_id)) {
+		hw_port_putchar(pcb->port_id, (UB)chr);
+		return TRUE;
+		}
+	else
+		return FALSE;
+}
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *pcb)
+{
+	if (hw_port_getready(pcb->port_id))
+		return hw_port_getchar(pcb->port_id);
+	else
+		return -1;
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+Inline void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+Inline void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+	sio_dis_cbr(pcb, SIO_ERDY_SND);
+	sio_dis_cbr(pcb, SIO_ERDY_RCV);
+	pcb->openflag = FALSE;
+}
+
+Inline void
+sio_in_handler(void)
+{
+	hw_port_handler_in(0);
+}
+
+Inline void
+sio_out_handler(void)
+{
+	hw_port_handler_out(0);
+}
+
+#if TNUM_PORT > 1
+Inline void
+sio_in_handler2(void)
+{
+	hw_port_handler_in(1);
+}
+
+Inline void
+sio_out_handler2(void)
+{
+	hw_port_handler_out(1);
+}
+#endif
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/hw_timer.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼V850ES/KJ1+å
+èµã¿ã¤ã0-ch0(TM00)ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+
+/* ã·ã¹ãã ã¿ã¤ãã¼ã¯TM00ãä½¿ç¨ */
+#define	TIMER_INT_PRIORITY		0		/* å²ãè¾¼ã¿åªå
+åº¦(0ãæé«ã§7ãæä½) */
+#define	TIMER_COMPAREVALUE		((CPU_CLOCK>>1)/1000)		/* fx/2ã§1msecãä½ã */
+
+
+#define WAIT __asm("nop;nop;nop;nop");
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       (0x10)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)PRM00, 0);		/* fx/2 */
+	sil_wrh_mem((VP)CR000, TIMER_COMPAREVALUE);
+	sil_wrb_mem((VP)CRC00, 4);			/* CR0x0ãã­ã£ããã£ */
+	sil_wrb_mem((VP)TMC00, 0x0c);		/* ã­ã£ããã£ã§Clear&Start */
+
+	/* å²è¾¼ã¿è¦æ±ãè§£é¤ãã¤ã¤ãå²è¾¼ã¿è¨±å¯ã«ãã¦ãåªå
+åº¦ãè¨­å®ãã */
+	sil_wrb_mem((VP)TM0IC00, TIMER_INT_PRIORITY);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* å²è¾¼ã¿ããã¹ã¯ãã */
+	sil_wrb_mem((VP)TM0IC00, sil_reb_mem((VP)TM0IC00) | 0x40);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return sil_reb_mem((VP)TM00);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)TM0IC00) & 0x80) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.c	(revision 26)
@@ -0,0 +1,82 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.5 2007/05/21 01:28:28 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼TK-850ES/KJ1+ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#include "hw_serial.h"
+
+/*  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯ */
+SIOPCB siopcb_table[TNUM_PORT];
+unsigned int _serial_flag[TNUM_PORT] = { 0 };
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize()
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	kernel_abort();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_config.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼TK-850/KJ1+ç¨ å¤é¨SRAMãã¼ãä»ãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "v850es_kj1.h"
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"TK-850/KJ1+"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/* #define	SUPPORT_VXGET_TIM */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ */
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/* CPUåä½ã¯ã­ãã¯å¨æ³¢æ°ï¼20MHz(5MHzÃ4) */
+#define	CPU_CLOCK		20000000
+
+/* å²ãè¾¼ã¿è¦å ã®æ° */
+#define NUM_INTERRUPT	0x3B
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·ï¼KJ1+ã§ã¯1or2ã3ã¯å²ãè¾¼ã¿ãã¯ã¿ã¼ã®çªå°ãé£ãã§ããã®ã§ä¸å¯ï¼ */
+#define TNUM_PORT		1
+#define SEPARATE_SIO_INT	/* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å®äºå²ãè¾¼ã¿ãåºå¥ãããå²ãè¾¼ã¿ã«ãªã£ã¦ããã */
+#define	LOGTASK_PORTID		CONSOLE_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+Inline void
+sys_putc(char c)
+{
+	extern void cpu_putc(char c);
+	/* ROMã¢ãã¿ãªã©ã®ã³ã³ã½ã¼ã«ã¸ã¡ãã»ã¼ã¸åºåããä½ã¬ãã«é¢æ°ãæ³å®ãã¦ããã
+	   é¢åãªã®ã§ã·ã¹ãã ã®ã·ãªã¢ã«ãã¼ãã¸åºåãã */
+	cpu_putc(c);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_defs.h	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *    TK-850ES/KJ1+ uPD70F3318Y 20MHz(5MHzÃ4)
+ */
+
+#include "sys_config.h"
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno);
+extern ER	ena_int(INTNO intno);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+hardware_init_hook
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define hardware_init_hook		_kernel_hardware_init_hook
+
+
+#ifdef LABEL_ASM
+
+#define _hardware_init_hook		__kernel_hardware_init_hook
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_support.S	(revision 26)
@@ -0,0 +1,217 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼TK-850ES/KJ1+ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "v850asm.inc"
+
+#define Set(x,y,z) Lea x, r6; Lea y, r7; st.##z r7, 0[r6]
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+
+	.text
+	.globl hardware_init_hook
+hardware_init_hook:
+
+	/* ã·ã¹ãã ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼5MHzÃ4=20MHzæ */
+	Set(VSWC,  0x01,   b)
+	/* ä¿è­·ãããç¹å®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹
+	   ãã­ã»ããµã¯ã­ãã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ã¡ã¤ã³ã¯ã­ãã¯ã®fxxåºå(PCC=0) */
+	lea	PRCMD, r6
+	lea	PCC, r7
+	st.b	r0, 0[r6]
+	st.b	r0, 0[r7]
+	nop
+	nop
+	nop
+	nop
+	nop
+	Set(PLLCTL,0x03,   h)   /* PLLã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼PLLåä½ */
+	Set(WDTM2, 0x07,   b)   /* WDTM2 stop */
+#if 0
+	/* å¤é¨ãã¹ã®è¨­å®ï¼
+	     CS0ã«å¤é¨SRAMãå¢è¨­ããå ´åã®åèãããã§ã¯ãã¹ã¯ã»ãã¬ã¼ããã¹ã§ã
+	     12nsåã®SRAMã§0waitã§åä½ãããã¨ãä»®å®ããè¨­å®ã
+	 */
+	Set(EXIMC, 0x01,   b)	/* å¤é¨ãã¹ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ã»ãã¬ã¼ããã¹ */
+	Set(PMC9,  0xFFFF, h)	/* P9ã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼A0-A15åºå */
+	Set(PMCCS, 0x01,   b)	/* PCSã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼C0åºå */
+	Set(PMCCT, 0x53,   b)	/* PCTã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼RD/WR/ASTBåºå */
+	Set(PMCDH, 0xFF,   b)	/* PDHã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼A16-A23åºå */
+	Set(PMCDL, 0xFFFF, h)	/* PDLã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼AD0-AD15åºå */
+	Set(DWC0,  0x7770, h)	/* ãã¼ã¿ã¦ã§ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿ï¼CS0wait=0 */
+	Set(AWC,   0xFFFC, h)	/* ã¢ãã¬ã¹ã¦ã§ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿ï¼CS0wait=0 */
+	Set(BCC,   0xAAA8, h)	/* ãã¹ãµã¤ã¯ã«å¶å¾¡ã¬ã¸ã¹ã¿ï¼CS0wait=0 */
+#endif
+
+	jmp		r31
+
+
+
+	/* æ¨æºå²è¾¼ã¿å¦çã¨ã¹ãºã¼ãµã¼ */
+	.macro StandardInterruptEntry name
+	.globl \name
+\name:
+	jr	vector_handler
+	nop;nop;nop;nop;nop;nop
+	.endm
+
+	.macro ReservedInterruptEntry
+	nop;nop;nop;nop;nop;nop;nop;nop
+	.endm
+
+/*
+ * å²è¾¼ã¿ãã³ãã©é¨åã®å®ç¾©
+ * 		ã¨ããããä¸ç®æã«éããã
+ */
+
+	.section	".vectors","ax"
+	.align      4
+	.globl      __reset
+__reset:
+	jr	start
+	nop;nop;nop;nop;nop;nop
+
+	StandardInterruptEntry NMI
+	StandardInterruptEntry INTWDT1
+	StandardInterruptEntry INTWDT2
+	StandardInterruptEntry TRAP0
+	StandardInterruptEntry TRAP1
+	StandardInterruptEntry DBG
+/*#-------------------------------------------------------------------
+  #	SECURITY_ID
+  #-------------------------------------------------------------------*/
+/*	.section	"SECURITY_ID" */
+	.word	0xffffffff	/* --0-3 byte code,Address is 0x70-0x73 */
+	.word	0xffffffff	/* --4-7 byte code,Address is 0x74-0x77 */
+	.hword	0xffff		/* --8-9 byte code,Address is 0x78-0x79 */
+/*#-------------------------------------------------------------------
+  #	OPTION_BYTES
+  #-------------------------------------------------------------------*/
+/*	.section	"OPTION_BYTES" */
+	.hword	0x0000		/* --0-1 byte code,Address is 0x7a-0x7b */
+	.hword	0x0000		/* --2-3 byte code,Address is 0x7c-0x7d */
+	.hword	0x0000		/* --4-5 byte code,Address is 0x7e-0x7f */
+
+	StandardInterruptEntry INTWDTM1
+	StandardInterruptEntry INTP0
+	StandardInterruptEntry INTP1
+	StandardInterruptEntry INTP2
+	StandardInterruptEntry INTP3
+	StandardInterruptEntry INTP4
+	StandardInterruptEntry INTP5
+	StandardInterruptEntry INTP6
+	StandardInterruptEntry INTTM000
+	StandardInterruptEntry INTTM001
+	StandardInterruptEntry INTTM010
+	StandardInterruptEntry INTTM011
+	StandardInterruptEntry INTTM50
+	StandardInterruptEntry INTTM51
+	StandardInterruptEntry INTCSI00
+	StandardInterruptEntry INTCSI01
+	StandardInterruptEntry INTSRE0
+	StandardInterruptEntry INTSR0
+	StandardInterruptEntry INTST0
+	StandardInterruptEntry INTSRE1
+	StandardInterruptEntry INTSR1
+	StandardInterruptEntry INTST1
+	StandardInterruptEntry INTTMH0
+	StandardInterruptEntry INTTMH1
+	StandardInterruptEntry INTCSIA0
+	StandardInterruptEntry INTIIC0
+	StandardInterruptEntry INTAD
+	StandardInterruptEntry INTKR
+	StandardInterruptEntry INTWTI
+	StandardInterruptEntry INTWT
+	StandardInterruptEntry INTBRG
+	StandardInterruptEntry INTTM020
+	StandardInterruptEntry INTTM021
+	StandardInterruptEntry INTTM030
+	StandardInterruptEntry INTTM031
+	StandardInterruptEntry INTCSIA1
+	StandardInterruptEntry INTTM040
+	StandardInterruptEntry INTTM041
+	StandardInterruptEntry INTTM050
+	StandardInterruptEntry INTTM051
+	StandardInterruptEntry INTCSI02
+	StandardInterruptEntry INTSRE2
+	StandardInterruptEntry INTSR2
+	StandardInterruptEntry INTST2
+	StandardInterruptEntry INTIIC1
+	ReservedInterruptEntry 
+	ReservedInterruptEntry 
+	ReservedInterruptEntry 
+	ReservedInterruptEntry 
+	ReservedInterruptEntry 
+	StandardInterruptEntry INTTP0OV
+	StandardInterruptEntry INTTP0CC0
+	StandardInterruptEntry INTTP0CC1
+
+/*
+ * è©ä¾¡ç¨é«æ§è½?ã¿ã¤ã
+ *  (ä»åã¯è©ä¾¡ç¨ããªã¼ã©ã³ãã³ã°ã¿ã¤ããä½ããã«ç´æ¥ã¿ã¤ãã«ã¦ã³ã¿ãã®ãã)
+ */
+Function _vxget_tim
+	Lea	TM00, r7
+	ld.h	0[r7], r8
+	st.w	r8, 0[r6]
+	mov	r0, r10
+	jmp	r31
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#undef hardware_init_hook
+
+
+#ifdef LABEL_ASM
+
+#undef _hardware_init_hook
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850elf.ld	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850elf.ld,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-v850","elf32-v850","elf32-v850")
+OUTPUT_ARCH(v850)
+
+/* V850ES/KJ1+ uPD70F3318Y(16KB-RAM)ç¨ã®ã¡ã¢ãª */
+
+MEMORY
+{
+	INTROM(raxi) : org = 0x00000000, len = 256k
+	INTRAM(wax)  : org = 0x03ffb000, len = 16k
+};
+
+PROVIDE(__stack = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS
+{
+	.vector : AT(0)
+	{
+		*(.vectors)
+	} > INTROM
+
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+        _etext = . ;
+    } > INTROM
+ 
+	. = ALIGN(4);
+    .rodata : { *(.rodata) } > INTROM
+
+	_textend = .;
+
+	. = ALIGN(4);
+    __idata_start = . ;
+
+    .data   :  AT(__idata_start) 
+    {
+		. = ALIGN(4);
+        __data_start = . ;
+        *(.data)
+		. = ALIGN(4);
+        _edata  =  . ;
+    } > INTRAM
+
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    .bss       :
+    {
+      . = ALIGN(4);
+      __bss_start = .;
+      *(.bss)
+      *(COMMON)
+      . = ALIGN(4);
+      _end = .;
+    } > INTRAM
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850es_kj1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850es_kj1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_kj1/v850es_kj1.h	(revision 26)
@@ -0,0 +1,559 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850es_kj1.h,v 1.9 2007/03/23 08:20:08 honda Exp $
+ */
+
+#ifndef	_V850ES_KJ1_H_
+#define	_V850ES_KJ1_H_
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼V850ç¨ï¼
+ */
+#ifndef _MACRO_ONLY
+typedef unsigned char   byte;
+typedef unsigned short  word;
+typedef unsigned long   dword;
+typedef volatile byte   IOREG;
+typedef volatile word   HIOREG;
+typedef volatile dword  LIOREG;
+#endif /* _MACRO_ONLY */
+
+/*
+ * å
+èµRAM
+ */
+#define	IRAM_TOP	0x03FFB000		/* å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ */
+#define IRAM_SIZE	0x4000			/* å
+èµRAMã®å¤§ãã 16Kbyte(uPD70F3318Y) */
+/*
+ * å
+èµFlashROM
+ */
+#define	IROM_TOP	0x0000000		/* å
+èµFlashROMã®å
+é ­ã¢ãã¬ã¹ */
+#define IROM_SIZE	0x40000			/* å
+èµFlashROMã®å¤§ãã 256Kbyte(uPD70F3318Y) */
+
+/* 
+ * V850ES/KJ1ã®IOã¬ã¸ã¹ã¿å®ç¾©
+ */
+#define	PDL			0xFFFFF004		/* ãã¼ãDLã¬ã¸ã¹ã¿(0x0000) */
+#define	PDLL		0xFFFFF004		/* ãã¼ãDLã¬ã¸ã¹ã¿L(0x00) */
+#define	PDLH		0xFFFFF005		/* ãã¼ãDLã¬ã¸ã¹ã¿(0x00) */
+#define	PDH			0xFFFFF006		/* ãã¼ãDHã¬ã¸ã¹ã¿(0x00) */
+#define	PCS			0xFFFFF008		/* ãã¼ãCSã¬ã¸ã¹ã¿(0x00) */
+#define	PCT			0xFFFFF00A		/* ãã¼ãCTã¬ã¸ã¹ã¿(0x00) */
+#define	PCM			0xFFFFF00C		/* ãã¼ãCMã¬ã¸ã¹ã¿(0x00) */
+#define	PCD			0xFFFFF00E		/* ãã¼ãCDã¬ã¸ã¹ã¿(0x00) */
+#define	PMDL		0xFFFFF024		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	PMDLL		0xFFFFF024		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMDLH		0xFFFFF025		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMDH		0xFFFFF026		/* ãã¼ãDHã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMCS		0xFFFFF028		/* ãã¼ãCSã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMCT		0xFFFFF02A		/* ãã¼ãCTã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMCM		0xFFFFF02C		/* ãã¼ãCMã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMCD		0xFFFFF02E		/* ãã¼ãCDã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMCDL		0xFFFFF044		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PMCDLL		0xFFFFF044		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMCDLH		0xFFFFF045		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMCDH		0xFFFFF046		/* ãã¼ãDHã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMCCS		0xFFFFF048		/* ãã¼ãCSã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMCCT		0xFFFFF04A		/* ãã¼ãCTã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMCCM		0xFFFFF04C		/* ãã¼ãCMã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	BSC			0xFFFFF066		/* ãã¹ã»ãµã¤ãºã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x5555) */
+#define	VSWC		0xFFFFF06E		/* ã·ã¹ãã ã»ã¦ã¨ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x77) */
+#define	IMR0		0xFFFFF100		/* å²ãè¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	IMR0L		0xFFFFF100		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿0(0xFF) */
+#define	IMR0H		0xFFFFF101		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿0(0xFF) */
+#define	IMR1		0xFFFFF102		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	IMR1L		0xFFFFF102		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿1(0xFF) */
+#define	IMR1H		0xFFFFF103		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿1(0xFF) */
+#define	IMR2		0xFFFFF104		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	IMR2L		0xFFFFF104		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿2(0xFF) */
+#define	IMR2H		0xFFFFF105		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿2(0xFF) */
+#define	IMR3		0xFFFFF106		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	IMR3L		0xFFFFF106		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿3(0xFF) */
+#define	WDT1IC		0xFFFFF110		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC0		0xFFFFF112		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC1		0xFFFFF114		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC2		0xFFFFF116		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC3		0xFFFFF118		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC4		0xFFFFF11A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC5		0xFFFFF11C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	PIC6		0xFFFFF11E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC00		0xFFFFF120		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC01		0xFFFFF122		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC10		0xFFFFF124		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC11		0xFFFFF126		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM5IC0		0xFFFFF128		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM5IC1		0xFFFFF12A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	CSI0IC0		0xFFFFF12C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	CSI0IC1		0xFFFFF12E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SREIC0		0xFFFFF130		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SRIC0		0xFFFFF132		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	STIC0		0xFFFFF134		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SREIC1		0xFFFFF136		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SRIC1		0xFFFFF138		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	STIC1		0xFFFFF13A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TMHIC0		0xFFFFF13C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TMHIC1		0xFFFFF13E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	CSIAIC0		0xFFFFF140		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	IICIC0		0xFFFFF142		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	ADIC		0xFFFFF144		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	KRIC		0xFFFFF146		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	WTIIC		0xFFFFF148		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	WTIC		0xFFFFF14A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	BRGIC		0xFFFFF14C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC20		0xFFFFF14E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC21		0xFFFFF150		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC30		0xFFFFF152		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC31		0xFFFFF154		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	CSIAIC1		0xFFFFF156		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC40		0xFFFFF158		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC41		0xFFFFF15A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC50		0xFFFFF15C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TM0IC51		0xFFFFF15E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	CSI0IC2		0xFFFFF160		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SREIC2		0xFFFFF162		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	SRIC2		0xFFFFF164		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	STIC2		0xFFFFF166		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	IICIC1		0xFFFFF168		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TP0OVIC		0xFFFFF174		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TP0CCIC0	0xFFFFF176		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	TP0CCIC1	0xFFFFF178		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿(0x47) */
+#define	ISPR		0xFFFFF1FA		/* ã¤ã³ãµã¼ãã¹ã»ãã©ã¤ãªãªãã£ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PRCMD		0xFFFFF1FC		/* ã³ãã³ãã»ã¬ã¸ã¹ã¿(ä¸å®) */
+#define	PSC			0xFFFFF1FE		/* ãã¯ã¼ã»ã»ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	ADM			0xFFFFF200		/* A/Dã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	ADS			0xFFFFF201		/* ã¢ãã­ã°å
+¥åãã£ãã«æå®ã¬ã¸ã¹ã¿(0x00) */
+#define	PFM			0xFFFFF202		/* ãã¯ã¼ã»ãã§ã¤ã«æ¯è¼ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFT			0xFFFFF203		/* ãã¯ã¼ã»ãã§ã¤ã«æ¯è¼ãããå¤ã¬ã¸ã¹ã¿(0x00) */
+#define	ADCR		0xFFFFF204		/* A/Då¤æçµæã¬ã¸ã¹ã¿(ä¸å®) */
+#define	ADCRH		0xFFFFF205		/* A/Då¤æçµæã¬ã¸ã¹ã¿(ä¸å®) */
+#define	DACS0		0xFFFFF280		/* D/Aå¤æå¤è¨­å®ã¬ã¸ã¹ã¿(0x00) */
+#define	DACS1		0xFFFFF282		/* D/Aå¤æå¤è¨­å®ã¬ã¸ã¹ã¿(0x00) */
+#define	DAM			0xFFFFF284		/* D/Aã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	KRM			0xFFFFF300		/* ã­ã¼ã»ãªã¿ã¼ã³ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	P0			0xFFFFF400		/* ãã¼ã0ã¬ã¸ã¹ã¿(0x00) */
+#define	P1			0xFFFFF402		/* ãã¼ã1ã¬ã¸ã¹ã¿(0x00) */
+#define	P3			0xFFFFF406		/* ãã¼ã3ã¬ã¸ã¹ã¿(0x0000) */
+#define	P3L			0xFFFFF406		/* ãã¼ã3ã¬ã¸ã¹ã¿(0x00) */
+#define	P3H			0xFFFFF407		/* ãã¼ã3ã¬ã¸ã¹ã¿(0x00) */
+#define	P4			0xFFFFF408		/* ãã¼ã4ã¬ã¸ã¹ã¿(0x00) */
+#define	P5			0xFFFFF40A		/* ãã¼ã5ã¬ã¸ã¹ã¿(0x00) */
+#define	P6			0xFFFFF40C		/* ãã¼ã6ã¬ã¸ã¹ã¿(0x0000) */
+#define	P6L			0xFFFFF40C		/* ãã¼ã6ã¬ã¸ã¹ã¿(0x00) */
+#define	P6H			0xFFFFF40D		/* ãã¼ã6ã¬ã¸ã¹ã¿(0x00) */
+#define	P7			0xFFFFF40E		/* ãã¼ã7ã¬ã¸ã¹ã¿(ä¸å®) */
+#define	P7L			0xFFFFF40E		/* ãã¼ã7ã¬ã¸ã¹ã¿(ä¸å®) */
+#define	P7H			0xFFFFF40F		/* ãã¼ã7ã¬ã¸ã¹ã¿(ä¸å®) */
+#define	P8			0xFFFFF410		/* ãã¼ã8ã¬ã¸ã¹ã¿(0x00) */
+#define	P9			0xFFFFF412		/* ãã¼ã9ã¬ã¸ã¹ã¿(0x0000) */
+#define	P9L			0xFFFFF412		/* ãã¼ã9ã¬ã¸ã¹ã¿(0x00) */
+#define	P9H			0xFFFFF413		/* ãã¼ã9ã¬ã¸ã¹ã¿(0x00) */
+#define	PM0			0xFFFFF420		/* ãã¼ã0ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM1			0xFFFFF422		/* ãã¼ã1ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM3			0xFFFFF426		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	PM3L		0xFFFFF426		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM3H		0xFFFFF427		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM4			0xFFFFF428		/* ãã¼ã4ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM5			0xFFFFF42A		/* ãã¼ã5ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM6			0xFFFFF42C		/* ãã¼ã6ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	PM6L		0xFFFFF42C		/* ãã¼ã6ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM6H		0xFFFFF42D		/* ãã¼ã6ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM8			0xFFFFF430		/* ãã¼ã8ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM9			0xFFFFF432		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	PM9L		0xFFFFF432		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PM9H		0xFFFFF433		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	PMC0		0xFFFFF440		/* ãã¼ã0ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC3		0xFFFFF446		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PMC3L		0xFFFFF446		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC3H		0xFFFFF447		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC4		0xFFFFF448		/* ãã¼ã4ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC5		0xFFFFF44A		/* ãã¼ã5ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC6		0xFFFFF44C		/* ãã¼ã6ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PMC6L		0xFFFFF44C		/* ãã¼ã6ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC6H		0xFFFFF44D		/* ãã¼ã6ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC8		0xFFFFF450		/* ãã¼ã8ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC9		0xFFFFF452		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PMC9L		0xFFFFF452		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PMC9H		0xFFFFF453		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC3		0xFFFFF466		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC5		0xFFFFF46A		/* ãã¼ã5ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC6H		0xFFFFF46D		/* ãã¼ã6ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC8		0xFFFFF470		/* ãã¼ã8ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC9		0xFFFFF472		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PFC9L		0xFFFFF472		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFC9H		0xFFFFF473		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	DWC0		0xFFFFF484		/* ãã¼ã¿ã»ã¦ã¨ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿(0x7777) */
+#define	AWC			0xFFFFF488		/* ã¢ãã¬ã¹ã»ã¦ã¨ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿(0xFFFF) */
+#define	BCC			0xFFFFF48A		/* ãã¹ã»ãµã¤ã¯ã«å¶å¾¡ã¬ã¸ã¹ã¿(0xAAAA) */
+#define	TMHMD0		0xFFFFF580		/* 8ãããã»ã¿ã¤ãHã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TMCYC0		0xFFFFF581		/* 8ãããã»ã¿ã¤ãHã­ã£ãªã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CMP00		0xFFFFF582		/* 8ãããã»ã¿ã¤ãHã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CMP01		0xFFFFF583		/* 8ãããã»ã¿ã¤ãHã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TMHMD1		0xFFFFF590		/* 8ãããã»ã¿ã¤ãHã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TMCYC1		0xFFFFF591		/* 8ãããã»ã¿ã¤ãHã­ã£ãªã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CMP10		0xFFFFF592		/* 8ãããã»ã¿ã¤ãHã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	CMP11		0xFFFFF593		/* 8ãããã»ã¿ã¤ãHã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	TP0CTL0		0xFFFFF5A0		/* TMP0å¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0CTL1		0xFFFFF5A1		/* TMP0å¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0IOC0		0xFFFFF5A2		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0IOC1		0xFFFFF5A3		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0IOC2		0xFFFFF5A4		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0OPT0		0xFFFFF5A5		/* TMP0ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TP0CCR0		0xFFFFF5A6		/* TMP0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	TP0CCR1		0xFFFFF5A8		/* TMP0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	TP0CNT		0xFFFFF5AA		/* TMP0ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	TM5			0xFFFFF5C0		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿(0x0000) */
+#define	TM50		0xFFFFF5C0		/* 8ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿5(0x00) */
+#define	TM51		0xFFFFF5C1		/* 8ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿5(0x00) */
+#define	CR5			0xFFFFF5C2		/* 16ãããã»ã¿ã¤ãã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	CR50		0xFFFFF5C2		/* 8ãããã»ã¿ã¤ãã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿5(0x00) */
+#define	CR51		0xFFFFF5C3		/* 8ãããã»ã¿ã¤ãã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿5(0x00) */
+#define	TCL5		0xFFFFF5C4		/* ã¿ã¤ãã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x0000) */
+#define	TCL50		0xFFFFF5C4		/* ã¿ã¤ãã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿5(0x00) */
+#define	TCL51		0xFFFFF5C5		/* ã¿ã¤ãã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿5(0x00) */
+#define	TMC5		0xFFFFF5C6		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	TMC50		0xFFFFF5C6		/* 8ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿5(0x00) */
+#define	TMC51		0xFFFFF5C7		/* 8ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿5(0x00) */
+#define	TM00		0xFFFFF600		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR000		0xFFFFF602		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿00(0x0000) */
+#define	CR001		0xFFFFF604		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿00(0x0000) */
+#define	TMC00		0xFFFFF606		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM00		0xFFFFF607		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC00		0xFFFFF608		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC00		0xFFFFF609		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TM01		0xFFFFF610		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR010		0xFFFFF612		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿01(0x0000) */
+#define	CR011		0xFFFFF614		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿01(0x0000) */
+#define	TMC01		0xFFFFF616		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM01		0xFFFFF617		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC01		0xFFFFF618		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC01		0xFFFFF619		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TM02		0xFFFFF620		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR020		0xFFFFF622		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿02(0x0000) */
+#define	CR021		0xFFFFF624		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿02(0x0000) */
+#define	TMC02		0xFFFFF626		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM02		0xFFFFF627		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC02		0xFFFFF628		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC02		0xFFFFF629		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TM03		0xFFFFF630		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR030		0xFFFFF632		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿03(0x0000) */
+#define	CR031		0xFFFFF634		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿03(0x0000) */
+#define	TMC03		0xFFFFF636		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM03		0xFFFFF637		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC03		0xFFFFF638		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC03		0xFFFFF639		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TM04		0xFFFFF640		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR040		0xFFFFF642		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿04(0x0000) */
+#define	CR041		0xFFFFF644		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿04(0x0000) */
+#define	TMC04		0xFFFFF646		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM04		0xFFFFF647		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC04		0xFFFFF648		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC04		0xFFFFF649		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TM05		0xFFFFF650		/* 16ãããã»ã¿ã¤ãã»ã«ã¦ã³ã¿0(0x0000) */
+#define	CR050		0xFFFFF652		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿05(0x0000) */
+#define	CR051		0xFFFFF654		/* 16ãããã»ã¿ã¤ãã»ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿05(0x0000) */
+#define	TMC05		0xFFFFF656		/* 16ãããã»ã¿ã¤ãã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	PRM05		0xFFFFF657		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CRC05		0xFFFFF658		/* ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	TOC05		0xFFFFF659		/* 16ãããã»ã¿ã¤ãåºåã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	WTM			0xFFFFF680		/* æè¨ã¿ã¤ãåä½ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	OSTS		0xFFFFF6C0		/* çºæ¯å®å®æéé¸æã¬ã¸ã¹ã¿(0x01) */
+#define	WDCS		0xFFFFF6C1		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	WDTM1		0xFFFFF6C2		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	WDTM2		0xFFFFF6D0		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x67) */
+#define	WDTE		0xFFFFF6D1		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿(0x9A) */
+#define	RTBL0		0xFFFFF6E0		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿L(0x00) */
+#define	RTBH0		0xFFFFF6E2		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿H(0x00) */
+#define	RTPM0		0xFFFFF6E4		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	RTPC0		0xFFFFF6E5		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	RTBL1		0xFFFFF6F0		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿L(0x00) */
+#define	RTBH1		0xFFFFF6F2		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿H(0x00) */
+#define	RTPM1		0xFFFFF6F4		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	RTPC1		0xFFFFF6F5		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PFCE3		0xFFFFF706		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿(0x00) */
+#define	SYS			0xFFFFF802		/* ã·ã¹ãã ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PLLCTL		0xFFFFF806		/* PLLã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x01) */
+#define	PSMR		0xFFFFF820		/* ãã¯ã¼ã»ã»ã¼ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PCC			0xFFFFF828		/* ãã­ã»ããµã»ã¯ã­ãã¯ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x03) */
+#define	CORAD0		0xFFFFF840		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00000000) */
+#define	CORAD0L		0xFFFFF840		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0(0x0000) */
+#define	CORAD0H		0xFFFFF842		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0(0x0000) */
+#define	CORAD1		0xFFFFF844		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00000000) */
+#define	CORAD1L		0xFFFFF844		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1(0x0000) */
+#define	CORAD1H		0xFFFFF846		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1(0x0000) */
+#define	CORAD2		0xFFFFF848		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00000000) */
+#define	CORAD2L		0xFFFFF848		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2(0x0000) */
+#define	CORAD2H		0xFFFFF84A		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2(0x0000) */
+#define	CORAD3		0xFFFFF84C		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00000000) */
+#define	CORAD3L		0xFFFFF84C		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3(0x0000) */
+#define	CORAD3H		0xFFFFF84E		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3(0x0000) */
+#define	CORCN		0xFFFFF880		/* ã³ã¬ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PRSM		0xFFFFF8B0		/* ã¤ã³ã¿ã¼ãã«ã»ã¿ã¤ãBRGã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PRSCM		0xFFFFF8B1		/* ã¤ã³ã¿ã¼ãã«ã»ã¿ã¤ãBRGã³ã³ãã¢ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	OCDM		0xFFFFF9FC		/* ãªã³ãããã»ãã£ãã°ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x01) */
+#define	ASIM0		0xFFFFFA00		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x01) */
+#define	RXB0		0xFFFFFA02		/* åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIS0		0xFFFFFA03		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TXB0		0xFFFFFA04		/* éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIF0		0xFFFFFA05		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CKSR0		0xFFFFFA06		/* ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	BRGC0		0xFFFFFA07		/* ãã¼ã»ã¬ã¼ãã»ã¸ã§ãã¬ã¼ã¿ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIM1		0xFFFFFA10		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x01) */
+#define	RXB1		0xFFFFFA12		/* åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIS1		0xFFFFFA13		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TXB1		0xFFFFFA14		/* éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIF1		0xFFFFFA15		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CKSR1		0xFFFFFA16		/* ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	BRGC1		0xFFFFFA17		/* ãã¼ã»ã¬ã¼ãã»ã¸ã§ãã¬ã¼ã¿ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIM2		0xFFFFFA20		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿(0x01) */
+#define	RXB2		0xFFFFFA22		/* åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIS2		0xFFFFFA23		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	TXB2		0xFFFFFA24		/* éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	ASIF2		0xFFFFFA25		/* ã¢ã·ã³ã¯ã­ãã¹ã»ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CKSR2		0xFFFFFA26		/* ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	BRGC2		0xFFFFFA27		/* ãã¼ã»ã¬ã¼ãã»ã¸ã§ãã¬ã¼ã¿ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0xFF) */
+#define	P0NFC		0xFFFFFB00		/* TIP00ãã¤ãºé¤å»å¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	P1NFC		0xFFFFFB04		/* TIP01ãã¤ãºé¤å»å¶å¾¡ã¬ã¸ã¹ã¿(0x00) */
+#define	INTF0		0xFFFFFC00		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿(0x00) */
+#define	INTF9H		0xFFFFFC13		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿9(0x00) */
+#define	INTR0		0xFFFFFC20		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿(0x00) */
+#define	INTR9H		0xFFFFFC33		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿9(0x00) */
+#define	PU0			0xFFFFFC40		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU1			0xFFFFFC42		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU3			0xFFFFFC46		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU4			0xFFFFFC48		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU5			0xFFFFFC4A		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU6			0xFFFFFC4C		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PU6L		0xFFFFFC4C		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿6(0x00) */
+#define	PU6H		0xFFFFFC4D		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿6(0x00) */
+#define	PU8			0xFFFFFC50		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PU9			0xFFFFFC52		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PU9L		0xFFFFFC52		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿9(0x00) */
+#define	PU9H		0xFFFFFC53		/* ãã«ã¢ããæµæãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿9(0x00) */
+#define	PF3H		0xFFFFFC67		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF4			0xFFFFFC68		/* ãã¼ã4ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF5			0xFFFFFC6A		/* ãã¼ã5ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF6			0xFFFFFC6C		/* ãã¼ã6ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	PF6L		0xFFFFFC6C		/* ãã¼ã6ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF6H		0xFFFFFC6D		/* ãã¼ã6ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF8			0xFFFFFC70		/* ãã¼ã8ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	PF9H		0xFFFFFC73		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIM00		0xFFFFFD00		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CSIC0		0xFFFFFD01		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	SIRB0		0xFFFFFD02		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRB0L		0xFFFFFD02		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	SOTB0		0xFFFFFD04		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTB0L		0xFFFFFD04		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	SIRBE0		0xFFFFFD06		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRBE0L		0xFFFFFD06		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	SOTBF0		0xFFFFFD08		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTBF0L		0xFFFFFD08		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	SIO00		0xFFFFFD0A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿(0x00) */
+#define	SIO00L		0xFFFFFD0A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿0(0x0000) */
+#define	CSIM01		0xFFFFFD10		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CSIC1		0xFFFFFD11		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	SIRB1		0xFFFFFD12		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRB1L		0xFFFFFD12		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	SOTB1		0xFFFFFD14		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTB1L		0xFFFFFD14		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	SIRBE1		0xFFFFFD16		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRBE1L		0xFFFFFD16		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	SOTBF1		0xFFFFFD18		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTBF1L		0xFFFFFD18		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿1(0x00) */
+#define	SIO01		0xFFFFFD1A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿(0x00) */
+#define	SIO01L		0xFFFFFD1A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿1(0x0000) */
+#define	CSIM02		0xFFFFFD20		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0(0x00) */
+#define	CSIC2		0xFFFFFD21		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	SIRB2		0xFFFFFD22		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRB2L		0xFFFFFD22		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿2(0x00) */
+#define	SOTB2		0xFFFFFD24		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTB2L		0xFFFFFD24		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹éä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿2(0x00) */
+#define	SIRBE2		0xFFFFFD26		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SIRBE2L		0xFFFFFD26		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ãªã¼ãå°ç¨åä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿2(0x00) */
+#define	SOTBF2		0xFFFFFD28		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿(0x0000) */
+#define	SOTBF2L		0xFFFFFD28		/* ã¯ã­ãã¯åæå¼ã·ãªã¢ã«ã»ã¤ã³ã¿ãã§ã¼ã¹åæ®µéä¿¡ãããã¡ã»ã¬ã¸ã¹ã¿2(0x00) */
+#define	SIO02		0xFFFFFD2A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿(0x00) */
+#define	SIO02L		0xFFFFFD2A		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿2(0x0000) */
+#define	CSIMA0		0xFFFFFD40		/* ã·ãªã¢ã«åä½ã¢ã¼ãæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIS0		0xFFFFFD41		/* ã·ãªã¢ã«ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIT0		0xFFFFFD42		/* ã·ãªã¢ã«ã»ããªã¬ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	BRGCA0		0xFFFFFD43		/* åå¨å¤é¸æã¬ã¸ã¹ã¿(0x03) */
+#define	ADTP0		0xFFFFFD44		/* èªåãã¼ã¿è»¢éã¢ãã¬ã¹ã»ãã¤ã³ãæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	ADTI0		0xFFFFFD45		/* èªåãã¼ã¿è»¢éééæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	SIOA0		0xFFFFFD46		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿A(0x00) */
+#define	ADTC0		0xFFFFFD47		/* èªåãã¼ã¿è»¢éã¢ãã¬ã¹ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIMA1		0xFFFFFD50		/* ã·ãªã¢ã«åä½ã¢ã¼ãæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIS1		0xFFFFFD51		/* ã·ãªã¢ã«ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIT1		0xFFFFFD52		/* ã·ãªã¢ã«ã»ããªã¬ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	BRGCA1		0xFFFFFD53		/* åå¨å¤é¸æã¬ã¸ã¹ã¿(0x03) */
+#define	ADTP1		0xFFFFFD54		/* èªåãã¼ã¿è»¢éã¢ãã¬ã¹ã»ãã¤ã³ãæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	ADTI1		0xFFFFFD55		/* èªåãã¼ã¿è»¢éééæå®ã¬ã¸ã¹ã¿(0x00) */
+#define	SIOA1		0xFFFFFD56		/* ã·ãªã¢ã«I/Oã·ããã»ã¬ã¸ã¹ã¿A(0x00) */
+#define	ADTC1		0xFFFFFD57		/* èªåãã¼ã¿è»¢éã¢ãã¬ã¹ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IIC0		0xFFFFFD80		/* IICã·ããã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IICC0		0xFFFFFD82		/* IICã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	SVA0		0xFFFFFD83		/* ã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IICCL0		0xFFFFFD84		/* IICã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	IICX0		0xFFFFFD85		/* IICæ©è½æ¡å¼µã¬ã¸ã¹ã¿(0x00) */
+#define	IICS0		0xFFFFFD86		/* IICç¶æ
+ã¬ã¸ã¹ã¿(0x00) */
+#define	IICF0		0xFFFFFD8A		/* IICãã©ã°ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IIC1		0xFFFFFD90		/* IICã·ããã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IICC01		0xFFFFFD92		/* IICã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	SVA01		0xFFFFFD93		/* ã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	IICCL01		0xFFFFFD94		/* IICã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿(0x00) */
+#define	IICX1		0xFFFFFD95		/* IICæ©è½æ¡å¼µã¬ã¸ã¹ã¿(0x00) */
+#define	IICS01		0xFFFFFD96		/* IICç¶æ
+ã¬ã¸ã¹ã¿(0x00) */
+#define	IICF1		0xFFFFFD9A		/* IICãã©ã°ã»ã¬ã¸ã¹ã¿(0x00) */
+#define	CSIA0B0		0xFFFFFE00		/* CSIA0ãããã¡RAM0(ä¸å®) */
+#define	CSIA0B0L	0xFFFFFE00		/* CSIA0ãããã¡RAM0L(ä¸å®) */
+#define	CSIA0B0H	0xFFFFFE01		/* CSIA0ãããã¡RAM0H(ä¸å®) */
+#define	CSIA0B1		0xFFFFFE02		/* CSIA0ãããã¡RAM1(ä¸å®) */
+#define	CSIA0B1L	0xFFFFFE02		/* CSIA0ãããã¡RAM1L(ä¸å®) */
+#define	CSIA0B1H	0xFFFFFE03		/* CSIA0ãããã¡RAM1H(ä¸å®) */
+#define	CSIA0B2		0xFFFFFE04		/* CSIA0ãããã¡RAM2(ä¸å®) */
+#define	CSIA0B2L	0xFFFFFE04		/* CSIA0ãããã¡RAM2L(ä¸å®) */
+#define	CSIA0B2H	0xFFFFFE05		/* CSIA0ãããã¡RAM2H(ä¸å®) */
+#define	CSIA0B3		0xFFFFFE06		/* CSIA0ãããã¡RAM3(ä¸å®) */
+#define	CSIA0B3L	0xFFFFFE06		/* CSIA0ãããã¡RAM3L(ä¸å®) */
+#define	CSIA0B3H	0xFFFFFE07		/* CSIA0ãããã¡RAM3H(ä¸å®) */
+#define	CSIA0B4		0xFFFFFE08		/* CSIA0ãããã¡RAM4(ä¸å®) */
+#define	CSIA0B4L	0xFFFFFE08		/* CSIA0ãããã¡RAM4L(ä¸å®) */
+#define	CSIA0B4H	0xFFFFFE09		/* CSIA0ãããã¡RAM4H(ä¸å®) */
+#define	CSIA0B5		0xFFFFFE0A		/* CSIA0ãããã¡RAM5(ä¸å®) */
+#define	CSIA0B5L	0xFFFFFE0A		/* CSIA0ãããã¡RAM5L(ä¸å®) */
+#define	CSIA0B5H	0xFFFFFE0B		/* CSIA0ãããã¡RAM5H(ä¸å®) */
+#define	CSIA0B6		0xFFFFFE0C		/* CSIA0ãããã¡RAM6(ä¸å®) */
+#define	CSIA0B6L	0xFFFFFE0C		/* CSIA0ãããã¡RAM6L(ä¸å®) */
+#define	CSIA0B6H	0xFFFFFE0D		/* CSIA0ãããã¡RAM6H(ä¸å®) */
+#define	CSIA0B7		0xFFFFFE0E		/* CSIA0ãããã¡RAM7(ä¸å®) */
+#define	CSIA0B7L	0xFFFFFE0E		/* CSIA0ãããã¡RAM7L(ä¸å®) */
+#define	CSIA0B7H	0xFFFFFE0F		/* CSIA0ãããã¡RAM7H(ä¸å®) */
+#define	CSIA0B8		0xFFFFFE10		/* CSIA0ãããã¡RAM8(ä¸å®) */
+#define	CSIA0B8L	0xFFFFFE10		/* CSIA0ãããã¡RAM8L(ä¸å®) */
+#define	CSIA0B8H	0xFFFFFE11		/* CSIA0ãããã¡RAM8H(ä¸å®) */
+#define	CSIA0B9		0xFFFFFE12		/* CSIA0ãããã¡RAM9(ä¸å®) */
+#define	CSIA0B9L	0xFFFFFE12		/* CSIA0ãããã¡RAM9L(ä¸å®) */
+#define	CSIA0B9H	0xFFFFFE13		/* CSIA0ãããã¡RAM9H(ä¸å®) */
+#define	CSIA0BA		0xFFFFFE14		/* CSIA0ãããã¡RAMA(ä¸å®) */
+#define	CSIA0BAL	0xFFFFFE14		/* CSIA0ãããã¡RAMAL(ä¸å®) */
+#define	CSIA0BAH	0xFFFFFE15		/* CSIA0ãããã¡RAMAH(ä¸å®) */
+#define	CSIA0BB		0xFFFFFE16		/* CSIA0ãããã¡RAMB(ä¸å®) */
+#define	CSIA0BBL	0xFFFFFE16		/* CSIA0ãããã¡RAMBL(ä¸å®) */
+#define	CSIA0BBH	0xFFFFFE17		/* CSIA0ãããã¡RAMBH(ä¸å®) */
+#define	CSIA0BC		0xFFFFFE18		/* CSIA0ãããã¡RAMC(ä¸å®) */
+#define	CSIA0BCL	0xFFFFFE18		/* CSIA0ãããã¡RAMCL(ä¸å®) */
+#define	CSIA0BCH	0xFFFFFE19		/* CSIA0ãããã¡RAMCH(ä¸å®) */
+#define	CSIA0BD		0xFFFFFE1A		/* CSIA0ãããã¡RAMD(ä¸å®) */
+#define	CSIA0BDL	0xFFFFFE1A		/* CSIA0ãããã¡RAMDL(ä¸å®) */
+#define	CSIA0BDH	0xFFFFFE1B		/* CSIA0ãããã¡RAMDH(ä¸å®) */
+#define	CSIA0BE		0xFFFFFE1C		/* CSIA0ãããã¡RAME(ä¸å®) */
+#define	CSIA0BEL	0xFFFFFE1C		/* CSIA0ãããã¡RAMEL(ä¸å®) */
+#define	CSIA0BEH	0xFFFFFE1D		/* CSIA0ãããã¡RAMEH(ä¸å®) */
+#define	CSIA0BF		0xFFFFFE1E		/* CSIA0ãããã¡RAMF(ä¸å®) */
+#define	CSIA0BFL	0xFFFFFE1E		/* CSIA0ãããã¡RAMFL(ä¸å®) */
+#define	CSIA0BFH	0xFFFFFE1F		/* CSIA0ãããã¡RAMFH(ä¸å®) */
+#define	CSIA1B0		0xFFFFFE20		/* CSIA1ãããã¡RAM0(ä¸å®) */
+#define	CSIA1B0L	0xFFFFFE20		/* CSIA1ãããã¡RAM0L(ä¸å®) */
+#define	CSIA1B0H	0xFFFFFE21		/* CSIA1ãããã¡RAM0H(ä¸å®) */
+#define	CSIA1B1		0xFFFFFE22		/* CSIA1ãããã¡RAM1(ä¸å®) */
+#define	CSIA1B1L	0xFFFFFE22		/* CSIA1ãããã¡RAM1L(ä¸å®) */
+#define	CSIA1B1H	0xFFFFFE23		/* CSIA1ãããã¡RAM1H(ä¸å®) */
+#define	CSIA1B2		0xFFFFFE24		/* CSIA1ãããã¡RAM2(ä¸å®) */
+#define	CSIA1B2L	0xFFFFFE24		/* CSIA1ãããã¡RAM2L(ä¸å®) */
+#define	CSIA1B2H	0xFFFFFE25		/* CSIA1ãããã¡RAM2H(ä¸å®) */
+#define	CSIA1B3		0xFFFFFE26		/* CSIA1ãããã¡RAM3(ä¸å®) */
+#define	CSIA1B3L	0xFFFFFE26		/* CSIA1ãããã¡RAM3L(ä¸å®) */
+#define	CSIA1B3H	0xFFFFFE27		/* CSIA1ãããã¡RAM3H(ä¸å®) */
+#define	CSIA1B4		0xFFFFFE28		/* CSIA1ãããã¡RAM4(ä¸å®) */
+#define	CSIA1B4L	0xFFFFFE28		/* CSIA1ãããã¡RAM4L(ä¸å®) */
+#define	CSIA1B4H	0xFFFFFE29		/* CSIA1ãããã¡RAM4H(ä¸å®) */
+#define	CSIA1B5		0xFFFFFE2A		/* CSIA1ãããã¡RAM5(ä¸å®) */
+#define	CSIA1B5L	0xFFFFFE2A		/* CSIA1ãããã¡RAM5L(ä¸å®) */
+#define	CSIA1B5H	0xFFFFFE2B		/* CSIA1ãããã¡RAM5H(ä¸å®) */
+#define	CSIA1B6		0xFFFFFE2C		/* CSIA1ãããã¡RAM6(ä¸å®) */
+#define	CSIA1B6L	0xFFFFFE2C		/* CSIA1ãããã¡RAM6L(ä¸å®) */
+#define	CSIA1B6H	0xFFFFFE2D		/* CSIA1ãããã¡RAM6H(ä¸å®) */
+#define	CSIA1B7		0xFFFFFE2E		/* CSIA1ãããã¡RAM7(ä¸å®) */
+#define	CSIA1B7L	0xFFFFFE2E		/* CSIA1ãããã¡RAM7L(ä¸å®) */
+#define	CSIA1B7H	0xFFFFFE2F		/* CSIA1ãããã¡RAM7H(ä¸å®) */
+#define	CSIA1B8		0xFFFFFE30		/* CSIA1ãããã¡RAM8(ä¸å®) */
+#define	CSIA1B8L	0xFFFFFE30		/* CSIA1ãããã¡RAM8L(ä¸å®) */
+#define	CSIA1B8H	0xFFFFFE31		/* CSIA1ãããã¡RAM8H(ä¸å®) */
+#define	CSIA1B9		0xFFFFFE32		/* CSIA1ãããã¡RAM9(ä¸å®) */
+#define	CSIA1B9L	0xFFFFFE32		/* CSIA1ãããã¡RAM9L(ä¸å®) */
+#define	CSIA1B9H	0xFFFFFE33		/* CSIA1ãããã¡RAM9H(ä¸å®) */
+#define	CSIA1BA		0xFFFFFE34		/* CSIA1ãããã¡RAMA(ä¸å®) */
+#define	CSIA1BAL	0xFFFFFE34		/* CSIA1ãããã¡RAMAL(ä¸å®) */
+#define	CSIA1BAH	0xFFFFFE35		/* CSIA1ãããã¡RAMAH(ä¸å®) */
+#define	CSIA1BB		0xFFFFFE36		/* CSIA1ãããã¡RAMB(ä¸å®) */
+#define	CSIA1BBL	0xFFFFFE36		/* CSIA1ãããã¡RAMBL(ä¸å®) */
+#define	CSIA1BBH	0xFFFFFE37		/* CSIA1ãããã¡RAMBH(ä¸å®) */
+#define	CSIA1BC		0xFFFFFE38		/* CSIA1ãããã¡RAMC(ä¸å®) */
+#define	CSIA1BCL	0xFFFFFE38		/* CSIA1ãããã¡RAMCL(ä¸å®) */
+#define	CSIA1BCH	0xFFFFFE39		/* CSIA1ãããã¡RAMCH(ä¸å®) */
+#define	CSIA1BD		0xFFFFFE3A		/* CSIA1ãããã¡RAMD(ä¸å®) */
+#define	CSIA1BDL	0xFFFFFE3A		/* CSIA1ãããã¡RAMDL(ä¸å®) */
+#define	CSIA1BDH	0xFFFFFE3B		/* CSIA1ãããã¡RAMDH(ä¸å®) */
+#define	CSIA1BE		0xFFFFFE3C		/* CSIA1ãããã¡RAME(ä¸å®) */
+#define	CSIA1BEL	0xFFFFFE3C		/* CSIA1ãããã¡RAMEL(ä¸å®) */
+#define	CSIA1BEH	0xFFFFFE3D		/* CSIA1ãããã¡RAMEH(ä¸å®) */
+#define	CSIA1BF		0xFFFFFE3E		/* CSIA1ãããã¡RAMF(ä¸å®) */
+#define	CSIA1BFL	0xFFFFFE3E		/* CSIA1ãããã¡RAMFL(ä¸å®) */
+#define	CSIA1BFH	0xFFFFFE3F		/* CSIA1ãããã¡RAMFH(ä¸å®) */
+#define	EXIMC		0xFFFFFFBE		/* å¤é¨ãã¹ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿(0x00) */
+
+#endif	/* _V850ES_KJ1_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/Makefile.config	(revision 26)
@@ -0,0 +1,80 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  Copyright (C) 2005 by Freelines CO.,Ltd
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.config,v 1.2 2007/01/05 02:10:17 honda Exp $
+# 
+
+# 
+#  @(#) $Id: Makefile.config,v 1.2 2007/01/05 02:10:17 honda Exp $
+#
+
+#
+#	Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼TK-850ES/SG2ç¨ï¼
+#
+
+#
+#  ã³ã³ãã¤ã«ãã©ã°
+#
+CFLAGS := $(CFLAGS)
+LDFLAGS := $(LDFLAGS) -msoft-float
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR	:= $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS	:= $(KERNEL_ASMOBJS) sys_support.o
+KERNEL_COBJS	:= $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/v850elf.ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.cfg	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2004 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ * SCI ãã©ã¤ã (V850ç¨) ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"hw_serial.h\"");
+
+DEF_INH(INHNO_SERIAL_IN,   { TA_HLNG, sio_in_handler   });
+DEF_INH(INHNO_SERIAL_OUT,  { TA_HLNG, sio_out_handler  });
+
+#if TNUM_PORT >= 2
+
+DEF_INH(INHNO_SERIAL2_IN,  { TA_HLNG, sio_in2_handler  });
+DEF_INH(INHNO_SERIAL2_OUT, { TA_HLNG, sio_out2_handler });
+
+#endif	/* of #if TNUM_PORT >= 2 */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_serial.h	(revision 26)
@@ -0,0 +1,400 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã·ãªã¢ã«I/Oã¢ã¸ã¥ã¼ã«ï¼V850ES/SG2 å
+èµéåæã·ãªã¢ã«ch0/ch1/ch2ç¨ï¼
+ *   ãã¼ã¬ã¼ãè¨­å®ã¯SERIAL_COMPAREVALUEãå¤æ´ããã
+ *   ãã¼ã¿ãã©ã¼ãããã¯8bit data, non-parity, 1stop-bitåºå®
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ */
+
+typedef struct sio_port_initialization_block {
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+	const SIOPINIB	*inib;		/* åæåãã­ãã¯	*/
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ±		*/
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã°	*/
+	int			port_id;	/* ãã¼ãçªå·(0ã) */
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIO ID ããç®¡çãã­ãã¯ã¸ã®å¤æãã¯ã­
+ */
+
+#define INDEX_SIO(sioid)	((UINT)((sioid) - 1))
+#define get_siopcb(sioid)	(&(siopcb_table[INDEX_SIO(sioid)]))
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+
+#define SIO_ERDY_SND		1u			/* éä¿¡å¯è½ã³ã¼ã«ããã¯			*/
+#define SIO_ERDY_RCV		2u			/* åä¿¡éç¥ã³ã¼ã«ããã¯			*/
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãã¼ãã¦ã§ã¢ä¾å­æ
+å ±ã®å®ç¾©
+ */
+
+#define SERIAL_PORT				(CONSOLE_PORTID-1)		/* ã·ã¹ãã ã®ãã¼ãçªå· */
+#define SERIAL_INT_PRIORITY		1	/* å²ãè¾¼ã¿åªå
+åº¦ */
+#define SERIAL_CLKDIV			3	/* clk = fxx/8     */
+#define SERIAL_COMPAREVALUE		11	/* 9600bps=130, 19200bps=65, 38400bps=33, 57600bps=22, 115200bps=11 */
+
+/* ã·ãªã¢ã«é¢é£ã¬ã¸ã¹ã¿ */
+#define UAnCTL0(x)  (UA0CTL0 + ((x) * 0x10))
+#define UAnCTL1(x)  (UA0CTL1 + ((x) * 0x10))
+#define UAnCTL2(x)  (UA0CTL2 + ((x) * 0x10))
+#define UAnOPT0(x)  (UA0OPT0 + ((x) * 0x10))
+#define UAnSTR(x)   (UA0STR  + ((x) * 0x10))
+#define UAnRX(x)    (UA0RX   + ((x) * 0x10))
+#define UAnTX(x)    (UA0TX   + ((x) * 0x10))
+#define UAnRIC(x)	(UA0RIC  + ((x) * 0x4))
+#define UAnTIC(x)	(UA0TIC  + ((x) * 0x4))
+
+/*
+ *  ã·ãªã¢ã«I/Oã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SERIAL_IN		(0x31 + (SERIAL_PORT * 2))
+#define INHNO_SERIAL_OUT	(0x32 + (SERIAL_PORT * 2))
+
+
+/*
+ *  ä½ã¬ãã«ãã¼ãæ
+å ±ç®¡çãã­ãã¯ã®åæå¤
+ */
+
+#define NUM_PORT	1	/* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+#define FLG_RECEIVED 1
+#define FLG_TXRBUSY  2
+
+extern unsigned int _serial_flag[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®åæå
+ */
+Inline BOOL
+hw_port_initialize(int port_id)
+{
+   	_serial_flag[port_id] = 0;
+	if( (sil_reb_mem((VP)UAnCTL0(port_id)) & 0x80) == 0 )
+	{
+    	/* éåæã·ãªã¢ã«éä¿¡è·¯ã®åæå */
+
+		sil_wrb_mem((VP)UAnCTL0(port_id), 0x80);	/* UART enable */
+		/* ãã¼ããéãã */
+		if (port_id == 0) {
+			sil_wrh_mem((VP)PFC3, sil_reh_mem((VP)PFC3) & ~0x0003);
+			sil_wrh_mem((VP)PMC3, sil_reh_mem((VP)PMC3) | 0x0003);
+		} else if (port_id == 1) {
+			sil_wrh_mem((VP)PFCE9, sil_reh_mem((VP)PFCE9) | 0x0003);
+			sil_wrh_mem((VP)PFC9,  sil_reh_mem((VP)PFC9)  & ~0x0003);
+			sil_wrh_mem((VP)PMC9,  sil_reh_mem((VP)PMC9)  | 0x0003);
+		} else {
+			sil_wrh_mem((VP)PFC3, sil_reh_mem((VP)PFC3) & ~0x0300);
+			sil_wrh_mem((VP)PMC3, sil_reh_mem((VP)PMC3) | 0x0300);
+		}
+		/* ãã¼ã¬ã¼ãçºçå¨ã®åæå */
+		sil_wrb_mem((VP)UAnCTL1(port_id), SERIAL_CLKDIV);
+		sil_wrb_mem((VP)UAnCTL2(port_id), SERIAL_COMPAREVALUE);
+
+		__asm("nop; nop");
+
+		sil_wrb_mem((VP)UAnCTL0(port_id), sil_reb_mem((VP)UAnCTL0(port_id)) | 0x12);	/* 8bit data, non-parity, 1-stopbit */
+
+		__asm("nop; nop");
+
+		sil_wrb_mem((VP)UAnCTL0(port_id), sil_reb_mem((VP)UAnCTL0(port_id)) | 0x60);	/* Tx, Rx enable */
+
+		/* å²è¾¼ã¿å¶å¾¡ */
+		sil_wrb_mem((VP)UAnRIC(port_id), SERIAL_INT_PRIORITY);
+		sil_wrb_mem((VP)UAnTIC(port_id), SERIAL_INT_PRIORITY);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®çµäº
+ */
+Inline void
+hw_port_terminate(int port_id)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼åæ¹åç
+§ï¼
+ */
+extern void	serial_handler_in(int portid);
+extern void	serial_handler_out(int portid);
+
+/*
+ *  æå­ãåä¿¡ãããï¼
+ */
+Inline BOOL
+hw_port_getready(int port_id)
+{
+	return (_serial_flag[port_id] & FLG_RECEIVED) != 0 ? TRUE : FALSE;
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+hw_port_putready(int port_id)
+{
+//	return (sil_reb_mem((VP)UAnSTR(port_id)) & 0x80) != 0 ? FALSE : TRUE;
+	return (_serial_flag[port_id] & FLG_TXRBUSY) != 0 ? FALSE : TRUE;
+}
+
+Inline BOOL
+hw_port_putready2(int port_id)
+{
+	return (sil_reb_mem((VP)UAnSTR(port_id)) & 0x80) != 0 ? FALSE : TRUE;
+//	return (_serial_flag[port_id] & FLG_TXRBUSY) != 0 ? FALSE : TRUE;
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline unsigned char
+hw_port_getchar(int port_id)
+{
+	_serial_flag[port_id] &= ~FLG_RECEIVED;
+	sil_wrb_mem((VP)UAnRIC(port_id), sil_reb_mem((VP)UAnRIC(port_id)) & 0x7f);
+	return sil_reb_mem((VP)UAnRX(port_id));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+hw_port_putchar(int port_id, unsigned char c)
+{
+	sil_wrb_mem((VP)UAnTX(port_id), c);
+	_serial_flag[port_id] |= FLG_TXRBUSY;
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿ï¼éä¿¡å¯è½ã«ãªãã¾ã§å¾
+ã¤ï¼
+ */
+Inline void
+hw_port_wait_putchar(int port_id, unsigned char c)
+{
+	while( !hw_port_putready2(port_id) ) ;
+	hw_port_putchar(port_id, c);
+}
+
+/*
+ *  éä¿¡å¶å¾¡é¢æ°
+ */
+Inline void
+hw_port_sendstart(int port_id)
+{
+}
+
+Inline void
+hw_port_sendstop(int port_id)
+{
+}
+
+extern void	sio_ierdy_rcv(VP_INT exinf);
+extern void	sio_ierdy_snd(VP_INT exinf);
+
+Inline void
+hw_port_handler_in(int port_id)
+{
+	_serial_flag[port_id] |= FLG_RECEIVED;
+    sio_ierdy_rcv(siopcb_table[port_id].exinf);
+}
+
+Inline void
+hw_port_handler_out(int port_id)
+{
+	_serial_flag[port_id] &= ~FLG_TXRBUSY;
+	sio_ierdy_snd(siopcb_table[port_id].exinf);
+}
+
+/***********************************************************************************/
+
+/*
+ *  sio_initialize -- ã·ãªã¢ã«ãã¼ããã©ã¤ãã®åæå
+ */
+Inline void
+sio_initialize (void)
+{
+	int ix;
+
+	/* SIO ç®¡çãã­ãã¯ã®åæå */
+	for (ix = TNUM_PORT; ix -- > 0; ) {
+		siopcb_table[ix].openflag = FALSE;
+	}
+}
+
+/*
+ *  sio_opn_por -- ãã¼ãã®ãªã¼ãã³
+ */
+Inline SIOPCB *
+sio_opn_por(ID sioid, VP_INT exinf)
+{
+	SIOPCB	*pcb;
+
+	pcb = get_siopcb(sioid);
+	pcb->inib     = NULL;
+	pcb->exinf    = exinf;
+	pcb->openflag = TRUE;
+	pcb->port_id  = sioid-1;
+	hw_port_initialize(pcb->port_id);
+	return pcb;
+}
+
+/*
+ *  sio_snd_chr -- æå­éä¿¡
+ */
+Inline BOOL
+sio_snd_chr(SIOPCB *pcb, INT chr)
+{
+	if (hw_port_putready(pcb->port_id)) {
+		hw_port_putchar(pcb->port_id, (UB)chr);
+		return TRUE;
+		}
+	else
+		return FALSE;
+}
+
+/*
+ *  sio_rcv_chr -- æå­åä¿¡
+ */
+Inline INT
+sio_rcv_chr(SIOPCB *pcb)
+{
+	if (hw_port_getready(pcb->port_id))
+		return hw_port_getchar(pcb->port_id);
+	else
+		return -1;
+}
+
+/*
+ *  sio_ena_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+Inline void
+sio_ena_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_dis_cbr -- ã·ãªã¢ã« I/O ããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+Inline void
+sio_dis_cbr(SIOPCB *pcb, UINT cbrtn)
+{
+}
+
+/*
+ *  sio_cls_por -- ãã¼ãã®ã¯ã­ã¼ãº
+ */
+Inline void
+sio_cls_por(SIOPCB *pcb)
+{
+	sio_dis_cbr(pcb, SIO_ERDY_SND);
+	sio_dis_cbr(pcb, SIO_ERDY_RCV);
+	pcb->openflag = FALSE;
+}
+
+Inline void
+sio_in_handler(void)
+{
+	hw_port_handler_in(0);
+}
+
+Inline void
+sio_out_handler(void)
+{
+	hw_port_handler_out(0);
+}
+
+#if TNUM_PORT > 1
+Inline void
+sio_in_handler2(void)
+{
+	hw_port_handler_in(1);
+}
+
+Inline void
+sio_out_handler2(void)
+{
+	hw_port_handler_out(1);
+}
+#endif
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/hw_timer.h	(revision 26)
@@ -0,0 +1,146 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼V850ES/SG2å
+èµã¿ã¤ãP-ch0(TMP0)ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+#include <s_services.h>
+
+#ifndef _MACRO_ONLY
+
+/* ã·ã¹ãã ã¿ã¤ãã¼ã¯TMP0ãä½¿ç¨ */
+#define	TIMER_INT_PRIORITY		0		/* å²ãè¾¼ã¿åªå
+åº¦(0ãæé«ã§7ãæä½) */
+#define TIMER_CLKDIV			1		/* fx/2=10MHz */
+#define	TIMER_COMPAREVALUE		(10000-1)	/* fx/2ã§1msecãä½ã */
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	       (0x17)
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))
+#define TO_USEC(clock)      ((clock) * 1000 / TIMER_CLOCK)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+Inline void
+hw_timer_initialize(void)
+{
+	/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)TP0CTL0, 1);		/* fx/2 (count stop) */
+	sil_wrb_mem((VP)TP0CTL1, 0);		/* interval mode */
+	sil_wrb_mem((VP)TP0IOC0, 1);		/* TOP00 clock out */
+	sil_wrh_mem((VP)TP0CCR0, TIMER_COMPAREVALUE);
+	sil_wrb_mem((VP)TP0CTL0, 0x81);		/* Count Start */
+
+	/* å²è¾¼ã¿è¦æ±ãè§£é¤ãã¤ã¤ãå²è¾¼ã¿è¨±å¯ã«ãã¦ãåªå
+åº¦ãè¨­å®ãã */
+	sil_wrb_mem((VP)TP0CCIC0, TIMER_INT_PRIORITY);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+Inline void
+hw_timer_int_clear(void)
+{
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+Inline void
+hw_timer_terminate(void)
+{
+	/* å²è¾¼ã¿ããã¹ã¯ãã */
+	sil_wrb_mem((VP)TP0CCIC0, sil_reb_mem((VP)TP0CCIC0) | 0x47);
+}
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+hw_timer_get_current(void)
+{
+	return sil_rew_mem((VP)TP0CNT);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline BOOL
+hw_timer_fetch_interrupt(void)
+{
+	return (sil_reb_mem((VP)TP0CCIC0) & 0x80) != 0;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.c	(revision 26)
@@ -0,0 +1,82 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼TK-850ES/SG2ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+#include "hw_serial.h"
+
+/*  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ãã­ãã¯ */
+SIOPCB siopcb_table[TNUM_PORT];
+unsigned int _serial_flag[TNUM_PORT] = { 0 };
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+	kernel_abort();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_config.h	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼TK-850/SG2ç¨ï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+
+#include <sys_rename.h>
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "v850es_sg2.h"
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define	TARGET_NAME	"TK-850/SG2"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+/* #define	SUPPORT_VXGET_TIM */
+
+/*
+ *  JSPã«ã¼ãã«åä½æã®ã¡ã¢ãªãããã¨é¢é£ããå®ç¾©
+ */
+#define	STACKTOP	(IRAM_TOP+IRAM_SIZE)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+/* CPUåä½ã¯ã­ãã¯å¨æ³¢æ°ï¼20MHz(5MHzÃ4) */
+#define	CPU_CLOCK		20000000
+
+/* å²ãè¾¼ã¿è¦å ã®æ° */
+#define NUM_INTERRUPT	0x3B
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã£ãã¤ã¹ã®æ°ã¯æå¤§ 2
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·ï¼SG2ã§ã¯1ã3ï¼ */
+#define TNUM_PORT		1
+#define SEPARATE_SIO_INT	/* åä¿¡å²ãè¾¼ã¿ã¨éä¿¡å®äºå²ãè¾¼ã¿ãåºå¥ãããå²ãè¾¼ã¿ã«ãªã£ã¦ããã */
+#define	LOGTASK_PORTID		CONSOLE_PORTID	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·	*/
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+Inline void
+sys_putc(char c)
+{
+	extern void cpu_putc(char c);
+	/* ROMã¢ãã¿ãªã©ã®ã³ã³ã½ã¼ã«ã¸ã¡ãã»ã¼ã¸åºåããä½ã¬ãã«é¢æ°ãæ³å®ãã¦ããã
+	   é¢åãªã®ã§ã·ã¹ãã ã®ã·ãªã¢ã«ãã¼ãã¸åºåãã */
+	cpu_putc(c);
+}
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_defs.h	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©
+ *    TK-850ES/SG2 uPD70F3281Y 20MHz(5MHzÃ4)
+ */
+
+#include "sys_config.h"
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  INTNOåã¨å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		INTNO;		/* å²è¾¼ã¿çªå· */
+
+extern ER	dis_int(INTNO intno);
+extern ER	ena_int(INTNO intno);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ãµã¼ãã¹ã³ã¼ã«
+ */
+#ifndef _MACRO_ONLY
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1		/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.def	(revision 26)
@@ -0,0 +1,1 @@
+hardware_init_hook
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_rename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#define hardware_init_hook		_kernel_hardware_init_hook
+
+
+#ifdef LABEL_ASM
+
+#define _hardware_init_hook		__kernel_hardware_init_hook
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_support.S	(revision 26)
@@ -0,0 +1,225 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_support.S,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼TK-850ES/SG2ç¨ï¼
+ */
+
+#define	_MACRO_ONLY
+#include "jsp_kernel.h"
+#include "v850asm.inc"
+
+#define Set(x,y,z) Lea x, r6; Lea y, r7; st.##z r7, 0[r6]
+
+/*
+ *  ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *
+ *  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸­ã§ï¼ã¡ã¢ãªã®åæåã®åã«å¼ã³åºãããï¼
+ */
+
+	.text
+	.globl hardware_init_hook
+hardware_init_hook:
+
+	/* ã·ã¹ãã ã¦ã§ã¤ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼5MHzÃ4=20MHzæ */
+	Set(VSWC,  0x01,   b)
+	nop
+	/* ä¿è­·ãããç¹å®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹
+	   ãã­ã»ããµã¯ã­ãã¯ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼ã¡ã¤ã³ã¯ã­ãã¯ã®fxxåºå(PCC=0) */
+	lea	PRCMD, r6
+	lea	PCC, r7
+	st.b	r0, 0[r6]
+	st.b	r0, 0[r7]
+	nop
+	nop
+	nop
+	nop
+	nop
+	Set(PLLCTL,0x03,   b)   /* PLLã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼PLLåä½ */
+	Set(WDTM2, 0x07,   b)   /* WDTM2 stop */
+	/* å¤é¨ãã¹ã®è¨­å® */
+	Set(EXIMC, 0x01,   b)	/* å¤é¨ãã¹ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¢ã¼ãã¬ã¸ã¹ã¿ï¼ã»ãã¬ã¼ããã¹ */
+	Set(PMC9,  0xFFFF, h)	/* P9ã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼A0-A15åºå */
+	Set(PMCCM, 0x02,   b)	/* PCMã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼Clock Outåºå */
+	Set(PMCCT, 0x11,   b)	/* PCTã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼RD/WR0åºå */
+	Set(PMCDL, 0xFFFF, h)	/* PDLã¢ã¼ãã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ï¼AD0-AD15åºå */
+	Set(BSC,   0x5555, h)	/* ãã¹ãµã¤ãºã¬ã¸ã¹ã¿ï¼All 16bit */
+	Set(DWC0,  0x0000, h)	/* ãã¼ã¿ã¦ã§ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿ï¼wait=0 */
+	Set(AWC,   0xFF00, h)	/* ã¢ãã¬ã¹ã¦ã§ã¤ãå¶å¾¡ã¬ã¸ã¹ã¿ï¼wait=0 */
+	Set(BCC,   0xAA00, h)	/* ãã¹ãµã¤ã¯ã«å¶å¾¡ã¬ã¸ã¹ã¿ï¼wait=0 */
+	/* NICè¨­å® */
+	Set(PMC0,  0x10,   b)	/* P04=INTP1 */
+	Set(PMCT,  0xBF,   b)	/* ASTB=out(LAN CS) */
+	Set(PCT,   0x00,   b)	/* ASTB=Low out */
+	Set(PM5,   0xFD,   b)	/* LAN Reset out */
+	Set(P5 ,   0x00,   b)	/* LAN Reset out */
+
+	jmp		r31
+
+
+
+	/* æ¨æºå²è¾¼ã¿å¦çã¨ã¹ãºã¼ãµã¼ */
+	.macro StandardInterruptEntry name
+	.globl \name
+\name:
+	jr	vector_handler
+	nop;nop;nop;nop;nop;nop
+	.endm
+
+	.macro ReservedInterruptEntry
+	nop;nop;nop;nop;nop;nop;nop;nop
+	.endm
+
+/*
+ * å²è¾¼ã¿ãã³ãã©é¨åã®å®ç¾©
+ * 		ã¨ããããä¸ç®æã«éããã
+ */
+
+	.section	".vectors","ax"
+	.align      4
+	.globl      __reset
+__reset:
+	jr	start
+	nop;nop;nop;nop;nop;nop
+
+	StandardInterruptEntry NMI
+	StandardInterruptEntry INTWDT2
+	ReservedInterruptEntry 
+	StandardInterruptEntry TRAP0
+	StandardInterruptEntry TRAP1
+	StandardInterruptEntry DBG
+/*#-------------------------------------------------------------------
+  #	SECURITY_ID
+  #-------------------------------------------------------------------*/
+/*	.section	"SECURITY_ID" */
+	.word	0xffffffff	/* --0-3 byte code,Address is 0x70-0x73 */
+	.word	0xffffffff	/* --4-7 byte code,Address is 0x74-0x77 */
+	.hword	0xffff		/* --8-9 byte code,Address is 0x78-0x79 */
+/*#-------------------------------------------------------------------
+  #	OPTION_BYTES
+  #-------------------------------------------------------------------*/
+/*	.section	"OPTION_BYTES" */
+	.hword	0x0000		/* --0-1 byte code,Address is 0x7a-0x7b */
+	.hword	0x0000		/* --2-3 byte code,Address is 0x7c-0x7d */
+	.hword	0x0000		/* --4-5 byte code,Address is 0x7e-0x7f */
+
+	StandardInterruptEntry INTLVI
+	StandardInterruptEntry INTP0
+	StandardInterruptEntry INTP1
+	StandardInterruptEntry INTP2
+	StandardInterruptEntry INTP3
+	StandardInterruptEntry INTP4
+	StandardInterruptEntry INTP5
+	StandardInterruptEntry INTP6
+	StandardInterruptEntry INTP7
+	StandardInterruptEntry INTTQ0OV
+	StandardInterruptEntry INTTQ0CC0
+	StandardInterruptEntry INTTQ0CC1
+	StandardInterruptEntry INTTQ0CC2
+	StandardInterruptEntry INTTQ0CC3
+	StandardInterruptEntry INTTP0OV
+	StandardInterruptEntry INTTP0CC0
+	StandardInterruptEntry INTTP0CC1
+	StandardInterruptEntry INTTP1OV
+	StandardInterruptEntry INTTP1CC0
+	StandardInterruptEntry INTTP1CC1
+	StandardInterruptEntry INTTP2OV
+	StandardInterruptEntry INTTP2CC0
+	StandardInterruptEntry INTTP2CC1
+	StandardInterruptEntry INTTP3OV
+	StandardInterruptEntry INTTP3CC0
+	StandardInterruptEntry INTTP3CC1
+	StandardInterruptEntry INTTP4OV
+	StandardInterruptEntry INTTP4CC0
+	StandardInterruptEntry INTTP4CC1
+	StandardInterruptEntry INTTP5OV
+	StandardInterruptEntry INTTP5CC0
+	StandardInterruptEntry INTTP5CC1
+	StandardInterruptEntry INTTM0EQ0
+	StandardInterruptEntry INTCB0R
+	StandardInterruptEntry INTCB0T
+	StandardInterruptEntry INTCB1R
+	StandardInterruptEntry INTCB1T
+	StandardInterruptEntry INTCB2R
+	StandardInterruptEntry INTCB2T
+	StandardInterruptEntry INTCB3R
+	StandardInterruptEntry INTCB3T
+	StandardInterruptEntry INTUA0R
+	StandardInterruptEntry INTUA0T
+	StandardInterruptEntry INTUA1R
+	StandardInterruptEntry INTUA1T
+	StandardInterruptEntry INTUA2R
+	StandardInterruptEntry INTUA2T
+	StandardInterruptEntry INTAD
+	StandardInterruptEntry INTDMA0
+	StandardInterruptEntry INTDMA1
+	StandardInterruptEntry INTDMA2
+	StandardInterruptEntry INTDMA3
+	StandardInterruptEntry INTKR
+	StandardInterruptEntry INTWTI
+	StandardInterruptEntry INTWT
+	StandardInterruptEntry INTC0ERR
+	StandardInterruptEntry INTC0WUP
+	StandardInterruptEntry INTC0REC
+	StandardInterruptEntry INTC0TRX
+
+/*
+ * è©ä¾¡ç¨é«æ§è½?ã¿ã¤ã
+ *  (ä»åã¯è©ä¾¡ç¨ããªã¼ã©ã³ãã³ã°ã¿ã¤ããä½ããã«ç´æ¥ã¿ã¤ãã«ã¦ã³ã¿ãã®ãã)
+ */
+Function _vxget_tim
+	Lea	TP0CNT, r7
+	ld.h	0[r7], r8
+	st.w	r8, 0[r6]
+	mov	r0, r10
+	jmp	r31
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/sys_unrename.h	(revision 26)
@@ -0,0 +1,15 @@
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_RENAME_H_
+#undef _SYS_RENAME_H_
+
+#undef hardware_init_hook
+
+
+#ifdef LABEL_ASM
+
+#undef _hardware_init_hook
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/tinet_sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/tinet_sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/tinet_sys_config.h	(revision 26)
@@ -0,0 +1,94 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
+ *                   Tomakomai National College of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tinet_sys_config.h,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+#ifndef _TINET_SYS_CONFIG_H_
+#define _TINET_SYS_CONFIG_H_
+
+#include <v850es_sg2.h>
+
+/*
+ *  ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©
+ */
+
+/*
+ *  NIC (SMCS LAN91C111) ã«é¢ããå®ç¾©
+ */
+
+
+#define NUM_IF_ED_TXBUF		1			/* éä¿¡ãããã¡æ° */
+
+#define INHNO_IF_ED			0x0A		/* IRQ=INTP1 */
+
+#define ED_INT_PRIORITY		1			/* å²ãè¾¼ã¿åªå
+åº¦(0ãæé«7ãæä½) */
+
+/*
+ * NIC(SMSC LAN91C111)ã«é¢ããå®ç¾©
+ */
+#define ED_BASE_ADDRESS		(0x100600)	/* NIC ã®ã¬ã¸ã¹ã¿ãã¼ã¹ã¢ãã¬ã¹ */
+#define ED_REG_OFFSET		4			/* NICã¬ã¸ã¹ã¿ã¼ã®OFFSET */
+
+#define TMO_IF_ED_GET_NET_BUF	1		/* [ms]ãåä¿¡ç¨ net_buf ç²å¾ã¿ã¤ã ã¢ã¦ã	*/
+
+/*
+ * ä»¥ä¸ã®å®ç¾©ã¯ã¿ã¼ã²ããCPUã®åä½å¨æ³¢æ°ã«ä¾å­ããæéèª¿æ´ãã©ã¡ã¼ã¿
+ *   ãã®å®ç¾©ã¯V850/SG2ã®20MHzåä½ç¨
+ */
+
+#define WAIT_LOOP_CNT		8000		/* å¾®å°æéã®ãã¼ãªã³ã°åæ° */
+
+#define uWAIT()		nop(1);				/* ç´1usecã®å¾®å°æéå¾
+ã¡ */
+
+#endif /* _TINET_SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850elf.ld	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850elf.ld,v 1.2 2007/01/05 02:10:17 honda Exp $
+ */
+
+OUTPUT_FORMAT("elf32-v850","elf32-v850","elf32-v850")
+OUTPUT_ARCH(v850)
+
+/* V850ES/SG2 uPD70F3281Y(32KB-RAM)ç¨ã®ã¡ã¢ãª */
+
+MEMORY
+{
+	INTROM(raxi) : org = 0x00000000, len = 256k
+	INTRAM(wax)  : org = 0x03ff7000, len = 32k
+};
+
+PROVIDE(__stack = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+PROVIDE(_software_term_hook = 0);
+PROVIDE(_memcpy = _local_memcpy);
+SECTIONS
+{
+	.vector : AT(0)
+	{
+		*(.vectors)
+	} > INTROM
+
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+        _etext = . ;
+    } > INTROM
+ 
+	. = ALIGN(4);
+    .rodata : { *(.rodata) } > INTROM
+
+	_textend = .;
+
+	. = ALIGN(4);
+    __idata_start = . ;
+
+    .data   :  AT(__idata_start) 
+    {
+		. = ALIGN(4);
+        __data_start = . ;
+        *(.data)
+		. = ALIGN(4);
+        _edata  =  . ;
+    } > INTRAM
+
+    __idata_end = __idata_start + SIZEOF(.data);
+
+    .bss       :
+    {
+      . = ALIGN(4);
+      __bss_start = .;
+      *(.bss)
+      *(COMMON)
+      . = ALIGN(4);
+      _end = .;
+    } > INTRAM
+
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850es_sg2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850es_sg2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tk850_sg2/v850es_sg2.h	(revision 26)
@@ -0,0 +1,554 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2005 by Freelines CO.,Ltd 
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850es_sg2.h,v 1.4 2007/03/23 08:20:08 honda Exp $
+ */
+
+#ifndef	_V850ES_SG2_H_
+#define	_V850ES_SG2_H_
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼V850ç¨ï¼
+ */
+#ifndef _MACRO_ONLY
+typedef unsigned char   byte;
+typedef unsigned short  word;
+typedef unsigned long   dword;
+typedef volatile byte   IOREG;
+typedef volatile word   HIOREG;
+typedef volatile dword  LIOREG;
+#endif /* _MACRO_ONLY */
+
+/*
+ * å
+èµRAM
+ */
+#define	IRAM_TOP	0x03FF7000		/* å
+èµRAMã®å
+é ­ã¢ãã¬ã¹ */
+#define IRAM_SIZE	0x8000			/* å
+èµRAMã®å¤§ãã 32Kbyte(uPD70F3281Y) */
+/*
+ * å
+èµFlashROM
+ */
+#define	IROM_TOP	0x0000000		/* å
+èµFlashROMã®å
+é ­ã¢ãã¬ã¹ */
+#define IROM_SIZE	0x60000			/* å
+èµFlashROMã®å¤§ãã 384Kbyte(uPD70F3281Y) */
+
+/* 
+ * V850ES/SG2ã®IOã¬ã¸ã¹ã¿å®ç¾©
+ */
+#define	PDL			0xFFFFF004		/* ãã¼ãDLã¬ã¸ã¹ã¿ */
+#define	PDLL		0xFFFFF004		/* ãã¼ãDLã¬ã¸ã¹ã¿L */
+#define	PDLH		0xFFFFF005		/* ãã¼ãDLã¬ã¸ã¹ã¿H */
+#define	PDH			0xFFFFF006		/* ãã¼ãDHã¬ã¸ã¹ã¿ */
+#define	PCT			0xFFFFF00A		/* ãã¼ãCTã¬ã¸ã¹ã¿ */
+#define	PCM			0xFFFFF00C		/* ãã¼ãCMã¬ã¸ã¹ã¿ */
+#define	PMDL		0xFFFFF024		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PMDLL		0xFFFFF024		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿L */
+#define	PMDLH		0xFFFFF025		/* ãã¼ãDLã¢ã¼ãã»ã¬ã¸ã¹ã¿H */
+#define	PMDH		0xFFFFF026		/* ãã¼ãDHã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PMCT		0xFFFFF02A		/* ãã¼ãCTã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PMCM		0xFFFFF02C		/* ãã¼ãCMã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PMCDL		0xFFFFF044		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMCDLL		0xFFFFF044		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿L */
+#define	PMCDLH		0xFFFFF045		/* ãã¼ãDLã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿H */
+#define	PMCDH		0xFFFFF046		/* ãã¼ãDHã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMCCT		0xFFFFF04A		/* ãã¼ãCTã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMCCM		0xFFFFF04C		/* ãã¼ãCMã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	BPC			0xFFFFF064		/* å¨è¾ºI/Oé åã»ã¬ã¯ãå¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	BSC			0xFFFFF066		/* ãã¹ã»ãµã¤ãºã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿ã»ãã¹ */
+#define	VSWC		0xFFFFF06E		/* ã·ã¹ãã ã»ã¦ã¨ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	DSA0L		0xFFFFF080		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0L */
+#define	DSA0H		0xFFFFF082		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0H */
+#define	DDA0L		0xFFFFF084		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0L */
+#define	DDA0H		0xFFFFF086		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0H */
+#define	DSA1L		0xFFFFF088		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1L */
+#define	DSA1H		0xFFFFF08A		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1H */
+#define	DDA1L		0xFFFFF08C		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1L */
+#define	DDA1H		0xFFFFF08E		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1H */
+#define	DSA2L		0xFFFFF090		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2L */
+#define	DSA2H		0xFFFFF092		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2H */
+#define	DDA2L		0xFFFFF094		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2L */
+#define	DDA2H		0xFFFFF096		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2H */
+#define	DSA3L		0xFFFFF098		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3L */
+#define	DSA3H		0xFFFFF09A		/* DMAã½ã¼ã¹ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3H */
+#define	DDA3L		0xFFFFF09C		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3L */
+#define	DDA3H		0xFFFFF09E		/* DMAãã¹ãã£ãã¼ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3H */
+#define	DBC0		0xFFFFF0C0		/* DMAè»¢éã«ã¦ã³ãã»ã¬ã¸ã¹ã¿0 */
+#define	DBC1		0xFFFFF0C2		/* DMAè»¢éã«ã¦ã³ãã»ã¬ã¸ã¹ã¿1 */
+#define	DBC2		0xFFFFF0C4		/* DMAè»¢éã«ã¦ã³ãã»ã¬ã¸ã¹ã¿2 */
+#define	DBC3		0xFFFFF0C6		/* DMAè»¢éã«ã¦ã³ãã»ã¬ã¸ã¹ã¿3 */
+#define	DADC0		0xFFFFF0D0		/* DMAã¢ãã¬ã·ã³ã°ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+#define	DADC1		0xFFFFF0D2		/* DMAã¢ãã¬ã·ã³ã°ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define	DADC2		0xFFFFF0D4		/* DMAã¢ãã¬ã·ã³ã°ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+#define	DADC3		0xFFFFF0D6		/* DMAã¢ãã¬ã·ã³ã°ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿3 */
+#define	DCHC0		0xFFFFF0E0		/* DMAãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+#define	DCHC1		0xFFFFF0E2		/* DMAãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define	DCHC2		0xFFFFF0E4		/* DMAãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+#define	DCHC3		0xFFFFF0E6		/* DMAãã£ãã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿3 */
+#define	IMR0		0xFFFFF100		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿0 */
+#define	IMR0L		0xFFFFF100		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿0L */
+#define	IMR0H		0xFFFFF101		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿0H */
+#define	IMR1		0xFFFFF102		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿1 */
+#define	IMR1L		0xFFFFF102		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿1L */
+#define	IMR1H		0xFFFFF103		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿1H */
+#define	IMR2		0xFFFFF104		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿2 */
+#define	IMR2L		0xFFFFF104		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿2L */
+#define	IMR2H		0xFFFFF105		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿2H */
+#define	IMR3		0xFFFFF106		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿3 */
+#define	IMR3L		0xFFFFF106		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿3L */
+#define	IMR3H		0xFFFFF107		/* å²ãè¾¼ã¿ãã¹ã¯ã»ã¬ã¸ã¹ã¿3H */
+#define	LVIIC		0xFFFFF110		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC0		0xFFFFF112		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC1		0xFFFFF114		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC2		0xFFFFF116		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC3		0xFFFFF118		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC4		0xFFFFF11A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC5		0xFFFFF11C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC6		0xFFFFF11E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PIC7		0xFFFFF120		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TQ0OVIC		0xFFFFF122		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TQ0CCIC0	0xFFFFF124		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TQ0CCIC1	0xFFFFF126		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TQ0CCIC2	0xFFFFF128		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TQ0CCIC3	0xFFFFF12A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP0OVIC		0xFFFFF12C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP0CCIC0	0xFFFFF12E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP0CCIC1	0xFFFFF130		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP1OVIC		0xFFFFF132		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP1CCIC0	0xFFFFF134		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP1CCIC1	0xFFFFF136		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP2OVIC		0xFFFFF138		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP2CCIC0	0xFFFFF13A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP2CCIC1	0xFFFFF13C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP3OVIC		0xFFFFF13E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP3CCIC0	0xFFFFF140		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP3CCIC1	0xFFFFF142		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP4OVIC		0xFFFFF144		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP4CCIC0	0xFFFFF146		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP4CCIC1	0xFFFFF148		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP5OVIC		0xFFFFF14A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP5CCIC0	0xFFFFF14C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TP5CCIC1	0xFFFFF14E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TM0EQIC0	0xFFFFF150		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB0RIC		0xFFFFF152		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	IICIC1		0xFFFFF152		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB0TIC		0xFFFFF154		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB1RIC		0xFFFFF156		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB1TIC		0xFFFFF158		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB2RIC		0xFFFFF15A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB2TIC		0xFFFFF15C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB3RIC		0xFFFFF15E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB3TIC		0xFFFFF160		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA0RIC		0xFFFFF162		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB4RIC		0xFFFFF162		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA0TIC		0xFFFFF164		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CB4TIC		0xFFFFF164		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA1RIC		0xFFFFF166		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	IICIC2		0xFFFFF166		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA1TIC		0xFFFFF168		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA2RIC		0xFFFFF16A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	IICIC0		0xFFFFF16A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	UA2TIC		0xFFFFF16C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	ADIC		0xFFFFF16E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	DMAIC0		0xFFFFF170		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	DMAIC1		0xFFFFF172		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	DMAIC2		0xFFFFF174		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	DMAIC3		0xFFFFF176		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	KRIC		0xFFFFF178		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	WTIIC		0xFFFFF17A		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	WTIC		0xFFFFF17C		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	ERRIC0		0xFFFFF17E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	ERRIC		0xFFFFF17E		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	WUPIC0		0xFFFFF180		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	STAIC		0xFFFFF180		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	RECIC0		0xFFFFF182		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	IEIC1		0xFFFFF182		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	TRXIC0		0xFFFFF184		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	IEIC2		0xFFFFF184		/* å²ãè¾¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	ISPR		0xFFFFF1FA		/* ã¤ã³ãµã¼ãã¹ã»ãã©ã¤ãªãªãã£ã»ã¬ã¸ã¹ã¿ */
+#define	PRCMD		0xFFFFF1FC		/* ã³ãã³ãã»ã¬ã¸ã¹ã¿ */
+#define	PSC			0xFFFFF1FE		/* ãã¯ã¼ã»ã»ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	ADA0M0		0xFFFFF200		/* A/Dã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0 */
+#define	ADA0M1		0xFFFFF201		/* A/Dã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿1 */
+#define	ADA0S		0xFFFFF202		/* A/Dã³ã³ãã¼ã¿ã»ãã£ãã«æå®ã¬ã¸ã¹ã¿ */
+#define	ADA0M2		0xFFFFF203		/* A/Dã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿2 */
+#define	ADA0PFM		0xFFFFF204		/* ãã¯ã¼ã»ãã§ã¤ã«æ¯è¼ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	ADA0PFT		0xFFFFF205		/* ãã¯ã¼ã»ãã§ã¤ã«æ¯è¼ãããå¤ã¬ã¸ã¹ã¿ */
+#define	ADA0CR0		0xFFFFF210		/* A/Då¤æçµæã¬ã¸ã¹ã¿0 */
+#define	ADA0CR0H	0xFFFFF211		/* A/Då¤æçµæã¬ã¸ã¹ã¿0H */
+#define	ADA0CR1		0xFFFFF212		/* A/Då¤æçµæã¬ã¸ã¹ã¿1 */
+#define	ADA0CR1H	0xFFFFF213		/* A/Då¤æçµæã¬ã¸ã¹ã¿1H */
+#define	ADA0CR2		0xFFFFF214		/* A/Då¤æçµæã¬ã¸ã¹ã¿2 */
+#define	ADA0CR2H	0xFFFFF215		/* A/Då¤æçµæã¬ã¸ã¹ã¿2H */
+#define	ADA0CR3		0xFFFFF216		/* A/Då¤æçµæã¬ã¸ã¹ã¿3 */
+#define	ADA0CR3H	0xFFFFF217		/* A/Då¤æçµæã¬ã¸ã¹ã¿3H */
+#define	ADA0CR4		0xFFFFF218		/* A/Då¤æçµæã¬ã¸ã¹ã¿4 */
+#define	ADA0CR4H	0xFFFFF219		/* A/Då¤æçµæã¬ã¸ã¹ã¿4H */
+#define	ADA0CR5		0xFFFFF21A		/* A/Då¤æçµæã¬ã¸ã¹ã¿5 */
+#define	ADA0CR5H	0xFFFFF21B		/* A/Då¤æçµæã¬ã¸ã¹ã¿5H */
+#define	ADA0CR6		0xFFFFF21C		/* A/Då¤æçµæã¬ã¸ã¹ã¿6 */
+#define	ADA0CR6H	0xFFFFF21D		/* A/Då¤æçµæã¬ã¸ã¹ã¿6H */
+#define	ADA0CR7		0xFFFFF21E		/* A/Då¤æçµæã¬ã¸ã¹ã¿7 */
+#define	ADA0CR7H	0xFFFFF21F		/* A/Då¤æçµæã¬ã¸ã¹ã¿7H */
+#define	ADA0CR8		0xFFFFF220		/* A/Då¤æçµæã¬ã¸ã¹ã¿8 */
+#define	ADA0CR8H	0xFFFFF221		/* A/Då¤æçµæã¬ã¸ã¹ã¿8H */
+#define	ADA0CR9		0xFFFFF222		/* A/Då¤æçµæã¬ã¸ã¹ã¿9 */
+#define	ADA0CR9H	0xFFFFF223		/* A/Då¤æçµæã¬ã¸ã¹ã¿9H */
+#define	ADA0CR10	0xFFFFF224		/* A/Då¤æçµæã¬ã¸ã¹ã¿10 */
+#define	ADA0CR10H	0xFFFFF225		/* A/Då¤æçµæã¬ã¸ã¹ã¿10H */
+#define	ADA0CR11	0xFFFFF226		/* A/Då¤æçµæã¬ã¸ã¹ã¿11 */
+#define	ADA0CR11H	0xFFFFF227		/* A/Då¤æçµæã¬ã¸ã¹ã¿11H */
+#define	DA0CS0		0xFFFFF280		/* D/Aã³ã³ãã¼ã¿å¤æå¤è¨­å®ã¬ã¸ã¹ã¿0 */
+#define	DA0CS1		0xFFFFF281		/* D/Aã³ã³ãã¼ã¿å¤æå¤è¨­å®ã¬ã¸ã¹ã¿1 */
+#define	DA0M		0xFFFFF282		/* D/Aã³ã³ãã¼ã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	KRM			0xFFFFF300		/* ã­ã¼ã»ãªã¿ã¼ã³ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	SELCNT0		0xFFFFF308		/* ã»ã¬ã¯ã¿åä½å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	CRCIN		0xFFFFF310		/* CRCã¤ã³ãããã»ã¬ã¸ã¹ã¿ */
+#define	CRCD		0xFFFFF312		/* CRCãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	NFC			0xFFFFF318		/* ãã¤ãºé¤å»å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PRSM1		0xFFFFF320		/* BRG1ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PRSCM1		0xFFFFF321		/* BRG1ããªã¹ã±ã¼ã©ã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿ */
+#define	PRSM2		0xFFFFF324		/* BRG2ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PRSCM2		0xFFFFF325		/* BRG2ããªã¹ã±ã¼ã©ã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿ */
+#define	PRSM3		0xFFFFF328		/* BRG3ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PRSCM3		0xFFFFF329		/* BRG3ããªã¹ã±ã¼ã©ã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿ */
+#define	OCKS0		0xFFFFF340		/* IICåå¨ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿0 */
+#define	OCKS1		0xFFFFF344		/* IICåå¨ã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿1 */
+#define	OCKS2		0xFFFFF348		/* IEBusã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿ */
+#define	BCR			0xFFFFF360		/* IEBusã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PSR			0xFFFFF361		/* IEBusãã¯ã¼ã»ã»ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	SSR			0xFFFFF362		/* IEBusã¹ã¬ã¼ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	USR			0xFFFFF363		/* IEBusã¦ãããã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	ISR			0xFFFFF364		/* IEBusã¤ã³ã¿ã©ããã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	ESR			0xFFFFF365		/* IEBusã¨ã©ã¼ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	UAR			0xFFFFF366		/* IEBusã¦ãããã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	SAR			0xFFFFF368		/* IEBusã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	PAR			0xFFFFF36A		/* IEBusãã¼ããã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	RSA			0xFFFFF36C		/* IEBusåä¿¡ã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	CDR			0xFFFFF36E		/* IEBusã³ã³ãã­ã¼ã«ã»ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	DLR			0xFFFFF36F		/* IEBusé»æé·ã¬ã¸ã¹ã¿ */
+#define	DR			0xFFFFF370		/* IEBusãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	FSR			0xFFFFF371		/* IEBusãã£ã¼ã«ãã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	SCR			0xFFFFF372		/* IEBusãµã¯ã»ã¹ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿ */
+#define	CCR			0xFFFFF373		/* IEBusã³ãã¥ãã±ã¼ã·ã§ã³ã»ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿ */
+#define	P0			0xFFFFF400		/* ãã¼ã0ã¬ã¸ã¹ã¿ */
+#define	P1			0xFFFFF402		/* ãã¼ã1ã¬ã¸ã¹ã¿ */
+#define	P3			0xFFFFF406		/* ãã¼ã3ã¬ã¸ã¹ã¿ */
+#define	P3L			0xFFFFF406		/* ãã¼ã3ã¬ã¸ã¹ã¿L */
+#define	P3H			0xFFFFF407		/* ãã¼ã3ã¬ã¸ã¹ã¿H */
+#define	P4			0xFFFFF408		/* ãã¼ã4ã¬ã¸ã¹ã¿ */
+#define	P5			0xFFFFF40A		/* ãã¼ã5ã¬ã¸ã¹ã¿ */
+#define	P7L			0xFFFFF40E		/* ãã¼ã7ã¬ã¸ã¹ã¿L */
+#define	P7H			0xFFFFF40F		/* ãã¼ã7ã¬ã¸ã¹ã¿H */
+#define	P9			0xFFFFF412		/* ãã¼ã9ã¬ã¸ã¹ã¿ */
+#define	P9L			0xFFFFF412		/* ãã¼ã9ã¬ã¸ã¹ã¿L */
+#define	P9H			0xFFFFF413		/* ãã¼ã9ã¬ã¸ã¹ã¿H */
+#define	PM0			0xFFFFF420		/* ãã¼ã0ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM1			0xFFFFF422		/* ãã¼ã1ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM3			0xFFFFF426		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM3L		0xFFFFF426		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿L */
+#define	PM3H		0xFFFFF427		/* ãã¼ã3ã¢ã¼ãã»ã¬ã¸ã¹ã¿H */
+#define	PM4			0xFFFFF428		/* ãã¼ã4ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM5			0xFFFFF42A		/* ãã¼ã5ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM7L		0xFFFFF42E		/* ãã¼ã7ã¢ã¼ãã»ã¬ã¸ã¹ã¿L */
+#define	PM7H		0xFFFFF42F		/* ãã¼ã7ã¢ã¼ãã»ã¬ã¸ã¹ã¿H */
+#define	PM9			0xFFFFF432		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PM9L		0xFFFFF432		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿L */
+#define	PM9H		0xFFFFF433		/* ãã¼ã9ã¢ã¼ãã»ã¬ã¸ã¹ã¿H */
+#define	PMC0		0xFFFFF440		/* ãã¼ã0ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMC3		0xFFFFF446		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMC3L		0xFFFFF446		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿L */
+#define	PMC3H		0xFFFFF447		/* ãã¼ã3ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿H */
+#define	PMC4		0xFFFFF448		/* ãã¼ã4ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMC5		0xFFFFF44A		/* ãã¼ã5ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMC9		0xFFFFF452		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PMC9L		0xFFFFF452		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿L */
+#define	PMC9H		0xFFFFF453		/* ãã¼ã9ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿H */
+#define	PFC0		0xFFFFF460		/* ãã¼ã0ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PFC3		0xFFFFF466		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PFC3L		0xFFFFF466		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿L */
+#define	PFC3H		0xFFFFF467		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿H */
+#define	PFC4		0xFFFFF468		/* ãã¼ã4ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PFC5		0xFFFFF46A		/* ãã¼ã5ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PFC9		0xFFFFF472		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PFC9L		0xFFFFF472		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿L */
+#define	PFC9H		0xFFFFF473		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿H */
+#define	DWC0		0xFFFFF484		/* ãã¼ã¿ã»ã¦ã¨ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+#define	AWC			0xFFFFF488		/* ã¢ãã¬ã¹ã»ã¦ã¨ã¤ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	BCC			0xFFFFF48A		/* ãã¹ã»ãµã¤ã¯ã«ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	TQ0CTL0		0xFFFFF540		/* TMQ0å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TQ0CTL1		0xFFFFF541		/* TMQ0å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TQ0IOC0		0xFFFFF542		/* TMQ0I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TQ0IOC1		0xFFFFF543		/* TMQ0I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TQ0IOC2		0xFFFFF544		/* TMQ0I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TQ0OPT0		0xFFFFF545		/* TMQ0ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TQ0CCR0		0xFFFFF546		/* TMQ0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TQ0CCR1		0xFFFFF548		/* TMQ0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TQ0CCR2		0xFFFFF54A		/* TMQ0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿2 */
+#define	TQ0CCR3		0xFFFFF54C		/* TMQ0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿3 */
+#define	TQ0CNT		0xFFFFF54E		/* TMQ0ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP0CTL0		0xFFFFF590		/* TMP0å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP0CTL1		0xFFFFF591		/* TMP0å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP0IOC0		0xFFFFF592		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP0IOC1		0xFFFFF593		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP0IOC2		0xFFFFF594		/* TMP0I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP0OPT0		0xFFFFF595		/* TMP0ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP0CCR0		0xFFFFF596		/* TMP0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP0CCR1		0xFFFFF598		/* TMP0ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP0CNT		0xFFFFF59A		/* TMP0ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP1CTL0		0xFFFFF5A0		/* TMP1å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP1CTL1		0xFFFFF5A1		/* TMP1å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP1IOC0		0xFFFFF5A2		/* TMP1I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP1IOC1		0xFFFFF5A3		/* TMP1I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP1IOC2		0xFFFFF5A4		/* TMP1I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP1OPT0		0xFFFFF5A5		/* TMP1ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP1CCR0		0xFFFFF5A6		/* TMP1ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP1CCR1		0xFFFFF5A8		/* TMP1ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP1CNT		0xFFFFF5AA		/* TMP1ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP2CTL0		0xFFFFF5B0		/* TMP2å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP2CTL1		0xFFFFF5B1		/* TMP2å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP2IOC0		0xFFFFF5B2		/* TMP2I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP2IOC1		0xFFFFF5B3		/* TMP2I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP2IOC2		0xFFFFF5B4		/* TMP2I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP2OPT0		0xFFFFF5B5		/* TMP2ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP2CCR0		0xFFFFF5B6		/* TMP2ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP2CCR1		0xFFFFF5B8		/* TMP2ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP2CNT		0xFFFFF5BA		/* TMP2ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP3CTL0		0xFFFFF5C0		/* TMP3å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP3CTL1		0xFFFFF5C1		/* TMP3å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP3IOC0		0xFFFFF5C2		/* TMP3I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP3IOC1		0xFFFFF5C3		/* TMP3I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP3IOC2		0xFFFFF5C4		/* TMP3I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP3OPT0		0xFFFFF5C5		/* TMP3ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP3CCR0		0xFFFFF5C6		/* TMP3ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP3CCR1		0xFFFFF5C8		/* TMP3ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP3CNT		0xFFFFF5CA		/* TMP3ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP4CTL0		0xFFFFF5D0		/* TMP4å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP4CTL1		0xFFFFF5D1		/* TMP4å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP4IOC0		0xFFFFF5D2		/* TMP4I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP4IOC1		0xFFFFF5D3		/* TMP4I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP4IOC2		0xFFFFF5D4		/* TMP4I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP4OPT0		0xFFFFF5D5		/* TMP4ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP4CCR0		0xFFFFF5D6		/* TMP4ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP4CCR1		0xFFFFF5D8		/* TMP4ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP4CNT		0xFFFFF5DA		/* TMP4ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	TP5CTL0		0xFFFFF5E0		/* TMP5å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP5CTL1		0xFFFFF5E1		/* TMP5å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP5IOC0		0xFFFFF5E2		/* TMP5I/Oå¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TP5IOC1		0xFFFFF5E3		/* TMP5I/Oå¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	TP5IOC2		0xFFFFF5E4		/* TMP5I/Oå¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	TP5OPT0		0xFFFFF5E5		/* TMP5ãªãã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+#define	TP5CCR0		0xFFFFF5E6		/* TMP5ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	TP5CCR1		0xFFFFF5E8		/* TMP5ã­ã£ããã£ï¼ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿1 */
+#define	TP5CNT		0xFFFFF5EA		/* TMP5ã«ã¦ã³ã¿ã»ãªã¼ãã»ãããã¡ã»ã¬ã¸ã¹ã¿ */
+#define	WTM			0xFFFFF680		/* æè¨ã¿ã¤ãåä½ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	TM0CTL0		0xFFFFF690		/* TMM0å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	TM0CMP0		0xFFFFF694		/* TMM0ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿0 */
+#define	OSTS		0xFFFFF6C0		/* çºæ¯å®å®æéé¸æã¬ã¸ã¹ã¿ */
+#define	PLLS		0xFFFFF6C1		/* PLLã­ãã¯ã¢ããæéæå®ã¬ã¸ã¹ã¿ */
+#define	WDTM2		0xFFFFF6D0		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿2 */
+#define	WDTE		0xFFFFF6D1		/* ã¦ã©ããããã°ã»ã¿ã¤ãã»ã¤ãã¼ãã«ã»ã¬ã¸ã¹ã¿ */
+#define	RTBL0		0xFFFFF6E0		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿0ï¼¬ */
+#define	RTBH0		0xFFFFF6E2		/* ãªã¢ã«ã¿ã¤ã åºåãããã¡ã»ã¬ã¸ã¹ã¿0H */
+#define	RTPM0		0xFFFFF6E4		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿0 */
+#define	RTPC0		0xFFFFF6E5		/* ãªã¢ã«ã¿ã¤ã åºåãã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+#define	PFCE3L		0xFFFFF706		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿L */
+#define	PFCE5		0xFFFFF70A		/* ãã¼ã5ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿ */
+#define	PFCE9		0xFFFFF712		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿ */
+#define	PFCE9L		0xFFFFF712		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿L */
+#define	PFCE9H		0xFFFFF713		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«æ¡å¼µã¬ã¸ã¹ã¿H */
+#define	SYS			0xFFFFF802		/* ã·ã¹ãã ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	RCM			0xFFFFF80C		/* ãªã³ã°OSCã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	DTFR0		0xFFFFF810		/* DMAããªã¬è¦å ã¬ã¸ã¹ã¿0 */
+#define	DTFR1		0xFFFFF812		/* DMAããªã¬è¦å ã¬ã¸ã¹ã¿1 */
+#define	DTFR2		0xFFFFF814		/* DMAããªã¬è¦å ã¬ã¸ã¹ã¿2 */
+#define	DTFR3		0xFFFFF816		/* DMAããªã¬è¦å ã¬ã¸ã¹ã¿3 */
+#define	PSMR		0xFFFFF820		/* ãã¯ã¼ã»ã»ã¼ãã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	CKC			0xFFFFF822		/* ã¯ã­ãã¯ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	LOCKR		0xFFFFF824		/* ã­ãã¯ã»ã¬ã¸ã¹ã¿ */
+#define	PCC			0xFFFFF828		/* ãã­ã»ããµã»ã¯ã­ãã¯ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	PLLCTL		0xFFFFF82C		/* PLLã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	CCLS		0xFFFFF82E		/* CPUåä½ã¯ã­ãã¯ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	CORAD0		0xFFFFF840		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0 */
+#define	CORAD0L		0xFFFFF840		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0L */
+#define	CORAD0H		0xFFFFF842		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0H */
+#define	CORAD1		0xFFFFF844		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1 */
+#define	CORAD1L		0xFFFFF844		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1L */
+#define	CORAD1H		0xFFFFF846		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1H */
+#define	CORAD2		0xFFFFF848		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2 */
+#define	CORAD2L		0xFFFFF848		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2L */
+#define	CORAD2H		0xFFFFF84A		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2H */
+#define	CORAD3		0xFFFFF84C		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3 */
+#define	CORAD3L		0xFFFFF84C		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3L */
+#define	CORAD3H		0xFFFFF84E		/* ã³ã¬ã¯ã·ã§ã³ã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿3H */
+#define	CLM			0xFFFFF870		/* ã¯ã­ãã¯ã»ã¢ãã¿ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	CORCN		0xFFFFF880		/* ã³ã¬ã¯ã·ã§ã³ã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+#define	RESF		0xFFFFF888		/* ãªã»ããè¦å ãã©ã°ã»ã¬ã¸ã¹ã¿ */
+#define	LVIM		0xFFFFF890		/* ä½é»å§æ¤åºã¬ã¸ã¹ã¿ */
+#define	LVIS		0xFFFFF891		/* ä½é»å§æ¤åºã¬ãã«é¸æã¬ã¸ã¹ã¿ */
+#define	RAMS		0xFFFFF892		/* å
+èµRAMãã¼ã¿ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define	PRSM0		0xFFFFF8B0		/* ããªã¹ã±ã¼ã©ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PRSCM0		0xFFFFF8B1		/* ããªã¹ã±ã¼ã©ã»ã³ã³ãã¢ã»ã¬ã¸ã¹ã¿ */
+#define	OCDM		0xFFFFF9FC		/* ãªã³ãããã»ãã£ãã°ã»ã¢ã¼ãã»ã¬ã¸ã¹ã¿ */
+#define	PEMU1		0xFFFFF9FE		/* å¨è¾ºã¨ãã¥ã¬ã¼ã·ã§ã³ã»ã¬ã¸ã¹ã¿1 */
+#define	UA0CTL0		0xFFFFFA00		/* UARTA0å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA0CTL1		0xFFFFFA01		/* UARTA0å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	UA0CTL2		0xFFFFFA02		/* UARTA0å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	UA0OPT0		0xFFFFFA03		/* UARTA0ãªãã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA0STR		0xFFFFFA04		/* UARTA0ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	UA0RX		0xFFFFFA06		/* UARTA0åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	UA0TX		0xFFFFFA07		/* UARTA0éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	UA1CTL0		0xFFFFFA10		/* UARTA1å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA1CTL1		0xFFFFFA11		/* UARTA1å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	UA1CTL2		0xFFFFFA12		/* UARTA1å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	UA1OPT0		0xFFFFFA13		/* UARTA1ãªãã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA1STR		0xFFFFFA14		/* UARTA1ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	UA1RX		0xFFFFFA16		/* UARTA1åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	UA1TX		0xFFFFFA17		/* UARTA1éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	UA2CTL0		0xFFFFFA20		/* UARTA2å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA2CTL1		0xFFFFFA21		/* UARTA2å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	UA2CTL2		0xFFFFFA22		/* UARTA2å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	UA2OPT0		0xFFFFFA23		/* UARTA2ãªãã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	UA2STR		0xFFFFFA24		/* UARTA2ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	UA2RX		0xFFFFFA26		/* UARTA2åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	UA2TX		0xFFFFFA27		/* UARTA2éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	INTF0		0xFFFFFC00		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿0 */
+#define	INTF3		0xFFFFFC06		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿3 */
+#define	INTF9H		0xFFFFFC13		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿9H */
+#define	INTR0		0xFFFFFC20		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿0 */
+#define	INTR3		0xFFFFFC26		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿3 */
+#define	INTR9H		0xFFFFFC33		/* å¤é¨å²ãè¾¼ã¿ç«ã¡ä¸ããã¨ãã¸æå®ã¬ã¸ã¹ã¿9H */
+#define	PF0			0xFFFFFC60		/* ãã¼ã0ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PF3			0xFFFFFC66		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PF3L		0xFFFFFC66		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿L */
+#define	PF3H		0xFFFFFC67		/* ãã¼ã3ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿H */
+#define	PF4			0xFFFFFC68		/* ãã¼ã4ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PF5			0xFFFFFC6A		/* ãã¼ã5ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PF9			0xFFFFFC72		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define	PF9L		0xFFFFFC72		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿L */
+#define	PF9H		0xFFFFFC73		/* ãã¼ã9ãã¡ã³ã¯ã·ã§ã³å¶å¾¡ã¬ã¸ã¹ã¿H */
+#define	CB0CTL0		0xFFFFFD00		/* CSIB0å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	CB0CTL1		0xFFFFFD01		/* CSIB0å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	CB0CTL2		0xFFFFFD02		/* CSIB0å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	CB0STR		0xFFFFFD03		/* CSIB0ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	CB0RX		0xFFFFFD04		/* CSIB0åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB0RXL		0xFFFFFD04		/* CSIB0åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB0TX		0xFFFFFD06		/* CSIB0éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB0TXL		0xFFFFFD06		/* CSIB0éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB1CTL0		0xFFFFFD10		/* CSIB1å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	CB1CTL1		0xFFFFFD11		/* CSIB1å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	CB1CTL2		0xFFFFFD12		/* CSIB1å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	CB1STR		0xFFFFFD13		/* CSIB1ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	CB1RX		0xFFFFFD14		/* CSIB1åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB1RXL		0xFFFFFD14		/* CSIB1åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB1TX		0xFFFFFD16		/* CSIB1éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB1TXL		0xFFFFFD16		/* CSIB1éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB2CTL0		0xFFFFFD20		/* CSIB2å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	CB2CTL1		0xFFFFFD21		/* CSIB2å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	CB2CTL2		0xFFFFFD22		/* CSIB2å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	CB2STR		0xFFFFFD23		/* CSIB2ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	CB2RX		0xFFFFFD24		/* CSIB2åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB2RXL		0xFFFFFD24		/* CSIB2åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB2TX		0xFFFFFD26		/* CSIB2éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB2TXL		0xFFFFFD26		/* CSIB2éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB3CTL0		0xFFFFFD30		/* CSIB3å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	CB3CTL1		0xFFFFFD31		/* CSIB3å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	CB3CTL2		0xFFFFFD32		/* CSIB3å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	CB3STR		0xFFFFFD33		/* CSIB3ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	CB3RX		0xFFFFFD34		/* CSIB3åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB3RXL		0xFFFFFD34		/* CSIB3åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB3TX		0xFFFFFD36		/* CSIB3éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB3TXL		0xFFFFFD36		/* CSIB3éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB4CTL0		0xFFFFFD40		/* CSIB4å¶å¾¡ã¬ã¸ã¹ã¿0 */
+#define	CB4CTL1		0xFFFFFD41		/* CSIB4å¶å¾¡ã¬ã¸ã¹ã¿1 */
+#define	CB4CTL2		0xFFFFFD42		/* CSIB4å¶å¾¡ã¬ã¸ã¹ã¿2 */
+#define	CB4STR		0xFFFFFD43		/* CSIB4ç¶æ
+ã¬ã¸ã¹ã¿ */
+#define	CB4RX		0xFFFFFD44		/* CSIB4åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB4RXL		0xFFFFFD44		/* CSIB4åä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	CB4TX		0xFFFFFD46		/* CSIB4éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿ */
+#define	CB4TXL		0xFFFFFD46		/* CSIB4éä¿¡ãã¼ã¿ã»ã¬ã¸ã¹ã¿L */
+#define	IIC0		0xFFFFFD80		/* IICã·ããã»ã¬ã¸ã¹ã¿0 */
+#define	IICC0		0xFFFFFD82		/* IICã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿0 */
+#define	SVA0		0xFFFFFD83		/* ã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿0 */
+#define	IICCL0		0xFFFFFD84		/* IICã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿0 */
+#define	IICX0		0xFFFFFD85		/* IICæ©è½æ¡å¼µã¬ã¸ã¹ã¿0 */
+#define	IICS0		0xFFFFFD86		/* IICç¶æ
+ã¬ã¸ã¹ã¿0 */
+#define	IICF0		0xFFFFFD8A		/* IICãã©ã°ã»ã¬ã¸ã¹ã¿0 */
+#define	IIC1		0xFFFFFD90		/* IICã·ããã»ã¬ã¸ã¹ã¿1 */
+#define	IICC1		0xFFFFFD92		/* IICã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿1 */
+#define	SVA1		0xFFFFFD93		/* IICã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿1 */
+#define	IICCL1		0xFFFFFD94		/* IICã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿1 */
+#define	IICX1		0xFFFFFD95		/* IICæ©è½æ¡å¼µã¬ã¸ã¹ã¿1 */
+#define	IICS1		0xFFFFFD96		/* IICç¶æ
+ã¬ã¸ã¹ã¿1 */
+#define	IICF1		0xFFFFFD9A		/* IICãã©ã°ã»ã¬ã¸ã¹ã¿1 */
+#define	IIC2		0xFFFFFDA0		/* IICã·ããã»ã¬ã¸ã¹ã¿2 */
+#define	IICC2		0xFFFFFDA2		/* IICã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿2 */
+#define	SVA2		0xFFFFFDA3		/* IICã¹ã¬ã¼ãã»ã¢ãã¬ã¹ã»ã¬ã¸ã¹ã¿2 */
+#define	IICCL2		0xFFFFFDA4		/* IICã¯ã­ãã¯é¸æã¬ã¸ã¹ã¿2 */
+#define	IICX2		0xFFFFFDA5		/* IICæ©è½æ¡å¼µã¬ã¸ã¹ã¿2 */
+#define	IICS2		0xFFFFFDA6		/* IICç¶æ
+ã¬ã¸ã¹ã¿2 */
+#define	IICF2		0xFFFFFDAA		/* IICãã©ã°ã»ã¬ã¸ã¹ã¿2 */
+#define	EXIMC		0xFFFFFFBE		/* å¤é¨ãã¹ã»ã¤ã³ã¿ãã§ã¼ã¹ã»ã¢ã¼ãã»ã³ã³ãã­ã¼ã«ã»ã¬ã¸ã¹ã¿ */
+
+#endif	/* _V850ES_SG2_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_config.h	(revision 26)
@@ -0,0 +1,282 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.5 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define	_LABEL_ALIAS(new_label, defined_label) \
+	asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit()
+{
+	extern void	software_term_hook(void);
+	volatile FP	fp = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatile FPåã®fpã«
+	 *  ä»£å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªããã
+	 *  ã«ããããã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_INH_LEAVE(inhno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ISR_ENTER(intno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_ISR_LEAVE(intno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_CYC_ENTER(cyccb)
+#define	LOG_CYC_LEAVE(cyccb)
+
+#define	LOG_EXC_ENTER(excno)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_EXC_LEAVE(excno)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_TEX_ENTER(texptn)
+#define	LOG_TEX_LEAVE(texptn)
+
+#define	LOG_TSKSTAT(tcb)
+
+#define	LOG_DSP_ENTER(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+#define	LOG_DSP_LEAVE(tcb)		/* ãã­ã»ããµä¾å­é¨ */
+
+#define	LOG_ACT_TSK_ENTER(tskid)
+#define	LOG_ACT_TSK_LEAVE(ercd)
+#define	LOG_IACT_TSK_ENTER(tskid)
+#define	LOG_IACT_TSK_LEAVE(ercd)
+#define	LOG_CAN_ACT_ENTER(tskid)
+#define	LOG_CAN_ACT_LEAVE(ercd)
+#define	LOG_EXT_TSK_ENTER()
+#define	LOG_TER_TSK_ENTER(tskid)
+#define	LOG_TER_TSK_LEAVE(ercd)
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define	LOG_CHG_PRI_LEAVE(ercd)
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define	LOG_SLP_TSK_ENTER()
+#define	LOG_SLP_TSK_LEAVE(ercd)
+#define	LOG_TSLP_TSK_ENTER(tmout)
+#define	LOG_TSLP_TSK_LEAVE(ercd)
+#define	LOG_WUP_TSK_ENTER(tskid)
+#define	LOG_WUP_TSK_LEAVE(ercd)
+#define	LOG_IWUP_TSK_ENTER(tskid)
+#define	LOG_IWUP_TSK_LEAVE(ercd)
+#define	LOG_CAN_WUP_ENTER(tskid)
+#define	LOG_CAN_WUP_LEAVE(ercd)
+#define	LOG_REL_WAI_ENTER(tskid)
+#define	LOG_REL_WAI_LEAVE(ercd)
+#define	LOG_IREL_WAI_ENTER(tskid)
+#define	LOG_IREL_WAI_LEAVE(ercd)
+#define	LOG_SUS_TSK_ENTER(tskid)
+#define	LOG_SUS_TSK_LEAVE(ercd)
+#define	LOG_RSM_TSK_ENTER(tskid)
+#define	LOG_RSM_TSK_LEAVE(ercd)
+#define	LOG_FRSM_TSK_ENTER(tskid)
+#define	LOG_FRSM_TSK_LEAVE(ercd)
+#define	LOG_DLY_TSK_ENTER(dlytim)
+#define	LOG_DLY_TSK_LEAVE(ercd)
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_RAS_TEX_LEAVE(ercd)
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define	LOG_IRAS_TEX_LEAVE(ercd)
+#define	LOG_DIS_TEX_ENTER()
+#define	LOG_DIS_TEX_LEAVE(ercd)
+#define	LOG_ENA_TEX_ENTER()
+#define	LOG_ENA_TEX_LEAVE(ercd)
+#define	LOG_SNS_TEX_ENTER()
+#define	LOG_SNS_TEX_LEAVE(state)
+#define	LOG_SIG_SEM_ENTER(semid)
+#define	LOG_SIG_SEM_LEAVE(ercd)
+#define	LOG_ISIG_SEM_ENTER(semid)
+#define	LOG_ISIG_SEM_LEAVE(ercd)
+#define	LOG_WAI_SEM_ENTER(semid)
+#define	LOG_WAI_SEM_LEAVE(ercd)
+#define	LOG_POL_SEM_ENTER(semid)
+#define	LOG_POL_SEM_LEAVE(ercd)
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)
+#define	LOG_TWAI_SEM_LEAVE(ercd)
+#define	LOG_SET_FLG_ENTER(flgid, setptn)
+#define	LOG_SET_FLG_LEAVE(ercd)
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)
+#define	LOG_ISET_FLG_LEAVE(ercd)
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define	LOG_CLR_FLG_LEAVE(ercd)
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define	LOG_SND_DTQ_ENTER(dtqid, data)
+#define	LOG_SND_DTQ_LEAVE(ercd)
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)
+#define	LOG_PSND_DTQ_LEAVE(ercd)
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IPSND_DTQ_LEAVE(ercd)
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define	LOG_TSND_DTQ_LEAVE(ercd)
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)
+#define	LOG_FSND_DTQ_LEAVE(ercd)
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define	LOG_IFSND_DTQ_LEAVE(ercd)
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define	LOG_SND_MBX_LEAVE(ercd)
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_GET_MPF_LEAVE(ercd, blk)
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)
+#define	LOG_REL_MPF_ENTER(mpfid, blk)
+#define	LOG_REL_MPF_LEAVE(ercd)
+#define	LOG_SET_TIM_ENTER(p_systim)
+#define	LOG_SET_TIM_LEAVE(ercd)
+#define	LOG_GET_TIM_ENTER(p_systim)
+#define	LOG_GET_TIM_LEAVE(ercd, systim)
+#define	LOG_ISIG_TIM_ENTER()
+#define	LOG_ISIG_TIM_LEAVE(ercd)
+#define	LOG_STA_CYC_ENTER(cycid)
+#define	LOG_STA_CYC_LEAVE(ercd)
+#define	LOG_STP_CYC_ENTER(cycid)
+#define	LOG_STP_CYC_LEAVE(ercd)
+#define	LOG_ROT_RDQ_ENTER(tskpri)
+#define	LOG_ROT_RDQ_LEAVE(ercd)
+#define	LOG_IROT_RDQ_ENTER(tskpri)
+#define	LOG_IROT_RDQ_LEAVE(ercd)
+#define	LOG_GET_TID_ENTER(p_tskid)
+#define	LOG_GET_TID_LEAVE(ercd, tskid)
+#define	LOG_IGET_TID_ENTER(p_tskid)
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)
+#define	LOG_LOC_CPU_ENTER()
+#define	LOG_LOC_CPU_LEAVE(ercd)
+#define	LOG_ILOC_CPU_ENTER()
+#define	LOG_ILOC_CPU_LEAVE(ercd)
+#define	LOG_UNL_CPU_ENTER()
+#define	LOG_UNL_CPU_LEAVE(ercd)
+#define	LOG_IUNL_CPU_ENTER()
+#define	LOG_IUNL_CPU_LEAVE(ercd)
+#define	LOG_DIS_DSP_ENTER()
+#define	LOG_DIS_DSP_LEAVE(ercd)
+#define	LOG_ENA_DSP_ENTER()
+#define	LOG_ENA_DSP_LEAVE(ercd)
+#define	LOG_SNS_CTX_ENTER()
+#define	LOG_SNS_CTX_LEAVE(state)
+#define	LOG_SNS_LOC_ENTER()
+#define	LOG_SNS_LOC_LEAVE(state)
+#define	LOG_SNS_DSP_ENTER()
+#define	LOG_SNS_DSP_LEAVE(state)
+#define	LOG_SNS_DPN_ENTER()
+#define	LOG_SNS_DPN_LEAVE(state)
+#define	LOG_VSNS_INI_ENTER()
+#define	LOG_VSNS_INI_LEAVE(state)
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)
+#define	LOG_VXSNS_CTX_LEAVE(state)
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)
+#define	LOG_VXSNS_LOC_LEAVE(state)
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)
+#define	LOG_VXSNS_DSP_LEAVE(state)
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)
+#define	LOG_VXSNS_DPN_LEAVE(state)
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)
+#define	LOG_VXSNS_TEX_LEAVE(state)
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#define	LOG_CHG_IPM_ENTER(ipm)
+#define	LOG_CHG_IPM_LEAVE(ercd)
+#define	LOG_GET_IPM_ENTER(p_ipm)
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/tool_defs.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.4 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.h ã¨ itron.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼
+ *  ããããï¼ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤
+ *  ã³ã¯ã«ã¼ããã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤
+ *  ã«ã«ä¾å­ãã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define	_int8_		char		/* 8ãããã®æ´æ°å */
+#define	_int16_		short		/* 16ãããã®æ´æ°å */
+#define	_int32_		int		/* 32ãããã®æ´æ°å */
+#define _int64_		long long	/* 64ãããã®æ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus			/* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L		/* C99 ã«ã¯ inline ããã */
+#define	inline		__inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define	Inline		static inline
+
+#ifndef __cplusplus			/* C++ ã«ã¯ asm ããã */
+#define	asm		__asm__
+#endif /* __cplusplus */
+
+#define	Asm		__asm__ volatile
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850asm.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850asm.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850asm.inc	(revision 26)
@@ -0,0 +1,111 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850asm.inc,v 1.8 2007/01/05 02:10:17 honda Exp $
+ */
+
+/*
+ *  V850ã¢ã»ã³ãã©ç¨ããããå®ç¾©ãã¡ã¤ã«
+ */
+
+
+	/*
+	 * ã©ãã«ã­ã¼ã Lea (Load Effective Address)
+	 */
+	 
+	.macro	Lea name, destination
+	movhi	hi(\name), r0, \destination
+	movea	lo(\name), \destination, \destination
+	.endm
+
+
+	/*
+	 * é¢æ°å®£è¨ Function
+	 *
+	 *   é¢æ°åã¨ãã¦ä½¿ãã©ãã«å²ä»ã¨ è«¸è¨­å®ãè¡ã
+	 */
+	 
+	.macro	Function name
+	.text
+	.align	4
+	.globl	\name
+	.type	\name,@function
+\name:
+	.endm
+
+	/*
+	 * ã©ãã«å®£è¨ Label
+	 *
+	 *   é¢æ°åã¨ãã¦ä½¿ãã©ãã«å²ä»ãè¡ã
+	 */
+	
+	.macro	Label name
+	.globl	\name
+	.type	\name,@function
+\name:
+	.endm
+
+	/*
+	 * ã¹ã¿ãã¯æä½ - ããã·ã¥
+	 */
+	
+	.macro	Push source
+	add	-4, sp
+	st.w	\source, 0[sp]
+	.endm
+	
+	/*
+	 * ã¹ã¿ãã¯æä½ - ããã
+	 */
+	
+	.macro	Pop dest
+	ld.w	0[sp],\dest
+	add	4, sp
+	.endm
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850elf.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850elf.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/v850/v850elf.ld	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: v850elf.ld,v 1.4 2002/04/10 11:17:16 takayuki Exp $
+ */
+
+/*
+ *  @(#) $Id: v850elf.ld,v 1.4 2002/04/10 11:17:16 takayuki Exp $
+ */
+
+OUTPUT_FORMAT("elf32-v850","elf32-v850","elf32-v850")
+OUTPUT_ARCH(v850)
+
+PROVIDE(__stack = 0);
+PROVIDE(hardware_init_hook = 0);
+PROVIDE(software_init_hook = 0);
+SECTIONS
+{
+	.vector : AT(0)
+	{
+		*(.vector)
+	}
+    .text :	
+    {
+        __text = . ;
+        *(.text)
+
+    }
+    _etext = .	;
+    PROVIDE (etext = .)	;
+    .rodata : { *(.rodata) }
+	_textend = .;
+
+    . = 0x00ffb000;
+    __idata_start = . ;
+    .data   :  AT(__idata_start) 
+    {
+        __data_start = . ;
+        *(.data)
+    }
+    __idata_end = __idata_start + SIZEOF(.data);
+    _edata  =  . ;
+    PROVIDE (edata = .);
+    . = ALIGN(4);
+    __bss_start = .	;		
+    .bss       :
+    {
+
+      *(.bss)
+      *(COMMON)
+    }
+    _end = .		;
+    PROVIDE (end = .)	;
+    .comment 0 : { *(.comment) }	
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }	
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/api.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/api.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/api.h	(revision 26)
@@ -0,0 +1,181 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: api.h,v 1.2 2003/06/30 15:44:11 takayuki Exp $
+ */
+
+#ifndef API_H
+#define API_H
+
+#define __cycini
+#define __cycenq
+#define __sta_cyc
+#define __stp_cyc
+#define __cyccal
+#define __dtqini
+#define __dtqenq
+#define __dtqfenq
+#define __dtqdeq
+#define __dtqsnd
+#define __dtqrcv
+#define __snd_dtq
+#define __psnd_dtq
+#define __ipsnd_dtq
+#define __tsnd_dtq
+#define __fsnd_dtq
+#define __ifsnd_dtq
+#define __rcv_dtq
+#define __prcv_dtq
+#define __trcv_dtq
+#define __flgini
+#define __flgcnd
+#define __set_flg
+#define __iset_flg
+#define __clr_flg
+#define __wai_flg
+#define __pol_flg
+#define __twai_flg
+#define __excini
+#define __vxsns_ctx
+#define __vxsns_loc
+#define __vxsns_dsp
+#define __vxsns_dpn
+#define __vxsns_tex
+#define __inhini
+#define __mbxini
+#define __snd_mbx
+#define __rcv_mbx
+#define __prcv_mbx
+#define __trcv_mbx
+#define __mpfini
+#define __mpfget
+#define __get_mpf
+#define __pget_mpf
+#define __tget_mpf
+#define __rel_mpf
+#define __semini
+#define __sig_sem
+#define __isig_sem
+#define __wai_sem
+#define __pol_sem
+#define __twai_sem
+#define __rot_rdq
+#define __irot_rdq
+#define __get_tid
+#define __iget_tid
+#define __loc_cpu
+#define __iloc_cpu
+#define __unl_cpu
+#define __iunl_cpu
+#define __dis_dsp
+#define __ena_dsp
+#define __sns_ctx
+#define __sns_loc
+#define __sns_dsp
+#define __sns_dpn
+#define __logini
+#define __vwri_log
+#define __vrea_log
+#define __vmsk_log
+#define __logter
+#define __tskini
+#define __tsksched
+#define __tskrun
+#define __tsknrun
+#define __tskdmt
+#define __tskact
+#define __tskext
+#define __tskpri
+#define __tskrot
+#define __tsktex
+#define __ras_tex
+#define __iras_tex
+#define __dis_tex
+#define __ena_tex
+#define __sns_tex
+#define __act_tsk
+#define __iact_tsk
+#define __can_act
+#define __ext_tsk
+#define __ter_tsk
+#define __chg_pri
+#define __get_pri
+#define __slp_tsk
+#define __tslp_tsk
+#define __wup_tsk
+#define __iwup_tsk
+#define __can_wup
+#define __rel_wai
+#define __irel_wai
+#define __sus_tsk
+#define __rsm_tsk
+#define __frsm_tsk
+#define __dly_tsk
+#define __tmeini
+#define __tmeup
+#define __tmedown
+#define __tmeins
+#define __tmedel
+#define __isig_tim
+#define __set_tim
+#define __get_tim
+#define __vxget_tim
+#define __waimake
+#define __waicmp
+#define __waitmo
+#define __waitmook
+#define __waican
+#define __wairel
+#define __wobjwai
+#define __wobjwaitmo
+#define __wobjpri
+
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.cpp	(revision 26)
@@ -0,0 +1,1249 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: com_support.cpp,v 1.10 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+#include <vitron.h>
+#include <com_support.h>
+#include <eventlog.h>
+#include "syslog.h"
+
+#include <resource.h>
+
+#include <commctrl.h>
+
+/*
+ *  åã«èãããäºã®èª¬æ
+ *     Q: Cã¹ã¿ã¤ã«ã³ã¡ã³ãã¨C++ã¹ã¿ã¤ã«ã³ã¡ã³ããæ··ãã£ã¦ãã¾ãã?
+ *     A: æ°æ¥½ã«ã³ã¡ã³ãã¢ã¦ããããã¨å°ãå¦çãCã¹ã¿ã¤ã«ã³ã¡ã³ãã§ãä¼¼ããããªå¦çãããå ´æã®èª¬æã«C++ã¹ã¿ã¤ã«ã³ã¡ã³ããä½¿ã£ã¦ãã¾ãã
+ *
+ *     Q: å¤æ°ã®åã¥ãè¦åããã¡ããã¡ãã§ãã?
+ *     A: åºæ¬çã«ã¹ã³ã¼ãç¯å²ã§ä½¿ãåãã¦ãã¾ãã
+ *          ã­ã¼ã«ã«ãå°æå­+"_", ã°ã­ã¼ãã«ãå¤§æå­å°æå­, ã¡ã³ããJavaã£ã½ãã¹ã¿ã¤ã«
+ *
+ *     Q: INVALID_HANDLE_VALUE ã¨ NULL ãã©ãä½¿ãåãã¦ããã®ã§ãã?
+ *     A: CreateXxxxãå¤±ææã«è¿å´ããå¤ã§ãããã¾ããã
+ *        å
+·ä½çã«ã¯ããã¡ã¤ã«ã¯INVALID_HANDLE_VALUE(CreateFile)ã§ãããä»¥å¤ãNULLã«ãªã£ã¦ã¾ãã
+ */
+
+#ifndef __COM_NOT_REQUIRED__
+
+
+//===================================================
+/*
+ *   å
+±éé¨
+ */
+extern "C" SYSTIM		_kernel_systim_offset;
+extern "C" SYSTIM		_kernel_current_time;
+extern "C" HINSTANCE	ProcessInstance;
+extern "C" HANDLE		PrimaryDialogHandle;
+extern "C" BOOL			ShutdownPostponementRequest;
+extern "C" int          CPUStatus;
+
+extern "C" void FatalAssertion(int exp, LPCSTR format, ... );
+
+extern "C" void enter_system_critical_section(BOOL * cookie);
+extern "C" void leave_system_critiacl_section(BOOL * cookie);
+
+#ifdef KERNEL_DEBUG_MODE
+   extern "C" _kernel_debugprintf(const char * format, ... );
+#  define kprintf(x) _kernel_debugprintf x
+#else
+#  define kprintf(x)
+#endif
+
+//===================================================
+
+	/* ã¦ã¼ã¶å®ç¾©ã®ã­ã° */
+#define USERDEFINED	0x60
+#define LOG_MODULENAME (0 | USERDEFINED)	/* ã¢ã¸ã¥ã¼ã«ã®åå   */
+#define LOG_TIMESTAMP  (1 | USERDEFINED)    /* è¨é²ãéå§ããæå» (SYSTEMTIMEæ§é ä½ããã®ã¾ã¾ãã³ã) */
+
+#define  __HAL_MSG_MSGONLY
+#include <hal_msg.h>
+
+#include <string>
+
+namespace
+{
+	/*
+	 *   COMã¤ã³ã¿ã¼ãã§ã¼ã¹é¢é£ã®å®ç¾©
+	 */
+
+		//è«¸ã
+ã®IDã®å®£è¨
+	const IID   IID_IKernelEvents = {0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}};
+	const IID   IID_IKernel       = {0xD3E42099,0x3FDD,0x4A78,{0xBD,0xBD,0x4E,0x57,0xD3,0x62,0xF5,0xED}};
+	const CLSID CLSID_Kernel      = {0x51789667,0x9F20,0x40AF,{0xAF,0x7F,0x98,0x56,0x32,0x5D,0xFB,0x0B}};
+
+		// IKernelã¤ã³ã¿ã¼ãã§ã¼ã¹å®ç¾©
+	class IKernel : public IUnknown
+	{
+	public:
+		STDMETHOD(Read)(unsigned long address,unsigned long sz,char __RPC_FAR data[]) PURE;
+		STDMETHOD(IsValid)(BOOL __RPC_FAR * valid) PURE;
+		STDMETHOD(Write)(unsigned long address,unsigned long sz,char __RPC_FAR data[]) PURE;
+		STDMETHOD(OnLogEvent)(long sz, unsigned char __RPC_FAR data[]) PURE;
+	};
+
+		// IKernelEventsã¤ã³ã¿ãã§ã¼ã¹å®ç¾©
+	class IKernelEvents : public IUnknown
+	{
+	public:
+		STDMETHOD(QueryInterface)(REFIID iid, void ** unk);
+		STDMETHOD_(ULONG,AddRef)();
+		STDMETHOD_(ULONG,Release)();
+		STDMETHOD(OnInterruptRequest)(long inhno);
+
+		IKernelEvents(void);
+
+		long RefCount;
+	};
+
+	/*
+	 *   IKernelEventså®è£
+
+	 */
+
+	IKernelEvents::IKernelEvents(void) : RefCount(0)
+	{}
+
+    STDMETHODIMP IKernelEvents::QueryInterface(REFIID iid, void ** unk)
+	{
+		if( iid == IID_IKernelEvents || iid == IID_IUnknown )
+		{
+			*unk = this;
+			::InterlockedIncrement(&RefCount);
+			return S_OK;
+		}
+
+		return E_NOINTERFACE;
+	}
+
+	STDMETHODIMP_(ULONG) IKernelEvents::AddRef()
+	{	return ::InterlockedIncrement(&RefCount);	}
+
+	STDMETHODIMP_(ULONG) IKernelEvents::Release()
+	{
+		if( ::InterlockedDecrement(&RefCount) == 0)
+			delete this;
+		return RefCount;
+	}
+
+	STDMETHODIMP IKernelEvents::OnInterruptRequest(long inhno)
+	{
+
+		if(inhno < 0)
+		{
+			/* inhno < 0 ã¯ç¹æ®ãªæå³ãæã¤ */
+
+			/* inhno = -1 : keep-alive */
+		}else
+			::PostMessage((HWND)PrimaryDialogHandle,HALMSG_MESSAGE,HALMSG_INTERRUPT,(LPARAM)inhno);
+		return S_OK;
+	}
+}
+
+namespace {
+	/*
+	 *   COMéä¿¡ç¨ä½æ¥­ã¹ã¬ããã«é¢ããå®ç¾©
+	 */
+
+	HANDLE request_semaphore    = NULL;		//è¦æ±å¾
+ã¡ã»ããã©
+	HANDLE worker_thread_handle = NULL;		//ä½æ¥­ã¹ã¬ããã®ãã³ãã«
+
+	//==============================================================================
+
+		//COMä½æ¥­ã¹ã¬ãããæ­£å¸¸ã«ä½åãã¦ãããå¦ã
+	inline bool IsValid(void)
+	{	return (request_semaphore != NULL) && (worker_thread_handle != NULL);	}
+
+	//===================================================
+
+		/*
+		 *    Q: ã©ããã¦ã·ã¹ãã ã­ãã¯ãå¿
+è¦ãªã®?
+		 *    A: ã­ã°ã¤ãã³ããã­ã¥ã¼ã¤ã³ã°ããããã«åã¿ã¹ã¯/å²è¾¼ã¿ã¹ã¬ãããã¡ã¢ãªãåã
+		 *        -> VisualC++ã®ãã«ãã¹ã¬ããç¨ã¡ã¢ãªç¢ºä¿ã©ã¤ãã©ãªã¯å
+é¨ã§ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãªãã¸ã§ã¯ããä½¿ã£ã¦æä»å¶å¾¡ãã¦ãã
+		 *        -> TOPPERS/JSP Windowsã®ãã£ã¹ãããã£(ç®¡çã¹ã¬ãã)ã¯è¦æ±ãæ¥ãã¨ä»åãã¦ããã¹ã¬ãããæ­¢ãã«ããã
+		 *        -> ã¡ã¢ãªç¢ºä¿ç¨ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãæã£ãã¾ã¾SuspendThreadããã¦ãã¾ããã¡ã¢ãªç¢ºä¿è¦æ±ãåºããä»ã®ã¹ã¬ããå
+¨ã¦ãã­ãã¯
+		 *        -> ç®¡çã¹ã¬ãããã­ã°ãåºãããã«ã¡ã¢ãªãã¨ãã«æ¥ãã®ã§ãç®¡çã¹ã¬ãããã­ãã¯
+		 *        -> ç®¡çã¹ã¬ãããã­ãã¯ãããã¨ãæåã«SuspendThreadãããã¤ããèµ·ããã¹ã¬ãããããªã
+		 *        -> ãããã­ãã¯
+		 *    è£è¶³ : COMéä¿¡ä½æ¥­ã¹ã¬ãããã³ã³ã½ã¼ã«ç®¡çã¹ã¬ããã®ããã«ç®¡çã¹ã¬ããã®SuspendThreadã®å¯¾è±¡ã«ãªããªãã¹ã¬ããã¯ã­ãã¯ããªãã¦ããã
+		 */
+
+	//===================================================
+
+		/* ä½æ¥­ã¹ã¬ããã«ä¸ãããã¼ã¿ãä¿æããã¯ã©ã¹ */
+	class Request
+	{
+	public:
+		enum tagRequestType
+		{
+			Confirmation = 0x00,	/* ã¯ã¼ã«ã¹ã¬ããã®åä½ç¢ºèª (ã»ããã©ããããã ã) */
+			
+			DeviceRead   = 0x01,	/* ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ èª­åºãæä½ */
+			DeviceWrite  = 0x02,	/* ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ æ¸è¾¼ã¿æä½ */
+
+			EventLog     = 0x03,	/* ã¤ãã³ãã­ã°éåº */
+
+			QuitThread   = 0xff		/* ä½æ¥­ã¹ã¬ããã®çµäº */
+		};
+
+	protected:
+		bool                blocking;
+		bool				allocated;
+		enum tagRequestType type;
+		unsigned long       address;		/* ããã¤ã¹ : ããã¤ã¹ã®ããã¢ãã¬ã¹ */
+		unsigned long       size;			/* å
+±é     : storageãæã¤ãã¼ã¿ã®ãµã¤ãº */
+		HGLOBAL             storage;		/* å
+±é     : ãã¼ã¿ãæ ¼ç´ãã¦ããé åã®ã¢ãã¬ã¹(ãã³ãã«) */
+		int                 result;			/* å
+±é     : ãã­ãã­ã³ã°å®è¡æã®è¿å´å° */
+		HANDLE              signalobject;	/* å
+±é     : ãã­ãã­ã³ã°å®è¡æã®ã¹ã¬ãããã³ãã« */
+
+		Request *           next;		/* ã­ã¥ã¼ã«ããããã®ãªã³ã¯ */
+
+		static LONG      RequestCount;	//ã­ã¥ã¼ã«ã¤ãªãã£ã¦ãããªã¯ã¨ã¹ãã®æ°
+		static Request * top;			//ãªã¯ã¨ã¹ãã­ã¥ã¼ã®å
+é ­ (ãã£ã¨ãå¤ããªã¯ã¨ã¹ã)
+		static Request * tail;			//ãªã¯ã¨ã¹ãã­ã¥ã¼ã®æ«å°¾ (ãã£ã¨ãæ°ãããªã¯ã¨ã¹ã)
+		static CRITICAL_SECTION cs;		//æä»ã­ã¥ã¼æä½ç¨å±éºé åãªãã¸ã§ã¯ã
+
+		void connect(void)
+		{
+				//è¦æ±ãã­ã¥ã¼ã«ã¤ãªã
+			::EnterCriticalSection(&cs);
+			next = NULL;
+			if(tail != NULL)
+				tail->next = this;
+			tail = this;
+			if(top == NULL)
+				top = tail;
+			::LeaveCriticalSection(&cs);
+
+			::InterlockedIncrement(&RequestCount);
+		}
+
+	protected:
+			//ã³ã³ã¹ãã©ã¯ã¿
+		Request(enum tagRequestType _type, bool _block, unsigned int _size = 0, void * _storage = NULL, unsigned long _address = 0)
+            :   blocking(_block), allocated(false), type(_type), address(_address), 
+                size(0), storage(NULL), result(-1), signalobject(NULL), next(NULL)
+		{
+			size    = _size;
+
+			if(size != 0)
+			{
+					//é åãæå®ããã¦ãªãå ´åãåçã«ç¢ºä¿ãã
+				if(_storage != NULL)
+					storage = static_cast<HGLOBAL>(_storage);
+				else
+					allocate(size, false);
+			}
+		}
+
+	public:
+			//ãã¹ãã©ã¯ã¿
+		virtual ~Request(void)
+		{
+
+				//é åãåçç¢ºä¿ããã¦ããå ´åãç ´æ£ãè¡ã
+			if(storage != NULL && allocated)
+			{
+				BOOL lock;
+
+				enter_system_critical_section(&lock);
+	            ::GlobalFree(storage);
+				leave_system_critiacl_section(&lock);
+			}
+		}
+
+		static void initialize(void)
+		{
+            kprintf(("Request::initialize()\n"));
+			if(RequestCount == -1)
+			{
+				::InitializeCriticalSection(&cs);
+				RequestCount = 0;
+				top  = NULL;
+				tail = NULL;
+			}
+		}
+
+		static void finalize(void)
+		{
+            kprintf(("Request::finalize()\n"));
+			if(RequestCount != -1)
+			{
+				while(top != NULL)
+				{
+					Request * target = top;
+					top = top->next;
+					delete target;
+				}
+
+				::DeleteCriticalSection(&cs);	
+				RequestCount = -1;
+			}
+		}
+
+			// ã·ã¹ãã ãã­ãã¯ããªãã§ã¡ã¢ãªéæ¾
+		inline void release(void)
+		{
+			if(storage != NULL && allocated)
+			{
+				::GlobalFree(storage);
+				storage = 0;
+			}
+		}
+
+		inline bool isBlockingRequest(void) const
+		{	return blocking;	}
+
+		inline enum tagRequestType getType(void) const
+		{	return type;	}
+
+		inline bool operator == (enum tagRequestType _type) const
+		{	return type == _type;	}
+
+		inline bool operator != (enum tagRequestType _type) const
+		{	return !(operator ==(_type));	}
+
+		inline void * getStorage(void)
+		{	return reinterpret_cast<void *>(storage);	}
+
+		inline unsigned long getAddress(void) const
+		{	return address;   }
+
+		inline unsigned long getSize(void) const
+		{	return size;	}
+
+		inline int getResult(void) const
+		{	return result;	}
+
+		static inline LONG getRequestCount(void)
+		{	return RequestCount;	}
+
+			//é åã®ç¢ºä¿
+			//	_size   : å¿
+è¦ã¨ããé åã®ãµã¤ãº
+			//	realloc : å
+å®¹ãä¿æãããå¦ã
+		bool allocate(unsigned int _size, bool realloc = false)
+		{
+			unsigned long old_size;
+			HGLOBAL       old_storage;
+			BOOL          lock;
+
+			FatalAssertion(type != Confirmation, "Request::allocate was performed with Confirmation Request Object.");
+
+			old_size    = size;
+			old_storage = storage;
+
+			enter_system_critical_section(&lock);
+			storage = ::GlobalAlloc(GMEM_FIXED, _size);
+
+			FatalAssertion(storage != NULL, "Request::allocate failed to allocate a memory block.");
+
+				//åã®å
+å®¹ã®ä¿æ ããã³é åç ´æ£
+			if(old_storage != NULL)
+			{
+				if(realloc)
+					::CopyMemory(storage, old_storage, old_size);
+
+				if(allocated)
+					::GlobalFree(old_storage);
+			}
+			leave_system_critiacl_section(&lock);
+
+			allocated = true;
+			size = _size;
+
+			return true;
+		}
+
+			//å
+å®¹ãä¿æããã¾ã¾åã¢ã­ã±ã¼ã
+		inline bool reallocate(unsigned int _size)
+		{	return allocate(_size, true);   }
+
+			//ä¿æé åã«å¯¾ããæ¸è¾¼ã¿
+		inline void set(void * data, unsigned int sz, unsigned int offset = 0)
+		{
+			if(size < sz)
+				reallocate(sz + offset);
+
+			::CopyMemory(reinterpret_cast<char *>(storage) + offset, data, sz);
+		}
+
+			//ä¿æé åã«å¯¾ããèª­è¾¼ã¿
+		inline bool get(void * data, unsigned int sz, unsigned int offset = 0)
+		{
+			if(size < sz + offset)
+				return false;
+
+			::CopyMemory(data, reinterpret_cast<char *>(storage) + offset, sz);
+		}
+
+			//ä¿æé åã®ä»»æã®ä½ç½®ã«å¯¾ãããã¤ã³ã¿åå¾
+			//		offset : å
+é ­ããã®ãã¤ããªãã»ãã
+		void * getptr(unsigned int offset = 0)
+		{
+			if(offset > size || storage == NULL)
+				return NULL;
+
+			return reinterpret_cast<void *>(reinterpret_cast<char *>(storage) + offset);
+		}
+
+			/*
+			 *   Requestãªãã¸ã§ã¯ããã¡ã¯ããª
+			 *     Q: ã©ããã¦ãã¡ã¯ããªãå¿
+è¦ãªã®ã?
+			 *     A: ã¡ã¢ãªç¢ºä¿ãããå
+ã«CPUãã­ãã¯ããå¿
+è¦ããããã (è©³ç´°ã¯ä¸è¨CPUã­ãã¯ããçç±ãåç
+§)
+			 */			
+		static Request * Create(enum tagRequestType _type, bool _block, unsigned int _size = 0, void * _storage = NULL, unsigned long _address = 0)
+		{
+			Request * request;
+			BOOL      lock;
+
+			enter_system_critical_section(&lock);
+			request = new Request(_type, _block, _size, _storage, _address);
+			leave_system_critiacl_section(&lock);
+		
+			return request;
+		}
+
+		static Request * GetRequest(void)
+		{
+			Request * result;
+
+			::EnterCriticalSection(&cs);
+			result = top;
+			if(top != NULL)
+			{
+				top = top->next;
+				if(top == NULL)
+					tail = NULL;
+			}
+			::LeaveCriticalSection(&cs);
+
+			::InterlockedDecrement(&RequestCount);
+
+			return result;
+		}
+
+		void Finalize(bool succeeded)
+		{
+			if(this != 0) {
+				if(isBlockingRequest())
+					signal(succeeded ? getSize() : -1);
+				else
+				{
+					BOOL lock;
+
+					enter_system_critical_section(&lock);
+					delete this;
+					leave_system_critiacl_section(&lock);
+				}
+			}
+		}
+
+        virtual void signal(int _result = 0)
+		{
+			result = _result;
+			if(signalobject != NULL)
+				::PostThreadMessage((DWORD)signalobject, WM_QUIT, 0, 0);
+		}
+				
+			/*
+			 *   æ°ããè¦æ±ã®çºè¡
+			 *     (ãã®é¢æ°ãä½¿ãã¹ã¬ãã : ç®¡çã¹ã¬ãã, å²è¾¼ã¿ã¹ã¬ãã, ã¿ã¹ã¯ã¹ã¬ãã)
+			 */
+		virtual int invoke(void)
+		{
+			int  _result;
+			BOOL lock;
+			MSG  msg;
+
+			_result = 0;
+
+			if(!IsValid())
+				return -1;
+
+			enter_system_critical_section(&lock);
+
+			connect();
+
+				//è¦æ±ã®å®è¡å¾
+ã¡
+			if(blocking)
+			{
+				signalobject = (HANDLE)::GetCurrentThreadId();
+
+					//æ°ããè¦æ±ãã ãããã¨ãéç¥
+				::ReleaseSemaphore(request_semaphore,1,NULL);
+				leave_system_critiacl_section(&lock);
+
+					//WM_QUITã¡ãã»ã¼ã¸ãä½¿ã£ã¦åæãåã
+				while(::GetMessage(&msg, 0, 0, 0) != 0)
+					::DispatchMessage(&msg);
+
+					//ãã®ãªãã¸ã§ã¯ããç ´æ£ããã®ã§ããã¯ã¢ãããåã
+				_result = result;
+
+					//ã­ã¥ã¼ããã¯ããå¦çã¯ä½æ¥­ã¹ã¬ããããã
+					//delete requestã¯ããã³ãã­ãã­ã³ã°ãªãä½æ¥­ã¹ã¬ããè²¬ä»»ããã­ãã­ã³ã°ãªãããã§ãã
+                enter_system_critical_section(&lock);
+				delete this;
+                leave_system_critiacl_section(&lock);
+			}else
+			{
+					//æ°ããè¦æ±ãã ãããã¨ãéç¥
+				::ReleaseSemaphore(request_semaphore,1,NULL);
+				leave_system_critiacl_section(&lock);
+			}
+
+			return _result;
+		}
+	};
+
+	class EventDumpRequest : public Request
+	{
+	protected:
+		static HANDLE FileHandle;
+
+		EventDumpRequest(enum tagRequestType _type, bool _block, unsigned int _size = 0, void * _storage = NULL, unsigned long _address = 0) : Request(_type, _block, _size, _storage, _address) 
+		{}
+
+	public:
+		static void initialize(void)
+		{
+			SYSTEMTIME systim;
+			DWORD      written;
+			char       buffer[1024];
+			char *     top;
+			char *     work;
+
+			::GetLocalTime(&systim);
+			::wsprintf(buffer, "kernel-log-%04d%02d%02d-%02d%02d%02d.log", systim.wYear, systim.wMonth, systim.wDay, systim.wHour, systim.wMinute, systim.wSecond);
+			FileHandle = ::CreateFile(buffer, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN, NULL);
+
+            kprintf(("EventDumpRequest : initialize (filename = '%s')\n", buffer));
+
+			T_RGLOG_HEADER log;
+			
+			log.logtype = LOG_TIMESTAMP;
+			log.logtim  = 0;
+			log.bufsz   = sizeof(SYSTEMTIME);
+			log.valid   = 1;
+			::WriteFile(FileHandle, &log, sizeof(log), &written, NULL);
+			::WriteFile(FileHandle, &systim, sizeof(SYSTEMTIME), &written, NULL);
+
+				/* ã¢ã¸ã¥ã¼ã«åãåãåºã */
+			::lstrcpyn(buffer, ::GetCommandLine(), 1023);
+			top = buffer;
+			buffer[1023] = '\x0';	//ãµã¼ãç¨çªå
+µ
+
+			if(*top == '"')
+			{
+				++ top;
+				for(work = top; *work != '\x0' && *work != '"'; ++work);
+			}
+			else
+				for(work = top; *work != '\x0' && *work != ' '; ++work);
+
+			*work = '\x0';	//ã¿ã¼ããã¼ãå¦ç
+
+			log.logtype = LOG_MODULENAME;
+			log.logtim  = 0;
+			log.bufsz   = work - top + 1;	//ã¿ã¼ããã¼ã¿ã®å
+			log.valid   = 1;
+			::WriteFile(FileHandle, &log, sizeof(log), &written, NULL);
+			::WriteFile(FileHandle, top, log.bufsz, &written, NULL);
+		}
+
+		static void finalize(void)
+		{
+            kprintf(("EventDumpRequest : finalize()\n"));
+
+			if(FileHandle != INVALID_HANDLE_VALUE)      //CreateFile returns INVALID_HANDLE_VALUE if it failed
+				::CloseHandle(FileHandle);
+		}
+
+		static EventDumpRequest * Create(enum tagRequestType _type, bool _block, unsigned int _size = 0, void * _storage = NULL, unsigned long _address = 0)
+		{
+			EventDumpRequest * request;
+			BOOL      lock;
+
+			enter_system_critical_section(&lock);
+			request = new EventDumpRequest(_type, _block, _size, _storage, _address);
+			leave_system_critiacl_section(&lock);
+		
+			return request;
+		}
+
+		virtual int invoke(void)
+		{
+			DWORD written;
+			BOOL  lock;
+
+			enter_system_critical_section(&lock);
+			if(FileHandle != INVALID_HANDLE_VALUE)      //CreateFile return INVALID_HANDLE_VALUE, not NULL, if it failed its operatation.
+				::WriteFile(FileHandle, storage, size, &written, NULL);
+			delete this;
+			leave_system_critiacl_section(&lock);
+
+			return 0;
+		}
+	};
+
+    class ExclusiveDeviceRequest : public Request
+    {
+    protected:
+        static HANDLE blocker;
+    public:
+
+        static void initialize(void) throw()
+        {
+            kprintf(("ExclusiveDeviceRequest::initialize()\n"));
+
+            if(blocker == NULL) {
+                blocker = ::CreateEvent(NULL, FALSE, FALSE, NULL);
+            }
+        }
+
+        static void finalize(void) throw()
+        {
+            kprintf(("ExclusiveDeviceRequest::finalize()\n"));
+
+            if(blocker != NULL) {
+                ::CloseHandle(blocker);
+            }
+        }
+
+        virtual void signal(int _result = 0)
+        {
+            result = _result;
+            ::SetEvent(blocker);
+        }
+
+        virtual int invoke(void)
+        {
+            int  _result = 0;
+            BOOL lock;
+            BOOL cpustate;
+
+                //å²ãè¾¼ã¿ãç¦æ­¢ãã
+            if((cpustate = CPUStatus) == 0)
+                dis_int(0);
+
+            enter_system_critical_section(&lock);
+
+                //è¦æ±ãã­ã¥ã¼ã®å
+é ­ã«ã¤ãªã
+            ::EnterCriticalSection(&cs);
+            next = top;
+            top = this;
+            if(tail == NULL)
+                tail = this;
+            ::LeaveCriticalSection(&cs);
+            ::InterlockedIncrement(&RequestCount);
+
+            ::ReleaseSemaphore(request_semaphore, 1, NULL);
+            leave_system_critiacl_section(&lock);
+
+            if(blocking) {
+                ::WaitForSingleObject(blocker, INFINITE);
+
+                _result = result;
+
+                enter_system_critical_section(&lock);
+                delete this;
+                leave_system_critiacl_section(&lock);
+            }
+
+            if(cpustate == 0)
+                ena_int(0);
+
+            return _result;
+        }
+    };
+
+//	typedef class EventDumpRequest EventRequest;
+	typedef class Request EventRequest;		//ã¤ãã³ãã­ã°åºåè¦æ±ã§ä½¿ç¨ããããªã¯ã¨ã¹ã
+//	typedef class Request DeviceRequest;	//ããã¤ã¹éä¿¡è¦æ±ã§ä½¿ç¨ããããªã¯ã¨ã¹ã
+	typedef class ExclusiveDeviceRequest DeviceRequest;	//ããã¤ã¹éä¿¡è¦æ±ã§ä½¿ç¨ããããªã¯ã¨ã¹ã
+
+	//==============================================================================
+
+	LONG				Request::RequestCount = -1;	//ã­ã¥ã¼ã«ã¤ãªãã£ã¦ãããªã¯ã¨ã¹ãã®æ°
+	Request *			Request::top  = NULL;		//ãªã¯ã¨ã¹ãã­ã¥ã¼ã®å
+é ­ (ãã£ã¨ãå¤ããªã¯ã¨ã¹ã)
+	Request *			Request::tail = NULL;		//ãªã¯ã¨ã¹ãã­ã¥ã¼ã®æ«å°¾ (ãã£ã¨ãæ°ãããªã¯ã¨ã¹ã)
+	CRITICAL_SECTION	Request::cs;				//æä»ã­ã¥ã¼æä½ç¨å±éºé åãªãã¸ã§ã¯ã
+
+	HANDLE              EventDumpRequest::FileHandle    = INVALID_HANDLE_VALUE;     //CreateFile uses INVALID_HANDLE_VALUE for identifying an invalid instance 
+    HANDLE              ExclusiveDeviceRequest::blocker = NULL;
+
+	//==============================================================================
+
+		/*
+		 *   ä½æ¥­ã¹ã¬ãããä½¿ç¨ããä½æ¥­é¢æ°ã®å®ç¾©
+		 */
+
+		//ã³ãã¯ã·ã§ã³ãã¤ã³ãã¸ã®æ¥ç¶
+	bool Advise(IUnknown * container, REFIID iid, IUnknown * sink, DWORD * cookie, IConnectionPoint ** p_cp = NULL)
+	{
+		IConnectionPointContainer * cp_container;
+		IConnectionPoint * cp;
+
+        if(container == 0 || sink == 0 || cookie == 0)
+            return false;
+
+		if(p_cp == 0)
+			p_cp = &cp;
+
+			//IUnknownã¤ã³ã¿ãã§ã¼ã¹ããIConnectionPointContainerã¸ã­ã£ã¹ã
+		container->QueryInterface(IID_IConnectionPointContainer, (void **)&cp_container);
+		if(cp_container == 0)
+			return false;
+
+			//ConnectionPointContainerããè¦æ±ã«åãConnectionPointãæ¢ã
+		cp_container->FindConnectionPoint(iid, p_cp);
+		cp_container->Release();
+		if(*p_cp == 0)
+			return false;
+
+			//ã³ãã¯ã·ã§ã³ãã¤ã³ãæ¥ç¶
+		if(FAILED((*p_cp)->Advise(sink, cookie)))
+			return false;
+
+		if(p_cp == &cp)
+			cp->Release();
+		return true;
+	}
+
+	//==============================================================================
+	
+    /*
+     *  PerformRequest : è¦æ±ã®å®è¡
+     *     è¿å´å¤ : ã¤ãã³ãå¦çãç¶ç¶ãã(true) or ä½æ¥­ã¹ã¬ãããåæ­¢ããã(false)
+     */
+
+    bool PerformRequest(IKernel * manager)
+    {
+        Request * request;
+        bool succeeded;
+
+			//ã­ã¥ã¼ãããªã¯ã¨ã¹ããæãåã
+		request = Request::GetRequest();
+		FatalAssertion(request != NULL,"");
+
+			//çµäºè¦æ±
+		if(request->getType() == Request::QuitThread)
+		{
+			if(!request->isBlockingRequest())
+			{
+				BOOL lock;
+
+				enter_system_critical_section(&lock);
+				delete request;
+				leave_system_critiacl_section(&lock);
+			}
+            return false;
+		}
+
+			//è¦æ±æ¯ã®å¦ç
+		switch(request->getType())
+		{
+		case Request::Confirmation:
+			succeeded = true;
+			break;
+
+		case Request::DeviceRead:
+			succeeded = SUCCEEDED(manager->Read(request->getAddress(), request->getSize(), reinterpret_cast<char *>(request->getStorage())));
+			break;
+
+		case Request::DeviceWrite:
+			succeeded = SUCCEEDED(manager->Write(request->getAddress(), request->getSize(), reinterpret_cast<char *>(request->getStorage())));
+			break;
+
+		case Request::EventLog:
+			succeeded = SUCCEEDED(manager->OnLogEvent(request->getSize(), reinterpret_cast<unsigned char *>(request->getStorage())));
+
+				//ã·ã£ãããã¦ã³ä¸­ãªãã­ã°ãå
+¨é¨ã¯ãçµãã¾ã§å¾
+ã£ã¦ããã
+			ShutdownPostponementRequest = TRUE;
+			break;
+
+		default:
+			succeeded = false;
+		}
+
+        request->Finalize(succeeded);
+
+        return true;
+    }
+
+		/*
+		 *   COMéä¿¡ãè¡ãããã®ä½æ¥­ã¹ã¬ãã æ¬ä½
+		 */
+	DWORD WINAPI WorkerThreadProcess(LPVOID _param)
+	{
+		IKernel * manager;
+		IKernelEvents * sink;
+		IConnectionPoint * cp;
+		DWORD cookie;
+		BOOL Success;
+
+        kprintf(("WorkerThreadProcess : start\n"));
+
+			/* åæå */
+		::CoInitialize(NULL);
+
+			// ããã¤ã¹ããã¼ã¸ã£ã¨æ¥ç¶
+		manager = 0;
+		if(FAILED(::CoCreateInstance(CLSID_Kernel, NULL, CLSCTX_ALL, IID_IKernel, (void **)&manager)))
+			goto _WorkerThreadProc_Cleanup;
+
+		cp = 0;
+        sink = new(std::nothrow) IKernelEvents;
+		if(!Advise(manager, IID_IKernelEvents, sink, &cookie,&cp))
+		{
+            if(sink != 0)
+    			delete sink;
+			goto _WorkerThreadProc_Cleanup;
+		}
+
+			/* ã¡ã¤ã³ã«ã¼ãã³ */
+		manager->IsValid(&Success);
+		if(Success != 0)
+		{
+            MSG msg;
+			DWORD work;
+            bool  loop_flag = true;
+			
+			do {
+                    /*
+                     * å¤é¨ããCOMããããã¨ã¡ãã»ã¼ã¸ã¨ãã¦é£ãã§ãããããWaitForSingleObjectã§ã»ããã©ãå¾
+ã¤ã¨å¤é¨ããã®è¦æ±ãå®è¡ã§ããªããªãã
+                     * ãã®ãããMsgWaitFor...ãç¨ããã¡ãã»ã¼ã¸ãé£ãã§ããå ´åã¯ããã«å¯¾å¦ã§ããããã«ããã
+                     */
+
+                    /*
+                     * cygwinç°å¢ã ã¨QS_ALLPOSTMESSAGEãå®ç¾©ãããªãã®ã§ãããã§å¯¾å¦
+                     */
+#ifndef QS_ALLPOSTMESSAGE
+#define QS_ALLPOSTMESSAGE (0x0100)
+#endif
+
+                    //è¦æ±å¾
+ã¡
+                work = ::MsgWaitForMultipleObjects(1, &request_semaphore, FALSE, INFINITE, QS_ALLPOSTMESSAGE);
+
+                switch(work) {
+
+                    //å¦çè¦æ±ã®å®è¡
+                case WAIT_OBJECT_0:
+                        loop_flag = PerformRequest(manager);
+                        break;
+
+                    //å¤é¨ããã®è¦æ± (å²è¾¼ã¿ãªã©)
+                case WAIT_OBJECT_0 + 1:
+                        GetMessage(&msg, 0, 0, 0);
+                        TranslateMessage(&msg);
+                        DispatchMessage(&msg);
+                        break;
+                
+                default:
+                    loop_flag = false;
+                }
+
+			} while(loop_flag);
+		}
+
+			/*
+			 * Finalize
+			 */
+
+		if(cp != 0)
+		{
+			cp->Unadvise(cookie);
+			cp->Release();
+			cp = 0;
+			sink = 0;
+		}
+
+	_WorkerThreadProc_Cleanup:
+
+        if(manager != 0)
+			manager->Release();
+
+		CloseHandle(worker_thread_handle);
+		worker_thread_handle = NULL;
+        manager = 0l;
+		::CoUninitialize();
+
+		/* ã­ã¥ã¼ãç©ºã«ãã (å¾
+ã¡è§£é¤) */
+
+		Request * request;
+		while((request = Request::GetRequest()) != 0)
+			request->Finalize(false);
+		
+        kprintf(("WorkerThreadProcess : exit\n"));
+
+        return 0;
+	}
+}
+
+//==============================================================================
+
+/****************************************************
+ *                                                  *
+ * TOPPERS/JSP - Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢        *
+ *   COMãç¨ããããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½        *
+ *                                                  *
+ ****************************************************/
+
+#ifdef DEVICE_ENABLE
+
+extern "C"
+int _cdecl DeviceRead(unsigned long address, unsigned long size, void * storage)
+{
+	if(!IsValid() || storage == NULL)
+		return -1;
+
+	return DeviceRequest::Create(Request::DeviceRead, true, size, storage, address)->invoke();
+}
+
+extern "C"
+int _cdecl DeviceWrite(unsigned long address, unsigned long size, void * storage)
+{
+	if(!IsValid() || storage == NULL)
+		return -1;
+
+	return DeviceRequest::Create(Request::DeviceWrite, true, size, storage, address)->invoke();
+}
+
+#endif
+
+
+/****************************************************
+ *                                                  *
+ * TOPPERS/JSP - Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢        *
+ *   COMãç¨ããã«ã¼ãã«ã­ã°åå¾æ©è½                *
+ *                                                  *
+ ****************************************************/
+
+#ifdef EVENTLOG_ENABLE
+
+	/* å¤éã­ã°åºåé²æ­¢ç¨ã»ããã© :  1ãè¶³ããçµæã1ã§ãã£ãã¨ãã ããã­ã°ãåºåã§ãã */
+static LONG event_write_semaphore = 0;
+
+void event_write(unsigned int logtype, unsigned int valid, UINT bufsz, ... )
+{
+	EventRequest * event_request;
+	DBIFLOG * log;
+	va_list   vl;
+
+	if(IsValid() && TlsGetValue(TLS_LOGMASK) == 0)
+	{
+			// ãªã¯ã¨ã¹ãé åç¢ºä¿
+		event_request = EventRequest::Create(EventRequest::EventLog, false, sizeof(T_RGLOG_HEADER) + bufsz);
+		log     = reinterpret_cast<DBIFLOG *>(event_request->getptr());
+
+			// ãããçæ
+		log->header.logtype = logtype;
+		log->header.logtim  = _kernel_systim_offset + _kernel_current_time;
+		log->header.valid   = valid;
+		log->header.bufsz   = bufsz;
+
+			// æ¬ä½ã®æ ¼ç´
+		va_start(vl, bufsz);
+		for(unsigned int i=0;i<bufsz/sizeof(int);i++)
+			*((int *)&log->body + i) = va_arg(vl, int);
+
+			// è¦æ±ã®éä» (Non-blocking)
+		event_request->invoke();
+	}
+}
+
+extern "C"
+void event_write_svc_enter(int fncd, unsigned int params, ... )
+{
+	EventRequest * event_request;
+	DBIFLOG *      log;
+	va_list        vl;
+	unsigned int   i;
+
+	if(IsValid() && TlsGetValue(TLS_LOGMASK) == 0)
+	{
+			//é åç¢ºä¿ : ç¢ºä¿ãããµã¤ãºã¯ãã©ã¡ã¼ã¿ç·æ°ããä¸ååå¤ã (å¼ã³åºãå
+ã¢ãã¬ã¹ãæ ¼ç´)
+		event_request = EventRequest::Create(EventRequest::EventLog, false, sizeof(T_RGLOG_HEADER) + sizeof(T_RGLOG_SVC) + params * sizeof(VP_INT));	
+		log     = reinterpret_cast<DBIFLOG *>(event_request->getptr());
+
+			//ãã±ããçæ
+		log->header.logtype = LOG_TYPE_SVC;
+		log->header.logtim  = _kernel_systim_offset + _kernel_current_time;
+		log->header.valid   = 0x7fffffff >> (29 - params);
+		log->header.bufsz   = (params+3) * sizeof(int);
+
+		va_start(vl, params);
+
+		log->body.svc.fncno  = fncd;
+		log->body.svc.prmcnt = params;
+
+			/* ä¸åã«ã¼ããå¤ãã®ã¯æå¾ã«å¼åºå
+ã¢ãã¬ã¹ãç©ãã§ãããã */
+		for(i=0;i<params+1;i++)
+			log->body.svc.prmary[i] = va_arg(vl, VP_INT);
+
+		event_request->invoke();
+	}
+}
+
+extern "C"
+void event_write_svc_leave(int fncd, unsigned int ercd, unsigned int retaddr)
+{
+	EventRequest * event_request;
+	DBIFLOG * log;
+
+	if(IsValid() && TlsGetValue(TLS_LOGMASK) == 0)
+	{
+			//é åç¢ºä¿ : ç¢ºä¿ãããµã¤ãºã¯ãã©ã¡ã¼ã¿ç·æ°(è¿å´å¤ã®ã¿ãªã®ã§ï¼ã¤)ããä¸ååå¤ã (å¼ã³åºãå
+ã¢ãã¬ã¹ãæ ¼ç´)
+		event_request = EventRequest::Create(EventRequest::EventLog, false, sizeof(T_RGLOG_HEADER) + sizeof(T_RGLOG_SVC) + sizeof(VP_INT));
+		log     = reinterpret_cast<DBIFLOG *>(event_request->getptr());
+
+			//ãããé¨çæ
+		log->header.logtype = LOG_TYPE_SVC|LOG_LEAVE;
+		log->header.logtim  = _kernel_systim_offset + _kernel_current_time;
+		log->header.valid   = 0x7;
+		log->header.bufsz   = 4 * sizeof(int);
+
+			//ããã£é¨çæ
+		log->body.svc.fncno     = fncd;
+		log->body.svc.prmcnt    = 1;
+		log->body.svc.prmary[0] = (VP_INT)ercd;
+		log->body.svc.prmary[1] = (VP_INT)retaddr;
+
+		event_request->invoke();
+	}
+}
+
+extern "C" void decode_taskstatus(void * tcb, int * tskid, unsigned int * tskstat, unsigned int * objtype, int * objid);
+
+extern "C" 
+void event_write_tskstat(void * tcb)
+{
+	EventRequest * event_request;
+	DBIFLOG * log;
+
+	if(IsValid())	//ããã¯ã«ã¼ãã«æä½ãªã®ã§TLS_LOGMASKãè¦ã¦ã¯ãããªã
+	{
+			//é åç¢ºä¿
+		event_request = EventRequest::Create(EventRequest::EventLog, false, sizeof(T_RGLOG_HEADER) + sizeof(T_RGLOG_TSKSTAT));
+		log     = reinterpret_cast<DBIFLOG *>(event_request->getptr());
+
+		log->header.logtype = LOG_TYPE_TSKSTAT;
+		log->header.logtim  = _kernel_systim_offset + _kernel_current_time;
+		log->header.valid   = 0xf;
+		log->header.bufsz   = 4 * sizeof(int);
+
+		decode_taskstatus(tcb, &log->body.tskstat.tskid, &log->body.tskstat.tskstat, &log->body.tskstat.tskwait, &log->body.tskstat.wobjid);
+
+		event_request->invoke();
+	}
+}
+
+#endif
+
+
+static BOOL CALLBACK NotifyDialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam)
+{
+	switch(Msg)
+	{
+	case WM_INITDIALOG:
+		{
+			LONG  count;
+			HWND  hCtrl;
+			
+			hCtrl = ::GetDlgItem(hDlg, IDC_PROGRESS1);
+			count = Request::getRequestCount();
+
+			::SetWindowLong(hDlg, GWL_USERDATA, count);
+			::SendMessage(hCtrl, PBM_SETRANGE32, 0, count);
+			::SendMessage(hCtrl, PBM_SETPOS, count - Request::getRequestCount(), 0);
+
+			::SetTimer(hDlg, 100, 200, NULL);
+			break;
+		}
+
+	case WM_TIMER:
+		if(wParam == 100)
+		{
+			LONG  count;
+			HWND  hCtrl;
+
+			hCtrl = ::GetDlgItem(hDlg, IDC_PROGRESS1);
+			count = ::GetWindowLong(hDlg, GWL_USERDATA);
+
+			::SendMessage(hCtrl, PBM_SETPOS, count - Request::getRequestCount(), 0);
+
+			if(Request::getRequestCount() <= 0)
+				::PostQuitMessage(0);
+		}
+		break;
+	case WM_CLOSE:
+		break;
+
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+extern "C"
+void _cdecl InitializeComSupportModule(void)
+{
+    kprintf(("InitializeComSupportModule()\n"));
+
+	Request::initialize();
+	DeviceRequest::initialize();
+	EventRequest::initialize();
+
+
+	request_semaphore = ::CreateSemaphore(0, 0, 65536, 0);
+	FatalAssertion(request_semaphore != NULL, "Object Creation Error : request_semaphore");
+
+	worker_thread_handle = ::CreateThread(0, 0, WorkerThreadProcess, 0, 0, 0);
+	FatalAssertion(worker_thread_handle != NULL, "Object Creation Error : worker_thread");
+
+	Request * request = Request::Create(Request::Confirmation, true);
+	request->invoke();
+}
+
+extern "C"
+void _cdecl FinalizeComSupportModule(void)
+{
+    kprintf(("FinalizeComSupportModule()\n"));
+
+    if(IsValid())
+	{
+		HWND  hDlgitem;
+		HWND  NotifyDialog;
+		MSG   msg;
+
+			//ã­ã°ãæºã¾ããããã¨ã­ã°åãã«æéããããããã­ã°ã©ã ãæ´èµ°ããããã«è¦ããã®ã§
+			//ãã­ã°ãåãã¦ãããå¾
+ã¦ãã¨è­¦åãåºãã
+		NotifyDialog = ::CreateDialog(ProcessInstance, MAKEINTRESOURCE(QUITNOTICEDIALOG), NULL, NotifyDialogProc);
+		hDlgitem     = ::GetDlgItem(NotifyDialog, IDC_NOTIFYMSG);
+		::SetWindowText(hDlgitem, "ä» ä¸çæ¸å½ã«ã¼ãã«ã®ã¤ãã³ãã­ã°ãåºãã¦ããã®ã§ãçµãã¾ã§å°ãå¾
+ã£ã¦ãã ãã");
+		::ShowWindow(NotifyDialog, SW_NORMAL);
+
+		Request * request = Request::Create(Request::QuitThread, false);
+		request->invoke();
+
+			//çµäºãã¤ã¢ã­ã°ç¨ã®ã¡ãã»ã¼ã¸ãã³ã
+
+        if(NotifyDialog != NULL) {
+            while(GetMessage(&msg, NULL, 0, 0) != 0) {
+        	    TranslateMessage(&msg);
+                DispatchMessage(&msg);
+            }
+        }
+
+			//ã¡ããã¨ã¹ã¬ãããçµäºããã¾ã§å¾
+æ©
+		if(worker_thread_handle != NULL)
+            ::WaitForSingleObject(worker_thread_handle, INFINITE);
+		::CloseHandle(request_semaphore);
+        request_semaphore = NULL;
+
+		EventRequest::finalize();
+		DeviceRequest::finalize();
+		Request::finalize();
+
+		::DestroyWindow(NotifyDialog);
+	}
+}
+
+
+#else	// __COM_NOT_REQUIRED__
+
+extern "C"
+void _cdecl InitializeComSupportModule(void)
+{}
+
+extern "C"
+void _cdecl FinalizeComSupportModule(void)
+{}
+
+#endif // __COM_NOT_REQUIRED__
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/com_support.h	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: com_support.h,v 1.5 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+#ifndef __COM_SUPPORT_H__
+#define __COM_SUPPORT_H__
+
+#include <cpu_rename.h>
+
+#include <sys_defs.h>   // != s_services.h (-> vwindows.hãã¤ã³ã¯ã«ã¼ããã¦ãã¾ããã)
+#include <windows.h>	// != vwindows.h
+
+#if defined(DEVICE_ENABLE) || defined(EVENTLOG_ENABLE)
+
+#include <objbase.h>
+#include <unknwn.h>
+#include <ocidl.h>
+
+/*
+ * COMãªãã¸ã§ã¯ãç¨å®ç¾©ãªã©
+ */
+
+	//è«¸ã
+ã®IDã®å®£è¨
+extern const IID   IID__IKernelEvents;
+extern const IID   IID_IKernel;
+extern const CLSID CLSID_Kernel;
+
+#else
+
+#define __COM_NOT_REQUIRED__
+
+#endif
+
+#endif /* __COM_SUPPORT_H__ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/constants.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/constants.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/constants.h	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: constants.h,v 1.1 2003/10/23 11:35:03 takayuki Exp $
+ */
+
+#ifndef CONSTANTS_H
+#define CONSTANTS_H
+
+/*
+ *   Windowsä¾å­é¨ å¦çã¡ãã»ã¼ã¸å®æ°
+ */
+#define HALMSG_MESSAGE WM_APP
+
+    /* OSåä½ã«ããããåºæ¬ã¡ãã»ã¼ã¸ */
+#define HALMSG_DISPATCH		            0x0001
+#define HALMSG_DESTROY		            0x0002
+#define HALMSG_INTERRUPT	            0x0003
+#define HALMSG_INTERRUPT_FINISH         0x0004
+
+    /* ä½æ¥­ä¾é ¼ã¡ãã»ã¼ã¸ */
+#define HALMSG_EXECUTEPROCEDURE         0x0101
+#define HALMSG_ADDDESTRUCTIONPROCEDURE  0x0102
+#define HALMSG_QUITREQUEST              0x0103
+
+    /* ã¿ã¤ãå²è¾¼ã¿ãåæã«ãããããã®Windowsã¿ã¤ãID */
+#define HALTIM_AUTOINT		            0xffff0000
+
+/*
+ *  ã¹ã¬ããã­ã¼ã«ã«ã¹ãã¬ã¼ã¸
+ */
+#define TLS_LOGMASK         0x00000001      //ã­ã°åºåãã¹ã¯
+#define TLS_THREADHANDLE    0x00000002      //CreateThreadããã¨ãã®ãã³ãã«
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.c	(revision 26)
@@ -0,0 +1,277 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.c,v 1.15 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Windowsç¨ï¼
+ */
+#include <cpu_rename.h>
+
+#include <s_services.h>
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+#include <hal_msg.h>
+
+volatile char CPUStatus = CPU_STAT_LOCK;	//CPUç¶æ
+ãã©ã°
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *    ãã£ã¹ãããã£æ¬ä½ã¯primary_thread.cã«ãã
+ *    ããã§ã¯ç®¡çã¹ã¬ããã«ãã£ã¹ãããä¾é ¼ãåºãã ã
+ */
+void
+dispatch()
+{
+	LOG_DSP_ENTER_TSK(runtsk);
+	HALDispatchRequest();	
+}
+
+/* å²è¾¼ã¿ç¨ãã£ã¹ãããã£ (åºåããã­ã°æ
+å ±ã®ã¿ãç°ãªã) */
+void
+idispatch()
+{
+	LOG_DSP_ENTER_INT(runtsk);
+	HALDispatchRequest();
+}
+
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ *    exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ *
+ *    ç¾å¨å®è¡ä¸­ã®ã¿ã¹ã¯ã®TCBãæå®ãã¦ç ´æ£ä¾é ¼ãç ´æ£å¾èªåçã«ãã£ã¹ãããã£ã¸ã
+ */
+void
+exit_and_dispatch() 
+{
+    HANDLE handle;
+
+	HALDestroyRequest(runtsk);
+
+    if((handle = (HANDLE)TlsGetValue(TLS_THREADHANDLE)) != NULL)
+        CloseHandle(handle);
+
+    TlsFree(TLS_THREADHANDLE);
+    TlsFree(TLS_LOGMASK);
+
+	ExitThread(0);
+}
+
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+
+void
+cpu_initialize()
+{
+    kprintf(("cpu_initialize()\n"));
+
+	/*
+	 *  å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿ã®åæå
+	 */
+	ini_int();
+
+	/*
+	 * æä¸ä½æ§é åä¾å¤ãã³ãã©ã®è¨­å®
+	 */
+	ini_exc();
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate()
+{
+    kprintf(("cpu_terminate()\n"));
+
+    fin_int();  //å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿ã®åæ­¢
+	fin_exc();  //æä¸ä½æ§é åä¾å¤ãã³ãã©ã®è§£é¤
+}
+
+
+/*
+ * ã¿ã¹ã¯èµ·åã«ã¼ãã³
+ *
+ */
+
+DWORD WINAPI
+activate_r( LPVOID param)
+{
+	TCB * tcb = (TCB *)param;
+
+	TlsAlloc();
+	TlsSetValue(TLS_LOGMASK, 0);
+    TlsSetValue(TLS_THREADHANDLE, tcb->tskctxb.ThreadHandle);
+
+    kprintf(("Task %d : activated\n", (tcb - tcb_table) + 1));
+
+	(*(void(*)(VP_INT))tcb->tinib->task)(tcb->tinib->exinf);
+	ext_tsk();
+	return 0;
+}
+
+/*
+ *  atexitã§ç»é²ãããé¢æ°ã®èª­åºã (Windowsã¯ä½ãããªã -> CRTã«ä»»ãã)
+ */
+void call_atexit(void)
+{}
+
+
+/*
+ *   è´å½çãªå¤±æã«å¯¾ããå¯¾å¦ã«ã¼ãã³
+ */
+void FatalAssertion(int exp, LPCSTR format, ...)
+{
+	extern HANDLE PrimaryThreadHandle;
+	extern HANDLE CurrentRunningThreadHandle;
+
+	if(!exp)
+	{
+		va_list vl;
+		char    buffer[1024];
+
+			/* ã¨ã©ã¼ãèµ·ããåå ãçªãæ­¢ãã */
+		wsprintf(buffer, "Critical assertion fail occured !!\nGetLastError = 0x%08x\n\n", GetLastError());
+
+			/* ã«ã¼ãã«ãåãåºãã¦ããã... */		
+		if(PrimaryThreadHandle != NULL)
+		{
+				/* ã«ã¼ãã«ã®å®è¡ãæ­¢ãã */
+			dis_int(0);
+			if(CurrentRunningThreadHandle != NULL)
+				SuspendThread(CurrentRunningThreadHandle);
+			hw_timer_terminate();
+		}
+
+			/* è­¦åè¡¨ç¤º */
+		va_start(vl, format);
+		wvsprintf(buffer + lstrlen(buffer), format, vl);
+		MessageBox(PrimaryDialogHandle, buffer, "Assertion Failed", MB_OK|MB_ICONERROR);
+
+			/* ã«ã¼ãã«åæ­¢ */
+		HALQuitRequest();
+	}
+}
+
+	/*
+	 *   ã­ã°åºåãã©ããããã®å¶å¾¡
+	 */
+void set_logcontrol(BOOL enable)
+{
+	BOOL result;
+	result = TlsSetValue(TLS_LOGMASK, (LPVOID)(enable == TRUE ? 0 : 1));
+	if(result == 0)
+	{
+		TlsAlloc();
+		TlsSetValue(TLS_LOGMASK, (LPVOID)(enable == TRUE ? 0 : 1));
+	}
+}
+
+    /*
+     *   ã«ã¼ãã«ã®ãããã°ç¨printf
+     */
+void _kernel_debugprintf(const char * format, ... )
+{
+    va_list vl;
+    int     words;
+    DWORD   count;
+    char    buffer[1024];
+
+    va_start(vl, format);
+    words = wvsprintf(buffer, format, vl);
+
+    if(words != 0)
+        WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), buffer, words, &count, NULL);
+}
+
+#ifdef _MSC_VER     //cygwinã®å ´åã¯cpu_insn.Sã«è¨è¿°
+
+ /*
+  * ã¿ã¹ã¯ä¾å¤èµ·åã«ã¼ãã³
+  *   ã³ã³ãã­ã¹ããä¸è´ãããããã
+  *   ã¿ã¹ã¯ä¾å¤ãåãããã¿ã¹ã¯ã®ã¹ã¬ããä¸ã§åä½ãããããã®ã«ã¼ãã³
+  */
+void __declspec(naked) TaskExceptionPerformer(void)
+{
+		/* ã¬ã¸ã¹ã¿éé¿ */
+	__asm	pusha
+	__asm	sub		esp, FPU_CONTEXTSIZE
+	__asm	fsave	[esp]
+
+		/* ã¿ã¹ã¯ä¾å¤ã®èµ·å */
+	__asm	call	call_texrtn
+
+		/* å²è¾¼ã¿ãã¹ã¯æ»ã */
+	__asm	mov		ebx, DWORD PTR runtsk
+	__asm	mov		eax, [ebx]TCB.tskctxb.InterruptLevel
+	__asm	push	eax
+	__asm	call	chg_ims
+	__asm	add		esp, 4
+
+		/* ã¬ã¸ã¹ã¿å¾©å¸° */
+	__asm	finit
+	__asm	frstor	[esp]
+	__asm	add		esp, FPU_CONTEXTSIZE
+	__asm	popa
+	__asm	ret
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_config.h	(revision 26)
@@ -0,0 +1,334 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_config.h,v 1.15 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+/*
+ *	ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Windowsç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  Windows-HALç¬èªã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+
+
+/*
+ *  Windows-HALç¬èªã®å®ç¾©
+ */
+
+#define FPU_CONTEXTSIZE 108     /* æµ®åå°æ°ç¹ã¦ããããéé¿ããã³ã³ãã­ã¹ãã®å¤§ãã */
+
+/*
+ *  chg_ims/ref_ims ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#define	SUPPORT_CHG_IMS
+
+/*
+ *  TCB é¢é£ã®å®ç¾©
+ *
+ *  cpu_context.h ã«å
+¥ããæ¹ãã¨ã¬ã¬ã³ãã ãï¼åç
+§ã®ä¾å­æ§ã®é¢ä¿ã§ï¼
+ *  cpu_context.h ã«ã¯å
+¥ããããªãï¼
+ */
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define	TBIT_TCB_PRIORITY	8	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#define	TBIT_TCB_TSTAT		8	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+
+
+#ifndef _MACRO_ONLY
+
+#include <s_services.h>
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	HANDLE	        ThreadHandle;		//ã¿ã¹ã¯ã«å²ãå½ã¦ãããã¹ã¬ããã®ãã³ãã«
+	DWORD		    ThreadID;			//ã¿ã¹ã¯ã«å²ãå½ã¦ãããã¹ã¬ããã®ID
+	unsigned int    InterruptLevel;		//ãã®ã¿ã¹ã¯ãåãã¦ããã¨ãã®å²è¾¼ã¿ãã¹ã¯ã¬ãã«
+} CTXB;
+
+/*
+ * CPUç¶æ
+ãã©ã°
+ */
+#define CPU_STAT_LOCK			0x01		//CPUã­ãã¯ç¶æ
+ã§ã
+#define CPU_STAT_EXC			0x02		//ä¾å¤å¦çä¸­ã§ã
+#define CPU_STAT_DOUBLEFAULT	0x04		//ããã«ãã©ã«ããèµ·ãã£ã¦ã¾ã
+
+extern volatile char CPUStatus;
+
+/*
+ *   CPUä¾å¤ãã³ãã©
+ */
+
+/*#define EXCHNO_ZDIV  EXCEPTION_INT_DIVIDE_BY_ZERO */
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+
+Inline BOOL
+sense_context()
+{
+		/* å²è¾¼ã¿å
+¨è¨±å¯ã§ãªããã°éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã */
+	return (CurrentInterruptLevel != 0) ? TRUE : FALSE;
+}
+
+Inline BOOL
+sense_lock()
+{
+		/* ä¾å¤å¦çä¸­ or ã­ãã¯ç¶æ
+ãã©ã°ãç«ã£ã¦ããã° CPUã­ãã¯ç¶æ
+ã§ã */
+	return (CPUStatus & (CPU_STAT_LOCK|CPU_STAT_EXC)) != 0 ? TRUE : FALSE;
+}
+
+#define t_sense_lock	sense_lock
+#define i_sense_lock	sense_lock
+
+/*
+ *  CPUã­ãã¯ã¨ãã®è§£é¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  task_intmask ã¯ï¼chg_ipm ããµãã¼ãããããã®å¤æ°ï¼chg_ipm ããµãã¼
+ *  ãããªãå ´åã«ã¯ï¼task_intmask ãå¸¸ã« 0 ã«ãªã£ã¦ããã¨èããã°ããï¼
+ */
+
+#include "debugout.h"
+#include "device.h"
+
+unsigned long task_intmask;
+
+Inline void
+i_lock_cpu()
+{   dis_int(0);   }
+
+Inline void
+i_unlock_cpu()
+{	ena_int(0);   }
+
+#define t_lock_cpu	i_lock_cpu
+#define t_unlock_cpu	i_unlock_cpu
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ããã
+ *
+ *  dispatch ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦ç
+ *  å
+ã§ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void	dispatch();
+extern void idispatch();
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ *
+ *  exit_and_dispatch ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+
+extern void    exit_and_dispatch(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· inhno ã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼
+ */
+
+Inline void
+define_inh(INHNO inhno, FP inthdr)
+{	def_int((unsigned int)inhno,(void *)inthdr);   }
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå· excno ã®CPUä¾å¤ãã³ãã©ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼
+ */
+Inline void
+define_exc(EXCNO excno, FP exchdr)
+{	def_exc( (DWORD)excno, (void *)exchdr);   }
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+ */
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  å
+¨ã¦ã®å²ãè¾¼ã¿ãã³ãã©ã¯ãã£ã¹ãããã£ãèµ·åããSIGUSR1ããã¹ã¯ãã¦
+ *  åä½ããã
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+	/* Windows-HALã«ããã¦ãã®å¦çã¯å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿ã«ä¸ä»»ãã¦ãã */
+
+#define INT_ENTRY(hdr) hdr
+#define INTHDR_ENTRY(inthdr) extern void inthdr(void)
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ *  CPUä¾å¤ãã³ãã©ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼ãã®ããï¼CPUä¾
+ *  å¤ãã³ãã©ãå¼ã³åºãåã«å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ãï¼ãªã¿ã¼ã³ãã¦ããå¾ã«
+ *  å
+ã®ã¢ã¼ãã«æ»ãï¼å
+ã®ã¢ã¼ãã«æ»ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«ç§»è¡ããå
+ *  ã® SR ãå²è¾¼ã¿ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§
+ *  çºçãï¼reqflg ã TRUE ã«ãªã£ãæã«ï¼ret_exc ã¸åå²ããï¼
+ *  reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼reqflg ããã§ãã¯å¾
+ *  ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦æ±ãããå ´åã«ï¼ãã£
+ *  ã¹ããããããªãï¼
+ */
+
+#define EXC_ENTRY(hdr) hdr
+#define EXCHDR_ENTRY(inthdr) extern void inthdr(void)
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+ */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ããã
+ *
+ *   WindowsHALã¯å°ç¨ãã©ã°ãæã£ã¦ãããã§ãå²è¾¼ã¿åã®æ
+å ±ã¯ãã®ã¾ã¾
+ *   æ ¼ç´ããã¦ããã
+ */
+#define exc_sense_context sense_context
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+#define exc_sense_lock sense_lock
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void	cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void	cpu_terminate(void);
+
+/*
+ *  atexitã§ç»é²ãããé¢æ°ã®èª­åºã (Windowsã¯ä½ãããªã -> CRTã«ä»»ãã)
+ */
+extern void	call_atexit(void);
+
+/*
+ *   Windows Dedicated Routines 
+ */
+extern LONG WINAPI HALExceptionHandler( EXCEPTION_POINTERS * exc );
+
+/*
+ *   è´å½çãªå¤±æã«å¯¾ããå¯¾å¦ã«ã¼ãã³
+ */
+extern void FatalAssertion(int exp, LPCSTR format, ... );
+
+
+/*
+ *   ã­ã°ã®åºåå¶å¾¡ã«ã¼ãã³
+ */
+extern void set_logcontrol(BOOL enable);
+
+/*
+ *   ã«ã¼ãã«ãããã°ç¨printf
+ */
+
+#ifdef KERNEL_DEBUG_MODE
+#  define kprintf(x) _kernel_debugprintf x
+#else
+#  define kprintf(x)
+#endif
+
+extern void _kernel_debugprintf(const char * format, ... );
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_context.h	(revision 26)
@@ -0,0 +1,105 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_context.h,v 1.9 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+ *
+ *  ãã®ãã¡ã¤ã«ã cpu_config.h ã¨åé¢ãã¦ããã®ã¯ï¼ãã®ãã¡ã¤ã«ã¯ TCB
+ *  ãå®ç¾©ãããå¾ã«èª­ãå¿
+è¦ãããã®ã«å¯¾ãã¦ï¼cpu_config.h ã«ã¯ TCB ã
+ *  å®ç¾©ããåã«èª­ãå¿
+è¦ãããå®ç¾©ãå«ãã§ããããã§ããï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæï¼ã¿ã¹ã¯ã®çææï¼ã¿ã¹ã¯ã®çµäºæï¼ã«å¼
+ *  ã°ããï¼åºæ¬çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­
+ *  å®ããå¦çãï¼create_context ã¨ activate_context ã§è¡ãã°ããï¼
+ */
+Inline void
+create_context(TCB *tcb)
+{
+	tcb->tskctxb.ThreadID       = 0;
+	tcb->tskctxb.InterruptLevel = 0;
+}
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼
+ */
+extern DWORD WINAPI activate_r(LPVOID);
+
+Inline void
+activate_context(TCB *tcb)
+{
+	tcb->tskctxb.ThreadHandle = CreateThread(NULL,0,activate_r,(LPVOID)tcb,CREATE_SUSPENDED,&tcb->tskctxb.ThreadID);
+    FatalAssertion(tcb->tskctxb.ThreadHandle != NULL, "activate_context could not create a thread");
+}
+
+/*
+ *  ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãº
+ */
+#define	ACTIVATED_STACK_SIZE	0
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.c	(revision 26)
@@ -0,0 +1,634 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.c,v 1.14 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+#define _WIN32_WINNT 0x400
+
+#include <s_services.h>
+#include <hal_msg.h>
+
+/*
+ * m68kã£ã½ãå²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿ (Windows HAL)
+ */
+
+	/* ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã¬ãã« */
+unsigned int CurrentInterruptLevel;
+
+	/* å²è¾¼ã¿ç®¡çãã¼ãã« */
+static struct tagInterruptLevel InterruptLevel[INT_NUMINTERRUPTS];
+
+	/* å²è¾¼ã¿ãã¹ã¯ã¬ãã«ã®æå¹ç¯å²ãã§ãã¯ */
+#define CHECK_IMS(x) ( (x) != 0 && (x) <= INT_NUMINTERRUPTS )
+
+	/* ä¾å¤ç®¡çãã¼ãã« */
+struct tagExceptionLevel ExceptionLevel[EXC_MAXITEMS];
+
+	/* èªåã®åã«ç»é²ããã¦ããæ§é åä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ */
+static LPTOP_LEVEL_EXCEPTION_FILTER AnotherExceptionFilter;
+
+/*
+ *   ã·ã¹ãã å
+¨ä½ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³çæã«ã¼ãã³
+ *     ã»ã©ããã¦CRITICAL_SECTIONãä½¿ãã®ããããã®ã
+ *        -> Windowsã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã¯ãITRONã§è¨ãã¨ããã®ãã£ã¹ãããç¦æ­¢ã§å®è£
+ãã¦ãããããã
+ *           å¤é¨ã¤ãã³ãã§èµ·åºãã¦ãã¾ã£ãã¹ã¬ãããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å
+ã«ããã¹ã¬ããã®åä½ã
+ *           åæ­¢ããã¦ãã¾ããã¨ãã§ãããããããªã®ã§CPUã­ãã¯ã®ã¤ããã§ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãä½¿ã£ã¦ããã¨ã
+ *           å®ã¯ãã ã®ãã£ã¹ãããç¦æ­¢ãªã®ã§ãã³ãã©ãèµ·åãã¦ãã¾ããPrimaryThreadãSuspendThreadãçºè¡ãã¦ãããã­ãã¯ãã¦ãã¾ãã
+ *           ãã®åé¡ã¯æã
+çºçããéå¸¸ã«åä»ãªåé¡ã ã£ãããã¾ãããããªãã¨ãåå ã ã¨ã¯æãããããªãã£ãã
+ *           WinProgç³»ã®MLã§ããåå ä¸æã®ä¸æ­£åæãã¤ã¤ãªãã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã¯ä½¿ããªãã»ãããããã¨ãã£ã¦ããã
+ */
+
+static HANDLE SystemMutex = NULL;		                //ã·ã¹ãã ã­ãã¯ç¨ã®ãã¥ã¼ããã¯ã¹ãªãã¸ã§ã¯ã
+static DWORD  SystemMutexOwnerThreadID = 0;				//ã·ã¹ãã ã­ãã¯ãåå¾ããã¹ã¬ããã®ID
+static DWORD  SystemMutexLastOwnerThreadID = 0;			//æå¾ã«ã·ã¹ãã ã­ãã¯ãåå¾ãã¦ããã¹ã¬ããã®ID (ãããã°ç¨)
+
+	/*
+	 *   enter_system_critical_section : ã·ã¹ãã ã®ã­ãã¯æ¨©ãç²å¾ãã
+	 *     BOOL * lock : ã¯ãã­ã¼(èªåãå§ãã¦ã­ãã¯æ¨©ãç²å¾ããã¨TRUEãè¿ã)
+	 */
+void enter_system_critical_section(BOOL * lock)
+{
+	if(SystemMutex != NULL && SystemMutexOwnerThreadID != GetCurrentThreadId())
+	{
+		WaitForSingleObject(SystemMutex, INFINITE);	
+		if(lock != NULL)
+			*lock = TRUE;
+		SystemMutexOwnerThreadID = GetCurrentThreadId();
+	}else
+	{
+		if(lock != NULL)
+			*lock = FALSE;
+	}
+}
+
+	/*
+	 *   leave_system_critical_section : ã·ã¹ãã ã®ã­ãã¯æ¨©ãéæ¾ãã
+	 *		BOOL * lock : enter_system_critical_sectionã§ä½¿ç¨ããã¯ãã­ã¼
+	 */
+void leave_system_critiacl_section(BOOL * lock)
+{
+	assert(lock != NULL);
+
+	if(*lock == TRUE)
+	{
+		SystemMutexLastOwnerThreadID = SystemMutexOwnerThreadID;
+		SystemMutexOwnerThreadID = 0;
+		if(SystemMutex != NULL)
+			ReleaseMutex(SystemMutex);	
+	}
+}
+
+	/*
+	 *   wait_for_thread_suspension_completion : ã¹ã¬ãããã­ãã¯æ¨©éæ¾ç¶æ
+ã§åæ­¢ããã 
+	 */
+ER wait_for_thread_suspension_completion(HANDLE thread)
+{
+	BOOL lock;
+
+	if(thread == 0 || thread == NULL)
+		return E_PAR;
+
+	enter_system_critical_section(&lock);
+	SuspendThread(thread);
+	leave_system_critiacl_section(&lock);
+
+	return 0;
+}
+
+
+
+/*
+ *  æ¬¡ã«å®è¡ãã¹ãå²è¾¼ã¿ãã³ãã©ã®ããã¬ãã«ãåå¾ãã
+ *      ipl : å²è¾¼ã¿ãã¹ã¯ã¬ãã«
+ *
+ *    å²ãè¾¼ã¿ã¬ãã«ãã¹ã¯ãiplã¾ã§ä¸ãã£ãã¨ãã«ãæ¬¡ã«åããã¹ãå²è¾¼ã¿ãé¸æããã
+ *    ãã¹ã¯ã¬ãã«ãããä¸ä½ã®å²è¾¼ã¿ã®å ´åããã³ãã£ã³ã°ãããè¦æ± or æ¢ã«å®è¡ã
+ *    å§ã¾ã£ã¦ãããã³ãã© ãå®è¡ããããã¹ã¯ã¬ãã«ä»¥ä¸ã®å ´åãæ¢ã«åãã¦ãã
+ *    ãã³ãã©ãããå ´åã®ã¿å®è¡ãããä½ããªãå ´åã¯0ãè¿ãã
+ */
+static unsigned int
+isns_int( unsigned int ipl )
+{
+	unsigned int result = INT_NUMINTERRUPTS;
+	
+	if((CPUStatus & CPU_STAT_LOCK) != 0)
+		return 0;
+
+	while(result > ipl)
+	{
+		result --;
+		if( (InterruptLevel[result].Flags & (INT_STAT_PENDING|INT_STAT_RUNNING)) != 0)
+			return result+1;
+	}
+	while(result > 0)
+	{
+		result --;
+		if( (InterruptLevel[result].Flags & INT_STAT_RUNNING) != 0)
+			return result+1;
+	}
+	return 0;
+}
+
+static DWORD WINAPI
+InterruptHandlerWrapper(LPVOID param)
+{
+	unsigned int   i;
+	unsigned int   PrevLevel;
+	BOOL           systemLock;
+
+	struct tagInterruptLevel * intlv = (struct tagInterruptLevel *)param;
+
+	TlsAlloc();
+
+    kprintf(("InterruptHandlerWrapper (%d) : start\n", (intlv - InterruptLevel) + 1 ));
+
+	while(1==1)
+	{
+			/* å²è¾¼ã¿åå¦ç */
+
+		set_logcontrol((intlv->Flags & INT_MOD_LOGMASK) != 0);
+		LOG_INH_ENTER((intlv - InterruptLevel)+1);
+
+        assert((CPUStatus & CPU_STAT_LOCK) == 0);
+        enter_system_critical_section(&systemLock);
+        PrevLevel = CurrentInterruptLevel;
+		CurrentInterruptLevel = (unsigned int)(intlv - InterruptLevel)+1;
+		intlv->Flags &= ~INT_STAT_PENDING;
+		intlv->Flags |=  INT_STAT_RUNNING;
+		leave_system_critiacl_section(&systemLock);
+
+        ( (void (*)(void) )(intlv->Routine))();
+        
+			/* å²è¾¼ã¿å¾å¦ç 
+             *    ããã§ä¸æ°ã«PrevLevelã¾ã§è½ã¨ãã¦ã¯ãããªã.
+             *    å²ãè¾¼ã¿ã®å
+¥ãæ¹ã«ãã£ã¦ã¯ãåªå
+åº¦ã®ä½ãå²è¾¼ã¿ã®è±åºå¦çãåªå
+åº¦ã®é«ãå²ãè¾¼ã¿ã®é²å
+¥å¦çã®ç´å¾ã«å®è¡ããã
+             *    éãæªãã¨åªå
+åº¦ã®é«ãå²è¾¼ã¿ãCurrentInterruptLevel = 0ã®ç¶æ
+ã§èµ°ã£ã¦ãã¾ããã¨ã«ãªãã
+             */
+		enter_system_critical_section(&systemLock);
+		intlv->Flags &= ~INT_STAT_RUNNING;
+		i = isns_int(PrevLevel);
+		if(i > PrevLevel)
+			CurrentInterruptLevel = i - 1;
+		else
+			CurrentInterruptLevel = PrevLevel;
+		leave_system_critiacl_section(&systemLock);
+
+		LOG_INH_LEAVE((intlv - InterruptLevel)+1);
+
+            /* æ¬¡ã®å²è¾¼ã¿ãå¦çããããã«éç¥ */
+	    HALInterruptRequestAndWait();
+	}
+
+    kprintf(("InterruptHandlerWrapper (%d) : exit\n", (intlv - InterruptLevel) + 1 ));
+
+    ExitThread(0);
+	return 0;
+}
+
+BOOL
+def_int(unsigned int ims, void * rtn)
+{
+	BOOL lock;
+
+	if(!CHECK_IMS(ims) || rtn == NULL)
+		return FALSE;
+
+    kprintf(("def_int : [ims:%d]\n", ims));
+
+	ims--;
+
+	enter_system_critical_section(&lock);
+	if(InterruptLevel[ims].ThreadHandle != NULL)
+	{
+		TerminateThread(InterruptLevel[ims].ThreadHandle,0);
+		CloseHandle(InterruptLevel[ims].ThreadHandle);
+	}
+	InterruptLevel[ims].Routine = rtn;
+	InterruptLevel[ims].ThreadHandle = CreateThread(NULL,0,InterruptHandlerWrapper,(LPVOID)&InterruptLevel[ims],CREATE_SUSPENDED,&InterruptLevel[ims].ThreadID);
+	leave_system_critiacl_section(&lock);
+
+	return TRUE;
+}
+
+BOOL
+ini_int(void)
+{
+	int i;
+
+    kprintf(("ini_int : [Start]\n"));
+
+    SystemMutex = CreateMutex(NULL,TRUE,NULL);
+
+	for(i=0;i<INT_NUMINTERRUPTS;i++)
+	{
+		InterruptLevel[i].Routine      = (void *)0l;
+		InterruptLevel[i].ThreadHandle = NULL;
+		InterruptLevel[i].ThreadID     = 0;
+		InterruptLevel[i].Flags        = INT_MOD_LOGMASK;
+	}
+
+		/* åæèµ·åã§CPUã­ãã¯ç¶æ
+ã¸ç§»è¡ããã */
+	CurrentInterruptLevel = 0;	//å²è¾¼ã¿ãã¹ã¯ã¯å
+¨è¨±å¯
+	CPUStatus |= CPU_STAT_LOCK;	//CPUã§å²è¾¼ã¿ç¦æ­¢ã«
+
+	ReleaseMutex(SystemMutex);
+
+    kprintf(("ini_int : [Exit]\n"));
+
+	return TRUE;
+}
+
+void
+fin_int(void)
+{
+	int    i;
+	HANDLE work;
+
+    kprintf(("fin_int : [Start]\n"));
+
+	enter_system_critical_section(NULL);
+
+	for(i=0;i<INT_NUMINTERRUPTS;i++)
+	{
+		if(InterruptLevel[i].ThreadHandle != NULL)
+		{
+			TerminateThread(InterruptLevel[i].ThreadHandle,0);
+			CloseHandle(InterruptLevel[i].ThreadHandle);
+		}
+		InterruptLevel[i].Routine = (void *)0l;
+		InterruptLevel[i].ThreadHandle = NULL;
+		InterruptLevel[i].ThreadID = 0;
+		InterruptLevel[i].Flags    = 0;
+	}
+	CurrentInterruptLevel = 0;
+
+        /* CloseHandle(SystemMutex), SystemMutex = INVALID_HANDLE; ãå®å
+¨ã«ãã */
+	work = SystemMutex;
+	SystemMutex = NULL;
+	CloseHandle(work);
+
+		//ããä»¥éã¯CPUã­ãã¯ç¶æ
+ã ã¨æãè¾¼ã
+	CPUStatus |= CPU_STAT_LOCK;
+
+    kprintf(("fin_int : [Exit]\n"));
+}
+
+BOOL
+ras_int(unsigned int ims)
+{
+	BOOL lock;
+	BOOL result = TRUE;
+
+	if(!CHECK_IMS(ims))
+		return FALSE;
+
+	ims --;
+
+	enter_system_critical_section(&lock);
+	if(InterruptLevel[ims].ThreadHandle == NULL)
+	{
+		result = FALSE;
+	}else
+		InterruptLevel[ims].Flags |= INT_STAT_PENDING;
+	leave_system_critiacl_section(&lock);
+	return result;
+}
+
+unsigned int
+sns_int( void )
+{
+	BOOL lock;
+	int  result;
+
+	if(sense_lock() == TRUE)
+		return 0;
+
+	enter_system_critical_section(&lock);
+	result = isns_int(CurrentInterruptLevel);
+	leave_system_critiacl_section(&lock);
+	return result;
+}
+
+HANDLE
+sch_int( void )
+{
+	BOOL   lock;
+	HANDLE result;
+	unsigned int level;
+
+	if(sense_lock() == TRUE)
+		return NULL;
+
+	enter_system_critical_section(&lock);
+	level = isns_int(CurrentInterruptLevel);
+	if(level != 0)
+	{
+		result = InterruptLevel[level-1].ThreadHandle;
+	}else
+		result = NULL;
+	leave_system_critiacl_section(&lock);
+
+	return result;
+}
+
+DWORD LockerThreadID = 0;
+
+ER
+ena_int(unsigned int ims)
+{
+	BOOL lock;
+	int  i;
+
+	enter_system_critical_section(&lock);
+	i = isns_int(CurrentInterruptLevel);
+	CPUStatus &= ~CPU_STAT_LOCK;
+	LockerThreadID = 0;
+	leave_system_critiacl_section(&lock);
+
+	if(i != 0)
+		HALInterruptRequest(0);
+
+	return 0 /*E_OK*/;
+}
+
+ER
+dis_int(unsigned int ims)
+{
+	BOOL lock;
+
+	enter_system_critical_section(&lock);
+	CPUStatus |= CPU_STAT_LOCK;
+	if(LockerThreadID == 0)
+	{
+		LockerThreadID = GetCurrentThreadId();
+	}else
+	{
+		DWORD newThreadID = GetCurrentThreadId();
+		LockerThreadID = GetCurrentThreadId();	//ãã¬ã¼ã¯ç½®ãå ´
+	}
+	leave_system_critiacl_section(&lock);
+
+	return 0;
+}
+
+ER
+chg_ims(unsigned int ims)
+{
+	BOOL lock;
+	int  i;
+
+		//chg_ims ã¯ ims==0 ãè¨±ã
+	if(ims != 0 && !CHECK_IMS(ims))
+		return -17 /*E_PAR*/;
+
+	enter_system_critical_section(&lock);
+	CurrentInterruptLevel = ims;
+	if(CurrentInterruptLevel == INT_NUMINTERRUPTS)
+		CPUStatus |= CPU_STAT_LOCK;
+	else
+		CPUStatus &= ~CPU_STAT_LOCK;
+	i = isns_int(ims);
+	leave_system_critiacl_section(&lock);
+
+	if(i != 0)
+		HALInterruptRequest(0);
+
+	return 0 /*E_OK*/;
+}
+
+ER
+get_ims(unsigned int *p_ims)
+{
+	BOOL lock;
+
+	if(p_ims == (void *)0l)
+		return -17 /*E_PAR*/;
+
+	enter_system_critical_section(&lock);
+	if((CPUStatus & CPU_STAT_LOCK) != 0)
+		*p_ims = INT_NUMINTERRUPTS;
+	else
+		*p_ims = CurrentInterruptLevel;
+	leave_system_critiacl_section(&lock);
+	return 0 /*E_OK*/;
+}
+
+ER
+vget_ims(unsigned int *p_ims)
+{
+	BOOL lock;
+
+	if(p_ims == (void *)0l)
+		return -17 /*E_PAR*/;
+
+	enter_system_critical_section(&lock);
+	*p_ims = CurrentInterruptLevel;
+	leave_system_critiacl_section(&lock);
+	return 0 /*E_OK*/;
+}
+
+/*
+ * æä¸ä½ã¬ãã«Windowsæ§é åä¾å¤ãã³ãã©
+ */
+
+LONG WINAPI
+HALExceptionHandler( EXCEPTION_POINTERS * exc )
+{
+	int i;
+	int result;
+
+	if((CPUStatus & CPU_STAT_EXC) == 0)
+		CPUStatus |= CPU_STAT_DOUBLEFAULT;
+
+        /* é¦¬é¹¿ãµã¼ã (ç©ºéããã¾ããã...) */
+	CPUStatus |= CPU_STAT_EXC;
+	for(i=0;i<EXC_MAXITEMS;i++)
+	{
+		if(ExceptionLevel[i].ExceptionCode == exc->ExceptionRecord->ExceptionCode)
+		{
+			result = EXCEPTION_CONTINUE_SEARCH;
+	
+			LOG_EXC_ENTER(i);
+			( * ((void (*)(void *,int *))ExceptionLevel[i].Routine)) (exc,&i);
+			LOG_EXC_LEAVE(i);
+
+			CPUStatus &= ~CPU_STAT_EXC;
+			return result;
+		}
+	}
+	CPUStatus &= ~CPU_STAT_EXC;
+	return EXCEPTION_CONTINUE_SEARCH;
+}
+
+BOOL
+ini_exc(void)
+{
+	int i;
+
+	for(i=0;i<EXC_MAXITEMS;i++)
+	{
+		ExceptionLevel[i].ExceptionCode = 0;
+		ExceptionLevel[i].Routine = 0l;
+	}
+
+	AnotherExceptionFilter = SetUnhandledExceptionFilter(HALExceptionHandler);
+	
+	return TRUE;
+}
+
+void
+fin_exc(void)
+{
+    SetUnhandledExceptionFilter(AnotherExceptionFilter);
+}
+
+BOOL
+def_exc(DWORD exc, void * routine)
+{
+	int j;
+	int i;
+
+        /* è§£é¤ã«ã¼ãã³ */
+	if(routine == 0l)
+	{
+        kprintf(("def_exc : [UNREG] 0x%08x\n", exc));
+
+		for(i=0;i<EXC_MAXITEMS;i++)
+			if(ExceptionLevel[i].ExceptionCode == exc)
+			{
+				ExceptionLevel[i].ExceptionCode = 0;
+				ExceptionLevel[i].Routine = 0;
+				return TRUE;
+			}
+		return FALSE;
+	}
+
+    /* ç»é²ã«ã¼ãã³ */
+
+    kprintf(("def_exc : [REG] 0x%08x\n", exc));
+
+	j = EXC_MAXITEMS;
+	for(i=0;i<EXC_MAXITEMS;i++)
+	{
+		if(ExceptionLevel[i].ExceptionCode != 0)
+		{
+				/* ç»é²ãããã¨ãã¦ããçªå·ãæ¢ã«ç»é²ããã¦ããªããã©ããèª¿ã¹ã */
+			if(ExceptionLevel[i].ExceptionCode == exc)
+				return FALSE;
+		}else
+		{
+				/* ç©ºãçªå·ã®æå°ãè¦ãã */
+			if(j > i)
+				j = i;
+
+            /* æ¢ç»é²ãã§ãã¯ãããã®ã§ãããã§breakãã¦ã¯ãã¡ */
+		}
+	}
+
+	FatalAssertion(i == EXC_MAXITEMS, "No available exception slots left.");
+
+		//This sequence will never change
+	ExceptionLevel[j].Routine       = routine;
+	ExceptionLevel[j].ExceptionCode = exc;
+
+	return TRUE;
+}
+
+ER set_intlogmask( unsigned int ims, BOOL mask )
+{
+	BOOL lock;
+
+	if( !CHECK_IMS(ims) )
+		return FALSE;
+
+	-- ims;
+
+	enter_system_critical_section(&lock);
+	if(mask == TRUE)
+		InterruptLevel[ims].Flags |= INT_MOD_LOGMASK;
+	else
+		InterruptLevel[ims].Flags &= ~INT_MOD_LOGMASK;
+	leave_system_critiacl_section(&lock);
+
+	return TRUE;
+}
+
+unsigned int current_timer_clock_unit = TIMER_CLOCK_WINDOWS;
+
+ER set_clk(unsigned int clk)
+{
+    BOOL lock;
+
+    if(clk == 0)
+        clk = TIMER_CLOCK_WINDOWS;
+
+    hw_timer_terminate();
+    enter_system_critical_section(&lock);
+    current_timer_clock_unit = clk;
+    leave_system_critiacl_section(&lock);
+    hw_timer_initialize();
+
+    return E_OK;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_defs.h	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_defs.h,v 1.11 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+/*
+ *	ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼Windowsç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+#define OMIT_SIL_ACCESS
+
+#define WINDOWS
+
+#define INT_NUMINTERRUPTS	7	/* å²è¾¼ã¿æ¬æ° */
+
+#ifndef _MACRO_ONLY
+
+#include <itron.h>
+#include <vwindows.h>
+
+typedef	UINT		INHNO;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef	UINT		EXCNO;		/* CPUä¾å¤ãã³ãã©çªå· */
+
+/*
+ * å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã·ã§ã³é¢é£
+ */
+
+#define INT_STAT_MASK		0x0000ffffu
+#define INT_STAT_PENDING	0x00000001u
+#define INT_STAT_RUNNING	0x00000002u
+#define INT_STAT_ENABLED	0x00000004u
+
+#define INT_MOD_MASK		0xff000000u
+#define INT_MOD_LOGMASK		0x01000000u
+
+struct tagInterruptLevel
+{
+	HANDLE			ThreadHandle;
+	DWORD			ThreadID;
+	void *			Routine;
+	unsigned int	Flags;
+};
+
+extern struct tagInterruptLevel InterruptLevel[INT_NUMINTERRUPTS];
+extern unsigned int             CurrentInterruptLevel;
+
+/*  ä¾å¤é¢é£ã®å®ç¾© */
+
+#define EXC_MAXITEMS 32
+
+struct tagExceptionLevel
+{
+	DWORD ExceptionCode;
+	void * Routine;
+};
+
+extern struct tagExceptionLevel ExceptionLevel[EXC_MAXITEMS];
+
+/*
+ * å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã·ã§ã³ç¨æä½é¢æ°
+ */
+
+extern BOOL			def_int( unsigned int ims, void * rtn);	/* ãã³ãã©å®ç¾© */
+extern BOOL			ini_int( void );				/* åæå */
+extern void			fin_int( void );
+extern BOOL			ras_int(unsigned int ims);		/* å²è¾¼ã¿è¦æ± */
+extern unsigned int sns_int( void );				/* Sense the highest pending request */
+extern HANDLE		sch_int( void );				/* å²ãè¾¼ã¿ã®ã¹ã±ã¸ã¥ã¼ã« */
+
+extern BOOL			set_intlogmask( unsigned int ims, BOOL mask );
+
+ /* è¨±å¯ã¨ç¦æ­¢ã¯å¼æ°ã«é¢ä¿ãªãå
+¨è¨±å¯&å
+¨ç¦æ­¢ã¨ãªã */
+extern ER	ena_int(unsigned int ims);			/* è¨±å¯ */
+extern ER	dis_int(unsigned int ims);			/* ç¦æ­¢ */
+
+extern ER	chg_ims(unsigned int ims);			/* å²è¾¼ã¿ã¬ãã«ã®è¨­å® */
+extern ER	get_ims(unsigned int *p_ims);		/* å²è¾¼ã¿ã¬ãã«ã®åå¾ */
+extern ER	vget_ims(unsigned int *p_ims);		/* å²è¾¼ã¿ã¬ãã«ã®åå¾ */
+
+extern BOOL def_exc(DWORD exc, void * routine);
+extern BOOL ini_exc(void);
+extern void fin_exc(void);
+
+	/*
+	 * ã·ã¹ãã ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³
+	 *   äºå®ä¸ã®CPUã­ãã¯ã§ãããã«å
+¥ã£ã¦ããéãã£ã¹ãããã¯çºçããªã
+	 */
+extern void enter_system_critical_section(BOOL *);
+extern void leave_system_critiacl_section(BOOL *);
+
+	/* æå®ãããã¿ã¹ã¯ãã·ã¹ãã ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å¤ã§åæ­¢ããã */
+extern ER   wait_for_thread_suspension_completion(HANDLE thread);
+
+    /* ã·ãã¥ã¬ã¼ã·ã§ã³ã¿ã¤ãå¶å¾¡ */
+extern unsigned int current_timer_clock_unit;
+
+    /* ã·ãã¥ã¬ã¼ã·ã§ã³æå»ã®ãã£ãã¯ãä¿®æ­£ãã
+     *   clk : ä¸åã®ã¿ã¤ãå²è¾¼ã¿æ¯ã«å ããã·ãã¥ã¬ã¼ã·ã§ã³æé
+     *     (clk = 0 : èªç¶ãªå¤ (TIMER_CLOCK_WINDOWS))
+     */
+extern ER set_clk(unsigned int clk);
+
+#endif /* _MACRO_ONLY */
+
+/*
+ * ã¿ã¤ãã¼é¢é£
+ */
+
+#include <hw_timer.h>
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define	TIC_NUME	current_timer_clock_unit	/* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define	TIC_DENO	1						    /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ * æ¡å¼µã¿ã¤ãã¼ (Pentium Timer)
+ */
+
+typedef UD SYSUTIM;
+
+Inline ER
+vxget_tim(SYSUTIM * pk_sysutim)
+{
+	QueryPerformanceCounter((LARGE_INTEGER *)pk_sysutim);
+	return E_OK;
+}
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.def	(revision 26)
@@ -0,0 +1,48 @@
+activate_r
+ret_int
+ret_exc
+NotifyDialogProc
+InitializeComSupportModule
+FinalizeComSupportModule
+idispatch
+FatalAssertion
+CurrentInterruptLevel
+InterruptLevel
+ExceptionLevel
+AnotherExceptionFilter
+SystemMutex
+SystemMutexOwnerThreadID
+SystemMutexLastOwnerThreadID
+enter_system_critical_section
+leave_system_critiacl_section
+wait_for_thread_suspension_completion
+isns_int
+InterruptHandlerWrapper
+def_int
+ini_int
+fin_int
+ras_int
+sns_int
+sch_int
+LockerThreadID
+HALExceptionHandler
+ini_exc
+fin_exc
+DebugOutDialogProc
+InitializeDebugServices
+FinalizeDebugServices
+decode_waitstatus
+decode_taskstatus
+ProcessInstance
+PrimaryThreadHandle
+PrimaryDialogHandle
+CurrentRunningThreadHandle
+ShutdownPostponementRequest
+WorkerThreadHandle
+DestructionProcedureQueue
+KernelStarter
+TaskExceptionPerformer
+ForceShutdownHandler
+PrimaryDialogCommandHandler
+HALMessageHandler
+PrimaryDialogProc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_rename.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_rename.h,v 1.3 2003/07/01 13:49:51 takayuki Exp $
+ */
+
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define activate_r		_kernel_activate_r
+#define ret_int			_kernel_ret_int
+#define ret_exc			_kernel_ret_exc
+#define NotifyDialogProc	_kernel_NotifyDialogProc
+#define InitializeComSupportModule	_kernel_InitializeComSupportModule
+#define FinalizeComSupportModule	_kernel_FinalizeComSupportModule
+#define idispatch		_kernel_idispatch
+#define FatalAssertion		_kernel_FatalAssertion
+#define CurrentInterruptLevel	_kernel_CurrentInterruptLevel
+#define InterruptLevel		_kernel_InterruptLevel
+#define ExceptionLevel		_kernel_ExceptionLevel
+#define AnotherExceptionFilter	_kernel_AnotherExceptionFilter
+#define SystemMutex		_kernel_SystemMutex
+#define SystemMutexOwnerThreadID	_kernel_SystemMutexOwnerThreadID
+#define SystemMutexLastOwnerThreadID	_kernel_SystemMutexLastOwnerThreadID
+#define enter_system_critical_section	_kernel_enter_system_critical_section
+#define leave_system_critiacl_section	_kernel_leave_system_critiacl_section
+#define wait_for_thread_suspension_completion	_kernel_wait_for_thread_suspension_completion
+#define isns_int		_kernel_isns_int
+#define InterruptHandlerWrapper	_kernel_InterruptHandlerWrapper
+#define def_int			_kernel_def_int
+#define ini_int			_kernel_ini_int
+#define fin_int			_kernel_fin_int
+#define ras_int			_kernel_ras_int
+#define sns_int			_kernel_sns_int
+#define sch_int			_kernel_sch_int
+#define LockerThreadID		_kernel_LockerThreadID
+#define HALExceptionHandler	_kernel_HALExceptionHandler
+#define ini_exc			_kernel_ini_exc
+#define fin_exc			_kernel_fin_exc
+#define DebugOutDialogProc	_kernel_DebugOutDialogProc
+#define InitializeDebugServices	_kernel_InitializeDebugServices
+#define FinalizeDebugServices	_kernel_FinalizeDebugServices
+#define decode_waitstatus	_kernel_decode_waitstatus
+#define decode_taskstatus	_kernel_decode_taskstatus
+#define ProcessInstance		_kernel_ProcessInstance
+#define PrimaryThreadHandle	_kernel_PrimaryThreadHandle
+#define PrimaryDialogHandle	_kernel_PrimaryDialogHandle
+#define CurrentRunningThreadHandle	_kernel_CurrentRunningThreadHandle
+#define ShutdownPostponementRequest	_kernel_ShutdownPostponementRequest
+#define WorkerThreadHandle	_kernel_WorkerThreadHandle
+#define DestructionProcedureQueue	_kernel_DestructionProcedureQueue
+#define KernelStarter		_kernel_KernelStarter
+#define TaskExceptionPerformer	_kernel_TaskExceptionPerformer
+#define ForceShutdownHandler	_kernel_ForceShutdownHandler
+#define PrimaryDialogCommandHandler	_kernel_PrimaryDialogCommandHandler
+#define HALMessageHandler	_kernel_HALMessageHandler
+#define PrimaryDialogProc	_kernel_PrimaryDialogProc
+
+#ifdef LABEL_ASM
+
+#define _activate_r		__kernel_activate_r
+#define _ret_int		__kernel_ret_int
+#define _ret_exc		__kernel_ret_exc
+#define _NotifyDialogProc	__kernel_NotifyDialogProc
+#define _InitializeComSupportModule	__kernel_InitializeComSupportModule
+#define _FinalizeComSupportModule	__kernel_FinalizeComSupportModule
+#define _idispatch		__kernel_idispatch
+#define _FatalAssertion		__kernel_FatalAssertion
+#define _CurrentInterruptLevel	__kernel_CurrentInterruptLevel
+#define _InterruptLevel		__kernel_InterruptLevel
+#define _ExceptionLevel		__kernel_ExceptionLevel
+#define _AnotherExceptionFilter	__kernel_AnotherExceptionFilter
+#define _SystemMutex		__kernel_SystemMutex
+#define _SystemMutexOwnerThreadID	__kernel_SystemMutexOwnerThreadID
+#define _SystemMutexLastOwnerThreadID	__kernel_SystemMutexLastOwnerThreadID
+#define _enter_system_critical_section	__kernel_enter_system_critical_section
+#define _leave_system_critiacl_section	__kernel_leave_system_critiacl_section
+#define _wait_for_thread_suspension_completion	__kernel_wait_for_thread_suspension_completion
+#define _isns_int		__kernel_isns_int
+#define _InterruptHandlerWrapper	__kernel_InterruptHandlerWrapper
+#define _def_int		__kernel_def_int
+#define _ini_int		__kernel_ini_int
+#define _fin_int		__kernel_fin_int
+#define _ras_int		__kernel_ras_int
+#define _sns_int		__kernel_sns_int
+#define _sch_int		__kernel_sch_int
+#define _LockerThreadID		__kernel_LockerThreadID
+#define _HALExceptionHandler	__kernel_HALExceptionHandler
+#define _ini_exc		__kernel_ini_exc
+#define _fin_exc		__kernel_fin_exc
+#define _DebugOutDialogProc	__kernel_DebugOutDialogProc
+#define _InitializeDebugServices	__kernel_InitializeDebugServices
+#define _FinalizeDebugServices	__kernel_FinalizeDebugServices
+#define _decode_waitstatus	__kernel_decode_waitstatus
+#define _decode_taskstatus	__kernel_decode_taskstatus
+#define _ProcessInstance	__kernel_ProcessInstance
+#define _PrimaryThreadHandle	__kernel_PrimaryThreadHandle
+#define _PrimaryDialogHandle	__kernel_PrimaryDialogHandle
+#define _CurrentRunningThreadHandle	__kernel_CurrentRunningThreadHandle
+#define _ShutdownPostponementRequest	__kernel_ShutdownPostponementRequest
+#define _WorkerThreadHandle	__kernel_WorkerThreadHandle
+#define _DestructionProcedureQueue	__kernel_DestructionProcedureQueue
+#define _KernelStarter		__kernel_KernelStarter
+#define _TaskExceptionPerformer	__kernel_TaskExceptionPerformer
+#define _ForceShutdownHandler	__kernel_ForceShutdownHandler
+#define _PrimaryDialogCommandHandler	__kernel_PrimaryDialogCommandHandler
+#define _HALMessageHandler	__kernel_HALMessageHandler
+#define _PrimaryDialogProc	__kernel_PrimaryDialogProc
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/cpu_unrename.h	(revision 26)
@@ -0,0 +1,162 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cpu_unrename.h,v 1.4 2005/07/06 03:10:29 honda Exp $
+ */
+
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef activate_r
+#undef ret_int
+#undef ret_exc
+#undef NotifyDialogProc
+#undef InitializeComSupportModule
+#undef FinalizeComSupportModule
+#undef idispatch
+#undef FatalAssertion
+#undef CurrentInterruptLevel
+#undef InterruptLevel
+#undef ExceptionLevel
+#undef AnotherExceptionFilter
+#undef SystemMutex
+#undef SystemMutexOwnerThreadID
+#undef SystemMutexLastOwnerThreadID
+#undef enter_system_critical_section
+#undef leave_system_critiacl_section
+#undef wait_for_thread_suspension_completion
+#undef isns_int
+#undef InterruptHandlerWrapper
+#undef def_int
+#undef ini_int
+#undef fin_int
+#undef ras_int
+#undef sns_int
+#undef sch_int
+#undef LockerThreadID
+#undef HALExceptionHandler
+#undef ini_exc
+#undef fin_exc
+#undef DebugOutDialogProc
+#undef InitializeDebugServices
+#undef FinalizeDebugServices
+#undef decode_waitstatus
+#undef decode_taskstatus
+#undef ProcessInstance
+#undef PrimaryThreadHandle
+#undef PrimaryDialogHandle
+#undef CurrentRunningThreadHandle
+#undef ShutdownPostponementRequest
+#undef WorkerThreadHandle
+#undef DestructionProcedureQueue
+#undef KernelStarter
+#undef TaskExceptionPerformer
+#undef ForceShutdownHandler
+#undef PrimaryDialogCommandHandler
+#undef HALMessageHandler
+#undef PrimaryDialogProc
+
+#ifdef LABEL_ASM
+
+#undef _activate_r
+#undef _ret_int
+#undef _ret_exc
+#undef _NotifyDialogProc
+#undef _InitializeComSupportModule
+#undef _FinalizeComSupportModule
+#undef _idispatch
+#undef _FatalAssertion
+#undef _CurrentInterruptLevel
+#undef _InterruptLevel
+#undef _ExceptionLevel
+#undef _AnotherExceptionFilter
+#undef _SystemMutex
+#undef _SystemMutexOwnerThreadID
+#undef _SystemMutexLastOwnerThreadID
+#undef _enter_system_critical_section
+#undef _leave_system_critiacl_section
+#undef _wait_for_thread_suspension_completion
+#undef _isns_int
+#undef _InterruptHandlerWrapper
+#undef _def_int
+#undef _ini_int
+#undef _fin_int
+#undef _ras_int
+#undef _sns_int
+#undef _sch_int
+#undef _LockerThreadID
+#undef _HALExceptionHandler
+#undef _ini_exc
+#undef _fin_exc
+#undef _DebugOutDialogProc
+#undef _InitializeDebugServices
+#undef _FinalizeDebugServices
+#undef _decode_waitstatus
+#undef _decode_taskstatus
+#undef _ProcessInstance
+#undef _PrimaryThreadHandle
+#undef _PrimaryDialogHandle
+#undef _CurrentRunningThreadHandle
+#undef _ShutdownPostponementRequest
+#undef _WorkerThreadHandle
+#undef _DestructionProcedureQueue
+#undef _KernelStarter
+#undef _TaskExceptionPerformer
+#undef _ForceShutdownHandler
+#undef _PrimaryDialogCommandHandler
+#undef _HALMessageHandler
+#undef _PrimaryDialogProc
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.c	(revision 26)
@@ -0,0 +1,195 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: debugout.c,v 1.10 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+#include <debugout.h>
+#include <hal_msg.h>
+#include <resource.h>
+
+#ifdef DEBUG_ENABLE
+
+#define DBG_SIZE_STRINGBUFFER 512
+
+static HANDLE DebugConsole;     //ãããã°æå­åãè¡¨ç¤ºãããã­ã¹ãããã¯ã¹
+static HWND   DialogHandle;     //ãããã°åºåãã¤ã¢ã­ã°
+
+extern void FatalAssertion(int exp, LPCSTR format, ... );
+
+/*
+ * ãããã°ç¨ãã¤ã¢ã­ã°ã®ã¡ãã»ã¼ã¸ãã³ãã©
+ */
+static LRESULT CALLBACK DebugOutDialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam)
+{
+	switch(Msg)
+	{
+	case WM_INITDIALOG:
+		DebugConsole = GetDlgItem(hDlg,IDC_DEBUGOUT);       //åºåå
+ãã­ã¹ãããã¯ã¹
+		ShowWindow(hDlg,SW_SHOW);
+
+	case WM_SIZE:
+		{
+			RECT client;
+			GetClientRect(hDlg,&client);
+			MoveWindow(DebugConsole,0,0,client.right,client.bottom,TRUE);
+			break;
+		}
+
+	case WM_CLOSE:
+			/* Never let this dialog close by pressing of the close button. */
+		break;
+
+	case WM_DESTROY:
+		DialogHandle = 0;
+		break;
+
+	case WM_QUIT:
+		DestroyWindow(hDlg);
+		break;
+	
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+    /* ä¸ã®2é¢æ°ãæ
+å ±ãããåãããããã®æ§é ä½ */
+struct tagInitializeDebugServicesParam {
+    HINSTANCE hInstance;
+    HWND      hDlg;
+};
+
+    /* ãããã°ã«ã¼ãã³ãã¨ãã */
+void FinalizeDebugServices(void)
+{
+    if(DialogHandle != 0l) {
+		DestroyWindow(DialogHandle);
+    }
+}
+
+    /* ç®¡çã¹ã¬ãããå®è¡ããã¦ã£ã³ãã¦ä½æã«ã¼ãã³ */
+static void _initializeDebugServices(void * _param)
+{
+    struct tagInitializeDebugServicesParam * param = (struct tagInitializeDebugServicesParam *)_param;
+    DialogHandle = CreateDialog(param->hInstance, MAKEINTRESOURCE(DEBUGOUTDIALOG), param->hDlg, DebugOutDialogProc);
+    FatalAssertion(DialogHandle != NULL, "DebugService could not create its own dialog.");     
+}
+
+    /* ãããã°ã«ã¼ãã³ã®åæå ï¼ç®¡çã¹ã¬ããã«ãã¤ã¢ã­ã°ãä½ã£ã¦ããã) */
+void InitializeDebugServices(HINSTANCE hinst,HWND dlg)
+{
+    struct tagInitializeDebugServicesParam param;
+    param.hInstance = hinst;
+    param.hDlg      = dlg;
+
+    HALExecuteProcedure(_initializeDebugServices, (void *)&param);      //çæä¾é ¼
+    HALAddDestructionProcedure(FinalizeDebugServices, 0);               //ç ´æ£ã«ã¼ãã³ã®ç»é²
+}
+
+    /* ãããã°æç¨printf */
+int _debugOut(const char * format, ... )
+{
+	int result;
+	int i;
+	char buffer[DBG_SIZE_STRINGBUFFER*2];
+	char * scope;
+	const char * work;
+	va_list vl;
+
+	if(format == 0l)
+		return 0;
+
+	va_start(vl, format);
+
+		/* formatã«å«ã¾ãã '\n' ã '\r\n' ã«ç½®æãã */
+	scope = buffer;
+	work  = format;
+
+	while(*format != '\0')
+	{
+		if(*format == '\n')
+		{
+			i = format - work;
+			lstrcpyn(scope, work, i);
+			
+			scope += i;
+			work = format;
+
+			*(scope++) = '\r';
+		}
+		format ++;
+	}
+
+	i = format - work + 1;
+	lstrcpyn(scope, work, i);		//+1ãã¦'\x0'ãã³ãã¼
+	scope += i;
+
+	if((result = wvsprintf(scope, buffer, vl)) > 0)
+	{
+			//åºåãããããå°ãã«ãã
+		i = GetWindowTextLength(DebugConsole);
+		if(i > DEBUG_LIMITTERUPPERBOUND)
+		{
+			SendMessage(DebugConsole, EM_SETSEL, 0, i - DEBUG_LIMITTERUPPERBOUND);
+			SendMessage(DebugConsole, EM_REPLACESEL, (WPARAM)FALSE, (LPARAM)"");
+		}
+
+		SendMessage(DebugConsole,EM_SETSEL,i,i);
+		SendMessage(DebugConsole,EM_REPLACESEL,(WPARAM)FALSE,(LPARAM)scope);
+	}
+
+	return result;
+}
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/debugout.h	(revision 26)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: debugout.h,v 1.11 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+#ifndef __DEBUG_H
+#define __DEBUG_H
+
+#include <s_services.h>
+
+#include <stdarg.h>
+
+#ifdef DEBUG_ENABLE     /* ãããã°ã«ã¼ãã³ãæå¹ãªã¨ã */
+
+#define DEBUG_LIMITTERUPPERBOUND 65536
+
+void InitializeDebugServices(HINSTANCE,HWND);
+void FinalizeDebugServices(void);
+int  _debugOut(const char * format, ... );
+
+#define OnDebug(x)  x
+#define DebugOut(x) _debugOut x
+
+#else                   /* ãããã°ã«ã¼ãã³ãç¡å¹ãªã¨ã */
+
+#define OnDebug(x)
+#define DebugOut(x)
+
+#endif
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/device.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/device.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/device.h	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: device.h,v 1.9 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+#ifndef __DEVICE_H
+#define __DEVICE_H
+
+#include <cpu_rename.h>
+#include <s_services.h>
+
+#ifdef DEVICE_ENABLE
+
+#define MAX_MSGSIZE 256
+
+#define DEVICE_TIMEOUT INFINITE
+
+#define OnDevice
+
+extern struct tagDeviceGlobalVariables
+{
+    CRITICAL_SECTION cs;
+    HANDLE ManagerSlot;
+    HANDLE ListenerThread;
+    HANDLE Blocker;
+    HANDLE ThreadBlocker;
+    HANDLE ReplySlot;
+    DWORD ListenerThreadID;
+} DeviceVars;
+
+void InitializeDeviceSupportModule(void);
+void FinalizeDeviceSupportModule(void);
+
+int DeviceRead(unsigned long address, unsigned long size, void * storage);
+int DeviceWrite(unsigned long address, unsigned long size, void * storage);
+
+
+#define SIL_ENDIAN SIL_ENDIAN_LITTLE
+
+/*
+ *  ã¨ã³ãã£ã¢ã³ã®åè»¢
+ */
+#ifndef SIL_REV_ENDIAN_H
+#define	SIL_REV_ENDIAN_H(data) \
+    ((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+#ifndef SIL_REV_ENDIAN_W
+#define	SIL_REV_ENDIAN_W(data) \
+    ((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
+    | (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+/*
+ *  èªç¶ãªã¨ã³ãã£ã¢ã³ã§ã®èª­åºã
+ */
+Inline VB
+sil_reb_mem(VP mem)
+{
+    VB data;
+    DeviceRead((unsigned long)mem, sizeof(data), &data);
+    return data;
+}
+
+Inline VH
+sil_reh_mem(VP mem)
+{
+    VH data;
+    DeviceRead((unsigned long)mem, sizeof(data), &data);
+    return data;
+}
+
+Inline VW
+sil_rew_mem(VP mem)
+{
+    VW data;
+    DeviceRead((unsigned long)mem, sizeof(data), &data);
+    return data;
+}
+
+Inline void
+sil_rek_mem(VP mem, VP data, UINT len)
+{	DeviceRead((unsigned long)mem, len, data);   }
+
+/*
+ *  ãªãã«ã¨ã³ãã£ã¢ã³ã§ã®èª­åºãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµï¼
+ */
+#define	sil_reh_lem(mem)	sil_reh_mem(mem)
+#define	sil_rew_lem(mem)	sil_rew_mem(mem)
+
+/*
+ *  ããã°ã¨ã³ãã£ã¢ã³ã§ã®èª­åºãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµï¼
+ */
+Inline VH
+sil_reh_bem(VP mem)
+{   return SIL_REV_ENDIAN_H(sil_reh_mem(mem));   }
+
+Inline VW
+sil_rew_bem(VP mem)
+{   return SIL_REV_ENDIAN_W(sil_rew_mem(mem));   }
+
+/*
+ *  èªç¶ãªã¨ã³ãã£ã¢ã³ã§ã®æ¸è¾¼ã¿
+ */
+Inline void
+sil_wrb_mem(VP mem, VB data)
+{   DeviceWrite((unsigned long)mem, sizeof(data), &data);   }
+
+Inline void
+sil_wrh_mem(VP mem, VH data)
+{   DeviceWrite((unsigned long)mem, sizeof(data), &data);   }
+
+Inline void
+sil_wrw_mem(VP mem, VW data)
+{   DeviceWrite((unsigned long)mem, sizeof(data), &data);   }
+
+Inline void
+sil_wrk_mem(VP mem, VP data, UINT len)
+{	DeviceWrite((unsigned long)mem, len, data);   }
+
+#define	sil_wrh_lem(mem, data)	sil_wrh_mem(mem, data)
+#define	sil_wrw_lem(mem, data)	sil_wrw_mem(mem, data)
+
+/*
+ *  ããã°ã¨ã³ãã£ã¢ã³ã§ã®æ¸è¾¼ã¿ï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµï¼
+ */
+Inline void
+sil_wrh_bem(VP mem, VH data)
+{
+    data = SIL_REV_ENDIAN_H(data);
+    DeviceWrite((unsigned long)mem, sizeof(data), &data);   		
+}
+
+Inline void
+sil_wrw_bem(VP mem, VW data)
+{
+    data = SIL_REV_ENDIAN_W(data);
+    DeviceWrite((unsigned long)mem, sizeof(data), &data);   		
+}
+
+#else // DEVICE_ENABLE
+
+//ããã¤ã¹ã¯å©ç¨ããªã
+
+#define OnDevice /##/
+#define InitializeDeviceSupportModule /##/
+#define FinalizeDeviceSupportModule /##/
+
+/*
+#define DeviceRead(address, size, storage) \
+    memcpy(storage, (void *)address, size)
+
+#define DeviceWrite(address, size, storage) \
+    memcpy((void *)address, storage, size)
+*/
+
+#define DeviceRead /##/
+#define DeviceWrite /##/
+
+#endif
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.c	(revision 26)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: eventlog.c,v 1.7 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+#include <s_services.h>
+
+#ifdef EVENTLOG_ENABLE
+
+#include "jsp_kernel.h"
+#include "task.h"
+#include "semaphore.h"
+#include "dataqueue.h"
+#include "eventflag.h"
+#include "mempfix.h"
+#include "mailbox.h"
+
+//#include <kernel_debug.h>
+
+extern SEMCB 	semcb_table[1];
+extern UINT		tmax_semid;
+extern FLGCB	flgcb_table[1];
+extern UINT		tmax_flgid;
+extern DTQCB 	dtqcb_table[1];
+extern UINT		tmax_dtqid;
+extern MBXCB 	mbxcb_table[1];
+extern UINT		tmax_mbxid;
+extern MPFCB 	mpfcb_table[1];
+extern UINT		tmax_mpfid;
+
+/*
+ *  ã¤ãã³ãã­ã°åºåç¨ ã¿ã¹ã¯ç¶æ
+åå¾é¢æ°
+ *    (com_support.cã¯C++ã«ãªãã®ã§ãããã«ç½®ã)
+ */
+
+Inline BOOL is_inside_of(void * src, void * min, void * sup)
+{	return ((long)src >= (long)min) && ((long)src <  (long)sup);	}
+
+static void decode_waitstatus(TCB * tcb, unsigned int * objtype, int * objid)
+{
+	QUEUE * queue;
+
+	if((tcb->tstat & TS_WAIT_SLEEP) != 0)
+	{
+		*objtype = TTW_SLP;
+	}else
+	{
+		if((tcb->tstat & TS_WAIT_WOBJCB) != 0)
+		{
+			do {
+				queue = tcb->task_queue.next;
+			} while( queue != &tcb->task_queue && is_inside_of(queue, tcb_table, &tcb_table[TNUM_TSK]) );
+
+			if(queue == &tcb->task_queue)
+				*objtype = 0;
+
+				/* ã»ããã© */
+			else if(is_inside_of(queue, semcb_table, &semcb_table[tmax_semid-1]))
+			{
+				*objtype = TTW_SEM;
+				*objid   = ((long)queue - (long)semcb_table) / sizeof(SEMCB) + 1;
+			}
+				/* ã¤ãã³ããã©ã° */
+			else if(is_inside_of(queue, flgcb_table, &flgcb_table[tmax_flgid-1]))
+			{
+				*objtype = TTW_FLG;
+				*objid   = ((long)queue - (long)flgcb_table) / sizeof(FLGCB) + 1;
+			}
+				/* ãã¼ã¿ã­ã¥ã¼ */
+			else if(is_inside_of(queue, dtqcb_table, &dtqcb_table[tmax_dtqid-1]))
+			{
+				if(((long)queue % sizeof(DTQCB)) == (long)(&((DTQCB *)0)->rwait_queue))
+					*objtype = TTW_RDTQ;
+				else
+					*objtype = TTW_SDTQ;
+				*objid   = ((long)queue - (long)dtqcb_table) / sizeof(DTQCB) + 1;
+			}
+				/* ã¡ã¼ã«ããã¯ã¹ */
+			else if(is_inside_of(queue, mbxcb_table, &mbxcb_table[tmax_mbxid-1]))
+			{
+				*objtype = TTW_MBX;
+				*objid   = ((long)queue - (long)mbxcb_table) / sizeof(MBXCB) + 1;
+			}
+				/* åºå®é·ã¡ã¢ãªãã¼ã« */
+			else if(is_inside_of(queue, mpfcb_table, &mpfcb_table[tmax_mpfid-1]))
+			{
+				*objtype = TTW_MPL;
+				*objid   = ((long)queue - (long)mpfcb_table) / sizeof(MPFCB) + 1;
+			}
+		}else
+		{
+				/* slp_tskã§ã¯ãªãããªãã¸ã§ã¯ãå¾
+ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããªãã¿ã¤ã ã¢ã¦ãä»ãã®å¾
+ã¡ -> dly_tsk */
+			if(tcb->winfo->tmevtb != NULL)
+				*objtype = TTW_DLY;
+		}
+	}
+}
+
+void decode_taskstatus(TCB * tcb, int * tskid, unsigned int * tskstat, unsigned int * objtype, int * objid)
+{
+	int stat = tcb->tstat;
+
+		/* ã¿ã¹ã¯ID */
+	*tskid = TSKID(tcb);
+
+		/* ã¿ã¹ã¯ç¶æ
+ */
+	*tskstat = TTS_DMT;
+	if((stat & TS_RUNNABLE) != 0)
+	{
+		*tskstat = TTS_RDY;
+	}else
+	{
+		if((stat & TS_WAITING) != 0)
+		{
+				/* å¾
+ã¡æ
+å ±ã®ãã³ã¼ã */
+			decode_waitstatus((TCB *)tcb, objtype, objid);
+
+			if((stat & TS_SUSPENDED) != 0)
+				*tskstat = TTS_WAS;
+			else
+				*tskstat = TTS_WAI;
+		}else
+		{
+			if((stat & TS_SUSPENDED) != 0)
+				*tskstat = TTS_SUS;
+		}
+	}
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/eventlog.h	(revision 26)
@@ -0,0 +1,196 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: eventlog.h,v 1.7 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+#ifndef __EVENTLOG_H__
+#define __EVENTLOG_H__
+
+#include <constants.h>
+
+#include <stdarg.h>
+#include "syslog.h"
+
+	/*
+	 *  ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹é¢é£ã®å®ç¾©
+	 */
+
+	/*
+	 *  ãã£ã¹ãããç¨®å¥
+	 */
+#define DSP_NORMAL		0;	//ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãã£ã¹ããã
+#define DSP_NONTSKCTX	1;	//å²è¾¼ã¿å¦çããã³CPUä¾å¤ããã®ãã£ã¹ããã 
+
+	typedef	W		BITMASK;
+	typedef UINT	INHNO;
+
+	/* å²è¾¼ã¿ãã³ãã© */
+	typedef struct t_rglog_interrupt{
+		INHNO	inhno;	//å²è¾¼ã¿ãã³ãã©çªå·
+	} T_RGLOG_INTERRUPT;
+
+	/* å²è¾¼ã¿ãµã¼ãã¹ãã³ãã©(æªä½¿ç¨) */
+	typedef struct t_rglog_isr {
+		ID		isrid;	//å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ID
+		INHNO	inhno;	//å²è¾¼ã¿ãã³ãã©çªå·
+	} T_RGLOG_ISR;
+
+	/* ã¿ã¤ã ã¤ãã³ããã³ãã© */
+	typedef struct t_rglog_timerhdr {
+		UINT	type;	//ã¿ã¤ãã¼ã®ç¨®å¥
+		ID		hdrid;	//ã¿ã¤ã ã¤ãã³ããã³ãã©ã®ID
+		VP_INT	exinf;	//æ¡å¼µæ
+å ±
+	} T_RGLOG_TIMERHDR;
+
+	/* CPUä¾å¤ãã³ãã© */
+	typedef struct t_rglog_cupexc {
+		ID		tskid;	//å¯¾è±¡ã¨ãªãã¿ã¹ã¯ID
+	} T_RGLOG_CPUEXC;
+
+	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+	typedef struct t_rglog_tskexc {
+		ID		tskid;	//å¯¾è±¡ã¨ãªãã¿ã¹ã¯ID
+	} T_RGLOG_TSKEXC;
+
+	/* ã¿ã¹ã¯ç¶æ
+å¤å */
+	typedef struct t_rglog_tskstat {
+		ID		tskid;		//ã¿ã¹ã¯ID
+		STAT	tskstat;	//é·ç§»å
+ã¿ã¹ã¯ç¶æ
+
+		STAT	tskwait;	//å¾
+ã¡ç¶æ
+
+		ID		wobjid;		//å¾
+ã¡å¯¾è±¡ã®ãªãã¸ã§ã¯ãID
+	} T_RGLOG_TSKSTAT;
+
+	/* ãã£ã¹ãããã£éå§ */
+	typedef struct t_rglog_dispatch_enter {
+		ID		tskid;		//ã¿ã¹ã¯ID
+		UINT	disptype;	//ãã£ã¹ãããç¨®å¥
+	} T_RGLOG_DISPATCH_ENTER;
+
+	/* ãã£ã¹ãããã£çµäº */
+	typedef struct t_rglog_dispatch_leave {
+		ID		tskid;		//ã¿ã¹ã¯ID
+	} T_RGLOG_DISPATCH_LEAVE;
+
+	/* ãµã¼ãã¹ã³ã¼ã« */
+	typedef struct t_rglog_svc {
+		FN		fncno;		//æ©è½ã³ã¼ã
+		UINT	prmcnt;		//ãã©ã¡ã¼ã¿æ°
+		VP_INT	prmary[1];	//ãã©ã¡ã¼ã¿
+	} T_RGLOG_SVC;
+
+	/* ã³ã¡ã³ãï¼æå­åã®ã¿ã®ã­ã°ï¼ */
+	typedef struct t_rglog_comment {
+		UINT	length;		//æå­åã®é·ã
+		char	strtext[1];	//æå­å(NULLçµç«¯)-ä¸­æ­ãã
+	} T_RGLOG_COMMENT;
+
+	typedef struct t_rglog_header {
+		UINT	logtype;
+		SYSTIM	logtim;
+		BITMASK	valid;
+		UINT	bufsz;
+	} T_RGLOG_HEADER;
+
+	typedef union t_rglog_body
+	{
+		T_RGLOG_INTERRUPT		interrupt;
+		T_RGLOG_ISR				isr;
+		T_RGLOG_TIMERHDR		timerhdr;
+		T_RGLOG_CPUEXC			cpuexc;
+		T_RGLOG_TSKEXC			tskexc;
+		T_RGLOG_TSKSTAT			tskstat;
+		T_RGLOG_DISPATCH_ENTER	dispatch_enter;
+		T_RGLOG_DISPATCH_LEAVE	dispatch_leave;
+		T_RGLOG_SVC				svc;
+		T_RGLOG_COMMENT			comment;
+	} T_RGLOG_BODY;
+
+	typedef struct DBIFLOG
+	{
+		struct	t_rglog_header	header;
+		union	t_rglog_body	body;
+	} DBIFLOG;
+
+	typedef struct t_rglog
+	{
+		UINT	logtype;
+		SYSTIM	logtim;
+		BITMASK	valid;
+		UINT	bufsz;
+		char	buf[1];
+	} T_RGLOG;
+
+#ifdef EVENTLOG_ENABLE
+#ifdef __cplusplus
+#define EXTERN extern "C"
+#else
+#define EXTERN extern
+#endif
+
+		EXTERN void event_write_syslog(const SYSLOG * str);
+		EXTERN void event_write(unsigned int logtype, unsigned int valid, UINT bufsz, ... );
+		EXTERN void event_write_svc_enter(int fncd, unsigned int params, ... );
+		EXTERN void event_write_svc_leave(int fncd, unsigned int ercd, unsigned int retaddr);
+		EXTERN void event_write_wait_unknown(int tskid);
+
+#undef EXTERN
+
+#endif //EVENTLOG_ENABLE
+
+#endif //__EVENTLOG_H__
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_msg.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_msg.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_msg.h	(revision 26)
@@ -0,0 +1,142 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hal_msg.h,v 1.14 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+#ifndef __HAL_MSG_H
+#define __HAL_MSG_H
+
+#include <constants.h>
+#include <t_services.h>
+#include <vwindows.h>
+
+
+#ifndef __HAL_MSG_MSGONLY
+
+    /* OSã®åä½ãç®¡çããã¹ã¬ããã®ãã³ãã« */
+extern HWND PrimaryDialogHandle;
+
+    /* ç®¡çã¹ã¬ãããã­ãã¯ãããªãããã®SendMessage */
+Inline void HALSendMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+    if(PrimaryDialogHandle != GetCurrentThread())
+        SendMessage(PrimaryDialogHandle, uMsg, wParam, lParam);
+    else
+        PostMessage(PrimaryDialogHandle, uMsg, wParam, lParam);
+}
+
+    //ãã£ã¹ãããä¾é ¼
+Inline void
+HALDispatchRequest(void)
+{   HALSendMessage(HALMSG_MESSAGE, HALMSG_DISPATCH, (LPARAM)0);   }
+
+    //ã³ã³ãã­ã¹ãç ´æ£ä¾é ¼ (æ³¨ : inlineã ãããããåç
+§ãã¦ããå ´æã¯ã²ã¨ã¤ã ããªã®ã§ãã®ã¾ã¾ã«ãã)
+Inline void
+HALDestroyRequest(void * tcb)
+{	PostMessage(PrimaryDialogHandle,HALMSG_MESSAGE,HALMSG_DESTROY,(LPARAM)tcb);   }
+
+    //å²è¾¼ã¿ä¾é ¼ (intno : å²è¾¼ã¿çªå·)
+Inline void
+HALInterruptRequest(unsigned int intno)
+{	PostMessage(PrimaryDialogHandle,HALMSG_MESSAGE,HALMSG_INTERRUPT,(LPARAM)intno);   }
+
+    //å²è¾¼ã¿å¦çå®äºéç¥
+Inline void
+HALInterruptRequestAndWait(void)
+{
+	SendMessage(PrimaryDialogHandle,HALMSG_MESSAGE,HALMSG_INTERRUPT_FINISH,(LPARAM)0);
+}
+
+    //ä»»æã®ã«ã¼ãã³ã®å®è¡è¦æ±
+Inline BOOL
+HALExecuteProcedure(void * func, void * param)
+{
+	void * _workofHALExecuteProcedure[2];
+	
+	if(func == NULL)
+		return FALSE;
+
+	_workofHALExecuteProcedure[0] = func;
+	_workofHALExecuteProcedure[1] = param;
+	HALSendMessage(HALMSG_MESSAGE,HALMSG_EXECUTEPROCEDURE,(LPARAM)_workofHALExecuteProcedure);
+
+	return TRUE;
+}
+
+    //ç ´æ£ãã§ã¼ã³ã«é¢æ°ãç»é²
+Inline BOOL
+HALAddDestructionProcedure(void * func, void * param)
+{
+	void * _workofHALAddDestructionProcedure[2];
+
+	if(func == NULL)
+		return FALSE;
+
+	_workofHALAddDestructionProcedure[0] = func;
+	_workofHALAddDestructionProcedure[1] = param;
+    HALSendMessage(HALMSG_MESSAGE,HALMSG_ADDDESTRUCTIONPROCEDURE,(LPARAM)_workofHALAddDestructionProcedure);
+
+	return TRUE;
+}
+
+    //ã«ã¼ãã«åä½ã®çµäºè¦æ±
+Inline void
+HALQuitRequest(void)
+{
+    HALSendMessage(HALMSG_MESSAGE,HALMSG_QUITREQUEST,0);
+}
+
+#endif
+
+#endif
+
+/***/
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_resource.rc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_resource.rc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hal_resource.rc	(revision 26)
@@ -0,0 +1,176 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// æ¥æ¬èª resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+PRIMARYDIALOG DIALOG  0, 0, 187, 11
+STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | 
+    WS_SYSMENU
+CAPTION "TOPPERS/JSP for Windows - Primary Messaging Dialog"
+FONT 9, "ï¼­ï¼³ ï¼°ã´ã·ãã¯"
+BEGIN
+    CONTROL         "ã¯ã­ãã¯ä¾çµ¦ã®åæ­¢",IDC_CLOCKSUPPLY,"Button",
+                    BS_AUTOCHECKBOX | WS_TABSTOP,5,0,95,10
+END
+
+DEBUGOUTDIALOG DIALOG  0, 0, 186, 93
+STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_THICKFRAME
+CAPTION "ãããã°åºåæå­å"
+FONT 9, "ï¼­ï¼³ ï¼°ã´ã·ãã¯"
+BEGIN
+    EDITTEXT        IDC_DEBUGOUT,24,21,142,52,ES_MULTILINE | ES_AUTOVSCROLL | 
+                    ES_READONLY | ES_WANTRETURN | WS_VSCROLL
+END
+
+CONSOLEDIALOG DIALOGEX 0, 0, 186, 93
+STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_THICKFRAME
+CAPTION "ã·ãªã¢ã«ã³ã³ã½ã¼ã«å
+¥åºå"
+MENU IDR_CONSOLEMENU
+FONT 9, "ï¼­ï¼³ ï¼°ã´ã·ãã¯", 0, 0, 0x0
+BEGIN
+    EDITTEXT        IDC_CONSOLE,24,21,142,52,ES_MULTILINE | ES_AUTOVSCROLL | 
+                    ES_READONLY | ES_WANTRETURN | WS_VSCROLL
+END
+
+QUITNOTICEDIALOG DIALOGEX 0, 0, 432, 27
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
+EXSTYLE WS_EX_TOPMOST
+CAPTION "TOPPERS/JSP çµäºå¦çä¸­"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    CONTROL         "",IDC_PROGRESS1,"msctls_progress32",0x1,2,12,427,13
+    LTEXT           "ã¹ã¿ãã£ãã¯",IDC_NOTIFYMSG,2,0,427,11
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO 
+BEGIN
+    "PRIMARYDIALOG", DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 180
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 4
+    END
+
+    DEBUGOUTDIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 179
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 86
+    END
+
+    CONSOLEDIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        TOPMARGIN, 7
+    END
+
+    QUITNOTICEDIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 2
+        RIGHTMARGIN, 429
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ERTLICON            ICON                    "icon1.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDR_CONSOLEMENU MENU 
+BEGIN
+    POPUP "è¡¨ç¤º(&V)"
+    BEGIN
+        POPUP "ãã©ã³ããµã¤ãº(&F)"
+        BEGIN
+            MENUITEM "å¤§ãã(&B)",                  ID_FONT_BIG
+            MENUITEM "æ¨æº(&N)",                    ID_FONT_NORMAL
+            MENUITEM "å°ãã(&S)",                  ID_FONT_SMALL
+        END
+    END
+END
+
+#endif    // æ¥æ¬èª resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.c	(revision 26)
@@ -0,0 +1,868 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.c,v 1.13 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+
+#include <hw_serial.h>
+#include <hal_msg.h>
+#include <t_services.h>
+
+#include <resource.h>
+#include <debugout.h>
+
+#define BUFSZ_UPPERBOUND	24*1024	/* ã³ã³ã½ã¼ã«ãããã¡ã®å·»æ»ãåºæºãµã¤ãº (ãããè¶
+ããã¨å·»ãæ»ã)  (ã©ããã30000ãè¶
+ããããªãããã)*/
+#define BUFSZ_LOWERBOUND	 8*1024	/* å·»ãæ»ããã¨ãã«ã©ã®ãããå·»ãæ»ãã (UPPERBOUNDãããå°ããæ°)*/
+
+#define ID_PORT(x)		((x) + 1)
+#define INDEX_PORT(x)	((x) - 1)
+#define GET_SIOPCB(x)	(&siopcb_table[INDEX_PORT(x)])
+
+#define BITTEST(x,y)	( ( (x) & (y) )	!= 0)
+#define BITSET(x,y)		InterlockedExchange( &(x), (x) | (y)  )
+#define BITCLEAR(x,y)	InterlockedExchange( &(x), (x) & ~(y) )
+
+extern HINSTANCE	ProcessInstance;
+extern HANDLE		PrimaryThreadHandle;
+
+	/* ã·ãªã¢ã«å¶å¾¡ãã­ãã¯ */
+SIOPCB siopcb_table[TNUM_PORT];
+
+
+	/* è´å½çãªã¨ã©ã¼çºçæç¨ã¢ãµã¼ã */
+extern void FatalAssertion(int exp, LPCSTR format, ... );
+
+
+/*
+ *  ã·ãªã¢ã«I/Oå
+±éé¨ã¤ã³ã¿ãã§ã¼ã¹
+ */
+
+/*===========================================================================*/
+
+/*
+ * ã³ã³ã½ã¼ã«åã·ãªã¢ã«
+ */
+
+#define MAX_CONSOLE_BUFSZ	2048
+#define SERMSG_CREATE		WM_APP
+#define SERMSG_UPDATE		(WM_APP+1)
+
+struct tagSerialConsoleParameters
+{
+	CRITICAL_SECTION cs;
+	unsigned int     position;
+	char             buffer[MAX_CONSOLE_BUFSZ];
+};
+
+
+static LRESULT CALLBACK KeyEventTrapper(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
+{
+	SIOPCB * scope;
+	
+		/* WM_CHARãããã¯ãã */
+	if(Msg == WM_CHAR)
+	{
+		scope = (SIOPCB *)GetWindowLong(GetParent(hWnd),GWL_USERDATA);
+		PostMessage(scope->Handle,WM_CHAR,wParam,lParam);
+		return TRUE;
+	}
+
+		/* ãã¨ãã¨ã®WndProcãå¼ã³ãªãã */
+	return CallWindowProc((void *)GetWindowLong(hWnd,GWL_USERDATA),hWnd,Msg,wParam,lParam);
+}
+
+static void SelectConsoleFont(HWND console, UINT pixel)
+{
+	HANDLE  oldfont;
+	HANDLE  newfont;
+	LOGFONT logfont;
+	HDC     hDC;
+
+		/* DCåå¾ */
+	hDC = GetDC(console);
+
+		/* ä»ã®ãã©ã³ãæ
+å ±ãåå¾ãã */
+	oldfont = (HANDLE) SendMessage(console, WM_GETFONT, 0, 0);
+	GetObject(oldfont, sizeof(LOGFONT), &logfont);
+	
+		/* ãã¤ã³ããå¤æ´ */
+	logfont.lfHeight = -MulDiv(pixel, GetDeviceCaps(hDC, LOGPIXELSY), 72);
+
+		/* æ´æ°ãããã©ã³ãæ
+å ±ãå
+ã«ãæ°ãããã©ã³ããçæãã¦é¸æ */
+	newfont = CreateFontIndirect(&logfont);
+	SendMessage(console, WM_SETFONT, (WPARAM)newfont, MAKELPARAM(TRUE,0));
+
+		/* åã®ãã©ã³ããç ´æ£ */
+	DeleteObject(oldfont);
+
+		/* DCè§£æ¾ */
+	ReleaseDC(console, hDC);
+}
+
+static LRESULT ConsoleCommandHandler(HWND hDlg, UINT wID, UINT wNotifyCode, LPARAM lParam)
+{
+	BOOL     result;
+	HANDLE   console;
+
+	result  = TRUE;
+	console = GetDlgItem(hDlg, IDC_CONSOLE);
+
+	switch(wID)
+	{
+		/*
+		 * ãã©ã³ãã®å¤§ãããå¤æ´ãã 
+		 */
+	case ID_FONT_BIG:
+		SelectConsoleFont(console, 16);
+		break;
+	case ID_FONT_NORMAL:
+		SelectConsoleFont(console, 9);
+		break;
+	case ID_FONT_SMALL:
+		SelectConsoleFont(console, 4);
+		break;
+
+	default:
+		result = FALSE;
+	}
+
+	return result;
+}
+
+static BOOL CALLBACK ConsoleProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam)
+{
+	switch(Msg)
+	{
+	case SERMSG_CREATE:
+		{
+			SIOPCB * work;
+			void   * DefWndProc;
+			HWND     hConsole;
+
+			hConsole = GetDlgItem(hDlg, IDC_CONSOLE);
+
+				/* ãã­ã¹ãããã¯ã¹ã®WndProcã«ããã¯ãããã */
+			DefWndProc = (void *)GetWindowLong(hConsole,GWL_WNDPROC);
+			SetWindowLong(hConsole, GWL_USERDATA, (LONG) DefWndProc);
+
+			work = (SIOPCB *)lParam;
+			SetWindowLong(hDlg,GWL_USERDATA,lParam);
+			SetWindowLong(hConsole, GWL_WNDPROC, (long)KeyEventTrapper);
+
+			SetTimer(hDlg, 100, 300, NULL);
+
+			ShowWindow(hDlg,SW_SHOWNA);
+			break;
+		}
+
+	case WM_DESTROY:
+		{
+			SIOPCB * scope;
+			KillTimer(hDlg, 100);
+			scope = (SIOPCB *)GetWindowLong(hDlg,GWL_USERDATA);
+			if(scope != 0)
+				scope->Handle = NULL;
+			break;
+		}
+
+	case WM_CLOSE:	/* ã¦ã¼ã¶ã«ããã¦ã£ã³ãã¦ã¯ã­ã¼ãºãææ­¢ */
+		break;
+
+	case WM_CHAR:
+		{
+			SIOPCB * scope;
+			scope = (SIOPCB *)GetWindowLong(hDlg,GWL_USERDATA);
+			if(scope != 0)
+			{
+				scope->ReceiveBuffer = (char)wParam;
+				BITSET(scope->Flag, SIO_STA_INTRCV);
+				HALInterruptRequest(INHNO_SERIAL);
+			}
+			break;
+		}
+
+	case WM_SETFONT:
+		return TRUE;
+
+	case WM_INITDIALOG:
+    case WM_SIZE:
+		{
+			RECT client;
+			GetClientRect(hDlg,&client);
+			MoveWindow(GetDlgItem(hDlg,IDC_CONSOLE),0,0,client.right,client.bottom,TRUE);
+			break;
+		}
+
+	case WM_COMMAND:
+		return ConsoleCommandHandler(hDlg, LOWORD(wParam), HIWORD(wParam), lParam);
+
+		//ä¸å®æéãã£ããæ¹è¡ãããªãã¦ãåºåãã
+	case WM_TIMER:
+		if(wParam == 100)
+		{
+			SIOPCB * scope;
+			struct tagSerialConsoleParameters * param;
+
+			scope = (SIOPCB *)GetWindowLong(hDlg, GWL_USERDATA);
+            if(scope != 0) {
+			    param = (struct tagSerialConsoleParameters *)scope->versatile;
+			    if(param->position == 0)
+				    break;
+
+			    lParam = TRUE;
+            }
+            else
+                break;  //ã¾ã åæåãçµãã£ã¦ãªãã®ã§ä½ãããªã
+		}
+
+		//lParam : éä¿¡ãçµãã£ãå¾ã«å²è¾¼ã¿ãããããã©ãã (FALSE:ãããªã TRUE:ããã)
+	case SERMSG_UPDATE:
+		{
+			LRESULT  result;
+			int		 textlength;
+			HANDLE	 console;
+			SIOPCB * scope;
+			struct tagSerialConsoleParameters * param;
+
+			scope = (SIOPCB *)GetWindowLong(hDlg, GWL_USERDATA);
+            if(scope != 0) {
+			    param = (struct tagSerialConsoleParameters *)scope->versatile;
+
+                console = GetDlgItem(hDlg, IDC_CONSOLE);
+
+			    textlength = GetWindowTextLength(console);
+			    if(textlength > BUFSZ_UPPERBOUND)
+			    {
+					    /* å¤ãæ
+å ±ãæ¶ã */
+				    SendMessage(console,EM_SETSEL,0,textlength - BUFSZ_LOWERBOUND);
+				    SendMessage(console,EM_REPLACESEL,(WPARAM)FALSE,(LPARAM)"");
+				    textlength = GetWindowTextLength(console);
+			    }
+				    /* æ«å°¾ã«æå­ãç½®ã */
+			    result = SendMessage(console,EM_SETSEL,textlength,textlength);
+
+			    EnterCriticalSection(&param->cs);
+			    param->buffer[param->position] = '\x0';
+			    result = SendMessage(console,EM_REPLACESEL,(WPARAM)FALSE,(LPARAM)param->buffer);
+			    param->position = 0;
+			    LeaveCriticalSection(&param->cs);
+
+			    if(lParam == TRUE)
+			    {
+				    BITSET(scope->Flag, SIO_STA_INTSND);
+				    HALInterruptRequest(INHNO_SERIAL);
+			    }
+            }
+            else
+                PostMessage(hDlg, Msg, wParam, lParam);     //ã¾ã åæåãçµãã£ã¦ãªãã®ã§æ«å°¾ã«ã¤ããªãã
+
+			break;
+		}
+
+	default:
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
+static void SerialConsole_FinalRelease(void * param)
+{
+	SIOPCB * cb = (SIOPCB *)param;
+	struct tagSerialConsoleParameters * versatile;
+
+	if(cb->Handle != 0l && cb->Handle != NULL)
+		DestroyWindow(cb->Handle);
+	cb->Handle = NULL;
+
+	versatile = cb->versatile;
+	DeleteCriticalSection(&versatile->cs);
+	GlobalFree((HGLOBAL)versatile);
+}
+
+static void CreateSerialConsole(SIOPCB * cb)
+{
+	struct tagSerialConsoleParameters * param;
+
+	param = GlobalAlloc(GMEM_FIXED, sizeof(struct tagSerialConsoleParameters));
+	FatalAssertion(param != NULL, "CreateSerialConsole: GlobalAlloc reported NULL.");
+	param->position = 0;
+	InitializeCriticalSection(&param->cs);
+	cb->versatile = param;
+
+	cb->Handle = CreateDialog(ProcessInstance, MAKEINTRESOURCE(CONSOLEDIALOG), 0, ConsoleProc);
+	FatalAssertion(cb->Handle != 0, "CreateSerialConsole could not create its dialog.");
+	PostMessage(cb->Handle,SERMSG_CREATE,0,(LPARAM)cb);
+	UpdateWindow(cb->Handle);
+	HALAddDestructionProcedure(SerialConsole_FinalRelease,cb);
+}
+
+static BOOL SerialConsole_PutChar(SIOPCB * cb, INT chr, BOOL rasint)
+{
+	char	buffer[2];
+	int		textlength;
+	HANDLE	console;
+
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_CONSOLE));
+	assert(cb->Handle != NULL);
+
+	console = GetDlgItem(cb->Handle, IDC_CONSOLE);
+	buffer[0] = (char) chr;
+	buffer[1] = '\x0';
+
+	textlength = GetWindowTextLength(console);
+	if(textlength > BUFSZ_UPPERBOUND)
+	{
+			/* å¤ãæ
+å ±ãæ¶ã */
+		SendMessage(console,EM_SETSEL,0,textlength - BUFSZ_LOWERBOUND);
+		SendMessage(console,EM_REPLACESEL,(WPARAM)FALSE,(LPARAM)"");
+		textlength = GetWindowTextLength(console);
+	}
+		/* æ«å°¾ã«æå­ãç½®ã */
+	SendMessage(console,EM_SETSEL,textlength,textlength);
+	SendMessage(console,EM_REPLACESEL,(WPARAM)FALSE,(LPARAM)buffer);
+
+	if(rasint == TRUE)
+	{
+		BITSET(cb->Flag, SIO_STA_INTSND);
+		HALInterruptRequest(INHNO_SERIAL);
+	}
+
+	return TRUE;
+}
+
+static BOOL SerialConsole_PushChar(SIOPCB * cb, INT chr)
+{
+	BOOL success;
+	BOOL update;
+	struct tagSerialConsoleParameters * param;
+
+	param = (struct tagSerialConsoleParameters *)cb->versatile;
+
+	do {
+		success = FALSE;
+		update  = FALSE;
+
+		EnterCriticalSection(&param->cs);
+
+		if(param->position < MAX_CONSOLE_BUFSZ)
+		{
+			param->buffer[param->position] = (char)chr;
+			param->position ++;
+
+			if(chr == '\n')
+				update = TRUE;
+		}else
+			update = TRUE;
+
+		LeaveCriticalSection(&param->cs);
+
+		if(update == TRUE)
+			SendMessage(cb->Handle, SERMSG_UPDATE, 0, 1);
+	} while(success == TRUE);
+
+	return TRUE;
+}
+
+/*===========================================================================*/
+
+/*
+ *   Windowsã®ã³ã³ã½ã¼ã«ãä½¿ç¨ããã·ãªã¢ã«å
+¥åºå
+ */
+
+static DWORD WINAPI WinConsole_ReceiverThread(LPVOID param)
+{
+	SIOPCB *		cb = (SIOPCB *)param;
+	DWORD			work;
+	HANDLE			stdin;
+	INPUT_RECORD	input_record;
+
+	assert(cb != NULL);
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+	stdin = GetStdHandle(STD_INPUT_HANDLE);
+	FatalAssertion(stdin != 0, "WinConsole_ReceiverThread failed to acquire the handle of standard input.");
+
+	while((work = WaitForSingleObject(cb->Handle, INFINITE)) != WAIT_FAILED)
+	{
+		assert(work == WAIT_OBJECT_0);	/* ãªãã¸ã§ã¯ãã¯ã·ã°ãã«ç¶æ
+ã«ãªã£ã */
+
+		ReadConsoleInput(stdin, &input_record, 1, &work);
+
+		if(input_record.EventType == KEY_EVENT && input_record.Event.KeyEvent.bKeyDown == TRUE)
+		{
+			cb->ReceiveBuffer = (char)input_record.Event.KeyEvent.uChar.AsciiChar;
+
+			BITSET(cb->Flag, SIO_STA_INTRCV);
+			HALInterruptRequest(INHNO_SERIAL);
+		}
+	}
+
+	return 0;
+}
+
+static void WinConsole_CreatePort(SIOPCB * cb)
+{
+	BOOL result;
+	result = AllocConsole();
+	FatalAssertion(result != 0, "WinConsole_CreatePort failed to allocate its own console.");
+	cb->Handle = GetStdHandle(STD_OUTPUT_HANDLE);
+	SetConsoleTitle("TOPPERS/JSP SerialConsole");
+
+		/* åä¿¡ãããã¡ç£è¦ç¨ã¹ã¬ãããä½æ */
+	CreateThread(NULL,0,WinConsole_ReceiverThread,(LPVOID)cb,0,NULL);
+}
+
+static BOOL WinConsole_PutChar(SIOPCB * cb, INT chr, BOOL rasint)
+{
+	BOOL  result;
+	DWORD written;
+	char  word;
+
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_TTY));
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+		/* æ¨æºåºåã«ä¸æå­éä¿¡ */
+	word   = (char)chr;
+	result = WriteFile(cb->Handle, &word, 1, &written, NULL);
+
+		/* å²è¾¼ã¿çºçãã©ã°ãç«ã£ã¦ããããéä¿¡å®äºå²è¾¼ã¿è¦æ±ãèµ·ãã */
+	if(result != 0 && rasint == TRUE)
+	{
+		BITSET(cb->Flag, SIO_STA_INTSND);
+		HALInterruptRequest(INHNO_SERIAL);
+	}
+
+	return result != 0 ? TRUE : FALSE;
+}
+
+static void WinConsole_ClosePort(SIOPCB * cb)
+{
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_TTY));
+
+	if(cb->Handle != NULL && cb->Handle != 0)
+	{
+		FreeConsole();
+		cb->Handle = NULL;
+	}
+}
+
+/*===========================================================================*/
+
+/*
+ *   Windowsã®ã³ã³ã½ã¼ã«ãä½¿ç¨ããã·ãªã¢ã«å
+¥åºå
+ */
+
+/* æ³¨ : CreateConsoleScreenBufferã¯å¤±ææã«INVALID_HANDLE_VALUEãè¿ããã
+          ä»ã®ã·ãªã¢ã«å
+¥åºåé¨ã¨å
+±éãããããã«NULLãç¨ããã */
+
+static DWORD WINAPI ScreenBuffer_ReceiverThread(LPVOID param)
+{
+	SIOPCB *		cb = (SIOPCB *)param;
+	DWORD			work;
+	INPUT_RECORD	input_record;
+
+	assert(cb != NULL);
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+	while((work = WaitForSingleObject(cb->Handle, INFINITE)) != WAIT_FAILED)
+	{
+		assert(work == WAIT_OBJECT_0);	/* ãªãã¸ã§ã¯ãã¯ã·ã°ãã«ç¶æ
+ã«ãªã£ã */
+
+		ReadConsoleInput(cb->Handle, &input_record, 1, &work);
+
+		if(input_record.EventType == KEY_EVENT && input_record.Event.KeyEvent.bKeyDown == TRUE)
+		{
+			cb->ReceiveBuffer = (char)input_record.Event.KeyEvent.uChar.AsciiChar;
+
+			BITSET(cb->Flag, SIO_STA_INTRCV);
+			HALInterruptRequest(INHNO_SERIAL);
+		}
+	}
+
+	return 0;
+}
+
+static void ScreenBuffer_CreatePort(SIOPCB * cb)
+{
+	cb->Handle = CreateConsoleScreenBuffer(GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
+
+        /* cb->Handle should not be compared with NULL because CreateConsoleScreenBuffer returns INVALID_HANDLE_VALUE if it failed */
+    FatalAssertion(cb->Handle != INVALID_HANDLE_VALUE && cb->Handle != NULL,
+        "ScreenBuffer_CreatePort failed to allocate its own console.");
+
+	SetConsoleActiveScreenBuffer(cb->Handle);
+	SetConsoleTitle("TOPPERS/JSP SerialConsole");
+
+		/* åä¿¡ãããã¡ç£è¦ç¨ã¹ã¬ãããä½æ */
+	CreateThread(NULL,0,ScreenBuffer_ReceiverThread,(LPVOID)cb,0,NULL);
+}
+
+static BOOL ScreenBuffer_PutChar(SIOPCB * cb, INT chr, BOOL rasint)
+{
+	BOOL  result;
+	DWORD written;
+	char  word;
+
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_SCRBUF));
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+		/* æ¨æºåºåã«ä¸æå­éä¿¡ */
+	word   = (char)chr;
+	result = WriteFile(cb->Handle, &word, 1, &written, NULL);
+
+		/* å²è¾¼ã¿çºçãã©ã°ãç«ã£ã¦ããããéä¿¡å®äºå²è¾¼ã¿è¦æ±ãèµ·ãã */
+	if(result != 0 && rasint == TRUE)
+	{
+		BITSET(cb->Flag, SIO_STA_INTSND);
+		HALInterruptRequest(INHNO_SERIAL);
+	}
+
+	return result != 0 ? TRUE : FALSE;
+}
+
+static void ScreenBuffer_ClosePort(SIOPCB * cb)
+{
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_SCRBUF));
+
+	if(cb->Handle != NULL && cb->Handle != 0)
+	{
+		CloseHandle(cb->Handle);
+		cb->Handle = NULL;
+	}
+}
+
+/*===========================================================================*/
+
+/*
+ *   ã»ãã¨ã«ã·ãªã¢ã«åºå
+ */
+
+static DWORD WINAPI RawSerial_ReceiverThread(LPVOID param)
+{
+	SIOPCB *	cb = (SIOPCB *)param;
+	DWORD		work;
+	char	    buffer;
+
+	assert(cb != NULL);
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+	while((work = WaitForSingleObject(cb->Handle, INFINITE)) != WAIT_FAILED)
+	{
+		assert(work == WAIT_OBJECT_0);	/* ãªãã¸ã§ã¯ãã¯ã·ã°ãã«ç¶æ
+ã«ãªã£ã */
+
+		ReadFile(cb->Handle, &buffer, 1, &work, NULL);
+
+		cb->ReceiveBuffer = (char)buffer;
+		BITSET(cb->Flag, SIO_STA_INTRCV);
+		HALInterruptRequest(INHNO_SERIAL);
+	}
+
+	return 0;
+}
+
+static void RawSerial_CreatePort(SIOPCB * cb)
+{
+    cb->Handle = CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
+	FatalAssertion( cb->Handle != INVALID_HANDLE_VALUE && cb->Handle != NULL, 
+                    "RawSerial_CreatePort failed to open the port 'COM1'.");
+
+		/* åä¿¡ãããã¡ç£è¦ç¨ã¹ã¬ãããä½æ */
+	CreateThread(NULL, 0, RawSerial_ReceiverThread, (LPVOID)cb, 0, NULL);
+}
+
+static BOOL RawSerial_PutChar(SIOPCB * cb, INT chr, BOOL rasint)
+{
+	BOOL  result;
+	DWORD written;
+	char  word;
+
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_RAWSIO));
+	assert(cb->Handle != NULL && cb->Handle != 0);
+
+		/* æ¨æºåºåã«ä¸æå­éä¿¡ */
+	word   = (char)chr;
+	result = WriteFile(cb->Handle, &word, 1, &written, NULL);
+
+		/* å²è¾¼ã¿çºçãã©ã°ãç«ã£ã¦ããããéä¿¡å®äºå²è¾¼ã¿è¦æ±ãèµ·ãã */
+	if(result != 0 && rasint == TRUE)
+	{
+		BITSET(cb->Flag, SIO_STA_INTSND);
+		HALInterruptRequest(INHNO_SERIAL);
+	}
+
+	return result != 0 ? TRUE : FALSE;
+}
+
+static void RawSerial_ClosePort(SIOPCB * cb)
+{
+	assert(cb != NULL);
+	assert(BITTEST(cb->Flag, SIO_TYP_RAWSIO));
+
+	if(cb->Handle != NULL && cb->Handle != 0)
+	{
+		CloseHandle(cb->Handle);
+		cb->Handle = NULL;
+	}
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void sio_initialize(void)
+{
+	int i;
+
+	for(i=0; i<TNUM_PORT; ++i)
+	{
+		siopcb_table[i].Flag = SIO_TYP_CONSOLE;
+		siopcb_table[i].Handle = NULL;
+		siopcb_table[i].ReceiveBuffer = -1;
+		siopcb_table[i].versatile = NULL;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB * sio_opn_por(ID siopid, VP_INT exinf)
+{
+	BOOL     success;
+	SIOPCB * siopcb = GET_SIOPCB(siopid);
+
+	assert(siopcb != NULL);
+
+	siopcb->exinf = exinf;
+
+	success = TRUE;
+	switch(SIO_TYP(siopcb->Flag))
+	{
+	case SIO_TYP_CONSOLE:
+		HALExecuteProcedure(CreateSerialConsole,siopcb);
+		break;
+	case SIO_TYP_TTY:
+		WinConsole_CreatePort(siopcb);
+		break;
+	case SIO_TYP_SCRBUF:
+		HALExecuteProcedure(ScreenBuffer_CreatePort,siopcb);
+		break;
+	case SIO_TYP_RAWSIO:
+		HALExecuteProcedure(RawSerial_CreatePort,siopcb);
+		break;
+	default:
+		success = FALSE;
+	}
+
+	if(success == TRUE)
+		BITSET(siopcb->Flag, SIO_STA_OPEN);
+
+	return siopcb;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void sio_cls_por(SIOPCB *siopcb)
+{
+	assert(siopcb != NULL);
+
+	switch(SIO_TYP(siopcb->Flag))
+	{
+	case SIO_TYP_CONSOLE:
+		HALExecuteProcedure(SerialConsole_FinalRelease,siopcb);
+		break;
+	case SIO_TYP_TTY:
+		WinConsole_ClosePort(siopcb);
+		break;
+	case SIO_TYP_SCRBUF:
+		HALExecuteProcedure(ScreenBuffer_ClosePort,siopcb);
+		break;
+	case SIO_TYP_RAWSIO:
+		HALExecuteProcedure(RawSerial_ClosePort,siopcb);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL sio_snd_chr(SIOPCB *siopcb, INT chr)
+{
+	BOOL result;
+
+	assert(siopcb != NULL);
+
+	switch(SIO_TYP(siopcb->Flag))
+	{
+	case SIO_TYP_CONSOLE:
+		result = SerialConsole_PushChar(siopcb, chr);
+		break;
+	case SIO_TYP_TTY:
+		result = WinConsole_PutChar(siopcb, chr, TRUE);
+		break;
+	case SIO_TYP_SCRBUF:
+		result = ScreenBuffer_PutChar(siopcb, chr, TRUE);
+		break;
+	case SIO_TYP_RAWSIO:
+		result = RawSerial_PutChar(siopcb, chr, TRUE);
+		break;
+	}
+	
+	return result;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT sio_rcv_chr(SIOPCB * siopcb)
+{
+	INT result;
+
+	result = siopcb->ReceiveBuffer;
+	siopcb->ReceiveBuffer = -1;
+
+	return result;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯è¨±å¯
+ */
+void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ç¦æ­¢
+ */
+void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn)
+{}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãå²è¾¼ã¿ãã³ãã©
+ */
+void sio_handler(void)
+{
+	int port;
+
+	for(port = 0; port < TNUM_PORT; ++ port)
+	{
+		if(BITTEST(siopcb_table[port].Flag, SIO_STA_OPEN))
+		{
+				/* åä¿¡å®äºå²è¾¼ã¿ */
+			if(BITTEST(siopcb_table[port].Flag, SIO_STA_INTRCV))
+			{
+					/* åä¿¡ããæå­ãåãåºã */
+				BITCLEAR(siopcb_table[port].Flag, SIO_STA_INTRCV);
+				sio_ierdy_rcv(GET_SIOPCB(ID_PORT(port))->exinf);
+
+			}
+
+				/* éä¿¡å®äºå²è¾¼ã¿ */
+			if(BITTEST(siopcb_table[port].Flag, SIO_STA_INTSND))
+			{
+				BITCLEAR(siopcb_table[port].Flag, SIO_STA_INTSND);
+				sio_ierdy_snd(GET_SIOPCB(ID_PORT(port))->exinf);
+			}
+		}
+	}
+}
+
+/*
+ *  ã³ã³ã½ã¼ã«ãã¼ãã¸ã®å¼·å¶ä¸æå­åºå (å²è¾¼ã¿ãªã)
+ */
+void SerialRawPutc(INT chr)
+{
+	SIOPCB * siopcb = &siopcb_table[CONSOLE_PORTID - 1];
+
+	assert(siopcb != NULL);
+
+	if(!BITTEST(siopcb->Flag, SIO_STA_OPEN))
+		return;
+
+	switch(SIO_TYP(siopcb->Flag))
+	{
+	case SIO_TYP_CONSOLE:
+		SerialConsole_PutChar(siopcb, chr, FALSE);
+		break;
+	case SIO_TYP_TTY:
+		WinConsole_PutChar(siopcb, chr, FALSE);
+		break;
+	case SIO_TYP_SCRBUF:
+		ScreenBuffer_PutChar(siopcb, chr, FALSE);
+		break;
+	case SIO_TYP_RAWSIO:
+		RawSerial_PutChar(siopcb, chr, FALSE);
+		break;
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.cfg	(revision 26)
@@ -0,0 +1,61 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/06/30 15:44:11 takayuki Exp $
+ */
+
+/*
+ *  @(#) $Id: hw_serial.cfg,v 1.2 2003/06/30 15:44:11 takayuki Exp $
+ */
+
+/*
+ *	SIOãã©ã¤ãï¼Windowsä¾å­é¨ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SERIAL, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_serial.h	(revision 26)
@@ -0,0 +1,173 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_serial.h,v 1.9 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+
+/*
+ *  TOPPERS/JSP for Windows - ã·ãªã¢ã«ã¨ãã¥ã¬ã¼ã¿
+ */
+
+#ifndef __HW_SERIAL_H
+#define __HW_SERIAL_H
+
+#include <s_services.h>
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ *  OPB_UARTLITE ã¯ï¼éåä¿¡å²è¾¼ã¿ãåããã¦ããªãããï¼æå³ã¯ãªãï¼
+ */
+#define SIO_ERDY_SND    1u              /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u              /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+	/* ããã¤ã¹ãéãå´ã®è¨­å® */
+#define SIO_MOD_MASK		0x80000000
+#define SIO_MOD(x)			((x) & SIO_MOD_MASK)
+#define SIO_MOD_SERVER		0x80000000
+#define SIO_MOD_CLIENT		0x00000000
+
+	/* ããã¤ã¹ã®ç¨®å¥ */
+#define SIO_TYP_MASK		0x000000ff
+#define SIO_TYP(x)			((x) & SIO_TYP_MASK)
+#define SIO_TYP_CONSOLE		0x00000001			/* ã¦ã£ã³ãã¦ã³ã³ã½ã¼ã«  */
+#define SIO_TYP_TTY			0x00000002			/* Windowsã®ã³ã³ã½ã¼ã« */
+#define SIO_TYP_SCRBUF		0x00000003			/* ã¹ã¯ãªã¼ã³ãããã¡    */
+#define SIO_TYP_RAWSIO		0x00000004			/* ã·ãªã¢ã«              */
+
+	/* ããã¤ã¹ã®ç¶æ
+ */
+#define SIO_STA_MASK		0x0fff0000
+#define SIO_STA(x)			((x) & SIO_STA_MASK)
+#define SIO_STA_OPEN		0x00010000
+#define SIO_STA_INTRCV		0x00020000
+#define SIO_STA_INTSND		0x00040000
+
+#define INHNO_SERIAL	3
+
+#define TNUM_PORT		1
+
+#ifndef _MACRO_ONLY
+
+typedef struct serial_port_descriptor
+{
+	int					Flag;
+	HANDLE				Handle;
+	volatile int		ReceiveBuffer;
+	void *				versatile;
+	VP_INT              exinf;
+} SIOPCB;
+
+extern SIOPCB siopcb_table[TNUM_PORT];
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	sio_initialize(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB * sio_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	sio_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	sio_snd_chr(SIOPCB *siopcb, INT chr);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡
+ */
+extern INT	sio_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	sio_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sio_ena_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sio_dis_cbr(SIOPCB * siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­åä¿¡å®äºã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	sio_ercv_chr(ID siopid, INT chr);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãå²è¾¼ã¿ãã³ãã©
+ */
+extern void	sio_handler(void);
+
+#endif
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.c	(revision 26)
@@ -0,0 +1,142 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.c,v 1.5 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Windowsç¨ï¼
+ */
+
+#ifndef _HW_TIMER_C_
+#define _HW_TIMER_C_
+
+#include <s_services.h>
+#include <hw_timer.h>
+#include <hal_msg.h>
+
+extern HANDLE PrimaryThreadHandle;
+
+/*
+ *  Windowsã®æ¨æºã¿ã¤ã
+ */
+#if defined(TIMER_WINDOWSTIMER)
+
+	/* ã¿ã¤ãã®èµ·åå¦ç */
+void hw_timer_initialize()
+{
+    kprintf(("hw_timer_initialize()\n"));
+	SetTimer((HWND)PrimaryThreadHandle,RTC_EVENT,TIMER_CLOCK_WINDOWS,NULL);
+}
+
+	/* ã¿ã¤ãã®åæ­¢å¦ç */
+void hw_timer_terminate()
+{
+    kprintf(("hw_timer_terminate()\n"));
+	KillTimer((HWND)PrimaryThreadHandle,RTC_EVENT);
+}
+
+
+/*
+ *  ãã«ãã¡ãã£ã¢ã¿ã¤ã
+ */
+#elif defined(TIMER_MULTIMEDIATIMER)
+
+#include <mmsystem.h>
+
+static DWORD TimerID = 0;
+
+static void CALLBACK MultiMediaTimerCallbackFunction(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2)
+{	HALInterruptRequest(INHNO_TIMER);	}
+
+	/* ã¿ã¤ãã®èµ·åå¦ç */
+void hw_timer_initialize()
+{
+	MMRESULT result;
+	TIMECAPS devcap;
+
+    kprintf(("hw_timer_initialize()\n"));
+
+    result = timeGetDevCaps(&devcap, sizeof(TIMECAPS));
+	FatalAssertion(result == TIMERR_NOERROR &&  TIMER_CLOCK_WINDOWS >= devcap.wPeriodMin && TIMER_CLOCK_WINDOWS <= devcap.wPeriodMax, "æå®ãããã¯ã­ãã¯ãã£ãã¯ã¯ãã«ãã¡ãã£ã¢ã¿ã¤ãã§è¨­å®å¯è½ãªç¯å²ãè¶
+ãã¦ãã¾ãã");
+
+	timeBeginPeriod(TIMER_CLOCK_WINDOWS);	//timeBeginPeriod(devcap.wPeriodMin); ã¨å®è¡ããã¨ãè² è·ã¨å¼ãæãã«ç²¾åº¦ãä¸ãã
+
+	TimerID = timeSetEvent(TIMER_CLOCK_WINDOWS, TIMER_CLOCK_WINDOWS,  MultiMediaTimerCallbackFunction, 0, TIME_PERIODIC|TIME_CALLBACK_FUNCTION);
+	FatalAssertion(TimerID != 0, "hw_tiemr_initialize failed to perform 'timeSetEvent' function.");
+}
+
+	/* ã¿ã¤ãã®åæ­¢å¦ç */
+void hw_timer_terminate()
+{
+    kprintf(("hw_timer_terminate()\n"));
+
+    if(TimerID != 0)
+	{
+		timeKillEvent(TimerID);
+		timeEndPeriod(TIMER_CLOCK_WINDOWS);
+	}
+}
+
+#elif defined(TIMER_NOTHING)
+
+void hw_timer_initialize() {}
+void hw_timer_terminate()  {}
+
+#else
+
+#error "ä½¿ç¨ããã¿ã¤ãã®ç¨®å¥ãé¸æããã¦ãã¾ãã"
+
+#endif
+
+
+
+#endif /* _HW_TIMER_H_ */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/hw_timer.h	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hw_timer.h,v 1.9 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+/*
+ *	ã¿ã¼ã²ããä¾å­ã¿ã¤ãã¢ã¸ã¥ã¼ã«ï¼Windowsç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_TIMER	4
+
+	/* 0xffff0000ã®ã¿ã¤ãã¼ã¯èªåçã«å²è¾¼ã¿ãããã */
+#define RTC_EVENT	(0xffff0000|INHNO_TIMER)
+
+
+/*
+ * ã¿ã¤ãã¼ç²¾åº¦ã®å®ç¾©
+ */
+#define TIMER_CLOCK_WINDOWS		100 	/* Windows98ã®æå°ãã£ãã¯ã50msãªã®ã§ããã¨ããæããã¦100ã«ãã */
+
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef UW	CLOCK;
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç : ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+extern void hw_timer_initialize();
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ (ãããã£ã±ãªãã¿ã¤ããããªãã®ã§ä¸­èº«ãªã)
+ */
+Inline void hw_timer_int_clear() 
+{}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç : ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+extern void hw_timer_terminate();
+
+#endif
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/messages.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/messages.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/messages.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: messages.h,v 1.4 2003/06/30 15:44:11 takayuki Exp $
+ */
+
+
+/*
+ * ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ãµãã¼ã ã¡ãã»ã¼ã¸ã®ããã
+ */
+
+#ifndef __MESSAGES_H
+#define __MESSAGES_H
+
+#define MSG_TYP_DEVICE 0x40
+#define MSG_TYP_REQUEST 0x80
+
+	//å¤§ä½å
+±éã®ã¡ãã»ã¼ã¸
+#define MSG_ACK 0
+#define MSG_NAK 1
+
+	//ããã¼ã¸ã£ããããã¤ã¹ã¸ã®ã¡ãã»ã¼ã¸
+#define MSG_DEVREP_INITIALIZE 0x82
+#define MSG_DEVREP_KERNELSTART 0x83
+#define MSG_DEVREP_READ 0x84
+#define MSG_DEVREP_WRITE 0x85
+#define MSG_DEVREP_FINALIZE 0x06
+#define MSG_DEVREP_KERNELEXIT 0x07
+
+	//ããã¤ã¹ããããã¼ã¸ã£ã¸ã®ã¡ãã»ã¼ã¸
+#define MSG_DEVREQ_ADD 0xc2
+#define MSG_DEVREQ_DELETE 0xc3
+#define MSG_DEVREQ_READ 0xc4
+#define MSG_DEVREQ_WRITE 0xc5
+#define MSG_DEVREQ_INTERRUPT 0xc6
+#define MSG_DEVREQ_MAPPING 0xc7
+#define MSG_DEVREQ_UNMAPPING 0xc8
+
+	//ããã¼ã¸ã£ããã«ã¼ãã«ã¸
+#define MSG_KERREP_INTERRUPT 0x86
+
+	//ã«ã¼ãã«ããããã¼ã¸ã£ã¸
+#define MSG_KERREQ_KERNELSTART 0x82
+#define MSG_KERREQ_KERNELEXIT 0x83
+#define MSG_KERREQ_READ 0x84
+#define MSG_KERREQ_WRITE 0x85
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/primary_thread.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/primary_thread.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/primary_thread.c	(revision 26)
@@ -0,0 +1,581 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: primary_thread.c,v 1.10 2007/04/19 07:44:46 honda Exp $
+ */
+
+#include <vwindows.h>
+#include <hal_msg.h>
+#include <hw_timer.h>
+
+#include <objbase.h>
+#include <shellapi.h>
+#include <resource.h>
+
+#include "jsp_kernel.h"
+#include "task.h"
+#include <eventlog.h>
+#include <cpu_rename.h>
+
+    /* çµäºæã«ç ´æ£ãè¡ãé¢æ°ã®ã­ã¥ã¼ */
+struct tagDestructionProcedureQueue
+{
+	struct tagDestructionProcedureQueue * Next;
+	void (*DestructionProcedure)(void *);
+	void * Parameter;
+};
+
+ /*
+  *   ãã­ãã¿ã¤ãå®£è¨
+  */
+extern void kernel_start();
+extern void kernel_exit();
+
+ /*
+  *   å¤§åå¤æ°
+  */
+HINSTANCE ProcessInstance;
+HANDLE    PrimaryThreadHandle;
+HWND      PrimaryDialogHandle;
+HANDLE    CurrentRunningThreadHandle;
+BOOL      ShutdownPostponementRequest;
+
+static HANDLE WorkerThreadHandle = NULL;
+static struct tagDestructionProcedureQueue * DestructionProcedureQueue;
+
+
+ /*
+  *  ç¾å¨å®è¡ä¸­ã®ã¹ã¬ãããæå®ãããã¿ã¹ã¯ã§ãããã©ããã®ãã§ãã¯
+  */
+Inline 
+int isTaskThreadRunning(TCB * tcb)
+{   return (tcb != 0) && (tcb->tskctxb.ThreadHandle == CurrentRunningThreadHandle);   }
+
+
+ /*
+  * ã«ã¼ãã«ã¹ã¿ã¼ã¿
+  *   kernel_startã¯æå¾ã«exit_and_dispatchãå¼ã¶ã®ã§ãã³ã³ãã­ã¹ãç ´æ£ã«
+  *   åãã¦æ°ããã¹ã¬ãããçæããã
+  */
+
+static DWORD WINAPI
+KernelStarter(LPVOID param)
+{
+    TlsAlloc();
+	TlsSetValue(TLS_LOGMASK, (LPVOID)1);
+	TlsSetValue(TLS_THREADHANDLE, (LPVOID)CurrentRunningThreadHandle);
+
+    kprintf(("KernelStarter begins performing kernel initialization.\n"));
+
+    kernel_start();
+
+    /* ãã­ã°ã©ã ã¯ããã«ã¯æ¥ãªã */
+
+	return 0;
+}
+
+ /*
+  *  ã¿ã¹ã¯ä¾å¤èµ·åã«ã¼ãã³ 
+  *     Visual C++   -> cpu_config.c ã«ç§»åãã¾ãã
+  *     mingw/cygwin -> cpu_insn.S   ã«ç§»åãã¾ãã
+  */
+extern void TaskExceptionPerformer(void);
+
+ /*
+  * å¼·å¶é®æ­ã«ã¼ãã³
+  *   å¿ç­ãè¿ããªããªãã¸ã§ã¯ãç ´æ£ãã­ã·ã¸ã£å¯¾ç­
+  */
+DWORD WINAPI
+ForceShutdownHandler(LPVOID param)
+{
+	do {
+		ShutdownPostponementRequest = FALSE;
+		Sleep(5000);
+	} while(ShutdownPostponementRequest == TRUE);
+	ExitProcess(0);
+	return 0;
+}
+
+ /*
+  * ãããã°æç¨ãã¤ã¢ã­ã°ã®ã¡ãã»ã¼ã¸ãã³ãã©
+  */
+Inline LRESULT CALLBACK
+PrimaryDialogCommandHandler(WPARAM wParam, LPARAM lParam)
+{
+	static BOOL lock_flag;
+
+	switch(wParam)
+	{
+			/* ãã¯ã­ãã¯ã®ä¾çµ¦ãåæ­¢ããããã¿ã³ */
+		case IDC_CLOCKSUPPLY:
+		{
+			int state;
+
+			state = SendDlgItemMessage(PrimaryDialogHandle, IDC_CLOCKSUPPLY,BM_GETCHECK,0,0);
+			switch(state)
+			{
+					/* ã¯ã­ãã¯åæ­¢ -> ã¯ã­ãã¯ãæ­¢ãã and ä»åãã¦ããã¹ã¬ãããå¼·å¶åæ­¢ */
+			case BST_CHECKED:
+				if((lock_flag = sense_lock()) != TRUE)
+					dis_int(0);
+				hw_timer_terminate();
+				if(CurrentRunningThreadHandle != NULL)
+					SuspendThread(CurrentRunningThreadHandle);
+				break;
+
+					/* ã¯ã­ãã¯ä¾çµ¦åé -> æå¾ã«æ­¢ããã¹ã¬ããã®åé and ã¯ã­ãã¯ä¾çµ¦åé */
+			case BST_UNCHECKED:
+				if(CurrentRunningThreadHandle != NULL)
+					ResumeThread(CurrentRunningThreadHandle);
+				hw_timer_initialize();
+				if(lock_flag != TRUE)
+					ena_int(0);
+				break;
+			}
+			break;
+		}
+
+	default:
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
+    /*
+     *  TOPPERS/JSP ã¹ã¬ããã¢ãã« ã¿ã¹ã¯ãã£ã¹ãããã£ 
+     */
+static void task_dispatcher(int is_taskschedule_required)
+{
+		/* ãã¾åãã¦ããã¹ã¬ãã(=å²è¾¼ã¿+ã¿ã¹ã¯)ãããã°ããããæ­¢ãã */
+	if(CurrentRunningThreadHandle != NULL)
+	{
+		wait_for_thread_suspension_completion(CurrentRunningThreadHandle);
+
+            //åãã¦ããã®ãã¿ã¹ã¯ã§ããã°ãå²è¾¼ã¿ãã¹ã¯ã¬ãã«ãä¿å­ãã
+        if(isTaskThreadRunning(runtsk))
+			vget_ims(&runtsk->tskctxb.InterruptLevel);
+	}
+
+		/* ã¿ã¹ã¯åæ¿ */
+
+        //ãã£ã¹ãããããå¿
+è¦ããã
+    if(is_taskschedule_required != 0 && enadsp && runtsk != schedtsk)
+        runtsk = schedtsk;
+
+        //åæå
+ã¿ã¹ã¯ãå­å¨ãããªãããã®ã¿ã¹ã¯ãèµ·åãã
+	if(runtsk != 0l)
+	{
+		CurrentRunningThreadHandle = runtsk->tskctxb.ThreadHandle;
+
+			/* ã¿ã¹ã¯ä¾å¤ãããã£ãã */
+		if (runtsk->enatex && runtsk->texptn != 0) 
+		{
+				/* ã¿ã¹ã¯ä¾å¤èµ·åã«ã¼ãã³ã¸ã¨å·®ãæ¿ãã */
+			CONTEXT context;
+			context.ContextFlags = CONTEXT_FULL;
+			GetThreadContext(CurrentRunningThreadHandle,&context);
+			*(DWORD *)(context.Esp -= 4) = context.Eip;
+			context.Eip = (DWORD)TaskExceptionPerformer;
+			SetThreadContext(CurrentRunningThreadHandle,&context);
+		}else
+			chg_ims(runtsk->tskctxb.InterruptLevel);
+		
+		LOG_DSP_LEAVE(runtsk);
+		ResumeThread(runtsk->tskctxb.ThreadHandle);
+	}else
+	{
+			/* åãããã®ããªããªããå²ãè¾¼ã¿ãããã¦å¾
+ã¤ */
+		CurrentRunningThreadHandle = NULL;
+		ena_int(0);
+	}
+}
+
+
+
+	/*
+	 * TOPPERS/JSP ã¹ã¬ããã¢ãã« ã«ã¼ãã«ã¡ãã»ã¼ã¸ãã³ãã©
+	 */
+Inline LRESULT CALLBACK
+HALMessageHandler(WPARAM wParam,LPARAM lParam)
+{
+	switch(wParam)
+	{
+			/*
+			 *ãã¿ã¹ã¯ãç ´æ£ãã¦ãã ãããã¡ãã»ã¼ã¸ 
+			 *  lParam : ç ´æ£å¯¾è±¡ã¿ã¹ã¯ã®TCBã®ã¢ãã¬ã¹
+			 */
+	case HALMSG_DESTROY:
+        {
+            TCB * tcb = (TCB *)lParam;
+
+				    /* tcb == 0 ãæç«ããã®ã¯ãKernelStarterãexit_and_dispatchããã¨ãã®ã¿ */
+            if(tcb == 0 || isTaskThreadRunning(tcb)){
+                CurrentRunningThreadHandle = NULL;
+
+                    /* ã¿ã¹ã¯ãæ¬¡ã®èµ·åè¦æ±ãåºãã¦ext_tskããã¨ããã®æç¹ã§ãã§ã«æ°ããã¹ã¬ããã®ãã³ãã«ãå
+¥ã£ã¦ããã®ã§æ¶ãã¦ã¯ãããªã */
+
+                if(tcb == runtsk)
+                    runtsk = 0;
+            }
+        }
+
+			/*
+			 *ãã¿ã¹ã¯ãåãæ¿ãã¦ãã ãããã¡ãã»ã¼ã¸
+			 */
+	case HALMSG_DISPATCH:
+        task_dispatcher(1);
+        break;
+
+		/*
+		 *ãå²ãè¾¼ã¿ãçºçããã¦ãã ãããã¡ãã»ã¼ã¸
+		 * lParam : å²è¾¼ã¿çªå· (>0)
+		 */
+	case HALMSG_INTERRUPT:
+        if(lParam == 0 || iniflg == FALSE || ras_int((unsigned int)lParam) == FALSE)
+            break;
+
+            /* å²è¾¼ã¿åä»å¦ç : ãã®ã¾ã¾æ¬¡ã« */
+
+        /*
+         * ãæ¬¡ã«å®è¡ãã¹ãå²ãè¾¼ã¿ãæ¢ãã¦ãå²è¾¼ã¿å¦çãéå§ãã¦ãã ãããã¡ãã»ã¼ã¸
+         */
+    case HALMSG_INTERRUPT_FINISH:
+        {
+			    /* ç¾å¨å®è¡ãã¦ããã¹ã¬ãããåæ­¢ */
+		    wait_for_thread_suspension_completion(CurrentRunningThreadHandle);
+
+				/* å²è¾¼ã¿ã¹ã¬ããçæ and ãã£ã¹ããã */
+			if((CurrentRunningThreadHandle = sch_int()) != NULL)
+			{
+                    //ããã¾ã§åããã¦ããã¿ã¹ã¯ã®å²è¾¼ã¿ãã¹ã¯ã¬ãã«ãéé¿
+				if(isTaskThreadRunning(runtsk))
+					vget_ims(&runtsk->tskctxb.InterruptLevel);
+
+                ResumeThread(CurrentRunningThreadHandle);   //å²è¾¼ã¿ã¹ã¬ããèµ·å
+			}
+            else {
+                    // ã¿ã¹ã¯ã¸ã¨æ»ã
+                task_dispatcher(reqflg);
+                reqflg = 0;
+            }
+
+			break;
+		}
+
+		/*
+		 *ãç®¡çã¹ã¬ããã®æ¨©éã§ãã£ã¦é¢æ°ãå®è¡ãã¦ãã ãããã¡ãã»ã¼ã¸
+		 *  lParam : ãã©ã¡ã¼ã¿ãæ ¼ç´ããæ§é ä½ã¸ã®ãã¤ã³ã¿
+		 *    ãã©ã¡ã¼ã¿æ§é ä½å
+è¨³
+		 *      func  : å®è¡ãããé¢æ°
+		 *      param : ãã©ã¡ã¼ã¿ã¨ãã¦æ¸¡ãä½ã§ãã¢ãª("void *")ãªå¤
+		 *
+		 * æ³¨) ã¿ã¹ã¯ã§ã¦ã£ã³ãã¦ã¨ããä½ãã¨ãã¿ã¹ã¯ç ´æ£ã§ã¦ã£ã³ãã¦ãæ¶ãã¦ãã¾ãã
+		 */
+	case HALMSG_EXECUTEPROCEDURE:
+		{
+			void ** work = (void **)lParam;
+			((void (*)(void *))(*work))(*(work+1));
+			break;
+		}
+
+		/*
+		 *ãæå¾ã®æå¾ã«ãã®å¦çãåããã¦ãã ãã(onExitãã³ãã©)ãã¡ãã»ã¼ã¸
+		 * lParam : é¢æ°å®è¡ã¡ãã»ã¼ã¸ã¨ãã£ãã ( func,paramã¸ã®ãã¤ã³ã¿ )
+		 */
+	case HALMSG_ADDDESTRUCTIONPROCEDURE:
+		{
+			struct tagDestructionProcedureQueue * scope;
+			void ** work = (void **)lParam;
+
+			scope = DestructionProcedureQueue;
+
+			if((DestructionProcedureQueue = GlobalAlloc(GMEM_FIXED, sizeof(struct tagDestructionProcedureQueue))) != NULL)
+			{
+				DestructionProcedureQueue->DestructionProcedure = *(work);
+				DestructionProcedureQueue->Parameter = *(work+1);
+				DestructionProcedureQueue->Next = scope;
+			}else
+				FatalAssertion(TRUE, "GlobalAlloc could not acquire a memory block at " __FILE__);
+
+			break;
+		}
+
+		/*
+		 *ããã­ã°ã©ã ãæ­¢ãã¦ãã ãããã¡ãã»ã¼ã¸
+		 */
+	case HALMSG_QUITREQUEST:
+		{
+			struct tagDestructionProcedureQueue * destqueue;
+			void * destarea;
+
+			dis_int(0);		// å²è¾¼ã¿åä»ããã®ã¹ã¬ãããããã®ã§ãå¥ã«ç¦æ­¢ããªãã¦ãå¤§ä¸å¤«
+
+//			WorkerThreadHandle = CreateThread(NULL, 0, ForceShutdownHandler, 0, NULL, NULL);
+
+			hw_timer_terminate();
+
+			if(CurrentRunningThreadHandle != NULL)
+				wait_for_thread_suspension_completion(CurrentRunningThreadHandle);
+
+			destqueue = DestructionProcedureQueue;
+			while(destqueue != NULL)
+			{
+				(*destqueue->DestructionProcedure)(destqueue->Parameter);
+				destarea = destqueue;
+				destqueue = destqueue->Next;
+				GlobalFree((HGLOBAL)destarea);
+			}
+
+			DestroyWindow(PrimaryDialogHandle);
+			break;
+		}
+
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+/*
+ * ã«ã¼ãã«ã·ãã¥ã¬ã¼ã¿ã®ä¸­æ ¸ã¨ãªãã¹ã¬ããã®ã¡ãã»ã¼ã¸ãã³ãã©
+ */
+LRESULT CALLBACK PrimaryDialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam)
+{
+	switch(Msg)
+	{
+		/* ã¿ã¹ã¯ãã¬ã¤ã¢ã¤ã³ã³ã§å³ã¯ãªãã¯ */
+	case HALMSG_MESSAGE+1:
+		if(lParam == WM_RBUTTONUP)
+			kernel_exit();
+
+		break;
+
+		/* ã«ã¼ãã«ã¡ãã»ã¼ã¸ */
+	case HALMSG_MESSAGE:
+		return HALMessageHandler(wParam,lParam);
+
+		/* ãããã°ç¨ãã¤ã¢ã­ã°ä¸ã®ã¢ã¤ãã ã®ã¡ãã»ã¼ã¸ */
+	case WM_COMMAND:
+		return PrimaryDialogCommandHandler(wParam,lParam);
+	
+		/* ãã¤ã¢ã­ã°çæ(ã¡ãã»ã¼ã¸ãã³ããªã³ã°ç¨) */
+	case WM_INITDIALOG:
+		{
+			DWORD ThreadID;
+			NOTIFYICONDATA nid;
+
+			PrimaryDialogHandle = hDlg;	//ä¸æç
+
+				/* ã¿ã¹ã¯ãã¬ã¤ã«ã¢ã¤ã³ã³ãç»é² */
+			nid.cbSize = sizeof(NOTIFYICONDATA);
+			nid.uFlags = NIF_ICON|NIF_TIP|NIF_MESSAGE;
+			nid.uID = ID_NOTIFYICON;
+			lstrcpy(nid.szTip,"TOPPERS/JSP");
+			nid.hWnd = hDlg;
+			nid.uCallbackMessage = HALMSG_MESSAGE+1;
+			nid.hIcon = LoadIcon(ProcessInstance,MAKEINTRESOURCE(IDI_ERTLICON));
+
+			Shell_NotifyIcon(NIM_ADD,&nid);
+
+				/* ã«ã¼ãã«ãå¥ã¹ã¬ããã§èµ·åãã */
+			PrimaryThreadHandle = (HANDLE)hDlg;
+			CurrentRunningThreadHandle = CreateThread(NULL,0,KernelStarter,NULL,CREATE_SUSPENDED,&ThreadID);
+            ResumeThread(CurrentRunningThreadHandle);
+
+			FatalAssertion(CurrentRunningThreadHandle != NULL, "CreateThread at " __FILE__);
+
+			break;
+		}
+
+		/* ãã¤ã¢ã­ã°ãéãããã¨ãã¦ãã¾ã */
+	case WM_CLOSE:
+			HALQuitRequest();
+			break;
+
+		/* ãã¤ã¢ã­ã°ãç ´æ£ããã¾ãã */
+	case WM_DESTROY:
+		{
+				/* ã¿ã¹ã¯ãã¬ã¤å§æ« */
+			NOTIFYICONDATA nid;
+
+			nid.cbSize = sizeof(NOTIFYICONDATA);
+			nid.uFlags = 0;
+			nid.hWnd = hDlg;
+			nid.uID = ID_NOTIFYICON;
+			Shell_NotifyIcon(NIM_DELETE,&nid);
+
+			PrimaryThreadHandle = NULL;
+			PostQuitMessage(0);
+			break;
+		}
+
+		/* ã¿ã¤ãå¦ç */
+	case WM_TIMER:
+			/* ä¸ä½16ããããå
+¨é¨1 -> ã«ã¼ãã«ã®ã¿ã¤ã */
+		if((wParam & 0xffff0000) == 0xffff0000)
+		{
+				/* ä¸ä½16ãããã¯å²è¾¼ã¿çªå· */
+			return HALMessageHandler(HALMSG_INTERRUPT,(wParam & 0x0000ffff));
+		}
+	default:
+		return FALSE;
+	}
+	return TRUE;
+}
+
+
+    /* ãã«ããã­ã»ããµã§ãå®å®ãããããããã¨åä¸ã®ãã­ã»ããµã®ã¿ã§å¦çãããããã«ãã */
+void setAffinityMask(void)
+{
+    DWORD process;
+    DWORD system;
+    DWORD newaffinitymask;
+
+    if(GetProcessAffinityMask(GetCurrentProcess(), &process, &system) != 0) {
+        newaffinitymask = 1;
+        while((process & newaffinitymask) == 0)
+            newaffinitymask <<= 1;
+        SetProcessAffinityMask(GetCurrentProcess(), newaffinitymask);
+    }
+
+    kprintf(("setAffinityMask : 0x%08x\n", newaffinitymask));
+}
+
+static void initialize(HANDLE hInstance)
+{
+	ProcessInstance            = hInstance;
+	DestructionProcedureQueue  = NULL;
+	PrimaryThreadHandle        = NULL;
+	CurrentRunningThreadHandle = NULL;
+
+#ifdef KERNEL_DEBUG_MODE
+    AllocConsole();
+#endif
+        /* ãã­ã»ããµãå²ãä»ãã */
+    setAffinityMask();
+
+}
+
+static void finalRelease(void)
+{
+	int i;
+
+    kprintf(("finalRelease()\n"));
+
+	/* ç ´æ£ããã¦ãªãã¿ã¹ã¯ã®å¾å§æ« */
+	for(i=0;i<_kernel_tmax_tskid;i++)
+	{
+		if(_kernel_tcb_table[i].tskctxb.ThreadHandle != NULL)
+		{
+			if(TerminateThread(_kernel_tcb_table[i].tskctxb.ThreadHandle,0) != 0)
+    			CloseHandle(_kernel_tcb_table[i].tskctxb.ThreadHandle);
+			_kernel_tcb_table[i].tskctxb.ThreadHandle = NULL;
+		}
+	}
+
+    /* COMéä¿¡ããã¦ããã¹ã¬ãããå¼·å¶åæ­¢ */
+	if(WorkerThreadHandle  != NULL)
+	{
+		TerminateThread(WorkerThreadHandle ,0);
+		CloseHandle(WorkerThreadHandle);
+        WorkerThreadHandle = NULL;
+	}
+
+#ifdef KERNEL_DEBUG_MODE
+    MessageBox(NULL, "The kernel will be shut down.", "TOPPERS/JSP", MB_OK);
+    FreeConsole();
+#endif
+
+}
+
+
+/*
+ * ã¡ã¤ã³é¢æ°
+ */
+int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShow)
+{
+	MSG msg;
+	HANDLE hDlg;
+
+    TlsAlloc();
+
+    initialize(hInstance);
+
+	TlsSetValue(TLS_LOGMASK, 0);
+    hDlg = CreateDialog(hInstance,"PrimaryDialog",NULL,PrimaryDialogProc);
+	if(hDlg != NULL)
+	{		
+		ShowWindow(PrimaryDialogHandle,SW_HIDE);
+
+		OnDebug(ShowWindow(PrimaryDialogHandle,SW_SHOW));
+
+		while(GetMessage(&msg,NULL,0,0) != 0)
+		{
+			if(msg.message == WM_QUIT)
+				msg.message = 0;
+			TranslateMessage(&msg);
+			DispatchMessage(&msg);
+		}
+	}
+	else
+		FatalAssertion(hDlg != NULL, "CreateDialog at " __FILE__ "("  ")");
+
+    finalRelease();
+
+    ExitProcess(msg.wParam);
+	return msg.wParam;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/resource.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/resource.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/resource.h	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: resource.h,v 1.7 2003/07/01 13:49:51 takayuki Exp $
+ */
+
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by hal_resource.rc
+//
+#define IDI_ERTLICON                    103
+#define ID_NOTIFYICON                   104
+#define DEBUGOUTDIALOG                  106
+#define CONSOLEDIALOG                   107
+#define IDR_MENU1                       109
+#define IDR_CONSOLEMENU                 109
+#define ID_110                          110
+#define ID_FONT_BIG                     111
+#define ID_FONT_NORMAL                  112
+#define ID_FONT_SMALL                   113
+#define QUITNOTICEDIALOG                114
+#define IDC_DEBUGOUT                    1000
+#define IDC_CONSOLE                     1001
+#define IDC_CLOCKSUPPLY                 1002
+#define IDC_PROGRESS1                   1003
+#define IDC_NOTIFYMSG                   1004
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        117
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1008
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.c	(revision 26)
@@ -0,0 +1,115 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.c,v 1.12 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+
+#include "jsp_kernel.h"
+
+#include <stdio.h>
+
+#include <vwindows.h>
+#include <hal_msg.h>
+#include <debugout.h>
+
+/*
+ *  ãã­ãã¿ã¤ãå®£è¨
+ */
+extern HINSTANCE ProcessInstance;
+extern void _cdecl InitializeComSupportModule(void);
+extern void _cdecl FinalizeComSupportModule(void);
+
+/*
+ *  ã¿ã¼ã²ããä¾å­é¢æ°ã¢ã¸ã¥ã¼ã«(Windowsç¨)
+ */
+void
+sys_initialize(void)
+{
+        /* åæåå¦ç */
+	InitializeComSupportModule();
+	OnDebug(InitializeDebugServices(ProcessInstance,PrimaryDialogHandle));
+
+//	set_intlogmask(INHNO_TIMER, FALSE);     /* ãã®è¡ãæå¹ã«ããã¨ãã¿ã¤ãã®ã­ã°ãææ­¢ããã¾ã */
+//	set_intlogmask(3,FALSE);                /* ãã®è¡ãæå¹ã«ããã¨ãã·ãªã¢ã«ã®ã­ã°ãææ­¢ããã¾ã */
+}
+
+/*
+ * ã¿ã¼ã²ããã·ã¹ãã ã®ä¿®äº
+ */
+
+
+void
+sys_exit(void)
+{
+	OnDebug(FinalizeDebugServices());
+	FinalizeComSupportModule();
+	HALQuitRequest();
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+extern void SerialRawPutc(INT chr);
+
+void
+sys_putc(char c)
+{
+	SerialRawPutc(c);
+}
+
+/*
+ *  ã·ã¹ãã ã¢ãã¼ããã³ãã©
+ */
+void kernel_abort(void)
+{
+	extern void kernel_exit();
+	kernel_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_config.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_config.h,v 1.9 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+#include <api.h>
+
+#include <cpu_rename.h>
+
+#ifndef _SYS_CONF_
+#define _SYS_CONF_
+
+/*
+ *  OS ã®ç¨®é¡ã®å®ç¾©
+ */
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããå
+ */
+#ifdef __GNUC__
+#  define   TARGET_NAME "Windows (w/ CYGWIN/MinGW)"
+#elif _MSC_VER
+#  define	TARGET_NAME	"Windows (w/ VisualC++)"
+#else
+#  define   TARGET_NAME "Windows"
+#endif
+
+/*
+ *  ã·ã¹ãã ã¿ã¹ã¯ã«é¢ããå®ç¾©
+ */
+#define	CONSOLE_PORTID	1	/* ã³ã³ã½ã¼ã«ç¨ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+#define	LOGTASK_PORTID	1	/* ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå· */
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼ROMã¢ãã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ã
+ *  ã¦ããï¼
+ */
+extern void	sys_exit(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ *
+ *  ã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿å¼åºãã§å®ç¾ããã
+ *  ã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	sys_putc(char c);
+
+
+/*
+ *  ããã¤ã¹ããã¼ã¸ã£ãä½¿ãã¨ãã®ããã®sil_é¢æ°ãèª­ã¿åºãããã«
+ */
+#if defined(DEVICE_ENABLE) && !defined(__cplusplus)
+#  include <device.h>
+#endif
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONF_ */
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_defs.h	(revision 26)
@@ -0,0 +1,100 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_defs.h,v 1.17 2003/12/15 07:37:50 takayuki Exp $
+ */
+
+
+#ifndef __SYS_DEFS_H
+#define __SYS_DEFS_H
+
+#include <cpu_rename.h>
+
+    /*
+     *  ä½¿ç¨ãããã£ã¹ãããã£ãé¸æ
+     */
+#define WIN32_THREADMODEL               //ã¹ã¬ãã = ã¿ã¹ã¯
+//#define WIN32_NATIVEDISPATCHER        //x86å½ä»¤ãã£ã¹ãããã£(PUSHAD, FSAVE)  â»é¸æä¸å¯
+//#define WIN32_EXCEPTIONDISPATCHER     //Windowsæ§é åä¾å¤ãã£ã¹ãããã£ â»é¸æä¸å¯
+//#define WIN32_VIRTUALMACHINE          //ä»®æ³ãã·ã³ã¯ã©ã¹ã©ã¤ãã©ãª â»é¸æä¸å¯
+
+    /*
+     * Windowsä¾å­é¨æ¡å¼µæ©è½ã®é¸æ
+     */
+//#define DEBUG_ENABLE       /* ãããã°åºåã³ã³ã½ã¼ã«ãæå¹ã«ãããã©ãã */
+
+//#define DEVICE_ENABLE      /* ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ãä½¿ç¨ãããã©ãã */
+
+//#define EVENTLOG_ENABLE    /* ã«ã¼ãã«åä½ã­ã°åå¾æ©æ§ãæå¹ã«ãããã©ãã */
+
+	/*
+     *  ã·ãã¥ã¬ã¼ã·ã§ã³ã«ç¨ããã¿ã¤ãã¼ã®ç¨®å¥ 
+     */
+//#define TIMER_NOTHING         // ä½¿ç¨ããªã (å¤é¨ããä¾çµ¦ãã)
+#define TIMER_MULTIMEDIATIMER	// ãã«ãã¡ãã£ã¢ã¿ã¤ã
+//#define TIMER_WINDOWSTIMER	// æ¨æºã®ã¿ã¤ã (SetTimerã¨ãKillTimerã¨ã)
+//#define TIMER_WAITABLETIMER   // NT4ã®WaitableTimerãä½¿ç¨ãããã¼ã¸ã§ã³
+
+    /*
+     *  ãã®ä»ã®æ©è½é¸æ
+     */
+//#define KERNEL_DEBUG_MODE    /* ã«ã¼ãã«ã®ãããã°ã­ã°ãåºã(Windowsä¾å­é¨ãããã°ç¨) */
+
+
+#ifndef _MACRO_ONLY
+/*
+ *  ã·ã¹ãã ã¢ãã¼ããã³ãã©
+ */
+extern void kernel_abort(void);
+
+#endif /* _MACRO_ONLY */
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.def	(revision 26)
@@ -0,0 +1,19 @@
+siopcb_table
+KeyEventTrapper
+SelectConsoleFont
+ConsoleCommandHandler
+ConsoleProc
+SerialConsole_FinalRelease
+CreateSerialConsole
+SerialConsole_PutChar
+SerialConsole_PushChar
+WinConsole_ReceiverThread
+WinConsole_CreatePort
+WinConsole_PutChar
+WinConsole_ClosePort
+ScreenBuffer_ReceiverThread
+ScreenBuffer_CreatePort
+ScreenBuffer_PutChar
+ScreenBuffer_ClosePort
+SerialRawPutc
+MultiMediaTimerCallbackFunction
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_rename.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_rename.h,v 1.3 2003/07/01 13:49:51 takayuki Exp $
+ */
+
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+#ifndef OMIT_RENAME
+
+#define siopcb_table		_kernel_siopcb_table
+#define KeyEventTrapper		_kernel_KeyEventTrapper
+#define SelectConsoleFont	_kernel_SelectConsoleFont
+#define ConsoleCommandHandler	_kernel_ConsoleCommandHandler
+#define ConsoleProc		_kernel_ConsoleProc
+#define SerialConsole_FinalRelease	_kernel_SerialConsole_FinalRelease
+#define CreateSerialConsole	_kernel_CreateSerialConsole
+#define SerialConsole_PutChar	_kernel_SerialConsole_PutChar
+#define SerialConsole_PushChar	_kernel_SerialConsole_PushChar
+#define WinConsole_ReceiverThread	_kernel_WinConsole_ReceiverThread
+#define WinConsole_CreatePort	_kernel_WinConsole_CreatePort
+#define WinConsole_PutChar	_kernel_WinConsole_PutChar
+#define WinConsole_ClosePort	_kernel_WinConsole_ClosePort
+#define ScreenBuffer_ReceiverThread	_kernel_ScreenBuffer_ReceiverThread
+#define ScreenBuffer_CreatePort	_kernel_ScreenBuffer_CreatePort
+#define ScreenBuffer_PutChar	_kernel_ScreenBuffer_PutChar
+#define ScreenBuffer_ClosePort	_kernel_ScreenBuffer_ClosePort
+#define SerialRawPutc		_kernel_SerialRawPutc
+#define MultiMediaTimerCallbackFunction	_kernel_MultiMediaTimerCallbackFunction
+
+#ifdef LABEL_ASM
+
+#define _siopcb_table		__kernel_siopcb_table
+#define _KeyEventTrapper	__kernel_KeyEventTrapper
+#define _SelectConsoleFont	__kernel_SelectConsoleFont
+#define _ConsoleCommandHandler	__kernel_ConsoleCommandHandler
+#define _ConsoleProc		__kernel_ConsoleProc
+#define _SerialConsole_FinalRelease	__kernel_SerialConsole_FinalRelease
+#define _CreateSerialConsole	__kernel_CreateSerialConsole
+#define _SerialConsole_PutChar	__kernel_SerialConsole_PutChar
+#define _SerialConsole_PushChar	__kernel_SerialConsole_PushChar
+#define _WinConsole_ReceiverThread	__kernel_WinConsole_ReceiverThread
+#define _WinConsole_CreatePort	__kernel_WinConsole_CreatePort
+#define _WinConsole_PutChar	__kernel_WinConsole_PutChar
+#define _WinConsole_ClosePort	__kernel_WinConsole_ClosePort
+#define _ScreenBuffer_ReceiverThread	__kernel_ScreenBuffer_ReceiverThread
+#define _ScreenBuffer_CreatePort	__kernel_ScreenBuffer_CreatePort
+#define _ScreenBuffer_PutChar	__kernel_ScreenBuffer_PutChar
+#define _ScreenBuffer_ClosePort	__kernel_ScreenBuffer_ClosePort
+#define _SerialRawPutc		__kernel_SerialRawPutc
+#define _MultiMediaTimerCallbackFunction	__kernel_MultiMediaTimerCallbackFunction
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/sys_unrename.h	(revision 26)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_unrename.h,v 1.4 2005/07/06 03:10:29 honda Exp $
+ */
+
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+#ifndef OMIT_RENAME
+
+#undef siopcb_table
+#undef KeyEventTrapper
+#undef SelectConsoleFont
+#undef ConsoleCommandHandler
+#undef ConsoleProc
+#undef SerialConsole_FinalRelease
+#undef CreateSerialConsole
+#undef SerialConsole_PutChar
+#undef SerialConsole_PushChar
+#undef WinConsole_ReceiverThread
+#undef WinConsole_CreatePort
+#undef WinConsole_PutChar
+#undef WinConsole_ClosePort
+#undef ScreenBuffer_ReceiverThread
+#undef ScreenBuffer_CreatePort
+#undef ScreenBuffer_PutChar
+#undef ScreenBuffer_ClosePort
+#undef SerialRawPutc
+#undef MultiMediaTimerCallbackFunction
+
+#ifdef LABEL_ASM
+
+#undef _siopcb_table
+#undef _KeyEventTrapper
+#undef _SelectConsoleFont
+#undef _ConsoleCommandHandler
+#undef _ConsoleProc
+#undef _SerialConsole_FinalRelease
+#undef _CreateSerialConsole
+#undef _SerialConsole_PutChar
+#undef _SerialConsole_PushChar
+#undef _WinConsole_ReceiverThread
+#undef _WinConsole_CreatePort
+#undef _WinConsole_PutChar
+#undef _WinConsole_ClosePort
+#undef _ScreenBuffer_ReceiverThread
+#undef _ScreenBuffer_CreatePort
+#undef _ScreenBuffer_PutChar
+#undef _ScreenBuffer_ClosePort
+#undef _SerialRawPutc
+#undef _MultiMediaTimerCallbackFunction
+
+#endif /* LABEL_ASM */
+#endif /* OMIT_RENAME */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_config.h	(revision 26)
@@ -0,0 +1,314 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_config.h,v 1.11 2005/07/27 11:18:14 honda Exp $
+ */
+
+/*
+ *	éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+#include <s_services.h>
+#include <kernel_debug.h>
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  __EMPTY_LABELãã¯ã­ã®å®ç¾©
+ */
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+  #define __EMPTY_LABEL(x,y) _declspec(naked) void y(void){}
+#endif
+
+#ifndef _MACRO_ONLY
+#ifdef EVENTLOG_ENABLE
+#ifdef __cplusplus
+    extern "C" void event_write(unsigned int logtype, unsigned int valid, UINT bufsz, ... );
+    extern "C" void event_write_svc_enter(int fncd, unsigned int params, ... );
+    extern "C" void event_write_svc_leave(int fncd, unsigned int ercd);
+    extern "C" void event_write_tskstat(void * tcb);
+    extern "C" void event_write_comment(const char *, ... );
+#else
+    extern void event_write(unsigned int logtype, unsigned int valid, UINT bufsz, ... );
+    extern void event_write_svc_enter(int fncd, unsigned int params, ... );
+    extern void event_write_svc_leave(int fncd, unsigned int ercd, unsigned int retaddr);
+    extern void event_write_tskstat(void * tcb);
+    extern void event_write_comment(const char *, ... );
+#endif
+
+        /*
+         *   æ»ãçªå°åå¾ãã¯ã­
+         */
+#if defined(_MSC_VER)
+#define GET_RETURNADDRESS(x) __asm { mov eax, dword ptr [ebp + 4] } __asm { mov dword ptr [x], eax }
+#elif defined(__GNUC__)
+#define GET_RETURNADDRESS(x) { x = 0; }
+#elif
+#define GET_RETURNADDRESS(x) { x = 0: }
+#endif
+
+#define LOG_SVC_ENTER(x)      { DWORD address; GET_RETURNADDRESS(address); event_write_svc_enter x; }
+#define LOG_SVC_LEAVE(x)      { DWORD address; GET_RETURNADDRESS(address); event_write_svc_leave x; }
+#define LOG_EVENT(x)          { event_write x; }
+#define LOG_EVENT_TSKSTAT(x)  { event_write_tskstat x; }
+
+#endif   /* EVENTLOGG_ENABLED */
+#endif  /* _MACRO_ONLY */
+
+
+	/* ã­ã°ãä½¿ç¨ã§ããªãå ´å */
+#ifndef LOG_EVENT
+#define LOG_SVC_ENTER(x)
+#define LOG_SVC_LEAVE(x)
+#define LOG_EVENT(x)
+#define LOG_EVENT_TSKSTAT(x)
+#endif
+
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define	LOG_INH_ENTER(inhno)	    LOG_EVENT((LOG_TYPE_INH|LOG_ENTER, 0x1, sizeof(int), (int)(inhno)));
+#define	LOG_INH_LEAVE(inhno)	    LOG_EVENT((LOG_TYPE_INH|LOG_LEAVE, 0x1, sizeof(int), (int)(inhno)));
+
+#define	LOG_ISR_ENTER(intno)
+#define	LOG_ISR_LEAVE(intno)
+
+#define	LOG_CYC_ENTER(cyccb)	    LOG_EVENT((LOG_TYPE_CYC|LOG_ENTER, 0x7, sizeof(int)*3, OBJ_CYCLICHANDLER,(int)((cyccb) - cyccb_table)+1,(unsigned int)(cyccb)->cycinib->exinf));
+#define	LOG_CYC_LEAVE(cyccb)	    LOG_EVENT((LOG_TYPE_CYC|LOG_LEAVE, 0x7, sizeof(int)*3, OBJ_CYCLICHANDLER,(int)((cyccb) - cyccb_table)+1,(unsigned int)(cyccb)->cycinib->exinf));
+
+#define	LOG_EXC_ENTER(excno)	    LOG_EVENT((LOG_TYPE_EXC|LOG_ENTER, 0x1, sizeof(int), (int)(excno)));
+#define	LOG_EXC_LEAVE(excno)	    LOG_EVENT((LOG_TYPE_EXC|LOG_LEAVE, 0x1, sizeof(int), (int)(excno)));
+
+#define	LOG_TEX_ENTER(texptn)	    LOG_EVENT((LOG_TYPE_TEX|LOG_ENTER, 0x3, sizeof(int)*2, (int)TSKID(runtsk), (int)(texptn)));
+#define	LOG_TEX_LEAVE(texptn)	    LOG_EVENT((LOG_TYPE_TEX|LOG_LEAVE, 0x3, sizeof(int)*2, (int)TSKID(runtsk), (int)(texptn)));
+
+#define	LOG_TSKSTAT(tcb)	        LOG_EVENT_TSKSTAT((tcb));
+
+#define	LOG_DSP_ENTER_INT(tcb)		LOG_EVENT((LOG_TYPE_DSP|LOG_ENTER, 0x1, sizeof(int)*2, TSKID(tcb),1));
+#define	LOG_DSP_ENTER_TSK(tcb)		LOG_EVENT((LOG_TYPE_DSP|LOG_ENTER, 0x1, sizeof(int)*2, TSKID(tcb),0));
+#define	LOG_DSP_LEAVE(tcb)		    LOG_EVENT((LOG_TYPE_DSP|LOG_LEAVE, 0x1, sizeof(int), TSKID(tcb)));
+
+#define	LOG_ACT_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_ACT_TSK, 1, tskid, address))
+#define	LOG_ACT_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_ACT_TSK, ercd, address))
+#define	LOG_IACT_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_IACT_TSK, 1, tskid, address))
+#define	LOG_IACT_TSK_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_IACT_TSK, ercd, address))
+#define	LOG_CAN_ACT_ENTER(tskid)	LOG_SVC_ENTER((TFN_CAN_ACT, 1, tskid, address))
+#define	LOG_CAN_ACT_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_CAN_ACT, ercd, address))
+#define	LOG_EXT_TSK_ENTER()			LOG_SVC_ENTER((TFN_EXT_TSK, 0, address))
+#define	LOG_TER_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_TER_TSK, 1, tskid, address))
+#define	LOG_TER_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_TER_TSK, ercd, address))
+#define	LOG_CHG_PRI_ENTER(tskid, tskpri)	LOG_SVC_ENTER((TFN_CHG_PRI, 2, tskid, tskpri, address))
+#define	LOG_CHG_PRI_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_CHG_PRI, ercd, address))
+#define	LOG_GET_PRI_ENTER(tskid, p_tskpri)	LOG_SVC_ENTER((TFN_GET_PRI, 2, tskid, p_tskpri, address))
+#define	LOG_GET_PRI_LEAVE(ercd, tskpri)		LOG_SVC_LEAVE((TFN_GET_PRI, ercd, address))
+#define	LOG_SLP_TSK_ENTER()			LOG_SVC_ENTER((TFN_SLP_TSK, 0, address))
+#define	LOG_SLP_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_SLP_TSK, ercd, address))
+#define	LOG_TSLP_TSK_ENTER(tmout)	LOG_SVC_ENTER((TFN_TSLP_TSK, 1, tmout, address))
+#define	LOG_TSLP_TSK_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_TSLP_TSK, ercd, address))
+#define	LOG_WUP_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_WUP_TSK, 1, tskid, address))
+#define	LOG_WUP_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_WUP_TSK, ercd, address))
+#define	LOG_IWUP_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_IWUP_TSK, 1, tskid, address))
+#define	LOG_IWUP_TSK_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_IWUP_TSK, ercd, address))
+#define	LOG_CAN_WUP_ENTER(tskid)	LOG_SVC_ENTER((TFN_CAN_WUP, 1, tskid, address))
+#define	LOG_CAN_WUP_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_CAN_WUP, ercd, address))
+#define	LOG_REL_WAI_ENTER(tskid)	LOG_SVC_ENTER((TFN_REL_WAI, 1, tskid, address))
+#define	LOG_REL_WAI_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_REL_WAI, ercd, address))
+#define	LOG_IREL_WAI_ENTER(tskid)	LOG_SVC_ENTER((TFN_IREL_WAI, 1, tskid, address))
+#define	LOG_IREL_WAI_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_IREL_WAI, ercd, address))
+#define	LOG_SUS_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_SUS_TSK, 1, tskid, address))
+#define	LOG_SUS_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_SUS_TSK, ercd, address))
+#define	LOG_RSM_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_RSM_TSK, 1, tskid, address))
+#define	LOG_RSM_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_RSM_TSK, ercd, address))
+#define	LOG_FRSM_TSK_ENTER(tskid)	LOG_SVC_ENTER((TFN_FRSM_TSK, 1, tskid, address))
+#define	LOG_FRSM_TSK_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_FRSM_TSK, ercd, address))
+#define	LOG_DLY_TSK_ENTER(dlytim)	LOG_SVC_ENTER((TFN_DLY_TSK, 1, dlytim, address))
+#define	LOG_DLY_TSK_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_DLY_TSK, ercd, address))
+#define	LOG_RAS_TEX_ENTER(tskid, rasptn)	LOG_SVC_ENTER((TFN_RAS_TEX, 2, tskid, rasptn, address))
+#define	LOG_RAS_TEX_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_RAS_TEX, ercd, address))
+#define	LOG_IRAS_TEX_ENTER(tskid, rasptn)	LOG_SVC_ENTER((TFN_IRAS_TEX, 2, tskid, rasptn, address))
+#define	LOG_IRAS_TEX_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_IRAS_TEX, ercd, address))
+#define	LOG_DIS_TEX_ENTER()			LOG_SVC_ENTER((TFN_DIS_TEX, 0, address))
+#define	LOG_DIS_TEX_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_DIS_TEX, ercd, address))
+#define	LOG_ENA_TEX_ENTER()			LOG_SVC_ENTER((TFN_ENA_TEX, 0, address))
+#define	LOG_ENA_TEX_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_ENA_TEX, ercd, address))
+#define	LOG_SNS_TEX_ENTER()			LOG_SVC_ENTER((TFN_SNS_TEX, 0, address))
+#define	LOG_SNS_TEX_LEAVE(state)	LOG_SVC_LEAVE((TFN_SNS_TEX, state, address))
+#define	LOG_SIG_SEM_ENTER(semid)	LOG_SVC_ENTER((TFN_SIG_SEM, 1, semid, address))
+#define	LOG_SIG_SEM_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_SIG_SEM, ercd, address))
+#define	LOG_ISIG_SEM_ENTER(semid)	LOG_SVC_ENTER((TFN_ISIG_SEM, 1, semid, address))
+#define	LOG_ISIG_SEM_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_ISIG_SEM, ercd, address))
+#define	LOG_WAI_SEM_ENTER(semid)	LOG_SVC_ENTER((TFN_WAI_SEM, 1, semid, address))
+#define	LOG_WAI_SEM_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_WAI_SEM, ercd, address))
+#define	LOG_POL_SEM_ENTER(semid)	LOG_SVC_ENTER((TFN_POL_SEM, 1, semid, address))
+#define	LOG_POL_SEM_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_POL_SEM, ercd, address))
+#define	LOG_TWAI_SEM_ENTER(semid, tmout)	LOG_SVC_ENTER((TFN_TWAI_SEM, 2, semid, tmout, address))
+#define	LOG_TWAI_SEM_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_TWAI_SEM, ercd, address))
+#define	LOG_SET_FLG_ENTER(flgid, setptn)	LOG_SVC_ENTER((TFN_SET_FLG, 2, flgid, setptn, address))
+#define	LOG_SET_FLG_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_SET_FLG, ercd, address))
+#define	LOG_ISET_FLG_ENTER(flgid, setptn)	LOG_SVC_ENTER((TFN_ISET_FLG, 2, flgid, setptn, address))
+#define	LOG_ISET_FLG_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_ISET_FLG, ercd, address))
+#define	LOG_CLR_FLG_ENTER(flgid, clrptn)	LOG_SVC_ENTER((TFN_CLR_FLG, 2, flgid, clrptn, address))
+#define	LOG_CLR_FLG_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_CLR_FLG, ercd, address))
+#define	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)	LOG_SVC_ENTER((TFN_WAI_FLG, 4, flgid, waiptn, wfmode, p_flgptn, address))
+#define	LOG_WAI_FLG_LEAVE(ercd, flgptn)						LOG_SVC_LEAVE((TFN_WAI_FLG, ercd, address))
+#define	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)	LOG_SVC_ENTER((TFN_POL_FLG, 4, flgid, waiptn, wfmode, p_flgptn, address))
+#define	LOG_POL_FLG_LEAVE(ercd, flgptn)						LOG_SVC_LEAVE((TFN_POL_FLG, ercd, address))
+#define	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)	LOG_SVC_ENTER((TFN_TWAI_FLG, 5, flgid, waiptn, wfmode, p_flgptn, tmout, address))
+#define	LOG_TWAI_FLG_LEAVE(ercd, flgptn)							LOG_SVC_LEAVE((TFN_TWAI_FLG, ercd, address))
+#define	LOG_SND_DTQ_ENTER(dtqid, data)	LOG_SVC_ENTER((TFN_SND_DTQ, 2, dtqid, data, address))
+#define	LOG_SND_DTQ_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_SND_DTQ, ercd, address))
+#define	LOG_PSND_DTQ_ENTER(dtqid, data)	LOG_SVC_ENTER((TFN_PSND_DTQ, 2, dtqid, data, address))
+#define	LOG_PSND_DTQ_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_PSND_DTQ, ercd, address))
+#define	LOG_IPSND_DTQ_ENTER(dtqid, data)	LOG_SVC_ENTER((TFN_IPSND_DTQ, 2, dtqid, data, address))
+#define	LOG_IPSND_DTQ_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_IPSND_DTQ, ercd, address))
+#define	LOG_TSND_DTQ_ENTER(dtqid, data, tmout)	LOG_SVC_ENTER((TFN_TSND_DTQ, 3, dtqid, data, tmout, address))
+#define	LOG_TSND_DTQ_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_TSND_DTQ, ercd, address))
+#define	LOG_FSND_DTQ_ENTER(dtqid, data)	LOG_SVC_ENTER((TFN_FSND_DTQ, 2, dtqid, data, address))
+#define	LOG_FSND_DTQ_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_FSND_DTQ, ercd, address))
+#define	LOG_IFSND_DTQ_ENTER(dtqid, data)	LOG_SVC_ENTER((TFN_IFSND_DTQ, 2, dtqid, data, address))
+#define	LOG_IFSND_DTQ_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_IFSND_DTQ, ercd, address))
+#define	LOG_RCV_DTQ_ENTER(dtqid, p_data)	LOG_SVC_ENTER((TFN_RCV_DTQ, 2, dtqid, p_data, address))
+#define	LOG_RCV_DTQ_LEAVE(ercd, data)		LOG_SVC_LEAVE((TFN_RCV_DTQ, ercd, address))
+#define	LOG_PRCV_DTQ_ENTER(dtqid, p_data)	LOG_SVC_ENTER((TFN_PRCV_DTQ, 2, dtqid, p_data, address))
+#define	LOG_PRCV_DTQ_LEAVE(ercd, data)		LOG_SVC_LEAVE((TFN_PRCV_DTQ, ercd, address))
+#define	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)	LOG_SVC_ENTER((TFN_TRCV_DTQ, 3, dtqid, p_data, tmout, address))
+#define	LOG_TRCV_DTQ_LEAVE(ercd, data)				LOG_SVC_LEAVE((TFN_TRCV_DTQ, ercd, address))
+#define	LOG_SND_MBX_ENTER(mbxid, pk_msg)	LOG_SVC_ENTER((TFN_SND_MBX, 2, mbxid, pk_msg, address))
+#define	LOG_SND_MBX_LEAVE(ercd)				LOG_SVC_LEAVE((TFN_SND_MBX, ercd, address))
+#define	LOG_RCV_MBX_ENTER(mbxid, ppk_msg)	LOG_SVC_ENTER((TFN_RCV_MBX, 2, mbxid, ppk_msg, address))
+#define	LOG_RCV_MBX_LEAVE(ercd, pk_msg)		LOG_SVC_LEAVE((TFN_RCV_MBX, ercd, address))
+#define	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)	LOG_SVC_ENTER((TFN_PRCV_MBX, 2, mbxid, ppk_msg, address))
+#define	LOG_PRCV_MBX_LEAVE(ercd, pk_msg)	LOG_SVC_LEAVE((TFN_PRCV_MBX, ercd, address))
+#define	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)	LOG_SVC_ENTER((TFN_TRCV_MBX, 3, mbxid, ppk_msg, tmout, address))
+#define	LOG_TRCV_MBX_LEAVE(ercd, pk_msg)			LOG_SVC_LEAVE((TFN_TRCV_MBX, ercd, address))
+#define	LOG_GET_MPF_ENTER(mpfid, p_blk)	LOG_SVC_ENTER((TFN_GET_MPF, 2, mpfid, p_blk, address))
+#define	LOG_GET_MPF_LEAVE(ercd, blk)	LOG_SVC_LEAVE((TFN_GET_MPF, ercd, address))
+#define	LOG_PGET_MPF_ENTER(mpfid, p_blk)	LOG_SVC_ENTER((TFN_PGET_MPF, 2, mpfid, p_blk, address))
+#define	LOG_PGET_MPF_LEAVE(ercd, blk)		LOG_SVC_LEAVE((TFN_PGET_MPF, ercd, address))
+#define	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)	LOG_SVC_ENTER((TFN_TGET_MPF, 3, mpfid, p_blk, tmout, address))
+#define	LOG_TGET_MPF_LEAVE(ercd, blk)			LOG_SVC_LEAVE((TFN_TGET_MPF, ercd, address))
+#define	LOG_REL_MPF_ENTER(mpfid, blk)	LOG_SVC_ENTER((TFN_REL_MPF, 2, mpfid, blk, address))
+#define	LOG_REL_MPF_LEAVE(ercd)			LOG_SVC_LEAVE((TFN_REL_MPF, ercd, address))
+#define	LOG_SET_TIM_ENTER(p_systim)	LOG_SVC_ENTER((TFN_SET_TIM, 1, p_systim, address))
+#define	LOG_SET_TIM_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_SET_TIM, ercd, address))
+#define	LOG_GET_TIM_ENTER(p_systim)		LOG_SVC_ENTER((TFN_GET_TIM, 1, p_systim, address))
+#define	LOG_GET_TIM_LEAVE(ercd, systim)	LOG_SVC_LEAVE((TFN_GET_TIM, ercd, address))
+#define	LOG_ISIG_TIM_ENTER()	LOG_SVC_ENTER((TFN_ISIG_TIM, 0, address))
+#define	LOG_ISIG_TIM_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_ISIG_TIM, ercd, address))
+#define	LOG_STA_CYC_ENTER(cycid)	LOG_SVC_ENTER((TFN_STA_CYC, 1, cycid, address))
+#define	LOG_STA_CYC_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_STA_CYC, ercd, address))
+#define	LOG_STP_CYC_ENTER(cycid)	LOG_SVC_ENTER((TFN_STP_CYC, 1, cycid, address))
+#define	LOG_STP_CYC_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_STP_CYC, ercd, address))
+#define	LOG_ROT_RDQ_ENTER(tskpri)	LOG_SVC_ENTER((TFN_ROT_RDQ, 1, tskpri, address))
+#define	LOG_ROT_RDQ_LEAVE(ercd)		LOG_SVC_LEAVE((TFN_ROT_RDQ, ercd, address))
+#define	LOG_IROT_RDQ_ENTER(tskpri)	LOG_SVC_ENTER((TFN_IROT_RDQ, 1, tskpri, address))
+#define	LOG_IROT_RDQ_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_IROT_RDQ, ercd, address))
+#define	LOG_GET_TID_ENTER(p_tskid)	LOG_SVC_ENTER((TFN_GET_TID, 1, p_tskid, address))
+#define	LOG_GET_TID_LEAVE(ercd, tskid)	LOG_SVC_LEAVE((TFN_GET_TID, ercd, address))
+#define	LOG_IGET_TID_ENTER(p_tskid)	LOG_SVC_ENTER((TFN_IGET_TID, 1, p_tskid, address))
+#define	LOG_IGET_TID_LEAVE(ercd, tskid)	LOG_SVC_LEAVE((TFN_IGET_TID, ercd, address))
+
+#define	LOG_LOC_CPU_ENTER()	        LOG_SVC_ENTER((TFN_LOC_CPU, 0, address))
+#define	LOG_LOC_CPU_LEAVE(ercd)	    LOG_SVC_LEAVE((TFN_LOC_CPU, ercd, address))
+#define	LOG_ILOC_CPU_ENTER()		LOG_SVC_ENTER((TFN_ILOC_CPU, 0, address))
+#define	LOG_ILOC_CPU_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_ILOC_CPU, ercd, address))
+#define	LOG_UNL_CPU_ENTER()		    LOG_SVC_ENTER((TFN_UNL_CPU, 0, address))
+#define	LOG_UNL_CPU_LEAVE(ercd)	    LOG_SVC_LEAVE((TFN_UNL_CPU, ercd, address))
+#define	LOG_IUNL_CPU_ENTER()		LOG_SVC_ENTER((TFN_IUNL_CPU, 0, address))
+#define	LOG_IUNL_CPU_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_IUNL_CPU, ercd, address))
+
+#define	LOG_DIS_DSP_ENTER()		LOG_SVC_ENTER((TFN_DIS_DSP, 0, address))
+#define	LOG_DIS_DSP_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_DIS_DSP, ercd, address))
+#define	LOG_ENA_DSP_ENTER()		LOG_SVC_ENTER((TFN_ENA_DSP, 0, address))
+#define	LOG_ENA_DSP_LEAVE(ercd)	LOG_SVC_LEAVE((TFN_ENA_DSP, ercd, address))
+
+#define	LOG_SNS_CTX_ENTER()			LOG_SVC_ENTER((TFN_SNS_CTX, 0, address))
+#define	LOG_SNS_CTX_LEAVE(state)	LOG_SVC_LEAVE((TFN_SNS_CTX, state, address))
+#define	LOG_SNS_LOC_ENTER()			LOG_SVC_ENTER((TFN_SNS_LOC, 0, address))
+#define	LOG_SNS_LOC_LEAVE(state)	LOG_SVC_LEAVE((TFN_SNS_LOC, state, address))
+#define	LOG_SNS_DSP_ENTER()			LOG_SVC_ENTER((TFN_SNS_DSP, 0, address))
+#define	LOG_SNS_DSP_LEAVE(state)	LOG_SVC_LEAVE((TFN_SNS_DSP, state, address))
+#define	LOG_SNS_DPN_ENTER()			LOG_SVC_ENTER((TFN_SNS_DPN, 0, address))
+#define	LOG_SNS_DPN_LEAVE(state)	LOG_SVC_LEAVE((TFN_SNS_DPN, state, address))
+
+#define	LOG_VSNS_INI_ENTER()        LOG_SVC_ENTER((TFN_VSNS_INI, 0, address))
+#define	LOG_VSNS_INI_LEAVE(state)   LOG_SVC_LEAVE((TFN_VSNS_INI, state, address))
+
+#define	LOG_VXSNS_CTX_ENTER(p_excinf)	    LOG_SVC_ENTER((TFN_VXSNS_CTX, 1, p_excinf, address))
+#define	LOG_VXSNS_CTX_LEAVE(state)		    LOG_SVC_LEAVE((TFN_VXSNS_CTX, state, address))
+#define	LOG_VXSNS_LOC_ENTER(p_excinf)	    LOG_SVC_ENTER((TFN_VXSNS_LOC, 1, p_excinf, address))
+#define	LOG_VXSNS_LOC_LEAVE(state)		    LOG_SVC_LEAVE((TFN_VXSNS_LOC, state, address))
+#define	LOG_VXSNS_DSP_ENTER(p_excinf)	    LOG_SVC_ENTER((TFN_VXSNS_DSP, 1, p_excinf, address))
+#define	LOG_VXSNS_DSP_LEAVE(state)		    LOG_SVC_LEAVE((TFN_VXSNS_DSP, state, address))
+#define	LOG_VXSNS_DPN_ENTER(p_excinf)	    LOG_SVC_ENTER((TFN_VXSNS_DPN, 1, p_excinf, address))
+#define	LOG_VXSNS_DPN_LEAVE(state)		    LOG_SVC_LEAVE((TFN_VXSNS_DPN, state, address))
+#define	LOG_VXSNS_TEX_ENTER(p_excinf)	    LOG_SVC_ENTER((TFN_VXSNS_TEX, 1, p_excinf, address))
+#define	LOG_VXSNS_TEX_LEAVE(state)		    LOG_SVC_LEAVE((TFN_VXSNS_TEX, state, address))
+#define	LOG_VXGET_TIM_ENTER(p_sysutim)		LOG_SVC_ENTER((TFN_VXGET_TIM, 1, p_sysutim, address))
+#define	LOG_VXGET_TIM_LEAVE(ercd, sysutim)	LOG_SVC_LEAVE((TFN_VXGET_TIM, ercd, address))
+
+#define	LOG_CHG_IPM_ENTER(ipm)	        LOG_SVC_ENTER((TFN_CHG_IPM, 1, ipm, address))
+#define	LOG_CHG_IPM_LEAVE(ercd)	        LOG_SVC_LEAVE((TFN_CHG_IPM, ercd, address))
+#define	LOG_GET_IPM_ENTER(p_ipm)		LOG_SVC_ENTER((TFN_GET_IPM, 1, p_ipm, address))
+#define	LOG_GET_IPM_LEAVE(ercd, ipm)	LOG_SVC_LEAVE((TFN_GET_IPM, ercd, address))
+#define	LOG_ENA_INT_ENTER()		        LOG_SVC_ENTER((TFN_ENA_INT, 0, address))
+#define	LOG_ENA_INT_LEAVE(ercd)	        LOG_SVC_LEAVE((TFN_ENA_INT, ercd, address))
+#define	LOG_DIS_INT_ENTER()		        LOG_SVC_ENTER((TFN_DIS_INT, 0, address))
+#define	LOG_DIS_INT_LEAVE(ercd)	        LOG_SVC_LEAVE((TFN_DIS_INT, ercd, address))
+
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/tool_defs.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: tool_defs.h,v 1.4 2003/09/02 12:50:16 takayuki Exp $
+ */
+
+
+/*
+ *	éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+
+#ifdef _MSC_VER
+#  define	_int8_		__int8		/* 8ãããã®æ´æ°å */
+#  define	_int16_		__int16		/* 16ãããã®æ´æ°å */
+#  define	_int32_		__int32		/* 32ãããã®æ´æ°å */
+#  define	_int64_		__int64		/* 64ãããã®æ´æ°å */
+#elif defined(__GNUC__)
+#  define	_int8_		char		/* 8ãããã®æ´æ°å */
+#  define	_int16_		short		/* 16ãããã®æ´æ°å */
+#  define	_int32_		long		/* 32ãããã®æ´æ°å */
+#  define	_int64_		long long	/* 64ãããã®æ´æ°å */
+#else
+#  error	"Unknown Compiler"
+#endif
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifdef _MSC_VER
+
+#  define	inline		__forceinline
+#  define	Inline		static __forceinline
+   /* VC++ã§ã¯asmã¨Asmã¯å®ç¾©ããªã (ã¨ãããããä½¿ã£ã¡ããã¡) */
+
+#elif defined(__GNUC__)
+
+#  define	inline		__inline
+#  define	Inline		static __inline
+#  define	asm		__asm__
+#  define	Asm		__asm__ volatile
+
+#endif
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vitron.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vitron.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vitron.h	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vitron.h,v 1.5 2003/12/15 07:19:22 takayuki Exp $
+ */
+
+
+
+#ifndef __VITRON_H__
+#define __VITRON_H__
+
+/*
+ * ITRONããã è¡çªåé¿ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+
+#ifdef NULL
+#define ALREADYDEFINED_NULL
+#undef NULL
+#endif
+
+#define SIZE iSIZE
+#define BOOL iBOOL
+#include <itron.h>
+#undef NULL
+#undef SIZE
+#undef BOOL
+
+#ifdef ALREADYDEFINED_NULL
+#define NULL (0)
+#undef ALREADYDEFINED_NULL
+#endif
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vwindows.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vwindows.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/windows/vwindows.h	(revision 26)
@@ -0,0 +1,82 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vwindows.h,v 1.5 2003/07/04 05:53:20 takayuki Exp $
+ */
+
+
+
+#ifndef __VWINDOWS_H
+#define __VWINDOWS_H
+
+/*
+ * Windowsããã è¡çªåé¿ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+
+#ifdef NULL
+#define ALREADYDEFINED_NULL
+#endif
+#undef NULL
+
+#define SIZE wSIZE
+#define BOOL wBOOL
+#define NULL wNULL
+#include <windows.h>
+#undef NULL
+#undef SIZE
+#undef BOOL
+
+#ifdef ALREADYDEFINED_NULL
+#define NULL (0)
+#undef ALREADYDEFINED_NULL
+#endif
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/Makefile.config	(revision 26)
@@ -0,0 +1,110 @@
+# 
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#  
+#   Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+#               Graduate School of Information Science, Nagoya Univ., JAPAN
+#  
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+#   åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+#       è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+#       ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+#       ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+#       ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+#       è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+#       ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+#         æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+#         åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+#       ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+#       æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+#       ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+#   ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+#   ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+#   ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+#   ããªãï¼
+#
+
+#
+#   Makefile ã®ãã­ã»ããµä¾å­é¨ï¼Xstormy16ç¨ï¼
+#
+
+#
+#  ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+TARGET = xstormy16-elf
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)
+#     ãããã°æã«ã¯ã-O0ã-Wallãæå®ãããã¨ã§ãã³ã³ãã¤ã«æã
+#     ãEVAãããã¬ä¸­ã§ãããè©³ç´°ãªæ
+å ±ãåå¾ãããã¨ãã§ãã¾ãã
+#COPTS := $(COPTS) -g -O0 -Wall
+#     ãããã°çµäºå¾ã¯ã-DNDEBUGãæå®ãããã¨ã§ãã«ã¼ãã«ä¸­ãã
+#     ãããã°ã®ããã®ã³ã¼ããåãé¤ããã¨ãã§ãã¾ãã(user.txtåç
+§)
+COPTS := $(COPTS) -g -O2 
+CDEFS := $(CDEFS) -DNDEBUG
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o hw_serial.o hw_timer.o cpu_stdio.o
+
+#
+#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#
+START_OBJS = start.o
+
+$(START_OBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(START_OBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ã¢ã»ã³ãã©ããCã®æ§é ä½ã«ã¢ã¯ã»ã¹ããããã®offset.hãä¾å­é¨ã§ç¨æ
+#
+OMIT_MAKEOFFSET = YES
+
+#
+#  å®è¡ãã¡ã¤ã«ã®æ¡å¼µå­ã®æå®
+#
+OBJEXT = elf
+
+#
+#  éçºç°å¢ã®æå®
+#
+DEVENV := EVA_DEBUGGER
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.c	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <s_services.h>
+#include <hw_timer.h>
+#include <hw_serial.h>
+#include <cpu_sfrs.h>
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å¨æ
+ */
+UINT _kernel_tic_nume = 1u ;
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+void
+cpu_initialize(void)
+{
+                                /*
+                                 *  ä¾å¤ã®è¨±å¯
+                                 */
+    __UNLOCK_EXCP() ;               /* unlock writing EXCPL/EXCPH */
+    __SFR_BITSET( __EXCPL, 0 ) ;    /* enable invalid instruction exception */
+    __SFR_BITSET( __EXCPL, 2 ) ;    /* enable odd/word access exception */
+    __SFR_BITSET( __EXCPL, 4 ) ;    /* enable outrange access exception */
+    __LOCK_EXCP() ;                 /* lock writing EXCPL/EXCPH */
+                                /*
+                                 *  ã«ã¼ãã«ã¿ã¤ãã¼ã®èµ·å
+                                 */
+    hw_timer_initialize() ;
+}
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºå¦ç
+ */
+void
+cpu_terminate(void)
+{
+                                /*
+                                 *  ã«ã¼ãã«ã¿ã¤ãã¼ã®åæ­¢
+                                 */
+    hw_timer_terminate() ;
+                                /*
+                                 *  ä¾å¤ã®ç¦æ­¢
+                                 */
+    __UNLOCK_EXCP() ;               /* unlock writing EXCPL/EXCPH */
+    __SFR_BITCLR( __EXCPL, 0 ) ;    /* disable invalid instruction exception */
+    __SFR_BITCLR( __EXCPL, 2 ) ;    /* disable odd/word access exception */
+    __SFR_BITCLR( __EXCPL, 4 ) ;    /* disable outrange access exception */
+    __LOCK_EXCP() ;                 /* lock writing EXCPL/EXCPH */
+}
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©ã®ç»é²
+ */
+void _kernel_define_inh(INHNO inhno, FP inthdr)
+{
+    extern FP _kernel_ih_table[TNUM_INTERRUPT] ;
+    if ( inhno < TNUM_INTERRUPT ) {
+        _kernel_ih_table[inhno] = inthdr ;
+    }
+}
+
+/*
+ *  ä¾å¤ãã³ãã©ã®ç»é²
+ */
+void _kernel_define_exc(EXCNO excno, FP exchdr)
+{
+    extern FP _kernel_eh_table[TNUM_EXCEPTION] ;
+    if ( excno < TNUM_EXCEPTION ) {
+        _kernel_eh_table[excno] = exchdr ;
+    }
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+void sys_putc(char c)
+{
+    sio_asnd_chr( (INT)c ) ;
+}
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+void sil_dly_nse( UINT dlytim )
+{
+    UINT n ;
+    for ( n = 3 ; n < dlytim ; n++ ) __asm__ volatile ( "nop" ) ;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_config.h	(revision 26)
@@ -0,0 +1,209 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _CPU_CONFIG_H_
+#define _CPU_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <cpu_rename.h>
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#include <cpu_insn.h>
+
+/*
+ *  chg_ipm/get_ipm ã¯ãµãã¼ãããªã
+ */
+#undef  SUPPORT_CHG_IPM
+
+/*
+ *  calltex ã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_PORT   2   /* ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ° */
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãçªå·ã«é¢ããå®ç¾©
+ */
+#define LOGTASK_PORTID  1   /* ã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå· */
+
+/*
+ *  ã­ã°ã¿ã¹ã¯ã®å¿
+è¦ã¹ã¿ãã¯ãµã¤ãº
+ */
+#define LOGTASK_STACK_SIZE 256
+
+/*
+ *  ã­ã°ãããã¡ã®ãµã¤ãº
+ */
+#define TCNT_SYSLOG_BUFFER  8
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ */
+#define TBIT_TCB_TSTAT      8   /* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#define TBIT_TCB_PRIORITY   4   /* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+    unsigned short sp;          /* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+    unsigned short mode;        /* dispatcherã®å¾©å¸°å
+ */
+} CTXB;
+
+/*
+ *  ã¿ã¹ã¯/éã¿ã¹ã¯åç
+§ç¨ã°ã­ã¼ãã«å¤æ°
+ */
+extern unsigned short _kernel_intnest ;
+
+/*
+ *  ã·ã¹ãã ç¶æ
+åç
+§
+ */
+#define sense_context() ( _kernel_intnest > 0)
+#define sense_lock() (!( __PSW & 0x0080 ))
+#define t_sense_lock sense_lock
+#define i_sense_lock sense_lock
+#define t_lock_cpu() ({__asm__( "clr1 psw,#7" );})
+#define t_unlock_cpu() ({__asm__( "set1 psw,#7" );})
+#define i_lock_cpu t_lock_cpu
+#define i_unlock_cpu t_unlock_cpu
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ */
+#define exc_sense_context(p_excinf) ( _kernel_intnest > 1 )
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+#define exc_sense_lock(p_excinf) (!(((unsigned short*)p_excinf)[-1] & 0x0080))
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©çæãã¯ã­
+ */
+#define INTHDR_ENTRY(inthdr) extern void inthdr(void)
+#define INT_ENTRY(inthdr) inthdr
+
+/*
+ *  CPUä¾å¤çæãã¯ã­
+ */
+#define EXCHDR_ENTRY(exchdr) extern void exchdr(VP sp)
+#define EXC_ENTRY(exchdr) exchdr
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void cpu_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void cpu_terminate(void);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ */
+extern void define_inh(INHNO inhno, FP inthdr) ;
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+extern void define_exc(EXCNO excno, FP exchdr) ;
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®æå­åºå
+ */
+extern void sys_putc(char c);
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼cpu_support.Så
+ï¼
+ */
+extern void dispatch(void);
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼cpu_support.Så
+ï¼
+ */
+extern void exit_and_dispatch(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_context.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_context.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_context.h	(revision 26)
@@ -0,0 +1,75 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³ï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _CPU_CONTEXT_H_
+#define _CPU_CONTEXT_H_
+
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå(cpu_support.Så
+)
+ */
+extern void create_context(TCB *tcb) ;
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åæºå(cpu_support.Så
+)
+ */
+extern void activate_context(TCB *tcb) ;
+
+#endif /* _CPU_CONTEXT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_defs.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµã«ä¾å­ããå®ç¾©ï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _CPU_DEFS_H_
+#define _CPU_DEFS_H_
+
+/*
+ *  ãã­ã»ããµç¥ç§°
+ */
+#define XSTORMY16
+
+/*
+ *  å²è¾¼ã¿ï¼CPUä¾å¤ãã³ãã©çªå·ã®å
+ */
+#ifndef _MACRO_ONLY
+typedef UINT INHNO;         /* å²è¾¼ã¿ãã³ãã©çªå· */
+typedef UINT EXCNO;         /* CPUä¾å¤ãã³ãã©çªå· */
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN SIL_ENDIAN_LITTLE
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©çªå·
+ */
+#define TNUM_INTERRUPT 17   /* å²ãè¾¼ã¿è¦å æ° */
+#define INHNO_WATCHDOG 0    /* ã¯ããããã°ã¿ã¤ãã¼å²ãè¾¼ã¿ãã³ãã©çªå· */
+#define INHNO_BASETIMER 1   /* ãã¼ã¹ã¿ã¤ãã¼å²ãè¾¼ã¿ãã³ãã©çªå· */
+#define INHNO_TIMER0 2      /* ã¿ã¤ãã¼0å²ãè¾¼ã¿ãã³ãã©çªå· */
+#define INHNO_TIMER1 3      /* ã¿ã¤ãã¼1å²ãè¾¼ã¿ãã³ãã©çªå· */
+#define INHNO_UART 16       /* UARTå²ãè¾¼ã¿ãã³ãã©çªå· */
+
+/*
+ *  CPUä¾å¤ãã³ãã©çªå·
+ */
+#define TNUM_EXCEPTION 4    /* ä¾å¤è¦å æ° */
+#define EXCNO_UDINST 0      /* æªå®ç¾©å½ä»¤ä¾å¤ãã³ãã©çªå· */
+#define EXCNO_WORDODD 1     /* å¥æ°çªå°ã¸ã®ã¯ã¼ãã¢ã¯ã»ã¹ä¾å¤ãã³ãã©çªå· */
+#define EXCNO_OUTRANGE 2    /* ã¡ã¢ãªç¯å²å¤ã¢ã¯ã»ã¹ä¾å¤ãã³ãã©çªå· */
+#define EXCNO_UNKNOWN 3     /* ä¸æãªCPUä¾å¤ãã³ãã©çªå· */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+extern UINT _kernel_tic_nume ;          /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define TIC_NUME    _kernel_tic_nume    /*     (globalå¤æ°ã¨ãã¦å®ç¾©) */
+#define TIC_DENO    1u                  /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ãããã°ç¨ãã¬ã¼ã¯ãã¤ã³ã
+ */
+#define __BREAKPOINT() { __asm__( "nop" ); __asm__( ".hword 0x0007" ); }
+
+/*
+ *  stdioç¨ä½ã¬ãã«å
+¥åºåé¢æ°
+ */
+extern int _write ( int fd, char *buf, int nbytes ) ;
+extern int _read ( int fd, char *buf, int nbytes ) ;
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_insn.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_insn.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_insn.h	(revision 26)
@@ -0,0 +1,84 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _CPU_INSN_H_
+#define _CPU_INSN_H_
+#ifndef _MACRO_ONLY
+
+/*
+ *  SFWã¢ã¯ã»ã¹ãã¯ã­
+ */
+#define __SFR(x) (*((volatile unsigned char*)(x)))
+#define __SFRW(x) (*((volatile unsigned short*)(x)))
+#define __SFR_BITSET(x,y) __SFR_BITSET_INLINE( x ,y )
+#define __SFR_BITSET_INLINE(x,y) __asm__ ( "set1 " #x ",#" #y )
+#define __SFR_BITCLR(x,y) __SFR_BITCLR_INLINE( x ,y )
+#define __SFR_BITCLR_INLINE(x,y) __asm__ ( "clr1 " #x ",#" #y )
+#define __UNLOCK_EXCP() __asm__( "set1 psw,#11" )
+#define __LOCK_EXCP() __asm__( "clr1 psw,#11" )
+
+/*
+ *  PSWã¢ã¯ã»ã¹ã®ããã®ãã¯ã­
+ */
+#define __PSW ( { \
+    unsigned short usPsw ; \
+    __asm__( "mov %0,psw" : "=r"(usPsw) ) ; \
+    usPsw ; \
+} )
+
+#endif /* _MACRO_ONLY */
+#endif /* _CPU_INSN_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.def	(revision 26)
@@ -0,0 +1,4 @@
+define_inh
+define_exc
+create_context
+activate_context
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_rename.h	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifndef _CPU_RENAME_H_
+#define _CPU_RENAME_H_
+
+#define define_inh		_kernel_define_inh
+#define define_exc		_kernel_define_exc
+#define create_context		_kernel_create_context
+#define activate_context	_kernel_activate_context
+
+#ifdef LABEL_ASM
+
+#define _define_inh		__kernel_define_inh
+#define _define_exc		__kernel_define_exc
+#define _create_context		__kernel_create_context
+#define _activate_context	__kernel_activate_context
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_sfrs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_sfrs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_sfrs.h	(revision 26)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  Xstormy16å
+±éSFRã®å®ç¾©
+ */
+#ifndef _CPU_SFRS_H_
+#define _CPU_SFRS_H_
+                                /*
+                                 *  å²ãè¾¼ã¿ã¨ä¾å¤ã®å¶å¾¡
+                                 */
+#define __IL1L 0x7F02
+#define __IL1H 0x7F03
+#define __IL2L 0x7F04
+#define __IL2H 0x7F05
+#define __EXCPL 0x7f08
+#define __EXCPH 0x7f09
+                                /*
+                                 *  ã·ã¹ãã ã¯ã­ãã¯ã®å¶å¾¡
+                                 */
+#define __OCR0 0x7F0A
+#define __OCR1 0x7F0B
+                                /*
+                                 *  ã¯ããããã°ã¿ã¤ãã¼
+                                 */
+#define __WDTCR 0x7F0C
+                                /*
+                                 *  ãã¼ã¹ã¿ã¤ãã¼
+                                 */
+#define __BTCR 0x7F0E
+                                /*
+                                 *  ã¿ã¤ãã¼0/1
+                                 */
+#define __T0LR 0x7F10
+#define __T0HR 0x7F11
+#define __T0CNT 0x7F12
+#define __T0PR 0x7F13
+#define __T1LR 0x7F14
+#define __T1HR 0x7F15
+#define __T1CNT 0x7F16
+#define __T1PR 0x7F17
+                                /*
+                                 *  UART
+                                 */
+#define __U0CR 0x7f38
+#define __U1CR 0x7f78
+#define __UxCR_RUN 0x80
+#define __UxCR_ORERR 0x40
+#define __UxCR_BAUDRATE 0x20
+#define __UxCR_PARITY 0x10
+#define __UxCR_TXEMPTY 0x08
+#define __UxCR_TXIE 0x04
+#define __UxCR_RXREADY 0x02
+#define __UxCR_RXIE 0x01
+#define __UxTX_STOPBIT 0x0000
+
+#endif /* _CPU_SFRS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_stdio.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_stdio.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_stdio.c	(revision 26)
@@ -0,0 +1,89 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+#include <s_services.h>
+#include <hw_serial.h>
+
+/*
+ *  ä½ã¬ãã«åºå
+ */
+int _write ( int fd, char *buf, int nbytes )
+{
+    int i ;
+    for ( i = 0 ; i < nbytes ; i++ ) {
+        sio_asnd_chr( buf[i] ) ;
+    }
+    return nbytes ;
+}
+
+/*
+ *  ä½ã¬ãã«å
+¥å
+ */
+int _read ( int fd, char *buf, int nbytes )
+{
+    int nCnt ;
+    for ( nCnt = 0 ; nCnt < nbytes ; ) {
+        INT chr = sio_arcv_chr() ;
+        if ( chr < 0 ) break ;
+        buf[nCnt++] = (char)chr ;
+        if ( chr == '\n' ) break ;
+    }
+    return nCnt ;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_support.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_support.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_support.S	(revision 26)
@@ -0,0 +1,852 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *      ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼Xstormy16ç¨ï¼
+ */
+
+#define _MACRO_ONLY
+#include <offset.h>
+#include <cpu_sfrs.h>
+
+/*
+ *  ã¿ã¹ã¯ã»å²ãè¾¼ã¿ã»ä¾å¤ç®¡çç¨RAMé å
+ */
+        .section .data_0,"aw"
+
+                                /*
+                                 *  å²ãè¾¼ã¿ã»ä¾å¤ãã¹ãã«ã¦ã³ã¿
+                                 *  (ã«ã¼ãã«èµ·åæãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨
+                                 *  ãã¦æ±ãããåæå¤ã1ã¨ãã)
+                                 */
+        .global _kernel_intnest
+_kernel_intnest:
+        .hword 1
+
+                                /*
+                                 *  å²ãè¾¼ã¿ãã³ãã©ãã¼ãã«
+                                 *  (UARTå²ãè¾¼ã¿ãå«ã17å)
+                                 */
+        .global _kernel_ih_table
+_kernel_ih_table:
+        .hword 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+                                /*
+                                 *  ä¾å¤ãã³ãã©ãã¼ãã«
+                                 *  (æªå®ç¾©å½ä»¤/å¥æ°çªå°ã¯ã¼ãã¢ã¯ã»ã¹/
+                                 *  ã¡ã¢ãªå¤/reserved)
+                                 */
+        .global _kernel_eh_table
+_kernel_eh_table:
+        .hword 0,0,0,0
+
+/*
+ *  å²ãè¾¼ã¿ãã¯ãã«
+ *  (ãã®sectionã¯8000h-8083hã«ãªã³ã¯ããã)
+ */
+        .section .int_vec,"ax"
+        .global _start
+        .align 1
+_start:
+	clr1 psw,#7
+        br _kernel_int_irq_0
+	clr1 psw,#7
+        br _kernel_int_irq_1
+	clr1 psw,#7
+        br _kernel_int_irq_2
+	clr1 psw,#7
+        br _kernel_int_irq_3
+	clr1 psw,#7
+        br _kernel_int_irq_4
+	clr1 psw,#7
+        br _kernel_int_irq_5
+	clr1 psw,#7
+        br _kernel_int_irq_6
+	clr1 psw,#7
+        br _kernel_int_irq_7
+	clr1 psw,#7
+        br _kernel_int_irq_8
+	clr1 psw,#7
+        br _kernel_int_irq_9
+	clr1 psw,#7
+        br _kernel_int_irq_a
+	clr1 psw,#7
+        br _kernel_int_irq_b
+	clr1 psw,#7
+        br _kernel_int_irq_c
+	clr1 psw,#7
+        br _kernel_int_irq_d
+	clr1 psw,#7
+        br _kernel_int_irq_e
+	clr1 psw,#7
+        br _kernel_int_irq_f
+        .org 0x80
+        jmpf _kernel_int_irq_ex
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©å
+¥ãå£
+ */
+_kernel_int_irq_0:
+                                /*
+                                 *  ã¯ããããã°ã¿ã¤ãå²ãè¾¼ã¿ãRESETãã®å¤æ­
+                                 */
+        bn __WDTCR,#4,_after_reset
+        bp __WDTCR,#5,_after_reset
+        push r0
+        mov r0,#_kernel_ih_table+0
+        br _int_common
+_after_reset:
+	jmpf _int_reset
+_kernel_int_irq_1:
+        push r0
+        mov r0,#_kernel_ih_table+2
+        br _int_common
+_kernel_int_irq_2:
+        push r0
+        mov r0,#_kernel_ih_table+4
+        br _int_common
+_kernel_int_irq_3:
+        push r0
+        mov r0,#_kernel_ih_table+6
+        br _int_common
+_kernel_int_irq_4:
+        push r0
+        mov r0,#_kernel_ih_table+8
+        br _int_common
+_kernel_int_irq_5:
+        push r0
+        mov r0,#_kernel_ih_table+10
+        br _int_common
+_kernel_int_irq_6:
+        push r0
+        mov r0,#_kernel_ih_table+12
+        br _int_common
+_kernel_int_irq_7:
+        push r0
+        mov r0,#_kernel_ih_table+14
+        br _int_common
+_kernel_int_irq_8:
+        push r0
+        mov r0,#_kernel_ih_table+16
+        br _int_common
+_kernel_int_irq_9:
+        push r0
+        mov r0,#_kernel_ih_table+18
+        br _int_common
+_kernel_int_irq_a:
+        push r0
+        mov r0,#_kernel_ih_table+20
+        br _int_common
+_kernel_int_irq_b:
+        push r0
+        mov r0,#_kernel_ih_table+22
+        br _int_common
+_kernel_int_irq_c:
+        push r0
+        mov r0,#_kernel_ih_table+24
+        br _int_common
+_kernel_int_irq_d:
+        push r0
+        mov r0,#_kernel_ih_table+26
+        br _int_common
+_kernel_int_irq_e:
+        push r0
+        mov r0,#_kernel_ih_table+28
+        br _int_common
+_kernel_int_irq_f:
+        push r0
+        mov r0,#_kernel_ih_table+30
+        br _int_common
+
+/*
+ *  å²ãè¾¼ã¿ãã³ãã©å
+¥ãå£å¦ç
+ */
+_int_common:
+                                /*
+                                 *  r1/r2ã®éé¿(r0ã¯éé¿æ¸ã¿)
+                                 */
+        push r1
+        push r2
+                                /*
+                                 *  ãã¹ãããå²ãè¾¼ã¿ãã©ãããã§ãã¯
+                                 */
+        mov r1,_kernel_intnest
+        bz interrupt_from_task
+
+/*
+ *  ãã¹ãããå²ãè¾¼ã¿ã®å¦ç
+ */
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ããã
+                                 *  ä¸ä½ã®å²ãè¾¼ã¿ãè¨±å¯
+                                 */
+        inc r1
+        mov _kernel_intnest,r1
+        set1 psw,#7
+                                /*
+                                 *  r3-r9(caller saved register)ã®éé¿
+                                 */
+        push r3
+        push r4
+        push r5
+        push r6
+        push r7
+        push r8
+        push r9
+                                /*
+                                 *  å²ãè¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+                                 */
+        mov r1,(r0)
+        bz 1f
+        mov r8,#0
+        call r8,r1
+1:
+                                /*
+                                 *  r1-r9ã®å¾©å
+
+                                 */
+        pop r9
+        pop r8
+        pop r7
+        pop r6
+        pop r5
+        pop r4
+        pop r3
+        pop r2
+        pop r1
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ããã¯ãªã¡ã³ããã
+                                 *  å²ãè¾¼ã¾ããå
+ã®å²ãè¾¼ã¿ãã³ãã©ã¸æ»ã
+                                 */
+        clr1 psw,#7
+        mov r0,_kernel_intnest
+        dec r0
+        mov _kernel_intnest,r0
+        pop r0
+        iret
+
+/*
+ *  ãã¹ããã¦ããªãå²ãè¾¼ã¿ã®å¦ç
+ */
+interrupt_from_task:
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã
+                                 */
+        mov _kernel_intnest,#1
+                                /*
+                                 *  ã¹ã¿ãã¯ãéã¿ã¹ã¯ç¨ã«åãæ¿ããä¸ä½
+                                 *  å²ãè¾¼ã¿ãè¨±å¯
+                                 */
+        mov r1,sp
+        mov sp,#__stack
+        set1 psw,#7
+                                /*
+                                 *  r3-r9(caller saved register)ã
+                                 *  ã¿ã¹ã¯å´ã¹ã¿ãã¯ã«éé¿
+                                 */
+        mov (r1++),r3
+        mov (r1++),r4
+        mov (r1++),r5
+        mov (r1++),r6
+        mov (r1++),r7
+        mov r3,r8
+        mov (r1++),r3
+        mov r3,r9
+        mov (r1++),r3
+                                /*
+                                 *  ã¿ã¹ã¯å´ã¹ã¿ãã¯ãã¤ã³ã¿ãå²ãè¾¼ã¿ç¨
+                                 *  ã¹ã¿ãã¯ã«éé¿
+                                 */
+        push r1
+                                /*
+                                 *  å²ãè¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+                                 */
+        mov r1,(r0)
+        bz 1f
+        mov r8,#0
+        call r8,r1
+1:
+                                /*
+                                 *  å²ãè¾¼ã¿ãç¦æ­¢
+                                 */
+        clr1 psw,#7
+
+/*
+ *  å²ãè¾¼ã¿ãä¾å¤å
+±éã®åºå£å¦ç
+ */
+ret_int_and_exc:
+                                /*
+                                 *  ã¿ã¹ã¯ç¨ã¹ã¿ãã¯ã«æ»ã
+                                 */
+        pop r1
+        mov sp,r1
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ããã¯ãªã¡ã³ã
+                                 */
+        mov _kernel_intnest,#0
+                                /*
+                                 *  reqflgããã§ãã¯ããFALSEãªããå
+ã®
+                                 *  ã¿ã¹ã¯ã«æ»ãå¦çã«ã¸ã£ã³ã
+                                 */
+        mov r0,#_kernel_reqflg
+        mov r1,(r0)
+        bz ret_to_task_int
+
+/*
+ *  å²ãè¾¼ã¿ä¸­ã«ã¿ã¹ã¯ã®åãæ¿ãè¦æ±ãçºçããå ´åã®å¦ç
+ */
+                                /*
+                                 *  reqflgãã¯ãªã¢
+                                 */
+        mov r1,#0
+        mov (r0),r1
+                                /*
+                                 *  ãã£ã¹ãããç¦æ­¢ããruntsk=schedtsk
+                                 *  ãªããå
+ã®ã¿ã¹ã¯ã«æ»ãå¦çã¸
+                                 */
+        mov r0,#_kernel_enadsp
+        mov r1,(r0)
+        bz ret_int_1
+        mov r0,#_kernel_runtsk
+        mov r1,(r0)
+        mov r2,#_kernel_schedtsk
+        mov r3,(r2)
+        bz r1,r3,ret_int_1
+                                /*
+                                 *  ã¿ã¹ã¯ã®åãæ¿ãã®ãããr10-13/spãéé¿
+                                 */
+        push r10
+        push r11
+        push r12
+        push r13
+        mov r7,sp
+        mov (r1,+TCB_sp),r7             /* r1 points runtsk */
+                                /*
+                                 *  mode=1(ret_int_rã«æ»ã)ãè¨­å®ã
+                                 *  ãã£ã¹ãããã£ã¸
+                                 */
+        mov r7,#1
+        mov (r1,+TCB_mode),r7
+        br dispatcher
+
+/*
+ *  å²ãè¾¼ã¿ä¸­ã®ãã£ã¹ãããããã®å¾©å¸°å¦ç
+ */
+ret_int_r:
+
+                                /*
+                                 *  r10-13ãå¾©å
+
+                                 */
+        pop r13
+        pop r12
+        pop r11
+        pop r10
+
+/*
+ *  å
+ã®ã¿ã¹ã¯ã«æ»ãå¦ç
+ */
+ret_int_1:
+        mov r0,#_kernel_runtsk
+        mov r1,(r0)
+                                /*
+                                 *  ã¿ã¹ã¯ä¾å¤ãã³ãã©è¨±å¯ã®ãã§ãã¯
+                                 */
+        mov.b r7,(r1,+TCB_enatex)
+        bn r7,#TCB_enatex_bit,ret_to_task_int
+                                /*
+                                 *  ã¿ã¹ã¯ä¾å¤çºçã®ãã§ãã¯
+                                 */
+        mov r7,(r1,+TCB_texptn)
+        bz ret_to_task_int
+                                /*
+                                 *  ã¿ã¹ã¯ä¾å¤ãã³ãã©ã®å¼ã³åºã
+                                 */
+        callf _kernel_call_texrtn
+                                /*
+                                 *  r0-r9ãå¾©å
+ããå
+ã®ã¿ã¹ã¯ã«æ»ã
+                                 */
+ret_to_task_int:
+        pop r9
+        pop r8
+        pop r7
+        pop r6
+        pop r5
+        pop r4
+        pop r3
+        pop r2
+        pop r1
+        pop r0
+        iret
+
+/*
+ *  ä¾å¤ãã³ãã©å
+¥ãå£
+ */
+        .global _kernel_int_irq_ex
+_kernel_int_irq_ex:
+        push r0
+                                /*
+                                 *  UARTä¾å¤ã¯å²ãè¾¼ã¿ã¨ãã¦å¦ç
+                                 */
+        bn __U0CR,#0,1f                 /* UART0 RxRdy */
+        bn __U0CR,#1,1f
+        mov r0,#_kernel_ih_table+32
+        br _int_common
+1:
+        bn __U0CR,#2,2f                 /* UART0 TxEmpty */
+        bn __U0CR,#3,2f
+        mov r0,#_kernel_ih_table+32
+        br _int_common
+2:
+        bn __U1CR,#0,3f                 /* UART1 RxRdy */
+        bn __U1CR,#1,3f
+        mov r0,#_kernel_ih_table+32
+        br _int_common
+3:
+        bn __U1CR,#2,4f                 /* UART1 TxEmpty */
+        bn __U1CR,#3,4f
+        mov r0,#_kernel_ih_table+32
+        br _int_common
+4:
+                                /*
+                                 *  r1,r2ãéé¿ããr2ã«ä¾å¤çºçæã®SPãè¨­å®
+                                 *  (ä¾å¤ãã³ãã©ã¸ã®å¼æ°)
+                                 */
+        push r1
+        push r2
+        mov r2,sp
+        sub r2,#6
+                                /*
+                                 *  çºçããä¾å¤ãå¤å®/ã¯ãªã¢ãã
+                                 */
+        bn __EXCPL,#1,5f                /* undefined instruction */
+        set1 psw,#11
+        clr1 __EXCPL,#1
+        clr1 psw,#11
+        mov r0,#_kernel_eh_table+0
+        br _exc_common
+5:
+        bn __EXCPL,#3,6f                /* word access to odd address */
+        set1 psw,#11
+        clr1 __EXCPL,#3
+        clr1 psw,#11
+        mov r0,#_kernel_eh_table+2
+        br _exc_common
+6:
+        bn __EXCPL,#5,7f                /* acccess out of mamoey range */
+        set1 psw,#11
+        clr1 __EXCPL,#5
+        clr1 psw,#11
+        mov r0,#_kernel_eh_table+4
+        br _exc_common
+7:
+        mov r0,#_kernel_eh_table+6      /* unknown exception */
+        br _exc_common
+
+/*
+ *  ä¾å¤ãã³ãã©å
+¥ãå£å¦ç
+ */
+_exc_common:
+                                /*
+                                 *  ãã¹ãããä¾å¤ãã©ãããã§ãã¯
+                                 *  (ä¾å¤ã¯ãä»ã®å²ãè¾¼ã¿ã«ãã¹ãããã
+                                 *  ãã¨ã¯ç¡ãã®ã§ãå²ãè¾¼ã¿ç¦æ­¢å¦çã¯
+                                 *  ä¸è¦)
+                                 */
+        mov r1,_kernel_intnest
+        bz exception_from_task
+
+/*
+ *  ãã¹ãããä¾å¤ã®å¦ç
+ */
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã
+                                 */
+        inc r1
+        mov _kernel_intnest,r1
+                                /*
+                                 *  r3-r9(caller saved register)ã®éé¿
+                                 */
+        push r3
+        push r4
+        push r5
+        push r6
+        push r7
+        push r8
+        push r9
+                                /*
+                                 *  ä¾å¤ãã³ãã©ã®å¼ã³åºã
+                                 */
+        mov r1,(r0)
+        bz 1f
+        mov r8,#0
+        call r8,r1
+1:
+                                /*
+                                 *  r1-r9ã®å¾©å
+
+                                 */
+        pop r9
+        pop r8
+        pop r7
+        pop r6
+        pop r5
+        pop r4
+        pop r3
+        pop r2
+        pop r1
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ããã¯ãªã¡ã³ããã
+                                 *  å²ãè¾¼ã¾ããå
+ã®å²ãè¾¼ã¿ãã³ãã©ã¸æ»ã
+                                 */
+        mov r0,_kernel_intnest
+        dec r0
+        mov _kernel_intnest,r0
+        pop r0
+        iret
+
+/*
+ *  ãã¹ããã¦ããªãä¾å¤ã®å¦ç
+ */
+exception_from_task:
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ã
+                                 */
+        mov _kernel_intnest,#1
+                                /*
+                                 *  ã¹ã¿ãã¯ãéã¿ã¹ã¯ç¨ã«åãæ¿ãã
+                                 */
+        mov r1,sp
+        mov sp,#__stack
+                                /*
+                                 *  r3-r9(caller saved register)ã
+                                 *  ã¿ã¹ã¯å´ã¹ã¿ãã¯ã«éé¿
+                                 */
+        mov (r1++),r3
+        mov (r1++),r4
+        mov (r1++),r5
+        mov (r1++),r6
+        mov (r1++),r7
+        mov r3,r8
+        mov (r1++),r3
+        mov r3,r9
+        mov (r1++),r3
+                                /*
+                                 *  ã¿ã¹ã¯å´ã¹ã¿ãã¯ãã¤ã³ã¿ãå²ãè¾¼ã¿ç¨
+                                 *  ã¹ã¿ãã¯ã«éé¿
+                                 */
+        push r1
+                                /*
+                                 *  ä¾å¤ãã³ãã©ã®å¼ã³åºã
+                                 */
+        mov r1,(r0)
+        bz 1f
+        mov r8,#0
+        call r8,r1
+1:
+                                /*
+                                 *  å²ãè¾¼ã¿ã»ä¾å¤å
+±éåºå£å¦çã¸
+                                 */
+        br ret_int_and_exc
+
+/*
+ *  exit_and_dispatch()
+ *  å
+ã®ã³ã³ãã­ã¹ããä¿å­ããæ°ããã¿ã¹ã¯ã¸åãæ¿ãã
+ *  (ã«ã¼ãã«éå§å¾æåã®ã¿ã¹ã¯ã®èµ·åãå«ã)
+ */
+        .global _kernel_exit_and_dispatch
+_kernel_exit_and_dispatch:
+                                /*
+                                 *  ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢
+                                 *  (ã«ã¼ãã«éå§ç´å¾ç­ãåã«å®è¡ããã¦ãã
+                                 *  ã¿ã¹ã¯ãç¡ãå ´åãéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+                                 *  å®è¡ä¸­ãç¤ºãããããã¹ãã«ã¦ã³ã¿ã¯1ã«
+                                 *  ãªã£ã¦ããããããã¯ãªã¢)
+                                 */
+        mov _kernel_intnest,#0
+                                /*
+                                 *  ãã£ã¹ãããã£ã§ã¸ã£ã³ã
+                                 */
+        br dispatcher
+
+/*
+ *  dispatch()
+ *  å
+ã®ã³ã³ãã­ã¹ããä¿å­ãæ°ããã¿ã¹ã¯ã¸åãæ¿ãã
+ */
+        .global _kernel_dispatch
+_kernel_dispatch:
+                                /*
+                                 *  r10-r14(callee-saved egister)ãä¿å­
+                                 */
+        push r10
+        push r11
+        push r12
+        push r13
+        push psw
+                                /*
+                                 *  SPãruntsk->tskctxb.spã«ä¿å­
+                                 */
+        mov r0,#_kernel_runtsk
+        mov r1,(r0)
+        mov r7,sp
+        mov (r1,+TCB_sp),r7
+                                /*
+                                 *  mode=0(dispatch_rã«æ»ã)ãè¨­å®ã
+                                 *  ãã£ã¹ãããã£ã¸
+                                 */
+        mov r7,#0
+        mov (r1,+TCB_mode),r7
+        br dispatcher
+
+/*
+ *  dispatch()ããã®æ»ãå¦ç
+ *  (r3ã¯TCBãç¤ºã)
+ */
+dispatch_r:
+                                /*
+                                 *  r10-r14(callee-saved egister)ãå¾©å
+
+                                 */
+        pop psw
+        pop r13
+        pop r12
+        pop r11
+        pop r10
+                                /*
+                                 *  ã¿ã¹ã¯ä¾å¤ããã§ãã¯ããè¨±å¯&
+                                 *  ä¾å¤ãããªãå¼ã³åºã
+                                 */
+        mov.b r7,(r3,+TCB_enatex)
+        bn r7,#TCB_enatex_bit,1f
+        mov r7,(r3,+TCB_texptn)
+        bz 1f
+        jmpf _kernel_call_texrtn
+1:
+                                /*
+                                 *  dispatch()ãå¼ãã ã¿ã¹ã¯ã«æ»ã
+                                 */
+        ret
+
+/*
+ *  create_context()/activate_context()
+ *  æ°ããã¿ã¹ã¯ã®èµ·åå¦ç
+ *  (r2ã¯TCBãç¤ºã)
+ */
+        .global _kernel_create_context
+_kernel_create_context:
+        ret
+
+        .global _kernel_activate_context
+_kernel_activate_context:
+                                /*
+                                 *  ã¹ã¿ãã¯ãã¤ã³ã¿ãåæå
+                                 *  tcb->tskctxb.sp=tcb->tinib->stk
+                                 */
+        mov r0,(r2,+TCB_tinib)
+        mov r1,(r0,+TINIB_stk)
+        mov (r2,+TCB_sp),r1
+                                /*
+                                 *  mode=2(activate_rã«æ»ã)ãè¨­å®
+                                 */
+        mov r1,#2
+        mov (r2,+TCB_mode),r1
+        ret
+
+/*
+ *  activate_context()ãããã¿ã¹ã¯ã®èµ·åå¦ç
+ *  (r3ã¯TCBãç¤ºã)
+ */
+activate_r:
+                                /*
+                                 *  ã¿ã¹ã¯ãreturnã§çµäºããã¨ãã«ã
+                                 *  ext_tsk()ãå¼ã°ãããããããã
+                                 *  ã¹ã¿ãã¯ã«ç©ã
+                                 */
+        mov r1,#@lo(ext_tsk)
+        push r1
+        mov r2,#@hi(ext_tsk)
+        push r2
+                                /*
+                                 *  ã¿ã¹ã¯éå§ã¢ãã¬ã¹ãã¹ã¿ãã¯ã«ç©ã
+                                 */
+        mov r0,(r3,+TCB_tinib)
+        mov r1,(r0,+TINIB_task)
+        push r1
+        mov r2,#0
+        push r2
+                                /*
+                                 *  PSWåæå¤ãã¹ã¿ãã¯ã«ç©ã
+                                 */
+        mov r1,#0x0080
+        push r1
+                                /*
+                                 *  r2=exinf
+                                 */
+        mov r2,(r0,+TINIB_exinf)
+                                /*
+                                 *  ã¿ã¹ã¯èµ·å
+                                 */
+        iret
+
+/*
+ *  ãã£ã¹ãããã£ã¼
+ */
+dispatcher:
+                                /*
+                                 *  runtsk = schedtsk
+                                 */
+        mov r2,#_kernel_schedtsk
+        mov r3,(r2)
+        mov r0,#_kernel_runtsk
+        mov (r0),r3
+                                /*
+                                 *  schedtsk = NULL(å®è¡å¯è½ãªã¿ã¹ã¯ç¡ã)
+                                 *  ã®å ´åãã¢ã¤ãã«å¦çã¸
+                                 */
+        bz dispatcher_1
+                                /*
+                                 *  SPãå¾©å
+
+                                 */
+        mov r7,(r3,+TCB_sp)
+        mov sp,r7
+                                /*
+                                 *  modeã«ãããã£ã¦ã
+                                 *   =0 : dispatch_r
+                                 *   =1 : ret_int_r
+                                 *   =2 : activate_r
+                                 */
+        mov r7,(r3,+TCB_mode)
+        bz dispatch_r
+        bz r7,#1,ret_int_r
+        br activate_r
+
+/*
+ *  ã¢ã¤ãã«å¦ç(å®è¡å¯è½ã¿ã¹ã¯ç¡ã)
+ */
+dispatcher_1:
+                                /*
+                                 *  ã¹ã¿ãã¯ãéã¿ã¹ã¯ç¨ã«åãæ¿ãã
+                                 */
+        mov sp,#__stack
+                                /*
+                                 *  éã¿ã¹ã¯ãç¤ºãããã«
+                                 *  ãã¹ãã«ã¦ã³ã¿ã«1ãã»ãã
+                                 */
+        mov _kernel_intnest,#1
+                                /*
+                                 *  ã¿ã¹ã¯å®è¡å¯è½å¾
+ã¡ã®ã«ã¼ã
+                                 */
+dispatcher_2:
+                                /*
+                                 *  å²ãè¾¼ã¿ã¬ãã«ã0ã«(IL=0)
+                                 */
+        mov psw,#0x0000
+                                /*
+                                 *  ã¢ã¤ãã«ã«ã¼ãã³ãå¼ã³åºã
+                                 */
+        callf _kernel_idle
+                                /*
+                                 *  ã¿ã¹ã¯ãå®è¡å¯è½ã«ãªã£ããã®ãã§ãã¯
+                                 *  (reqflg=1?)
+                                 */
+        mov r0,#_kernel_reqflg
+        mov r1,(r0)
+        bz dispatcher_2
+                                /*
+                                 *  reqflgã¨ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¢ãã
+                                 *  ãã£ã¹ãããã£ã«æ»ã
+                                 */
+        mov r1,#0
+        mov (r0),r1
+        mov _kernel_intnest,#0
+        br dispatcher
+
+/*
+ *  ããã©ã«ãã®ã¢ã¤ãã«ã«ã¼ãã³
+ */
+        .weak _kernel_idle
+_kernel_idle:
+                                /*
+                                 *  å²ãè¾¼ã¿ãè¨±å¯
+                                 */
+        set1 psw,#7
+                                /*
+                                 *  å²ãè¾¼ã¿å¾
+ã¡
+                                 */
+        halt
+                                /*
+                                 *  å²ãè¾¼ã¿ãç¦æ­¢
+                                 */
+        clr1 psw,#7
+        ret
+
+        .end
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/cpu_unrename.h	(revision 26)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/* This file is generated from cpu_rename.def by genrename. */
+
+#ifdef _CPU_UNRENAME_H_
+#undef _CPU_UNRENAME_H_
+
+#undef define_inh
+#undef define_exc
+#undef create_context
+#undef activate_context
+
+#ifdef LABEL_ASM
+
+#undef _define_inh
+#undef _define_exc
+#undef _create_context
+#undef _activate_context
+
+#endif /* LABEL_ASM */
+#endif /* _CPU_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.c	(revision 26)
@@ -0,0 +1,419 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Xstormy16ç¨ï¼
+ */
+
+#include <kernel.h>
+#include <s_services.h>
+#include <hw_serial.h>
+#include <cpu_sfrs.h>
+
+/*
+ *  éåæéä¿¡ã§ã®TxReadyã®ã¿ã¤ã ã¢ã¦ã
+ */
+#define TXREADY_TIMEOUT 400
+
+/*
+ *  SIOPCB*ãã§ãã¯ã®ããã®ãã¸ãã¯å¤
+ */
+#define MAGIC_SIOPCB 0xabcd
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+static SIOPCB siopcb_table[TNUM_PORT] = {
+    { MAGIC_SIOPCB, __U0CR, 0x1400 },
+    { MAGIC_SIOPCB, __U1CR, 0x4800 },
+} ;
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void sio_initialize(void)
+{
+    /* nothing to do here */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *sio_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB* siopcb ;
+    UH uhBase ;
+                                /*
+                                 *  ãªã¼ãã³åºæ¥ããã¼ããã®ãã§ãã¯
+                                 */
+    if ( siopid < 1 || siopid > TNUM_PORT ) return NULL ;
+    siopcb = &siopcb_table[siopid-1] ;
+    if ( siopcb->bNotExist ) return NULL ;
+                                /*
+                                 *  æ¢ã«ãªã¼ãã³æ¸ã¿ã®å ´å
+                                 */
+    if ( siopcb->bOpened ) {
+        siopcb->vpiExinf = exinf ;
+        return siopcb ;
+    }
+                                /*
+                                 *  SIOã®åæåã¨å­å¨ã®ãã§ãã¯
+                                 */
+    uhBase = siopcb->uhBase ;
+    __SFR(uhBase) = __UxCR_RUN|__UxCR_TXEMPTY ;
+    if ( ( __SFR(uhBase) &
+        ( __UxCR_RUN|__UxCR_BAUDRATE|__UxCR_PARITY|__UxCR_TXIE|
+        __UxCR_RXIE) ) != __UxCR_RUN ) {
+        siopcb->bNotExist = TRUE ;
+        return NULL ;
+    }
+                                /*
+                                 *  ç®¡çãã¼ãã«ã®åæå
+                                 */
+    siopcb->vpiExinf = exinf ;
+    siopcb->bOpened = TRUE ;
+    siopcb->bTxIe = FALSE ;
+    siopcb->bRxIe = FALSE ;
+    siopcb->bLastIsCr = FALSE ;
+                                /*
+                                 *  å²ãè¾¼ã¿ãã³ãã©ã®ç»é²ã¨è¨±å¯
+                                 */
+    define_inh( INHNO_SIO, sio_handler ) ;
+    __UNLOCK_EXCP() ;
+    __SFRW(__EXCPL) |= siopcb->uhExcpMask ;
+    __LOCK_EXCP() ;
+    return siopcb ;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void sio_cls_por(SIOPCB *siopcb)
+{
+                                /*
+                                 *  ã¯ã­ã¼ãºåºæ¥ããã¼ããã®ãã§ãã¯
+                                 */
+    if ( !siopcb || siopcb->uhMagic != MAGIC_SIOPCB ||
+        siopcb->bNotExist || !siopcb->bOpened ) return ;
+                                /*
+                                 *  ç®¡çãã¼ãã«ã®å¤æ´
+                                 */
+    siopcb->bOpened = FALSE ;
+                                /*
+                                 *  å²ãè¾¼ã¿ã®ç¦æ­¢
+                                 */
+    __UNLOCK_EXCP() ;
+    __SFRW(__EXCPL) &= ~siopcb->uhExcpMask ;
+    __LOCK_EXCP() ;
+                                /*
+                                 *  SIOã®åæ­¢
+                                 */
+    __SFR(siopcb->uhBase) = 0 ;
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+void sio_handler(void)
+{
+                                /*
+                                 *  å
+¨ã¦ã®ãã¼ãã«ã¤ãã¦ãã§ãã¯
+                                 */
+    ID portid ;
+    for ( portid = 0 ; portid < TNUM_PORT ; portid++ ) {
+        SIOPCB *siopcb = &siopcb_table[portid] ;
+        UH uhBase = siopcb->uhBase ;
+                                /*
+                                 *  éä¿¡å®äºå²ãè¾¼ã¿ã
+                                 */
+        if ( ( __SFR(uhBase) & ( __UxCR_TXIE | __UxCR_TXEMPTY ) ) ==
+            ( __UxCR_TXIE | __UxCR_TXEMPTY ) ) {
+            sio_ierdy_snd( siopcb->vpiExinf ) ;
+        }
+                                /*
+                                 *  åä¿¡å²ãè¾¼ã¿ã
+                                 */
+        if ( ( __SFR(uhBase) & ( __UxCR_RXIE | __UxCR_RXREADY ) ) ==
+            ( __UxCR_RXIE | __UxCR_RXREADY ) ) {
+            sio_ierdy_rcv( siopcb->vpiExinf ) ;
+        }
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL sio_snd_chr(SIOPCB *siopcb, char c)
+{
+    UH uhBase ;
+                                /*
+                                 *  æå¹ãªãã¼ããã©ããã®ãã§ãã¯
+                                 */
+    if ( !siopcb || siopcb->uhMagic != MAGIC_SIOPCB ||
+        siopcb->bNotExist || !siopcb->bOpened ) return FALSE ;
+    uhBase = siopcb->uhBase ;
+                                /*
+                                 *  éä¿¡å¯è½ãã©ããã®ãã§ãã¯
+                                 */
+    if ( ! ( __SFR(uhBase) & __UxCR_TXEMPTY ) ) return FALSE ;
+                                /*
+                                 *  éä¿¡ãã¼ã¿ã®æ¸ãè¾¼ã¿
+                                 */
+    __SFRW(uhBase+4) = __UxTX_STOPBIT | c ;
+    return TRUE ;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT sio_rcv_chr(SIOPCB *siopcb)
+{
+    UH uhBase ;
+                                /*
+                                 *  æå¹ãªãã¼ããã©ããã®ãã§ãã¯
+                                 */
+    if ( !siopcb || siopcb->uhMagic != MAGIC_SIOPCB ||
+        siopcb->bNotExist || !siopcb->bOpened ) return -1 ;
+    uhBase = siopcb->uhBase ;
+                                /*
+                                 *  åä¿¡ãã¼ã¿æç¡ã®ãã§ãã¯
+                                 */
+    if ( ! ( __SFR(uhBase) & __UxCR_RXREADY ) ) return -1 ;
+                                /*
+                                 *  åä¿¡ãã¼ã¿ã®åãåºã
+                                 */
+    return __SFRW(uhBase+2) & 0xff ;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    UH uhBase ;
+                                /*
+                                 *  æå¹ãªãã¼ããã©ããã®ãã§ãã¯
+                                 */
+    if ( !siopcb || siopcb->uhMagic != MAGIC_SIOPCB ||
+        siopcb->bNotExist || !siopcb->bOpened ) return ;
+    uhBase = siopcb->uhBase ;
+                                /*
+                                 *  éä¿¡å²ãè¾¼ã¿ã®è¨±å¯
+                                 */
+    if ( cbrtn == SIO_ERDY_SND ) {
+        __SFR(uhBase) |= __UxCR_TXIE ;
+        siopcb->bTxIe = TRUE ;
+    }
+                                /*
+                                 *  åä¿¡å²ãè¾¼ã¿ã®è¨±å¯
+                                 */
+    if ( cbrtn == SIO_ERDY_RCV ) {
+        __SFR(uhBase) |= __UxCR_RXIE ;
+        siopcb->bRxIe = TRUE ;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    UH uhBase ;
+                                /*
+                                 *  æå¹ãªãã¼ããã©ããã®ãã§ãã¯
+                                 */
+    if ( !siopcb || siopcb->uhMagic != MAGIC_SIOPCB ||
+        siopcb->bNotExist || !siopcb->bOpened ) return ;
+    uhBase = siopcb->uhBase ;
+                                /*
+                                 *  éä¿¡å²ãè¾¼ã¿ã®ç¦æ­¢
+                                 */
+    if ( cbrtn == SIO_ERDY_SND ) {
+        __SFR(uhBase) &= ~__UxCR_TXIE ;
+        siopcb->bTxIe = FALSE ;
+    }
+                                /*
+                                 *  åä¿¡å²ãè¾¼ã¿ã®ç¦æ­¢
+                                 */
+    if ( cbrtn == SIO_ERDY_RCV ) {
+        __SFR(uhBase) &= ~__UxCR_RXIE ;
+        siopcb->bRxIe = FALSE ;
+    }
+}
+
+/*
+ *  ããã©ã«ãã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+void sio_ierdy_snd(VP_INT exinf) __attribute__((__weak__)) ;
+void sio_ierdy_snd(VP_INT exinf)
+{
+}
+
+/*
+ *  ããã©ã«ãã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+void sio_ierdy_rcv(VP_INT exinf) __attribute__((__weak__)) ;
+void sio_ierdy_rcv(VP_INT exinf)
+{
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®éåææå­åºå
+ */
+void sio_asnd_chr( INT c )
+{
+    SIOPCB* siopcb ;
+    UH uhBase ;
+    int i ;
+                                /*
+                                 *  CPUã­ãã¯ç¶æ
+ã«ãã
+                                 */
+    BOOL bLocked ;
+    if ( sns_loc() ) bLocked = TRUE ;
+    else {
+        bLocked = FALSE ;
+        if ( sns_ctx() ) iloc_cpu() ;
+        else loc_cpu() ;
+    }
+                                /*
+                                 *  éåæç¨ãã¼ããéã
+                                 */
+    if ( ( siopcb = sio_opn_por( LOGTASK_PORTID,
+        siopcb_table[LOGTASK_PORTID-1].vpiExinf ) ) != NULL ) {
+        uhBase = siopcb->uhBase ;
+                                /*
+                                 *  LFãªãã¾ãCRãéåº
+                                 */
+        if ( c == '\n' ) {
+            for ( i = 0 ; i < TXREADY_TIMEOUT ; i++ ) {
+                if ( __SFR(uhBase) & __UxCR_TXEMPTY ) break ;
+            }
+            if ( i < TXREADY_TIMEOUT ) {
+                __SFRW(uhBase+4) = __UxTX_STOPBIT | '\r' ;
+            }
+        }
+                                /*
+                                 *  ãã¼ã¿éåº
+                                 */
+        for ( i = 0 ; i < TXREADY_TIMEOUT ; i++ ) {
+            if ( __SFR(uhBase) & __UxCR_TXEMPTY ) break ;
+        }
+        if ( i < TXREADY_TIMEOUT ) {
+            __SFRW(uhBase+4) = __UxTX_STOPBIT | c ;
+        }
+    }
+                                /*
+                                 *  CPUã­ãã¯ãå
+ã«æ»ã
+                                 */
+    if ( !bLocked ) {
+        if ( sns_ctx() ) iunl_cpu() ;
+        else unl_cpu() ;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éåææå­å
+¥å
+ */
+INT sio_arcv_chr( void )
+{
+    SIOPCB* siopcb ;
+    UH uhBase ;
+    INT c = -1 ;
+                                /*
+                                 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ã¿ä½¿ç¨å¯
+                                 */
+    if ( sns_ctx() || sns_loc() || sns_dsp() ) return -1 ;
+                                /*
+                                 *  CPUã­ãã¯ç¶æ
+ã«ãã
+                                 */
+    loc_cpu() ;
+                                /*
+                                 *  éåæç¨ãã¼ããéã
+                                 */
+    if ( ( siopcb = sio_opn_por( LOGTASK_PORTID,
+        siopcb_table[LOGTASK_PORTID-1].vpiExinf ) ) != NULL ) {
+        uhBase = siopcb->uhBase ;
+                                /*
+                                 *  åä¿¡å¾
+ã¡
+                                 */
+        while(1) {
+            if ( __SFR(uhBase) & __UxCR_RXREADY ) {
+                c = __SFRW(uhBase+2) & 0xff ;
+                if ( c == '\r' ) {
+                    c = '\n' ;
+                    siopcb->bLastIsCr = TRUE ;
+                }
+                else {
+                    if ( c == '\n' && siopcb->bLastIsCr ) c = -1 ;
+                    siopcb->bLastIsCr = FALSE ;
+                }
+            }
+            if ( c != -1 ) break ;
+            unl_cpu() ;
+            dly_tsk( 50 ) ;
+            loc_cpu() ;
+        }
+    }
+                                /*
+                                 *  CPUã­ãã¯ãè§£é¤
+                                 */
+    unl_cpu() ;
+    return c ;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.cfg	(revision 26)
@@ -0,0 +1,58 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  SIOãã©ã¤ãï¼Xstormy16/Simulatorç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("\"hw_serial.h\"");
+DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_serial.h	(revision 26)
@@ -0,0 +1,150 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼Xstprmy16ç¨ï¼
+ */
+
+#ifndef _HW_SERIAL_H_
+#define _HW_SERIAL_H_
+
+#include <s_services.h>
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO   INHNO_UART
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block {
+    const UH uhMagic ;
+    const UH uhBase ;
+    const UH uhExcpMask ;
+    VP_INT vpiExinf ;
+    B bNotExist ;
+    B bOpened ;
+    B bTxIe ;
+    B bRxIe ;
+    B bLastIsCr ;
+} SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void sio_initialize(void) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sio_opn_por(ID siopid, VP_INT exinf) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sio_cls_por(SIOPCB *siopcb) throw() ;
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©
+ */
+extern void sio_handler(void) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL sio_snd_chr(SIOPCB *siopcb, char c) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT sio_rcv_chr(SIOPCB *siopcb) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_snd(VP_INT exinf) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sio_ierdy_rcv(VP_INT exinf) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®éåææå­åºå
+ */
+extern void sio_asnd_chr( INT c ) throw() ;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éåææå­å
+¥å
+ */
+extern INT sio_arcv_chr( void ) throw() ;
+
+#endif /* _HW_SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.c	(revision 26)
@@ -0,0 +1,133 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¤ããã©ã¤ãï¼Xstormy16ç¨ï¼
+ */
+
+#include <kernel.h>
+#include <s_services.h>
+#include <hw_timer.h>
+#include <cpu_sfrs.h>
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+void hw_timer_initialize(void)
+{
+                                /*
+                                 *  ã¿ã¤ã ãã£ãã¯å¨æã®è¨­å®
+                                 */
+    _kernel_tic_nume = 5u ;
+                                /*
+                                 *  å
+èRCçºä¿¡ãç¨ã5msã®å²ãè¾¼ã¿ãçºç
+                                 */
+    __SFR_BITCLR( __OCR0, 4 ) ;         /* start internal-RC                 */
+    __SFRW(__T0LR) = 5000-1 ;           /* Internl-RC is almost 1MHz,        */
+                                        /*  so set 5000-1 for 5ms            */
+    __SFR(__T0PR) = 0 ;                 /* Prescaler = 1/1                   */
+    __SFR(__T0CNT) = 0x0d ;             /* Select internal-RC,               */
+                                        /*  start timer and enable interrupt */
+                                /*
+                                 *  ããã©ã«ãã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãã³ãã©ãç»é²ãã
+                                 */
+    _kernel_define_inh( INHNO_TIMER, hw_timer_handler ) ;
+                                /*
+                                 *  ã¿ã¤ãã¼å²ãè¾¼ã¿ãLevel1ã«è¨­å®
+                                 */
+    __SFR_BITCLR( __IL1L, 5 ) ;
+    __SFR_BITSET( __IL1L, 4 ) ;
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+void hw_timer_int_clear(void)
+{
+    __SFR_BITCLR( __T0CNT, 1 ) ;
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+void hw_timer_terminate(void)
+{
+                                /*
+                                 *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+                                 */
+    __SFR(__T0CNT) = 0x00 ;
+                                /*
+                                 *  ã¿ã¤ãã¼å²ãè¾¼ã¿ãç¦æ­¢
+                                 */
+    __SFR_BITCLR( __IL1L, 5 ) ;
+    __SFR_BITCLR( __IL1L, 4 ) ;
+}
+
+/*
+ *  ããã©ã«ãã®ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ */
+void hw_timer_handler( void )
+{
+                                /*
+                                 *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+                                 */
+    hw_timer_int_clear() ;
+                                /*
+                                 *  ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦
+                                 */
+    isig_tim();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/hw_timer.h	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¤ããã©ã¤ãï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _HW_TIMER_H_
+#define _HW_TIMER_H_
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_TIMER INHNO_TIMER0
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ */
+extern void hw_timer_initialize(void) ;
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+ */
+extern void hw_timer_int_clear(void) ;
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+extern void hw_timer_terminate(void) ;
+
+/*
+ *  ããã©ã«ãã®ã¿ã¤ãã¼å²ãè¾¼ã¿ãã³ãã©ã¼
+ */
+extern void hw_timer_handler( void ) ;
+
+#endif /* _MACRO_ONLY */
+
+#endif /* _HW_TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/offset.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/offset.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/offset.h	(revision 26)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¢ã»ã³ãã©ããCæ§é ä½ã«ã¢ã¯ã»ã¹ããããã®å®æ°
+ */
+
+#define TCB_sp 12
+#define TCB_sp_mask 0xffff
+#define TCB_sp_bit 0
+#define TCB_mode 14
+#define TCB_mode_mask 0xffff
+#define TCB_mode_bit 0
+#define TCB_tinib 4
+#define TCB_tinib_mask 0xffff
+#define TCB_tinib_bit 0
+#define TINIB_stk 10
+#define TINIB_stk_mask 0xffff
+#define TINIB_stk_bit 0
+#define TINIB_task 4
+#define TINIB_task_mask 0xffff
+#define TINIB_task_bit 0
+#define TINIB_exinf 2
+#define TINIB_exinf_mask 0xffff
+#define TINIB_exinf_bit 0
+#define TCB_texptn 8
+#define TCB_texptn_mask 0xffff
+#define TCB_texptn_bit 0
+#define TCB_enatex 7
+#define TCB_enatex_mask 0x40
+#define TCB_enatex_bit 6
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.S	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+#define CHIP_NAME "LC88F0099"
+#define RAM_SIZE 0x7800
+#define ROM_SIZE 0x78000
+#define VRAM_SIZE 0x0000
+#define VRAM_ROW 0
+#define VRAM_COLUMN 0
+#define CGROM_SIZE 0x0000
+#define BCD(x)  (((x)/10)%10)*0x10+((x)%10)
+#define BCD4(x) BCD((x)/100),BCD(x)
+#define BCD6(x) BCD((x)/10000),BCD((x)/100),BCD(x)
+
+/*
+ *  EVAãããã¬ç¨æ©ç¨®å¤å¥æ
+å ±
+ *  (ãã®sectionã¯0x7f00-0x7fffã«ãªã³ã¯ããã)
+ */
+
+        .section .chip_info,"a"
+        .global _chip_info
+_chip_info:
+        .org    0xc0
+        .ascii  "CHIPINFORMATION"               /* C0-CF : fixed string */
+        .org    0xd0
+        .ascii  CHIP_NAME                       /* D0-DF : chip name */
+        .org    0xe0
+        .byte   0x10, 0x00                      /* E0-E1 : format version */
+	.org	0xe8
+        .byte   BCD4(ROM_SIZE/1024)             /* E8-F5 : Memory sizes */
+        .byte   BCD6(RAM_SIZE)
+        .byte   BCD6(VRAM_SIZE)
+        .byte   BCD4(VRAM_ROW)
+        .byte   BCD4(VRAM_COLUMN)
+        .byte   BCD4(CGROM_SIZE/1024)
+	.org	0xf9
+        .byte   0x01                            /* F9 : package type */
+        .space  6, 0x00
+
+/*
+ *  ã¦ã¼ã¶ã¼ãªãã·ã§ã³ã³ã¼ã
+ *  (ãã®sectionã¯0x77f00-0x77fffã«ãªã³ã¯ããã)
+ */
+
+	.section .user_option,"a"
+	.org	0xbc
+	jmpf	0x08000				/* BC-BF : Jump to reset vector */
+	.org	0xd0
+        .ascii  CHIP_NAME                       /* D0-DF : chip name */
+	.org	0xe0
+	.byte   0x02, 0x00			/* E0 : Su script version */
+	.org	0xe8
+        .byte   BCD4(ROM_SIZE/1024)             /* E8-F5 : Memory sizes */
+        .byte   BCD6(RAM_SIZE)
+        .byte   BCD6(VRAM_SIZE)
+        .byte   BCD4(VRAM_ROW)
+        .byte   BCD4(VRAM_COLUMN)
+        .byte   BCD4(CGROM_SIZE/1024)
+	.org	0xf9
+        .byte   0x01                            /* F9 : package type */
+	.space	6, 0x00
+
+        .end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.ld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.ld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/LC88F0099.ld	(revision 26)
@@ -0,0 +1,252 @@
+OUTPUT_FORMAT("elf32-xstormy16", "elf32-xstormy16", "elf32-xstormy16")
+OUTPUT_ARCH(xstormy16)
+ENTRY(_start)
+GROUP( -lc -lgcc -lm -liberty)
+
+INPUT( crti.o )
+INPUT( crtbegin.o )
+INPUT( crtend.o )
+INPUT( crtn.o )
+
+                                /*************************************/
+                                /** memory region definition        **/
+                                /*************************************/
+__malloc_start = 0x7800;
+MEMORY
+{
+    RAM (w)    : ORIGIN = 0x00000, LENGTH = 0x7800
+    CHIP (r)   : ORIGIN = 0x07f00, LENGTH = 0x100
+    ROM (!w)   : ORIGIN = 0x08000, LENGTH = 0x78000
+    BIOS (!w)  : ORIGIN = 0x7FF00+0x100-0x1000, LENGTH = 0x1000
+    BIVEC (!w) : ORIGIN = 0x7FF00-0x100, LENGTH = 0x100
+    OPTION (r) : ORIGIN = 0x7FF00, LENGTH = 0x100
+}
+                                /*************************************/
+                                /** program header definition       **/
+                                /*************************************/
+PHDRS {
+	RAM  PT_LOAD FLAGS(6) ;
+	CHIP PT_LOAD FLAGS(4) ;
+	ROM  PT_LOAD FLAGS(5) ;
+	DROM PT_LOAD FLAGS(6) ;
+	CROM PT_LOAD FLAGS(4) ;
+	PROM PT_LOAD FLAGS(5) ;
+}
+
+SECTIONS
+{
+								/*************************************/
+								/**	.bss_below100 section   		**/
+								/*************************************/
+	.bss_below100 0x0002 (NOLOAD) : {
+		__bss_start = .;
+        *(.bss_below100)
+        *(.bss_below100.*)
+        . = ALIGN(2);
+	} > RAM :RAM
+								/*************************************/
+								/**	.data_below100 section  		**/
+								/*************************************/
+	.data_below100 : AT ( __rdata ) {
+		__data_start = . ;
+        *(.data_0)
+        *(.data_below100)
+        *(.data_below100.*)
+        . = ALIGN(2);
+	} > RAM :DROM =0
+                                /*************************************/
+                                /** .data section                   **/
+                                /*************************************/
+    .data : AT ( __rdata + SIZEOF(.data_below100) ) {
+        *(.data)
+        *(.data.*)
+        *(.gnu.linkonce.d.*)
+        SORT(CONSTRUCTORS)
+        . = ALIGN(2);
+		__data_end = . ;
+    } > RAM :DROM =0
+                                /*************************************/
+                                /** .bss section                    **/
+                                /*************************************/
+    .bss (NOLOAD) : {
+        *(.dynbss)
+        *(.bss)
+        *(.bss.*)
+        *(.gnu.linkonce.b.*)
+        *(COMMON)
+        . = ALIGN(2);
+		__bss_end = .;
+    } > RAM :RAM
+    _end = .;
+                                /*************************************/
+                                /** define top of stack             **/
+                                /*************************************/
+    __stack = .;
+                                /*************************************/
+                                /** sections for target chip info   **/
+                                /*************************************/
+    .chip_info : {
+        KEEP(*(.chip_info))
+    } > CHIP :CHIP =0
+                                /*************************************/
+                                /** reset/interrupt vectors at 8000 **/
+                                /*************************************/
+    .int_vec : {
+        KEEP(*(.int_vec))
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** read only section               **/
+                                /*************************************/
+    .rodata : {
+        *(.rodata)
+        *(.rodata.*)
+        *(.gnu.linkonce.r.*)
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** construcrtors/destructors       **/
+                                /*************************************/
+    .ctors : {
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*(.ctors))
+    } > ROM :ROM =0
+   .dtors : {
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*(.dtors))
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** stab for the pointer to function**/
+                                /*************************************/
+    .plt : {
+        *(.plt)
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** other information               **/
+                                /*************************************/
+    .jcr : {
+        KEEP (*(.jcr))
+    } > ROM :ROM =0
+    .eh_frame : {
+        KEEP (*(.eh_frame))
+    } > ROM :ROM =0
+    .gcc_except_table : {
+        KEEP (*(.gcc_except_table))
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** .text section                   **/
+                                /*************************************/
+    .text : {
+        *(.text)
+        *(.text.*)
+        *(.stub)
+        *(.gnu.warning)
+        *(.gnu.linkonce.t.*)
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** .init/.fini section             **/
+                                /*************************************/
+    .init : {
+        KEEP (*crti.o(.init))
+        KEEP (*(EXCLUDE_FILE (*crtn.o ) .init))
+        KEEP (*(SORT(.init.*)))
+        KEEP (*(.init))
+    } > ROM :ROM =0
+    .fini : {
+        KEEP (*crti.o(.fini))
+        KEEP (*(EXCLUDE_FILE (*crtn.o ) .fini))
+        KEEP (*(SORT(.fini.*)))
+        KEEP (*(.fini))
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** external data                   **/
+                                /*************************************/
+    .ex_data : {
+        *(.ex_data)
+    } > ROM :ROM =0
+                                /*************************************/
+                                /** initialize value for .data      **/
+                                /*************************************/
+    .data_init (NOLOAD) : {
+        __rdata = . ;
+		. += SIZEOF(.data_below100) ;
+        . += SIZEOF(.data) ;
+    } > ROM
+                                /*************************************/
+                                /** CG-ROM                          **/
+                                /*************************************/
+    .cg_rom ALIGN(256) : {
+        KEEP(*(.cg_rom))
+    } > ROM :CROM =0
+								/*************************************/
+								/**	unused ROM area 				**/
+								/*************************************/
+	__etext = .;
+	__erom = 0x7FF00+0x100-0x1000;
+                                /*************************************/
+                                /** .data section for BIOS          **/
+                                /*************************************/
+    .bios_data 0 : {
+        *(.bios.data)
+        *(.bios.data.*)
+    }
+                                /*************************************/
+                                /** .text section for BIOS          **/
+                                /*************************************/
+    .bios_text 0x7FF00+0x100-0x1000 : {
+        *(.bios.text)
+        *(.bios.text.*)
+    } > BIOS :PROM =0
+                                /*************************************/
+                                /** .text section for Vector for BIOS*/
+                                /*************************************/
+    .bios_vect 0x7FF00-0x100 : {
+        KEEP(*(.bios.vect))
+    } > BIVEC :PROM =0
+                                /*************************************/
+                                /** sections for user option data   **/
+                                /*************************************/
+    .user_option 0x7FF00 : {
+        KEEP(*(.user_option))
+    } > OPTION :PROM =0
+                                /*************************************/
+                                /** Stab debugging sections         **/
+                                /*************************************/
+    .stab 0 : { *(.stab) }
+    .stabstr 0 : { *(.stabstr) }
+    .stab.excl 0 : { *(.stab.excl) }
+    .stab.exclstr 0 : { *(.stab.exclstr) }
+    .stab.index 0 : { *(.stab.index) }
+    .stab.indexstr 0 : { *(.stab.indexstr) }
+    .comment 0 : { *(.comment) }
+                                /*************************************/
+                                /** DWARF debug sections            **/
+                                /*************************************/
+    /* Symbols in the DWARF debugging sections are relative to the beginning
+     of the section so we begin them at 0.  */
+    /* DWARF 1 */
+    .debug 0 : { *(.debug) }
+    .line 0 : { *(.line) }
+    /* GNU DWARF 1 extensions */
+    .debug_srcinfo 0 : { *(.debug_srcinfo) }
+    .debug_sfnames 0 : { *(.debug_sfnames) }
+    /* DWARF 1.1 and DWARF 2 */
+    .debug_aranges 0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+    /* DWARF 2 */
+    .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+    .debug_abbrev 0 : { *(.debug_abbrev) }
+    .debug_line 0 : { *(.debug_line) }
+    .debug_frame 0 : { *(.debug_frame) }
+    .debug_str 0 : { *(.debug_str) }
+    .debug_loc 0 : { *(.debug_loc) }
+    .debug_macinfo  0 : { *(.debug_macinfo) }
+    .debug_ranges   0 : { *(.debug_ranges) }
+    /* SGI/MIPS DWARF 2 extensions */
+    .debug_weaknames 0 : { *(.debug_weaknames) }
+    .debug_funcnames 0 : { *(.debug_funcnames) }
+    .debug_typenames 0 : { *(.debug_typenames) }
+    .debug_varnames  0 : { *(.debug_varnames) }
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/Makefile.config
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/Makefile.config	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/Makefile.config	(revision 26)
@@ -0,0 +1,77 @@
+# 
+#   TOPPERS/JSP Kernel
+#       Toyohashi Open Platform for Embedded Real-Time Systems/
+#       Just Standard Profile Kernel
+#  
+#   Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+#                               Toyohashi Univ. of Technology, JAPAN
+#   Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+#               Graduate School of Information Science, Nagoya Univ., JAPAN
+#  
+#   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+#   åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+#       è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+#       ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+#       ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+#       ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+#       è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+#       ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+#     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+#         æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+#         åãããã¨ï¼
+#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+#       ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+#       æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+#       ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+#   ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+#   ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+#   ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+#   ããªãï¼
+#
+
+#
+#   Makefile ã®ã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ï¼Xstormy16ç¨ï¼
+#
+
+CHIP_NAME = LC88F0099
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+COPTS := $(COPTS)
+LDFLAGS := $(LDFLAGS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) $(CHIP_NAME).o
+KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+#
+#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#
+LDSCRIPT = $(CPU)/$(SYS)/$(CHIP_NAME).ld
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.c	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ */
+
+#include "jsp_kernel.h"
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+void
+sys_initialize(void)
+{
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+void
+sys_exit(void)
+{
+                                /*
+                                 *  ãã­ã°ã©ã ã®åæ­¢
+                                 */
+    while( 1 ) {
+        __BREAKPOINT() ;
+    }
+}
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ç°å¸¸çµäº
+ */
+void
+kernel_abort(void)
+{
+                                /*
+                                 *  ãã­ã°ã©ã ã®åæ­¢
+                                 */
+    while( 1 ) {
+        __BREAKPOINT() ;
+    }
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_config.h	(revision 26)
@@ -0,0 +1,93 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_config.h ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef _SYS_CONFIG_H_
+#define _SYS_CONFIG_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include <sys_rename.h>
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define TARGET_NAME "Xstormy16-simulator"
+
+/*
+ *  vxget_tim ããµãã¼ããããã©ããã®å®ç¾©
+ */
+#undef  SUPPORT_VXGET_TIM
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void sys_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ */
+extern void sys_exit(void);
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_defs.h	(revision 26)
@@ -0,0 +1,74 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã«ä¾å­ããå®ç¾©ï¼Xstormy16ç¨ï¼
+ */
+
+#ifndef _SYS_DEFS_H_
+#define _SYS_DEFS_H_
+
+/*
+ *  ã·ã¹ãã ç¥ç§°
+ */
+#define SIMULATOR
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ã¹ãã ã®ä¸­æ­å¦ç
+ */
+extern void kernel_abort( void ) ;
+
+#endif /* _MACRO_ONLY */
+#endif /* _SYS_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_rename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifndef _SYS_RENAME_H_
+#define _SYS_RENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/simulator/sys_unrename.h	(revision 26)
@@ -0,0 +1,64 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/* This file is generated from sys_rename.def by genrename. */
+
+#ifdef _SYS_UNRENAME_H_
+#undef _SYS_UNRENAME_H_
+
+
+#ifdef LABEL_ASM
+
+
+#endif /* LABEL_ASM */
+#endif /* _SYS_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/start.S
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/start.S	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/start.S	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *      ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼Xstormy16ç¨ï¼
+ */
+
+#define _MACRO_ONLY
+#include <cpu_sfrs.h>
+
+/*
+ *  æ©ç¨®æ
+å ±(sys_support.S)ããªã³ã¯ãããã
+ */
+        .equ dummy,_chip_info
+
+/*
+ *      RESETæã®åæåå¦ç
+ */
+        .text
+	.global _int_reset
+_int_reset:
+
+                                /*
+                                 *  ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+                                 */
+        mov sp,#__stack
+
+                                /*
+                                 *  åæå¤ãªãã®å¤æ°åã®ã¼ã­ã¯ãªã¢
+                                 */
+        mov r0,#__bss_start
+        mov r1,#__bss_end
+        mov r2,#0
+1:      mov.w (r0++),r2
+        blt r0,r1,1b
+
+                                /*
+                                 *  åæå¤ããã®å¤æ°åã®åæå¤è¨­å®
+                                 */
+        mov r1,#__data_start
+        mov r3,#__data_end
+        mov r0,#@lo(__rdata)
+        mov r8,#@hi(__rdata)
+2:      bz r1,r3,3f
+        movf.w r2,(r0)
+        mov.w (r1++),r2
+        add r0,#2
+        bnz 2b
+        add r8,#1
+        br 2b
+3:
+
+                                /*
+                                 *  åæåã«ã¼ãã³ã®å¼ã³åºã
+                                 */
+        callf _init
+
+                                /*
+                                 *  ã«ã¼ãã«ã®èµ·å
+                                 */
+        jmpf kernel_start
+
+        .end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_config.h	(revision 26)
@@ -0,0 +1,262 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TOOL_CONFIG_H_
+#define _TOOL_CONFIG_H_
+
+/*
+ *  ã©ãã«ã®å¥åãå®ç¾©ããããã®ãã¯ã­
+ */
+#define _LABEL_ALIAS(new_label, defined_label) \
+    asm(".globl " #new_label "\n" #new_label " = " #defined_label);
+#define LABEL_ALIAS(x, y) _LABEL_ALIAS(x, y)
+
+/*
+ *  éçºç°å¢ä¾å­ã®åæåã¯ä½¿ç¨ããªã
+ */
+#define tool_initialize()
+
+/*
+ *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ */
+#ifndef _MACRO_ONLY
+
+Inline void
+call_atexit(void)
+{
+    extern void _fini(void);
+    _fini() ;
+}
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã®è¨­å®
+ */
+
+#define LOG_INH_ENTER(inhno)
+#define LOG_INH_LEAVE(inhno)
+
+#define LOG_EXC_ENTER(excno)
+#define LOG_EXC_LEAVE(excno)
+
+#define LOG_DSP_ENTER(tcb)
+#define LOG_DSP_LEAVE(tcb)
+
+#define LOG_CYC_ENTER(cyccb)
+#define LOG_CYC_LEAVE(cyccb)
+
+#define LOG_TEX_ENTER(texptn)
+#define LOG_TEX_LEAVE(texptn)
+
+#define LOG_TSKSTAT(tcb)
+
+#define LOG_ACT_TSK_ENTER(tskid)
+#define LOG_ACT_TSK_LEAVE(ercd)
+#define LOG_IACT_TSK_ENTER(tskid)
+#define LOG_IACT_TSK_LEAVE(ercd)
+#define LOG_CAN_ACT_ENTER(tskid)
+#define LOG_CAN_ACT_LEAVE(ercd)
+#define LOG_EXT_TSK_ENTER()
+#define LOG_TER_TSK_ENTER(tskid)
+#define LOG_TER_TSK_LEAVE(ercd)
+#define LOG_CHG_PRI_ENTER(tskid, tskpri)
+#define LOG_CHG_PRI_LEAVE(ercd)
+#define LOG_GET_PRI_ENTER(tskid, p_tskpri)
+#define LOG_GET_PRI_LEAVE(ercd, tskpri)
+#define LOG_SLP_TSK_ENTER()
+#define LOG_SLP_TSK_LEAVE(ercd)
+#define LOG_TSLP_TSK_ENTER(tmout)
+#define LOG_TSLP_TSK_LEAVE(ercd)
+#define LOG_WUP_TSK_ENTER(tskid)
+#define LOG_WUP_TSK_LEAVE(ercd)
+#define LOG_IWUP_TSK_ENTER(tskid)
+#define LOG_IWUP_TSK_LEAVE(ercd)
+#define LOG_CAN_WUP_ENTER(tskid)
+#define LOG_CAN_WUP_LEAVE(ercd)
+#define LOG_REL_WAI_ENTER(tskid)
+#define LOG_REL_WAI_LEAVE(ercd)
+#define LOG_IREL_WAI_ENTER(tskid)
+#define LOG_IREL_WAI_LEAVE(ercd)
+#define LOG_SUS_TSK_ENTER(tskid)
+#define LOG_SUS_TSK_LEAVE(ercd)
+#define LOG_RSM_TSK_ENTER(tskid)
+#define LOG_RSM_TSK_LEAVE(ercd)
+#define LOG_FRSM_TSK_ENTER(tskid)
+#define LOG_FRSM_TSK_LEAVE(ercd)
+#define LOG_DLY_TSK_ENTER(dlytim)
+#define LOG_DLY_TSK_LEAVE(ercd)
+#define LOG_RAS_TEX_ENTER(tskid, rasptn)
+#define LOG_RAS_TEX_LEAVE(ercd)
+#define LOG_IRAS_TEX_ENTER(tskid, rasptn)
+#define LOG_IRAS_TEX_LEAVE(ercd)
+#define LOG_DIS_TEX_ENTER()
+#define LOG_DIS_TEX_LEAVE(ercd)
+#define LOG_ENA_TEX_ENTER()
+#define LOG_ENA_TEX_LEAVE(ercd)
+#define LOG_SNS_TEX_ENTER()
+#define LOG_SNS_TEX_LEAVE(state)
+#define LOG_SIG_SEM_ENTER(semid)
+#define LOG_SIG_SEM_LEAVE(ercd)
+#define LOG_ISIG_SEM_ENTER(semid)
+#define LOG_ISIG_SEM_LEAVE(ercd)
+#define LOG_WAI_SEM_ENTER(semid)
+#define LOG_WAI_SEM_LEAVE(ercd)
+#define LOG_POL_SEM_ENTER(semid)
+#define LOG_POL_SEM_LEAVE(ercd)
+#define LOG_TWAI_SEM_ENTER(semid, tmout)
+#define LOG_TWAI_SEM_LEAVE(ercd)
+#define LOG_SET_FLG_ENTER(flgid, setptn)
+#define LOG_SET_FLG_LEAVE(ercd)
+#define LOG_ISET_FLG_ENTER(flgid, setptn)
+#define LOG_ISET_FLG_LEAVE(ercd)
+#define LOG_CLR_FLG_ENTER(flgid, clrptn)
+#define LOG_CLR_FLG_LEAVE(ercd)
+#define LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_WAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn)
+#define LOG_POL_FLG_LEAVE(ercd, flgptn)
+#define LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout)
+#define LOG_TWAI_FLG_LEAVE(ercd, flgptn)
+#define LOG_SND_DTQ_ENTER(dtqid, data)
+#define LOG_SND_DTQ_LEAVE(ercd)
+#define LOG_PSND_DTQ_ENTER(dtqid, data)
+#define LOG_PSND_DTQ_LEAVE(ercd)
+#define LOG_IPSND_DTQ_ENTER(dtqid, data)
+#define LOG_IPSND_DTQ_LEAVE(ercd)
+#define LOG_TSND_DTQ_ENTER(dtqid, data, tmout)
+#define LOG_TSND_DTQ_LEAVE(ercd)
+#define LOG_FSND_DTQ_ENTER(dtqid, data)
+#define LOG_FSND_DTQ_LEAVE(ercd)
+#define LOG_IFSND_DTQ_ENTER(dtqid, data)
+#define LOG_IFSND_DTQ_LEAVE(ercd)
+#define LOG_RCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_RCV_DTQ_LEAVE(ercd, data)
+#define LOG_PRCV_DTQ_ENTER(dtqid, p_data)
+#define LOG_PRCV_DTQ_LEAVE(ercd, data)
+#define LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout)
+#define LOG_TRCV_DTQ_LEAVE(ercd, data)
+#define LOG_SND_MBX_ENTER(mbxid, pk_msg)
+#define LOG_SND_MBX_LEAVE(ercd)
+#define LOG_RCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_RCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_PRCV_MBX_ENTER(mbxid, ppk_msg)
+#define LOG_PRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout)
+#define LOG_TRCV_MBX_LEAVE(ercd, pk_msg)
+#define LOG_GET_MPF_ENTER(mpfid, p_blk)
+#define LOG_GET_MPF_LEAVE(ercd, blk)
+#define LOG_PGET_MPF_ENTER(mpfid, p_blk)
+#define LOG_PGET_MPF_LEAVE(ercd, blk)
+#define LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout)
+#define LOG_TGET_MPF_LEAVE(ercd, blk)
+#define LOG_REL_MPF_ENTER(mpfid, blk)
+#define LOG_REL_MPF_LEAVE(ercd)
+#define LOG_SET_TIM_ENTER(p_systim)
+#define LOG_SET_TIM_LEAVE(ercd)
+#define LOG_GET_TIM_ENTER(p_systim)
+#define LOG_GET_TIM_LEAVE(ercd, systim)
+#define LOG_ISIG_TIM_ENTER()
+#define LOG_ISIG_TIM_LEAVE(ercd)
+#define LOG_STA_CYC_ENTER(cycid)
+#define LOG_STA_CYC_LEAVE(ercd)
+#define LOG_STP_CYC_ENTER(cycid)
+#define LOG_STP_CYC_LEAVE(ercd)
+#define LOG_ROT_RDQ_ENTER(tskpri)
+#define LOG_ROT_RDQ_LEAVE(ercd)
+#define LOG_IROT_RDQ_ENTER(tskpri)
+#define LOG_IROT_RDQ_LEAVE(ercd)
+#define LOG_GET_TID_ENTER(p_tskid)
+#define LOG_GET_TID_LEAVE(ercd, tskid)
+#define LOG_IGET_TID_ENTER(p_tskid)
+#define LOG_IGET_TID_LEAVE(ercd, tskid)
+#define LOG_LOC_CPU_ENTER()
+#define LOG_LOC_CPU_LEAVE(ercd)
+#define LOG_ILOC_CPU_ENTER()
+#define LOG_ILOC_CPU_LEAVE(ercd)
+#define LOG_UNL_CPU_ENTER()
+#define LOG_UNL_CPU_LEAVE(ercd)
+#define LOG_IUNL_CPU_ENTER()
+#define LOG_IUNL_CPU_LEAVE(ercd)
+#define LOG_DIS_DSP_ENTER()
+#define LOG_DIS_DSP_LEAVE(ercd)
+#define LOG_ENA_DSP_ENTER()
+#define LOG_ENA_DSP_LEAVE(ercd)
+#define LOG_SNS_CTX_ENTER()
+#define LOG_SNS_CTX_LEAVE(state)
+#define LOG_SNS_LOC_ENTER()
+#define LOG_SNS_LOC_LEAVE(state)
+#define LOG_SNS_DSP_ENTER()
+#define LOG_SNS_DSP_LEAVE(state)
+#define LOG_SNS_DPN_ENTER()
+#define LOG_SNS_DPN_LEAVE(state)
+#define LOG_VSNS_INI_ENTER()
+#define LOG_VSNS_INI_LEAVE(state)
+#define LOG_VXSNS_CTX_ENTER(p_excinf)
+#define LOG_VXSNS_CTX_LEAVE(state)
+#define LOG_VXSNS_LOC_ENTER(p_excinf)
+#define LOG_VXSNS_LOC_LEAVE(state)
+#define LOG_VXSNS_DSP_ENTER(p_excinf)
+#define LOG_VXSNS_DSP_LEAVE(state)
+#define LOG_VXSNS_DPN_ENTER(p_excinf)
+#define LOG_VXSNS_DPN_LEAVE(state)
+#define LOG_VXSNS_TEX_ENTER(p_excinf)
+#define LOG_VXSNS_TEX_LEAVE(state)
+#define LOG_VXGET_TIM_ENTER(p_sysutim)
+#define LOG_VXGET_TIM_LEAVE(ercd, sysutim)
+
+#endif /* _TOOL_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_defs.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_defs.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/config/xstormy16/tool_defs.h	(revision 26)
@@ -0,0 +1,99 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ */
+
+/*
+ *  éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+
+#ifndef _TOOL_DEFS_H_
+#define _TOOL_DEFS_H_
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+ */
+#define _int8_      char        /* 8ãããã®æ´æ°å */
+#define _int16_     short       /* 16ãããã®æ´æ°å */
+#define _int32_     long        /* 32ãããã®æ´æ°å */
+#define _int64_     long long   /* 64ãããã®æ´æ°å */
+#define _intptr_    int         /* ãã¤ã³ã¿ãæ ¼ç´ã§ããæ´æ°å */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+ */
+#ifndef __cplusplus             /* C++ ã«ã¯ inline ããã */
+#if __STDC_VERSION__ < 199901L  /* C99 ã«ã¯ inline ããã */
+#define inline  __inline__
+#endif /* __STDC_VERSION__ < 199901L */
+#endif /* __cplusplus */
+
+#define Inline      static inline
+
+#ifndef __cplusplus         /* C++ ã«ã¯ asm ããã */
+#define asm     __asm__
+#endif /* __cplusplus */
+
+#define Asm     __asm__ volatile
+
+/*
+ *  .init/.finiã»ã¯ã·ã§ã³ã¸ã®é¢æ°ç»é²ã®ããã®ãã¯ã­
+ */
+#define REGISTER_INIT_ROUTINE( function ) \
+    __asm__( ".section .init,\"ax\"" ) ; \
+    __asm__( "callf " #function ) ; \
+    __asm__( ".text" ) ;
+#define REGISTER_FINI_ROUTINE( function ) \
+    __asm__( ".section .fini,\"ax\"" ) ; \
+    __asm__( "callf " #function ) ; \
+    __asm__( ".text" ) ;
+
+#endif /* _TOOL_DEFS_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/configure
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/configure	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/configure	(revision 26)
@@ -0,0 +1,272 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2001-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: configure,v 1.13 2003/12/06 06:16:16 hiro Exp $
+# 
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -C <cpu>		ãã­ã»ããµåï¼å¿
+é ï¼
+#  -S <sys>		ã·ã¹ãã å
+#  -T <tool>		éçºç°å¢å
+#  -A <uname>		ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã å
+#  -U <utask>		ä»ã®ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ãã¡ã¤ã«
+#			ï¼.o ãã¡ã¤ã«åã§æå®ï¼è¤æ°æå®å¯ï¼
+#  -L <kernel_lib>	ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®ãã£ã¬ã¯ããªå
+#			ï¼çç¥ããå ´åï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make ããï¼
+#  -D <srcdir>		ã«ã¼ãã«ç­ã®ã½ã¼ã¹ã®ç½®ããã¦ãããã£ã¬ã¯ããª
+#  -P <prefix>		éçºç°å¢ã¤ã³ã¹ãã¼ã«æã® PREFIX
+#			ï¼ç¾å¨ã¯ PREFIX ãä½¿ã£ã¦ãããã¡ã¤ã«ã¯ãªãï¼
+#  -p <perl>		perl ã®ãã¹åï¼æç¤ºçã«æå®ããå ´åï¼
+#  -l <lang>		ãã­ã°ã©ãã³ã°è¨èªï¼ç¾æç¹ã§ã¯C++ã®ã¿ãµãã¼ãï¼
+#  -d <dir>		ãã³ãã¬ã¼ããã£ã¬ã¯ããªãæå®ï¼ããã©ã«ãã¯sampleï¼
+
+#  ä½¿ç¨ä¾(1)
+#
+#  % ../configure -C m68k -S dve68k -A test1 -U test_support.o -L .
+#
+#  ä½¿ç¨ä¾(2)
+#
+#  % ../configure -C linux
+#	ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã¯ sample1 ã«ãªãï¼
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+do Getopt("CSTAULDPpld");
+unless ($opt_C) {
+	print STDERR "configure: -C option is mandatory\n";
+	exit(1);
+}
+
+$cpu = $opt_C;
+$sys = $opt_S ? $opt_S : "";
+$tool = $opt_T ? $opt_T : "";
+$uname = $opt_A ? $opt_A : "sample1";
+$utask = $opt_U ? $opt_U : "";
+$kernel_lib = $opt_L ? $opt_L : "";
+$prefix = $opt_P ? $opt_P : "/usr/local";
+$perl = opt_p ? $opt_p : do get_path("perl", ("/usr/local/bin", "/usr/bin"));
+$lang = $opt_l ? $opt_l : "";
+$templatedir = $opt_d ? $opt_d : "sample";
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ãè¿ã
+#
+sub get_objext {
+	local(@uname);
+
+	use POSIX;
+	@uname = do uname();
+	if ($uname[0] =~ /^cygwin/i) {
+		return("exe");
+	}
+	else {
+		return("");
+	}
+}
+
+#
+#  ãã­ã°ã©ã ã®å ´æãæ¤ç´¢ãã
+#
+sub get_path {
+	local($progname, @pathlist) = @_;
+	local($path);
+
+	foreach $path (@pathlist) {
+		if (-x $path."/".$progname) {
+			return($path."/".$progname);
+		}
+	}
+	return("");
+}
+
+#
+#  ãã¡ã¤ã«ãå¤æãã
+#
+sub convert {
+	local($infile, $outfile) = @_;
+	local($line, $varname, $varval);
+
+	print STDERR "configure: Generating $outfile from $infile.\n";
+	if (-f $outfile) {
+		print STDERR "configure: $outfile exists.",
+				"  Save as $outfile.bak.\n";
+		rename($outfile, $outfile.".bak");
+	}
+	unless (open(INFILE, $infile)) {
+		print STDERR "configure: can't open $infile\n";
+		exit(1);
+	}
+	unless (open(OUTFILE, "> ".$outfile)) {
+		print STDERR "configure: can't open $outfile\n";
+		exit(1);
+	}
+
+	while ($line = <INFILE>) {
+		chop $line;
+		while ($line =~ /^(.*)\@\(([A-Za-z_]+)\)(.*)$/) {
+			$line = $1.$vartable{$2}.$3;
+		}
+		print OUTFILE $line,"\n";
+	}
+
+	close(INFILE);
+	close(OUTFILE);
+}
+
+#
+#  ãµã³ãã«ãè¦ã¤ãã¦ãã¡ã¤ã«ãçæãã
+#
+sub generate {
+	local($file, $mandatory) = @_;
+	local($path);
+
+	if ($sys) {
+		$path = $sampledir.$file.".".$cpu."-".$sys;
+		if (-f $path) {
+			do convert($path, $file);
+			return;
+		}
+
+		$path = $sampledir.$file.".".$sys;
+		if (-f $path) {
+			do convert($path, $file);
+			return;
+		}
+	}	
+
+	$path = $sampledir.$file.".".$cpu;
+	if (-f $path) {
+		do convert($path, $file);
+		return;
+	}	
+
+	$path = $sampledir.$file;
+	if ($mandatory || -f $path) {
+		do convert($path, $file);
+	}	
+}
+
+#
+#  å¤æ°ã®åæå
+#
+
+#
+#  ã½ã¼ã¹ãã£ã¬ã¯ããªåãåãåºã
+#
+$pwd = `pwd`; chop $pwd;
+if ($opt_D) {
+	$srcabsdir = $srcdir = $opt_D;
+}
+elsif ($0 =~ /(.*)\/configure/) {
+	$srcdir = $1;
+	if ($srcdir =~ /^\//) {
+		$srcabsdir = $srcdir;
+	}
+	else {
+		$srcabsdir = $pwd."/".$srcdir;
+	}
+}
+else {
+	$srcabsdir = $srcdir = $pwd;
+}
+$sampledir = $srcdir."/".$templatedir."/";
+
+#
+#  å¤æ°ãã¼ãã«ã®ä½æ
+#
+%vartable = ();
+$vartable{"CPU"} = $cpu;
+$vartable{"SYS"} = $sys;
+$vartable{"TOOL"} = $tool;
+$vartable{"UNAME"} = $uname;
+$vartable{"UTASK"} = $utask;
+$vartable{"KERNEL_LIB"} = $kernel_lib;
+$vartable{"SRCDIR"} = $srcdir;
+$vartable{"SRCABSDIR"} = $srcabsdir;
+$vartable{"PREFIX"} = $prefix;
+$vartable{"OBJEXT"} = do get_objext();
+$vartable{"PERL"} = $perl;
+$vartable{"LANG"} = $lang;
+
+#
+#  ãã£ã¬ã¯ããªã®ãã§ãã¯
+#
+
+if (! -d $srcdir."/config/".$cpu) {
+	print STDERR "configure: $srcdir/config/$cpu not exist\n";
+	exit(1);
+}
+if ($sys && ! -d $srcdir."/config/".$cpu."/".$sys) {
+	print STDERR "configure: $srcdir/config/$cpu/$sys not exist\n";
+	exit(1);
+}
+if ($tool && ! -d $srcdir."/config/".$cpu."-".$tool."/".$sys) {
+	print STDERR "configure: $srcdir/config/$cpu-$tool/$sys not exist\n";
+	exit(1);
+}
+if ($tool && $sys && ! -d $srcdir."/config/".$cpu."-".$tool."/".$sys) {
+	print STDERR "configure: $srcdir/config/$cpu-$tool/$sys not exist\n";
+	exit(1);
+}
+
+#
+#  Makefile ã¨ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+
+do generate("Makefile", 1);
+do generate($uname.".c", 0);
+do generate($uname.".cpp", 0);
+do generate($uname.".h", 0);
+do generate($uname.".cfg", 0);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/armv4.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/armv4.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/armv4.txt	(revision 26)
@@ -0,0 +1,336 @@
+
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                ï¼ARMv4 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+          ï¼Release 1.4.3å¯¾å¿ï¼æçµæ´æ°: 10-May-2007ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2007 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: armv4.txt,v 1.11 2007/05/11 06:07:54 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼ARMv4 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+ARMV4 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼ARMv4ã¢ã¼ã­ãã¯ãã£ã®CPU
+ã³ã¢ãæ­è¼ããä»¥ä¸ã®ãã¼ãããµãã¼ããã¦ããï¼ãªãï¼Thumbå½ä»¤ã¯ãµãã¼
+ããã¦ããªãï¼
+
+  ã»ARMè£½ã® Integrator/CM922T-ETM(ARM922T) + Integrator/AP
+  ã»YDKè£½ã® AZ9360MB(ARM926EJ-S)
+
+éçºç°å¢ã«ã¯ï¼GCC ãªã©ã® GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ãããã¯ ELF ãæ¨æºã¨ããï¼
+
+Integratorã§ã¯ï¼å®è¡éç°å¢ã¨ãã¦JTAG-ICEãç¨ãããã¨ãæ³å®ãã¦ããï¼
+JTAG-ICEã¨ãã¦ã¯ï¼ARMç¤¾è£½ã® Multi-ICE ã¨ï¼ã½ãã£ã¢ã·ã¹ãã ãºè£½ã®
+UniSTAC II/J ETM for ARM9 ã§åä½ç¢ºèªãã¦ããï¼
+
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+ARMv4 ä¾å­ã®æ©è½ã¨ãã¦ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµã
+ã¼ããã¦ãããå²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã¯ãµãã¼ããã¦ããªãã
+
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+ä»ã®ã¿ã¼ã²ããã«ãã¼ãã£ã³ã°ããããã«ã¯ï¼ã·ã¹ãã ä¾å­é¨ã«ä»¥ä¸ã®ã³ã¼ã
+ãå¿
+è¦ã¨ãªãï¼
+ 
+  ã»å²è¾¼ã¿ã®åºå
+¥ãå£å¦çï¼sys_support.Sï¼
+  ã»ã¿ã¤ãã¼ãã©ã¤ã
+  ã»ã·ãªã¢ã«ãã©ã¤ã
+
+
+1.4 Integrator ã®åæå
+
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+Integrator ã§ã¯Integrator/AP ä¸ã® UART ãã«ã¼ãã«ã­ã°åºåç¨ã«ä½¿ç¨ããï¼
+ãã£ãã©ã«ãã§ã¯ï¼éåº¦115200bps,ãã¼ã¿:8bit,Parity:none,Stop:1bitã§ã
+ãã
+
+
+1.6 Thumbã³ã¼ãã«ã¤ãã¦
+
+Thumbã³ã¼ãã®å©ç¨ã«ã¤ãã¦ã¯ï¼ç¾æç¹ã§ã¯ãµãã¼ããã¦ãªãï¼
+
+
+ï¼ï¼ARMv4 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãARMv4ä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããã
+
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããã
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ FIQãããããã£ã¦ãCPUã­ãã¯ç¶æ
+ãå
+æåã«ã¼ãã³å
+ã§ã¯ãFIQ ä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ãããå
+·ä½çã«ã¯ã
+CPSR(ã«ã¬ã³ããã­ã°ã©ã ç¶æ
+ã¬ã¸ã¹ã¿)ã®IRQç¦æ­¢ããã(ããã7)ã 1 ã«è¨­
+å®ãããã
+
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ãKS32C50100 ã§å¨è¾ºã¢ã¸ã¥ã¼
+ã«æ¯ã«å®ç¾©ããã¦ããå²ãè¾¼ã¿çªå·ã§ããï¼LH79532 ã§ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ã®åãã£ãã«çªå·ã§ããããã¼ã¿å(INHNO)ã¯ unsigned intåã«å®ç¾©ããã¦ã
+ãã
+
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(excno)ã¯ãARMv4 ã§å®ç¾©ããã¦ããï¼
+ä¾å¤è¦å ã§ããï¼ãã®ãã¼ã¿å(EXCNO)ã¯ unsigned int åã«å®ç¾©ããã¦ããã
+DEF_EXC ã§ãä¾å¤ã³ã¼ãçªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçªå·
+ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ï¼CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ãããï¼ã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãï¼
+
+
+      ----------------------
+     |        CPSR          |  <-- p_excinf
+      ----------------------
+     |         R0           |
+      ----------------------
+     |         R1           |
+      ----------------------
+     |         R2           |
+      ----------------------
+     |         R3           |
+      ----------------------
+     |         ip           |
+      ----------------------
+     |         lr           |
+      ----------------------
+     |         PC           |
+      ----------------------
+
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+ARMv4 ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+æåã«ããã­ã»ããµã¢ã¼ããã¹ãã¼ãã¤ã¶ã¼ã¢ã¼ã(SVC)ãIRQ,FIQå²è¾¼ã¿ãç¦æ­¢
+ã«ããï¼
+
+æ¬¡ã«ãã¹ã¿ãã¯ãã¤ã³ã¿(sp)ã STACKTOP ã«è¨­å®ãããããã§å²è¾¼ã¿ã¹ã¿ã
+ã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ãã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­
+ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ããããSTACKTOP ã¯ãsys_config.h é¨ã§å®ç¾©
+ãããã¨ãæ³å®ãã¦ããã
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ãããhardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ãã)ã
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ãããã¾ããdataã»ã¯ã·ã§ã³ãåæåããã
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãsys_defs.h ä¸­ã® 
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(æ¨æºã¯ 1ããªç§å¨æ)ããã®å®ç¾©
+ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããããã 
+ããã¿ã¤ãã®ç²¾åº¦ã 1Î¼ç§ã§ããããã1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ãã
+å ´åã«ã¯ãisig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãã
+
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+ARMv4 ä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ãã
+ã¦ãããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ 1Î¼ç§åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤
+ãèª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ãå¼
+ã¶åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãããªããSYSUTIMåã¯ UDå
+(64ãããã®ç¬¦å·ç¡ãæ´æ°å)ã«å®ç¾©ãã¦ããã
+
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+Integrator ä¾å­é¨ã§ã¯ï¼Intergrator/APä¸ã® UART ããµãã¼ããã¦ããï¼
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+
+
+4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+
+    BINUTILS : 2.11.2
+    GCC-CORE : 3.0.2
+    GDB      : 5.0
+    NEWLIB   : 1.9.0
+
+ãããã¯
+
+    BINUTILS : 2.14
+    GCC-CORE : 3.3
+    GDB      : 5.3
+    NEWLIB   : 1.11.0
+
+4.2 ãã¼ã«ã½ã¼ã¹ã®ä¿®æ­£
+ä¸è¨ã®ãã¼ã¸ã§ã³ã®ãã¼ã«ãæ§ç¯ããããä»¥ä¸ã®ä¿®æ­£ãå¿
+è¦ã¨ãªãï¼
+
+4.2.1 GDB
+   ./gdb/rdi-share/devsw.c
+     39è¡ç®ï¼69è¡ç® ã®struct tm lmã®å®£è¨ãã¦ããè¡ãã³ã¡ã³ãã¢ã¦ãããï¼
+   
+
+4.3 GDBã¹ã¿ãã«ãããã­ã°ã©ã ã®ãã¦ã³ã­ã¼ã
+     ãã¹ãPCã¨ãã¼ããã·ãªã¢ã«ã±ã¼ãã«ã§ç¹ãï¼gdbã«ãã¦ã³ã­ã¼ãããã
+     ãã­ã°ã©ã ãæå®ããï¼
+     æ¬¡ã«ä»¥ä¸ã®ã³ãã³ããå®è¡ããï¼ttySXXã®XXã¯ã·ãªã¢ã«ãæ¥ç¶ãã¦ã
+     ããã¼ãçªå·ã§ããï¼
+
+           set remotebaud 57600 
+           set endian little 
+           set rdi /dev/ttySXX 
+      å¾ã¯ï¼loadã§ãã­ã°ã©ã ããã¦ã³ã­ã¼ããã¦ï¼continueã§å®è¡ããï¼
+      ã¾ãï¼Ctrl-Cã§åä½ä¸­ã®ãã­ã°ã©ã ãåæ­¢ã§ããï¼
+
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+ARMv4 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/armv4/
+        Makefile.config Makefileã®ARMv4ä¾å­å®ç¾©
+        armelf.ld       ããã°ã¨ã³ãã£ã¢ã³ç¨ãªã³ã«ã¹ã¯ãªãã
+        armv4.h         ARMv4ã®å®ç¾©
+        cpu_config.c    ãã­ã»ããµä¾å­é¨ã®é¢æ°
+        cpu_config.h    ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+        cpu_context.h   ã³ã³ãã­ã¹ãæä½
+        cpu_defs.h      ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        cpu_insn.h      ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+        cpu_rename.def  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        cpu_rename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        cpu_support.S   ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+        cpu_unrename.h  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        makeoffset.c    offset.h çæãµãã¼ããã­ã°ã©ã 
+        start.S         ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+        tool_config.h   éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+        tool_defs.h     éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+
+    config/armv4/integrator
+        Makefile.config Makefileã® Integrator ä¾å­å®ç¾©
+        hw_serial.cfg   SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+        hw_serial.h     SIOãã©ã¤ã
+        hw_timer.h      ã¿ã¤ãæä½ã«ã¼ãã³
+        integrator.c    Integrator ãã¼ãã¦ã§ã¢æä½é¢æ°
+        integrator.h    Integrator ãã¼ãã¦ã§ã¢å®ç¾©
+        integrator.ld   Integrator ãªã³ã«ã¹ã¯ãªãã
+        sys_config.c    ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_config.h    ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_defs.h      ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_rename.def  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_support.S   ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_unrename.h  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/c++.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/c++.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/c++.txt	(revision 26)
@@ -0,0 +1,857 @@
+
+        ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                    ï¼C++ãã¤ã³ãã£ã³ã°ï¼
+
+        ï¼Release 1.4.1 å¯¾å¿ï¼æçµæ´æ°: 16-Sep-2004ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2003-2004 by Takagi Nobuhisa
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+------------------------------------------------------------------------
+
+ï¼ï¼C++ãã¤ã³ãã£ã³ã°ã®æ¦è¦
+
+1.1 ç®ç
+
+TOPPERS/JSPã«ã¼ãã«ã¯ãæ¬æ¥Cè¨èªAPIãæä¾ãããã®ã§ããããã®ã¾ã¾ã§ã¯
+C++ãç¨ããã¢ããªã±ã¼ã·ã§ã³éçºãè¡ãä¸ã§æ¯éãããã
+C++ãã¤ã³ãã£ã³ã°ã¯ãTOPPERS/JSPã«ã¼ãã«ãæä¾ãããµã¼ãã¹ã³ã¼ã«ãC++
+ããå¼åºããã¨ãå¯è½ã«ãããã¤TOPPERS/JSPã«ã¼ãã«ä¸ã§æ¨æºC++ã®æ©è½ã
+å©ç¨ã§ããããã«ãããã®ã§ããã
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+C++ãã¤ã³ãã£ã³ã°ã§ã¯ãGCCç­ã®GNUéçºç°å¢ãä½¿ç¨ããããªããWindowsä¸
+ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ï¼Visual C++ï¼ã§C++ãä½¿ç¨ããéã¯ãC++ãã¤ã³ã
+ã£ã³ã°ã®æ©è½ãå¿
+è¦ã¨ããªãã
+
+ç¾å¨ãC++ãã¤ã³ãã£ã³ã°ããµãã¼ãããå®è¡ç°å¢ã¯ãMS7727CP01(SH3)ãã
+ã³AKI-H8/3069Fã§ãããä»ã®å®è¡ç°å¢ã§ä½¿ç¨ããã«ã¯ãã¿ã¼ã²ããä¾å­é¨ã®
+Makefile.configããã³ãªã³ã«ã¹ã¯ãªããã®ä¿®æ­£ãå¿
+è¦ã¨ãªãã
+ã¾ããLinuxä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ä½¿ç¨ãããã¨ãã§ããªãã
+
+1.3 C++ãã¤ã³ãã£ã³ã°ã®æ©è½ã®æ¦è¦
+
+æ¨æºC++ã®æ©è½ã®ãã¡ãå®è¡ç°å¢ã«ä¾å­ããé¨åã«ã¤ãã¦ãTOPPERS/JSPã«ã¼
+ãã«ã«å¯¾å¿ããã¦ãããå
+·ä½çã«ã¯ãéã­ã¼ã«ã«ãªãã¸ã§ã¯ãã®åæåå¦çã
+çµäºå¦çãã°ã­ã¼ãã«ãªnewæ¼ç®å­ã¨deleteæ¼ç®å­ãä¾å¤å¦çãããã³ããªã¼
+ã¹ã¿ã³ãã£ã³ã°ç°å¢ã«ãããæ¨æºã©ã¤ãã©ãªé¢æ°ã§ããã
+
+GCCèªä½ãæªãµãã¼ãã®æ©è½ï¼exportãã¦ããã¼ãµã«æå­åç­ï¼ãè£å®ããã
+ã®ã§ã¯ãªãã
+
+1.4 C++ãã¤ã³ãã£ã³ã°ã®ä½¿ç¨æ¹æ³
+
+TOPPERS/JSPã«ã¼ãã«ã§C++ãã¤ã³ãã£ã³ã°ãä½¿ç¨ããã«ã¯ãã³ã³ãã£ã®ã¥ã¬
+ã¼ã·ã§ã³ãã¡ã¤ã«ï¼.cfgï¼ãããjsp/systask/cxxrt.cfgãã¤ã³ã¯ã«ã¼ããã
+ã ãã§ãããï¼éçAPIã®INCLUDEã§ã¯ãªãããã­ãã­ã»ããµæä»¤ã®#include
+ãä½¿ç¨ãããã¨ï¼
+
+TOPPERS/JSPã«ã¼ãã«ã®configureãä½¿ç¨ããå ´åãC++ãä½¿ãã«ã¯"-l c++"
+ãªãã·ã§ã³ãä»å ããå¿
+è¦ãããã
+
+
+ï¼ï¼C++ãã¤ã³ãã£ã³ã°ã®æ©è½
+
+2.1 éã­ã¼ã«ã«ãªãã¸ã§ã¯ãã®åæåå¦ç
+
+é¢æ°ã®å¤é¨ã§å®£è¨ããããªãã¸ã§ã¯ãï¼ç¹å®ã®ååç©ºéãã¯ã©ã¹ã®éçãã¼
+ã¿ã¡ã³ããå«ãï¼ã®ã³ã³ã¹ãã©ã¯ã¿ããèµ·åæã«å¼åºãæ©è½ãæä¾ããã
+
+éã­ã¼ã«ã«ãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¯ãkernel_starté¢æ°ã®å¼åºãã
+ãåã«å®è¡ãããsyslogã®æ©è½ãä½¿ç¨ãããã¨ã¯ã§ããªãã
+ã¾ããã³ã³ã¹ãã©ã¯ã¿ã®å
+é¨ã§ã¯ãvsns_iniãé¤ããµã¼ãã¹ã³ã¼ã«ãå¼åºã
+ãã¨ã¯ã§ããªãã
+
+é¢æ°ã®å
+é¨ã§å®£è¨ããããªãã¸ã§ã¯ãã¯ãèµ·åæã§ã¯ãªããå®£è¨ãããç®æ
+ã«æåã«å®è¡ãã¹ãå·®ãæãã£ãã¨ãã«ã³ã³ã¹ãã©ã¯ã¿ãå¼åºãããããã
+èµ·åæã®åæåå¦çã«ã¯å«ã¾ããªãã
+ããããã³ã³ã¹ãã©ã¯ã¿ã®å¼åºãã¯ãã«ãã¿ã¹ã¯ã«å¯¾å¿ããªããããã¦ã¼ã¶
+ã¯å¿
+è¦ã«å¿ãã¦æä»å¶å¾¡ãç¬èªã«è¡ãå¿
+è¦ãããã
+
+2.2 çµäºå¦ç
+
+éçãªãªãã¸ã§ã¯ãï¼é¢æ°å
+ã§å®£è¨ããããã®ãå«ãï¼ã®ãã¹ãã©ã¯ã¿ã¯ã
+std::exité¢æ°ã®ä¸­ããå¼åºããããæç¤ºçã«std::exité¢æ°ãå¼åºããªãé
+ããå
+¨ã¿ã¹ã¯ãçµäºããã¨ãã¦ããã¹ãã©ã¯ã¿ãå¼åºããããã¨ã¯ãªãã
+ãªããkernel_exité¢æ°ãå¼åºããå ´åããstd::exité¢æ°ãå¼åºããå ´åã¨
+åæ§ã«ãéçãªãªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ã¯å¼åºãããã
+
+çµäºæã®åä½é åºã¯ãéçAPIã®VATT_TERã§ç»é²ããçµäºå¦çã«ã¼ãã³ãå¼åº
+ãããå¾ãstd::atexité¢æ°ã§ç»é²ããçµäºæé¢æ°ãå¼åºãããæå¾ã«ãã¹ã
+ã©ã¯ã¿ãå¼åºãããã
+ããã©ã«ãã®æ¨æºã¹ããªã¼ã ï¼stdin, stdout, stderrï¼ããµãã¼ãããå ´åã
+ãããã®ã¯ã­ã¼ãºå¦çã¯ãã¹ãã©ã¯ã¿ã®å¼åºãå¾ã«è¡ããªããã°ãªããªãã
+ï¼ã¦ã¼ã¶ã®æã§ã«ã¹ã¿ãã¤ãºããå¿
+è¦ãããï¼
+
+2.3 ã°ã­ã¼ãã«ãªnewæ¼ç®å­ã¨deleteæ¼ç®å­
+
+TOPPERS/JSPã«ã¼ãã«ã®ãã«ãã¿ã¹ã¯ç°å¢ããã³éãã«ãã¿ã¹ã¯ç°å¢ï¼åæå
+ã¾ãã¯çµäºå¦çæï¼ã§åä½ããnewããã³deleteæ¼ç®å­ãæä¾ããã
+GCCã¯ã°ã­ã¼ãã«ãªnewããã³deleteæ¼ç®å­ãstd::mallocããã³std:freeé¢æ°
+ãç¨ãã¦å®è£
+ãã¦ãããããNEWLIBã®mallocããã³freeé¢æ°ã«æä»å¶å¾¡ãè¿½
+å ãããã¨ã§å®ç¾ãã¦ããã
+
+C++ãã¤ã³ãã£ã³ã°ã¯ãC++ã®ããªã¼ã¹ã¿ã³ãã£ã³ã°ç°å¢ãå¯¾è±¡ã¨ãã¦ãããã
+ä¸è¨ã®çç±ã«ãããæ¬æ¥ããªã¼ã¹ã¿ã³ãã£ã³ã°ç°å¢ã§ã¯ãµãã¼ããããªãã
+std::mallocããã³std::freeé¢æ°ãçµæçã«ãµãã¼ããã¦ããã
+ããããã¯std::callocããã³std::reallocé¢æ°ãåä½ããã¨æãããããæ¤
+è¨¼ã¯è¡ã£ã¦ããªãã
+
+æ¨æºC++ã®ã°ã­ã¼ãã«ãªnewããã³deleteæ¼ç®å­ã«ã¯ãä¾å¤ãã¹ã­ã¼ãããã¨
+ããªããconst std::nothrow_t&ãå¼æ°ã«ã¨ãé
+ç½®æ§æåã®ãã®ãããããé
+å¸¸ã®ãã®åæ§ã«ä½¿ç¨ãããã¨ãã§ããã
+
+2.4 ä¾å¤å¦ç
+
+C++ã®è¨èªæ©è½ã§ããä¾å¤å¦çæ©è½ï¼tryãcatchããã³throwï¼ãæä¾ããã
+ä¾å¤å¦çã¯ã³ã³ãã¤ã©ã®å®è£
+ã«å¯æ¥ã«çµ¡ããããã³ã³ãã¤ã©èªä½ã«ãããã
+å¿
+è¦ã«ãªãã
+
+ä¾å¤å¦çã¯ãtryããã³catchã®ä½ç½®ã¨ãthrowããcatchã¾ã§ã®éã«å­å¨ãã
+ã­ã¼ã«ã«ãªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ãç®¡çããå¿
+è¦ãããããããã£ã¦ã
+ã³ã³ãã¤ã©ã«ã¨ã£ã¦æªç¥ã®æ¹æ³ã§ã³ã³ãã­ã¹ããåãæ¿ãã£ãå ´åã«ã¯ãä¾
+å¤å¦çç¨ã®ç®¡çæ
+å ±ãåãæ¿ããå¿
+è¦ãçããã
+C++ãã¤ã³ãã£ã³ã°ã¯ããã«ãã¿ã¹ã¯ç°å¢ããã³éãã«ãã¿ã¹ã¯ç°å¢ï¼åæå
+ã¾ãã¯çµäºå¦çæï¼ã§ãã³ã³ãã­ã¹ãã«å¿ãã¦ç®¡çæ
+å ±ãåãæ¿ããæ©è½ã
+åææ©è½ãå®ç¾ãã¦ããã
+
+GCCã§ã¯ãã³ã³ãã¤ã«æã«-fno-exceptionsãªãã·ã§ã³ãæå®ãããã¨ã§ãä¾
+å¤å¦çãç¡å¹ã«ãããã¨ãã§ããããããã¯ãªãã·ã§ã³ãæå®ããç¿»è¨³åä½
+ã«å¯¾ãã¦ã®ã¿éç¨ãããã¨ã§ãããã©ã¤ãã©ãªç­ã¯ãéå¸¸éããä¾å¤å¦çã
+ä½¿ããå ´åã¨åæ§ã«æ¯èããã¨ã«ãªãããããã£ã¦ãnewãdynamic_castã
+ãããã¯typeidæ¼ç®å­ãå¤±æããå ´åç­ã«ã¯ãäºæãã¬èª¤åä½ã«ã¤ãªããå±
+éºæ§ããããããå¿
+ãããæ¨å¥¨ããªãã
+
+2.5 æ¨æºã©ã¤ãã©ãªé¢æ°
+
+ããªã¼ã¹ã¿ã³ãã£ã³ã°ç°å¢ã®C++ã§ã¯ãçµäºå¦çã«é¢ããæ¨æºã©ã¤ãã©ãªé¢æ°
+ã¨ãã¦ãstd::abortãstd::atexitãããã³std::exité¢æ°ããµãã¼ããããã
+C++ãã¤ã³ãã£ã³ã°ã§ããããã3ç¨®é¡ã®é¢æ°ãæä¾ãã¦ããã
+
+(1) std::abort
+
+std::aborté¢æ°ã¯ãéçAPIã®VATT_TERã§ç»é²ãããçµäºå¦çã«ã¼ãã³ãã
+std::atexité¢æ°ã§ç»é²ãããçµäºæé¢æ°ããªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ãå¼
+åºããã¨ãªããã·ã¹ãã ãç°å¸¸çµäºããã
+ã·ã¹ãã ã®çµäºå¦çã¯ããã«ãã¿ã¹ã¯åä½ä¸­ã¯ã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ãã
+ãkernel_aborté¢æ°ã«å¾ããéãã«ãã¿ã¹ã¯åä½ä¸­ï¼åæåã¾ãã¯çµäºå¦çæï¼
+ã¯NEWLIBã®_exité¢æ°ã«å¾ãã
+
+C++ãã¤ã³ãã£ã³ã°ã§ã¯ãé¢æ°ã¸ã®ãã¤ã³ã¿void (*_atabort)(void)ã0ä»¥å¤
+ã«å®ç¾©ããã¦ããå ´åãå®éã®çµäºå¦çããåã«ãããå¼åºãããã«ãªã£ã¦
+ããã
+ãã¹ãç°å¢ã®std::abortã¯ãå®éã®çµäºå¦çã®åã«std::raise(SIGABRT);ã
+å¼åºããã_atabortãé©åã«è¨­å®ãããã¨ã§åæ§ã®æ©è½ãã¨ãã¥ã¬ã¼ããã
+ãã¨ãã§ããã
+
+(2) std::atexit
+
+std::atexité¢æ°ã¯ãstd::exitã¾ãã¯kernel_exité¢æ°ããå¼åºãããçµäºæ
+é¢æ°ãç»é²ãããstd::atexité¢æ°ã§ç»é²ããé¢æ°ã¯ãstd::aborté¢æ°ã§çµäº
+ããå ´åããvsns_iniãTRUEãè¿ãæéã«std::exité¢æ°ãç¨ããå ´åã«ã¯ã
+å¼åºããããã¨ããªãã
+
+éçãªãªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ã¯ãå®éã«ã¯std::atexité¢æ°ãç¨ããã
+ã¨ã§å®ç¾ãã¦ããããã ãããã¹ãã©ã¯ã¿ã®å¼åºãã¯ãstd::atexité¢æ°ã§ç»
+é²ããããã®ä»ã®ãããªãçµäºæé¢æ°ãããå¾ã«å¼åºãããã
+
+std::atexité¢æ°ã§ç»é²ã§ããçµäºæé¢æ°ã¯ãï¼ãã¹ãã©ã¯ã¿ã®ç»é²ãé¤ãã¦ï¼
+32åã¾ã§ã§ããã
+
+(3) std::exit
+
+std::exité¢æ°ã¯ãC++ã®æ¨æºçãªçµäºå¦çãè¡ããè©³ç´°ãªåä½ã¯ã2.2 çµäº
+å¦çãåç
+§ã®ãã¨ã
+
+std::exité¢æ°ãç¨ãã¦çµäºããå ´åãã­ã¼ã«ã«ãªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿
+ãå¼åºããããã¨ã¯ãªãã
+
+
+ï¼ï¼C++å®è¡ç°å¢ã¨ãã¦ã®TOPPERS/JSPã«ã¼ãã«
+
+3.1 BOOLå
+
+æ¨æºC++ã«ã¯ãè«çåã§ããboolåã¨ãè«çå¤ã§ããtrueããã³falseãå­å¨
+ãããããããTOPPERS/JSPã«ã¼ãã«ãCè¨èªã§å®è£
+ããã¦ãããããè¨èªé
+ã®äºææ§ãã¨ãæå³ã§ãBOOLåã«ã¯intåãä½¿ç¨ããå¿
+è¦ãããã
+ã«ã¼ãã«ã®ã³ã³ãã¤ã«ã«C99ãç¨ããå ´åã§ãã_Boolåã¨boolåã®éã«ã¯ã
+å³å¯ãªäºææ§ãããã¨ã¯è¨ããããããããã¯ãintåãä½¿ç¨ããæ¹ãç¡é£ã§
+ããã
+
+3.2 ã¿ã¹ã¯ããã®ä¾å¤ãªã¼ã¯
+
+ã¿ã¹ã¯ã®ã¨ã³ããªé¢æ°ããã­ã£ãããããªãä¾å¤ããªã¼ã¯ããå ´åã®åä½ã¯
+æªå®ç¾©ã§ããã
+
+3.3 ATT_INIã¨VATT_TER
+
+éçAPIã®ATT_INIããã³VATT_TERã§ç»é²ãããé¢æ°ããä¾å¤ããªã¼ã¯ããå ´
+åã®åä½ã¯æªå®ç¾©ã§ããã
+
+3.4 éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã§ã¯ãä¾å¤å¦çãnewããã³
+deleteæ¼ç®å­ãä½¿ç¨ãããã¨ãã§ããªããåç
+§åã«å¯¾ããdynamic_castãã
+ä»®æ³é¢æ°ãæã¤ã¯ã©ã¹ã¸ã®åç
+§ããã¤ã³ã¿ã«å¯¾ããtypeidããä¾å¤ãçºçã
+ãå¯è½æ§ããããããä½¿ç¨ãããã¨ãã§ããªããã¾ããæ¨æºã©ã¤ãã©ãªé¢æ°
+ãå¼åºããã¨ãã§ããªãã
+
+ãªããã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ
+ã§èªã¿ã¹ã¯ã«å¯¾ããras_texã«ãã£ã¦å¼åºãããã¿
+ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã«éããä¸è¨ã®å¶ç´ã¯åããªãããã ããã¿ã¹ã¯ä¾å¤
+å¦çã«ã¼ãã³ããä¾å¤ããªã¼ã¯ããå ´åã®åä½ã¯æªå®ç¾©ã§ããã
+
+3.5 ãµã¼ãã¹ã³ã¼ã«ã®ä¾å¤æå®
+
+TOPPERS/JSPã«ã¼ãã«ãæä¾ããå
+¨ãµã¼ãã¹ã³ã¼ã«ã¯ä¾å¤ãã¹ã­ã¼ãããã¨ã
+ãªããããä¾å¤æå®throw()ãä»å ãããã
+ããã«ãããä¾å¤å¦çã®ããã®ãã¼ãã«ãçæããããã¨ãæå°éã«æãã
+ããå ´åããããä¸»ã¨ãã¦ç©ºéå¹çã®åä¸ãæå¾
+ã§ããã
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+C++éçºç°å¢ã®æ§ç¯ã¯ãåºæ¬çã«ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãã®å
+å®¹ã«
+å¾ãããä¸é¨ç°ãªãç¹ãããã®ã§ãç¸éç¹ãä¸­å¿ã«è§£èª¬ããã
+ãªããåä½ç¢ºèªã«ã¯ããã¹ãç°å¢ã¨ãã¦ã¯Cygwin 1.3.22ãä½¿ç¨ããã
+
+4.1 å¿
+è¦ãªã½ããã¦ã§ã¢
+
+C++éçºç°å¢ãæ§ç¯ããã«ã¯ãGCC-COREããã³G++ãã¾ãã¯GCCãå¿
+è¦ã«ãªãã
+ã¾ããNEWLIBã¯å¿
+é ã§ããã
+
+    GNUéçºç°å¢
+       BINUTILSï¼ã¢ã»ã³ãã©ï¼ãªã³ã«ãªã©ï¼
+       GCCï¼C/C++ã³ã³ãã¤ã©ï¼
+       GDBï¼ãããã¬ï¼
+    NEWLIBï¼æ¨æºCã©ã¤ãã©ãªï¼
+    Perlï¼åä½ç¢ºèªã¯ 5.8.0ï¼
+    GNU Makeï¼åä½ç¢ºèªã¯ 3.80ï¼
+    GNU sedï¼åä½ç¢ºèªã¯ 4.0.7ï¼
+    patchï¼åä½ç¢ºèªã¯ 2.5.8ï¼
+
+4.2 BINUTILSã®ã¤ã³ã¹ãã¼ã«
+
+BINUTILSã¯ãGCCã®ã¤ã³ã¹ãã¼ã«ã«å¿
+è¦ãªããï¼GCCã«å
+ã ã£ã¦ã¤ã³ã¹ãã¼ã«
+ãããBINUTILSã®ã¤ã³ã¹ãã¼ã«æé ã¯æ¬¡ã®éãã
+
+    % mkdir <BINUTILS-OBJDIR>
+    % cd <BINUTILS-OBJDIR>
+    % <BINUTILS-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>\
+      --disable-nls
+    % make
+    % make install
+
+4.3 GCCã¸ã®ããã
+
+Cygwinä¸ã§GCC 3.2.3ãmakeããå ´åã«ä¸é¨éå®³ãçºçãããããæ¬¡ã®ããã
+ãå¿
+è¦ã¨ãªããï¼SHçã®ã¿ãGCC 3.3.xä»¥éã§ã¯ä¸è¦ï¼
+
+    % cp gcc-3.2.3_fixinc_gnu-regex.patch <GCC-SRCDIR>
+    % cd <GCC-SRCDIR>
+    % patch -p1 < gcc-3.2.3_fixinc_gnu-regex.patch
+
+ä»¥ä¸ã®æé ã«å¾ã£ã¦ãGCCãTOPPERS/JSPã«ã¼ãã«ã«å¯¾å¿ãããããã®ããã
+ããã¦ãã
+
+    % cp gcc-3.2.3_gthr-toppers-1.patch <GCC-SRCDIR>
+    % cd <GCC-SRCDIR>
+    % patch -p1 < gcc-3.2.3_gthr-toppers-1.patch
+
+4.4 GCCã®ã¤ã³ã¹ãã¼ã«(1)
+
+GCCã®ã¤ã³ã¹ãã¼ã«ã«ã¯NEWLIBãå¿
+è¦ã§ããããNEWLIBãã¤ã³ã¹ãã¼ã«ããã«
+ã¯GCCãå¿
+è¦ãªãããè¥å¹²ã®å·¥å¤«ãå¿
+è¦ã«ãªãã
+
+    % mkdir <GCC-OBJDIR>
+    % cd <GCC-OBJDIR>
+    % <GCC-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>\
+      --enable-languages=c,c++ --enable-threads=toppers\
+      --disable-nls
+    % make all-gcc
+    % make install-host
+
+4.5 NEWLIBã®ã¤ã³ã¹ãã¼ã«
+
+æ¬¡ã®æé ã«å¾ã£ã¦ãNEWLIBãã¤ã³ã¹ãã¼ã«ããï¼
+
+    % mkdir <NEWLIB-OBJDIR>
+    % cd <NEWLIB-OBJDIR>
+    % <NEWLIB-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>
+    % make
+    % make install
+
+ãªããCygwinã®ãã¼ã¸ã§ã³ã«ãã£ã¦ã¯NEWLIBã®ã¤ã³ã¹ãã¼ã«ã«å¤±æããå ´å
+ãããããã®ãããªå ´åã¯ãCygwinã®ãã¼ã¸ã§ã³ãå¤æ´ããããNEWLIBãã
+ã¤ããªã§å
+¥æãããã¨ã
+
+4.6 GCCã®ã¤ã³ã¹ãã¼ã«(2)
+
+æ¬¡ã®æé ã«å¾ã£ã¦ãGCCã®æ®ãé¨åãã¤ã³ã¹ãã¼ã«ããï¼
+
+    % cd <GCC-OBJDIR>
+    % make
+    % make install
+
+
+ï¼ï¼C++ãã¤ã³ãã£ã³ã°ã®å®è£
+è©³ç´°
+
+5.1 ãã¡ã¤ã«æ§æ
+
+(1) cxxrt.cfg
+
+cxxrt.cfgã¯C++å¯¾å¿ã©ã³ã¿ã¤ã ã®å
+é¨ã§ä½¿ç¨ãããªãã¸ã§ã¯ããçæããã
+C++ã®æ©è½ãä½¿ç¨ããå ´åã«ã¯ãå¿
+ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ããã
+cxxrt.cfgãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+
+(2) cxxrt.c
+
+cxxrt.cã¯C++å¯¾å¿ã©ã³ã¿ã¤ã ã®æ¬ä½ã§ãããä¾å¤å¦çç­ã§å¿
+è¦ã¨ãªãé¢æ°ã
+å¤æ°ã®å®ç¾©ãè¡ãããã
+
+(3) newlibrt.c
+
+newlibrt.cã¯NEWLIBã®é¢æ°ãTOPPERS/JSPã«ã¼ãã«ã«å¯¾å¿ãããããã®ã©ã³ã¿
+ã¤ã ã§ãããC++ãä½¿ç¨ããå ´åã«ã¯å¿
+é ã§ããã
+ãã®ã©ã³ã¿ã¤ã ã¯ãC++ãä½¿ç¨ããªãå ´åã§ããNEWLIBãä½¿ç¨ããéã«ã¯åç¬
+ã§ä½¿ç¨ãããã¨ãã§ããã
+
+5.2 åææ©è½
+
+ä¾å¤å¦çããã³æ¨æºC++ã©ã¤ãã©ãªå
+é¨ã§ä½¿ç¨ããåææ©è½ãæä¾ããé¢æ°ç¾¤ã
+æ¨æºC++ã©ã¤ãã©ãªã¯ããªã¼ã¹ã¿ã³ãã£ã³ã°ç°å¢ã§ã¯ãµãã¼ããããªãããã
+ãããlibstdc++ã®å
+¨æ©è½ãä½¿ç¨ãããã¨ãã§ããã¨æããããï¼ãã ããå
+ä½ã¯ç¢ºèªãã¦ããªãï¼
+
+(1) int _toppers_cxxrt_lock(_toppers_cxxrt_sync_t *sync);
+
+ãã«ãã¿ã¹ã¯åä½æã§ã¯ãã­ãã¯ãæããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãéå§ã
+ããéãã«ãã¿ã¹ã¯åä½æã«ã¯ä½ãããªãã
+æåæã«ã¯0ãè¿ããå¤±ææã«ã¯è² ã®å¤ãè¿ãã
+
+ãã®é¢æ°ã¯ãã¹ãã£ã³ã°å¯è½ã§ããã
+
+(2) int _toppers_cxxrt_trylock(_toppers_cxxrt_sync_t *sync);
+
+_toppers_cxxrt_locké¢æ°ã¨ã»ã¼åãã§ããããæ¢ã«ä»ã®ã¿ã¹ã¯ã«ãã£ã¦ã­ãã¯
+ä¸­ã®å ´åã§ãå¾
+æ©ç¶æ
+ã«ã¯ç§»è¡ãããåã«å¼åºãã«å¤±æããã
+ç¾å¨ã®å®è£
+ã§ã¯ã_toppers_cxxrt_locké¢æ°ã¯ãã£ã¹ãããç¦æ­¢ãç¨ãã¦å®ç¾ã
+ã¦ãããããã©ã¡ããåãã§ããã
+
+(3) int _toppers_cxxrt_unlock(_toppers_cxxrt_sync_t *sync);
+
+ãã«ãã¿ã¹ã¯åä½æã§ã¯ãã­ãã¯ãè§£é¤ããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãçµäº
+ãããéãã«ãã¿ã¹ã¯åä½æã«ã¯ä½ãããªãã
+æåæã«ã¯0ãè¿ããå¤±ææã«ã¯è² ã®å¤ãè¿ãã
+
+(4) int _toppers_cxxrt_once(_toppers_cxxrt_once_t *once,
+                          void (*func)(void));
+
+æå®ããé¢æ°ããã·ã¹ãã å
+¨ä½ã§ä¸åº¦ã ãå®è¡ããããfuncãå®è¡ä¸­ã«ãç°
+ãªãã¿ã¹ã¯ã§ãåãé¢æ°ãå®è¡ããããã¨ããå ´åãfuncã®å®è¡ãå®äºãã
+ã¾ã§å¾
+æ©ç¶æ
+ã«ç§»è¡ããã
+æåæã«ã¯0ãè¿ããå¤±ææã«ã¯è² ã®å¤ãè¿ãã
+
+5.3 ã¿ã¹ã¯ã­ã¼ã«ã«è¨æ¶åæ©è½
+
+ã¿ã¹ã¯ãã¨ã«ç¨æããããè¦ããä¸éçãªè¨æ¶åãæä¾ããé¢æ°ç¾¤ã§ããã
+ä¾å¤å¦çã§ä½¿ç¨ãããã
+ã¿ã¹ã¯ã­ã¼ã«ã«è¨æ¶åã¨ãã¦ç¢ºä¿ã§ããã®ã¯ãããã©ã«ãã§ã¯2åã¾ã§ã§ãã
+ãã_CXXRT_KEY_MAXãã¯ã­ãã¦ã¼ã¶å®ç¾©ãããã¨ã§ã3åä»¥ä¸ã«æ¡å¼µãããã¨
+ãã§ããã
+
+(1) int _toppers_cxxrt_key_create(struct _toppers_cxxrt_tls **key,
+                                void (*dtor)(void*))
+
+ã¿ã¹ã¯ã­ã¼ã«ã«è¨æ¶åã«ç¢ºä¿ããå¤æ°ãæ°è¦ä½æããã
+æåæã«ã¯0ãè¿ãã*keyã«å¤æ°ãè­å¥ããããã®ã­ã¼ãæ ¼ç´ãããã
+dtorã«ã¯ãã­ã¼ãåé¤ããéã«ãã¿ã¹ã¯ãã¨ã®åå¤æ°ã«å¯¾ãã¦å®è¡ãã¹ãçµ
+äºå¦çãæå®ããã
+å¤±ææã«ã¯è² ã®å¤ãè¿ãã
+
+(2) int _toppers_cxxrt_key_delete(struct _toppers_cxxrt_tls *key);
+
+_toppers_cxxrt_key_createé¢æ°ã§ä½æããã­ã¼ãåé¤ããã
+æåæã«ã¯0ãè¿ããå¤±ææã«ã¯è² ã®å¤ãè¿ãã
+
+5.4 NEWLIBã®ã«ã¹ã¿ãã¤ãº
+
+(1) void __malloc_lock(struct _reent *ptr);
+
+mallocããã³freeã®æä»å¶å¾¡ãè¡ããä»ã®ã¿ã¹ã¯ã«ãã£ã¦ã­ãã¯ããã¦ãã
+ç¶æ³ã§å¼åºãããå ´åã¯å¾
+æ©ç¶æ
+ã«ç§»è¡ããã
+
+(2) void __malloc_unlock(struct _reent *ptr);
+
+__malloc_locké¢æ°ã«ããã­ãã¯ãè§£é¤ããã
+
+(3) void *_sbrk_r(struct _reent *ptr, ptrdiff_t nbytes);
+
+ãã­ã°ã©ã ã®ãã¼ãé åãnbyteã ãæ¡å¤§ãããæåæã«ã¯ãæ°ããé åã®å
+
+é ­ã¸ã®ãã¤ã³ã¿ãè¿ããå¤±ææã¯è² ã®å¤ãè¿ããerrnoããã³ptr->_errnoã«
+ENOMEMãè¨­å®ããã
+
+ãã¼ãé åã«ã¯ãå¤é¨è­å¥å­endï¼.bssã»ã¯ã·ã§ã³ã®çµç«¯ï¼ããããã«ãã¿ã¹
+ã¯åä½éå§åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã¾ã§ãä½¿ç¨ããã
+ã¡ã¢ãªãããä¸ãè¤æ°ã®ã¡ã¢ãªã¤ã¡ã¼ã¸ãçºçããã¿ã¼ã²ããã§ã¯ã.bssã»
+ã¯ã·ã§ã³ã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãåä¸ã¤ã¡ã¼ã¸ä¸ã«é
+ç½®ããå¿
+è¦ãã
+ãã
+ãã¼ãé åã¨èµ·åæã®ã¹ã¿ãã¯é åãé£ç¶ãã¦ããªãå ´åãsys_config.hå
+
+ã§HEAP_TOPãã¯ã­ããã¼ãã®çµç«¯ã¢ãã¬ã¹ã«å®ç¾©ããå¿
+è¦ãããã
+
+æ¬æ¥ã§ããã°ã_sbrk_ré¢æ°ã®åå§é¢æ°ã«ããã_sbrké¢æ°ãã«ã¹ã¿ãã¤ãºã
+ã¹ãã§ããããã¿ã¼ã²ããã«ãã£ã¦ã¯ã_writeé¢æ°ç­ã¨åä¸ã®ç¿»è¨³åä½ã«ãª
+ãªã¸ãã«ã®_sbrké¢æ°ãå®ç¾©ããã¦ããããªã³ã¯æã«éå®³ãçºçããåå ã¨ãª
+ãããã_sbrk_ré¢æ°ãã«ã¹ã¿ãã¤ãºãã¦ããã
+
+5.5 ãã®ä»
+
+(1) int main();
+
+JSPã«ã¼ãã«ä¸ã§åä½ããC/C++ãã­ã°ã©ã ã¯ããªã¼ã¹ã¿ã³ãã£ã³ã°ç°å¢ã§ã
+ããããã¨ã³ããªé¢æ°ã¯mainã§ã¯ãªãkernel_startã§ãããããããNEWLIB
+ã§ã¯ã¨ã³ããªãã¤ã³ãã¨ãã¦mainãä½¿ç¨ããããã¨ãæå¾
+ãã¦ããããã
+mainé¢æ°ããªããã°ãªã³ã¯ã¨ã©ã¼ã«ãªãå ´åãããã
+C++å¯¾å¿ã©ã³ã¿ã¤ã ã§ã¯ããªã³ã¯ãè§£æ±ºãããã¨ã®ã¿ãç®çã¨ãã¦mainé¢æ°ã
+å®ç¾©ããã
+
+
+ï¼ï¼ã¿ã¼ã²ããä¾å­é¨ã®å®è£
+
+
+ç¾å¨ãC++ãã¤ã³ãã£ã³ã°ããµãã¼ãããå®è¡ç°å¢ã¯ãMS7727CP01(SH3)ãã
+ã³AKI-H8/3069Fã§ããã
+ã¾ããGNUéçºç°å¢ã®ã¿ã¼ã²ããã¨ãã¦ãSHç¨ã«ã¯sh-hitachi-elfãH8ç¨ã«ã¯
+h8300-hmsãä½¿ç¨ãã¦ããã
+
+6.1 GNUéçºç°å¢ã«é¢ãããã®
+
+GNUéçºç°å¢å
+¨è¬ã«é¢ããè¦ç´ ã¨ãã¦ãä»¥ä¸ã®ãã®ãããã
+
+(1) ãªã³ã«ã¹ã¯ãªããã®å¯¾å¿
+
+C++ãç¨ããå ´åã®ãªã³ã«ã¹ã¯ãªããã«ã¯ã.ctorããã³.dtorãããªãã¡ã°ã­
+ã¼ãã«ãªã³ã³ã¹ãã©ã¯ã¿ããã¹ãã©ã¯ã¿ã®ãã¤ã³ã¿ãã¼ãã«ãå½¢æãããã
+ã®ã»ã¯ã·ã§ã³å®ç¾©ãå¿
+è¦ã§ããã
+ã¾ãã.eh_frameã.gcc_except_tableãªã©ã®ä¾å¤å¦çç¨ã®ã»ã¯ã·ã§ã³å®ç¾©ã
+å¿
+è¦ã«ãªãã
+
+6.2 ELFå½¢å¼ã«é¢é£ãããã®
+
+SHã«éãããELFå½¢å¼ã«ä¾å­ããè¦ç´ ã¨ãã¦ãä¸è¨å
+å®¹ã®å¯¾å¿ãå¿
+è¦ã§ããã
+
+(1) crti.o, crtbegin.o, crtend.o, crtn.oã®ãªã³ã¯
+
+ã°ã­ã¼ãã«ãªã³ã³ã¹ãã©ã¯ã¿ããã³ãã¹ãã©ã¯ã¿ã®å¼åºãããä¾å¤å¦çé¢é£
+ã«å¿
+è¦ãªããããããã®ãã¡ã¤ã«ãæ­£ããé åºã§ãªã³ã¯ããå¿
+è¦ãããã
+ãªã³ã¯ã®é åºã¯ã
+
+start.o crti.o crtbegin.o ã¦ã¼ã¶ãã­ã°ã©ã  libkernel.a libstdc++.a
+libm.a libc.a libgcc.a crtend.o crtn.o
+
+ã§ããã
+ãã®æå®ã«ã¯ãã¿ã¼ã²ããä¾å­é¨ã®config/sh3/Makefile.configã«ããã¦ã
+
+START_OBJS = \
+	start.o \
+	$(shell $(CC) $(COPTS) -print-file-name=crti.o | sed -e 's/\\/\//g') \
+	$(shell $(CC) $(COPTS) -print-file-name=crtbegin.o | sed -e 's/\\/\//g')
+END_OBJS   = \
+	$(shell $(CC) $(COPTS) -print-file-name=crtend.o | sed -e 's/\\/\//g') \
+	$(shell $(CC) $(COPTS) -print-file-name=crtn.o | sed -e 's/\\/\//g')
+
+ã®ããã«å®ç¾©ããã¦ããã
+ãªããæå­'\'ã'/'ã«ç½®æãã¦ããã®ã¯ãMinGW + MSysã®ç°å¢ã§ä½¿ç¨ã§ãã
+ããã«ããããã§ããã
+ã¾ããmakeæã«èª¤ã£ã¦crti.oãªã©ã®ã³ã³ãã¤ã«ãè©¦ã¿ããã¨ãããã¨ãåé¿
+ããç®çã§ãSTART_OBJSã¨END_OBJSï¼ããã³start.oï¼ã®makeã«ã¼ã«ãç¹åã
+ã¦ããã
+
+(2) ãªã³ã«ã¹ã¯ãªããã®å¯¾å¿
+
+.initã.finiç­ã®ELFå½¢å¼ç¹æã®ã»ã¯ã·ã§ã³å®ç¾©ãå¿
+è¦ã§ããã
+
+6.3 SHã«ç¹æã®ãã®
+
+ã¿ã¼ã²ãããSHã®å ´åã«ç¹æãªè¦ç´ ã¨ãã¦ãä»¥ä¸ã®ãã®ãããã
+
+(1) _inité¢æ°ããã³_finié¢æ°
+
+GCCã®å¤ãã®ã¿ã¼ã²ããã§ã¯ãELFå½¢å¼ã®å ´åãåæåé¢æ°ããã³çµäºæé¢æ°
+ã¨ãã¦ã_inité¢æ°ã¨_finié¢æ°ãä½¿ç¨ãããããããSHã®å ´åã«ã¯inité¢æ°
+ã¨finié¢æ°ï¼å
+é ­ã®ä¸ç·ããªãï¼ãä½¿ç¨ãã¦ããããã®ãããtool_defs.h
+ã«ããã¦ãinitããã³finiã«ãããããã¯ã­ç½®æãã¦ããã
+
+
+ï¼ï¼ã¢ããªã±ã¼ã·ã§ã³ä½æã«ããããã³ã
+
+7.1 éçãªãªãã¸ã§ã¯ã
+
+éçãªãªãã¸ã§ã¯ãã¯æ®éã«å®ç¾©ãããã¨ãã§ããããä»¥ä¸ã®ç¹ã«æ³¨æãã
+å¿
+è¦ãããã
+
+(1) ã«ã¼ãã«éåä½ç¶æ
+
+
+ã°ã­ã¼ãã«ãªã³ã³ã¹ãã©ã¯ã¿ããã¹ãã©ã¯ã¿ã¯ãã«ã¼ãã«éåä½ç¶æ
+ã§å¼åº
+ãããããããã£ã¦ããããã®é¢æ°å
+ã§ã¯ãÎ¼ITRONã®ãµã¼ãã¹ã³ã¼ã«ãå¼åº
+ããã¨ã¯åºæ¥ãªããå¯ä¸å¼åºããã¨ãåºæ¥ããµã¼ãã¹ã³ã¼ã«ã¯ãJSPã«ã¼ãã«
+ã®ç¬èªæ¡å¼µã§ããvsns_iniã ãã§ããã
+
+ã¯ã©ã¹ãã°ã­ã¼ãã«ã§ãã­ã¼ã«ã«ã§ãä½¿ããããã«ããã«ã¯ãå¿
+è¦ã«å¿ãã¦ã
+vsns_iniã§ã«ã¼ãã«ã®åä½ç¶æ
+ãå¤å¥ããç¶æ
+ã«å¿ãã¦å¦çãåããå¿
+è¦ã
+ããã
+
+(2) é¢æ°å
+ã®éçãªãã¸ã§ã¯ã
+
+é¢æ°å
+ã§å®ç¾©ãããéçãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¯ãå¿
+ãããèµ·åæ
+ã«å¼åºãããè¨³ã§ã¯ãªããå®è¡ãã¹ãæåã«ãã®ãªãã¸ã§ã¯ãã®å®ç¾©ç®æã«
+å·®æãã£ãæç¹ã§å¼åºãããã
+ãããã£ã¦ãã³ã³ã¹ãã©ã¯ã¿ãã«ã¼ãã«åä½ç¶æ
+ã§å¼åºãããããéåä½ç¶
+æ
+ã§å¼åºããããã¯ããã®ãªãã¸ã§ã¯ããå®ç¾©ãããé¢æ°ãæåã«å¼åºãã
+ãã¿ã¤ãã³ã°ã«ä¾å­ããã
+
+ä¸è¬çã«ããã®åé¡ãåé¿ããã«ã¯Double-Checked Lockingã¨å¼ã°ããææ³
+ãç¨ããããã
+
+class foo
+{
+  // ã¯ã©ã¹å®ç¾©
+};
+
+void func()
+{
+  static foo* ptr = 0;
+  if (ptr == 0)
+  {
+    wai_sem(SEMID);
+    if (ptr == 0)
+    {
+      static foo x;
+      ptr = &x;
+    }
+    sig_sem(SEMID);
+  }
+  // é¢æ°æ¬ä½ã®å¦ç
+}
+
+(3) ã·ã¹ãã ã­ã°ã®ä½¿ç¨
+
+ãã¹ãã©ã¯ã¿ã§ã¯ãã·ã¹ãã ã­ã°ãå¶éãªãä½¿ç¨ãããã¨ãã§ããããã°ã­
+ã¼ãã«ãªã³ã³ã¹ãã©ã¯ã¿ã§ã¯ãããã©ã«ãã§ã¯ã·ã¹ãã ã­ã°ãä½¿ç¨ãããã¨
+ãã§ããªãã
+
+7.2 newæ¼ç®å­ã¨deleteæ¼ç®å­
+
+(1) æä»å¶å¾¡ã«ã¤ãã¦
+
+newæ¼ç®å­ã¨deleteæ¼ç®å­ã¯ãå¦çéåº¦ãåä¸ãããããããªã¼ã¹ãã¢ããã®
+ã¡ã¢ãªå²ä»ãï¼std::mallocé¢æ°ãç¨ãã¦å®è£
+ï¼ã¯ãã£ã¹ãããç¦æ­¢ç¶æ
+ã§è¡
+ã£ã¦ããã
+ã¢ããªã±ã¼ã·ã§ã³ã®è¦æ±ã«ãã£ã¦ãä»ã®æ¹æ³ã§æä»å¶å¾¡ãè¡ãå¿
+è¦ãããå ´
+åã«ã¯ãsystask/cxxrt.cã®ä¸­ã®__malloc_locké¢æ°ã¨__malloc_unlocké¢æ°ã
+ã«ã¹ã¿ãã¤ãºããã°ããã
+
+(2) ä½¿ç¨ã«é¢ããå¶ç´
+
+éã¿ã¹ã¯ã³ã³ãã­ã¹ããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã§å¼åºããã¨ã¯ã§ããªãã
+ã«ã¼ãã«éåä½ç¶æ
+ï¼vsns_inié¢æ°ãTRUEãè¿ãæéï¼ã§ã¯ãéå¸¸éãä½¿ç¨
+ãããã¨ãã§ããã
+
+(3) ãªã¼ãã¼ã­ã¼ãã«ã¤ãã¦
+
+ã°ã­ã¼ãã«ãªnewæ¼ç®å­ã¨deleteæ¼ç®å­ã¯ãå®è¡å¹çã¯ã¾ãã¾ãã§ããããç©º
+éå¹çã¯æ±ºãã¦é«ãã¨ã¯ãããªããã¾ããç¹å®ã®ã¯ã©ã¹ã®æä½çææ°ã«ã¤ã
+ã¦ãè©ä¾¡ãã«ãããããå³å¯ãªåä½ä¿è¨¼ãå¿
+è¦ã¨ããã¯ã©ã¹ã«é¢ãã¦ã¯ãnew
+æ¼ç®å­ã¨deleteæ¼ç®å­ããªã¼ãã¼ã­ã¼ããããã¨ãæ¨å¥¨ããã
+
+ãªã¼ãã¼ã­ã¼ãã«éãã¦ã¯ãåºå®é·ã¡ã¢ãªãã¼ã«ç­ãç¨ãããã¨ãåºæ¥ãã
+ä¾ãã°ãä»¥ä¸ã®ããã«ã¯ã©ã¹ãå®ç¾©ãããã¨ãåºæ¥ãã
+
+#include <t_services.h>
+#include <cstddef>
+#include "kernel_id.h"
+
+class foo
+{
+  static ID mpfid_;
+public:
+  static void* operator new(std::size_t size) throw()
+  {
+    VP ptr;
+    get_mpf(mpfid_, &ptr);
+    assert(ptr != 0);
+    return ptr;
+  }
+  static void operator delete(void* ptr) throw()
+  {
+    rel_mpf(mpfid_, ptr);
+  }
+};
+
+static ID foo::mpfid_ = FOO_MPF;	// åºå®é·ã¡ã¢ãªãã¼ã«ã®IDçªå·
+
+ã¾ããnewæ¼ç®å­ã®é
+ç½®æ§æãä½¿ç¨ãããã¨ã§ãã¿ã¤ã ã¢ã¦ãæå®ç­ã®æ©è½ã
+è¿½å ãããã¨ãå¯è½ã§ããã
+
+static void* operator new(std::size_t size, TMO tmout);
+static void operator delete(void* ptr, TMO) throw();
+
+ãªããnewæ¼ç®å­ããªã¼ãã¼ã­ã¼ãããå ´åãå¿
+ãå¯¾å¿ããdeleteæ¼ç®å­ãå
+ããã¦ãªã¼ãã¼ã­ã¼ãããªããã°ãªããªãã
+ä¸è¨ã®å ´åãdeleteæ¼ç®å­ã§TMOåã®å¼æ°ãä½¿ç¨ãããã¨ã¯ãªãããnewãã
+ãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ããä¾å¤ãã¹ã­ã¼ãããå ´åï¼newæ¼ç®å­ãã®ãã®
+ã§ã¯ãªãï¼ãå¯¾å¿ããdeleteæ¼ç®å­ãå¿
+è¦ã«ãªãã
+
+7.3 ä¾å¤å¦ç
+
+(1) ä¾å¤å¦çã®å
+é¨å¦ç
+
+GCCã§ã¯ãconfigureæã«--enable-sjlj-exceptionsãæå®ããå ´åãä¾å¤å¦
+çãå®ç¾ããããã«setjmpããã³longjmpé¢æ°ãä½¿ç¨ãã¦ãããã¿ã¼ã²ããã«
+ãã£ã¦ã¯ä»ã®å®ç¾æ¹æ³ãé¸æãããã¨ãã§ããããåä½ç¢ºèªã¯è¡ã£ã¦ããªãã
+
+ä¾å¤ãTåã®ãªãã¸ã§ã¯ããthrowããå ´åãå
+é¨çã«ã¯ä»¥ä¸ã®é åºã§å¦çã
+è¡ãããã
+
+	1) std::mallocé¢æ°ã«ãããTåã®ãªãã¸ã§ã¯ããæ ¼ç´å¯è½ãªã¡ã¢ãªãã­
+	   ãã¯ãå²ä»ããããã
+	   å²ä»ãã«å¤±æããå ´åãç·æ¥ç¨ã®éçãªãããã¡ãå½ã¦ãããã
+
+	2) Tåã®ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ãå¼åºãããthrowããããªãã¸ã§ã¯ãã®
+	   ã³ãã¼ãã1)ã§å²ä»ãããã­ãã¯ãç¨ãã¦çæãããã
+	   ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿å
+ã§ä¾å¤ãthrowãããå ´åã¯std::terminate
+	   é¢æ°ãå¼åºãããå¾ãstd::aborté¢æ°ã«ããç°å¸¸çµäºããã
+
+	3) ä¾å¤å¦çãã¬ã¼ã ãæ¤ç´¢ããcatchãããã¾ã§ã®çµè·¯ã«å­å¨ããã­ã¼
+	   ã«ã«ãªãªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ãå¼åºãããã
+	   ããã§ããã¹ãã©ã¯ã¿å
+ã§ä¾å¤ãthrowãããå ´åã¯std::terminate
+	   é¢æ°ãå¼åºãããå¾ãstd::aborté¢æ°ã«ããç°å¸¸çµäºããã
+
+	4) Tåï¼ã¾ãã¯ãã®åºåºã¯ã©ã¹ï¼ã«å¯¾å¿ããcatchãã­ãã¯ãè¦ã¤ãã£ã
+	   å ´åã¯ããã®ãã­ãã¯ã«åºååå²ãããcatchãã­ãã¯ã®ãã©ã¡ã¼ã¿
+	   ãå¤æ¸¡ãã®å ´åãã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ã«ãã£ã¦æ°ããã­ã¼ã«ã«ãªãª
+	   ãã¸ã§ã¯ããçæãããã
+	   å¯¾å¿ããcatchãã­ãã¯ãè¦ã¤ãããªãã£ãå ´åãå¤æ¸¡ãã®éã«ä¾å¤
+	   ãthrowãããå ´åã¯std::terminateé¢æ°ãå¼åºãããå¾ãstd::abort
+	   é¢æ°ã«ããç°å¸¸çµäºããã
+
+	5) catchãã­ãã¯å
+ã®å¦çãå®è¡ãããã
+
+	6) ä¸è¨2)ã§çæããããªãã¸ã§ã¯ãã®ãã¹ãã©ã¯ã¿ãå¼åºãããã
+
+(2) ã¿ã¹ã¯åèµ·åæã®åæå
+
+JSP 1.4ã§ã¯åèµ·åæã®åæåå¦çã¨ãã¦_toppers_cxxrt_reset_specificé¢
+æ°ãå¼ã³åºãå¿
+è¦ããã£ãããJSP 1.4.1ã§ã¯_toppers_cxxrt_reset_specific
+é¢æ°ã®å¼ã³åºãã¯å¿
+è¦ã¨ããªãã
+ãã®ä»£ãããã¿ã¹ã¯ã®ã¨ã³ããªé¢æ°ããä¾å¤ãåä½ããå ´åã®åä½ã¯æªå®ç¾©
+ã§ããã
+
+(3) å¹çã®åä¸
+
+configureæã«--enable-sjlj-exceptionsãæå®ããå ´åãä¾å¤ãthrowããª
+ãå ´åã§ããè¥å¹²ã®å®è¡å¹çã®ä½ä¸ãèµ·ãããã¾ããç©ºéå¹çãèããä½ä¸
+ããå ´åãããã
+å¹çãå°ãã§ãæ¹åããã«ã¯ãä»¥ä¸ã®æ¹æ³ãæå¹ã§ããã
+
+	1) ã§ããã ãã¤ã³ã©ã¤ã³é¢æ°ãä½¿ç¨ãããä¾å¤å¦çã«é¢ãããªã¼ãã¼ã
+	   ããã®å¤ãã¯ãé¢æ°ã®å¼åºãã«ä»éãã¦çºçããã
+
+	2) æ±ºãã¦ä¾å¤ãçºçããªãé¢æ°ã«ã¯ãå¿
+ãä¾å¤æå®throw()ãä»å ããã
+	   ç¹ã«ãCè¨èªã§å®è£
+ãããé¢æ°ã¯ãå¿
+ãthrow()ãä»ãããã¨ã
+
+	3) ä¾å¤ãçºçãããããããªãé¢æ°ã«ã¯ä¾å¤æå®ãä»ããªãã
+	   ä¾å¤æå®ãä»ããã¨ãã£ã«ã¿ãªã³ã°å¦çãæé»çã«å±éãããã
+
+	4) å¯è½ãªéããã¹ãã©ã¯ã¿ãå®ç¾©ããªãã
+	   é¢æ°å
+ã§ãã¹ãã©ã¯ã¿ãæã¤ã­ã¼ã«ã«ãªãªãã¸ã§ã¯ããä½¿ããªããã°ã
+	   ä¾å¤ãthrowãããããããªãé¢æ°ãå¼ãã§ãããªã¼ãã¼ãããã«ãª
+	   ããªãå ´åãããã
+
+	5) ä¸æãªãã¸ã§ã¯ãã®çæãé¿ãã
+	   ä¸æãªãã¸ã§ã¯ãçæã¯ããèªä½ããªã¼ãã¼ãããã§ããã ãã§ãªãã
+	   ã³ã³ã¹ãã©ã¯ã¿ã§ä¾å¤ãçºçããæ©ä¼ãä½ããã¾ããã¹ãã©ã¯ã¿ãå¼
+	   ã³åºãããæ©ä¼ãå¢ããã
+
+7.4 Cè¨èªã¨ã®æ··å¨
+
+C++ããCè¨èªã§å®ç¾©ããé¢æ°ãå¼åºãå ´åãextern "C"ã«ãã"C"ãªã³ã±ã¼ã¸
+ã§ãããã¨ãæç¤ºçã«æå®ããªããã°ãªããªãã
+
+extern "C" int foo();
+
+extern "C" {
+  void hoge();
+  void bar();
+}
+
+ã¾ããCè¨èªããå¼åºãå¯è½æ§ã®ããé¢æ°ãC++ã§å®ç¾©ããå ´åãextern "C"
+ãé¢æ°å®ç¾©ã«ä»å ããå¿
+è¦ãããã
+
+Cã¨C++ã§ã¯äºææ§ã®ãªãåããããããä¸¡æ¹ããä½¿ç¨ããé¢æ°ã«ããããã
+åãä½¿ç¨ãã¹ãã§ã¯ãªããä¾ãã°ãboolãã¯ã©ã¹åãªã©ã§ããã
+ç¹ã«ãkernel_cfg.cã¯Cè¨èªã§ãããããã¿ã¹ã¯ç­ã®æ¡å¼µæ
+å ±ã«ã¯ã©ã¹ã®ãã¤
+ã³ã¿ãæå®ãããã¨ã¯ã§ããªãã
+
+Cé¢æ°ããC++é¢æ°ã®å¼åºãã¯ãååã¨ãã¦è¡ãã¹ãã§ã¯ãªããå
+é¨ã§ä¾å¤ã
+çºçããå ´åãåä½ãä¿è¨¼ã§ããªãã®ããã®çç±ã§ããã
+éå¸¸ã®å¼åºãã®ä»ãã³ã¼ã«ããã¯é¢æ°ãç¨ããå ´åãä¾å¤ã§ã¯ãªãã
+
+C++é¢æ°ããCé¢æ°ãå¼åºãå ´åãCé¢æ°ã«ã¯ä¾å¤æå®throw()ãä»å ãã¹ãã§
+ããããããããã¨ã§å¤§å¹
+ã«å¹çã®åä¸ãæå¾
+ã§ããã
+
+ä»¥ä¸
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/cfv2.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/cfv2.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/cfv2.txt	(revision 26)
@@ -0,0 +1,365 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+		    ï¼ColdFire Version 2 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.1å¯¾å¿ï¼æçµæ´æ°: 6-Oct-2004ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
+            Graduate School of Information Science, Nagoya Univ., JAPAN
+ Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
+ Copyright (C) 2008 by Takahisa Yokota
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: m68k.txt,v 1.13 2004/10/06 06:51:51 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼ColdFire V2 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã 
+
+ColdFire V2ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼ããªã¼ã¹ã±ã¼ã«ã»ã»ãã³ã³
+ãã¯ã¿æ ªå¼ä¼ç¤¾ã®CPUãã¼ãM52235EVB(MCF52235ï¼ã®ã¿ããµãã¼ããã¦ããï¼
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+éçºç°å¢ã«ã¯ï¼GCCãªã©ã®GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
+ãã¯ELFãæ¨æºã¨ããï¼
+
+å®è¡ç°å¢ã¨ãã¦ï¼ROMããç´æ¥èµ·åããæ¹æ³ã¨GDBã¹ã¿ããç¨ããæ¹æ³ããµãã¼ã
+ãã¦ããï¼GDBã¹ã¿ããç¨ããå ´åã«ã¯ï¼Makefileä¸­ã§ï¼DBGENVã«GDB_STUBã
+å®ç¾©ããï¼ããã©ã«ãï¼ï¼ROMã¢ãã¿ãç¨ããå ´åã«ã¯ï¼DBGENVãå®ç¾©ããªãï¼
+
+(æ³¨)RAMã«ã«ã¼ãã«ãé
+ç½®ããã¨M52235EVBã§ã¯ãµã¤ãºãåã¾ããªããããGDB_STUB
+ã¯ç¾ç¶ä½¿ç¨ããªã
+
+1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+ColdFire V2ä¾å­ã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ï¼chg_ixxï¼get_ixxï¼ã
+ãµãã¼ããã¦ããï¼ã¾ãï¼M52235EVBãã¼ãä¾å­ã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã 
+æå»åç
+§æ©è½ï¼vxget_timï¼ããµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦æ­¢ã¨
+è¨±å¯ï¼dis_intï¼ena_intï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+
+ï¼ï¼ColdFireãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼ColdFireä¾å­ã®é¨
+åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+signed intåï¼unsigned intåï¼size_tåã®ãµã¤ãºã¯ï¼ãããã32ãããã§ã
+ãï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãåæåã«ã¼
+ãã³å
+ã§ã¯ï¼NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ï¼IPM
+ï¼Interrupt Priority Maskï¼ã7ã«è¨­å®ãããï¼
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼MCF52235ã§ã®ä¾å¤ãã¯ã¿çª
+å·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+MCF52235ä¾å­ã®æ©è½ã¨ãã¦ï¼SRï¼Status Registerï¼ä¸­ã®IPMï¼Interrupt
+Priority Maskï¼ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã«chg_ipmã¨ï¼åç
+§ããã
+ãã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼ãªãï¼IPMã®å¤ãè¡¨ããã¼ã¿
+åIPMã¯ï¼unsigned intåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMã0ä»¥å¤ï¼ããªãã¡ï¼ä½ãã
+ã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããï¼
+chg_ipmã«ããå¤æ´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶ãããï¼
+ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMã1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®ã¿ã¹ã¯
+ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯1ã«ãªãï¼ãã ãï¼IPMã0 
+ä»¥å¤ã«è¨­å®ãã¦ãã¦ãï¼å®è¡ã§ããã¿ã¹ã¯ããªããªã£ãå ´åã«ã¯IPMã¯ä¸æç
+ã«0ã«ãªãï¼ããã¯ï¼COLDFIREã®å½ä»¤ã»ããããããå¶éäºé 
+ã§ããï¼è§£æ±ºææ®µ
+ããªãããã§ã¯ãªãï¼ï¼
+
+chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ã­ã«ããï¼ãããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPMã¯ï¼cpu_config.hã®ä¸­ã§ãã¯ã­å®ç¾©ããã¦ããï¼
+
+ColdFire V2ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®
+éãï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼æå®ã
+ãå¤ã 0ã6 ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã 1ã6 ã«è¨­å®ããå ´å
+ã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­å®ãã IPM ã®å¤ã¯ï¼ãã£ã¹ãã
+ãå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ã¨ä½µç¨ã
+ãã°ããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPM ã 7 ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«
+è¨­å®ãããã¨ã¯ã§ããªãï¼IPM ã 7 ã«ãããå ´åã«ã¯ï¼loc_cpu ãä½¿ãã¹ã
+ã§ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼COLDFIREã§ã®ä¾å¤ãã¯ã¿
+çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_EXC ã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼CPUä¾å¤ã«å¯¾å¿ããªãçª
+å·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+COLFIREä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ã§ã¯ï¼æ¬¡ã®åæåå¦çã
+è¡ãï¼
+
+(A) ãã¼ãã¦ã§ã¢ã®åæå
+
+æåã«SRAMãFlashROMã®é
+ç½®ã¢ãã¬ã¹ãè¨­å®ããã
+
+(B) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+ãã­ã»ããµã®ã¢ã¼ããï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã»å²è¾¼ã¿ã¢ã¼ãã«è¨­å®ãï¼NMI ä»¥å¤
+ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¯ï¼ã¹ã¼ããã¤ã¶ã¢ã¼ã
+ã§èµ·åããªããã°ãªããªãã®ã§ï¼ããã§ã¹ã¼ããã¤ã¶ã¢ã¼ãã«è¨­å®ããã®ã¯ï¼æ¬å½
+ã¯ã ãã§ããï¼
+
+æ¬¡ã«ï¼å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ï¼SPIï¼ã STACKTOP ã«è¨­å®ããï¼ããã§å²è¾¼
+ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯
+ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_config.h 
+é¨ã§å®ç¾©ãããã¨ãæ³å®ãã¦ããï¼ã¾ãï¼ãã¬ã¼ã ãã¤ã³ã¿ã 0 ã«åæåã
+ãï¼
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+
+ï¼ï¼M52235EVB ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+   ç¹ã«ãªã
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
+
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+
+    BINUTILS : 2.18
+    GCC-CORE : 3.6.3
+
+GCC 3.3ãç¨ããå ´åï¼ã³ã³ãã¤ã©ãæ¨æºCã©ã¤ãã©ãªé¢æ°ãå¼ã³åºãã³ã¼ãã
+çæããããï¼NEWLIBãå¿
+è¦ã«ãªãï¼NEWLIBã®æ¨æºCã©ã¤ãã©ãªããªã³ã¯ãã
+ããã«ï¼Makefileä¸­ã®LIBSã®å®ç¾©ã«ä»¥ä¸ã®ããã« -lc ãè¿½å ããå¿
+è¦ãããï¼
+
+    LIBS := $(LIBS) $(CXXLIBS) -lc -lgcc
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+M68040ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/cfv2/
+	Makefile.config	Makefileã®ColdFire V2ä¾å­å®ç¾©
+	cpu_config.c	ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_config.h	ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_context.h	ã³ã³ãã­ã¹ãæä½
+	cpu_defs.h	ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_insn.h	ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	cpu_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_support.S	ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	m52235.h		MCF52235ã®å®ç¾©
+	makeoffset.c	offset.hçæãµãã¼ããã­ã°ã©ã 
+	mcfpit.h		MCF52235å
+èPITã¿ã¤ãã¼ãã©ã¤ã
+	mcfuart.c		MCF52235å
+èUARTç¨ã·ãªã¢ã«ãã©ã¤ã
+	mcfuart.h		MCF52235å
+èUARTç¨ã·ãªã¢ã«ãã©ã¤ã
+	start.S		ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	tinet_cpu_config.h	TINETç¨ããã
+	tinet_cpu_defs.h	TINETç¨ããã
+	tool_config.h	éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	tool_defs.h	éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	util.h
+	vector_table.c
+
+    config/cfv2/m52235evb/
+	Makefile.config	Makefileã®M52235EVBä¾å­å®ç¾©
+	Makefile.tinet
+	cfv2.h		ColdFireV2ã®å®ç¾©
+	cfv2elf.ld	ãªã³ã«ã¹ã¯ãªãã
+	cfv2elf.stub.ld	ãªã³ã«ã¹ã¯ãªãã(stubç¨)
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	hw_serial.h	SIOãã©ã¤ã
+	hw_timer.h	ã¿ã¤ãæä½ã«ã¼ãã³
+	m52235evb.h	M52235EVBãã¼ãã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_defs.h	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_support.S	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tinet_sys_config.c	TINETç¨ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	tinet_sys_config.h	TINETç¨ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	user_config.h	ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+
+5.2 ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+
+ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡æé ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥
+ã¢ã«ã«èª¬æããã¦ãããï¼ä»¥ä¸ã§ã¯ï¼ColdFire V2ããã³ M52235EVBãã¼ãã®å ´
+åã«ç¹æã®äºé 
+ã«ã¤ãã¦èª¬æããï¼
+
+ROMããç´æ¥èµ·åããæ¹æ³
+
+  CF Flasherã§BDMçµç±ã§æ¸ãè¾¼ããã¨ã«ããROMããèµ·åã§ããã
+
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/config.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/config.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/config.txt	(revision 26)
@@ -0,0 +1,1980 @@
+
+       ï¼ JSPã«ã¼ãã« ã¿ã¼ã²ããä¾å­é¨ ãã¼ãã£ã³ã°ã¬ã¤ã ï¼
+
+             ï¼Release 1.4.3å¯¾å¿ï¼æçµæ´æ°: 22-Apr-2007ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
+             Graduate School of Information Science, Nagoya Univ., JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: config.txt,v 1.40 2007/05/28 02:06:45 honda Exp $
+------------------------------------------------------------------------
+
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ï¼JSPã«ã¼ãã«ã®ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ããã¼ã¿
+åãé¢æ°ãªã©ã«ã¤ãã¦è§£èª¬ããï¼
+
+JSPã«ã¼ãã«ã®ã¿ã¼ã²ããä¾å­é¨ã¯ï¼ä¾å­é¨ã®åå©ç¨æ§ãèæ
+®ãï¼ãã­ã»ããµ
+ä¾å­é¨ï¼ã·ã¹ãã ä¾å­é¨ï¼éçºç°å¢ä¾å­é¨ã«åé¢ãã¦ããï¼éçºç°å¢ä¾å­é¨ã«
+é¢ãã¦ã¯ï¼ããããã®å½¹å²åæ
+ãæ±ºã¾ã£ã¦ãããï¼ãã­ã»ããµä¾å­é¨ã¨ã·ã¹ã
+ã ä¾å­é¨ã«ã¤ãã¦ã¯ï¼å½¹å²åæ
+ãæç¢ºãªããã§ã¯ãªãï¼ä»¥ä¸ã®ãã¼ã¿åãé¢æ°
+ã®å¤ãã¯ï¼ã©ã®ä¾å­é¨ã§å®ç¾©ãã¦ããã¾ããªãï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãªã©ã®
+æ¥µç«¯ãªã±ã¼ã¹ã§ã¯ï¼ã·ã¹ãã ä¾å­é¨ãå
+¨ãä½¿ããªããã¨ãèããããï¼
+
+JSPã«ã¼ãã«ã®ããã¤ã¹ãã©ã¤ãç­ã¯ï¼ãã­ã³åä¼ã«ããã¦æ¤è¨ããã¦ããã
+ãã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ã«æ²¿ãå½¢ã§å®è£
+ãã¦ããï¼ããã¤ã¹ãã©ã¤ã
+è¨­è¨ã¬ã¤ãã©ã¤ã³WGã®ä¸­éå ±åã¯ï¼ä»¥ä¸ã®URLãããã¦ã³ã­ã¼ããããã¨ãã§
+ããï¼
+        http://www.ertl.jp/ITRON/GUIDE/device-j.html
+
+
+ï¼ï¼ã·ã¹ãã æ§ç¯ç°å¢
+
+JSPã«ã¼ãã«ã¯ï¼GNUéçºç°å¢ãæ¨æºã¨ãã¦ããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãéçºæ¯
+æ´ã¦ã¼ãã£ãªãã£ã¯ï¼ä¸»ã«GNUéçºç°å¢ã¨çµã¿åããã¦åä½ããããã«å®è£
+ã
+ãã¦ããï¼ããã§ä»¥ä¸ã§ã¯ï¼GNUéçºç°å¢ãç¨ããå ´åãä¸­å¿ã«èª¬æããï¼ã
+ãä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼éçºæ¯æ´ã¦ã¼ãã£ãªãã£ã®æ¹é ãå¿
+è¦ã«
+ãªã£ããï¼ä¸é¨ã®ã¦ã¼ãã£ãªãã£ãä½¿ç¨ã§ããªãã±ã¼ã¹ãããï¼
+
+(1) ã¿ã¼ã²ããç¥ç§°ã®æ±ºå®
+
+æ°ããã¿ã¼ã²ããä¾å­é¨ãä½æããæã¯ï¼ãã­ã»ããµç¥ç§°ã¨ã·ã¹ãã ç¥ç§°ãå®
+ããï¼ã¾ãï¼GNUä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼éçºç°å¢ç¥ç§°ãå®ããï¼
+ãããã®ç¥ç§°ã«ç¨ããæå­ã¯ï¼è±æå­ï¼æ°å­ããã³ "_" ã«éå®ããï¼
+
+(2) ã¿ã¼ã²ããä¾å­é¨ã®ãã¡ã¤ã«ãç½®ãããã®ãã£ã¬ã¯ããª
+
+ã¿ã¼ã²ããä¾å­é¨ã®ãã¡ã¤ã«ãç½®ãããã®ãã£ã¬ã¯ããªãï¼config ã®ä¸ã«ä½
+æããï¼ãã£ã¬ã¯ããªåã¯ï¼ã¿ã¼ã²ããç¥ç§°ããä»¥ä¸ã®ããã«æ±ºå®ããï¼ãã 
+ãï¼ãã£ã¬ã¯ããªåã«å«ã¾ããè±æå­ã¯ãã¹ã¦å°æå­ã¨ããï¼ããªãã¡ï¼ãã£
+ã¬ã¯ããªåã«ã¯ï¼è±å°æå­ï¼æ°å­ããã³ "_" ã®ã¿ãä½¿ããã¨ãã§ããï¼
+
+GNUéçºç°å¢ãç¨ããå ´åã«ã¯ï¼config ã®ä¸ã«ãã­ã»ããµç¥ç§°ãç¨ãã¦ãã­ã»ã
+ãµä¾å­é¨ã®ãã¡ã¤ã«ãç½®ãããã®ãã£ã¬ã¯ããªï¼ãã­ã»ããµä¾å­é¨ãã£ã¬ã¯ã
+ãªï¼ãï¼ããã«ãã®ä¸ã«ã·ã¹ãã ç¥ç§°ãç¨ãã¦ã·ã¹ãã ä¾å­é¨ã®ãã¡ã¤ã«ãç½®
+ãããã®ãã£ã¬ã¯ããªï¼ã·ã¹ãã ä¾å­é¨ãã£ã¬ã¯ããªï¼ãä½æããï¼
+
+GNUä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼config ã®ä¸ã«ãã­ã»ããµç¥ç§°ã¨éçºç°
+å¢ç¥ç§°ã "-" ã§é£çµããåç§°ï¼ä¾ãã°ï¼"sh3-hitachi"ï¼ã§ï¼ãã­ã»ããµä¾å­
+é¨ãã£ã¬ã¯ããªãä½æããï¼ããã«ãã®ä¸ã«ï¼ã·ã¹ãã ç¥ç§°ãç¨ãã¦ã·ã¹ãã 
+ä¾å­é¨ãã£ã¬ã¯ããªãä½æããï¼ãããã®ãã£ã¬ã¯ããªã«ã¯ï¼GNUéçºç°å¢ç¨
+ã®ãã£ã¬ã¯ããªã«ç½®ããã¦ãããã¡ã¤ã«ã¨ç°ãªããã¡ã¤ã«ã®ã¿ãç½®ãï¼ãã¡ã¤
+ã«ãç½®ããã¦ããªãå ´åã«ã¯ï¼GNUéçºç°å¢ç¨ã®ãã£ã¬ã¯ããªãåç
+§ããï¼ã
+ã ãï¼Makefile.config ã«é¢ãã¦ã¯ï¼GNUéçºç°å¢ç¨ã®ãã£ã¬ã¯ããªãåç
+§ã
+ãªãããï¼åãå
+å®¹ã§ãã£ã¦ãç¨æããªããã°ãªããªãï¼
+
+(3) ã·ã¹ãã æ§ç¯æ¹æ³ã®è¨­å®
+
+ãã­ã»ããµä¾å­é¨ãã£ã¬ã¯ããªããã³ã·ã¹ãã ä¾å­é¨ãã£ã¬ã¯ããªã®ä¸ã«ï¼ã
+ãããï¼ã·ã¹ãã æ§ç¯æ¹æ³ãè¨­å®ããããã® Makefile.config ãã¡ã¤ã«ãç¨
+æããï¼ãããã®ãã¡ã¤ã«ã¯ï¼Makefile ããã¤ã³ã¯ã«ã¼ããããï¼
+
+ãã­ã»ããµä¾å­é¨ããã³ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã§å®ç¾©ãã¹ãå¤
+æ°ã«ã¯ï¼éçºç°å¢ã®ã³ãã³ãåãè¨­å®ãããã®ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ãè¨­å®
+ãããã®ï¼ãã®ä»ã®ãã®ãããï¼ããã§ã¯ï¼ãã®ä»ã®å¤æ°ã¨ãã®å®ç¾©ã®æ¹æ³ã«
+ã¤ãã¦èª¬æããï¼
+
+(3-1) TEXT_START_ADDRESS        ãã­ã¹ãã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+(3-2) DATA_START_ADDRESS        ãã¼ã¿ã»ã¯ã·ã§ã³ã®å
+é ­çªå°
+
+åã»ã¯ã·ã§ã³ã®å
+é ­çªå°ã®æå®ãå¿
+è¦ãªå ´åã«ã¯ï¼ãããã®å¤æ°ã«å
+é ­çªå°ã
+å®ç¾©ããï¼
+
+(3-3) LDSCRIPT                  ãªã³ã«ã¹ã¯ãªããã®ãã¡ã¤ã«å
+
+å°ç¨ã®ãªã³ã«ã¹ã¯ãªãããç¨ããå ´åã«ã¯ï¼ãã®å¤æ°ã«ãªã³ã«ã¹ã¯ãªããã®ãã¡
+ã¤ã«åãå®ç¾©ããï¼ãã¡ã¤ã«åã¯ï¼config ãã£ã¬ã¯ããªããã®ç¸å¯¾ãã¹ã§æ
+å®ããï¼
+
+(4) éçºç°å¢ã®ã³ãã³ãåã®è¨­å®
+
+(4-1) TARGET            ã¿ã¼ã²ããå
+
+GNUéçºç°å¢ã configure ããå ´åã«æå®ããã¿ã¼ã²ããåã§ï¼ã³ã³ãã¤ã©ç­
+ã®ã³ãã³ãåã®å
+é ­ã«ä»ä¸ãããæå­åï¼æå¾ã® "-" ã¯ä¸è¦ï¼ã«å®ç¾©ããï¼
+ä¾ãã°ï¼TARGET ã m68k-unknown-elf ã«å®ç¾©ãããå ´åã«ã¯ï¼ã³ã³ãã¤ã©ã¨
+ãã¦ m68k-unknown-elf-gcc ãä½¿ãããï¼ãã®å¤æ°ãå®ç¾©ãããªãå ´åã«ã¯ï¼
+åãªã gcc ãä½¿ãããï¼GNUä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼å®ç¾©ããå¿
+è¦
+ããªãï¼
+
+(4-2) CC                Cã³ã³ãã¤ã©ãã©ã¤ãã®åç§°
+(4-3) CXX               C++ã³ã³ãã¤ã©ãã©ã¤ãã®åç§°
+(4-4) AS                ã¢ã»ã³ãã©ã®åç§°
+(4-5) LD                ãªã³ã«ã®åç§°
+(4-6) AR                ã¢ã¼ã«ã¤ãã®åç§°
+(4-7) NM                nmãã­ã°ã©ã ã®åç§°
+(4-8) RANLIB            ranlibãã­ã°ã©ã ã®åç§°
+(4-9) OBJCOPY           objcopyãã­ã°ã©ã ã®åç§°
+(4-10) OBJDUMP          objdumpãã­ã°ã©ã ã®åç§°
+
+GNUä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ï¼ããããã®ã³ãã³ãã®åç§°ã«å®ç¾©ããï¼
+å¯¾å¿ããã³ãã³ãããªãå ´åãï¼ã³ãã³ããã©ã¡ã¼ã¿ãç°ãªãå ´åã«ã¯ï¼
+Makefile ä¸­ã®ãã®ã³ãã³ããå¼ã³åºãã¦ããé¨åãå¤æ´ããå¿
+è¦ãããï¼GNU
+éçºç°å¢ã§ã¯ï¼ãããã¯ TARGET ãç¨ãã¦å®ç¾©ãããã®ã§ï¼å®ç¾©ããå¿
+è¦ã¯ãª
+ãï¼
+
+(5) ã³ã³ãã¤ã«ãªãã·ã§ã³ã®è¨­å®
+
+(5-1) CDEFS             ãã¯ã­å®ç¾©ãªãã·ã§ã³ï¼-Dï¼
+(5-2) INCLUDES          ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®ãã£ã¬ã¯ããªæå®ãªãã·ã§ã³ï¼-Iï¼
+(5-3) COPTS             ã³ã³ãã¤ã©ã«å¯¾ãããã®ä»ã®ãªãã·ã§ã³
+(5-4) LDFLAGS           ãªã³ã«ã«å¯¾ãããªãã·ã§ã³
+(5-5) LIBS              ã©ã¤ãã©ãªãªã³ã¯æå®ã®ããã®ãªãã·ã§ã³
+
+ã¿ã¼ã²ããã«ä¾å­ãã¦ï¼ãã¹ã¦ã®ã½ã¼ã¹ãã¡ã¤ã«ã«å
+±éããã³ã³ãã¤ã«ãªãã·ã§
+ã³ã®è¿½å ãå¿
+è¦ãªå ´åã«ã¯ï¼ãªãã·ã§ã³ã®ç¨®é¡æ¯ã«ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
+
+ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã§ãããã®å¤æ°ãå®ç¾©ããæã¯ï¼":=" ã
+ç¨ãã¦ï¼ããã¾ã§ã®å®ç¾©ã«è¿½å ããå½¢ã§è¡ãï¼ä¾ãã°ï¼ãã­ã»ããµä¾å­é¨ã§ 
+ã-Wall -g -O2 -m68020-40ãã¨ãããªãã·ã§ã³ãè¿½å ãããå ´åã«ã¯ï¼ä»¥ä¸
+ã®è¨è¿°ããã­ã»ããµä¾å­é¨ã® Makefile.config ã«å«ããï¼
+
+    COPTS := $(COPTS) -Wall -g -O2 -m68020-40
+
+ããã«å¯¾ãã¦ï¼ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã¯ Makefile ã®æåã§ã¤
+ã³ã¯ã«ã¼ããããããï¼ãã®ãããªé
+æ
+®ã¯å¿
+è¦ãªããï¼å¤æ´ã«å¼·ãããããã«
+åæ§ã«æ±ããã¨ã«ããï¼
+
+ã»ã¨ãã©ã®å ´åã«ï¼ãã­ã»ããµä¾å­é¨ã® Makefile.config ã«ã¯ä»¥ä¸ã®è¨è¿°ã
+å«ããå¿
+è¦ãããï¼
+
+    GNUéçºç°å¢ãç¨ããå ´å
+        INCLUDES := -I$(CONFIGDIR)/$(CPU)
+
+    ãã®ä»ã®éçºç°å¢ãç¨ããå ´å
+        INCLUDES := -I$(CONFIGDIR)/$(CPU)-$(TOOL) -I$(CONFIGDIR)/$(CPU)
+
+ã¾ãï¼ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã«ã¯ä»¥ä¸ã®è¨è¿°ãå«ããå¿
+è¦ãã
+ãï¼
+
+    GNUéçºç°å¢ãç¨ããå ´å
+        INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+    ãã®ä»ã®éçºç°å¢ãç¨ããå ´å
+        INCLUDES := $(INCLUDES) -I$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS) \
+                                -I$(CONFIGDIR)/$(CPU)/$(SYS)
+
+ã¾ãï¼ã¢ã»ã³ããªè¨èªã¬ãã«ã®è­å¥åãï¼Cè¨èªã¬ãã«ã®è­å¥åã®å
+é ­ã« "_" 
+ãä»ãããã®ã«ãªãå ´åã«ã¯ï¼ããããã® Makefile.config ã§ CDEFS ã« 
+-DLABEL_ASM ãè¿½å ããï¼
+
+(5-6) STASK_DIR         ã·ã¹ãã ãµã¼ãã¹ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããª
+(5-7) STASK_ASMOBJS     ã¢ã»ã³ãã©ã§è¨è¿°ãããã·ã¹ãã ãµã¼ãã¹ã®ãªãã¸ã§ã¯ã
+(5-8) STASK_COBJS       Cè¨èªã§è¨è¿°ãããã·ã¹ãã ãµã¼ãã¹ã®ãªãã¸ã§ã¯ã
+(5-9) STASK_CFLAGS      ã·ã¹ãã ãµã¼ãã¹ã«å¯¾ããã³ã³ãã¤ã«ãªãã·ã§ã³
+(5-10) STASK_LIBS       ã·ã¹ãã ãµã¼ãã¹ã«å¯¾ããã©ã¤ãã©ãªãªã³ã¯æå®
+
+ã·ã¹ãã ãµã¼ãã¹ï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ãããã¤ã¹ãã©ã¤ããªã©ï¼ã®ã½ã¼ã¹ã
+ç½®ããããã£ã¬ã¯ããªï¼ãããæ§æãããªãã¸ã§ã¯ããã¡ã¤ã«ã®ãªã¹ãï¼ãã
+ããã³ã³ãã¤ã«ããéã«é©ç¨ããã³ã³ãã¤ã«ãªãã·ã§ã³ï¼ãã®æ§æã«å¿
+è¦ãªã©
+ã¤ãã©ãªãªã³ã¯æå®ãè¡ãå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
+
+ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã§ãããã®å¤æ°ãå®ç¾©ããæã¯ï¼CDEFS 
+ãªã©ã¨åæ§ã®æ±ããå¿
+è¦ã§ããï¼
+
+(5-11) KERNEL_DIR       ã«ã¼ãã«ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããª
+(5-12) KERNEL_ASMOBJS   ã¢ã»ã³ãã©ã§è¨è¿°ãããã«ã¼ãã«ã®ãªãã¸ã§ã¯ã
+(5-13) KERNEL_COBJS     Cè¨èªã§è¨è¿°ãããã«ã¼ãã«ã®ãªãã¸ã§ã¯ã
+(5-14) KERNEL_CFLAGS    ã«ã¼ãã«ã«å¯¾ããã³ã³ãã¤ã«ãªãã·ã§ã³
+
+ã«ã¼ãã«ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããªï¼ãããæ§æãããªãã¸ã§ã¯ããã¡
+ã¤ã«ã®ãªã¹ãï¼ããããã³ã³ãã¤ã«ããéã«é©ç¨ããã³ã³ãã¤ã«ãªãã·ã§ã³ã
+æå®ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
+
+ã·ã¹ãã ä¾å­é¨ã® Makefile.config ã§ãããã®å¤æ°ãå®ç¾©ããæã¯ï¼CDEFS 
+ãªã©ã¨åæ§ã®æ±ããå¿
+è¦ã§ããï¼
+
+ã»ã¨ãã©ã®å ´åã«ï¼ãã­ã»ããµä¾å­é¨ã® Makefile.config ã«ã¯ä»¥ä¸ã®è¨è¿°ã
+å«ããå¿
+è¦ãããï¼
+
+    GNUéçºç°å¢ãç¨ããå ´å
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+        KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+        KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+    ãã®ä»ã®éçºç°å¢ãç¨ããå ´å
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)-$(TOOL)
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)
+        KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) cpu_support.o
+        KERNEL_COBJS := $(KERNEL_COBJS) cpu_config.o
+
+ã¾ãï¼ã·ã¹ãã ä¾å­é¨ãã£ã¬ã¯ããªã® Makefile.config ã«ã¯ä»¥ä¸ã®è¨è¿°ãå«
+ããå¿
+è¦ãããï¼
+
+    GNUéçºç°å¢ãç¨ããå ´å
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+        KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+        KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+    ãã®ä»ã®éçºç°å¢ãç¨ããå ´å
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)
+        KERNEL_DIR := $(KERNEL_DIR):$(CONFIGDIR)/$(CPU)/$(SYS)
+        KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) sys_support.o
+        KERNEL_COBJS := $(KERNEL_COBJS) sys_config.o
+
+(6) ãªãã»ãããã¡ã¤ã«ã®çæ
+
+ã¢ã»ã³ããªè¨èªã§è¨è¿°ããããã­ã°ã©ã ããï¼Cè¨èªã®æ§é ä½ã«ã¢ã¯ã»ã¹ãã
+å ´åã«ã¯ï¼æ§é ä½ã®åãã£ã¼ã«ãã®ãªãã»ãããåç
+§ãããã¨ãå¿
+è¦ã§ããï¼ 
+JSPã«ã¼ãã«ã§ã¯ï¼å¿
+è¦ãªãªãã»ããå¤ããã¡ã¤ã«ï¼æ¨æºã§ã¯ offset.hï¼ã«åº
+åããããã®ä»çµã¿ã¨ãã¦ï¼makeoffset.c ã¨ genoffset ãç¨æãã¦ããï¼
+makeoffset.c ã¯ï¼ã©ã®ãªãã»ããå¤ããã¡ã¤ã«ã«åºåããããæå®ãããã®
+ã§ï¼ã¿ã¼ã²ããä¾å­é¨ã§ç¨æããå¿
+è¦ãããï¼genoffset ã¯ï¼ç¾æç¹ã§ã¯GNU
+éçºç°å¢ã«ã®ã¿å¯¾å¿ãã¦ããï¼
+
+makeoffset.c ã¨ genoffset ãä½¿ããã¨ã§ï¼ä¾ãã°ï¼TCB ä¸­ã® texptn ãã£ã¼
+ã«ãã®ãªãã»ããå¤ã TCB_texptn ã«ãã¯ã­å®ç¾©ãããã¨ãï¼TCB ä¸­ã®ã¿ã¹ã¯
+ã³ã³ãã­ã¹ããã­ãã¯ï¼tskctxbï¼ã«å«ã¾ãã pc ãã£ã¼ã«ãã®ãªãã»ããå¤
+ã TCB_pc ã«ãã¯ã­å®ç¾©ãããã¨ãã§ããï¼ã¾ãï¼TCB ä¸­ã® enatex ãã£ã¼ã«
+ãã®ãªãã»ããå¤ï¼ãããä½ç½®ï¼ããããã¹ã¯ãï¼ãããã TCB_enatexï¼
+TCB_enatex_bitï¼TCB_enatex_mask ã«ãã¯ã­å®ç¾©ãããã¨ãã§ããï¼ãã¯ã­å®
+ç¾©ãããããä½ç½®ãããããã¹ã¯ã¯ï¼ã¢ã¯ã»ã¹ãããµã¤ãºãã¨ã³ãã£ã¢ã³ãæ
+å®ãããã¨ãã§ããï¼
+
+GNUéçºç°å¢ä»¥å¤ãç¨ããå ´åãªã©ï¼ãã®ä»çµã¿ã§ãªãã»ãããã¡ã¤ã«ãçæ
+ã§ããªãæã«ã¯ï¼offset.h ãã¿ã¼ã²ããä¾å­é¨ã§ç¨æãï¼Makefile.config 
+ã§ OMIT_MAKEOFFSET ããã«ã¹ããªã³ã°ä»¥å¤ã«å®ç¾©ããï¼
+
+makeoffset.c ã¨ genoffset ã«é¢ããããã¥ã¢ã«ã¯ï¼ç¾æç¹ã§ã¯ç¨æã§ãã¦ã
+ãªãï¼ä½¿ãæ¹ãããããªãå ´åãï¼æ©è½ãè¶³ããªãå ´åã«ã¯ï¼ç¸è«ããããï¼
+
+(7) ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ãªã©
+
+ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®å
+é ­ã¨æå¾ã«ãªã³ã¯ãã¹ããã­ã°
+ã©ã ãï¼ã¿ã¼ã²ããä¾å­é¨ã§ç¨æããå¿
+è¦ãããï¼å¤ãã®å ´åï¼ã¹ã¿ã¼ãã¢ã
+ãã¢ã¸ã¥ã¼ã«ãã­ã¼ãã¢ã¸ã¥ã¼ã«ã®å
+é ­ã«ãªã³ã¯ããå¿
+è¦ãããï¼
+
+ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®å
+é ­ã«ãªã³ã¯ãã¹ããã­ã°ã©ã ãããå ´åã«ã¯ï¼
+Makefile.config ã«ããã¦ï¼ãã®ãªãã¸ã§ã¯ããã¡ã¤ã«åã START_OBJS ã«å®
+ç¾©ãï¼ããã«å¯¾ããã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ãå®ç¾©ããªããã°
+ãªããªãï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®æå¾ã«ãªã³ã¯ãã¹ããã­ã°ã©ã ãããå ´åã«ã¯ï¼
+ãã®ãªãã¸ã§ã¯ããã¡ã¤ã«åã END_OBJS ã«å®ç¾©ãï¼ããã«å¯¾ããã³ã³ãã¤ã«
+ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ãå®ç¾©ããªããã°ãªããªãï¼
+
+ä¾ãã°ï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã½ã¼ã¹ãã¡ã¤ã«ã start.S ã®å ´åã«ã¯ï¼
+Makefile.config ã«æ¬¡ã®ãããªè¨è¿°ãå
+¥ããã¨ããï¼
+
+        # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
+        START_OBJS = start.o
+
+        # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+        $(START_OBJS): %.o: %.S
+                $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+        # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+        $(START_OBJS:.o=.d): %.d: %.S
+                @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+                        -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+ã¾ãï¼ã³ã³ãã¤ã©ã«æ¨æºã® crtbegin.o ã¨ crtend.o ãç¨ããå ´åã«ã¯ï¼
+Makefile.config ã«æ¬¡ã®ãããªè¨è¿°ãå
+¥ããã¨ããï¼
+
+        # ãªãã¸ã§ã¯ããã¡ã¤ã«å
+        START_OBJS = $(shell $(CC) -print-file-name=crtbegin.o)
+        END_OBJS = $(shell $(CC) -print-file-name=crtend.o)
+
+        # ä¾å­é¢ä¿ä½æã«ã¼ã«
+        $(START_OBJS:.o=.d): %.d:
+        $(END_OBJS:.o=.d): %.d:
+
+ãã®å ´åï¼ãããã®ãã¡ã¤ã«ãã³ã³ãã¤ã«ãããã¨ã¯ãªãããï¼ã³ã³ãã¤ã«ã«ã¼
+ã«ã¯ä¸è¦ã§ããï¼ã¾ãï¼ä¾å­é¢ä¿ä½æã«ã¼ã«ã¯ããã¼ã§ããï¼ä¾å­é¢ä¿ä½æã«ã¼
+ã«ããªãã¨ã¨ã©ã¼ã«ãªãï¼ï¼
+
+ãªãï¼ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ããã¯ï¼main é¢æ°ã§ã¯ãªãï¼
+kernel_start é¢æ°ãèµ·åããå¿
+è¦ãããï¼
+
+(8) ãªã³ã«ã¹ã¯ãªãã
+
+éçºç°å¢ã«æ¨æºã®ãªã³ã«ã¹ã¯ãªãããä½¿ç¨ã§ããªãå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾å­
+é¨ã§ç¨æããï¼
+
+
+ï¼ï¼ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã¢ããªã±ã¼ã·ã§ã³ç¨ã®å®ç¾©ã¯æ¬¡ã®éãã§ããï¼
+ãããã®å®ç¾©ã®ä¸­ã§ï¼(1) ããã³ (2) ã¯ tool_defs.h ã«å«ããªããã°ãªããª
+ãï¼ãã®ä»ã®å®ç¾©ã¯ï¼cpu_defs.h ã¾ãã¯ sys_defs.hï¼ã¾ãã¯ãããããã¤ã³
+ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼
+
+(1) ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®å®ç¾©
+
+ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åãä»¥ä¸ã®ã·ã³ãã«ã«å®ç¾©ããï¼ãããã®å®ç¾©ã¯ï¼
+typedef ã§ã¯ãªãï¼#define ã«ãããã¯ã­å®ç¾©ããªããã°ãªããªãï¼
+
+(1-1) _int8_            8ãããã®æ´æ°å
+(1-2) _int16_           16ãããã®æ´æ°å
+(1-3) _int32_           32ãããã®æ´æ°å
+(1-4) _int64_           64ãããã®æ´æ°å
+
+åãµã¤ãºã®æ´æ°åãï¼ãããã®ã·ã³ãã«ã«ãã¯ã­å®ç¾©ããï¼_int32_ ä»¥å¤ã¯ï¼
+ã³ã³ãã¤ã©ããµãã¼ããã¦ããªãå ´åã«ã¯å®ç¾©ããå¿
+è¦ããªãï¼_int32_ ã®å®
+ç¾©ã¯å¿
+é ã§ããï¼
+
+(1-5) _bool_            BOOLã®å
+
+BOOL ã¯ï¼æ¨æºã§ã¯ int ã«åå®ç¾©ããããï¼ããã§ä¸é½åãªå ´åã«ã¯ï¼é©åãª
+åã _bool_ ã«ãã¯ã­å®ç¾©ããï¼
+
+(1-6) _vp_int_          VP_INTã®å
+
+VP_INT ã¯ï¼æ¨æºã§ã¯ VP ã«åå®ç¾©ããããï¼ããã§ä¸é½åãªå ´åï¼ä¾ãã°ï¼
+ãã¤ã³ã¿ã16ãããã§ï¼int ã32ãããã®å ´åï¼ã«ã¯ï¼é©åãªåã _vp_int_ 
+ã«ãã¯ã­å®ç¾©ããï¼
+
+(1-7) _intptr_          ãã¤ã³ã¿ãæ ¼ç´ã§ããæ´æ°å
+
+_intptr_ ã¯ï¼ãã©ã¼ãããåºåã«ããã¦ï¼intåããã¤ã³ã¿åãæ ¼ç´ã§ããæ´
+æ°åã¨ãã¦ä½¿ç¨ããï¼ãããå®ç¾©ããªãå ´åï¼long ãä½¿ãããï¼
+
+(2) ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­å®ç¾©
+
+(2-1) inline            ã¤ã³ã©ã¤ã³æå®
+(2-2) Inline            ãã¡ã¤ã«å
+ã®ã¿ã«æå¹ãªã¤ã³ã©ã¤ã³æå®
+(2-3) asm               ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ï¼æé©åãè¨±ãï¼
+(2-4) Asm               ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ï¼æé©åãææ­¢ï¼
+
+ãããã®ä¸­ã§ï¼asm ã¨ Asm ã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã§ç¨ãã¦ããªããã°å®ç¾©ã
+ãå¿
+è¦ããªãï¼
+
+(3) ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+
+(3-1) TIC_NUME          ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ï¼åä½: 1ããªç§ï¼
+(3-2) TIC_DENO          ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ï¼åä½: 1ããªç§ï¼
+
+(4) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©é¢é£ã®å®ç¾©
+
+(4-1) INHNO             å²è¾¼ã¿ãã³ãã©çªå·ã®ãã¼ã¿å
+(4-2) EXCNO             CPUä¾å¤ãã³ãã©çªå·ã®ãã¼ã¿å
+
+(5) å²è¾¼ã¿ãã¹ã¯ã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ï¼åç
+§é¢é£ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+chg_ixxï¼get_ixx ãã¿ã¼ã²ããä¾å­ã«ãµãã¼ãããå ´åã«ã¯ï¼ä»¥ä¸ã®å®ç¾©ã
+ãã³å®£è¨ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼xxï¼xxxxï¼XXXX ã¯ï¼ã¿ã¼ã²ããæ¯
+ã«é©åãªæå­åã«å®ããï¼xxxx ããã³ XXXX ã¯ï¼4æå­ã§ãªãã¦ãããï¼
+
+(5-1) IXXXX                             å²è¾¼ã¿ãã¹ã¯ã®ãã¼ã¿å
+(5-2) ER chg_ixx(IXXXX ixxxx)           chg_ixx ã®ãã­ãã¿ã¤ãå®£è¨
+(5-3) ER get_ixx(IXXXX *p_ixxxx)        get_ixx ã®ãã­ãã¿ã¤ãå®£è¨
+
+(6) å²è¾¼ã¿çªå·ã¨å²è¾¼ã¿ã®ç¦æ­¢ï¼è¨±å¯é¢é£ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+dis_intï¼ena_int ãã¿ã¼ã²ããä¾å­ã«ãµãã¼ãããå ´åã«ã¯ï¼ä»¥ä¸ã®å®ç¾©ã
+ãã³å®£è¨ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼
+
+(6-1) INTNO                             å²è¾¼ã¿çªå·ã®ãã¼ã¿å
+(6-2) ER dis_int(INTNO intno)           dis_int ã®ãã­ãã¿ã¤ãå®£è¨
+(6-3) ER ena_int(INTNO intno)           ena_int ã®ãã­ãã¿ã¤ãå®£è¨
+
+(7) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»é¢é£ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+JSPã«ã¼ãã«ã¯ï¼ç ç©¶ã¸ã®å©ç¨ãä¸»ç®çã®ä¸ã¤ã¨ãã¦ãããã¨ããï¼ã¿ã¼ã²ã
+ãä¾å­ã«ï¼æ§è½è©ä¾¡ç¨ã®ãµã¼ãã¹ã³ã¼ã« vxget_tim ããµãã¼ãå¯è½ã¨ãã¦ã
+ãï¼vxget_tim ããµãã¼ãããå ´åã«ã¯ï¼ä»¥ä¸ã®å®ç¾©ããã³å®£è¨ãã¿ã¼ã²ãã
+ä¾å­é¨ã§æä¾ããï¼
+
+(7-1) SYSUTIM                           æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ãã¼ã¿å
+(7-2) ER vxget_tim(SYSUTIM *p_sysutim)  vxget_tim ã®ãã­ãã¿ã¤ãå®£è¨
+
+(8) ã¿ã¼ã²ããè­å¥ãã¯ã­ã®å®ç¾©
+
+cpu_defs.h ã§ã¯ãã­ã»ããµç¥ç§°ï¼cpu_defs.h ã®ç½®ããã¦ãããã£ã¬ã¯ããªå
+ãå¤§æå­ã«ãããã®ï¼ï¼sys_defs.h ã§ã¯ã·ã¹ãã ç¥ç§°ï¼sys_defs.h ã®ç½®ãã
+ã¦ãããã£ã¬ã¯ããªåãå¤§æå­ã«ãããã®ï¼ããã¯ã­å®ç¾©ããï¼
+
+(9) ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³ã®å®ç¾©
+
+(9-1) SIL_ENDIAN
+
+ãã­ã»ããµãããã°ã¨ã³ãã£ã¢ã³ã®å ´åã«ã¯ SIL_ENDIAN_BIGï¼ï¼1ï¼ï¼ãªãã«
+ã¨ã³ãã£ã¢ã³ã®å ´åã«ã¯ SIL_ENDIAN_LITTLEï¼ï¼0ï¼ã«ãã¯ã­å®ç¾©ããï¼
+
+(10) ã·ã¹ãã ã®åæ­¢å¦çã®å®ç¾©
+
+(10-1) kernel_abort(void)
+
+assertãã¯ã­ã«ãããã¢ãµã¼ã·ã§ã³ã®å¤±æãï¼ãµã¼ãã¹ã³ã¼ã«ãè´å½çãªã¨ã©ã¼
+ãè¿ããå ´åã«ï¼ã·ã¹ãã ãåæ­¢ãããé¢æ°ã¾ãã¯ãã¯ã­ï¼kernel_exit ãå¼
+ã³åºãæ¹æ³ãèãããããï¼ãããã°ãå®¹æã«ããããã«ã¯ï¼ã¤ã³ã©ã¤ã³é¢æ°
+ããã¯ã­ã§å®ç¾©ãï¼ãã®å ´ã§ã·ã¹ãã ãåæ­¢ãããå¦çã«å®ç¾©ããã®ãæã¾ã
+ãï¼kernel_exit ãå¼ã³åºãã¨ï¼ã¨ã©ã¼ãçºçããæç¹ã®ç¶æ
+ããå¤åãã¦ã
+ã¾ãï¼ï¼
+
+
+ï¼ï¼ã«ã¼ãã«ç¨ã®ãã¼ã¿åãé¢æ°ãªã©
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã«ã¼ãã«ç¨ã®ãã¼ã¿åãé¢æ°ãªã©ã¯æ¬¡ã®éãã§
+ããï¼ãããã®ãã¼ã¿åããã¯ã­ã®å®ç¾©ã¨é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ã¯ï¼å¥ã«è¨
+è¿°ããªãéãï¼cpu_config.h ã¾ãã¯ sys_config.hï¼ã¾ãã¯ãããããã¤ã³ã¯
+ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼ã¾ãï¼é¢æ°ã®å®ä½ã¯ï¼Cè¨èªã®å ´åã¯ 
+cpu_config.c ã¾ãã¯ sys_config.c ã«ï¼ã¢ã»ã³ããªè¨èªã®å ´åã¯ 
+cpu_support.S ã¾ãã¯ sys_support.S ã«è¨è¿°ããï¼
+
+(0) ã¤ã³ã¯ã«ã¼ãæ¹æ³ã«é¢ããã«ã¼ã«
+
+ããããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããè¨è¿°ã¯ï¼ä»¥ä¸ã®ã«ã¼ã«ã«å¾ãã®ãååã¨ã
+ãï¼
+
+ANSI Cã®æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼#include <â¦> ã§ã¤ã³ã¯ã«ã¼ãããï¼
+ã¾ãï¼Makefile ã¾ãã¯ Makefile.config ã§ INCLUDES ã« -Iãªãã·ã§ã³ã§æ
+å®ãããã£ã¬ã¯ããªã«ãããã¡ã¤ã«ã¯ï¼#include <â¦> ã§ã¤ã³ã¯ã«ã¼ãããï¼
+ã«ã¼ãã«ãæ§æãããã¡ã¤ã«ããã®ã¤ã³ã¯ã«ã¼ãã«å¯¾ãã¦ã¯ï¼ä»¥ä¸ã®ãã£ã¬ã¯
+ããªã«ãããã¡ã¤ã«ãããã«è©²å½ããï¼ã¿ã¼ã²ããã«ãä¾å­ï¼ï¼
+        jsp/include/
+        jsp/config/$(CPU)
+        jsp/config/$(CPU)/$(SYS)
+        jsp/config/$(CPU)-$(TOOL)
+        jsp/config/$(CPU)-$(TOOL)/$(SYS)
+        pdic/simple_sio
+
+ãã®ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ #include "â¦" ã§ã¤ã³ã¯ã«ã¼ãããï¼ã«ã¼
+ãã«ãæ§æãããã¡ã¤ã«ããã®ã¤ã³ã¯ã«ã¼ãã«å¯¾ãã¦ã¯ï¼ä»¥ä¸ã®ãã£ã¬ã¯ããª
+ã«ãããã¡ã¤ã«ãããã«è©²å½ããï¼ã¿ã¼ã²ããã«ãä¾å­ï¼ï¼
+        jsp/kernel
+        jsp/systask
+
+(1) ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®ãã¼ã¿å
+
+(1-1) CTXB
+
+ã¿ã¼ã²ããä¾å­ã®ã¿ã¹ã¯ã³ã³ãã­ã¹ããä¿å­ããããã«ï¼TCB ä¸­ã«æã¤ãã¨ã
+å¿
+è¦ãªãã¼ã¿æ§é ã®åï¼
+
+(2) ã·ã¹ãã ç¶æ
+åç
+§
+
+(2-1) BOOL sense_context(void)
+
+ç¾å¨ã®å®è¡ã³ã³ãã­ã¹ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã¯ FALSEï¼éã¿ã¹ã¯ã³
+ã³ãã­ã¹ãã®å ´åã¯ TRUE ãè¿ãé¢æ°ï¼
+
+(2-2) BOOL sense_lock(void)
+
+ç¾å¨ã®ã·ã¹ãã ç¶æ
+ãï¼CPUã­ãã¯ç¶æ
+ã®å ´åã¯ TRUEï¼CPUã­ãã¯è§£é¤ç¶æ
+ã®
+æã¯ FALSE ãè¿ãé¢æ°ï¼
+
+(2-3) BOOL t_sense_lock(void)
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼ç¾å¨ã®ã·ã¹ãã ç¶æ
+ãï¼CPUã­ãã¯ç¶æ
+ã®å ´å
+ã¯ TRUEï¼CPUã­ãã¯è§£é¤ç¶æ
+ã®æã¯ FALSE ãè¿ãé¢æ°ï¼ãã®é¢æ°ãï¼éã¿ã¹
+ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ã¯ãªãï¼
+
+(2-4) BOOL i_sense_lock(void)
+
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼ç¾å¨ã®ã·ã¹ãã ç¶æ
+ãï¼CPUã­ãã¯ç¶æ
+ã®å ´
+åã¯ TRUEï¼CPUã­ãã¯è§£é¤ç¶æ
+ã®æã¯ FALSE ãè¿ãé¢æ°ï¼ãã®é¢æ°ãï¼ã¿ã¹
+ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ã¯ãªãï¼
+
+â» åççã«ã¯ï¼sense_lock ãæä¾ããã¦ããã° t_sense_lock ã¨ 
+i_sense_lock ã¯å¿
+è¦ãªãï¼éã« t_sense_lock ã¨ i_sense_lock ãæä¾ãã
+ã¦ããã° sense_lock ãå®ç¾ãããã¨ã¯ã§ãããï¼ã¿ã¼ã²ããã«ä¾å­ããã«é«
+ãå®è¡å¹çãå®ç¾ããããã«ï¼ã¿ã¼ã²ããä¾å­é¨ã3ã¤ã®é¢æ°ãæä¾ãããã¨
+ã¨ãã¦ããï¼
+
+(3) CPUã­ãã¯ã¨ãã®è§£é¤
+
+(3-1) void t_lock_cpu(void)
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼CPUã­ãã¯è§£é¤ç¶æ
+ããï¼CPUã­ãã¯ç¶æ
+ã«é·ç§»
+ãããé¢æ°ï¼ãã®é¢æ°ãï¼CPUã­ãã¯ç¶æ
+ã§å¼ã°ãããã¨ã¯ãªãï¼ã¾ãï¼éã¿
+ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ããªãï¼
+
+(3-2) void t_unlock_cpu(void)
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼CPUã­ãã¯ç¶æ
+ããï¼CPUã­ãã¯è§£é¤ç¶æ
+ã«é·ç§»
+ãããé¢æ°ï¼ãã®é¢æ°ãï¼CPUã­ãã¯è§£é¤ç¶æ
+ã§å¼ã°ãããã¨ã¯ãªãï¼ã¾ãï¼
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ããªãï¼
+
+(3-3) void i_lock_cpu(void)
+
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼CPUã­ãã¯è§£é¤ç¶æ
+ããï¼CPUã­ãã¯ç¶æ
+ã«é·
+ç§»ãããé¢æ°ï¼ãã®é¢æ°ãï¼CPUã­ãã¯ç¶æ
+ã§å¼ã°ãããã¨ã¯ãªãï¼ã¾ãï¼ã¿
+ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ããªãï¼
+
+(3-4) void i_unlock_cpu(void)
+
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ããã¦ï¼CPUã­ãã¯ç¶æ
+ããï¼CPUã­ãã¯è§£é¤ç¶æ
+ã«é·
+ç§»ãããé¢æ°ï¼ãã®é¢æ°ãï¼CPUã­ãã¯è§£é¤ç¶æ
+ã§å¼ã°ãããã¨ã¯ãªãï¼ã¾ãï¼
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããã¨ããªãï¼
+
+(4) ã¿ã¹ã¯ãã£ã¹ãããã£
+
+(4-1) void dispatch(void)
+
+ã¿ã¹ã¯ãã£ã¹ãããã£ï¼ä»¥ä¸ï¼åã«ãã£ã¹ãããã£ã¨è¨ãï¼ãæç¤ºçã«å¼ã¶ã
+ãã®é¢æ°ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããµã¼ãã¹ã³ã¼ã«å¦çããï¼CPUã­ã
+ã¯ç¶æ
+ã§å¼ã°ããï¼
+
+ãã®é¢æ°ãå¼ã°ããã¨ï¼é¢æ°ãå¼ãã ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ããä¿å­ãï¼ å®è¡
+ã§ããã¿ã¹ã¯ã®ä¸­ã§æé«åªå
+é ä½ã®ã¿ã¹ã¯ï¼schedtskï¼ã®ã³ã³ãã­ã¹ããå¾©å¸°
+ãã¦å®è¡ç¶æ
+ã¨ããï¼å®è¡ã§ããã¿ã¹ã¯ããªãå ´åï¼schedtsk ã NULL ã®å ´
+åï¼ã«ã¯ï¼å²è¾¼ã¿ãè¨±å¯ãã¦ï¼å®è¡ã§ããã¿ã¹ã¯ãã§ããã¾ã§å¾
+ã¤ï¼ããã§ï¼
+å®è¡ã§ããã¿ã¹ã¯ãã§ããã®ãå¾
+ã¤éã«èµ·åãããå²è¾¼ã¿ãã³ãã©ã®åºå£ã§ï¼
+ãã£ã¹ãããã£ãå¼ã°ããªãããã«å¯¾ç­ãããã¨ãå¿
+è¦ã§ããï¼å
+·ä½çã«ã¯ï¼
+å®è¡ã§ããã¿ã¹ã¯ãã§ããã®ãå¾
+ã¤éï¼ä¸æçã«éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«åã
+æãããï¼ãã£ã¹ããããä¿çããããã«ããï¼
+
+æ°ãã«å®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºã
+ãã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼ã¾ãï¼ãã®é¢æ°ãå¼ã³åºã
+ãã¿ã¹ã¯ãæ¬¡ã«å®è¡ç¶æ
+ã«ãªã£ãæï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæº
+ããã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ã³ã®èµ·åã«ã¯ï¼ã¿ã¼ã²ããéä¾å­é¨ãæä¾ãã calltex ã¾ãã¯ call_texrtn 
+ãç¨ãããã¨ãã§ããï¼
+
+(4-2) void exit_and_dispatch(void)
+
+ç¾å¨å®è¡ä¸­ã®ã³ã³ãã­ã¹ããæ¨ã¦ï¼ãã£ã¹ãããã£ãå¼ã³åºãããã®é¢æ°ï¼ã¿
+ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ãããµã¼ãã¹ã³ã¼ã«ï¼å
+·ä½çã«ã¯ï¼ext_tskï¼å¦ç
+ã¾ãã¯ã«ã¼ãã«ã®åæåå¦çããï¼CPUã­ãã¯ç¶æ
+ã§å¼ã°ããï¼
+
+ãã®é¢æ°ãå¼ã°ããã¨ï¼é¢æ°ãå¼ãã ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ããä¿å­ããï¼å®è¡
+ã§ããã¿ã¹ã¯ã®ä¸­ã§æé«åªå
+é ä½ã®ã¿ã¹ã¯ï¼schedtskï¼ã®ã³ã³ãã­ã¹ããå¾©å¸°
+ãã¦å®è¡ç¶æ
+ã¨ããï¼å®è¡ã§ããã¿ã¹ã¯ããªãå ´åï¼schedtsk ã NULL ã®å ´
+åï¼ã®å¦çã¯ï¼dispatch ã¨åæ§ã§ããï¼
+
+æ°ãã«å®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºã
+ãã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼
+
+ãã®é¢æ°ã¯ï¼ã«ã¼ãã«ã®åæåå¦çãããå¼ã°ããããã«ï¼éã¿ã¹ã¯ã³ã³ãã­
+ã¹ããããå¼ã°ãã¦ãæ­£ããå¦çã§ãããã¨ãå¿
+è¦ã§ããï¼ãªãï¼ãã®é¢æ°ã
+ãã¯ãªã¿ã¼ã³ããªãï¼
+
+(5) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+
+(5-1) INTHDR_ENTRY(inthdr)
+(5-2) INT_ENTRY(inthdr)
+
+INTHDR_ENTRY(inthdr) ã¯èµ·åçªå°ã inthdr ã®å²è¾¼ã¿ãã³ãã©ãå¼ã³åºãåº
+å
+¥å£å¦çã«ã¼ãã³ãçæãããã¯ã­ï¼INT_ENTRY(inthdr) ã¯çæããåºå
+¥å£å¦
+çã«ã¼ãã³ã®å
+é ­ã®ã©ãã«ãå¾ãããã®ãã¯ã­ã§ããï¼INT_ENTRY(inthdr) ã§
+å¾ãããã©ãã«ã¯ï¼å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯ã«åºå
+¥å£å¦çã«ã¼ãã³ã®å
+
+é ­çªå°ãç»é²ããããã«ä½¿ãããï¼åºå
+¥å£å¦çã«ã¼ãã³ãçæããå¿
+è¦ããªã
+å ´åã«ã¯ï¼INTHDR_ENTRY(inthdr) ãåã« extern å®£è¨ã«å±éããã°ããï¼
+
+å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã¯ï¼å®è¡ã³ã³ãã­ã¹ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã«
+åãæãï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã¦ï¼å²è¾¼ã¿ãã³ãã©ãå¼ã³åºãï¼å²è¾¼
+ã¿ãã³ãã©ããæ»ãã¨ï¼å
+ã®å®è¡ã³ã³ãã­ã¹ãã«æ»ãã¨ã¨ãã«ï¼å¿
+è¦ã«å¿ãã¦
+ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çãè¡ãï¼ãã£ã¹ãããã¨ã¿
+ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çã¯ï¼å
+·ä½çã«ã¯æ¬¡ã®ããã«è¡ãï¼
+
+(a) ä»¥ä¸ã®å¦çã¯ï¼å²è¾¼ã¿ãã³ãã©ãã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­ã«èµ·åããã
+å ´åã§ï¼reqflg ã TRUE ã®æã®ã¿è¡ãï¼
+
+(b) enadsp ã TRUE ã§ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ï¼runtskï¼ã¨å®è¡ã§ããã¿ã¹ã¯ã®
+ä¸­ã§æé«åªå
+é ä½ã®ã¿ã¹ã¯ï¼schedtskï¼ãä¸è´ãã¦ããªãå ´åã«ã¯ï¼åè
+ã®ã¿
+ã¹ã¯ã®ã³ã³ãã­ã¹ããä¿å­ãï¼å¾è
+ã®ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ããå¾©å¸°ãã¦å®è¡ç¶
+æ
+ã¨ããï¼å®è¡ã§ããã¿ã¹ã¯ããªãå ´åï¼schedtsk ã NULL ã®å ´åï¼ã«ã¯ï¼
+å²è¾¼ã¿ãè¨±å¯ãã¦ï¼å®è¡ã§ããã¿ã¹ã¯ãã§ããã¾ã§å¾
+ã¤ï¼ããã§ãï¼å®è¡ã§ã
+ãã¿ã¹ã¯ãã§ããã®ãå¾
+ã¤éã«èµ·åãããå²è¾¼ã¿ãã³ãã©ã®åºå£ã§ï¼ã¿ã¹ã¯ãã£
+ã¹ãããã£ãå¼ã°ããªãããã«ãããã¨ãå¿
+è¦ã§ãããï¼åºå
+¥å£å¦çãéã¿ã¹
+ã¯ã³ã³ãã­ã¹ãã§å®è¡ãã¦ããã°ï¼ç¹ã«å¯¾ç­ããå¿
+è¦ã¯ãªãï¼
+
+(c) å®è¡ç¶æ
+ã®ã¿ã¹ã¯ï¼(b) ã§ã¿ã¹ã¯ãã£ã¹ããããè¡ã£ãå ´åã¯ï¼æ°ãã«å®
+è¡ç¶æ
+ã¨ãªã£ãã¿ã¹ã¯ï¼ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ãã
+ã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼ã¾ãï¼(b) ã§ã¿ã¹ã¯ãã£ã¹ãããã
+è¡ã£ãå ´åã¯ï¼ããã¾ã§å®è¡ç¶æ
+ã§ãã£ãã¿ã¹ã¯ãæ¬¡ã«å®è¡ç¶æ
+ã«ãªã£ãæï¼
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ã³ã®èµ·åãè¡ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åã«ã¯ï¼ã¿ã¼ã²ããéä¾å­é¨ã
+æä¾ãã calltex ã¾ãã¯ call_texrtn ãç¨ãããã¨ãã§ããï¼
+
+ãã®ãã¯ã­ã§çæããã«ã¼ãã³ã§ã¯ï¼ä¸è¨ã®å¦çã®ä¸é¨ã®ã¿ãè¡ãï¼æ®ãã®å¦
+çã¯å¥ã«ç¨æããã«ã¼ãã³ã«ä»»ãã¦ãããï¼å
+·ä½çã«ã¯ï¼ã¿ã¹ã¯ãã£ã¹ããã
+ã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çã¯ï¼å¥ã«ã«ã¼ãã³ã¨ãã¦ç¨æããã®ãé©
+å½ã§ãããï¼
+
+(5-3) EXCHDR_ENTRY(exchdr)
+(5-4) EXC_ENTRY(exchdr)
+
+EXCHDR_ENTRY(exchdr) ã¯èµ·åçªå°ã exchdr ã®CPUä¾å¤ãã³ãã©ãå¼ã³åºãåº
+å
+¥å£å¦çã«ã¼ãã³ãçæãããã¯ã­ï¼EXC_ENTRY(exchdr) ã¯çæããåºå
+¥å£å¦
+çã«ã¼ãã³ã®å
+é ­ã®ã©ãã«ãå¾ãããã®ãã¯ã­ã§ããï¼EXC_ENTRY(exchdr) ã§
+å¾ãããã©ãã«ã¯ï¼CPUä¾å¤ãã³ãã©åæåãã­ãã¯ã«åºå
+¥å£å¦çã«ã¼ãã³ã®
+å
+é ­çªå°ãç»é²ããããã«ä½¿ãããï¼åºå
+¥å£å¦çã«ã¼ãã³ãçæããå¿
+è¦ããª
+ãå ´åã«ã¯ï¼EXCHDR_ENTRY(exchdr) ãåã« extern å®£è¨ã«å±éããã°ããï¼
+
+CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã¯ï¼å®è¡ã³ã³ãã­ã¹ããéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ã«åãæãï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ãã¦ï¼CPUä¾å¤ãã³ãã©ãå¼ã³åºãï¼
+CPUä¾å¤ãã³ãã©ã«ã¯ï¼VPåã®ãã©ã¡ã¼ã¿ p_excinf ãæ¸¡ãï¼ãã®ãã©ã¡ã¼ã¿
+ã¯ï¼CPUä¾å¤ã«é¢ããæ
+å ±ãä¿å­ããã¹ã¿ãã¯é åã¸ã®ãã¤ã³ã¿ã§ãããã¨ã
+æ³å®ãã¦ãããï¼å
+·ä½çã«ã¯ã¿ã¼ã²ããæ¯ã«å®ããï¼
+
+CPUä¾å¤ãã³ãã©ããæ»ãã¨ï¼å
+ã®å®è¡ã³ã³ãã­ã¹ãã«æ»ãã¨ã¨ãã«ï¼å¿
+è¦ã«
+å¿ãã¦ã¿ã¹ã¯ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çãè¡ãï¼ã¿ã¹
+ã¯ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åº
+å
+¥å£å¦çã®å ´åã¨åæ§ã§ããï¼ä¸è¨ã® (a)ã(c)ï¼ï¼
+
+(6) ã¿ã¹ã¯ã³ã³ãã­ã¹ãè¨­å®å¦çï¼cpu_context.hï¼
+
+ã¿ã¼ã²ããä¾å­ã®ã¿ã¹ã¯ã³ã³ãã­ã¹ããè¨­å®ããããã« create_context ã¨ 
+activate_context ã®2ã¤ã®é¢æ°ãç¨æããï¼2ã¤ã®é¢æ°ãå¼ã³åºããã¨ã§ï¼ã¿
+ã¹ã¯ã®ã³ã³ãã­ã¹ãï¼å
+·ä½çã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å
+å®¹ã¨ã¿ã¹
+ã¯ã®ã¹ã¿ãã¯é åï¼ãã¿ã¹ã¯ãèµ·åã§ããç¶æ
+ã«è¨­å®ããï¼2ã¤ã®é¢æ°ã¯å¼ã°
+ããã¿ã¤ãã³ã°ãç°ãªãã ãã§æç¢ºãªå½¹å²åæ
+ã¯ãªãï¼ã©ã®ãããªå¦çã¯ã©ã¡
+ãã®é¢æ°ã§è¡ããªããã°ãªããªãã¨ããå¶ç´ã¯ãªãï¼
+
+ãããã®é¢æ°ã®å®£è¨ããã³ãã¯ã­ã®å®ç¾©ã¯ï¼cpu_context.h ã«å«ããï¼ããã¯ï¼
+cpu_config.h ãå¦çããæç¹ã§ã¯ TCB ãå®ç¾©ããã¦ããªãããã§ããï¼
+
+(6-1) void create_context(TCB *tcb)
+
+ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼å
+·ä½çã«ã¯ï¼ã¿ã¹ã¯ã®çææ
+ï¼JSPã«ã¼ãã«ã§ã¯ï¼CRE_TSK ã§ã¿ã¹ã¯ãçæããããï¼ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼
+ã«ã®åæåï¼ã¨ã¿ã¹ã¯ã®çµäºæï¼ext_tskï¼ter_tskï¼ã«å¼ã°ããï¼
+
+(6-2) void activate_context(TCB *tcb)
+
+ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼å
+·ä½çã«ã¯ï¼act_tsk ã§ã¿
+ã¹ã¯ãèµ·åããæï¼ã¿ã¹ã¯ã®çµäºæï¼ext_tskï¼ter_tskï¼ã«èµ·åè¦æ±ã®ã­ã¥ã¼
+ã¤ã³ã°ã«ããåèµ·åããæï¼TA_ACT å±æ§ãæå®ãã¦ã¿ã¹ã¯ãçæããæï¼ã¿
+ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®åæåï¼ã«å¼ã°ããï¼
+
+(6-3) ACTIVATED_STACK_SIZEï¼ãªãã·ã§ã³ï¼
+
+ext_tsk ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ããããã¼é åã®ãµã¤ãºãå®ç¾©ããããã®ãã¯ã­ï¼
+ããã¼é åãå¿
+è¦ãªãå ´åã¯ï¼ãã®ãã¯ã­ãå®ç¾©ããå¿
+è¦ã¯ãªãï¼
+
+ext_tsk ã¯ï¼èªã¿ã¹ã¯ãçµäºãããå¾ï¼èªã¿ã¹ã¯ã«å¯¾ãã¦ create_context ã
+å¼ã¶ï¼ã¾ãï¼ã¿ã¹ã¯ã®èµ·åè¦æ±ãã­ã¥ã¼ã¤ã³ã°ããã¦ããå ´åã«ã¯ï¼èªã¿ã¹ã¯
+ã«å¯¾ãã¦ activate_context ãå¼ã¶ï¼create_context ã¨ activate_context 
+ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åãæ¸ãæããå ´åããããï¼ããã ext_tsk
+ï¼ããã³ããããå¼ã°ããé¢æ°ï¼ãä½¿ç¨ãã¦ããã¹ã¿ãã¯é åã¨éãªã£ãå ´åï¼
+èªåã®ä½¿ç¨ãã¦ããã¹ã¿ãã¯é åãèªåã§ç ´å£ããçµæã«ãªãï¼
+
+ACTIVATE_STACK_SIZE ãï¼create_context ã¨ activate_context ãæ¸ãæã
+ãã¹ã¿ãã¯é åã®ãµã¤ãºï¼å³å¯ã«ã¯ï¼ã¹ã¿ãã¯ã®åºããä½ãã¤ããã¾ã§ãæ¸ã
+æãããï¼ã«ãã¯ã­å®ç¾©ãã¦ããã¨ï¼ext_tsk å
+ã§ã¹ã¿ãã¯ä¸ã«å®ç¾©ãããµã¤
+ãºã®ããã¼é åãç¢ºä¿ãï¼èªåã®ä½¿ç¨ãã¦ããã¹ã¿ãã¯é åãç ´å£ããã®ãé²
+ãï¼
+
+ãªãï¼ãããå®ç¾ããããã«ï¼å¦çç³»ä¾å­ã®æ©è½ã§ãã alloca ãç¨ãã¦ããï¼
+gcc ã¯ alloca ããµãã¼ããã¦ãããï¼ä»ã®ã³ã³ãã¤ã©ãç¨ããå ´åã«ã¯ï¼
+alloca ããµãã¼ããã¦ãããç¢ºèªãå¿
+è¦ã§ããï¼ã¾ãï¼alloca ãç¨ããå ´å
+ã«ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãå¿
+è¦ãªå ´åã«ã¯ï¼tool_config.h ããã¤ã³ã¯ã«ã¼ã
+ããå¿
+è¦ãããï¼
+
+(7) ã¿ã¼ã²ããä¾å­ã®åæåï¼çµäºå¦ç
+
+(7-1) void cpu_initialize(void)
+
+ãã­ã»ããµä¾å­ã®åæåå¦çï¼ã«ã¼ãã«ã®åæåå¦çã§ï¼ã«ã¼ãã«å
+ã®åã¢ã¸ã¥
+ã¼ã«ãåæåããåã«å¼ã°ããï¼
+
+(7-2) void sys_initialize(void)
+
+ã·ã¹ãã ä¾å­ã®åæåå¦çï¼ã«ã¼ãã«ã®åæåå¦çã§ï¼cpu_initialize ã«ç¶
+ãã¦å¼ã°ããï¼
+
+(7-3) void tool_initialize(void)
+
+éçºç°å¢ä¾å­ã®åæåå¦çï¼ã«ã¼ãã«ã®åæåå¦çã§ï¼sys_initialize ã«ç¶
+ãã¦å¼ã°ããï¼
+
+ä¸ã®3ã¤ã®é¢æ°ã¯ï¼ã«ã¼ãã«èµ·åå¦çï¼kernel_start é¢æ°ï¼ã®æåã§ãã®é ã«
+å¼ã³åºãããï¼3ã¤ã®é¢æ°ãå¼ã³åºããå¾ã®æç¹ã§ï¼CPUã­ãã¯ç¶æ
+ã«ãªã£ã¦ã
+ãªããã°ãªããªãï¼
+
+(7-4) void cpu_terminate(void);
+
+ãã­ã»ããµä¾å­ã®çµäºæå¦çï¼ã«ã¼ãã«ã®çµäºå¦çã§å¼ã°ããï¼
+
+(7-5) sys_exit(void)
+
+ã·ã¹ãã ã®çµäºå¦çï¼ã«ã¼ãã«ã®çµäºå¦çã§ï¼cpu_terminate ã«ç¶ãã¦å¼ã°ã
+ãï¼ãã®é¢æ°ããã¯ãªã¿ã¼ã³ããªãï¼ROMã¢ãã¿ãæã¤ã·ã¹ãã ã§ã¯ï¼ROMã¢ã
+ã¿å¼åºãã§å®ç¾ãããã¨ãæ³å®ãã¦ããï¼
+
+(7-6) call_atexit(void)
+
+éçºç°å¢ä¾å­ã®çµäºå¦çï¼å¿
+è¦ã«å¿ãã¦ï¼atexit ã«ãã£ã¦ç»é²ãããé¢æ°ã®
+å®è¡ã C++ ã«ããããã¹ãã©ã¯ã¿ã®å®è¡ãè¡ãï¼
+
+(8) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®å®ç¾©
+
+(8-1) void define_inh(INHNO inhno, FP inthdr)
+
+å²è¾¼ã¿ãã³ãã©çªå· inhno ã®èµ·åçªå°ã inthdr ã«è¨­å®ããï¼å²è¾¼ã¿ç®¡çæ©
+è½ã®åæåå¦çããå¼ã°ããï¼
+
+(8-2) void define_exc(EXCNO excno, FP exchdr)
+
+CPUä¾å¤ãã³ãã©çªå· excno ã®èµ·åçªå°ã exchdr ã«è¨­å®ããï¼CPUä¾å¤ãã³
+ãã©ç®¡çæ©è½ã®åæåå¦çããå¼ã°ããï¼
+
+(9) CPUä¾å¤çºçæç¹ã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+
+(9-1) BOOL exc_sense_context(VP p_excinf)
+
+CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã¯ FALSEï¼é
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã¯ TRUE ãè¿ãé¢æ°ï¼CPUä¾å¤ãã³ãã©ããå¼ã°ã
+ããµã¼ãã¹ã³ã¼ã«å¦çããå¼ã°ããï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã¸ã®å¼
+æ°ããã®ã¾ã¾æ¸¡ãããï¼
+
+(9-2) BOOL exc_sense_lock(VP p_excinf)
+
+CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããï¼CPUã­ãã¯ç¶æ
+ã®å ´åã¯ TRUEï¼CPUã­ãã¯
+è§£é¤ç¶æ
+ã®æã¯ FALSE ãè¿ãé¢æ°ï¼CPUä¾å¤ãã³ãã©ããå¼ã°ãããµã¼ãã¹ã³
+ã¼ã«å¦çããå¼ã°ããï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ããã®ã¾ã¾
+æ¸¡ãããï¼
+
+(10) TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+TCB ä¸­ã®ãã£ã¼ã«ãã®é
+ç½®ã¯æ§è½ã«å¤§ããå½±é¿ããã¨æãããããï¼ã¿ã¼ã²ã
+ãä¾å­ã«ãã£ã¼ã«ãã®ãããå¹
+ãå¤æ´ã§ããããã«ãã¦ããï¼å
+·ä½çã«ã¯ï¼ä»¥
+ä¸ã®2ã¤ã®ãã£ã¼ã«ãã®ãããå¹
+ãå¤æ´ã§ããï¼ãããã®ãã¯ã­ãå®ç¾©ããªã
+å ´åï¼æå°ãããå¹
+ã¨ãªãï¼
+
+(10-1) TBIT_TCB_TSTAT           tstatï¼ã¿ã¹ã¯ç¶æ
+ï¼ã®ãããå¹
+
+(10-2) TBIT_TCB_PRIORITY        priorityï¼åªå
+åº¦ï¼ãã£ã¼ã«ãã®ãããå¹
+
+
+32ããããã­ã»ããµã®å ´åã«ã¯ï¼ãããã 8 ã«å®ç¾©ããã®ãå¹ççã§ããï¼
+
+(11) ãããããããµã¼ãã«ããããµã¼ãå½ä»¤ãä½¿ãããã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+ãã­ã»ããµãããããµã¼ãå½ä»¤ãæã¤å ´åï¼ã¬ãã£ã­ã¥ã¼ã®ãããããããµã¼
+ãã«ãã®å½ä»¤ãç¨ããæ¹ãå¹çãããï¼ãã®å ´åï¼ä»¥ä¸ã®é¢æ°ããã³ãã¯ã­ã
+ã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ããï¼
+
+(11-1) CPU_BITMAP_SEARCH
+
+ãã­ã»ããµã®ããããµã¼ãå½ä»¤ãç¨ããå ´åï¼ãã®ãã¯ã­ãå®ç¾©ããï¼ãã®ã
+ã¯ã­ãå®ç¾©ãããã¨ã«ããï¼ã¿ã¼ã²ããéä¾å­é¨ãã bitmap_search ãåã
+é¤ãããï¼
+
+(11-2) UINT bitmap_search(UINT bitmap)
+
+ããããµã¼ããè¡ãé¢æ°ï¼bitmap å
+ã® 1 ã®ãããã®å
+ï¼æãä¸ä½ã®ãã®ããµ
+ã¼ããï¼ãã®ãããçªå·ãè¿ãï¼ãããçªå·ã¯ï¼æä¸ä½ãããï¼LSBï¼ã 0 ã¨
+ããï¼bitmap ã®ä¸ä½16ãããã«ï¼å¿
+ã 1 ã®ããããããï¼ããªãã¡ï¼bitmap 
+ã« 0 ãæå®ããããã¨ã¯ãªãï¼ãã¨ãä»®å®ãã¦ããï¼
+
+æ¨æºã©ã¤ãã©ãªã«ããããµã¼ãå½ä»¤ãç¨ãã ffs ãããå ´åï¼ffs ãç¨ãã¦ 
+bitmap_search ãæ¬¡ã®ããã«å®ç¾©ããã°ããï¼
+        #define bitmap_search(bitmap)   (ffs(bitmap) - 1)
+
+ãã­ã»ããµã®æã¤ããããµã¼ãå½ä»¤ãï¼æãä¸ä½ã® 1 ã®ãããããµã¼ããã
+ãã®ã§ããå ´åã«ã¯ï¼æ¬¡ã®ãã¯ã­ãå®ç¾©ãã¦ï¼ãããã®å²ä»ããå¤æ´ãããã¨
+ãã§ããï¼
+
+(11-3) UINT PRIMAP_BIT(pri)
+
+ã¿ã¹ã¯åªå
+åº¦ã®å
+é¨è¡¨ç¾ï¼æé«åªå
+åº¦ã 0 ã¨ããï¼ãï¼ããã«å¯¾å¿ãããã
+ããããã«å¤æããï¼ããã©ã«ãã®å®ç¾©ã¯æ¬¡ã®éãï¼
+        #define PRIMAP_BIT(pri)         (1 << (pri))
+
+(12) ã¿ã¼ã²ããä¾å­ã®ãµã¼ãã¹ã³ã¼ã«ï¼ãªãã·ã§ã³ï¼
+
+ä»¥ä¸ã®ãµã¼ãã¹ã³ã¼ã«ãã¿ã¼ã²ããä¾å­ã«ãµãã¼ãããå ´åã«ã¯ï¼ãã®å¦çã«
+ã¼ãã³ãã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ããï¼
+
+(12-1) chg_ixx
+(12-2) get_ixx
+(12-3) dis_int
+(12-4) ena_int
+
+(13) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»é¢é£ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+(13-1) SUPPORT_VXGET_TIM
+
+ã¿ã¼ã²ããéä¾å­é¨ã® vxget_timãµã¼ãã¹ã³ã¼ã«å¦çãç¨ããå ´åã«ï¼ãã®ã
+ã¯ã­ãå®ç¾©ããï¼
+
+(13-2) hw_timer.h
+
+ã¿ã¼ã²ããä¾å­ã®ã¿ã¤ãã¢ã¸ã¥ã¼ã«ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼ã¿ã¼ã²ããéä¾
+å­é¨ã® vxget_timãµã¼ãã¹ã³ã¼ã«å¦çãç¨ããå ´åï¼ã¿ã¼ã²ããä¾å­ã®ã¿ã¤ã
+ã¢ã¸ã¥ã¼ã«ãå¿
+è¦ã«ãªãï¼ãã®ããã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ãã 
+hw_timer.h ã¯ï¼ã·ã¹ãã ãµã¼ãã¹ã®ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã§ç¨ãããã®
+ã¨å
+±éã«ãã¦ããï¼
+
+(14) ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ï¼cpu_rename.hï¼
+     cpu_unrename.hï¼sys_rename.hï¼sys_unrename.hï¼
+
+ã¿ã¼ã²ããä¾å­é¨ã§ç¨ãã¦ããè­å¥åï¼ã¢ã¸ã¥ã¼ã«å
+ã«éããè­å¥åãé¤ãï¼
+ãï¼Î¼ITRON4.0ä»æ§ã«å¾ã£ã¦ _kernel_ ã§å§ã¾ããã®ã«ãªãã¼ã ããå¿
+è¦ãã
+ãï¼
+
+å
+·ä½çã«ã¯ï¼ãã­ã»ããµä¾å­é¨ã§ç¨ãã¦ããè­å¥å­ããªã¹ãã¢ãããããã¡ã¤
+ã«ã cpu_rename.def ã«ï¼ã·ã¹ãã ä¾å­é¨ã§ç¨ãã¦ããè­å¥å­ããªã¹ãã¢ãã
+ãããã¡ã¤ã«ã sys_rename.def ã«ä½æããï¼genrename ä½¿ã£ã¦ï¼ãããã®ãã¡
+ã¤ã«ããï¼ãããã cpu_rename.h ã¨ cpu_unrename.hï¼sys_rename.h ã¨ 
+sys_unrename.h ãçæããï¼xxx_rename.def ãã xxx_rename.h ã¨ 
+xxx_unrename.h ãçæããã«ã¯ï¼ã$(KERNEL_DIR)/utils/genrename xxxãã
+å®è¡ããã°ããï¼
+
+ã¾ãï¼cpu_config.h ã®å
+é ­ãã cpu_rename.h ãï¼sys_config.h ã®å
+é ­ãã 
+sys_rename.h ãã¤ã³ã¯ã«ã¼ãããï¼
+
+genrename ãçæãããã¡ã¤ã«ã¯æ¬¡ã®ãããªå
+å®¹ã§ããï¼xxx_rename.def ã«
+xxxx ã¨ããè­å¥å­ãå«ã¾ãã¦ããå ´åï¼xxx_rename.h ã«ã¯æ¬¡ã®ãããªãã¯ã­
+å®ç¾©ãçæãããï¼
+
+#define xxxx            _kernel_xxxx
+#ifdef LABEL_ASM
+#define _xxxx           __kernel_xxxx
+#endif /* LABEL_ASM */
+
+ããã§ï¼LABEL_ASM ã¯ï¼ã¢ã»ã³ããªè¨èªã¬ãã«ã®è­å¥åãï¼Cè¨èªã¬ãã«ã®è­
+å¥åã®å
+é ­ã« "_" ãä»ãããã®ã«ãªãå ´åã«å®ç¾©ãã¹ããã¯ã­ã§ããï¼å®ç¾©
+ã®æ¹æ³ã«ã¤ãã¦ã¯ãã·ã¹ãã æ§ç¯æ¹æ³ã®è¨­å®ããåç
+§ï¼ï¼
+
+ã¾ãï¼xxx_unrename.h ã«ã¯æ¬¡ã®ãããªãã¯ã­å®ç¾©è§£é¤ãçæãããï¼
+
+#undef xxxx
+#ifdef LABEL_ASM
+#undef _xxxx
+#endif /* LABEL_ASM */
+
+(15) ãã¬ã¼ã¹ã­ã°ã®ããã®ãã¯ã­å®ç¾©ï¼tool_config.hï¼
+
+ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°ã®åå¾ã¯ï¼éçºç°å¢ä¾å­é¨ã§ãã¬ã¼ã¹ã­ã°ã®ããã®ã
+ã¯ã­ãå®ç¾©ãããã¨ã«ãã£ã¦è¡ãï¼ãã¬ã¼ã¹ã­ã°ã®ããã®ãã¯ã­ã¯ç´150ç¨®é¡
+ããï¼åå¾ãããã­ã°æ
+å ±ã«å¯¾å¿ãããã¯ã­ãå®ç¾©ããï¼ãã¬ã¼ã¹ã­ã°ãåå¾
+ããªãå ´åã«ã¯ï¼ãããã®ãã¯ã­ãç©ºã«å®ç¾©ããã°ããï¼
+
+(16) ãã®ä»
+
+(16-1) TARGET_NAME
+
+èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããåï¼
+
+(16-2) void sys_putc(char c)
+
+ã¿ã¼ã²ããã·ã¹ãã ã®ä½ã¬ãã«ã®æå­åºåã«ã¼ãã³ï¼ROMã¢ãã¿ãæã¤ã·ã¹ã
+ã ã§ã¯ï¼ROMã¢ãã¿å¼ã³åºãã§å®ç¾ãããã¨ãæ³å®ãã¦ããï¼
+
+(16-3) OMIT_CALLTEXï¼ãªãã·ã§ã³ï¼
+
+ã¿ã¼ã²ããéä¾å­é¨ã calltex ãæä¾ããå¿
+è¦ããªãå ´åã«ï¼ãã®ãã¯ã­ã
+å®ç¾©ããï¼è©³ããã¯ï¼ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åé¢æ°ã¨ãã®ä¸­ã§åç
+§ã
+ã TCB ã®ãã£ã¼ã«ããã®ç¯ãåç
+§ã®ãã¨ï¼
+
+(16-4) LABEL_ALIAS(new_label, defined_label)ï¼ãªãã·ã§ã³ï¼tool_config.hï¼
+
+new_label ã defined_label ã¨åãã¢ãã¬ã¹ã«å®ç¾©ããããã®ãã¯ã­ï¼ãã®
+ãããªãã¯ã­ãå®ç¾ã§ããªãå ´åã«ã¯ï¼å®ç¾©ãçç¥ãããã¨ãã§ããï¼ãã®ã
+ã¯ã­å®ç¾©ã¯ï¼tool_config.h ã®ä¸­ã§è¡ãã®ãæ¨æºã¨ããï¼
+
+(16-5) COPYRIGHT_CPUï¼ãªãã·ã§ã³ï¼
+(16-6) COPYRIGHT_SYSï¼ãªãã·ã§ã³ï¼
+
+ã«ã¼ãã«èµ·åæã®ã¡ãã»ã¼ã¸ã«ï¼ãããããã­ã»ããµä¾å­é¨ããã³ã·ã¹ãã ä¾
+å­é¨ã®èä½æ¨©è¡¨ç¤ºãè¿½å ããããã®ãã¯ã­ï¼
+
+(16-7) __STK_UNITï¼ãªãã·ã§ã³ï¼
+(16-8) __MPF_UNITï¼ãªãã·ã§ã³ï¼
+
+æ¨æºã§ã¯ï¼ã¹ã¿ãã¯é åã¨åºå®é·ã¡ã¢ãªãã¼ã«é åã¯ï¼VPåã®ãµã¤ãºã«ã¢ã©ã¤
+ã³ããï¼ãããï¼ããå¤§ããåä½ã§ã¢ã©ã¤ã³ãããå¿
+è¦ãããå ´åã«ã¯ï¼
+__STK_UNIT ã¨ __MPF_UNIT ãï¼ããããã¢ã©ã¤ã³ãããåä½ã®ãã¼ã¿åã«å®
+ç¾©ããï¼ãã ãï¼__STK_UNIT ããã³ __MPF_UNIT ã®ãµã¤ãºã¯ï¼2ã®å·¾ä¹ã§ãªã
+ãã°ãªããªãï¼
+
+(16-9) __EMPTY_LABEL(x, y)ï¼ãªãã·ã§ã³ï¼tool_config.hï¼
+
+å x ã®ãµã¤ãº 0 ã®é
+å y ãå®ç¾©ããããã®ãã¯ã­ï¼ãµã¤ãº 0 ã®é
+åãå®ç¾©
+ã§ããã³ã³ãã¤ã©ï¼GNUéçºç°å¢ã¯ããã«è©²å½ï¼ã§ã¯å®ç¾©ãçç¥ãããã¨ãã§
+ããï¼ãã®ãã¯ã­å®ç¾©ã¯ï¼tool_config.h ã®ä¸­ã§è¡ãã®ãæ¨æºã¨ããï¼
+
+
+ï¼ï¼ã¿ã¼ã²ããä¾å­é¨ãç¨ãããã¨ãã§ããã¿ã¼ã²ããéä¾å­é¨ã®å¤æ°ã»é¢æ°
+
+(1) ã¿ã¹ã¯ç®¡çé¢é£ã®å¤æ°
+
+(1-1) TCB *runtsk
+
+å®è¡ç¶æ
+ã®ã¿ã¹ã¯ï¼ï¼ãã­ã»ããµãã³ã³ãã­ã¹ããæã£ã¦ããã¿ã¹ã¯ï¼ã® TCB 
+ãæããã¤ã³ã¿ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãå ´åã¯ NULL ã«ããï¼ãµã¼ãã¹ã³ã¼
+ã«ã®å¦çä¸­ã§ï¼èªã¿ã¹ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¿ã¹ã¯ï¼ã«é¢ããæ
+å ±
+ãåç
+§ããå ´åã¯ runtsk ãä½¿ãï¼ã«ã¼ãã«ã®åæåå¦çä»¥å¤ã§ï¼ãã®å¤æ°ã
+æ¸ãæããã®ã¯ï¼ã¿ã¹ã¯ãã£ã¹ãããã£ï¼ããªãã¡ï¼ã¿ã¼ã²ããä¾å­é¨ï¼ã®ã¿
+ã§ããï¼
+
+(1-2) TCB *schedtsk
+
+å®è¡ã§ããã¿ã¹ã¯ã®ä¸­ã§æé«åªå
+é ä½ã®ã¿ã¹ã¯ã® TCB ãæããã¤ã³ã¿ï¼å®è¡
+ã§ããã¿ã¹ã¯ããªãå ´åã¯ NULL ã¨ãªãï¼ãã£ã¹ãããç¦æ­¢ç¶æ
+ãªã©ï¼ãã£ã¹
+ããããä¿çããã¦ããéã¯ï¼runtsk ã¨ä¸è´ãã¦ããã¨ã¯éããªãï¼ãã®å¤
+æ°ãæ¸ãæããã®ã¯ã¹ã±ã¸ã¥ã¼ã©ã®ã¿ã§ï¼ã¿ã¼ã²ããä¾å­é¨ã¯ãã®å¤æ°ãæ¸ã
+æãã¦ã¯ãªããªãï¼
+
+(1-3) BOOL reqflg
+
+å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£å¦çã«ï¼ã¿ã¹ã¯ãã£ã¹ãããã¾ãã¯
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¦æ±ãããã¨ãç¤ºããã©ã°ï¼ãã®å¤æ°ã¯ãµã¼
+ãã¹ã³ã¼ã«å¦çï¼ã¿ã¼ã²ããéä¾å­é¨ï¼ã§ã»ãããï¼å²è¾¼ã¿ãã³ãã©ï¼CPUä¾
+å¤ãã³ãã©ã®åºå£å¦çï¼ã¿ã¼ã²ããä¾å­é¨ï¼ã§åç
+§ï¼ã¯ãªã¢ããï¼
+
+(1-4) BOOL enadsp
+
+ã¿ã¹ã¯ãã£ã¹ãããè¨±å¯ç¶æ
+ã§ããï¼ããªãã¡ï¼ã¿ã¹ã¯ãã£ã¹ãããç¦æ­¢ç¶æ
+
+ã§ãªãï¼ãã¨ãç¤ºããã©ã°ï¼ãã®å¤æ°ã¯ãµã¼ãã¹ã³ã¼ã«ï¼dis_dspï¼ena_dspï¼
+ã¿ã¼ã²ããä¾å­ã« chg_ixxï¼å¦çã®ä¸­ã§æ¸ãæããï¼
+
+ã¾ãï¼ã¿ã¹ã¯ãã£ã¹ãããã£ï¼ã¿ã¼ã²ããä¾å­é¨ï¼ã®ä¸­ã§ï¼å®è¡ã§ããã¿ã¹ã¯
+ãã§ããã®ãå¾
+ã¤éã«èµ·åãããå²è¾¼ã¿ãã³ãã©ã®åºå£ã§ã¿ã¹ã¯ãã£ã¹ãããã£
+ãå¼ã°ããªãããã«ããããã«ï¼ãã®å¤æ°ãä¸æçã« FALSE ã«è¨­å®ãããã¨
+ãã§ããï¼
+
+(2) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åé¢æ°ã¨ãã®ä¸­ã§åç
+§ãã TCB ã®ãã£ã¼ã«ã
+
+(2-1) void calltex(void)
+(2-2) void call_texrtn(void)
+
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ãé¢æ°ï¼calltex ã¯ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ã
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ããã°ï¼call_texrtn ãå¼ã³åº
+ãï¼call_texrtn ã¯ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼ã³åºããè¡ãï¼ã¿ã¹ã¯ä¾å¤
+å¦çã«ã¼ãã³ãå¼ã³åºãæã¯ï¼ä¸æçã«CPUã­ãã¯ãè§£é¤ããï¼
+
+ãããã®é¢æ°ã¯ï¼ãã£ã¹ãããã£ãå²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£
+å¦çããï¼CPUã­ãã¯ç¶æ
+ã§å¼ã°ãããã¨ãæ³å®ãã¦ããï¼calltex ãå¼ã³åº
+ãã®ãæãç°¡åã§ãããï¼å®è¡å¹çãä¸ããããã«ã¯ï¼èµ·åæ¡ä»¶ã®ãã§ãã¯ã
+ã¢ã»ã³ããªè¨èªã§è¨è¿°ãï¼call_texrtn ãå¼ã³åºããæ¹ãããï¼ãã§ãã¯ãã¹
+ãèµ·åæ¡ä»¶ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããéä¾å­é¨ã® calltex ã®ã½ã¼ã¹ã³ã¼ããå
+ç
+§ãããã¨ï¼ã¾ããã®å ´åã«ã¯ï¼OMIT_CALLTEX ããã¯ã­å®ç¾©ãããã¨ã§ï¼ã¿
+ã¼ã²ããéä¾å­é¨ãã calltex ãåãé¤ãããï¼
+
+(2-3) BOOL enatex
+(2-4) TEXPTN texptn
+
+call_texrtn ãå¼ã³åºãããã«ï¼èµ·åæ¡ä»¶ã®ãã§ãã¯ãã¢ã»ã³ããªè¨èªã§è¨è¿°
+ããå ´åã«ã¯ï¼TCB å
+ã®ãããã®ãã£ã¼ã«ããåç
+§ããå¿
+è¦ãããï¼
+
+(3) ã·ã¹ãã ã­ã°æ©è½
+
+ç°å¸¸äºè±¡ãéç¥ããããã«ï¼ã·ã¹ãã ã­ã°æ©è½ã¸ã®ã­ã°åºåé¢æ°ãç¨ãããã¨
+ãã§ããï¼ã·ã¹ãã ã­ã°æ©è½ã«ã¤ãã¦ã¯ï¼ã¦ã¼ã¶ãºããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+
+ï¼ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ã®ãã¼ã¿åãé¢æ°ãªã©
+
+5.1 ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã®ããã®å®ç¾©
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã®ãã
+ã®å®ç¾©ã¯æ¬¡ã®éãã§ããï¼ãããã®å®ç¾©ã¯ï¼cpu_defs.hã¾ãã¯sys_defs.hï¼ã¾
+ãã¯ãããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼ã¾ãï¼é¢æ°ã®å®ä½ã
+å¿
+è¦ãªå ´åï¼Cè¨èªã®å ´åã¯cpu_config.cã¾ãã¯sys_config.cã«ï¼ã¢ã»ã³ããª
+è¨èªã®å ´åã¯cpu_support.Sã¾ãã¯sys_support.Sã«è¨è¿°ããï¼
+
+(1) å¾®å°æéå¾
+ã¡é¢é£
+
+(1-1) void sil_dly_nse(UINT dlytim)
+
+dlytimã§æå®ãããæéï¼åä½: 1ããç§ï¼å¾
+ã¤é¢æ°ãã¿ã¼ã²ããä¾å­é¨ã§æ
+ä¾ããï¼
+
+å®ç¾æ¹æ³ã¯ã¿ã¼ã²ããä¾å­ã§ãããï¼ä»¥ä¸ã®é¢æ°ãã¢ã»ã³ããªè¨èªã§è¨è¿°ãã
+ãã®ãï¼ãã­ã»ããµä¾å­é¨ã«å«ããã®ãæ¨æºçãªæ¹æ³ã¨ããï¼ã¢ã»ã³ããªè¨èª
+ã§è¨è¿°ããã®ã¯ï¼ã³ã³ãã¤ã©ã®æé©åã«ä¾å­ããªãããã«ããããã§ããï¼ã¾
+ããã®é¢æ°ã¯ï¼ã§ããéãã¡ã¢ãªã¢ã¯ã»ã¹ãè¡ããªãããã«å®è£
+ãã¹ãã§ããï¼
+
+        void sil_dly_nse(UINT dlytim)
+        {
+                if (dlytim > SIL_DLY_TIM1) {
+                        dlytim -= SIL_DLY_TIM1;
+                        while (dlytim > SIL_DLY_TIM2) {
+                                dlytim -= SIL_DLY_TIM2;
+                        }
+                }
+        }
+
+(1-2) SIL_DLY_TIM1ï¼ãªãã·ã§ã³ï¼
+(1-3) SIL_DLY_TIM2ï¼ãªãã·ã§ã³ï¼
+
+sil_dly_nseãä¸è¨ã®æ¨æºçãªæ¹æ³ã§å®ç¾ããå ´åï¼ãã®2ã¤ã®å®æ°ãã·ã¹ãã 
+ä¾å­é¨ã§ãã¯ã­å®ç¾©ããï¼ãªãï¼ãã®2ã¤ã®å®æ°ã®æ±ºå®ãå©ãããã­ã°ã©ã ã
+ç¨æãã¦ããï¼å¸æãããæ¹ã¯ï¼ç¸è«ããããï¼
+
+(2) å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡é¢é£ï¼ãªãã·ã§ã³ï¼
+
+(2-1) SIL_PRE_LOC
+(2-2) SIL_LOC_INT()
+(2-3) SIL_UNL_INT()
+
+ã¿ã¼ã²ããä¾å­ã§å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡æ¹æ³ãå¤æ´ãããå ´åã«ã¯ï¼ããã
+ã®ãã¯ã­ã«ãã®æ¹æ³ãå®ç¾©ããï¼ããããã¯ã­ãå®ç¾©ããªãå ´åã«ã¯ï¼ ã¿ã¼
+ã²ããéä¾å­é¨ã«ããã¦ï¼ã«ã¼ãã«ã®CPUã­ãã¯ã®æ©è½ãç¨ãã¦å²è¾¼ã¿ã­ãã¯
+ç¶æ
+ãå®ç¾ãããï¼
+
+(3) ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³ã®å®ç¾©
+
+(3-1) SIL_ENDIAN
+
+ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯SIL_ENDIAN_LITTLEï¼ï¼0ï¼ï¼ããã°ã¨ã³ãã£
+ã¢ã³ãã­ã»ããµã§ã¯SIL_ENDIAN_BIGï¼ï¼1ï¼ã«ãã¯ã­å®ç¾©ããï¼
+
+(4) ã¨ã³ãã£ã¢ã³ã®åè»¢ï¼ãªãã·ã§ã³ï¼
+
+(4-1) VH SIL_REV_ENDIAN_H(VH data)
+(4-2) VW SIL_REV_ENDIAN_W(VW data)
+
+ã¨ã³ãã£ã¢ã³ã®åè»¢ãå¹çããå®ç¾ããæ¹æ³ãããå ´åã«ã¯ï¼ãããã®ãã¯ã­
+ã«ãã®æ¹æ³ãå®ç¾©ããï¼ãããã®ãã¯ã­ãå®ç¾©ããªãå ´åã«ã¯ï¼æ¨æºçãªæ¹æ³
+ã§ã¨ã³ãã£ã¢ã³ã®åè»¢ãè¡ãããï¼
+
+(5) ã¨ã³ãã£ã¢ã³åè»¢ä»ãã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹ï¼ãªãã·ã§ã³ï¼
+
+ã¨ã³ãã£ã¢ã³ãåè»¢ãã¦ã¡ã¢ãªãèª­åºãï¼æ¸è¾¼ã¿ããå¹ççãªæ¹æ³ãããå ´åï¼
+è©²å½ããã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãã¿ã¼ã²ããä¾å­é¨ã§ç¨æãï¼ã¿ã¼ã²ããé
+ä¾å­é¨ã®æ¨æºçãªå®ç¾©ãç¡å¹ã«ããããã®ãã¯ã­ãå®ç¾©ããï¼
+
+(5-1) VH sil_reh_bem(VP mem)                OMIT_SIL_REH_BEM
+(5-2) void sil_wrh_bem(VP mem, VH data)     OMIT_SIL_WRH_BEM
+(5-3) VW sil_rew_bem(VP mem)                OMIT_SIL_REW_BEM
+(5-4) void sil_wrw_bem(VP mem, VW data)     OMIT_SIL_WRW_BEM
+
+ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼ãããã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãã¿ã¼
+ã²ããä¾å­é¨ã§ç¨æãï¼å³ã«ç¤ºããã¯ã­ãå®ç¾©ããï¼
+
+(5-5) VH sil_reh_lem(VP mem)                OMIT_SIL_REH_LEM
+(5-6) void sil_wrh_lem(VP mem, VH data)     OMIT_SIL_WRH_LEM
+(5-7) VW sil_rew_lem(VP mem)                OMIT_SIL_REW_LEM
+(5-8) void sil_wrw_lem(VP mem, VW data)     OMIT_SIL_WRW_LEM
+
+ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼ãããã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãã¿ã¼
+ã²ããä¾å­é¨ã§ç¨æãï¼å³ã«ç¤ºããã¯ã­ãå®ç¾©ããï¼
+
+(6) æ¨æºã®ã¢ã¯ã»ã¹é¢æ°ã®ç¡å¹åï¼ãªãã·ã§ã³ï¼
+
+(6-1) OMIT_SIL_ACCESS
+
+ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãªã©ã§ï¼ãã¹ã¦ã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãã¿ã¼ã²ãã
+ä¾å­é¨ã§ç¨æããå ´åã«ã¯ï¼ã¿ã¼ã²ããéä¾å­é¨ã®æ¨æºçãªå®ç¾©ãç¡å¹ã«ãã
+ããã«ï¼ãã®ãã¯ã­ãå®ç¾©ããï¼
+
+5.2 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãç¨ã®ãã¼ã¿åãé¢æ°ãªã©
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãç¨ã®ãã¼ã¿åãé¢æ°
+ãªã©ã¯æ¬¡ã®éãã§ããï¼ãããã®å®ç¾©ã¯ï¼hw_timer.hï¼ã¾ãã¯ãããããã¤ã³
+ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼é¢æ°ã®å®ä½ãå¿
+è¦ãªå ´åã«ã¯ï¼é©åãªãã¡
+ã¤ã«ãç¨æããï¼
+
+(1) INHNO_TIMER
+
+ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·ãå®ç¾©ãããã¯ã­ãï¼ã¿ã¼ã²ããä¾å­é¨ã§
+æä¾ããï¼
+
+(2) ã¿ã¤ãã®å¶å¾¡
+
+(2-1) void hw_timer_initialize(void)
+
+ã¿ã¤ããåæåãï¼ã¿ã¤ãå²è¾¼ã¿ãå¨æçã«çºçãããé¢æ°ãï¼ã¿ã¼ã²ããä¾
+å­é¨ã§æä¾ããï¼ã¿ã¤ãå²è¾¼ã¿ã®å¨æã¯ï¼TIC_NUMEã¨TIC_DENOã§æå®ãããæ
+éã¨ä¸è´ãããï¼
+
+(2-2) void hw_timer_int_clear(void)
+
+ã¿ã¤ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããé¢æ°ãï¼ã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼
+
+(2-3) void hw_timer_terminate(void)
+
+ã¿ã¤ãã®åä½ãåæ­¢ããï¼ã¿ã¤ãå²è¾¼ã¿ãçºçããªãããã«ããé¢æ°ãï¼ã¿ã¼
+ã²ããä¾å­é¨ã§æä¾ããï¼
+
+(3) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½é¢é£ï¼ãªãã·ã§ã³ï¼
+
+ã¿ã¼ã²ããéä¾å­é¨ã®vxget_timãµã¼ãã¹ã³ã¼ã«å¦çãç¨ããå ´åã«ï¼ä»¥ä¸ã®
+ãã¼ã¿åãé¢æ°ãªã©ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼
+
+(3-1) CLOCK
+
+ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®ããã®ãã¼ã¿åï¼
+
+(3-2) CLOCK hw_timer_get_current(void)
+
+ã¿ã¤ãã®ç¾å¨å¤ãèª­ã¿åºãï¼å
+é¨è¡¨ç¾ã§è¿ãé¢æ°ï¼
+
+(3-3) BOOL hw_timer_fetch_interrupt(void)
+
+ã¿ã¤ãå²è¾¼ã¿è¦æ±ããã§ãã¯ããé¢æ°ï¼ã¿ã¤ãå²è¾¼ã¿ãè¦æ±ããã¦ããå ´åã«
+TRUEï¼è¦æ±ããã¦ããªãå ´åã«FALSEãè¿ãï¼
+
+(3-4) UINT TO_USEC(CLOCK clock)
+
+ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ãï¼1Î¼ç§åä½ã«å¤æããããã®ãã¯ã­ï¼ã¾ãã¯é¢æ°ï¼ï¼
+hw_timer_get_currentã§èª­ã¿åºããå¤ãï¼ã¿ã¤ãå²è¾¼ã¿çºçããã®çµéæé
+ï¼åä½: 1Î¼ç§ï¼ã«å¤æããããã«ç¨ããï¼
+
+(3-5) BOOL BEFORE_IREQ(CLOCK clock)
+
+å²è¾¼ã¿ãç¦æ­¢ããç¶æ
+ã§ï¼ã¾ãhw_timer_get_currentãå¼ã³åºãï¼ç¶ãã¦
+hw_timer_fetch_interruptãå¼ã³åºãå ´åãèããï¼hw_timer_get_current
+ãå¼ã³åºããç´å¾ã«ã¿ã¤ããå¨æã«éãï¼ã¿ã¤ãå²è¾¼ã¿ãè¦æ±ãããã¨ï¼
+hw_timer_get_currentã¯å¨æã«éããç´åã®ã¿ã¤ãå¤ï¼ãããï¼clockã¨ããï¼
+ãè¿ãï¼hw_timer_fetch_interruptãTRUEãè¿ããã¨ã«ãªãï¼ãã®ç¶æ³ã§ãæ­£
+ããç¾å¨æå»ãå¾ãããã«ï¼clockãããä¸å®å¤ä»¥ä¸ã®å ´åã«ã¯ï¼
+hw_timer_fetch_interruptãTRUEãè¿ãã¦ãï¼å²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªããã¨
+ã«ããï¼BEFORE_IREQã¯ï¼clockãå²è¾¼ã¿çºçåã®å¤ã¨ã¿ãªãã¹ãå ´åã«TRUEãï¼
+ããã§ãªãå ´åã«FALSEãè¿ããã¯ã­ï¼ã¾ãã¯é¢æ°ï¼ã§ããï¼
+
+5.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãç¨ã®ãã¼ã¿åãé¢æ°ãªã©
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãç¨ã®ãã¼ã¿å
+ãé¢æ°ãªã©ã¯æ¬¡ã®éãã§ããï¼ãããã®å®ç¾©ã¯ï¼å¥ã«è¨è¿°ããªãéãï¼
+hw_serial.hï¼ã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ãï¼å¿
+è¦ãª
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ãhw_serial.cfgã«è¨è¿°ããï¼é¢æ°ã®å®ä½ãå¿
+è¦
+ãªå ´åã«ã¯ï¼é©åãªãã¡ã¤ã«ãç¨æããï¼
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ä¸­ã§ï¼ã¿ã¼ã²ããã®ã·ãªã¢ã«I/Oããã¤ã¹
+ã«ä¾å­ããé¨åãï¼ã·ãªã¢ã«I/Oããã¤ã¹ãã©ã¤ãã¨å¼ã¶ï¼ã·ãªã¢ã«I/Oããã¤
+ã¹ãã©ã¤ãã¯ï¼ããããï¼ITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ã®PDICã«
+ç¸å½ããï¼PDICã«ç¸å½ãããã¡ã¤ã«ã§ï¼ä»ã®ã·ã¹ãã ã«ãå
+±éã«ä½¿ããå¯è½æ§
+ãããå ´åã«ã¯ï¼pdic/simple_sioãã£ã¬ã¯ããªã«ç½®ãï¼
+
+(1) TNUM_PORT
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãããµãã¼ãããã·ãªã¢ã«ãã¼ãæ°ãå®ç¾©ãã
+ãã¯ã­ï¼ãã®ãã¯ã­ã¯ï¼cpu_config.hã¾ãã¯sys_config.hï¼ã¾ãã¯ããããã
+ã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§å®ç¾©ããï¼
+
+(2) ã·ãªã¢ã«I/Oããã¤ã¹ã®å²è¾¼ã¿ãã³ãã©ã¨ãã®ç»é²
+
+ã·ãªã¢ã«I/Oããã¤ã¹ã®å²è¾¼ã¿ãã³ãã©ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ãï¼ããã
+ã«ã¼ãã«ã«ç»é²ããéçAPIãhw_serial.cfgã«å«ããï¼ã·ãªã¢ã«I/Oããã¤ã¹
+ã®å²è¾¼ãã³ãã©ã®ãã¯ã¿çªå·ã¯ï¼hw_serial.hï¼ã¾ãã¯ããããã¤ã³ã¯ã«ã¼ã
+ããããã¡ã¤ã«ï¼ã§ãã¯ã­å®ç¾©ãï¼hw_serial.cfgããhw_serial.hãã¤ã³ã¯ã«
+ã¼ãããæ¹æ³ãæ¨æºã¨ããï¼
+
+(3) void sio_initialize(void)
+
+ã·ãªã¢ã«I/Oããã¤ã¹ãã©ã¤ããåæåããã«ã¼ãã³ï¼ãã®é¢æ°ã¯ï¼ã·ãªã¢ã«
+ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããéä¾å­é¨ã®åæåã«ã¼ãã³ããå¼ã³åºã
+ããï¼
+
+(4) SIOPCB
+
+ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ãã¼ã¿åï¼hw_serial.hã«ã¯ï¼åå®£è¨ã ãå«
+ã¾ãã¦ããã°ããï¼ï¼
+
+(5) SIO_ERDY_SNDã¨SIO_ERDY_RCV
+
+éä¿¡å¯è½ã³ã¼ã«ããã¯ã®è­å¥çªå·ãSIO_ERDY_SNDã«ï¼åä¿¡éç¥ã³ã¼ã«ããã¯ã®
+è­å¥çªå·ãSIO_ERDY_RCVã«ãã¯ã­å®ç¾©ããï¼ã³ã¼ã«ããã¯ã®ç¦æ­¢ï¼è¨±å¯ãè¡ãª
+ããµã¼ãã¹ã³ã¼ã«ï¼sio_ena_cbrã¨sio_dis_cbrï¼ã§ç¨ããï¼
+
+(6) ããã¤ã¹ãµã¼ãã¹ã«ã¼ãã³
+
+ä»¥ä¸ã®ããã¤ã¹ãµã¼ãã«ã«ã¼ãã³ã¯ï¼ï¼å°ãªãã¨ãï¼ã·ãªã¢ã«I/Oãã¼ããã
+ã®å²è¾¼ã¿ãç¦æ­¢ãããç¶æ
+ã§å¼ã³åºãããï¼ã¾ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿
+ã¹ã¯ã³ã³ãã­ã¹ãã®ãããã§å¼ã³åºãããå ´åãããï¼ãããã§å¼ã³åºããã¦
+ãåä½ããããã«ããªããã°ãªããªãï¼ï¼
+
+(6-1) SIOPCB *sio_opn_por(ID siopid, VP_INT exinf)
+
+siopidã§æå®ãããã·ãªã¢ã«I/Oãã¼ãããªã¼ãã³ããé¢æ°ï¼exinfã¯ã·ãªã¢ã«
+I/Oãã¼ãã«å¯¾ããæ¡å¼µæ
+å ±ã§ï¼ã³ã¼ã«ããã¯ãå¼ã¶æã«ãã¼ããåºå¥ããã
+ãã«æ¸¡ãï¼
+
+(6-2) void sio_cls_por(SIOPCB *siopcb)
+
+siopcbã§æå®ãããã·ãªã¢ã«I/Oãã¼ããã¯ã­ã¼ãºããé¢æ°ï¼
+
+(6-3) BOOL sio_snd_chr(SIOPCB *siopcb, char c)
+
+siopcbã§æå®ãããã·ãªã¢ã«I/Oãã¼ãã«ï¼cã§ç¤ºãããæå­ãéä¿¡ããé¢æ°ï¼
+æå­ãéä¿¡ã¬ã¸ã¹ã¿ã«å
+¥ããå ´åã«ã¯TRUEãï¼åã«éä¿¡ããæå­ã®éä¿¡ãçµãã£
+ã¦ããªãããã«ï¼æå­ãéä¿¡ã¬ã¸ã¹ã¿ã«å
+¥ããããªãã£ãå ´åã«ã¯FALSEãè¿
+ãï¼
+
+(6-4) INT sio_rcv_chr(SIOPCB *siopcb)
+
+siopcbã§æå®ãããã·ãªã¢ã«I/Oãã¼ãããæå­ãèª­ãé¢æ°ï¼æå­ãåä¿¡ãã¦
+ããå ´åï¼èª­ãã æå­ã®ã³ã¼ãã¯æ­£ã®å¤ã¨ãã¦è¿ãï¼æå­ãåä¿¡ãã¦ããªãå ´
+åã«ã¯-1ãè¿ãï¼
+
+(6-5) sio_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+
+siopcbã§æå®ãããã·ãªã¢ã«I/Oãã¼ãããã®ï¼cbrtnã§æå®ãããã³ã¼ã«ãã
+ã¯ãè¨±å¯ããï¼cbrtnã«ã¯ï¼SIO_ERDY_SNDãSIO_ERDY_RCVãæå®ã§ããï¼
+
+(6-6) sio_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+
+siopcbã§æå®ãããã·ãªã¢ã«I/Oãã¼ãããã®ï¼cbrtnã§æå®ãããã³ã¼ã«ãã
+ã¯ãç¦æ­¢ããï¼cbrtnã«ã¯ï¼SIO_ERDY_SNDãSIO_ERDY_RCVãæå®ã§ããï¼
+
+(7) ã³ã¼ã«ããã¯ã«ã¼ãã³
+
+ã¿ã¼ã²ããä¾å­é¨ã¯ï¼å¿
+è¦ãªã¿ã¤ãã³ã°ã§ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+ã®ã¿ã¼ã²ããéä¾å­é¨ã«å«ã¾ããä»¥ä¸ã®ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºã³ã ã
+ãªããã°ãªããªãï¼ãã ãï¼ããããã®ã³ã¼ã«ããã¯ãç¦æ­¢ããã¦ããæã¯ï¼
+ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãã¦ã¯ãªããªãï¼
+
+ã³ã¼ã«ããã¯ã«ã¼ãã³ã¯ï¼ï¼å°ãªãã¨ãï¼ã·ãªã¢ã«I/Oãã¼ãããã®å²è¾¼ã¿ã
+ç¦æ­¢ãããç¶æ
+ã§ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å¼ã³åºãï¼exinfã«ã¯ï¼ã·ãªã¢ã«
+I/Oãã¼ãã®ãªã¼ãã³æã«æå®ãããæ¡å¼µæ
+å ±ãæ¸¡ãï¼
+
+(7-1) void sio_ierdy_snd(VP_INT exinf)
+
+éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ï¼ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ãã¦æå­ãéä¿¡ã§ã
+ãç¶æ
+ã«ãªã£ãå ´åã«å¼ã³åºãï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ãã®ã³
+ã¼ã«ããã¯ã«ã¼ãã³ã®ä¸­ã§ï¼sio_snd_chrãå¼ã³åºãã¦æ¬¡ã®æå­ãéä¿¡ãããï¼
+éä¿¡ãã¹ãæå­ããªãå ´åã«ã¯éä¿¡å¯è½ã³ã¼ã«ããã¯ãç¦æ­¢ããï¼
+
+(7-2) void sio_ierdy_rcv(VP_INT exinf)
+
+åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ï¼ã·ãªã¢ã«I/Oãã¼ãããæå­ãåä¿¡ããå ´å
+ã«å¼ã³åºãï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ãã®ã³ã¼ã«ããã¯ã«ã¼ãã³
+ã®ä¸­ã§ï¼å¿
+ãsio_rcv_chrãå¼ã³åºãã¦åä¿¡ããæå­ãåãåºãï¼
+
+5.4 ã·ã¹ãã ã­ã°ã¿ã¹ã¯ç¨ã®ããã®å®ç¾©
+
+ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãã¹ãã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®ããã®å®ç¾©ã¯æ¬¡ã®éãã§
+ããï¼ãããã®å®ç¾©ã¯ï¼cpu_config.hã¾ãã¯sys_config.hï¼ã¾ãã¯ããããã
+ã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼
+
+(1) LOGTASK_PORTID
+
+ã·ã¹ãã ã­ã°ã¿ã¹ã¯ãï¼ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãã®IDãå®ç¾©ã
+ããã¯ã­ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼
+
+(2) ã·ã¹ãã ã­ã°ã¿ã¹ã¯é¢é£ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã«é¢ããä»¥ä¸ã®ãã¯ã­ãã¿ã¼ã²ããä¾å­é¨ã§æä¾ããï¼ã
+ããã®ãã¯ã­ãã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ããªãå ´åã«ã¯ï¼ããã©ã«ãã®å¤ãä½¿
+ãããï¼
+
+(2-1) LOGTASK_PRIORITY          ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®åæåªå
+åº¦
+(2-2) LOGTASK_STACK_SIZE        ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº
+(2-3) LOGTASK_INTERVAL          ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®åä½ééï¼åä½: ããªç§ï¼
+
+
+ï¼ï¼ã¿ã¼ã²ããä¾å­é¨å®è£
+ä¸ã®ãã³ã
+
+(1) ã¿ã¹ã¯ãã£ã¹ãããã£ã®2éãã®å®è£
+æ¹é
+
+ã¿ã¹ã¯ãã£ã¹ãããã£ã®å®è£
+æ¹éã¨ãã¦ï¼ã³ã³ãã­ã¹ãã®ä¿å­ã»å¾©å¸°ã¨ã¿ã¹ã¯
+ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãä¸é£ã®ã«ã¼ãã³ã§è¡ãæ¹éï¼ãããæ¹éAã¨å¼ã¶ï¼
+ã¨ï¼ã³ã³ãã­ã¹ãã®ä¿å­ã»å®è¡ããã¿ã¹ã¯ã®é¸æã»ã³ã³ãã­ã¹ãã®å¾©å¸°ã¨ã¿ã¹
+ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãã°ãã°ãã®ã«ã¼ãã³ã§è¡ãæ¹éï¼ãããæ¹éBã¨
+å¼ã¶ï¼ãããï¼æ¹éBã¯ï¼ä¿å­ããã³ã³ãã­ã¹ãæ
+å ±ãç¶æ³ã«å¿ãã¦å¿
+è¦æå°
+éã«ãããã¨ãå®¹æã«ãªãã¨ããå©ç¹ãããï¼ãã ãï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢
+ã®å ´åï¼å®ç¾æ¹æ³ã«ãã£ã¦ã¯æ¹éBãæ¡ããªãå¯è½æ§ãèããããï¼
+
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åç®æã¨ããè¦³ç¹ããã¿ãå ´åï¼2ã¤ã®æ¹éã«ã¯
+çæãã¹ãéããããï¼ä»¥ä¸ï¼ä¾ã«ããèª¬æããï¼ã¿ã¹ã¯1ã¨ã¿ã¹ã¯2ã®2ã¤ã®
+ã¿ã¹ã¯ãããï¼ã¿ã¹ã¯1ã®æ¹ãåªå
+åº¦ãé«ããã®ã¨ããï¼æåï¼ã¿ã¹ã¯2ãå®è¡
+ä¸­ã«å²è¾¼ã¿ãã³ãã©ãèµ·åããï¼ãã®ä¸­ããã¿ã¹ã¯1ãèµ·åãããçµæï¼ã¿ã¹
+ã¯2ãã¿ã¹ã¯1ã«ãã£ã¦ããªã¨ã³ããããããã®ã¨ããï¼ããã§ï¼ã¿ã¹ã¯1ãã¿
+ã¹ã¯2ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¦æ±ããå¾ï¼å¾
+ã¡ç¶æ
+ã«å
+¥ã
+ãµã¼ãã¹ã³ã¼ã«ãçºè¡ãï¼ãã®çµæã¿ã¹ã¯2ã«ãã£ã¹ããããããç¶æ³ãèã
+ãï¼ãã®æï¼ã¿ã¹ã¯ãã£ã¹ãããã£ã¯ï¼ã¿ã¹ã¯2ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çã«ã¼
+ãã³ã®èµ·åå¦çãè¡ãå¿
+è¦ããããï¼æ¹å¼Aã®å ´åã«ã¯ï¼ã¿ã¹ã¯1ããæç¤ºçã«
+å¼ã°ãããã£ã¹ãããã£ã®ä¸­ã§ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ãããã®ã«
+å¯¾ãã¦ï¼æ¹éBã®å ´åã«ã¯ï¼ã¿ã¹ã¯2ã®ã³ã³ãã­ã¹ããå¾©å¸°ããã«ã¼ãã³ã¸åå²
+ããå¾ï¼ã³ã³ãã­ã¹ããå¾©å¸°ããå¦çã«ç¶ãå¦çã¨ãã¦ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ã³ã®èµ·åãè¡ãããï¼
+
+JSPã«ã¼ãã«ã§ã¯ï¼æ¹éAãæ¡ããæ¹éBãæ¡ãããã¿ã¼ã²ããä¾å­é¨ã«ä»»ãã
+ãã¨ã¨ããï¼ãã®ããã«ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãã¿ã¹ã¯ãã£ã¹ãã
+ãã£ã«å«ããä»æ§ã¨ãã¦ããï¼
+
+(2) å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+
+å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®å
+å®¹ã¯ï¼ãã­ã»ããµã®å²è¾¼ã¿ã¢ã¼ã­ãã¯ãã£ã«
+ããå¤§ããç°ãªããï¼ããããã®å¦çã®æµãã¯æ¬¡ã®éãã§ããï¼CPUä¾å¤ãã³
+ãã©ã®åºå
+¥å£å¦çãï¼å¼æ°ãæ¸¡ããã¨ãé¤ãã¦ã¯ï¼ããããã®å¦çã®æµãã¯å
+æ§ã§ããï¼ãã ãï¼ãã­ã»ããµãå²è¾¼ã¿ã¨CPUä¾å¤ã§ç°ãªãæ±ããããå ´åã¯ï¼
+å®éã®åºå
+¥å£å¦çã¯ããªãç°ãªã£ããã®ã¨ãªãï¼
+
+        ------------------------------------------------------------
+        ã¬ã¸ã¹ã¿ã®ä¿å­ï¼ä¸»ã«ã¹ã¯ã©ããã¬ã¸ã¹ã¿ï¼
+        å²è¾¼ã¿ã¹ã¿ãã¯ã¸åæãï¼æãå¤å´ã®ãã³ãã©ã®ã¿ï¼
+
+        ç»é²ãããå²è¾¼ã¿ãã³ãã©ã®å¼åºã
+
+        ã¿ã¹ã¯ã¹ã¿ãã¯ã¸åæãï¼æãå¤å´ã®ãã³ãã©ã®ã¿ï¼
+        if (æãå¤å´ã®ãã³ãã© && reqflg) {
+                if (enadsp && runtsk != schedtsk) {
+                        ã¿ã¹ã¯ãã£ã¹ãããå¦ç
+                        ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çï¼calltexï¼
+                }
+                else  {
+                        ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çï¼calltexï¼
+                }
+        }
+        ã¬ã¸ã¹ã¿ã®å¾©å¸°ï¼ä¸»ã«ã¹ã¯ã©ããã¬ã¸ã¹ã¿ï¼
+        å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³
+
+        â»ããã³ãã©ãã¯ï¼å²è¾¼ã¿ãã³ãã©ã¨CPUä¾å¤ãã³ãã©ã®ç·ç§°ï¼
+        â»ãæãå¤å´ã®ãã³ãã©ãã¯ãæ»ãå
+ãã¿ã¹ã¯ãã¨è¨ãæãããã¨ã
+           ã§ããï¼
+        ------------------------------------------------------------
+
+ãã®ä¸­ã§ï¼å
+å´ã®ifæããããã®å ´åã§ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦ç
+ãè¡ãå¿
+è¦ããããã¨ããï¼ãã ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ãå¯¾
+è±¡ã¿ã¹ã¯ã¯ç°ãªãï¼ï¼å
+å´ã®ifæã¯æ¬¡ã®ããã«æé©åã§ããå ´åãããï¼
+
+        ------------------------------------------------------------
+                if (enadsp && runtsk != schedtsk) {
+                        ã¿ã¹ã¯ãã£ã¹ãããå¦ç
+                }
+                ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çï¼calltexï¼
+        ------------------------------------------------------------
+
+
+ï¼ï¼M68Kï¼68LC040ï¼ç¨ã®ã¿ã¼ã²ããä¾å­é¨
+
+(1) åæ
+
+ãã¹ã¦ã®ã¿ã¹ã¯ãã¹ã¼ãã¼ãã¤ã¶ã¢ã¼ãã§å®è¡ãããã¨ã¨ãï¼ã¦ã¼ã¶ã¢ã¼ãã¯
+ç¨ããªãï¼
+
+(2) å®è¡ã³ã³ãã­ã¹ãã¨CPUã­ãã¯ç¶æ
+
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯ãã¹ã¿ã¢ã¼ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯å²è¾¼ã¿ã¢ã¼ãã§
+å®è¡ããï¼sense_context ã¯ï¼SR ä¸­ã®ãã¹ã¿ï¼å²è¾¼ã¿ã¢ã¼ãããããåç
+§ã
+ãæ¹æ³ã§å®ç¾ããï¼
+
+IPM ã 7 ã®æï¼NMI ãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãããï¼ãã¤ãã®æã«éãï¼ 
+CPUã­ãã¯ç¶æ
+ã§ãããã®ã¨ããï¼sense_lock ã¯ï¼SR ä¸­ã® IPM ãåç
+§ããæ¹
+æ³ã§å®ç¾ããï¼NMI ã¯ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ãªã®ã§ï¼CPUã­ãã¯ç¶æ
+ã§ 
+NMI ãåãä»ããããã®ã¯å·®ãæ¯ããªãï¼
+
+chg_ipm ããµãã¼ããããã©ãããï¼SUPPORT_CHG_IPM ãå®ç¾©ãããã©ããã§
+å¤æ´ã§ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ IPM ãå¤æ´ããå ´åã«ã¯ï¼chg_ipm ãä½¿
+ããªããã°ãªããªãï¼chg_ipm ããµãã¼ãããªãå ´åã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹
+ãã§ IPM ãå¤æ´ãããã¨ã¯ã§ããªãï¼ã¤ã¾ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã¯ï¼IPM 
+ã¯å¸¸ã« 0 ã«ãªã£ã¦ããï¼
+
+chg_ipm ããµãã¼ãããå ´åã§ãï¼chg_ipm ãä½¿ã£ã¦ IPM ã 7 ã«å¤æ´ããã
+ã¨ã¯è¨±ããªãï¼ããã¯ï¼chg_ipm ã¨ loc_cpuï¼unl_cpu ã®é¢ä¿ãè¤éã«ãªãã
+ãã§ããï¼ã¾ãï¼IPM ã 1ã6 ã®æã«ãï¼ã¿ã¹ã¯ãã£ã¹ãããã¯ä¿çãããªãï¼ 
+IPM ã¯ï¼ã¿ã¹ã¯ãã£ã¹ãããã«ãã£ã¦ï¼æ°ããå®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã¸å¼ã
+ç¶ãããï¼ãã®ããï¼ã¿ã¹ã¯ãå®è¡ä¸­ã«ï¼å¥ã®ã¿ã¹ã¯ã«ãã£ã¦ IPM ãå¤æ´ã
+ããå ´åãããï¼ããã¯ï¼ãã£ã¹ãããã£ãæ¹éBã§å®è£
+ããå ´åã«ã¯ç´ ç´ã«
+å®è£
+ã§ãããï¼æ¹éAã§å®è£
+ããå ´åã«ã¯ãã¡ãã¡ã« IPM ã®è¨­å®å¦çãå
+¥ãï¼
+æ¹éAã§å®è£
+ããå ´åã«ã¯ï¼IPM ã 1ã6 ã®æã«ãã¿ã¹ã¯ãã£ã¹ãããã¯ä¿ç
+ãããã¨ããæ¹ãæ¥½ã§ããï¼
+
+(3) å²è¾¼ã¿ãã³ãã©åºå
+¥å£å¦ç
+
+M68Kï¼M68020ä»¥ä¸ï¼ã§ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®èµ·åã«ãã£ã¦ï¼ä½¿ç¨ããã¹ã¿ãã¯
+ãèªåçã«å²è¾¼ã¿ã¹ã¿ãã¯ã¸åãæããããï¼å²è¾¼ã¿ã¹ã¿ãã¯ã¸ã®åæãå¦ç
+ã¯å¿
+è¦ãªãï¼æãå¤å´ã®ãã³ãã©ã§ãããã©ããã¯ï¼ã¹ã¿ãã¯ä¸ã«ç©ã¾ãã 
+SR ä¸­ã®ãã¹ã¿ï¼å²è¾¼ã¿ã¢ã¼ãããããåç
+§ãã¦å¤å®ãã¦ããï¼ã¿ã¹ã¯ãã£ã¹
+ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çã¯ï¼ret_int ã«ã¼ãã³ã«ä»»ãã¦ã
+ãï¼
+
+reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããã®ã¯ï¼å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼ 
+reqflg ããã§ãã¯ããå¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦
+æ±ãããå ´åã«ï¼ãã£ã¹ããããè¡ãããªãããã§ããï¼
+
+interrupt_entry:
+        movem.l %d0-%d1/%a0-%a1, -(%sp) /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */
+        jsr <å²è¾¼ã¿ãã³ãã©>            /* å²è¾¼ã¿ãã³ãã©ãå¼ã³åºã */
+        movem.l (%sp)+, %d0-%d1/%a0-%a1 /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+        btst.b #4, (%sp)                /* æ»ãå
+ãå²è¾¼ã¿ã¢ã¼ããªã */
+        jbeq 1f                         /*           ããã«ãªã¿ã¼ã³ */
+        ori.w #0x0700, %sr              /* å²è¾¼ã¿ç¦æ­¢ */
+        tst.l reqflg                    /* reqflg ã TRUE ã§ããã° */
+        jbne ret_int                    /*              ret_int ã¸ */
+1:      rte
+
+(4) CPUä¾å¤ãã³ãã©åºå
+¥å£å¦ç
+
+M68Kã§ã¯ï¼CPUä¾å¤ãã³ãã©ã®èµ·åã«ãã£ã¦å²è¾¼ã¿ã¢ã¼ãã¸ã®ç§»è¡ã¯ããããï¼
+ä½¿ç¨ããã¹ã¿ãã¯ã¯åãæãããªãï¼ãã®ããï¼CPUä¾å¤ãã³ãã©å
+ã§å²è¾¼ã¿
+ã¢ã¼ãã«åãæãã¦ããï¼ã¾ãï¼æãå¤å´ã®ãã³ãã©ã§ãããã©ãããå¤å®ã
+ãããã«ï¼å²è¾¼ã¿ã¢ã¼ãã«åãæããåã® SR ãã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼ã¿ã¹
+ã¯ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åå¦çã¯ï¼ret_exc ã«ã¼ãã³ã«
+ä»»ãã¦ããï¼
+
+CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¯ï¼ä¾å¤ã¹ã¿ãã¯ãã¬ã¼ã ã®å
+é ­çªå°ï¼ããªãã¡ï¼ 
+CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çãå¼ã°ããç´å¾ã®ã¹ã¿ãã¯ãã¤ã³ã¿ï¼ã¨ãã¦ã
+ãï¼
+
+reqflg ããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããã®ã¯ï¼å²è¾¼ã¿ãç¦æ­¢ããªãã¨ï¼ 
+reqflg ããã§ãã¯ããå¾ã«èµ·åãããå²è¾¼ã¿ãã³ãã©å
+ã§ãã£ã¹ããããè¦
+æ±ãããå ´åã«ï¼ãã£ã¹ããããè¡ãããªãããã§ããï¼
+
+exception_entry:
+        movem.l %d0-%d1/%a0-%a1, -(%sp) /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */
+        lea.l 16(%sp), %a0              /* ä¾å¤ãã¬ã¼ã ã®å
+é ­ã A0 ã« */
+        move.w %sr, %d0                 /* SR ã D0 ã« */
+        and.w #~0x1000, %sr             /* å²è¾¼ã¿ã¢ã¼ã */
+        move.l %d0, -(%sp)              /* å
+ã® SR ãã¹ã¿ãã¯ã«ä¿å­ */
+        move.l %a0, -(%sp)              /* A0 ãå¼æ°ã¨ãã¦æ¸¡ã */
+        jsr <CPUä¾å¤ãã³ãã©>           /* CPUä¾å¤ãã³ãã©ãå¼ã³åºã */
+        addq.l #4, %sp                  /* å¼æ°ãæ¨ã¦ã */
+        move.l (%sp)+, %d0
+        and.w #0x1000, %d0              /* å
+ãå²è¾¼ã¿ã¢ã¼ããªã */
+        jbeq 1f                         /*       ããã«ãªã¿ã¼ã³ */
+        or.w #0x1700, %sr               /* ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ */
+        tst.l reqflg                    /* reqflg ã TRUE ã§ããã° */
+        jbne ret_exc                    /*              ret_exc ã¸ */
+1:      movem.l (%sp)+, %d0-%d1/%a0-%a1 /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+        rte
+
+(5) æ¹éAã®ãã£ã¹ãããã£
+
+ä»¥ä¸ã®ã³ã¼ãã§ã¯ï¼chg_ipm ã¯ãµãã¼ããã¦ããªãï¼ã¾ãï¼æ¡ç¨ããªãã£ãã³
+ã¼ãã§ããããï¼åä½ãã¹ãããã¦ããªãï¼
+
+CTXB ã¯ãVP mspãã®ã¿ãå«ãæ§é ä½ã¨ããï¼ã¿ã¹ã¯ã®ã³ã³ãã­ã¹ãã¯ï¼æ¬¡ã®
+å³ã®ããã«ã¿ã¹ã¯ã®ã¹ã¿ãã¯ä¸ã«ä¿å­ããï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ï¼D0ãD1ï¼A0
+ãA1ï¼ã¨ãã®ä»ã®ã¬ã¸ã¹ã¿ãå¥ã
+ã«ç©ãã®ã¯ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+ã«é½åãããããã§ããï¼
+
+ *  å°  +-----------------------------------+ â TCB ä¸­ã«ä¿å­ããã¦ãã MSP
+ *  â  |                D2                 |
+ *      +-----------------------------------+
+ *                  . . . . . .
+ *      +-----------------------------------+
+ *      |                D7                 |
+ *      +-----------------------------------+
+ *      |                A2                 |
+ *      +-----------------------------------+
+ *                  . . . . . .
+ *      +-----------------------------------+
+ *      |                A6                 |
+ *      +-----------------------------------+
+ *      |                D0                 |
+ *      +-----------------------------------+
+ *      |                D1                 |
+ *      +-----------------------------------+
+ *      |                A0                 |
+ *      +-----------------------------------+
+ *      |                A1                 |
+ *      +-----------------+-----------------+
+ *      |        SR       |   PC (ä¸16bit)  |
+ *      +-----------------+-----------------+
+ *  â  |   PC (ä¸16bit)  |    ä¾å¤æ
+å ±     |
+ *  å¤§  +-----------------+-----------------+ â ãã£ã¹ãããã£èµ·ååã® MSP
+
+dispatch ã¯ï¼trap_dispatch ã TRAPå½ä»¤ã§å¼ã¶é¢æ°ã¨ããï¼
+
+exit_and_dispatch:
+        or.w #0x1000, %sr               /* ãã¹ã¿ã¢ã¼ã */
+        jbra dispatch_1
+
+trap_dispatch:
+        movem.l %d0-%d1/%a0-%a1, -(%sp) /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãä¿å­ */
+        movem.l %d2-%d7/%a2-%a6, -(%sp) /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+        move.l runtsk, %a0              /* ã³ã³ãã­ã¹ããä¿å­ */
+        move.l %sp, TCB_msp(%a0)
+dispatch_1:
+        move.l schedtsk, %a0
+        move.l %a0, runtsk              /* schedtsk ã runtsk ã« */
+        jbeq dispatch_3                 /* schedtsk ããããï¼ */
+        move.l TCB_msp(%a0), %sp        /* ã³ã³ãã­ã¹ããå¾©å¸° */
+        movem.l (%sp)+, %d2-%d7/%a2-%a6 /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+        btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+        jbeq dispatch_2                 /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        tst.l TCB_texptn(%a0)           /* texptn ã 0 ãªããªã¿ã¼ã³ */
+        jbeq dispatch_2
+        jsr call_texrtn                 /* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã */
+dispatch_2:
+        movem.l (%sp)+, %d0-%d1/%a0-%a1 /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+        rte
+
+dispatch_3:
+        stop #0x2000                    /* å²è¾¼ã¿å¾
+ã¡ï¼å²è¾¼ã¿ã¢ã¼ãï¼ */
+        /*
+         *  ããã§å²è¾¼ã¿ã¢ã¼ãã«åãæããã®ã¯ï¼ããã§çºçããå²è¾¼ã¿å¦ç
+         *  ã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿ãã³ãã©å
+ã§
+         *  ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+         */
+        or.w #0x1700, %sr               /* ãã¹ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ */
+        tst.l reqflg                    /* reqflg ã FALSE ãªã */
+        jbeq dispatch_3                 /*        dispatch_3 ã¸ */
+        clr.l reqflg                    /* reqflg ãã¯ãªã¢ */
+        jbra dispatch_1
+
+ret_int:
+        /*
+         *  ããã§ã¯ï¼å²è¾¼ã¿ã¢ã¼ãã»å²è¾¼ã¿ç¦æ­¢ç¶æ
+ï¼
+         */
+        move.l %a1, -(%sp)              /* A1 ãå²è¾¼ã¿ã¹ã¿ãã¯ã«ä¿å­ */
+        movec.l %msp, %a1               /* ã¿ã¹ã¯ã¹ã¿ãã¯ã A1 ã« */
+        move.l (%sp)+, -(%a1)           /* A1 ãã¿ã¹ã¯ã¹ã¿ãã¯ã«ç©ã */
+        movem.l %d0-%d1/%a0, -(%a1)     /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãç©ã */
+        clr.l reqflg                    /* reqflg ãã¯ãªã¢ */
+        move.l runtsk, %a0              /* A0 â runtsk */
+        tst.l enadsp                    /* enadsp ã FALSE ãªã */
+        jbeq ret_int_3                  /*         ret_int_3 ã¸ */
+        cmp.l schedtsk, %a0             /* runtsk ã¨ schedtsk ãåããªã */
+        jbeq ret_int_3                  /*                  ret_int_3 ã¸ */
+
+        /* ãã£ã¹ãããå¦ç */
+        movem.l %d2-%d7/%a2-%a6, -(%a1) /* ã¬ã¸ã¹ã¿ãä¿å­ */
+        move.l %a1, TCB_msp(%a0)        /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+ret_int_1:
+        move.l schedtsk, %a0
+        move.l %a0, runtsk              /* schedtsk ã runtsk ã« */
+        jbne ret_int_2                  /* schedtsk ããããï¼ */
+ret_int_1x:
+        stop #0x2000                    /* å²è¾¼ã¿å¾
+ã¡ï¼å²è¾¼ã¿ãã³ãã©å
+ï¼ */
+        or.w #0x0700, %sr               /* å²è¾¼ã¿ç¦æ­¢ */
+        tst.l reqflg                    /* reqflg ã FALSE ãªã */
+        jbeq ret_int_1x                 /*        ret_int_1x ã¸ */
+        clr.l reqflg                    /* reqflg ãã¯ãªã¢ */
+        jbra ret_int_1
+ret_int_2:
+        move.l TCB_msp(%a0), %a1        /* ã¿ã¹ã¯ã¹ã¿ãã¯ã A1 ã« */
+        movem.l (%a1)+, %d2-%d7/%a2-%a6 /* ã¬ã¸ã¹ã¿ãå¾©å¸° */
+
+ret_int_3:
+        btst.b #TCB_enatex_bit, TCB_enatex(%a0)
+        jbeq ret_int_4                  /* enatex ã FALSE ãªããªã¿ã¼ã³ */
+        tst.l TCB_texptn(%a0)           /* texptn ã 0 ã§ãªããã° */
+        jbne ret_int_5                  /*           ret_int_5 ã¸ */
+ret_int_4
+        movem.l (%a1)+, %d0-%d1/%a0     /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+        move.l (%a1)+, -(%sp)           /* A1 ãå²è¾¼ã¿ã¹ã¿ãã¯ã«ä¿å­ */
+        movec.l %a1, %msp               /* A1 ãã¿ã¹ã¯ã¹ã¿ãã¯ã« */
+        move.l (%sp)+, %a1              /* A1 ãå²è¾¼ã¿ã¹ã¿ãã¯ããå¾©å¸° */
+        rte
+
+ret_int_5:
+        move.w 16(%a1), %d0             /* æ»ãå
+ã® SR ã D0 ã« */
+        move.l TCB_exinf(%a0), -(%a1)   /* exinf ãã¿ã¹ã¯ã¹ã¿ãã¯ã« */
+        move.l TCB_texptn(%a0), -(%a1)  /* texptn ãã¿ã¹ã¯ã¹ã¿ãã¯ã« */
+        move.l #ret_tex, -(%a1)         /* #ret_tex ãã¿ã¹ã¯ã¹ã¿ãã¯ã« */
+        clr.l TCB_enatex(%a0)           /* runtsk->enatex ãã¯ãªã¢ */
+        clr.l TCB_texptn(%a0)           /* runtsk->texptn ãã¯ãªã¢ */
+        move.w #ä¾å¤æ
+å ±, -(%a1)        /* ä¾å¤ã¹ã¿ãã¯ãã¬ã¼ã ãä½ã */
+        move.l TCB_texrtn(%a0), -(%a1)
+        move.w %d0, -(%a1)
+        movec.l %a1, %msp               /* A1 ãã¿ã¹ã¯ã¹ã¿ãã¯ã« */
+        rte
+
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å¼åºãæã®ã¹ã¿ãã¯
+
+ *  å°  +-----------------------------------+
+ *  â  |             ret_tex               |
+ *      +-----------------------------------+
+ *      |              texptn               |
+ *      +-----------------------------------+
+ *      |              exinf                |
+ *      +-----------------------------------+
+ *      |                D0                 |
+ *      +-----------------------------------+
+ *      |                D1                 |
+ *      +-----------------------------------+
+ *      |                A0                 |
+ *      +-----------------------------------+
+ *      |                A1                 |
+ *      +-----------------+-----------------+
+ *      |        SR       |   PC (ä¸16bit)  |
+ *      +-----------------+-----------------+
+ *  â  |   PC (ä¸16bit)  |    ä¾å¤æ
+å ±     |
+ *  å¤§  +-----------------+-----------------+
+
+ret_tex:
+        addq.l #8, %sp                  /* å¼æ°ã¨ãªã¢ãæ¨ã¦ã */
+        or.w #0x0700, %sr               /* å²è¾¼ã¿ç¦æ­¢ */
+        jsr call_texrtn                 /* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å */
+        movem.l (%sp)+, %d0-%d1/%a0-%a1 /* ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãå¾©å¸° */
+        rte
+
+(6) æ¹éBï¼æ¡ç¨ï¼
+
+ã½ã¼ã¹ã³ã¼ããåç
+§ï¼
+
+
+ï¼ï¼ã¿ã¼ã²ããä¾å­é¨å®è£
+ä¸ã®æ³¨æç¹
+
+ä»¥ä¸ã¯ï¼ã¿ã¼ã²ããä¾å­é¨ãå®è£
+ããä¸ã§ãã¹ããã¡ãªç¹ããªã¹ãã¢ãããã
+ãã®ã§ããï¼
+
+(1) ã¿ã¹ã¯çµäºæ
+
+ext_tsk ãå¼ã°ãã«ã¿ã¹ã¯ã®ã¡ã¤ã³é¢æ°ãããªã¿ã¼ã³ããå ´åï¼ext_tsk ãå¼
+ã³åºããã®ã¨åç­ã®å¦çãè¡ãããã«ããªããã°ãªããªãï¼ã¿ã¹ã¯èµ·åæã«ï¼
+ã¡ã¤ã³é¢æ°ããã®ãªã¿ã¼ã³ã¢ãã¬ã¹ã ext_tsk ã®çªå°ã«è¨­å®ãã¦ããæ¹æ³ã
+æ¨å¥¨ããï¼
+
+(2) ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+chg_iXX ããµãã¼ãããå ´åï¼ã¿ã¹ã¯åæ¿ãã®éã«ï¼chg_iXX ã«ãã£ã¦è¨­å®ã
+ãå²è¾¼ã¿ãã¹ã¯ã®å¤ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã«ãããå²è¾¼ã¿ãã¹ã¯ã®å¤ï¼ãæ°ã
+ãã¿ã¹ã¯ã«å¼ãç¶ããã¨ãæ¨å¥¨ããï¼ç¹ã«ï¼å²è¾¼ã¿ã®åºå£ã§ã¿ã¹ã¯åæ¿ããè¡
+ãç®æã¯æ³¨æãå¿
+è¦ã§ããï¼å
+·ä½çã«ã¯ï¼ä»¥åã«åãã¿ã¹ã¯ãåãã¦ããæã®
+å²è¾¼ã¿ãã¹ã¯ãã¹ã¿ãã¯ã«ç©ã¾ãã¦ããå ´åã«ï¼ããããã®ã¾ã¾æ¸ãæ»ãã¦ã¯
+ãªããªãï¼
+
+(3) ã¿ã¹ã¯ä¾å¤å¦çã®å®è¡ã³ã³ãã­ã¹ã
+
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ãããããï¼ã¿ã¹ã¯ä¾å¤
+å¦çã«ã¼ãã³å®è¡æã«ã¯ã¹ã¿ãã¯ãã¤ã³ã¿ãã¿ã¹ã¯ã¹ã¿ãã¯ãæãã¦ããå¿
+è¦
+ãããï¼ç¹ã«å²è¾¼ã¿ã®åºå£å¦çã§æ³¨æãããã¨ï¼ ï¼
+
+(4) CPUä¾å¤ãã³ãã©
+
+CPUä¾å¤ãã³ãã©å®è¡æã¯ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤ãCPUä¾å¤çºçç´åã¨åãã«ãªã
+ããã«ãããã¨ï¼
+
+(5) å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å¦ç
+
+å®è¡ãã¹ãã¿ã¹ã¯ããªãï¼schedtsk ã NULLï¼å ´åã«ï¼ãã­ã»ããµãå¾
+ã¡ã¢ã¼
+ãï¼ã¹ãªã¼ãã¢ã¼ãï¼ã«ç§»è¡ãããå¦çã¨ï¼å²è¾¼ã¿ãè¨±å¯ããå¦çã¨ã¯ï¼ä¸å¯
+åã«è¡ãªãå¿
+è¦ãããï¼ãããä¸å¯åã«è¡ãªããªãå ´åï¼å²è¾¼ã¿ãè¨±å¯ããç´
+å¾ã«å²è¾¼ã¿ãå
+¥ãï¼ãã®ä¸­ã§ã¿ã¹ã¯ãå®è¡å¯è½ç¶æ
+ã«ãªãã¨ï¼å®è¡ãã¹ãã¿ã¹
+ã¯ãããã«ãããããããã­ã»ããµãå¾
+ã¡ã¢ã¼ãã«ãªã£ã¦ãã¾ãï¼
+
+ã¾ãï¼å®è¡ãã¹ãã¿ã¹ã¯ããªãï¼å²è¾¼ã¿ãè¨±å¯ãã¦å²è¾¼ã¿ãå¾
+ã¤éã¯ï¼runtsk 
+ã NULL ã«è¨­å®ããªããã°ãªããªãï¼ãã®ããã«è¨­å®ããªãã¨ï¼å²è¾¼ã¿ãã³ã
+ã©ãã iget_tid ãå¼ã³åºããéã®åä½ãä»æ§ã«åè´ããªããªãï¼Î¼ITRON4.0 
+ä»æ§ã§ã¯ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãå ´åã«ï¼iget_tid ã¯ TSK_NONE ãè¿ãã
+ã¨ã«ãªã£ã¦ããï¼iget_tid ã®ã³ã¼ãã¯ï¼runtsk ã NULL ã®æã« TSK_NONE ã
+è¿ãããã«ãªã£ã¦ããï¼ï¼
+
+m68k ã®å®è£
+ã¯ï¼config/m68k/cpu_support.S ããï¼ï¼
+
+dispatcher:
+        move.l schedtsk, %a0
+        move.l %a0, runtsk              /* schedtsk ã runtsk ã« */
+        jbeq dispatcher_1               /* runtsk ããããï¼ */
+
+ã¨ãªã£ã¦ããï¼schedtsk ã NULL ã®æã«ï¼runtsk ã NULL ã«ãã¦ããï¼å²è¾¼
+ã¿å¾
+ã¡ã«å
+¥ãï¼ããããªããï¼ãã®å¦çãæãã¦ããã¨ï¼schedtsk ã NULL 
+ã®æã«ã¯ï¼runtsk ãããã«æ´æ°ããªãï¼ãã®ããï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªã
+å ´åã« iget_tid ãå¼ã¶ã¨ï¼åã«å®è¡ããã¦ããã¿ã¹ã¯ã®ID ãè¿ãï¼
+ 
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/configurator.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/configurator.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/configurator.txt	(revision 26)
@@ -0,0 +1,723 @@
+
+              ï¼ JSPã«ã¼ãã« ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ä»æ§ ï¼
+
+             ï¼Release 1.4å¯¾å¿ï¼æçµæ´æ°: 20-Dec-2003ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: configurator.txt,v 1.20 2005/07/06 01:40:05 honda Exp $
+------------------------------------------------------------------------
+
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ï¼JSPã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãã¹ããã¡
+ã¤ã«ã®å
+å®¹ã«ã¤ãã¦è§£èª¬ããï¼
+
+JSPã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ã¤ã«ãå¦çãã¦ï¼ã«ã¼ãã«æ§æãã¡ã¤ã«ï¼kernel_cfg.cï¼ã¨IDèªåå²ä»ãçµæ
+ãã¡ã¤ã«ï¼kernel_id.hï¼ãçæããï¼ã¾ãï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ã«
+ç¨ãããã¡ã¤ã«ï¼kernel_chk.cï¼ãçæããï¼
+
+IDèªåå²ä»ãçµæãã¡ã¤ã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãIDçªå·ãå²ãä»ãããªã
+ã¸ã§ã¯ãã®ååãï¼å²ãä»ããIDçªå·ã«å®ç¾©ãããã¡ã¤ã«ã§ããï¼
+
+ä»¥ä¸ã§ã¯ï¼ã«ã¼ãã«æ§æãã¡ã¤ã«ã®å
+å®¹ã«ã¤ãã¦è§£èª¬ããï¼
+
+(1) åºå®çæé¨å
+
+(1-1) æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+
+kernel_cfg.c ç¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããããªãã­ã»ããµ
+ãã£ã¬ã¯ãã£ãï¼#includeï¼ãçæããï¼å
+·ä½çã«ã¯ï¼æ¬¡ã®è¡ãçæããï¼
+
+#include "kernel_cfg.h"
+
+ã¾ãï¼å¿
+è¦ã§ããã°ï¼IDèªåå²ä»ãçµæãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããããªãã­
+ã»ããµãã£ã¬ã¯ãã£ãï¼#includeï¼ãçæããï¼å
+·ä½çã«ã¯ï¼æ¬¡ã®è¡ãçæã
+ãï¼
+
+#include "kernel_id.h"
+
+(1-2) ãã¯ã­ã®ç½®æé åºã®å¶å¾¡
+
+ãã¯ã­ã®ç½®æé åºãå¤ããããã«ï¼ä»¥ä¸ã®ãã¯ã­å®ç¾©è¡ãçæããï¼
+
+#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)
+#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)
+#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)
+#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)
+
+ãªãï¼ãããã®ãã¯ã­ã¯ï¼å
+ã
+ã¯éå»ã®ãã¼ã¸ã§ã³ã¨ã®äºææ§ãä¿ã¤ããã«å
+¥
+ãããã®ã§ããï¼ãã ãï¼éå»ã®ãã¼ã¸ã§ã³ã¨ã®äºææ§ãå¿
+è¦ãªãã¦ãï¼ãã¯
+ã­ã®ç½®æé åºãå¤ããããã«å¿
+è¦ã§ããï¼
+
+(2)ãINCLUDEãéçAPIã®å¦ç
+
+ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«å«ã¾ãããINCLUDEãéçAPIã«å¯¾
+å¿ããããªãã­ã»ããµãã£ã¬ã¯ãã£ãï¼#includeï¼ãçæããï¼ä¾ãã°ï¼
+
+INCLUDE("\"sample1.h\"");
+
+ã¨ããéçAPIã«å¯¾ãã¦ï¼
+
+#include "sample1.h"
+
+ã¨ãããã£ã¬ã¯ãã£ããçæããï¼çæãããã£ã¬ã¯ãã£ãã®é åºã¯ï¼ã·ã¹ã
+ã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã§ã®éçAPIã®é åºã«ä¸è´ãããï¼
+
+(3) åã«ã¼ãã«ãªãã¸ã§ã¯ãã«é¢ããå®ç¾©
+
+ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã«ï¼ãªãã¸ã§ã¯ããçæããéç
+APIãCRE_XXXããå«ã¾ããåã«ã¼ãã«ãªãã¸ã§ã¯ãã«é¢ãã¦ï¼ãªãã¸ã§ã¯ãç
+æã®ããã®å®ç¾©ãçæããï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼åãç¨®é¡ã®ãªãã¸ã§ã¯ããçæããéçAPIãéãï¼
+ããããIDçªå·ã®é ã«ä¸¦ã¹æ¿ããï¼åãIDçªå·ã®ãªãã¸ã§ã¯ããçæããéç
+APIãè¤æ°å«ã¾ãã¦ããå ´åã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãã¨ã©ã¼ãå ±åããï¼ 
+JSPã«ã¼ãã«ã¯ï¼ãªãã¸ã§ã¯ãã®IDçªå·ãé£ç¶ãã¦ãããã¨ãä»®å®ãã¦å®è£
+ã
+ã¦ããï¼IDçªå·ãé£ç¶ãã¦ããªãå ´åã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãã¨ã©ã¼ãå ±
+åããï¼
+
+ã¾ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼ãªãã¸ã§ã¯ãã®IDçªå·ã®ä»£ããã«è­å¥å­ãè¨è¿°
+ããã¦ããå ´åã«ï¼ãã®ãªãã¸ã§ã¯ãã«IDçªå·ãå²ãä»ããï¼IDçªå·ã¯ï¼ä»ã®
+ãªãã¸ã§ã¯ãã®IDçªå·ã¨éè¤ããªãï¼IDçªå·ãã§ããéãé£ç¶ããããã«å²ã
+ä»ããï¼ããã§ãIDçªå·ãé£ç¶ã«ãªããªãå ´åã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãã¨
+ã©ã¼ãå ±åããï¼
+
+åã«ã¼ãã«ãªãã¸ã§ã¯ãã«é¢ããå®ç¾©ã®æ¨æºçãªæ§æã¯ï¼æ¬¡ã®éãã§ããï¼ãª
+ãã¸ã§ã¯ãã«ãã£ã¦ä¾å¤ãããå ´åã«ã¯ï¼ãªãã¸ã§ã¯ãæ¯ã®é 
+ã§èª¬æããï¼
+
+(a) ãªãã¸ã§ã¯ãã®æ°
+
+ãªãã¸ã§ã¯ãã®æ°ããã¯ã­å®ç¾©ããããªãã­ã»ããµãã£ã¬ã¯ãã£ãï¼#defineï¼
+ãçæããï¼å
+·ä½çã«ã¯ï¼ãªãã¸ã§ã¯ãã®çç¥è¨å·ããXXXãã¨ããã¨ï¼æ¬¡ã®
+ãããªè¡ãçæããï¼
+
+#define TNUM_XXXID <ãªãã¸ã§ã¯ãã®æ°>
+
+(b) æå¤§ã®ãªãã¸ã§ã¯ãIDã®å¤æ°ã®å®ç¾©
+
+æå¤§ã®ãªãã¸ã§ã¯ãIDãæã¤å¤æ°ã®å®ç¾©ãçæããï¼å
+·ä½çã«ã¯ï¼ãªãã¸ã§ã¯
+ãã®çç¥è¨å·ããXXXï¼xxxãã¨ããã¨ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+const ID tmax_xxxid = (TMIN_XXXID + TNUM_XXXID - 1);
+
+(c) ãªãã¸ã§ã¯ãã«å¿
+è¦ãªã¡ã¢ãªé åã®å®ç¾©
+
+ãªãã¸ã§ã¯ãã«ãã£ã¦ã¯ï¼ãªãã¸ã§ã¯ãã«å¿
+è¦ãªã¡ã¢ãªé åã®å®ç¾©ãçæããï¼
+å
+·ä½çã«ã¯ï¼ãªãã¸ã§ã¯ãæ¯ã®é 
+ã§èª¬æããï¼
+
+(d) ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å®ç¾©
+
+ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å®ç¾©ãçæããï¼å
+·ä½çã«ã¯ï¼ãªãã¸ã§ã¯ã
+ã®çç¥è¨å·ããXXXï¼xxxãã¨ããã¨ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+const XXXINIB xxxinib_table[TNUM_XXXID] = {
+        <ãªãã¸ã§ã¯ãIDã 1 ã®ãªãã¸ã§ã¯ãã®åæåæ
+å ±>,
+        <ãªãã¸ã§ã¯ãIDã 2 ã®ãªãã¸ã§ã¯ãã®åæåæ
+å ±>,
+                â¦â¦
+        <ãªãã¸ã§ã¯ãIDã tmax_xxxid ã®ãªãã¸ã§ã¯ãã®åæåæ
+å ±>
+};
+
+ãªãã¸ã§ã¯ãã®åæåæ
+å ±ã®å½¢å¼ã¯ï¼ãªãã¸ã§ã¯ãæ¯ã«ç°ãªãï¼å
+·ä½çã«ã¯ï¼
+ãªãã¸ã§ã¯ãæ¯ã®é 
+ã§èª¬æããï¼
+
+(e) ãªãã¸ã§ã¯ãã®ã³ã³ãã­ã¼ã«ãã­ãã¯ã®å®ç¾©
+
+ãªãã¸ã§ã¯ãã®ã³ã³ãã­ã¼ã«ãã­ãã¯ã®å®ç¾©ãçæããï¼å
+·ä½çã«ã¯ï¼ãªãã¸ã§
+ã¯ãã®çç¥è¨å·ããXXXï¼xxxãã¨ããã¨ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+XXXCB xxxcb_table[TNUM_XXXID];
+
+(3-1) ã¿ã¹ã¯ã«é¢ããå®ç¾©
+
+JSPã«ã¼ãã«ã¯ï¼ã¿ã¹ã¯ãä¸ã¤ããªãã±ã¼ã¹ã«å¯¾å¿ãã¦ããªãããï¼ã¿ã¹ã¯ã«
+é¢ããå®ç¾©ã¯å¿
+ãçæããªããã°ãªããªãï¼
+
+ã¿ã¹ã¯ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥è¨å·ã¯æ¬¡
+ã®éãã§ããï¼ãã ãï¼ã¿ã¹ã¯åæåãã­ãã¯ã®ãã¼ã¿åã¯ TINIBï¼å¤æ°åã¯ 
+tinib_tableï¼ã¿ã¹ã¯ã³ã³ãã­ã¼ã«ãã­ãã¯ã®ãã¼ã¿åã¯ TCBï¼å¤æ°åã¯ 
+tcb_table ã§ããï¼ãããããTSKï¼tskãã«ä»£ãã¦ãTï¼tããç¨ãã¦ããï¼ï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: task.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: TSK
+
+ã¿ã¹ã¯åæåãã­ãã¯ã«ã¯ï¼ãCRE_TSKãéçAPIã§æå®ãããæ
+å ±ã«å ãã¦ï¼
+ãDEF_TEXãéçAPIã§æå®ãããæ
+å ±ãå«ããï¼
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼
+
+CRE_TSK(tskid, { tskatr, exinf, task, itskpri, stksz, stack });
+DEF_TEX(tskid, { texatr, texrtn });
+
+(3-1-1) ã¿ã¹ã¯ã«å¿
+è¦ãªã¡ã¢ãªé åã®å®ç¾©
+
+ã¿ã¹ã¯ã«å¿
+è¦ãªã¡ã¢ãªé åã¨ãã¦ï¼ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åãããï¼çæããå
+ã¿ã¹ã¯æ¯ã«ï¼æå®ããããµã¤ãºã®ã¹ã¿ãã¯é åãå®ç¾©ããï¼å
+·ä½çã«ã¯ï¼ä¸è¨
+ã®éçAPIã«å¯¾ãã¦ï¼æ¬¡ã®å®ç¾©ãçæããï¼
+
+static __STK_UNIT <ã¹ã¿ãã¯é åã®å¤æ°å>[__TCOUNT_STK_UNIT(stksz)];
+
+ããã§ï¼<ã¹ã¿ãã¯é åã®å¤æ°å> ã¯ï¼ã¿ã¹ã¯æ¯ã«ç°ãªãè­å¥å­ãçæãã¦ç¨
+ããï¼
+
+(3-1-2) ã¿ã¹ã¯ã®åæåæ
+å ±
+
+ã¿ã¹ã¯åæåãã­ãã¯ä¸­ã«çæããã¿ã¹ã¯ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { tskatr, (VP_INT)(exinf), (FP)(task), INT_PRIORITY(itskpri),
+            __TROUND_UNIT_STK(stksz), <ã¹ã¿ãã¯é åã®å¤æ°å>,
+            texatr, (FP)(texrtn) }
+
+ããã§ï¼CRE_TSK ã«å¯¾å¿ãã DEF_TEX ããªãå ´åã«ã¯ï¼texatr ã TA_NULLï¼
+texrtn ã NULL ã¨ããï¼
+
+(3-1-3) ã¿ã¹ã¯çæé åºãã¼ãã«ã®å®ç¾©
+
+ã¿ã¹ã¯ã«å¯¾ãã¦ã¯ï¼çæãããé åºï¼ã¿ã¹ã¯ãçæããéçAPIãè¨è¿°ããã
+é åºï¼ããã¼ãã«ã«åºåããå¿
+è¦ãããï¼ããã¯ï¼ã¿ã¹ã¯ã®çæãããé åºã§ï¼
+ã¿ã¹ã¯ã®åæåï¼ããå
+·ä½çã«ã¯ï¼ã¿ã¹ã¯ã®èµ·åï¼ãè¡ãå¿
+è¦ãããããã§ã
+ãï¼
+
+å
+·ä½çã«ã¯ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+const ID torder_table[TNUM_TSKID] = {
+        <æåã«çæãããã¿ã¹ã¯ã®ã¿ã¹ã¯ID>,
+        <2çªç®ã«çæãããã¿ã¹ã¯ã®ã¿ã¹ã¯ID>,
+                â¦â¦
+        <æå¾ã«çæãããã¿ã¹ã¯ã®ã¿ã¹ã¯ID>
+};
+
+(3-1-4) ã¨ã©ã¼æ¡ä»¶
+
+ã¿ã¹ã¯ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»DEF_TEX ã«å¯¾å¿ãã CRE_TSK ããªãå ´åï¼E_NOEXSï¼
+ã»(tskatr & ~(TA_ACT)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»(TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI) ã§ãªãå ´åï¼E_PARï¼
+ã»stack ã NULL ã§ãªãå ´åï¼E_NOSPTï¼
+ã»texatr ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+
+â» ãã®ä»ã«ï¼task ã texrtn ããã­ã°ã©ã ã®éå§çªå°ã¨ãã¦æ­£ãããªãå ´å
+ãï¼stksz ãå°ããããå ´åã«ãã¨ã©ã¼ã¨ãã¹ãã ãï¼ã¨ã©ã¼æ¡ä»¶ãã¿ã¼ã²ã
+ãã«ä¾å­ãã¦ãã¾ãããï¼ä»å¾ã®èª²é¡ã¨ããï¼
+
+(3-2) ã»ããã©ã«é¢ããå®ç¾©
+
+ã»ããã©ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥è¨å·ã¯
+æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: semaphore.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: SEM
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼ãªãï¼ã»ããã©ã«å¿
+è¦ãªã¡ã¢ãªé 
+åã¯ãªãï¼
+
+CRE_SEM(semid, { sematr, isemcnt, maxsem });
+
+(3-2-1) ã»ããã©ã®åæåæ
+å ±
+
+ã»ããã©åæåãã­ãã¯ä¸­ã«çæããã»ããã©ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®å½¢å¼ã¨ã
+ãï¼
+
+        { sematr, isemcnt, maxsem }
+
+(3-2-2) ã¨ã©ã¼æ¡ä»¶
+
+ã»ããã©ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(sematr & ~(TA_TPRI)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»(isemcnt > maxsem) ã®å ´åï¼E_PARï¼
+ã»(1 <= maxsem && maxsem <= TMAX_MAXSEM) ã§ãªãå ´åï¼E_PARï¼
+
+(3-3) ã¤ãã³ããã©ã°ã«é¢ããå®ç¾©
+
+ã¤ãã³ããã©ã°ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥
+è¨å·ã¯æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: eventflag.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: FLG
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼ãªãï¼ã¤ãã³ããã©ã°ã«å¿
+è¦ãªã¡
+ã¢ãªé åã¯ãªãï¼
+
+CRE_FLG(flgid, { flgatr, iflgptn });
+
+(3-3-1) ã¤ãã³ããã©ã°ã®åæåæ
+å ±
+
+ã¤ãã³ããã©ã°åæåãã­ãã¯ä¸­ã«çæããã¤ãã³ããã©ã°ã®åæåæ
+å ±ã¯ï¼
+æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { flgatr, iflgptn }
+
+(3-3-2) ã¨ã©ã¼æ¡ä»¶
+
+ã¤ãã³ããã©ã°ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(flgatr & ~(TA_TPRI|TA_CLR)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+
+(3-4) ãã¼ã¿ã­ã¥ã¼ã«é¢ããå®ç¾©
+
+ãã¼ã¿ã­ã¥ã¼ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥è¨
+å·ã¯æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: dataqueue.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: DTQ
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼
+
+CRE_DTQ(dtqid, { dtqatr, dtqcnt, dtq });
+
+(3-4-1) ãã¼ã¿ã­ã¥ã¼ã«å¿
+è¦ãªã¡ã¢ãªé åã®å®ç¾©
+
+ãã¼ã¿ã­ã¥ã¼ã«å¿
+è¦ãªã¡ã¢ãªé åã¨ãã¦ï¼ãã¼ã¿ã­ã¥ã¼é åãããï¼çæãã
+åãã¼ã¿ã­ã¥ã¼æ¯ã«ï¼å¿
+è¦ãªãµã¤ãºã®ãã¼ã¿ã­ã¥ã¼é åãå®ç¾©ããï¼å
+·ä½çã«
+ã¯ï¼ä¸è¨ã®éçAPIã«å¯¾ãã¦ï¼æ¬¡ã®å®ç¾©ãçæããï¼
+
+#if (dtqcnt) > 0
+static VP_INT <ãã¼ã¿ã­ã¥ã¼é åã®å¤æ°å>[dtqcnt];
+#else
+#define <ãã¼ã¿ã­ã¥ã¼é åã®å¤æ°å> NULL
+#endif
+
+ããã§ï¼<ãã¼ã¿ã­ã¥ã¼é åã®å¤æ°å> ã¯ï¼ãã¼ã¿ã­ã¥ã¼æ¯ã«ç°ãªãè­å¥å­ã
+çæãã¦ç¨ããï¼
+
+(3-4-2) ãã¼ã¿ã­ã¥ã¼ã®åæåæ
+å ±
+
+ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯ä¸­ã«çæãããã¼ã¿ã­ã¥ã¼ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®
+å½¢å¼ã¨ããï¼
+
+        { dtqatr, dtqcnt, <ãã¼ã¿ã­ã¥ã¼é åã®å¤æ°å> }
+
+(3-4-3) ã¨ã©ã¼æ¡ä»¶
+
+ãã¼ã¿ã­ã¥ã¼ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(dtqatr & ~(TA_TPRI)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»dtq ã NULL ã§ãªãå ´åï¼E_NOSPTï¼
+
+(3-5) ã¡ã¼ã«ããã¯ã¹ã«é¢ããå®ç¾©
+
+ã¡ã¼ã«ããã¯ã¹ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥
+è¨å·ã¯æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: mailbox.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: MBX
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼ãªãï¼ã¡ã¼ã«ããã¯ã¹ã«å¿
+è¦ãªã¡
+ã¢ãªé åã¯ãªãï¼
+
+CRE_MBX(mbxid, { mbxatr, maxmpri, mprihd });
+
+(3-5-1) ã¡ã¼ã«ããã¯ã¹ã®åæåæ
+å ±
+
+ã¡ã¼ã«ããã¯ã¹åæåãã­ãã¯ä¸­ã«çæããã¡ã¼ã«ããã¯ã¹ã®åæåæ
+å ±ã¯ï¼
+æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { mbxatr, maxmpri }
+
+(3-5-2) ã¨ã©ã¼æ¡ä»¶
+
+ã¡ã¼ã«ããã¯ã¹ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(mbxatr & ~(TA_TPRI|TA_MPRI)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»(TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI) ã§ãªãå ´åï¼E_PARï¼
+ã»mprihd ã NULL ã§ãªãå ´åï¼E_NOSPTï¼
+
+(3-6) åºå®é·ã¡ã¢ãªãã¼ã«ã«é¢ããå®ç¾©
+
+åºå®é·ã¡ã¢ãªãã¼ã«ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®
+çç¥è¨å·ã¯æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: mempfix.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: MPF
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼
+
+CRE_MPF(mpfid, { mpfatr, blkcnt, blksz, mpf });
+
+(3-6-1) åºå®é·ã¡ã¢ãªãã¼ã«ã«å¿
+è¦ãªã¡ã¢ãªé åã®å®ç¾©
+
+åºå®é·ã¡ã¢ãªãã¼ã«ã«å¿
+è¦ãªã¡ã¢ãªé åã¨ãã¦ï¼åºå®é·ã¡ã¢ãªãã¼ã«é åãã
+ãï¼çæããååºå®é·ã¡ã¢ãªãã¼ã«æ¯ã«ï¼å¿
+è¦ãªãµã¤ãºã®åºå®é·ã¡ã¢ãªãã¼ã«
+é åãå®ç¾©ããï¼å
+·ä½çã«ã¯ï¼ä¸è¨ã®éçAPIã«å¯¾ãã¦ï¼æ¬¡ã®å®ç¾©ãçæããï¼
+
+static __MPF_UNIT <åºå®é·ã¡ã¢ãªãã¼ã«é åã®å¤æ°å>
+                                [__TCOUNT_MPF_UNIT(blksz) * (blkcnt)];
+
+ããã§ï¼<åºå®é·ã¡ã¢ãªãã¼ã«é åã®å¤æ°å> ã¯ï¼åºå®é·ã¡ã¢ãªãã¼ã«æ¯ã«ç°
+ãªãè­å¥å­ãçæãã¦ç¨ããï¼
+
+(3-6-2) åºå®é·ã¡ã¢ãªãã¼ã«ã®åæåæ
+å ±
+
+åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯ä¸­ã«çæããåºå®é·ã¡ã¢ãªãã¼ã«ã®åæå
+æ
+å ±ã¯ï¼æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { mpfatr, __TROUND_MPF_UNIT(blksz), <åºå®é·ã¡ã¢ãªãã¼ã«é åã®å¤æ°å>,
+                (VP)(((VB *) <åºå®é·ã¡ã¢ãªãã¼ã«é åã®å¤æ°å>)
+                        + sizeof(<åºå®é·ã¡ã¢ãªãã¼ã«é åã®å¤æ°å>)) }
+
+(3-6-3) ã¨ã©ã¼æ¡ä»¶
+
+åºå®é·ã¡ã¢ãªãã¼ã«ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(mpfatr & ~(TA_TPRI)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»blkcnt ã 0 ã®å ´åï¼E_PARï¼
+ã»blksz ã 0 ã®å ´åï¼E_PARï¼
+ã»mpf ã NULL ã§ãªãå ´åï¼E_NOSPTï¼
+
+(3-7) å¨æãã³ãã©ã«é¢ããå®ç¾©
+
+å¨æãã³ãã©ã«é¢ããå®ç¾©ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«åã¨ãªãã¸ã§ã¯ãã®çç¥è¨
+å·ã¯æ¬¡ã®éãã§ããï¼
+
+        ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«å: cyclic.h
+        ãªãã¸ã§ã¯ãã®çç¥è¨å·: CYC
+
+ä»¥ä¸ã§ã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«æ¬¡ã®éçAPIãå«ã¾ã
+ã¦ããæã«çæãã¹ãæ
+å ±ã«ã¤ãã¦è¿°ã¹ãï¼ãªãï¼å¨æãã³ãã©ã«å¿
+è¦ãªã¡ã¢
+ãªé åã¯ãªãï¼
+
+CRE_CYC(cycid, { cycatr, exinf, cychdr, cyctim, cycphs });
+
+(3-7-1) å¨æãã³ãã©ã®åæåæ
+å ±
+
+å¨æãã³ãã©åæåãã­ãã¯ä¸­ã«çæããå¨æãã³ãã©ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®
+å½¢å¼ã¨ããï¼
+
+        { cycatr, exinf, (FP)(cychdr), cyctim, cycphs }
+
+(3-7-2) ã¨ã©ã¼æ¡ä»¶
+
+å¨æãã³ãã©ã®åæåã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»(cycatr & ~(TA_STA)) ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+ã»(cyctim > TMAX_RELTIM) ã®å ´åï¼E_PARï¼
+ã»(cycphs > TMAX_RELTIM) ã®å ´åï¼E_PARï¼
+
+â» ãã®ä»ã«ï¼cychdr ããã­ã°ã©ã ã®éå§çªå°ã¨ãã¦æ­£ãããªãå ´åã«ãã¨ã©ã¼
+ã¨ãã¹ãã ãï¼ã¨ã©ã¼æ¡ä»¶ãã¿ã¼ã²ããã«ä¾å­ãã¦ãã¾ãããï¼ä»å¾ã®èª²é¡ã¨
+ããï¼
+
+(4) å²è¾¼ã¿ãã³ãã©ã«é¢ããå®ç¾©
+
+ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã«ï¼å²è¾¼ã¿ãã³ãã©ãå®ç¾©ããé
+çAPIãDEF_INHããå«ã¾ãã¦ããå ´åã«ï¼å²è¾¼ã¿ãã³ãã©ã«é¢ããå®ç¾©ãçæ
+ããï¼å
+·ä½çã«ã¯æ¬¡ã®éãï¼
+
+(4-1) å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ°
+
+å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ°ããã¯ã­å®ç¾©ããããªãã­ã»ããµãã£ã¬ã¯ãã£ã
+ï¼#defineï¼ãçæããï¼ã¾ãï¼ãã®å¤ãæã¤å¤æ°ã®å®ç¾©ãçæããï¼å
+·ä½ç
+ã«ã¯ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+#define TNUM_INHNO <å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ°>
+const UINT      tnum_inhno = TNUM_INHNO;
+
+(4-2) å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦ç
+
+å®ç¾©ããåå²è¾¼ã¿ãã³ãã©æ¯ã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã«ã¼ãã³ãçæ
+ããï¼å
+·ä½çã«ã¯ï¼
+
+DEF_INH(inhno, { inhatr, inthdr });
+
+ã¨ããéçAPIã«å¯¾ãã¦ï¼
+
+CFG_INTHDR_ENTRY(inthdr);
+
+ã¨ããè¡ãçæããï¼
+
+(4-3) å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯ã®å®ç¾©
+
+å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯ãçæããï¼å
+·ä½çã«ã¯ï¼æ¬¡ã®ãããªè¡ãçæ
+ããï¼
+
+const INHINIB inhinib_table[TNUM_INHNO] = {
+        <å²è¾¼ã¿ãã³ãã© 1 ã®åæåæ
+å ±>,
+        <å²è¾¼ã¿ãã³ãã© 2 ã®åæåæ
+å ±>,
+                â¦â¦
+        <å²è¾¼ã¿ãã³ãã© TNUM_INHNO ã®åæåæ
+å ±>
+};
+
+ãã®ä¸­ã®å²è¾¼ã¿ãã³ãã©ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { inhno, inhatr, (FP)CFG_INT_ENTRY(inthdr) }
+
+(4-4) ã¨ã©ã¼æ¡ä»¶
+
+å²è¾¼ã¿ãã³ãã©ã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»inhatr ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+
+â» ãã®ä»ã«ï¼inthdr ããã­ã°ã©ã ã®éå§çªå°ã¨ãã¦æ­£ãããªãå ´åãï¼
+inhno ãå²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æ­£ãããªãå ´åã«ãã¨ã©ã¼ã¨ãã¹ãã ãï¼
+ã¨ã©ã¼æ¡ä»¶ãã¿ã¼ã²ããã«ä¾å­ãã¦ãã¾ãããï¼ä»å¾ã®èª²é¡ã¨ããï¼
+
+(5) CPUä¾å¤ãã³ãã©ã«é¢ããå®ç¾©
+
+ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã«ï¼CPUä¾å¤ãã³ãã©ãå®ç¾©ãã
+éçAPIãDEF_EXCããå«ã¾ãã¦ããå ´åã«ï¼CPUä¾å¤ãã³ãã©ã«é¢ããå®ç¾©ã
+çæããï¼å
+·ä½çã«ã¯æ¬¡ã®éãï¼
+
+(5-1) å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ°
+
+å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ°ããã¯ã­å®ç¾©ããããªãã­ã»ããµãã£ã¬ã¯ãã£
+ãï¼#defineï¼ãçæããï¼ã¾ãï¼ãã®å¤ãæã¤å¤æ°ã®å®ç¾©ãçæããï¼å
+·ä½
+çã«ã¯ï¼æ¬¡ã®ãããªè¡ãçæããï¼
+
+#define TNUM_EXCNO <å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ°>
+const UINT      tnum_excno = TNUM_EXCNO;
+
+(5-2) CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦ç
+
+å®ç¾©ããåCPUä¾å¤ãã³ãã©æ¯ã«ï¼CPUä¾å¤ãã³ãã©ã®åºå
+¥å£å¦çã«ã¼ãã³ãç
+æããï¼å
+·ä½çã«ã¯ï¼
+
+DEF_EXC(excno, { excatr, exchdr });
+
+ã¨ããéçAPIã«å¯¾ãã¦ï¼
+
+CFG_EXCHDR_ENTRY(exchdr);
+
+ã¨ããè¡ãçæããï¼
+
+(5-3) CPUä¾å¤ãã³ãã©åæåãã­ãã¯ã®å®ç¾©
+
+CPUä¾å¤ãã³ãã©åæåãã­ãã¯ãçæããï¼å
+·ä½çã«ã¯ï¼æ¬¡ã®ãããªè¡ãç
+æããï¼
+
+const EXCINIB excinib_table[TNUM_EXCNO] = {
+        <CPUä¾å¤ãã³ãã© 1 ã®åæåæ
+å ±>,
+        <CPUä¾å¤ãã³ãã© 2 ã®åæåæ
+å ±>,
+                â¦â¦
+        <CPUä¾å¤ãã³ãã© TNUM_EXCNO ã®åæåæ
+å ±>
+};
+
+ãã®ä¸­ã®CPUä¾å¤ãã³ãã©ã®åæåæ
+å ±ã¯ï¼æ¬¡ã®å½¢å¼ã¨ããï¼
+
+        { excno, excatr, (FP)CFG_EXC_ENTRY(exchdr) }
+
+(5-4) ã¨ã©ã¼æ¡ä»¶
+
+CPUä¾å¤ãã³ãã©ã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»excatr ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+
+â» ãã®ä»ã«ï¼excthdr ããã­ã°ã©ã ã®éå§çªå°ã¨ãã¦æ­£ãããªãå ´åãï¼
+excno ãCPUä¾å¤ãã³ãã©çªå·ã¨ãã¦æ­£ãããªãå ´åã«ãã¨ã©ã¼ã¨ãã¹ãã ãï¼
+ã¨ã©ã¼æ¡ä»¶ãã¿ã¼ã²ããã«ä¾å­ãã¦ãã¾ãããï¼ä»å¾ã®èª²é¡ã¨ããï¼
+
+(6) ã¿ã¤ã ã¤ãã³ãç®¡çã«é¢ããå®ç¾©
+
+ã¿ã¤ã ã¤ãã³ãç®¡çã«é¢é£ãã¦ï¼æ¬¡ã®å®ç¾©ãçæããï¼
+
+TMEVTN  tmevt_heap[TNUM_TSKID + TNUM_CYCID];
+
+(7) åã¢ã¸ã¥ã¼ã«ã®åæåé¢æ°ã®å®ç¾©
+
+åã«ã¼ãã«ãªãã¸ã§ã¯ãã®ç®¡çï¼å²è¾¼ã¿ç®¡çï¼CPUä¾å¤ãã³ãã©ç®¡çã®åæ©è½
+ãåæåé¢æ°ãé ã«å¼ã³åºãé¢æ°ï¼object_initializeï¼ãçæããï¼ä½¿ç¨ã
+ãªãæ©è½ã®åæåé¢æ°ã¯ï¼å¼ã³åºããªãï¼
+
+ãã¹ã¦ã®æ©è½ãä½¿ã£ãå ´åã«çæãããé¢æ°ã¯æ¬¡ã®éãã§ããï¼
+
+void
+object_initialize()
+{
+        task_initialize();
+        semaphore_initialize();
+        eventflag_initialize();
+        dataqueue_initialize();
+        mailbox_initialize();
+        mempfix_initialize();
+        cyclic_initialize();
+        interrupt_initialize();
+        exception_initialize();
+}
+
+(8) åæåã«ã¼ãã³ã®å®è¡é¢æ°ã®å®ç¾©
+
+ãATT_INIãéçAPIã§è¿½å ããåæåã«ã¼ãã³ãé ã«å¼ã³åºãé¢æ°ãçæããï¼
+å
+·ä½çã«ã¯ï¼
+
+ATT_INI({ iniatr, exinf, inirtn });
+
+ã¨ããéçAPIã«å¯¾ãã¦ï¼
+
+inirtn((VP_INT)(exinf));
+
+ãå¼ã³åºãé¢æ°ãï¼call_inirtn ã¨ããååã§çæããï¼åæåã«ã¼ãã³ãå¼
+ã³åºãé åºã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã§ã®éçAPIã®é 
+åºã«ä¸è´ãããï¼
+
+ä¾ãã°ï¼
+
+ATT_INI({ TA_HLNG, 0, timer_initialize });
+ATT_INI({ TA_HLNG, (INT) CONSOLE_PORTID, serial_initialize });
+
+ã¨ããäºã¤ã®éçAPIããã®é åºã§è¨è¿°ãããæã«çæããé¢æ°ã¯æ¬¡ã®éãã§
+ããï¼
+
+void
+call_inirtn()
+{
+        timer_initialize((VP_INT)(0));
+        serial_initialize((VP_INT)((INT) CONSOLE_PORTID));
+}
+
+(8-1) ã¨ã©ã¼æ¡ä»¶
+
+åæåã«ã¼ãã³ã«é¢ããã¨ã©ã¼æ¡ä»¶ã¯æ¬¡ã®éãã§ããï¼
+
+ã»iniatr ã 0 ã§ãªãå ´åï¼E_RSATRï¼
+
+â» ãã®ä»ã«ï¼inirtn ããã­ã°ã©ã ã®éå§çªå°ã¨ãã¦æ­£ãããªãå ´åã«ãã¨ã©ã¼
+ã¨ãã¹ãã ãï¼ã¨ã©ã¼æ¡ä»¶ãã¿ã¼ã²ããã«ä¾å­ãã¦ãã¾ãããï¼ä»å¾ã®èª²é¡ã¨
+ããï¼
+
+ä»¥ä¸
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/design.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/design.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/design.txt	(revision 26)
@@ -0,0 +1,526 @@
+
+                    ï¼ JSPã«ã¼ãã« è¨­è¨ã¡ã¢ ï¼
+
+             ï¼Release 1.4å¯¾å¿ï¼æçµæ´æ°: 15-Mar-2005ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: design.txt,v 1.11 2005/08/08 11:20:06 hiro Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼JSPã«ã¼ãã«ã«ãããå¶éäºé 
+
+
+(1) ãµãã¼ãããæ©è½
+
+JSPã«ã¼ãã«ã¯ï¼ååã®éãã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã«å«ã¾ããæ©è½ã®ã¿ã
+ãµãã¼ãããï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«å¤ã®æ©è½ã¯ï¼ååã¨ãã¦ãµãã¼ãã
+ãªãï¼
+
+å
+é¨æ§é ã®è¨­è¨ã«ããã£ã¦ã¯ï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«å¤ã®æ©è½ããµãã¼ã
+ããããã®æ¡å¼µæ§ã¯èæ
+®ããï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã«å«ã¾ããæ©è½ãå¹
+çè¯ãå®ç¾ãããã¨ãç®æãï¼
+
+(2) ãµã¼ãã¹ã³ã¼ã«å
+ã§ã®å²è¾¼ã¿ã®æ±ã
+
+JSPã«ã¼ãã«ã§ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ã¯ãã¹ã¦å²è¾¼ã¿ç¦æ­¢ã§å®è¡ããï¼ã¹ã¿ã³ãã¼
+ããã­ãã¡ã¤ã«ã®æ©è½ã®ç¯å²å
+ã§ã¯ï¼ãã®æ¹æ³ã§ååã¨èãããããï¼æ¡å¼µæ©
+è½ãè¿½å ããæã«ã¯è¨­è¨ãè¦ç´ãã¹ãã§ããï¼å
+·ä½çã«ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­
+ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«ãé
+å»¶å®è¡ããæ¹æ³ãæåã§ããï¼
+
+(3) CPUä¾å¤ãã³ãã©ã®å®è¡ã³ã³ãã­ã¹ã
+
+JSPã«ã¼ãã«ã§ã¯ï¼CPUä¾å¤ãã³ãã©ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããï¼
+
+åè: Î¼ITRON4.0ä»æ§ã§ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§çºçããCPUä¾å¤ã«å¯¾ãã
+CPUä¾å¤ãã³ãã©ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ã§å®è¡ãããã¯ï¼å®è£
+å®ç¾©ã¨ãã¦ããï¼
+
+
+ï¼ï¼å®è¡ã³ã³ãã­ã¹ãã¨ã·ã¹ãã ç¶æ
+ã®ä»®æ³å
+
+(1) å®è¡ã³ã³ãã­ã¹ã
+
+å®è¡ã³ã³ãã­ã¹ãã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ãããã
+ã«åé¡ãããï¼
+
+å®è¡ã³ã³ãã­ã¹ãã®ç®¡çã¯ã¿ã¼ã²ããä¾å­é¨ã§è¡ãï¼å
+·ä½çã«ã¯ï¼ã¿ã¹ã¯ã³ã³
+ãã­ã¹ãã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ããå¤å¥ããé¢æ°ï¼sense_contextï¼ãï¼ã¿ã¼
+ã²ããä¾å­é¨ã§ç¨æããï¼
+
+ã¾ãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®éã®é·ç§»ãï¼ã¿ã¼ã²ãã
+ä¾å­é¨ã®è²¬ä»»ã§ããï¼å
+·ä½çã«ã¯ï¼å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ãèµ·å
+ãããã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«åãæããï¼å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³
+ãã©ãããªã¿ã¼ã³ããã¨å
+ã®å®è¡ã³ã³ãã­ã¹ãã«æ»ãããï¼ã¿ã¼ã²ããä¾å­é¨
+ãå®è£
+ããï¼
+
+(2) CPUã­ãã¯ç¶æ
+
+
+ã·ã¹ãã ã¯ï¼CPUã­ãã¯ç¶æ
+ãï¼CPUã­ãã¯è§£é¤ç¶æ
+ã®ããããã«ããï¼CPUã­ã
+ã¯ç¶æ
+ã§ã¯ï¼ãã¹ã¦ã®å²è¾¼ã¿ï¼ã«ã¼ãã«ã®ç®¡çå¤ã®ãã®ãé¤ãï¼ä»¥ä¸åãï¼ã
+ç¦æ­¢ããã¦ããï¼
+
+CPUã­ãã¯ç¶æ
+ã®ç®¡çã¯ã¿ã¼ã²ããä¾å­é¨ã§è¡ãï¼å
+·ä½çã«ã¯ï¼CPUã­ãã¯ç¶æ
+ï¼
+CPUã­ãã¯è§£é¤ç¶æ
+ã®ãããã®ç¶æ
+ã§ããããå¤å¥ããé¢æ°ï¼sense_lockï¼
+t_sense_lockï¼i_sense_lockï¼ã¨ï¼CPUã­ãã¯ç¶æ
+ã¨CPUã­ãã¯è§£é¤ç¶æ
+ã®éã
+é·ç§»ãããé¢æ°ï¼t_lock_cpuï¼t_unlock_cpuï¼i_lock_cpuï¼i_unlock_cpuï¼ãï¼
+ã¿ã¼ã²ããä¾å­é¨ã§ç¨æããï¼ãããã®é¢æ°ãå¼ã³åºãä»¥å¤ã®æ¹æ³ã§ï¼CPUã­ã
+ã¯ç¶æ
+ã¨CPUã­ãã¯è§£é¤ç¶æ
+ã®éãé·ç§»ãããã¨ã¯ãªãï¼
+
+
+ï¼ï¼ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·åã®æ¹æ³
+
+(1) ãã£ã¹ããããå¿
+è¦ãªã¿ã¤ãã³ã°
+
+ãã£ã¹ããããè¡ãå¿
+è¦ãããã®ã¯ï¼ä»¥ä¸ã®ã¿ã¤ãã³ã°ã§ããï¼
+
+(a) ãµã¼ãã¹ã³ã¼ã«å
+ã§ã®æç¤ºçãªã¿ã¹ã¯ãã£ã¹ãããè¦æ±
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çã«ããã¦ï¼æç¤ºçã«
+ã¿ã¹ã¯ãã£ã¹ããããè¦æ±ãããå ´åï¼å
+·ä½çã«ã¯ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããã
+åªå
+é ä½ã®é«ãå®è¡ã§ããç¶æ
+ã®ã¿ã¹ã¯ãçããå ´åã¨ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯
+ï¼èªã¿ã¹ã¯ï¼ãå¾
+ã¡ç¶æ
+ã«ããå ´åãããï¼ãããã®å ´åã«ãï¼ãµã¼ãã¹ã³ã¼
+ã«å¦çå
+ã§ãã£ã¹ãããã£ãæç¤ºçã«å¼ã³åºããã¨ã§ï¼ãã£ã¹ããããè¡ãï¼
+
+(b) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£
+
+å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ï¼ä»¥ä¸ï¼ãã³ãã©ã¨ç·ç§°ããï¼ããå¼ã³åº
+ããããµã¼ãã¹ã³ã¼ã«ã§ã¿ã¹ã¯ãã£ã¹ããããè¦æ±ãããå ´åï¼ãã³ãã©ã®åº
+å£ã§ã¿ã¹ã¯ãã£ã¹ããããå¿
+è¦ããã§ãã¯ãï¼å¿
+è¦ã§ããã°ã¿ã¹ã¯ãã£ã¹ãã
+ããè¡ãï¼ãã³ãã©ãå¤éã«èµ·åããã¦ããå ´åï¼æãå¤å´ã®ãã³ãã©ã®åºå£
+ã§ã®ã¿è¡ãï¼â»ï¼ï¼
+
+â» ãã­ã»ããµã«ãã£ã¦ã¯ï¼CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®å
+é ­ã§ã¯ï¼éã¿ã¹ã¯
+ã³ã³ãã­ã¹ãã§ããã¨èªè­ãããããªãå ´åãããï¼ãã®ãããªå ´åï¼å
+¥å£å¦
+çã®éä¸­ã§ãã³ãã©ãå¤éã«èµ·åããã¦ãï¼å
+å´ã®ãã³ãã©ã§ããã«å¤å´ã®ã
+ã³ãã©ããããã¨ãèªè­ã§ããï¼å
+å´ã®ãã³ãã©ã§ã¿ã¹ã¯ãã£ã¹ããããè¡ã
+ãã¨ã«ãªãï¼ãã®å ´åã§ãï¼å
+¥å£å¦çã®éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ããã¨èªè­ã
+ããªãé¨åã¯ï¼ãã³ãã©ã®ä¸é¨ã§ã¯ãªãã¨è§£éããã°ï¼ä¸è¨ã®ååã¯å®ããã¦
+ãããã¨ã«ãªãï¼ãã®æ³¨è¨ã¯ï¼ä»¥ä¸ã®è¨è¿°ã«ãåæ§ã«ãã¦ã¯ã¾ãï¼
+
+(2) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãå¿
+è¦ãªã¿ã¤ãã³ã°
+
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããã®ã¯ï¼ä»æ§æ¸ã«ããã¨ï¼ãã¿ã¹ã¯ä¾å¤å¦ç
+è¨±å¯ç¶æ
+ããä¿çä¾å¤è¦å ã 0 ã§ãªãããã¿ã¹ã¯ãå®è¡ç¶æ
+ã§ããããéã¿
+ã¹ã¯ã³ã³ãã­ã¹ãã¾ãã¯CPUä¾å¤ãã³ãã©ãå®è¡ããã¦ããªããã®åã¤ã®æ¡ä»¶
+ãæã£ãå ´åã§ããï¼ãã®ãã¨ããï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ãå¿
+
+è¦ãããã®ã¯ï¼ä»¥ä¸ã®ã¿ã¤ãã³ã°ã§ããï¼
+
+(a) ã¿ã¹ã¯ãã£ã¹ãããã®ç´å¾
+
+ã¿ã¹ã¯ãã£ã¹ãããã«ããï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ï¼runtskï¼ãå¤åããï¼æ°ãã
+å®è¡ç¶æ
+ã«ãªã£ãã¿ã¹ã¯ãèµ·åæ¡ä»¶ãæºããã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ã³ãèµ·åããï¼
+
+(b) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£
+
+å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ï¼ä»¥ä¸ï¼ãã³ãã©ã¨ç·ç§°ããï¼ã®åºå£ã§ã¯ï¼
+ã¿ã¹ã¯ãã£ã¹ããããè¡ãå ´åãããï¼ãã®å ´åã«ã¯ï¼(a) ã®çç±ã§å¿
+è¦ãªãï¼
+ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼
+
+ãã³ãã©ã®åºå£ã§ã¿ã¹ã¯ãã£ã¹ããããè¡ããªãå ´åã§ãï¼ãã³ãã©å
+ã§å®è¡
+ç¶æ
+ã®ã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ãããå ´åã«ã¯ï¼ãã³ãã©ã®åºå£
+ã§èµ·åæ¡ä»¶ããã§ãã¯ãï¼èµ·åæ¡ä»¶ãæºããã¦ããã°ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ãèµ·åããï¼ãã³ãã©ãå¤éã«èµ·åããã¦ããå ´åï¼æãå¤å´ã®ãã³ãã©ã®åº
+å£ã§ã®ã¿è¡ãï¼â»ï¼ï¼
+
+(c) èªã¿ã¹ã¯ã«å¯¾ããã¿ã¹ã¯ä¾å¤å¦çã®è¦æ±
+
+èªã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ããçµæï¼èªã¿ã¹ã¯ãèµ·åæ¡ä»¶ãæºã
+ãããã«ãªãã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼
+
+(d) ã¿ã¹ã¯ä¾å¤å¦çã®è¨±å¯
+
+ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ç¶æ
+ã«ç§»è¡ããçµæï¼èªã¿ã¹ã¯ãèµ·åæ¡ä»¶ãæºããããã«
+ãªãã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ç¶æ
+ã¸ã®ç§»
+è¡ã¯ï¼ena_tex ã®å¼åºãã«ãã£ã¦èµ·ããï¼
+
+(3) ãµã¼ãã¹ã³ã¼ã«å¦çå
+ã§ã®æç¤ºçãªãã£ã¹ãããã£ã®å¼åºã
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çã«ããã¦ãã£ã¹ãã
+ããå¿
+è¦ã«ãªã£ãå ´åï¼ãµã¼ãã¹ã³ã¼ã«ã®å¦çãä¸­æ­ãã¹ãã¿ã¤ãã³ã°ã§ 
+dispatch ãå¼ã³åºãï¼dispatch ãå¼ã³åºãã¨ï¼ãã®æç¹ã§æãåªå
+é ä½ã®é«
+ãã¿ã¹ã¯ãå®è¡ãããï¼dispatch ã¯ï¼å¼ã³åºããã¿ã¹ã¯ãæ¬¡ã«å®è¡ç¶æ
+ã«ãª
+ãã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ããã§ãã¯ãï¼èµ·åæ¡ä»¶ãæºããã¦ã
+ãã°ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼
+
+ãã®ããï¼dispatch ãå¼ã³åºãããµã¼ãã¹ã³ã¼ã«ã¸å¦çãæ»ã£ã¦ããã®ã¯ï¼
+å¼ã³åºããã¿ã¹ã¯ãæ¬¡ã«å®è¡ç¶æ
+ã¨ãªãï¼èµ·åãã¹ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ããªããªã£ãæç¹ã§ããï¼
+
+ãªãï¼dispatch ã®å¦çã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãããï¼
+
+(4) å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£ã§ã®å¦ç
+
+å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ï¼ä»¥ä¸ï¼ãã³ãã©ã¨ç·ç§°ããï¼ã®åºå£å¦ç
+ã§ã¯ï¼ãã£ã¹ããããå¿
+è¦ãï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãå¿
+è¦ãããã§ã
+ã¯ãï¼å¿
+è¦ãªå¦çãè¡ãï¼ãã³ãã©ãå¤éã«èµ·åããã¦ããå ´åï¼æãå¤å´ã®
+ãã³ãã©ã®åºå£ã§ã®ã¿ãã®å¦çãè¡ãï¼
+
+å
+·ä½çã«ã¯ï¼ãã£ã¹ãããã¨ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åã®ããããã®å¦ç
+ãå¿
+è¦ãªå ´åã«ã¯ reqflg ã TRUE ã«ãããã¨ã¨ãï¼æãå¤å´ã®ãã³ãã©ã®åº
+å£ã§ reqflg ã TRUE ã«ãªã£ã¦ããã°ï¼ã¾ããã£ã¹ããããå¿
+è¦ããã§ãã¯ãï¼
+å¿
+è¦ãªããã£ã¹ããããè¡ãï¼ãã£ã¹ãããã«ããæ°ãã«å®è¡ç¶æ
+ã«ãªã£ãã¿
+ã¹ã¯ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ããã°ï¼ã¿ã¹ã¯ä¾å¤å¦ç
+ã«ã¼ãã³ãèµ·åããï¼ãã£ã¹ããããå¿
+è¦ãªãã£ãå ´åã«ã¯ï¼å®è¡ä¸­ã®ã¿ã¹ã¯
+ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ããããã§ãã¯ãï¼æºããã¦
+ããã°ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããï¼äºã¤ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®
+èµ·åå¦çã¯ï¼æå³çã«ã¯ç°ãªããã®ã ãï¼ã«ã¼ãã³çã«ã¯å
+±éåã§ããå¯è½æ§
+ãããï¼
+
+ãªãï¼ãã³ãã©ã®åºå£å¦çã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã§æä¾ãããï¼
+
+(5) ã¿ã¹ã¯ã®èµ·åã¨çµäºæã®å¦ç
+
+ã¿ã¹ã¯èµ·åæã®ã¬ã¸ã¹ã¿å¾©å¸°ã¨ï¼ã¿ã¹ã¯çµäºæã®ã¬ã¸ã¹ã¿ä¿å­ã¯ï¼ã¿ã¼ã²ãã
+ä¾å­é¨ã®å®è£
+ã«ãã£ã¦ã¯çç¥ã§ããï¼
+
+ã¿ã¹ã¯ã®èµ·åã¯ï¼create_context ã¨ activate_context ã«ãã£ã¦ï¼æ¬¡ã«ãã®
+ã¿ã¹ã¯ã¸ã®ãã£ã¹ããããèµ·ãã£ãæã«ï¼ã¿ã¹ã¯ã®èµ·åçªå°ããå®è¡ãããã
+ã«ã¿ã¹ã¯ã³ã³ãã­ã¹ããè¨­å®ãããã¨ã§è¡ãï¼
+
+ã¿ã¹ã¯çµäºæã«ã¯ï¼unlock_cpu ã«ä»£ãã¦ï¼exit_and_dispatch ãå¼ã³åºãï¼
+exit_and_dispatch ã¯ï¼ç¾å¨å®è¡ä¸­ã®ã³ã³ãã­ã¹ããä¿å­ããã«ï¼ãã£ã¹ãã
+ããè¡ãé¢æ°ã§ããï¼
+
+ãªãï¼create_contextï¼activate_contextï¼exit_and_dispatch ã®å¦çã¯ï¼ã¿ã¼
+ã²ããä¾å­é¨ã§æä¾ãããï¼
+
+(6) å®è¡ã§ããç¶æ
+ã®ã¿ã¹ã¯ããªãå ´åã®æ±ã
+
+å®è¡ã§ããç¶æ
+ã®ã¿ã¹ã¯ããªãå ´åã®å¯¾ç­ã¨ãã¦ï¼ã¢ã¤ãã«ã¿ã¹ã¯ãå°å
+¥ãã
+æ¹æ³ãããï¼ã¢ã¤ãã«ã¿ã¹ã¯ãå°å
+¥ããã¨ï¼ãã£ã¹ãããã£ã®éä¸­ã§å²è¾¼ã¿å¾
+
+ã¡ãããå¿
+è¦ããªãã®ã§ï¼ã½ããã¦ã§ã¢ã®æ§é çã«ã¯ã¨ã¬ã¬ã³ãã«ãªãï¼ã¾ãï¼
+ãã£ã¹ãããã£ä¸­ã§ã®æ¡ä»¶åå²ãæ¸ãï¼éã«ï¼RAM ã®ä½¿ç¨éãã©ããã¦ãå¢ã
+ã¦ãã¾ãã¨ããåé¡ãããï¼ãã®ãã¨ããï¼ã¢ã¤ãã«ã¿ã¹ã¯ã¯ä½¿ããªãæ¹éã¨
+ããï¼
+
+(7) ãã£ã¹ãããä¿çç¶æ
+ã®ä¿ææ¹æ³
+
+ãã£ã¹ããããä¿çãããã®ã¯ï¼æ¬¡ã®ããããã®å ´åã§ããï¼
+
+ ã»ãã£ã¹ãããç¦æ­¢ç¶æ
+
+ ã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­
+
+CPUä¾å¤ãã³ãã©ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããã¨ããããï¼CPUä¾å¤ãã³
+ãã©å®è¡ä¸­ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­ã«å«ãã¦èãããã¨ãã§ããï¼ã¾
+ãï¼ãµã¼ãã¹ã³ã¼ã«ã¯ãã¹ã¦å²è¾¼ã¿ç¦æ­¢ã§å®è¡ããããï¼ãµã¼ãã¹ã³ã¼ã«å®è¡
+ä¸­ãèæ
+®ããå¿
+è¦ããªãï¼
+
+ãã®ä¸­ã§ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­ã¯ï¼sense_context() ã§å¤å®ã§ããï¼
+ããã§ï¼ãã£ã¹ãããç¦æ­¢ç¶æ
+ãè¡¨ãBOOLåã®å¤æ°ãç¨æããã°ï¼ãã£ã¹ãã
+ãä¿çç¶æ
+ãä¿æã§ãããã¨ã«ãªãï¼å®éã«ã¯ï¼ãã£ã¹ãããè¨±å¯ç¶æ
+ãè¡¨ã
+BOOLåã®å¤æ° enatex ãå°å
+¥ããï¼
+
+â» ãµã¼ãã¹ã³ã¼ã«å®è¡ä¸­ã«å²è¾¼ã¿ãè¨±å¯ããï¼ãã£ã¹ãããã¯è¨±å¯ããªãï¼
+å ´åã«ã¯ï¼ãµã¼ãã¹ã³ã¼ã«å¦çã®éä¸­ã§èµ·åãããå²è¾¼ã¿ãã³ãã©ã®åºå£ã§ã¯ï¼
+ãã£ã¹ããããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¡ã£ã¦ã¯ãªããªãï¼åç
+§ãã
+å ´æãéããã¨ããï¼ä¸¡è
+ã®ç¦æ­¢ãå¥ã
+ã®å¤æ°ã«ããæ¹æ³ãèãããããï¼è¨­
+å®ããæ¹ã®å¹çãèããã¨ï¼ä¸ã¤ã®å¤æ°ã§ä¸¡æ¹ç¦æ­¢ã§ããæ¹ãè¯ãã¨æãããï¼
+ããªãã¡ï¼ãã£ã¹ãããç¦æ­¢ç¶æ
+ã¨ãµã¼ãã¹ã³ã¼ã«å®è¡ä¸­ç¶æ
+ãï¼åãå¤æ°ã
+ããããã£ã¼ã«ãã«åãã¦è¨æ¶ããã®ãå¦¥å½ã¨èããããï¼ããã«ï¼CPUä¾å¤
+ãã³ãã©ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ããå®è£
+ã§ã¯ï¼åãå¤æ°ã«CPUä¾å¤ãã³
+ãã©ã®ãã¹ãåæ°ãè¨æ¶ããããªãï¼ä¾ãã°ï¼æ¬¡ã®ãããªå¤æ° pndflg ãå°å
+¥
+ããæ¹æ³ãèããããï¼
+
+ ã»æä¸ä½ããã â¦ ãµã¼ãã¹ã³ã¼ã«å®è¡ä¸­
+                                â 1 ãªãä¸¡è
+ä¿ç
+ ã»ä¸ãã2ãããã â¦ ãã£ã¹ãããç¦æ­¢ç¶æ
+
+                                â 1 ãªãã¿ã¹ã¯åæ¿ãä¿ç
+ ã»æ®ãã®ããã â¦ CPUä¾å¤ãã³ãã©ã®ãã¹ãåæ°
+                                â 0 ä»¥å¤ãªãã¿ã¹ã¯åæ¿ãä¿ç
+
+
+ï¼ï¼ãµã¼ãã¹ã³ã¼ã«ã®è¨è¿°æ¹æ³
+
+(1) sns_xxx
+
+sns_ctxï¼sns_locï¼sns_dspï¼sns_tex ã¯ï¼ãµã¼ãã¹ã³ã¼ã«å
+é¨ã§ã¯ãªãã£ã«
+ã«ã»ã¯ã·ã§ã³ãä½ããªãã¦ãå®è£
+ã§ããï¼
+
+(2) ã¿ã¹ã¯ã³ã³ãã­ã¹ãå°ç¨ã®ãµã¼ãã¹ã³ã¼ã«
+
+â» CPUã­ãã¯ç¶æ
+ã§å¼ã°ããã¨ã¨ã©ã¼ã«ãªããã¨ã«æ³¨æï¼
+
+(2-1) ã¿ã¹ã¯åæããèµ·ãããªããã®ï¼ä¾: get_priï¼
+
+        ã¨ã©ã¼ãã§ãã¯
+        t_lock_cpu();
+        /*
+         *  ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å®è¡
+         */
+        t_unlock_cpu();
+
+(2-2) ã¿ã¹ã¯åæããèµ·ããå¯è½æ§ã®ãããã®ï¼ä¾: act_tskï¼
+
+        ã¨ã©ã¼ãã§ãã¯
+        t_lock_cpu();
+        /*
+         *  ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å®è¡
+         */
+        if (ã¿ã¹ã¯ãã£ã¹ããããå¿
+è¦ && enadsp) {
+                /* èªã¿ã¹ã¯ãå¾
+ã¡ç¶æ
+ã«ãããµã¼ãã¹ã³ã¼ã«ã§ã¯ï¼
+                        ä¸ã§ enadsp ããã§ãã¯ããå¿
+è¦ã¯ãªãï¼*/
+                dispatch();
+        }
+        t_unlock_cpu();
+
+(2-3) èªã¿ã¹ã¯ãçµäºãããã®ï¼ext_tskï¼
+
+        ã¨ã©ã¼ãã§ãã¯
+        t_lock_cpu();
+        /*
+         *  ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å®è¡
+         */
+        exit_and_dispatch();
+
+(2-4) ras_tex
+
+        ã¨ã©ã¼ãã§ãã¯
+        tcb = get_tcb_self(tskid);
+        t_lock_cpu();
+
+        E_OBJã¨ã©ã¼ã®ãã§ãã¯
+
+        tcb->texptn |= rasptn;
+        if (tcb == runtsk && runtsk->enatex) {
+                texptn = runtsk->texptn;
+                runtsk->enatex = FALSE;
+                runtsk->texptn = 0;
+
+                t_unlock_cpu();
+                (*runtsk->tinib->texrtn)(texptn, runtsk->tinib->exinf);
+
+                /* CPUã­ãã¯ç¶æ
+ã®ã¾ã¾ãªã¿ã¼ã³ããå ´åãå¯¾ç­ */
+                if (!t_sense_lock()) {
+                        t_lock_cpu();
+                }
+
+                ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãååº¦ãã§ãã¯ï¼èµ·å
+                ï¼runtsk->texptn ã 0 ã«ãªãã¾ã§ä¸ã®å¦çãç¹°ãè¿ãï¼
+
+                runtsk->enatex = TRUE;
+        }
+        t_unlock_cpu();
+
+(2-5) ena_tex
+
+        ã¨ã©ã¼ãã§ãã¯
+        t_lock_cpu();
+
+        E_OBJã¨ã©ã¼ã®ãã§ãã¯
+
+        runtsk->enatex = TRUE;
+        if (runtsk->texptn != 0) {
+                texptn = runtsk->texptn;
+                runtsk->enatex = FALSE;
+                runtsk->texptn = 0;
+
+                t_unlock_cpu();
+                (*runtsk->tinib->texrtn)(texptn, runtsk->tinib->exinf);
+
+                /* CPUã­ãã¯ç¶æ
+ã®ã¾ã¾ãªã¿ã¼ã³ããå ´åãå¯¾ç­ */
+                if (!t_sense_lock()) {
+                        t_lock_cpu();
+                }
+
+                ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãååº¦ãã§ãã¯ï¼èµ·å
+                ï¼runtsk->texptn ã 0 ã«ãªãã¾ã§ä¸ã®å¦çãç¹°ãè¿ãï¼
+
+                runtsk->enatex = TRUE;
+        }
+        t_unlock_cpu();
+
+(3) éã¿ã¹ã¯ã³ã³ãã­ã¹ãå°ç¨ã®ãµã¼ãã¹ã³ã¼ã«
+
+â» CPUã­ãã¯ç¶æ
+ã§å¼ã°ããã¨ã¨ã©ã¼ã«ãªããã¨ã«æ³¨æï¼
+
+(3-1) ã¿ã¹ã¯åæ¿ããèµ·ãããªããã®
+
+        i_lock_cpu();
+        /*
+         *  ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å®è¡
+         */
+        i_unlock_cpu();
+
+(3-2) ã¿ã¹ã¯åæ¿ããèµ·ããå¯è½æ§ã®ãããã®ï¼ä¾: iact_tskï¼
+
+        i_lock_cpu();
+        /*
+         *  ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³å®è¡
+         *
+         *  ã¿ã¹ã¯ãã£ã¹ããããå¿
+è¦ãªå ´åã«ã¯ï¼reqflg ã TRUE ã«ããï¼
+         *  ãã ãï¼enadsp ã FALSE ã®æã¯ï¼reqflg ã TRUE ã«ããªãï¼
+         */
+        i_unlock_cpu();
+
+(3-3) iras_tex
+
+        ã¨ã©ã¼ãã§ãã¯
+        tcb = get_tcb(tskid);
+        i_lock_cpu();
+
+        E_OBJã¨ã©ã¼ã®ãã§ãã¯
+
+        tcb->texptn |= rasptn;
+        if (tcb == runtsk && runtsk->enatex) {
+                reqflg = TRUE;
+        }
+        i_unlock_cpu();
+
+ä»¥ä¸
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/gnu_install.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/gnu_install.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/gnu_install.txt	(revision 26)
@@ -0,0 +1,434 @@
+
+                  ï¼ GNUéçºç°å¢æ§ç¯ããã¥ã¢ã« ï¼
+
+            ï¼Release 1.4å¯¾å¿ï¼æçµæ´æ°: 20-Dec-2003ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: gnu_install.txt,v 1.26 2003/12/20 09:13:20 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼GNUéçºç°å¢ã®æ§ç¯
+
+
+1.1 éçºç°å¢ã®æ¦è¦
+
+ã«ã¼ãã«ãã¤ã³ã¹ãã¼ã«ããã«ã¯ï¼JSPã«ã¼ãã«ã®é
+å¸ã­ããã«å«ã¾ããä»¥å¤
+ã«ï¼ä»¥ä¸ã®ãã¼ã«ããã³ã©ã¤ãã©ãªãå¿
+è¦ã§ããï¼
+
+    GNUéçºç°å¢
+       BINUTILSï¼ã¢ã»ã³ãã©ï¼ãªã³ã«ãªã©ï¼
+       GCC-COREï¼Cã³ã³ãã¤ã©ï¼
+       GDBï¼ãããã¬ï¼
+    NEWLIBï¼æ¨æºCã©ã¤ãã©ãªï¼
+    perlï¼åä½ç¢ºèªã¯ 5.005ï¼
+    GNU Makeï¼åä½ç¢ºèªã¯ 3.77ï¼
+
+åãã¼ã«ã®ãã¼ã¸ã§ã³ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã«ç°ãªãããï¼ã¿ã¼ã²ããæ¯
+ã®ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+
+ã¢ããªã±ã¼ã·ã§ã³ãæ¨æºCã©ã¤ãã©ãªãä½¿ç¨ããªãå ´åã«ã¯ NEWLIB ã¯å¿
+è¦ãª
+ããï¼GCC ãã¤ã³ã¹ãã¼ã«ããéã« NEWLIB ããã£ãæ¹ãé½åãããããï¼
+NEWLIB ãå«ãã¦ã¤ã³ã¹ãã¼ã«ããæ¹æ³ãæ¨æºã¨ããï¼NEWLIB ãã¤ã³ã¹ãã¼ã«
+ããªãå ´åã«ã¯ï¼GCC ã®ã½ã¼ã¹ã®ä¿®æ­£ãå¿
+è¦ã¨ãªãï¼ GCC ã® 2.95.3 ãå¯¾è±¡
+ã¨ãã¦å¾è¿°ããï¼ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡ã ROMã¢ãã¿ï¼GDB ã«å¯¾
+å¿ãã¦ããªããã®ï¼ã«ãã£ã¦è¡ãå ´åã«ã¯ï¼GDB ãã¤ã³ã¹ãã¼ã«ããå¿
+è¦ã¯ãª
+ãï¼
+
+perl ã¨ GNU Make ã¯ï¼ã»ã¨ãã©ã® Linux ã¨ Cygwin ã§ã¯æ¨æºã§ã¤ã³ã¹ãã¼ã«
+ãããããï¼æ°ãã«ã¤ã³ã¹ãã¼ã«ããå¿
+è¦ã¯ãªãï¼ã¤ã³ã¹ãã¼ã«ããã¦ãã 
+perl ã¾ãã¯ make ã®ãã¼ã¸ã§ã³ãç¥ãããå ´åã«ã¯ï¼-v ãªãã·ã§ã³ãã¤ãã¦
+å®è¡ããã°ããï¼-v ãªãã·ã§ã³ããµãã¼ããã¦ããªã make ã¯ GNU make ã§
+ã¯ãªãï¼ï¼ãªãï¼ä»¥ä¸ã®èª¬æã§ã¯ï¼makeã³ãã³ãã GNU Make ã§ãããã®ã¨ã
+ãï¼
+
+ã¾ãï¼ãããã®éçºç°å¢ã Windowsä¸ã«æ§ç¯ããããã«ã¯ Cygwin ãç¨ããï¼
+
+    Cygwinï¼åä½ç¢ºèªã¯ 1.5.5ï¼
+
+Cygwinã®ã¤ã³ã¹ãã¼ã«ã«ã¤ãã¦ã¯å¾è¿°ããï¼ã¾ãï¼ãã¼ã«ã®ã½ã¼ã¹ã³ã¼ããä¿®
+æ­£ããå¿
+è¦ããããï¼ãããå¾è¿°ããï¼
+
+ãããã®ãã¼ã«ããã³ã©ã¤ãã©ãªã®ã½ã¼ã¹ã³ã¼ãã¯ï¼æ¬¡ã®ãµã¤ãããå
+¥æãã
+ãã¨ãã§ããï¼
+
+    BINUTILSï¼GCC-COREï¼GDBï¼GNU Make:
+        GNUãã­ã¸ã§ã¯ã     http://www.gnu.org/
+        Ring Server         http://www.ring.gr.jp/
+
+    NEWLIB:
+        Red Hat             http://sources.redhat.com/newlib/
+                    ã¾ãã¯  ftp://sources.redhat.com/pub/newlib/
+
+    Cygwin:
+        Red Hat             http://sources.redhat.com/cygwin/
+                    ã¾ãã¯  ftp://sources.redhat.com/pub/cygwin/
+        Ring Server         http://www.ring.gr.jp/
+
+
+1.2 éçºç°å¢ã®æ§ç¯æ¹æ³
+
+ãã®ç¯ã§ã¯ï¼éçºç°å¢ã®æ§ç¯æ¹æ³ãèª¬æããï¼éçºç°å¢ã Windowsä¸ã«æ§ç¯ã
+ãå ´åã«ã¯ï¼ããããã Cygwin ãã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãå¿
+è¦ã§ããï¼
+Cygwin ã®ã¤ã³ã¹ãã¼ã«æã®æ³¨æäºé 
+ã¯ï¼1.3ç¯ã§è¿°ã¹ãï¼
+
+(1) æºåä½æ¥­
+
+ãã¹ãä¸ã«å¿
+è¦ãªãã¼ã«ãè¶³ããªãå ´åã«ã¯ï¼ãããããã¤ã³ã¹ãã¼ã«ãã¦ã
+ãï¼å
+·ä½çã«ã¯ï¼perl ã¨ GNU Make ãå¿
+è¦ã§ããï¼ããã«ï¼éçºç°å¢ã®æ§ç¯
+ã«ä½¿ãããã«ï¼ãã¹ãä¸ã«ãææ°ã® GCC ãã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãæã¾
+ããï¼
+
+ãªãï¼JSPã«ã¼ãã«ã®é
+å¸ã­ããã«å«ã¾ãã perlã¹ã¯ãªããã¯ï¼perl ã®ãã­
+ã°ã©ã ã /usr/bin/perl ã«ãããã®ã¨ä»®å®ãã¦è¨è¿°ãã¦ããï¼perl ã®ãã­ã°
+ã©ã ã®ãã¹ãããã¨ç°ãªãå ´åã¯ï¼å perlã¹ã¯ãªããã®å
+é ­ã® perl ã®çµ¶å¯¾
+ãã¹ãä¿®æ­£ããå¿
+è¦ãããï¼
+
+(2) ã½ã¼ã¹ãã¡ã¤ã«ã®å±é
+
+BINUTILSï¼GCC-COREï¼GDBï¼NEWLIB ã®ã½ã¼ã¹ãã¡ã¤ã«ãå±éããï¼ä»¥ä¸ã§ã¯ï¼
+å±éã«ããä½æããããã£ã¬ã¯ããªåãããããæ¬¡ã®ããã«è¡¨è¨ããï¼
+
+    <BINUTILS-SRCDIR>   BINUTILS ã®ã½ã¼ã¹ãå±éãããã£ã¬ã¯ããª
+    <GCC-SRCDIR>        GCC-CORE ã®ã½ã¼ã¹ãå±éãããã£ã¬ã¯ããª
+    <GDB-SRCDIR>        GDB ã®ã½ã¼ã¹ãå±éãããã£ã¬ã¯ããª
+    <NEWLIB-SRCDIR>     NEWLIB ã®ã½ã¼ã¹ãå±éãããã£ã¬ã¯ããª
+
+(3) éçºç°å¢æ§ç¯ã®ããã®ãã£ã¬ã¯ããªã®æ±ºå®
+
+éçºç°å¢ãæ§ç¯ããããã«ï¼ä»¥ä¸ã®ãã£ã¬ã¯ããªãç¨æããï¼
+
+    <PREFIX>            éçºç°å¢ãã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããª
+    <BINUTILS-OBJDIR>   BITUTILS ã®ãªãã¸ã§ã¯ããçæãããã£ã¬ã¯ããª
+    <GCC-OBJDIR>        GCC-CORE ã®ãªãã¸ã§ã¯ããçæãããã£ã¬ã¯ããª
+    <GDB-OBJDIR>        GDB ã®ãªãã¸ã§ã¯ããçæãããã£ã¬ã¯ããª
+    <NEWLIB-OBJDIR>     NEWLIB ã®ãªãã¸ã§ã¯ããçæãããã£ã¬ã¯ããª
+
+<PREFIX>/bin ãå®è¡ãã¹ã«å«ã¾ããããã«ã·ã§ã«ã®è¨­å®ãè¡ã£ã¦ããï¼ã¾ãï¼
+make install ã¯ï¼<PREFIX> ä»¥ä¸ã«æ¸ãè¾¼ã¿æ¨©éãããã¦ã¼ã¶ã§è¡ãå¿
+è¦ãã
+ãï¼
+
+(4) ã¿ã¼ã²ããã®é¸æ
+
+ã¿ã¼ã²ãããã­ã»ããµã«å¿ãã¦ï¼ã¿ã¼ã²ããç°å¢ãé¸æããï¼å
+·ä½çã«ã¯ï¼æ¬¡
+ã®éãï¼
+
+    ãã­ã»ããµ      ã¿ã¼ã²ããç°å¢ï¼<TARGET>ï¼
+    M68040          m68k-unknown-elf
+    SH1, SH3        sh-hitachi-elf
+    V850            v850-nec-elf
+    H8              h8300-hms
+    ARM             arm-elf
+    M32R            m32r-elf
+    Microblaze      mb
+    mips3           mipsel-nec-elf
+    Xstormy16       xstormy16-elf
+
+ä»¥ä¸ï¼ã¿ã¼ã²ããç°å¢ãè¡¨ãæå­åã <TARGET> ã¨è¡¨è¨ããï¼
+
+ãªãï¼ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ãã¼ã«ã¾ãã¯ã©ã¤ãã©ãªã®ã½ã¼ã¹ã³ã¼ãã®ä¿®æ­£
+ãå¿
+è¦ãªå ´åãããï¼ä¿®æ­£å
+å®¹ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ã«è¨è¿°
+ããï¼
+
+(5) BINUTILS ã®ã¤ã³ã¹ãã¼ã«
+
+BINUTILS ã¯ï¼GCC-CORE ã®ã¤ã³ã¹ãã¼ã«ã«å¿
+è¦ãªããï¼GCC-CORE ã«å
+ã ã£ã¦
+ã¤ã³ã¹ãã¼ã«ããï¼BINUTILS ã®ã¤ã³ã¹ãã¼ã«æé ã¯æ¬¡ã®éãï¼
+
+    % mkdir <BINUTILS-OBJDIR>
+    % cd <BINUTILS-OBJDIR>
+    % <BINUTILS-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>\
+      --disable-nls
+    % make
+    % make install
+
+(6) GCC-CORE ã®ã¤ã³ã¹ãã¼ã«
+
+ã»NELIB ãã¤ã³ã¹ãã¼ã«ããå ´å
+NEWLIB ã®ã¤ã³ã¹ãã¼ã«ã«ã¯ GCC-CORE ãå¿
+è¦ãªããï¼GCC-CORE ã®ã¤ã³ã¹ãã¼
+ã«ãå
+ã«è¡ãï¼configure ã¯ï¼newlib ã®ãããã¼ãã¡ã¤ã«ã <PREFIX> ä»¥ä¸
+ã«ã¤ã³ã¹ãã¼ã«ããããï¼<PREFIX> ä»¥ä¸ã«æ¸ãè¾¼ã¿æ¨©éã®ããã¦ã¼ã¶ã¼ã§è¡
+ãå¿
+è¦ãããï¼GCC-CORE ã®ã¤ã³ã¹ãã¼ã«æé ã¯æ¬¡ã®éãï¼
+
+    % mkdir <GCC-OBJDIR>
+    % cd <GCC-OBJDIR>
+    % <GCC-SRCDIR>/configure \
+        --target=<TARGET> --prefix=<PREFIX> \
+        --with-gnu-as --with-gnu-ld --with-newlib \
+        --with-headers=<NEWLIB-SRCDIR>/newlib/libc/include
+    % make
+    % make install
+
+ã»NEWLIB ãã¤ã³ã¹ãã¼ã«ããªãå ´åï¼
+NEWLIB ãã¤ã³ã¹ãã¼ã«ããªãå ´åï¼ã½ã¼ã¹ãã¡ã¤ã«ã®ä¿®æ­£ãå¿
+è¦ã¨ãªãï¼ä¿®
+æ­£åæã¯ï¼
+    <GCC-SRCDIR>/gcc/libgcc2.c ã® 41,42è¡ç®ã®
+    #include <stdlib.h>
+    #include <unistd.h>
+    ã®äºè¡ãã³ã¡ã³ãã¢ã¦ãããï¼
+
+    <GCC-SRCDIR>/gcc/frame.c ã® 42,43è¡ç®ã®
+    #include <stdlib.h>
+    #include <unistd.h>
+    ã®äºè¡ãã³ã¡ã³ãã¢ã¦ãããï¼
+
+ä¿®æ­£å¾ã® GCC-CORE ã®ã¤ã³ã¹ãã¼ã«æé ã¯æ¬¡ã®éãï¼
+    
+    % mkdir <GCC-OBJDIR>
+    % cd <GCC-OBJDIR>
+    % <GCC-SRCDIR>/configure \
+        --target=<TARGET> --prefix=<PREFIX> \
+        --with-gnu-as --with-gnu-ld 
+    % make
+    % make install
+
+(7) GDB ã®ã¤ã³ã¹ãã¼ã«
+
+æ¬¡ã®æé ã«å¾ã£ã¦ï¼GDB ãã¤ã³ã¹ãã¼ã«ããï¼
+
+    % mkdir <GDB-OBJDIR>
+    % cd <GDB-OBJDIR>
+    % <GDB-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>
+    % make
+    % make install
+
+(8) NEWLIB ã®ã¤ã³ã¹ãã¼ã«
+
+æ¬¡ã®æé ã«å¾ã£ã¦ï¼NEWLIB ãã¤ã³ã¹ãã¼ã«ããï¼
+
+    % mkdir <NEWLIB-OBJDIR>
+    % cd <NEWLIB-OBJDIR>
+    % <NEWLIB-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>
+    % make
+    % make install
+
+
+
+ï¼ï¼ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+
+ã¦ã¼ã¶ãºããã¥ã¢ã«ã®æé ã«ãããã£ã¦ï¼JSPã«ã¼ãã«ããã³ã¢ããªã±ã¼ã·ã§
+ã³ãã­ã°ã©ã ãæ§ç¯ã§ããã¨ï¼ã¿ã¼ã²ããã·ã¹ãã ã¸ãã¦ã³ã­ã¼ããã¦å®è¡ã
+ãï¼ãã¦ã³ã­ã¼ãã¨å®è¡ã®æ¹æ³ã«ã¯ï¼ROMã¢ãã¿ãç¨ããæ¹æ³ã¨ï¼gdbï¼ã¹ã¿ã
+ãç¨ããæ¹æ³ãããï¼
+
+(A) ROMã¢ãã¿ãç¨ããæ¹æ³
+
+ã¿ã¼ã²ããã·ã¹ãã ã ROMã¢ãã¿ãæã£ã¦ããå ´åã«ã¯ï¼ãã¤ããªå½¢å¼ã¾ãã¯
+ã¢ãã­ã¼ã© Så½¢å¼ã®ãã¡ã¤ã«ãï¼ROMã¢ãã¿ã®ãã¦ã³ã­ã¼ãã³ãã³ããä½¿ã£ã¦
+ãã¦ã³ã­ã¼ããï¼å®è¡ã³ãã³ããä½¿ã£ã¦ãã¦ã³ã­ã¼ãããçªå°ããå®è¡ããã°
+ããï¼
+
+(B) ã¹ã¿ããç¨ããæ¹æ³
+
+JSPã«ã¼ãã«ã¨ä¸ç·ã«ä½¿ããããã«æ¹é ããã¹ã¿ãã®ã½ã¼ã¹ã³ã¼ãã¯ï¼JSPã«ã¼
+ãã«ã®ã¦ã§ããµã¤ããããã¦ã³ã­ã¼ããããã¨ãã§ããï¼ã¹ã¿ãããã¦ã³ã­ã¼
+ããããï¼READMEãã¡ã¤ã«ã«å¾ã£ã¦ã¹ã¿ããæ§ç¯ãï¼ROM ã¾ãã¯ãã©ãã·ã¥ã¡
+ã¢ãªã«æ¸ãè¾¼ãï¼
+
+gdbï¼ã¹ã¿ããç¨ãã¦ãã­ã°ã©ã ããã¦ã³ã­ã¼ãã»å®è¡ããæé ã¯æ¬¡ã®éãï¼
+
+    % <TARGET>-gdb jsp
+    GNU gdb 4.18
+    Copyright 1998 Free Software Foundation, Inc.
+    .......... ä»¥ä¸ã¡ãã»ã¼ã¸ãç¶ã ..........
+    (gdb) 
+
+gdb ãèµ·åãããï¼æ¬¡ã®ã³ãã³ããå®è¡ãã¦ï¼ã¿ã¼ã²ããã·ã¹ãã ã¨æ¥ç¶ããï¼
+
+    (gdb) set remotebaud <BPS>
+    (gdb) target remote /dev/ttyXX
+
+<BPS>ï¼/dev/ttyXX ã«ã¯ï¼ããããï¼ã¿ã¼ã²ããã·ã¹ãã ãæ¥ç¶ãã¦ããã·ãª
+ã¢ã«ãã¼ãã®ãã¼ã¬ã¼ãã¨ï¼ããã¤ã¹åãæå®ããï¼æ¬¡ã«ï¼load ã³ãã³ãã«
+ããï¼ãã­ã°ã©ã ããã¦ã³ã­ã¼ãããï¼
+
+    (gdb) load
+
+ãã­ã°ã©ã ã®å®è¡ã¯ï¼continue ã³ãã³ãã§è¡ãï¼
+
+    (gdb) continue
+
+ã¿ã¼ã²ããã·ã¹ãã ã«ãã£ã¦ã¯ï¼ãã­ã°ã©ã ã®å®è¡ä¸­ã«ã³ã³ãã­ã¼ã«-C ãå
+¥
+åããï¼ã¾ãã¯ NMI ãããããã¨ã§ï¼ãã­ã°ã©ã ãåæ­¢ããã¦ gdb ã«å¶å¾¡ã
+æ»ããã¨ãã§ããï¼ãã ãï¼å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§ã¯ï¼ã³ã³ãã­ã¼ã«-C ã§åæ­¢ã
+ãããã¨ã¯ã§ããªãï¼è©³ããã¯ï¼ã¹ã¿ãã® READMEãã¡ã¤ã«ã¾ãã¯ã¿ã¼ã²ãã
+æ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+
+
+ï¼ï¼Cygwinã®ã¤ã³ã¹ãã¼ã«
+
+æ¬ã¤ã³ã¹ãã¼ã«ããã¥ã¢ã«ã¯ï¼cygwinã®1.5.5ãã¼ã¸ã§ã³ãå¯¾è±¡ã«ãã¦ããï¼
+ã¾ãï¼ä»¥ä¸ã®ãµã¤ãã§ã¯Cygwinã«é¢ããæ
+å ±ããã­ã¥ã¡ã³ããã¾ã¨ãããã¦ããï¼
+http://www.sixnine.net/cygwin/cygwin-doc/
+
+3.1å¿
+è¦ãªãã¡ã¤ã«
+Cygwinã®ã¤ã³ã¹ãã¼ã«ã«å¿
+è¦ãªãã¡ã¤ã«ã¯æ¬¡ã®ãµã¤ãããå
+¥æãããã¨ãã§ããï¼
+
+        Red Hat             http://www.cygwin.com/
+                    ã¾ãã¯  ftp://sources.redhat.com/pub/cygwin/
+        Ring Server         http://www.ring.gr.jp/
+
+ä¸è¨ã®ãµã¤ãããææ°çã® setup.exe ããã¦ã³ã­ã¼ãããï¼
+
+3.2ã¤ã³ã¹ãã¼ã«
+setup.exe ãå®è¡ããã¨ï¼
+
+ã»ã¤ã³ã¿ã¼ããããããã¦ã³ã­ã¼ããã
+ã»ã¤ã³ã¿ã¼ãããããã¤ã³ã¹ãã¼ã«ãã
+ã»ã­ã¼ã«ã«ãã£ã¬ã¯ããªããã¤ã³ã¹ãã¼ã«ãã
+
+è©²å½ããã¤ã³ã¹ãã¼ã«ææ³ã«ãã§ãã¯ãæ¬¡ã«é²ãï¼ä½å°ãã®ãã·ã³ã«ã¤ã³ã¹ãã¼
+ã«ãããªãï¼1å°ç®ã¯ã¤ã³ã¿ã¼ãããããã¤ã³ã¹ãã¼ã«ã¤ã¡ã¼ã¸ããã¦ã³ã­ã¼
+ããï¼å¾ã®ãã·ã³ã«ã¯ãããã®ãã¡ã¤ã«ãã³ãã¼ãã¦ã­ã¼ã«ã«ãã£ã¬ã¯ããªã
+ãã¤ã³ã¹ãã¼ã«ããã°ããï¼
+
+ä»¥ä¸ï¼ã¤ã³ã¿ã¼ããããããã¦ã³ã­ã¼ãããå ´åã«ã¤ãã¦èª¬æããï¼ãã¦ã³ã­ã¼
+ããé¸æããã¨å¿
+è¦ãªãã° proxy ã®è¨­å®ã®å¾ï¼ãã©ã¼ãµã¤ãã®ä¸è¦§ãç¤ºãã
+ãã®ã§ï¼è¿ãã®ãµã¤ããé¸æããï¼
+
+æ¬¡ã«ï¼ããã±ã¼ã¸ä¸è¦§ãç¤ºãããããï¼å¿
+è¦ãªããã±ã¼ã¸ãé¸æããï¼ç¹ã«å
+ç·ç­ã®åé¡ããªãããããã¹ã¦ã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã®ãæã¾ããï¼
+
+ãã¦ã³ã­ã¼ããçµäºãããããä¸åº¦ setup.exe ãå®è¡ãã¦ï¼ã­ã¼ã«ã«ãã£ã¬
+ã¯ããªããã®ã¤ã³ã¹ãã¼ã«ãé¸æããï¼æ¬¡ã«ã¤ã³ã¹ãã¼ã«å
+ã®ãã£ã¬ã¯ããª
+(ä¸ã§ãã¦ã³ã­ã¼ããããã¡ã¤ã«ãå­å¨ãããã£ã¬ã¯ããªï¼ããã©ã«ãã§é¸æ
+ããã¦ããã¯ã)ãé¸æããï¼æ¬¡ã«ã¤ã³ã¹ãã¼ã«å
+ã®é¸æã«ç§»ããï¼ç¹ã«çç±
+ããªãéãããã©ã«ãã® C:\Cygwin ã«ã¤ã³ã¹ãã¼ã«ããï¼æ¬¡ã«ã¤ã³ã¹ãã¼ã«
+ããããã±ã¼ã¸ãé¸æããï¼å
+ã»ã©ãã¦ã³ã­ã¼ãããããã¡ã¤ã«ãè¡¨ç¤ºããï¼
+ãã£ãã©ã«ãã§ã¯å
+¨ã¦ã¤ã³ã¹ãã¼ã«ããããã¨ã«ãªã£ã¦ããããï¼åã« next 
+ãæ¼ãã¦ã¤ã³ã¹ãã¼ã«ãéå§ããï¼
+
+
+3.3.éçºç°å¢ã®ã¤ã³ã¹ãã¼ã«
+
+3.3.1 ãã¤ããªããã®ã¤ã³ã¹ãã¼ã«
+
+ç¹ã«ææ°çã®ã³ã³ãã¤ã©ãå¿
+è¦ã§ãªããã°ï¼TOPPERS/JSP ã®ãã¼ã ãã¼ã¸
+ï¼http://www.toppers.jp/ï¼ãã SH ç¨ã® BINUTILS,GCC-CORE,GDB ã®ãã¤ã
+ãªï¼gnu_cygwin_sh.tar.gzï¼ãc:\Cygwin\usr\localã«ãã¦ã³ã­ã¼ããã¦ä»¥ä¸
+ã®æé ã§å±éããï¼ãªãï¼ãã®ãã¡ã¤ã«ã«ã¯NEWLIBã¯å«ã¾ãã¦ããªããï¼
+GDB-Stubï¼TOPPERS/JSP ã® sample1 ã®ã³ã³ãã¤ã«ã«ã¯æ¯éã¯ãªãï¼ã¦ã¼ã¶ã¼
+ã¢ããªã±ã¼ã·ã§ã³ãä½æããããï¼å¿
+è¦ãªãå¥éã½ã¼ã¹ããã³ã³ãã¤ã«ï¼ã¤ã³
+ã¹ãã¼ã«ããï¼ãã¤ããªï¼gnu_cygwin_sh.tar.gzï¼ã¯ï¼Cygwin ã® /usr/local 
+ã§å±éããï¼
+
+    $ cd /usr/local
+    $ tar xvfz gnu_cygwin_sh.tar.gz
+
+ããã§/usr/local/shä»¥ä¸ã«éçºãã¼ã«ãã¤ã³ã¹ãã¼ã«ãããï¼æ¬¡ã«
+/usr/local/sh/bin ã«ãã¹ãéãï¼å
+·ä½çã«ã¯ãã¼ã ï¼cygwinå®è¡æã®ã«ã¬ã³
+ããã£ã¬ã¯ããª)ã«bashã®è¨­å®ãã¡ã¤ã«".bashrc"ãä½æãã¦æ¬¡ã®ä¸è¡ãè¿½å ã
+ãï¼
+
+export PATH=/usr/local/sh/bin:${PATH}
+
+å¾ã¯ï¼JSPã®åã¿ã¼ã²ããã®Makefileå
+é ­ã«ãã"CYGWIN = ture"ã®é¨åã®ã³ã¡
+ã³ãã¢ã¦ããå¤ãã°Cygwinä¸ã§JSPã®ã³ã³ãã¤ã«ãå¯è½ã§ããï¼
+
+
+3.4.gdbã«ãããããã°
+GDBã®ã³ãã³ãã©ã¤ã³ããCOM1çµç±ã§ã¿ã¼ã²ããã«æ¥ç¶ããå ´åã¯ï¼
+
+(gdb)target remote /dev/ttyS0
+
+COM2çµç±ã®å ´åã¯
+
+(gdb)target remote /dev/ttyS1
+
+ã¨ããï¼
+
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8-renesas.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8-renesas.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8-renesas.txt	(revision 26)
@@ -0,0 +1,1397 @@
+               ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                  ï¼H8ã¿ã¼ã²ããä¾å­é¨ (H8C(HEW)å¯¾å¿ç)ï¼
+   
+               ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 29-Dec-2010ï¼
+   
+   ------------------------------------------------------------------------ 
+    TOPPERS/JSP Kernel
+
+        Toyohashi Open Platform for Embedded Real-Time Systems/
+        Just Standard Profile Kernel
+   
+    Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                                Toyohashi Univ. of Technology, JAPAN
+    Copyright (C) 2001-2007 by Industrial Technology Institute,
+                                Miyagi Prefectural Government, JAPAN
+    Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+                     Tomakomai National College of Technology, JAPAN
+    Copyright (C) 2001-2004 by Kunihiko Ohnaka
+    Copyright (C) 2004 by Katsuhiro Amano
+   
+    ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+
+    ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+    è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+    ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+    å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+    (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+        ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+    (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+        è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+        ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+    (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+        ã¨ï¼
+      (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+          ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+      (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+          å ±åãããã¨ï¼
+    (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+        å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+   
+    æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+    ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+    å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+    æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+   
+    @(#) $Id: h8-renesas.txt,v 1.9 2007/03/23 07:27:55 honda Exp $
+
+   ------------------------------------------------------------------------
+1.  H8ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1. 1  ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+ã»Release1.4.1ã¾ã§ã®ãã¼ã¸ã§ã³ããä½¿ãã®æ¹ã¸
+ãRelease1.4.2ããå²è¾¼ã¿ã®æ±ããå¤§å¹
+ã«å¤æ´ããã¦ãããããæ§ãã¼ã¸ã§ã³
+ããä½¿ç¨ã®æ¹ã¯ã2.2.1 å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ããåç
+§ããããã
+
+ãæ¬å®è£
+ã¯gccå¯¾å¿ã ã£ãH8ä¾å­é¨ã(æ ª)ã«ããµã¹ ã½ãªã¥ã¼ã·ã§ã³ãºè£½ã®éçº
+ç°å¢H8C(HEW)ã«å¯¾å¿ããããã®ã§ããã
+
+  H8 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ãH8/3048F-ONEãæ­è¼ããä»¥ä¸ã®
+ãã¼ãã§ããã
+
+   ã»(æ ª)åæé»å­ H8/3048F-ONEã¹ã¿ã¼ã¿ã­ããï¼åçªHSB8F3048BF25ï¼
+
+ãªããä½ãããªãã¿ã¹ã¯ 1 åã®æå°æ§æã§ããå¿
+è¦ãª RAM å®¹éã¯ H8 ã®å
+èµ
+RAMã®å®¹éãè¶
+ããã ãã®ãããå¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ãããã
+CPUã¢ã¼ãã¯ã¢ããã³ã¹ãã¢ã¼ãã§ä½¿ç¨ãããã¨ãåæã¨ãã¦ããããã¼ãã«
+ã¢ã¼ãã§ä½¿ç¨ããå ´åã¯ãã¢ã»ã³ãã©é¨åãä¿®æ­£ããå¿
+è¦ãããã
+
+1. 2  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim)ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§
+ (chg_ipmã get_ipm)ããµãã¼ããã¦ãããã å²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯
+(dis_intãena_int) ã¯ãµãã¼ããã¦ããªãã
+
+1. 3  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+  H8/300H ã·ãªã¼ãºã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããã
+
+1. 4  ã·ãªã¢ã«ãã¼ã (SCI)
+
+  H8/3048Fã«ã¯SCI0ã¨SCI1ã®2æ¬ã®ã·ãªã¢ã«ãã¼ãããããuser_config.hã«
+å®ç¾©ãã¦ããTNUM_PORTã«ããä½æ¬ä½¿ç¨ãããæå®ã§ããã
+ç¾å¨ã®å®è£
+ã§ã¯2æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯SCI0ã
+ä½¿ç¨ãã¦ããã ã·ãªã¢ã«ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãã 
+
+   ã»ãã¼ã¬ã¼ãããã38400[bps]
+   ã»ãã¼ã¿é·ãããã8ããã
+   ã»ã¹ããããããã1ããã
+   ã»ããªãã£ãªã
+
+2.  H8 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+  ã«ã¼ãã«ã¨ã·ã¹ãã ãµã¼ãã¹æ©è½ã®ä¸­ã§ãH8ä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããã
+
+2. 1  ãã¼ã¿å
+
+  intåã¨unsigned intåã®ãµã¤ãºã¯ 16ãããã§ãããã¾ããå¦çç³»ã®å¶ç´ã
+ãã64ãããæ´æ°ã¯ãµãã¼ããã¦ããªãã
+
+2. 2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãåæå
+ã«ã¼ãã³å
+ã§ã¯ï¼NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ãCPU
+ã­ãã¯ç¶æ
+ã§ã¯CCRã¬ã¸ã¹ã¿ã®Iãããã¨UIããããã»ããããããã«ã«ã¼ãã«
+å
+ã®ãã©ã°å¤æ°ãã»ãããã¦ããã
+ãæ¬å®è£
+ã§ã¯SYSCRã¬ã¸ã¹ã¿ã®UEããããã¯ãªã¢ããCCRã¬ã¸ã¹ã¿ã®Iãããã¨
+UIããããå²è¾¼ã¿ãã¹ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã¨ãã¦ä½¿ç¨ãã¦ã
+ããï¼ã¬ãã«0ã¨ã¬ãã«1ã®å²è¾¼ã¿ãä½¿ç¨ã§ãããï¼
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼H8ã§ã®ä¾å¤ãã¯ã¿çªå·ã
+è¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+2.2.1 å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³
+
+jsp-1.4.1 H8ä¾å­é¨ï¼gccçï¼ããå²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãå¤æ´ããã¦ããã
+å¤æ´ç¹ã¯ä»¥ä¸ã®éãã
+ã1ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡ããµãã¼ã
+ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«0
+ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«1
+ã2ï¼å²è¾¼ã¿ã¬ãã«ã®è¨­å®ã¯2ã¶æã§è¡ãã
+ããã(1) å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ããããããããã¤ã¹ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¦æ±ããå²è¾¼ã¿ã¬ãã«
+ããããããåããã¤ã¹ãã©ã¤ãã®åæåå¦çã«ã¦IPRAãIPRBã¬ã¸ã¹ã¿ã®
+ããããããè¨­å®å¦çãè¡ãã
+ããã(2) å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ããããããå²è¾¼ã¿ãã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+ããããããä»ã®å²è¾¼ã¿è¦æ±ããã­ãã¯ããããã®å¤
+
+ã3ï¼ããã¤ã¹ãã©ã¤ãã®åæåå¦çã§ãå²è¾¼ã¿ã¬ãã«ã®è¨­å®ãè¡ãã
+ãããdefine_int_plevel( )ãç¨ããã
+ã4ï¼cpu_support.Sã§è¡ã£ã¦ããä»¥ä¸ã®è¨è¿°ã¯ä¸è¦ã«ãªã£ãã
+ããï¼å²è¾¼ã¿ã¬ãã«å¶å¾¡ãè¡ã£ãããï¼
+ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿è¨±å¯ã_xxxxx_enable_int
+ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿ç¦æ­¢ã_xxxxx_disable_int
+ãããããgccçã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çã_xxxxx_disable_intã«
+ãããããè¨è¿°ãã¦ããããrenesasçã§ã¯å²è¾¼ã¿ãã³ãã©ã®Cè¨èªã«ã¼ãã³
+ãããããã¾ãã¯ããããå¼ã°ããé¢æ°å
+ã«è¨è¿°ããæ¹æ³ãæ¨æºã¨ããã
+ã5ï¼ã¦ã¼ã¶ã¼ãç·¨éãã¹ãé¨åã¯å¥ãã¡ã¤ã«ã«åé¢ãã¦ããã
+ãããã·ã¹ãã ä¾å­é¨ã®intmask.inc
+ã6ï¼å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®èªåçæ
+ãããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«DEF_INH( )ã®å¼æ°ããèªåçæããã
+
+å²è¾¼ã¿ãã³ãã©ãç»é²ããä½æ¥­æé 
+ãã¿ã¤ãå²è¾¼ã¿ãä¾ã«èª¬æããã
+
+ã(1) å²è¾¼ã¿ãã³ãã©ã®è¨è¿°
+
+ãããæ§çã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
+è¦ãªå ´åã¯
+ããã_xxxxx_disable_intã«è¨è¿°ãã¦ããããæ°çã§ã¯å²è¾¼ã¿ãã³ãã©ã®Cè¨
+ãããèªã«ã¼ãã³ãã¾ãã¯ããããå¼ã°ããé¢æ°å
+ã«è¨è¿°ããæ¹æ³ãæ¨æºã¨
+ãããããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.c
+ããã  ã timer_handler( )ããå¼ã³åºãããhw_timer_int_clear( )
+ããããããï¼jsp/config/h8-renesas/hw_timer.hï¼
+
+
+ã(2) ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°
+
+ãããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°æ¹æ³ã¯ä»ã®ãã­ã»ããµã¨åæ§
+ãããã§ããã
+ããããã¯ã¿çªå·ã¯jsp/config/h8-renesas/h8_3048f.hç­ã§ãã¯ã­å®ç¾©ãã¦ããã
+ãããDEF_INH( )ã®ç¬¬1å¼æ°ã®å²è¾¼ã¿ãã³ãã©çªå·ã¯ããªãã­ã»ã¹å¾ã«æ´æ°å®æ°
+ãããã«ãªã£ã¦ããªããã°ãªããªããï¼èªåå²ãä»ãéå¯¾å¿æ´æ°å¤ãã©ã¡ã¼ã¿ï¼
+ããããã¯ã¿ãã¼ãã«èªåçææããããä»®å®ãã¦ããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.cfg
+  ããããDEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
+
+
+ã(3) å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ãããIPRA,IPRBã«è¨­å®ããå²è¾¼ã¿è¦æ±æã®ãã©ã¤ãªãªãã£ã¬ãã«ã¨ãå²è¾¼ã¿
+ããããã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ãããã©ã¤ãªãªãã£ã¬ãã«
+ãããã®ï¼ã¤ãå²è¾¼ã¿è¦å æ¯ã«è¨­å®ããã
+
+ã(3)-1 å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ãããåæåå¦çã®cpu_initialize( )ã§ãã¹ã¦ã®å²è¾¼ã¿ãã¬ãã«0ã«åæåã
+ãããã¦ããã
+ãããããã¤ã¹ãã©ã¤ãã®åæåå¦çã§å²è¾¼ã¿è¦å æ¯ã®ãã©ã¤ãªãªãã£ã»ã¬ã
+ãããã«ãè¨­å®ããããã®é¢æ°ãç¨æããã¦ããã
+ãããã
+ããããCè¨èªAPIã
+ãããããvoid define_int_plevel(const IRC *irc);
+
+ããããããIRCï¼Interrupt Request Controller
+ãããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+
+ãããããã©ã¡ã¼ã¿ã
+ãããããconst IRC *ircãè¨­å®ãã¼ã¿ãæ ¼ç´ããé åã®å
+é ­ã¢ãã¬ã¹
+   ãããããUB *iprï¼è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå°
+   ããããããããããIPRAã¾ãã¯IPRBã¬ã¸ã¹ã¿
+   ãããããUB bit ï¼IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå·
+ããã   ããIPM ipmï¼è¨­å®ããå²è¾¼ã¿ã¬ãã«
+   ããããããããããIPM_LEVEL0,IPM_LEVEL1ã®ãããã
+
+ãããããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+ããããããªã
+
+ããããæ©è½ã
+ãããããircãæãç¤ºãé åã®ãã¼ã¿ãç¨ãã¦ãããã¤ã¹ããã®å²è¾¼ã¿ã®
+ããããããã©ã¤ãªãªãã£ã»ã¬ãã«ãè¨­å®ããã
+ããããããã®é¢æ°ãå¼ã³åºãåã«h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+
+ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
+
+ãããããjsp/config/h8-renesas/cpu_config.c
+ããããããconst IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
+                        ããããããSYSTEM_TIMER_IP_BIT,
+                        ããããããSYSTEM_TIMER_IPM
+                      ãããããã};
+
+ãããããjsp/config/h8-renesas/hw_timer.h
+ããããããhw_timer_initialize( )
+ããããã    define_int_plevel(&TIMER_IRC);
+
+ãããè¨­å®ã«ç¨ããå¤ã¯ãã¯ã­å®ç¾©ããã¦ããã
+ããã
+ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ãããjsp/config/h8-renesas/h8_3048f.h
+      #define H8IPRA                  0xfffff8ul
+      #define H8IPRB                  0xfffff9ul
+
+
+ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ãããçªå·
+ãããjsp/config/h8-renesas/h8_3048f.h
+ãããã»IPRA
+ããã#define H8IPR_IRQ0_BIT          7u       /* IRQ0         */
+ããã#define H8IPR_IRQ1_BIT          6u       /* IRQ1         */
+ããã#define H8IPR_IRQ2_BIT          5u       /* IRQ2         */
+ããã#define H8IPR_IRQ3_BIT          5u       /* IRQ3         */
+ããã#define H8IPR_IRQ4_BIT          4u       /* IRQ4         */
+ããã#define H8IPR_IRQ5_BIT          4u       /* IRQ5         */
+ããã#define H8IPR_WDT_BIT           3u       /* WDT          */
+ããã#define H8IPR_CMI_BIT           3u       /* CMI          */
+ããã#define H8IPR_ITU0_BIT          2u       /* ITU0         */
+ããã#define H8IPR_ITU1_BIT          1u       /* ITU1         */
+ããã#define H8IPR_ITU2_BIT          0u       /* ITU2         */
+ããã
+
+ãããã»IPRB
+ããã#define H8IPR_ITU3_BIT          7u       /* ITU3         */
+ããã#define H8IPR_ITU4_BIT          6u       /* ITU4         */
+ããã#define H8IPR_DMAC_BIT          5u       /* DMAC (CH0,1) */
+ããã#define H8IPR_SCI0_BIT          3u       /* SCI0         */
+ããã#define H8IPR_SCI1_BIT          2u       /* SCI1         */
+ããã#define H8IPR_AD_BIT            1u       /* A/D          */
+
+
+(3)-2 å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ããã»****_intmaskãã¯ã­ã®å®ç¾©
+ãããH8ä¾å­é¨ã§ã¯ãéçAPI DEF_INH( )ã§å²è¾¼ã¿ãã³ãã©ãå®ç¾©ããã¨ã
+ãããã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã«ãããå²è¾¼ã¿ã®å
+¥å£å¦çã
+ãããvector.srcå
+ã«èªåçæãããã
+ããããã®å
+¥å£å¦çã§ã¯ãCè¨èªã«ã¼ãã³****ãå¼ã³åºãç´åã®å²è¾¼ã¿è¨±å¯æ
+ãããã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤ã¨ãã¦ããã¯ã­****_intmaskãå®ç¾©ããã¦
+ãããããã¨ä»®å®ãã¦ããã®ã§ãå²è¾¼ã¿è¦å æ¯ã«IPM_LEVEL1ãIPM_LEVEL2ã®ã
+ããããããã«å®ç¾©ãããã¨ã
+ãããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ãããããIPMã«ã¯ï¼ã¤ä¸ã®ã¬ãã«
+ããããè¨­å®ããå¿
+è¦ãããã®ã§ãæ³¨æãå¿
+è¦ã§ããã
+ãããintmask.incã§å®ç¾©ããã®ãæ¨æºã¨ããã
+
+ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
+ããããjsp/config/h8-renesas/hsb8f3048bf25/intmask.inc
+ãããã
+ããããtimer_handler_intmask:         .DEFINE         "IPM_LEVEL2"
+ãããã
+
+2.2.2 å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§
+
+H8ä¾å­ã®æ©è½ã¨ãã¦ï¼CCRã¬ã¸ã¹ã¿ä¸­ã®IPMã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼
+ã«chg_ipmã¨ï¼åç
+§ããããã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼
+ãªãï¼IPMã®å¤ãè¡¨ããã¼ã¿åIPMã¯ï¼unsigned charåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMãã¬ãã«0ä»¥å¤ï¼ããªãã¡ï¼
+ä½ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢
+ãããï¼chg_ipmã«ããå¤æ´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶
+ãããï¼
+ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMãã¬ãã«1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®
+ã¿ã¹ã¯ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯ã¬ãã«1ã«ãªãï¼
+
+chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ã
+ããããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ã­ã«ããï¼ããã
+ã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPMã¯ï¼user_config.hããã³user_config_asm.incã®ä¸­ã§ãã¯ã­
+å®ç¾©ããã¦ããï¼
+
+H8ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®éãï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼
+IPMã§ç¨ããå¤ã¨ãã¦ãä»¥ä¸ã®ãã¯ã­ãç¨æããã¦ããã
+ãIPM_LEVEL0ï¼ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ãIPM_LEVEL1ï¼ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ã
+ããããããããããããåãä»ãã
+ãIPM_LEVEL2ï¼ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+
+
+IPMã«æå®ããå¤ãä¸è¨ã®ãã¯ã­ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã
+IPM_LEVEL0ä»¥å¤ã«è¨­å®ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­
+å®ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ã
+ããå ´åã«ã¯ï¼dis_dspã¨ä½µç¨ããã°ããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPMãIPM_LEVEL2ï¼NMIä»¥å¤ã®å²è¾¼ã¿ãç¦
+æ­¢ï¼ã«è¨­å®ãã¦ãCPUã­ãã¯ç¶æ
+ã¨ã¯åºå¥ããããï¼ãã£ã¹ããããç¦æ­¢ãã
+ãªããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+
+2. 3  CPUä¾å¤ç®¡çæ©è½ã¨ CPUä¾å¤ãã³ãã©
+
+H8ãã­ã»ããµèªä½ã«CPUä¾å¤ãæ±ãæ©è½ãåãã£ã¦ããªããããã«ã¼ãã«ã®H8
+ä¾å­é¨ãCPUä¾å¤ããµãã¼ããã¦ããªããå¾ã£ã¦ãCPU ä¾å¤ãã³ãã©ã®è¨­å®é¢
+æ° define_exc( )ã¯ä½ãããªãé¢æ°ã§ããã
+ä»æ©ç¨®ã¨ã®äºææ§ã®ãããCPUä¾å¤ãã³ãã©çªå·ã®ãã¼ã¿å (EXCNO) ã¯ 
+unsigned intåã«å®ç¾©ããã¦ããã
+
+2. 4  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+  H8ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.src) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡ã
+ãå¾ãã«ã¼ãã« (kernel_start) ãèµ·åããããã ãã kernel_start ããæ»ã£
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+   (1)   ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+   (2)   ãã¼ãã¦ã§ã¢ä¾å­ã®åæåå¦çã®å¼åºã
+ããããããHARDWARE_INIT_HOOKãã¯ã­ãå®ç¾©ããã¦ããã°ããã¼ãã¦ã§ã¢ä¾
+ãããããå­ã®åæåå¦çãå¼åºãããã®é¢æ°ã¯ã«ã¼ãã«ãèµ·åããåã«ã
+ãããããã¿ã¼ã²ããä¾å­ã®ãã¼ãã¦ã§ã¢çãªåæåãè¡ãããã«ç¨æããã
+ãããããã®é¢æ°åãHARDWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+ããããããæ¬å®è£
+ã§ã¯ãå¤é¨ã¡ã¢ãªç©ºéã®æå¹åã®ä»ã«ããSYSCRã¬ã¸ã¹ã¿
+ãããããã®UEãããã®ã¯ãªã¢ãå²è¾¼ã¿åªå
+ã¬ã¸ã¹ã¿(IPRAã¨IPRB)ã®åå¥å²ã
+ãããããè¾¼ã¿ã®åªå
+åº¦ã®è¨­å®ãè¡ã£ã¦ããã
+ãããããHARDWARE_INIT_HOOKãã¯ã­ã®å®ç¾©ã¯sys_config_asm.incã§è¡ãã®ã
+ãããããæ¨æºã¨ããã
+
+   (3)   Bã»ã¯ã·ã§ã³ã®åæå
+           Bã»ã¯ã·ã§ã³ã®å
+¨é åã 0 ã¯ãªã¢ããã
+
+   (4)   Dã»ã¯ã·ã§ã³ã®åæå
+           Dã»ã¯ã·ã§ã³ãå¤é¨ RAM ã«è»¢éããã
+
+   (5)   ã½ããã¦ã§ã¢ç°å¢ä¾å­ã®åæåå¦çã®å¼åºã
+ããããããSOFTWARE_INIT_HOOKãã¯ã­ãå®ç¾©ããã¦ããã°ãã½ããã¦ã§ã¢ç°
+ãããããå¢ä¾å­ã®åæåå¦çãå¼åºãããã®é¢æ°ã¯ã«ã¼ãã«ãèµ·åããåã«ã
+ãããããã½ããã¦ã§ã¢ç°å¢(ã©ã¤ãã©ãªç­)ä¾å­ã®åæåãè¡ãããã«ç¨æã
+ãããããããä¾ãã°ãã©ã¤ãã©ãªã®åæè¨­å®ãªã©ã§ããã
+ããããããã®é¢æ°åãSOFTWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+ãããããSOFTWARE_INIT_HOOKãã¯ã­ã®å®ç¾©ã¯sys_config_asm.incã§è¡ãã®ã
+ãããããæ¨æºã¨ããã
+
+2. 5  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
+
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡æã«å²è¾¼ã¿ãçºçãããã®çµæãã¿ã¹ã¯ã¹ã¤ããã
+ãå ´åãã¿ã¹ã¯ã¹ã¿ãã¯ã«ã¯ä»¥ä¸ã®æ
+å ±ãç©ã¾ãããããã¿ã¹ã¯æ¯ã«32ãã¤ã
+ãã¤ã¹ã¿ãã¯é åãä½åã«ç¢ºä¿ããå¿
+è¦ãããã
+ï¼ãã®å¾ãå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããéã«ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åãã
+ãå ´åã¯ããã«ã¿ã¹ã¯ã¹ã¿ãã¯ã®é åãå¿
+è¦ã«ãªããï¼
+
+  ãã¿ã¹ã¯ã¹ã¿ãã¯ã«ç©ã¾ããå
+å®¹
+  ããã»æ»ãçªå°
+  ããã»CCRã¬ã¸ã¹ã¿
+  ããã»er0ãer6
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3. 1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼åºãå¨æã¯ã user_config.hå
+
+ã®TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ããããã£ãã©ã«ãã¯ 1[ms] å¨æã§ã
+ãã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼åºãå¨æãå¤æ´ã§ããã ãã ãã
+ã¿ã¤ãç²¾åº¦ã®åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããã¨ã isig_tim ã®å¼åºãå¨æã«èª¤
+å·®ãçºçããã
+
+ãH8/3048F-ONEã¹ã¿ã¼ã¿ã­ããã
+ã¿ã¤ãã«ä¾çµ¦ããã¦ããã¯ã­ãã¯å¨æ³¢æ°ã¯3072[kHz]ã§ãã
+ï¼ã¯ã­ãã¯24.576[MHz]ã®8åå¨ï¼ãã¿ã¤ãç²¾åº¦ã¯
+ã(1000000/3072)[nsec]ï¼ç´0.326[Î¼sec]
+ã§ããã
+ãã£ãã©ã«ãã®ã¯ã­ãã¯ããã¤ã¹ã¨ãã¦ãH8/3048F-ONEã§ã¯ITU0ãä½¿ç¨ãã¦
+ããã
+
+
+3. 2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+  H8ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ããµãã¼ããã¦ã
+ãã
+
+ãCè¨èªAPIã
+ããER vxget_tim(SYSUTIM *p_sysutim);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	SYSUTIM sysutimï¼ãªã»ããããã®çµéæéï¼Î¼secåä½ï¼
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTXï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºãã
+
+ãæ©è½ã
+ãªã»ããããã®çµéæéãÎ¼secåä½ã§è¨æ¸¬ããå®è¡æ§è½ã®è¨æ¸¬æ©è½ãæä¾ã
+ããSYSUTIMåã¯ UWå(32 ãããç¬¦å·ãªãæ´æ°å)ã§ãããããÎ¼secåä½ã§æ
+ç®ããã¨ãªã»ããããç´71åéæ¯ã«ãªã¼ãã¼ãã­ã¼ãã¦ãã¼ã­ã«æ»ãã2ç¹é
+ã®å®è¡æéãè¨æ¸¬ããã¨ãã«ãã®ãªã¼ãã¼ãã­ã¼ãçºçãã¦ããªããæ³¨æãå¿
+
+è¦ã§ããã
+
+ãH8/3048F-ONEã¹ã¿ã¼ã¿ã­ããã
+ã¿ã¤ãèªä½ã®ç²¾åº¦ã¯ç´0.326[Î¼sec]ã§ããã1Î¼secåä½ã¾ã§æå¹ã§ããã
+
+3. 3  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+  H8/3048F-ONEã«ã¯ SCI0 ã¨ SCI1 ã® 2 æ¬ã®ã·ãªã¢ã«ãã¼ããããã
+user_config.h ã«å®ç¾©ãã¦ãã TNUM_PORT ã«ããä½æ¬ä½¿ç¨ãããæå®ã§ããã
+ç¾å¨ã®å®è£
+ã§ã¯ 2 æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯ SCI0
+ãä½¿ç¨ãã¦ããã
+
+3. 4  ã¡ã¢ãªããã
+
+3. 4. 1  H8/3048F-ONEã¹ã¿ã¼ã¿ã­ããã®ã¡ã¢ãªããã
+
+  ã¢ã¼ã6ã«åºå®ããã¦ããã
+
+         0x00,0000 - 0x01,ffff  å
+èµROM 128KB
+         ããããããããããããããã¯ã¿ãã¼ãã«ãP,C,Dã»ã¯ã·ã§ã³
+         0x20,0000 - 0x27,ffff  å¤é¨RAM 512KB
+         ãããããããããããããR(D),Bã»ã¯ã·ã§ã³
+         0xff,ef10 - 0xff,efff  å
+èµRAM 4KB
+         ãããããããããããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã¨ãªã¢
+
+
+4.  ãµã³ãã«ãã­ã°ã©ã ã®å®è¡æé 
+
+4. 1  éçºç°å¢
+
+  éçºç°å¢ã¯ãWindows 2000ä¸ã§ã(æ ª)ã«ããµã¹ ã½ãªã¥ã¼ã·ã§ã³ãºè£½ã®éçº
+ç°å¢ãç¨ããã
+ãæ¬éçºã«ç¨ãããã¼ã«ã®ãã¼ã¸ã§ã³ãä»¥ä¸ã«ç¤ºãã 
+
+   ã»ã³ã³ãã¤ã©ãã¢ã»ã³ãã©ãæé©åãªã³ã±ã¼ã¸ã¨ãã£ã¿
+   ããåçªï¼R0C40008XSW06R
+   ãããã¼ã¸ã§ã³ï¼V.6.1.2
+   ã»çµ±åéçºç°å¢ HEW4.02.00.022
+   ã»ãããã¬ãE10T-USB Emulator
+   ããæ·»ä»ã½ããã¦ã§ã¢ã®ãã¼ã¸ã§ã³:2.01.00
+
+ã¾ããä»ã«ãä¸è¨ã®ãã¼ã«ãå¿
+è¦ã«ãªãã
+
+   ã»MinGW
+       ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ããã«ãããããã«å¿
+è¦ã¨ãªãã
+       éå¸¸ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
+       å©ç¨ããã°ããï¼
+       MinGW (Minimalist GNU for Windows)
+       http://www.mingw.org/
+       http://sourceforge.net/projects/mingw/  (ã¤ã³ã¹ãã¼ã©ã®å
+¥æå
+)
+
+   ã»Windowsã®ã³ãã³ãã»ãã­ã³ããã§åä½ããPerl
+   ããä¸è¨ã®4.3 (1)ã®ä½æ¥­ã§ä½¿ç¨ããã
+   ããActive Perl v5.8.8
+       ãé
+å¸å
+ãhttp://www.ActiveState.com
+
+4. 2  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã«ã
+
+user.txt ãåç
+§ã®ãã¨ã
+
+4. 3  ãµã³ãã«ãã­ã°ã©ã ã®ãã«ã
+
+(1) HEWä¸ã§ã®ãã«ã
+
+ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã¡ã¤ã«ãéã
+ãjsp/tools/H8-RENESAS/H8-RENESAS.hws
+ãã¯ã¼ã¯ã¹ãã¼ã¹ä½ææã¨ãã£ã¬ã¯ããªãç°ãªãæ¨ã®è­¦åãåºããç¡è¦ããã
+ã
+ãâ» ãã¼ã«ãã§ã¼ã³ã®ãã¼ã¸ã§ã³ãç°ãªãæ¨ã®è­¦åãåºãå ´å
+ãããä¸è¨ã®ãã¼ã¸ã§ã³ããå¤ããã¼ã«ãã§ã¼ã³ã§ã®åä½ã¯æªç¢ºèªã§ããã
+
+ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ã«ã¯4ã¤ã®ãã­ã¸ã§ã¯ããç»é²ããã¦ããã
+ãã»genoffsetï¼TCBæ§é ä½å
+ã®ãªãã»ãããæ±ããã
+ãã»libkernelï¼ã«ã¼ãã«ã»ã©ã¤ãã©ãªã®ãã«ããè¡ãã
+ãã»configurationï¼ã«ã¼ãã«ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ããã¯ã¿ãã¼ãã«ã®
+ããããããããããèªåçæãè¡ãã
+ãã»sampleï¼ãµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ãã
+
+ãã­ã¸ã§ã¯ãã®ä¾å­é¢ä¿ã®ãããä»¥ä¸ã®é çªã§ãã«ãããã
+ãï¼ï¼libkernelãã­ã¸ã§ã¯ããã¢ã¯ãã£ããã­ã¸ã§ã¯ãã«è¨­å®ãã
+ãï¼ï¼libkernelãã­ã¸ã§ã¯ãããã«ããã
+ãï¼ï¼sampleãã­ã¸ã§ã¯ããã¢ã¯ãã£ããã­ã¸ã§ã¯ãã«è¨­å®ãã
+ãï¼ï¼sampleãã­ã¸ã§ã¯ãããã«ããã
+
+æé 1ã¨2ã¯æåã®1åã®ã¿ã§ãããã¢ããªã±ã¼ã·ã§ã³é¨åã®ã¿ã½ã¼
+ã¹ã³ã¼ããå¤æ´ããå ´åã¯ãªãã«ãããå¿
+è¦ã¯ãªãã
+configurationãã­ã¸ã§ã¯ãã¨offsetãã­ã¸ã§ã¯ãã¯ä¾å­ãã­ã¸ã§
+ã¯ãã¨ãã¦èªåçã«ãã«ããããã
+
+sampleãã­ã¸ã§ã¯ãã®ãã«ããæåããã¨ã
+ãã»å®è¡ãã¡ã¤ã«ãsample1.abs
+ãã»Sã¬ã³ã¼ããã¡ã¤ã«ãsample1.mot
+ãçæãããããè¨­å®ãã¦ããã
+
+æ³¨æï¼
+ãlibkernelã®ãã«ãããå
+ã«genoffsetãã­ã¸ã§ã¯ãããã«ãããå¿
+è¦ã
+ãããããã­ã¸ã§ã¯ãéã®ä¾å­é¢ä¿ãè¨­å®ãã¦ãsampleãã­ã¸ã§ã¯ããèµ·ç¹ã¨
+ããå ´åï¼ä¾å­é¢ä¿ããã¹ããã¦ããå ´åï¼ã¯æ­£ããé åºã§å®è¡ãããªãã®ã§ã
+æåã§libkernelãã­ã¸ã§ã¯ããäºããã«ããã¦ããã
+
+åè
+ãReleaseãã«ãã¨Debugãã«ãã®åæ¿ã¯HEWã®ãã«ãã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§
+ã³ã«ãã£ã¦è¡ãããã«ãã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãå¤æ´ããã¨ããã¡ã¤ã«ã®
+ä¾å­æ§ãã§ãã¯ã«å¤±æããå ´åãããã
+ï¼ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãè¦ã¤ãããªãç­ï¼ã
+ãã®å ´åã¯ãä»¥ä¸ã®æé ã§åé¿ã§ããã
+ãï¼ï¼Windowsã®ã³ãã³ãã»ãã­ã³ããï¼DOSçªï¼ãéãã¦ã
+ãããjsp/tools/H8-RENESAS/libkernelãã£ã¬ã¯ããªã§clean.batãå®è¡ããã
+ãï¼ï¼HEWã®ããã«ããâããã¹ã¦ããã«ããã³ãã³ããå®è¡ããã
+
+
+(2) ã¿ã¼ã²ããã»ãã¼ãã®ãã¦ã³ã­ã¼ã
+
+ãã¼ãããããã°ãã¼ã«ã®ããã¥ã¢ã«ãåç
+§ã
+
+4. 4  ããããè³ªåã¨åç­
+
+Q.ãgenoffsetã¨libkernel, configurationã¨sampleã®ããã«ãã¡ã¤ã«ã
+ããçæãããã§ã¼ãºã¨ãããã³ã³ãã¤ã«ãããã§ã¼ãºãç°ãªããã­ã¸ã§ã¯ã
+ããã«å²ãå½ã¦ã¦ããã®ã¯ä½ãçç±ãããã®ã§ããããï¼
+
+A.ãæåã¯åããã­ã¸ã§ã¯ãå
+ã«çæãã§ã¼ãºã¨ã³ã³ãã¤ã«ãã§ã¼ãºã
+ããå
+¥ãããã¨ããã®ã§ãããHEWã¯ãã­ã¸ã§ã¯ãã®ãã«ããéå§ãã
+ããéã«ãã¡ã¤ã«ã®ä¾å­é¢ä¿ãã¹ã­ã£ã³ããå¿
+è¦ãªã½ã¼ã¹ãã¡ã¤ã«ãã
+ãããã£ã¦ããªããã«ããæ­¢ã¾ã£ã¦ãã¾ããããç¾å¨ã®ãããªå½¢ã«åå²
+ãããã¾ããã
+ããã«ã¹ã¿ã ãã§ã¼ãºã®é çªã¯èª¿æ´ã§ãã¾ãããä¾å­é¢ä¿ã¹ã­ã£ã³ã®ã¿
+ããã¤ãã³ã°ã¯å¤ããããªãããã§ãã
+
+5.  ãã¡ã¤ã«æ§æ
+
+5. 1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+   (1)   config/h8-renesas/
+
+            cpu_config.c     H8ãã­ã»ããµä¾å­é¨ã®Cé¢æ°
+            cpu_config.h     H8ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+            cpu_config_asm.incãä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            cpu_context.h    H8ãã­ã»ããµä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+            cpu_defs.h       H8ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+            cpu_insn.h       H8ãã­ã»ããµã®ç¹æ®å½ä»¤ã®é¢æ°å®ç¾©
+            cpu_support.src  H8ãã­ã»ããµã®ã¢ã»ã³ããªé¢æ°
+            cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
+            ãããããããã å®ç¾©ãªã¹ã
+            cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            cpu_rename_asm.inc ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            h8.h             H8/300Hãã­ã»ããµã®å
+±éå®ç¾©
+            makeoffset.c     offset.hçæãµãã¼ãç¨ã½ã¼ã¹ãã¡ã¤ã«
+            start.src        ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+            tool_config.h    H8ãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+            tool_defs.h      H8ãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+            vector_header.src å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®ãããã¼é¨å
+            h8_sil.c     ããSILã®H8åãæ¡å¼µ Cé¢æ°
+            h8_sil.h     ããSILã®H8åãæ¡å¼µ æ§æå®ç¾©
+            
+            h8_3048f.h       H8/3048Fãã­ã»ããµã®å®ç¾©
+            ããããããããããH8/3048FãH8/3048F-ONEå
+¼ç¨
+            h8_3048f_asm.inc ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            util.h       ãããããçªå·ãªã©ã®å®ç¾©
+            util_asm.inc ããä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+
+            hw_serial.c      SCI ã®å¤æ°ã¨é¢æ°
+            hw_serial.cfg    SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+            hw_serial.h      SCI ã®å®ç¾©
+            hw_timer.h       ITU ã®å®ç¾©
+
+   (2)   config/h8-renesas/hsb8f3048bf25/
+           (æ ª)åæé»å­H8/3048F-ONEã¹ã¿ã¼ã¿ã­ããï¼åçªHSB8F3048BF25ï¼
+           ãã¼ãã®ä¾å­é¨å
+
+            sys_config.c     HSB8F3048BF25ãã¼ãä¾å­é¨ã®Cé¢æ°
+            sys_config.h     HSB8F3048BF25ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_config_asm.incãä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            sys_defs.h       HSB8F3048BF25ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³
+            ãããããããã ç¨å®ç¾©
+            sys_support.src  HSB8F3048BF25ãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
+            ãããããããã å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            
+            ä»¥ä¸ã¯ãã¦ã¼ã¶ã¼ãç·¨éããå¿
+è¦ããããã¡ã¤ã«
+            user_config.hããã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+            user_config_asm.incãä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            intmask.incãããå²è¾¼ã¿ãã¹ã¯ã®å®ç¾©
+
+   (3)   utils/
+   ãããããã«ãã«å¿
+è¦ãªã¦ã¼ãã£ãªãã£ç¾¤
+
+          ãh8/ ãããã gccçã¨å
+±éã®ã¹ã¯ãªãã
+            ãgrep_def_inh.plãPerlã¹ã¯ãªããçæç¨ãã£ã«ã¿
+           
+          ãh8-renesas/ãH8Cä¾å­ã®ã¹ã¯ãªãã
+            ãcopy_kernel_source.bat
+            ããããããããã ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼
+            ããããããããã ããããããã¡ã¤ã«
+            ãgenoffsetããããTCBæ§é ä½å
+ã®ãªãã»ãããç®åºããperlã¹ã¯ãªãã
+            ãgenvector.plãã ãã¯ã¿ãã¼ãã«çæç¨ã¹ã¯ãªãã
+            ãgen_intentry.plãå²è¾¼ã¿å
+¥å£å¦ççæç¨ã¹ã¯ãªãã
+            
+
+   (4)   tools/H8-RENESAS/
+           HEW4.0ç¨ã®ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã£ã¬ã¯ããª
+           ã(æ ª)åæé»å­H8/3048F-ONEã¹ã¿ã¼ã¿ã­ããï¼åçªHSB8F3048BF25ï¼
+
+            readme.txt
+            ããã«ãæé ãç¤ºããreadmeãã¡ã¤ã«
+            H8-RENESAS.hws
+            ãã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã¡ã¤ã«
+            sample1.cfg
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+            ããã¡ã¤ã«
+            sample1.c
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®Cè¨èªã½ã¼ã¹ã»ãã¡ã¤ã«
+            sample1.h
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¯ã«ã¼ãã»ãã¡ã¤ã«
+
+   (5)   tools/H8-RENESAS/genoffset/
+   ããããä»¥ä¸ã®å¦çãè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããããã»ã«ã¼ãã«ã»ã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼
+   ãããããã»TCBæ§é ä½å
+ã®ãªãã»ããç®åº
+   ãããã
+           call_copy_kernel_source.bat
+           ããcopy_kernel_source.batãå¼ã³åºãããã®ããããã¡ã¤ã«
+
+           call_genoffset.bat
+           ããgenoffsetã¹ã¯ãªãããå¼ã³åºãããã®ããããã¡ã¤ã«
+
+  ãããã Debug/     ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããoffset.incããTCBæ§é ä½å
+ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+
+  ãããã Release/   ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããoffset.incããTCBæ§é ä½å
+ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+
+   (6)   tools/H8-RENESAS/libkernel
+   ããããã«ã¼ãã«ã»ã©ã¤ãã©ãªã®ãã«ããè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããã
+   ããããkernel_source/ãã ä¸­éãã¡ã¤ã«ãæ ¼ç´ãããã£ã¬ã¯ããª
+   ããããããclean.batãããä¸­éãã¡ã¤ã«ãåé¤ããããã®ããããã¡ã¤ã« 
+
+   (7)   tools/H8-RENESAS/configuration
+   ããããã«ã¼ãã«ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããã
+           call_configuration.bat
+           ããããããããã ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¼ã¨ãã¯ã¿ãã¼ãã«çæ
+           ããããããããã ã¹ã¯ãªããã®å¼ã³åºã
+
+  ãããã Debug/     ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããkernel_id.hããã   IDèªåå²ä»ãã®å®ç¾©ãã¡ã¤ã«
+   ããããããdebug_kernel_cfg.c  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®åºåçµæ
+   ããããããdebug_vector.src    èªåçæãããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+
+  ãããã Release/   ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããkernel_id.hããã   IDèªåå²ä»ãã®å®ç¾©ãã¡ã¤ã«
+   ããããããrelase_kernel_cfg.c ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®åºåçµæ
+   ããããããrelease_vector.src  èªåçæãããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+   ããããã
+
+   (7)   tools/H8-RENESAS/sample
+   ãããããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããã
+   ããããset_sp.hdcãããã ãããã¬ã§ã¹ã¿ãã¯ãã¤ã³ã¿ãåæåããããã®
+   ããããããããããããã ããããã¡ã¤ã«
+
+
+6. ã¢ããªã±ã¼ã·ã§ã³éçºè
+åãã®æ
+å ±
+
+ã¢ããªã±ã¼ã·ã§ã³éçºè
+ã«æçã¨æãããæ
+å ±ã«ã¤ãã¦è¿°ã¹ãã
+
+6.1 ã«ã¼ãã«ã®è¨­å®å¤æ´æ¹æ³
+
+H8ä¾å­é¨ã§ã¯ãæ§ã
+ãªè¨­å®å¤æ´ãå®¹æã«ã§ãããããè¨­å®ç®æããä»¥ä¸ã®ï¼ã¤
+ã®ãã¡ã¤ã«ã«ã¾ã¨ãã¦ããã
+ãã»user_config.hããããCè¨èªåãè¨­å®ãã¡ã¤ã«
+ãã»user_config_asm.incãã¢ã»ã³ãã©è¨èªç¨è¨­å®ãã¡ã¤ã«
+
+ã¦ã¼ã¶ã¼ã¯ãã®ï¼ã¤ã®ãã¡ã¤ã«å
+ã®ãã¯ã­å®ç¾©ãå¤æ´ããã ãã§ãã«ã¼ãã«ã®
+ã½ã¼ã¹ãã¡ã¤ã«ãèª­ã¾ãªãã¦ãããç¨åº¦ã¾ã§ã«ã¼ãã«ã®è¨­å®ãå¤æ´ã§ããã
+è¨­å®é 
+ç®ã«ãã£ã¦ã¯Cè¨èªç¨ã¨ã¢ã»ã³ãã©è¨èªç¨ã®ä¸¡æ¹ã®å®ç¾©ãå¿
+è¦ã«ãªãã®
+ã§æ³¨æã
+
+ä»¥ä¸ãè¨­å®ãã¡ã¤ã«å
+ã®åãã¯ã­ã®æå³ãè¿°ã¹ãã
+
+ã»å
+¨è¬çãªè¨­å®é 
+ç®
+
+(1) SUPPORT_CHG_IPM
+chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+è¨­å®ãã¡ã¤ã«ï¼user_config.hãuser_config_asm.inc
+
+(2) SUPPORT_VXGET_TIM
+vxget_timããµãã¼ããããã©ããã®å®ç¾©
+ãã®è¨­å®ãå¤æ´ããå ´åã¯ããã¡ã¤ã«åå²ãååº¦è¡ãå¿
+è¦ãããã
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(3) CPU_CLOCK
+ãã­ã»ããµã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [Hz]
+è¨­å®ãã¡ã¤ã«ï¼user_config.hãuser_config_asm.inc
+
+(4) STACKTOP
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
+è¨­å®ãã¡ã¤ã«ï¼user_config_asm.inc
+
+(5) E10T
+E10T-USB Emulatorã§ãããã°ããå ´åã¯ãã®ãã¯ã­ãå®ç¾©ããã
+E10Tä½¿ç¨æã«å¿
+è¦ãªå¦çãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§è¡ãã
+å®ç¾©å ´æï¼ã¢ã»ã³ãã©ã®ãªãã·ã§ã³ã¨ãã¦ä¸ããã
+ãããããï¼HEWã®ãã«ããªãã·ã§ã³ï¼
+
+
+ã»ã·ãªã¢ã«ãã¼ãé¢é£ã®è¨­å®é 
+ç®
+
+(1) TNUM_PORT
+ãµãã¼ãããã·ãªã¢ã«ããã¤ã¹ã®æ°ï¼æå¤§ 2ï¼
+è¨­å®ãã¡ã¤ã«ï¼user_config.hãuser_config_asm.inc
+
+ä»¥ä¸ããã¼ã2ã®è¨­å®ã¯TNUM_PORTã2ã«è¨­å®ããå ´åã®ã¿æå¹ã§ããã
+
+(2) SYSTEM_PORTIDãUSER_PORTID
+ã·ã¹ãã ãã¼ããã¦ã¼ã¶ã¼ãã¼ãã®ãã¼ãçªå·
+USER_PORTIDã®è¨­å®ã¯TNUM_PORTã2ã«è¨­å®ããå ´åã®ã¿æå¹ã§ããã
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(3) SCI_LOW_PORTID
+ãã¼ãªã³ã°ã«ããä½ã¬ãã«åºåã«ç¨ããã·ãªã¢ã«ãã¼ãã®ãã¼ãçªå·
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(4) SCI_PORT1_BAUD_RATEãSCI_PORT2_BAUD_RATE
+ãã¼ã1,2ã®ãã¼ã¬ã¼ã [bps]
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(5) SCI_PORT1_IPMãSCI_PORT2_IPM
+ãã¼ã1,2ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ï¼å²è¾¼ã¿çºçæã®IRCã¸ã®è¦æ±ã¬ãã«ï¼
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(6) H8_CFG_SCI_ERR_HANDLER
+ã·ãªã¢ã«åä¿¡ã¨ã©ã¼å²è¾¼ã¿ã«éå¸¸ã®åä¿¡å²è¾¼ã¿ã¨ã¯å¥ã®ãã³ãã©ãå²ãå½ã¦ã
+ãã©ããã®å®ç¾©
+è¨­å®ãã¡ã¤ã«ï¼user_config.hãuser_config_asm.inc
+
+ã»ã¿ã¤ãé¢é£ã®è¨­å®é 
+ç®
+
+(1) TIC_NUMEãTIC_DENO
+ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ãåæ¯
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(2) TIMER_CLOCK
+ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(3) SYSTEM_TIMER_IPM
+ã¿ã¤ãå²è¾¼ã¿ã®ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ï¼å²è¾¼ã¿çºçæã®IRCã¸ã®è¦æ±ã¬ãã«ï¼
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+
+6.2 ã¢ããªã±ã¼ã·ã§ã³åãã«æä¾ãããæ©è½
+
+H8ä¾å­é¨ã§ã¯ã¢ããªã±ã¼ã·ã§ã³ãéçºãããããããããä»¥ä¸ã®æ©è½ãæä¾ã
+ã¦ããã
+
+6.2.1ãå¾®å°æéå¾
+ã¡
+
+æ©ç¨®éä¾å­é¨ã®sil.hã§ãã­ãã¿ã¤ãå®£è¨ãã¦ããsil_dly_nseé¢æ°ã¯å¼æ°ã
+UINTåã§ãããintåã2ãã¤ãã§ãããã®å¦çç³»ã§ã¯ç´65Î¼secã¾ã§ããè¡¨ç¾
+ã§ããªããããããé·ãæéå¾
+ã¡ãè¡ããããå¼æ°ãUWåã«å¤æ´ããå¥é¢æ°
+sil_dly_nse_longãç¨æãã¦ãããã©ã¡ããnsecåä½ã§å¾
+ã¡æéãæå®ããã
+t_services.hãs_services.hãã¤ã³ã¯ã«ã¼ããããã¨ã«ããï¼cpu_defs.hãä»
+ãã¦ï¼å©ç¨ã§ããã
+
+ãCè¨èªAPIã
+ããvoid sil_dly_nse_long(UW dlytim);
+
+ããã©ã¡ã¼ã¿ã
+	UW dlytimããã å¾
+ã¡æé[nsec]
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+ã½ããã¦ã§ã¢ã»ã«ã¼ãã«ããæéå¾
+ã¡ãè¡ãã
+åæ§ã®æ©è½ãæä¾ããsil_dly_nseé¢æ°ã¯æå¤§ç´65Î¼secã¾ã§å¾
+ã¡æéãæå®ã§
+ããã®ã«å¯¾ãã¦ãsil_dly_nse_longé¢æ°ã¯ç´4.3secã¾ã§æå®ã§ããã
+
+6.2.2ãI/Oãã¼ãã®DDRã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹è£å©æ©è½
+
+H8ã®I/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããã
+ãã®ã¾ã¾ã§ã¯ææã®ãããã ããå¤æ´ãããã¨ãã§ããªãã
+ï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ã¾ããã«ã¼ãã«ã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ãããã¤ãã®DDRã¬ã¸ã¹ã¿ã«å¯¾ã
+ã¦è¨­å®ãè¡ã£ã¦ããããããã®ã¾ã¾ã§ã¯ã«ã¼ãã«ã¨ã¢ããªã±ã¼ã·ã§ã³ã®éã§æ´
+åæ§ãä¿ã¤ãã¨ãã§ããªãã
+ãã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®ç¾å¨å¤ãä¿
+æããæ¹æ³ãæ¡ã£ã¦ããã
+æ¬æ©è½ãå©ç¨ããå ´åã¯h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+ãã¼ãçªå·ã¯IO_PORTåã¨ãã¦å®ç¾©ãã¦ãããIO_PORT1, IO_PORT2, IO_PORT3, 
+IO_PORT4, IO_PORT5, IO_PORT6, IO_PORT8, IO_PORT9, IO_PORTA, IO_PORTBã®
+ãããããæå®ãããï¼ãã¼ã7ã¯å
+¥åå°ç¨ã®ãããDDRã¬ã¸ã¹ã¿ããªããï¼
+ãã¼ãçªå·ã¨ãã¦ããããä»¥å¤ã®å¤ãæå®ããå ´åã¯assertæã§ã¨ã©ã¼ã¨ãªãã
+
+
+(1) sil_reb_ddrããDDRã¬ã¸ã¹ã¿ã®èª­ã¿åºã
+
+ãCè¨èªAPIã
+ããUB sil_reb_ddr(IO_PORT port);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT portãããããã¼ãçªå·
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	DDRã¬ã¸ã¹ã¿ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã®å¤ãèª­ã¿åºãã
+
+(2) sil_wrb_ddrããDDRã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿
+
+ãCè¨èªAPIã
+ããvoid sil_wrb_ddr(IO_PORT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT portã ãã¼ãçªå·
+	UB dataããããæ¸ãè¾¼ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¤dataãæ¸ãè¾¼ãã
+
+(3) sil_anb_ddrããDDRã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_anb_ddr(IO_PORT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT portã ãã¼ãçªå·
+	UB dataããããANDæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ANDæ¼ç®ã
+è¡ãã
+
+(4) sil_orb_ddrããDDRã¬ã¸ã¹ã¿ã®ORæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_orb_ddr(IO_PORT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT portã ãã¼ãçªå·
+	UB dataããããANDæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ORæ¼ç®ã
+è¡ãã
+
+
+7. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±
+
+ãH8ä¾å­é¨ãä»ã®ã¿ã¼ã²ããã»ãã¼ãã¸ãç§»æ¤ããéã«å¿
+è¦ãªæ
+å ±ãä»¥ä¸ã«
+è¿°ã¹ãã
+
+7.1 ãã¯ã­å®ç¾©
+
+(1) SYSCR_SYS
+SYSCRã®åæå¤
+ãã¼ãä¾å­é¨ã§å®ç¾©ããå
+å®¹
+ãã»ããã6-4 STSï¼ã¹ã¿ã³ãã¤ã»ã¿ã¤ãã»ã»ã¬ã¯ã
+ãã»ããã2 NMIEGï¼NMIã¨ãã¸
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+æ®ãã®ãããã¯CPUä¾å­é¨ã§å®ç¾©ãã¦ããã
+
+(2) HARDWARE_INIT_HOOK
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ãããã¼ãã¦ã§ã¢ä¾å­ã®åæåå¦çãå¼ã³åºãã¨ãã¯ã
+ãã®å
+é ­ã¢ãã¬ã¹ããã¯ã­å®ç¾©ããã
+ï¼GNU ldã®PROVIDEå½ä»¤ã¨åç­ã®æ©è½ããªãããï¼
+å®ç¾©ãã¡ã¤ã«ï¼sys_config_asm.inc
+
+(3) SOFTWARE_INIT_HOOK
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ä¾å­ã®å¦çã
+å¼ã³åºãã¨ãã¯ããã®å
+é ­ã¢ãã¬ã¹ããã¯ã­å®ç¾©ããã
+å®ç¾©ãã¡ã¤ã«ï¼sys_config_asm.inc
+
+(4) WITHOUT_INNER_RAM
+å
+èµRAMãä½¿ç¨ããªãå ´åã¯ããã®ãã¯ã­ãå®ç¾©ããã
+å
+èµRAMãä½¿ç¨ããªãå ´åã¯ãå¤é¨RAMãæå¹ã«ãªããªãã¨ã¹ã¿ãã¯ã¨ãªã¢ãä½¿
+ããªãããã®ãããæ»ãçªå°ãã¹ã¿ãã¯ã«ç©ãH8ãã­ã»ããµã®é¢æ°å¼ã³åºãã¯
+ï¼ã¢ã»ã³ãã©ã§ãã£ã¦ãï¼ãã®ã¿ã¤ãã³ã°ã§ã¯ã¾ã ã§ããªããã¤ã¾ãã
+HARDWARE_INIT_HOOKã§ç¤ºãããé¢æ°ããã¯ç¡æ¡ä»¶åå²å½ä»¤ã§æ»ã£ã¦ããã
+ï¼ã©ãã«start_1ãã¨ã¯ã¹ãã¼ããããï¼
+å®ç¾©ãã¡ã¤ã«ï¼sys_config_asm.inc
+
+(5) EXCLUSIVE_BUS
+sleepå½ä»¤ã«ãã£ã¦ã½ããã¦ã§ã¢ã»ã¹ã¿ã³ãã¤ã»ã¢ã¼ãã«é·ç§»ããéããã¹æ¨©
+è¦æ±ã®ç«¶åãèµ·ããå ´åããããï¼ä¾ãã°ãH8/3048Fã®ãã¼ãã¦ã§ã¢ã»ããã¥
+ã¢ã«ã6.4.4 ã½ããã¦ã§ã¢ã»ã¹ã¿ã³ãã¤ã»ã¢ã¼ãã¸ã®é·ç§»ãåç
+§ï¼
+EXCLUSIVE_BUSãã¯ã­ãå®ç¾©ãããã¨ããã£ã¹ãããã£ã®sleepå½ä»¤ã®åå¾ã«ã
+ã¹æ¨©è¦æ±ã®æä»å¶å¾¡ãæ¿å
+¥ãããã
+å®ç¾©ãã¡ã¤ã«ï¼sys_config_asm.inc
+
+(6) SOFTWARE_TERM_HOOK
+atexit( )ããå¼ã³åºãå¦çãå¤é¨å®ç¾©ããã¦ããå ´åã¯ããã®é¢æ°åããã¯ã­
+å®ç¾©ãããatexit( )ã§ã¯
+ãã»å¤é¨å®ç¾©ãããã°ããããå¼ã³åºã
+  ã»å¤é¨å®ç¾©ããªããã°ãä½ãããªãï¼ç©ºã®å®ç¾©ï¼
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(7) DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã®ããã®å®æ°å®ç¾©
+
+(a) DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãä»¥ä¸ã®ãã¯ã­åã§å®ç¾©ããã
+    H8P1DDR, H8P2DDR, H8P3DDR, H8P4DDR, H8P5DDR, 
+    H8P6DDR, H8P8DDR, H8P9DDR, H8PADDR, H8PBDDR
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.hããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«
+ãããããããh8_30xxf.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
+
+(b) DDRã¬ã¸ã¹ã¿ã®åæå¤
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³å®è¡ç´å¾ã®DDRã¬ã¸ã¹ã¿ã®å¤ãä»¥ä¸ã®ãã¯ã­åã§å®ç¾©
+ããã
+ããH8P1DDR0ãH8P2DDR0ãH8P3DDR0ãH8P4DDR0ãH8P5DDR0ã
+ããH8P6DDR0ãH8P8DDR0ãH8P9DDR0ãH8PADDR0ãH8PBDDR0
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+7.2 ãã«ãç¨ã®ã¹ã¯ãªããã«ã¤ãã¦
+
+(a) jsp/tools/H8-RENESAS/configuration/call_configurator.bat
+
+HEWã§ã¯ãï¼ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã£ã¬ã¯ããªã®å¤ã«ããï¼å¤é¨ãã¼ã«ãç¸å¯¾ã
+ã¹æå®ã§å¼ã³åºããªãããããã®ãããªããããã¡ã¤ã«ãä»ãã¦ã
+ãã»ã³ã³ãã£ã®ã¥ã¬ã¼ã¿
+ãã»Perlã¹ã¯ãªãã
+ãå¼ã³åºãã¦ããã
+ä»¥ä¸ã®xxxã®é¨åãç§»æ¤ã®éã«å¤æ´ããå¿
+è¦ãããã
+
+ãã»ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªå
+ãããcfg.exe -s %1 -c -obj -cpu h8 -system xxx
+ãããxxxã«ã¯ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªåãå
+¥ãã
+
+ãã»ãã¯ã¿ãã¼ãã«ã®ãµã¤ãº
+ãããgenvector.pl -s xxx
+ãããxxxã«ã¯ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºãå
+¥ãã
+
+ã¾ããç°å¢ã«ãã£ã¦ã¯Perlã®ã¤ã³ã¿ããªã¿ã¸ã®ãã¹è¨­å®ãå¿
+è¦ã«ãªãå¯è½æ§ã
+ããã
+
+(b) jsp/utils/h8-renesas/genvector.pl
+
+ãã¯ã¿ãã¼ãã«çæã®ããã®Perlã¹ã¯ãªããgenvector.plã®ä»æ§
+  -s n		ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+  		nã¯æ´æ°å®æ°ãä»®å®ãã¦ãããããä»¥å¤ã®å¼æ°ãä¸ãããã
+  		å ´åã®åä½ã¯æªå®ç¾©ã§ããã
+
+(c) vector.srcå
+ã§ç¨ãããã¦ãããã¯ã­ã®ä»æ§
+
+Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çãçæããããã®ãã¯ã­INTHDR_ENTRYã
+ç¨æããã¦ãããã¹ã¯ãªããgenvector.plã¯ãå¼æ°intmaskã®å¤ãintmask.inc
+å
+ã«****_intmaskã®åã§ãã¯ã­å®ç¾©ããã¦ããã¨ä»®å®ãã¦ããã
+ãã
+ããããã¢ã»ã³ãã©è¨èªã§ã®APIã
+ãããããINTHDR_ENTRY c_routine, intmask
+
+ãããããã©ã¡ã¼ã¿ã
+ãããããc_routineï¼Cè¨èªã«ã¼ãã³ã®é¢æ°å
+ãããããintmaskãï¼Cè¨èªã«ã¼ãã³ãå¼ã³åºãç´åã®å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿
+ãããããããããã ãã¹ã¯ã«è¨­å®ããå¤
+ãããããããããã IPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨ã
+ãããããããããã èªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ãããããIPMã«ã¯
+ãããããããããã ï¼ã¤ä¸ã®ã¬ãã«ãè¨­å®ããã
+
+ããããå±éçµæã
+ãããããå²è¾¼ã¿ã®å
+¥å£å¦ç
+
+ããããæ©è½ã
+ãããããCè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çãçæããã
+
+ã»åè
+ããã¯ã¿ãã¼ãã«ã¨å
+¥å£å¦çãvector.srcã«ã¾ã¨ããçµæãã©ãã«
+_kernel_****_entryã¯ã°ã­ã¼ãã«ã«å
+¬éããå¿
+è¦ããªããªã£ããããã­ã¼ã«
+ã«ã©ãã«ã¨ãã¦ãããããã«ä¼´ãªãcpu_config.hã®INT_ENTRYãã¯ã­ã§ã¯å
+±é
+é¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåããããããããã¼ã®ã©ãã«åãä½¿ç¨ãã¦ããã
+
+
+7.3 ãã®ä»
+ã»4.3ç¯(2)ã®ãã­ã¸ã§ã¯ãæ§æã«ã¤ãã¦
+ããã¡ã¤ã«åå²ã¯libkernelãã­ã¸ã§ã¯ãã®ï¼ãã§ã¼ãºã¨ãã¦å®ç¾©ããæ¹ãè¦
+éããè¯ããªããããã®æ¹æ³ã§ã¯ããã¡ã¤ã«åå²ãä¸çªæåã«å®è¡ãããã«
+ãã»ãã§ã¼ãºã¨ãã¦å®ç¾©ãã¦ãããã¡ã¤ã«åå²ãè¡ãåã«ã³ã³ãã¤ã«ã»ãã§ã¼
+ãºã®ãã¡ã¤ã«ã®ä¾å­é¢ä¿ã®ãã§ãã¯ãè¡ããããã¡ã¤ã«ãéããªãæ¨ã®è­¦åã
+å¤§éã«è¡¨ç¤ºããã¦ãã¾ãã
+
+
+8. å¶éäºé 
+
+
+ã»ãã¹ããã·ã³ã®OS
+ãWindows9xç³»ã¯ãµãã¼ãããªãã
+
+ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã§ãã«(chkï¼ã¯å®è£
+ãã¦ããªãã
+
+ã»HEWãæä¾ããå
+é¨ã¬ã¸ã¹ã¿å®ç¾©ãã¡ã¤ã«ã«ã¯å¯¾å¿ãã¦ããªãã
+ãï¼gccçã¨ããã¤ã¹ãã©ã¤ããå
+±æããããï¼
+
+ã»64ãããæ´æ°ã¯ãµãã¼ãããªãã
+ãï¼å¦çç³»ã®å¶éäºé 
+ï¼
+
+ã»ã·ã¹ãã ã­ã°æ©è½ã«ã¤ãã¦
+intåã2ãã¤ãã®ãããã·ã¹ãã ã­ã°æ©è½(syslog, syslog_n)ã®%d, %u, %x,
+ %Xã«ããæ´æ°è¡¨ç¤ºã§ã¯2ãã¤ããã¼ã¿ããè¡¨ç¤ºã§ããªãã2ãã¤ãããå¤§ãã
+ãã¼ã¿ãè¡¨ç¤ºããå ´åã¯ãè¡¨ç¤ºãããã¼ã¿ã2ãã¤ããã¤ã«åå²ãã¦ã·ã¹ãã 
+ã­ã°æ©è½ã«æ¸¡ãå¿
+è¦ããããï¼ãã¤ã³ã¿åè¡¨ç¤ºã®%pãä½¿ãã°4ãã¤ãã¾ã§è¡¨ç¤º
+ã§ãããï¼
+
+ã»ç¸å¯¾æéã«ã¤ãã¦
+ãRELTIMåã2ãã¤ãã®ãããï¼1msecåä½ã§æç®ããã¨ï¼ç¸å¯¾æéãç´65ç§ã«
+å¶éããããRELTIMåã4ãã¤ãã«ãããå ´åã¯jsp/include/itron.hã«ãã
+RELTIMåã®å®ç¾©ãå¤æ´ããã
+
+å¤æ´åï¼typedef	UINT RELTIM;            /* ç¸å¯¾æé */
+å¤æ´å¾ï¼typedef	UW RELTIM;              /* ç¸å¯¾æé */
+
+ã»atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ã(tool_config.hã®call_atexit())
+ãä»æ©ç¨®ã§ã¯ã«ã¼ãã«ã©ã¤ãã©ãªã®ãªãã«ããè¡ããªãã¦ãã
+software_term_hook()ã®å®ç¾©ãããã°ãèªåçã«å¼ã³åºãããããã«ãªã£ã¦ã
+ããªã£ã¦ããããh8-renesasã§ã¯software_term_hook()ã«ç¸å½ããé¢æ°åãã
+ã¯ã­SOFTWARE_TERM_HOOKã¨ãã¦å®ç¾©ããã«ã¼ãã«ã©ã¤ãã©ãªããªãã«ãããå¿
+
+è¦ãããã
+ãè©³ããã¯ã7.1 ãã¯ã­å®ç¾©ãã®ã(6) SOFTWARE_TERM_HOOKããåç
+§ã
+
+
+9. gccçï¼jsp-1.4.1 H8ä¾å­é¨ï¼ããã®å¤æ´ç¹
+
+ã»å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ã®å¤æ´ï¼2.2ç¯åç
+§ï¼
+ã»å²è¾¼ã¿åªå
+åº¦å¶å¾¡ã®ãµãã¼ã
+ããã»2ã¬ãã«
+ããã»ããã«ä¼´ããå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§æ©è½ããµãã¼ã
+ã»å¾®å°æéå¾
+ã¡ããµãã¼ã
+ã»DDRã¬ã¸ã¹ã¿ã»ã¢ã¯ã»ã¹ã»ã«ã¼ãã³ã®æ°è¨­
+ã»ã¦ã¼ã¶ã¼è¨­å®é 
+ç®ã®æ´ç
+
+
+å¤æ´å±¥æ­´
+
+'05/05/10 ãµãã¼ãéå§
+
+'05/12/28 Release1.4.2
+ãä¿®æ­£
+ãã»å²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+ãããã»èªåçæããããä»æ§å¤æ´
+ãããã»perlã¹ã¯ãªããã®ãã¢ã»ãã­ã¥ã¡ã³ããåºåæã«æå­åãããä¸å
+·å
+ãããããä¿®æ­£ï¼å
+¨è§æå­ãåè§æå­ã«å¤æ´ï¼
+ãã»å²è¾¼ã¿ãã¹ã¯ã®å®ç¾©æ¹æ³
+ãããã»ã¦ã¼ã¶ã¼ã¯å²è¾¼ã¿ãã¹ã¯ã®å®ç¾©ã ãè¡ãã°æ¸ãããã«ä»æ§å¤æ´
+ãããã»ã°ã­ã¼ãã«ã ã£ã_kernel_xxxx_entryã©ãã«ã¯ã­ã¼ã«ã«ã©ãã«ã«å¤æ´
+ãããã»å²è¾¼ã¿ã®å
+¥å£å¦çãvector.srcã«æ¸ãåºãããå¤æ´
+ãã»TCBæ§é ä½ã®ãªãã»ããç®åº
+ãããã»MOV.B  #8:8,R0Lã®ããã«å®æ°é¨ã®ãããå¹
+ãæç¤ºãããã¨ãã«ãã¼ã¹
+ããããã§ããªãä¸å
+·åãä¿®æ­£
+ãããã»ãªãã»ããå¤ã16é²æ°ã®å ´åã«å¯¾å¿
+ãããã»makefile.makå
+ã®ãã¹è¨­å®ã§ãã¹ãã¼ã¹ãå«ãã­ã³ã°ãã¼ã ãã«ã¤
+ãããããã¦ã®è¨è¿°ãè¿½å 
+ãã»ç»é²ããã¦ããªãå²è¾¼ã¿ã®æ±ã
+ãããã»cpu_experr( )
+ãããããã»å²è¾¼ã¿çºçç´åã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ï¼ãªãã»ããå¤ï¼ãä¿®æ­£
+ãããããã»syslog( )ã§4ãã¤ããã¼ã¿ãè¡¨ç¤ºããããã%pæå®ï¼ãã¤ã³ã¿åï¼
+ãããããããç¨ããããå¤æ´
+ããããããï¼%xï¼æ´æ°åï¼ã§ã¯2ãã¤ãããè¡¨ç¤ºã§ããªãããï¼
+ãããã»no_reg_exception()
+ãããããã»ã¹ã¿ãã¯ããåãåºããpcã¨ccrãåé¢ãã¦ããªãã£ãä¸å
+·åã
+ããããããä¿®æ­£
+ãããããã»syslogé¢æ°ã§4ãã¤ããã¼ã¿ããã®ã¾ã¾å¼æ°ã«ãã¦ããä¸å
+·åã
+ããããããä¿®æ­£
+ãããããããï¼intãµã¤ãºï¼ï¼2ãã¤ãï¼ã®å¼æ°ããæ¸¡ããªãï¼
+ãã»ã¢ã»ã³ãã©ã«ã¼ãã³ã®è¨­è¨è¦ç´ã
+ãããã»CPUã­ãã¯ãã©ã°ã®ã¯ãªã¢ä½ç½®ã®è¦ç´ã
+ãããããã»å²è¾¼ã¿ã®åºå£å¦ç
+ãããããã»å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡
+ãããã»æ¡ä»¶åå²å½ä»¤ç´åã®ä¸è¦ãªorå½ä»¤ãåé¤
+ãããããï¼ãã®åã®movå½ä»¤ã ãã§ååï¼
+ãã»DDRã¢ã¯ã»ã¹ã«ã¼ãã³
+ãããã»sil_reb_ddr(), sil_wrb_ddr()
+ããããããassertæã®å¼æ°ãã§ãã¯ã®ç¯å²ãã¹ãä¿®æ­£
+ãã»ãã«ãæé 
+ããããReleaseãã«ãæã«ã¢ã¸ã¥ã¼ã«éæé©åãç©æ¥µçã«é©ç¨ããããã«
+ããããè¨­å®ãå¤æ´
+ãã»ã·ã¹ãã ã­ã°æ©è½
+ãããã»è¡¨ç¤ºã§ãããã¼ã¿ãµã¤ãºã«ã¤ãã¦å¶éäºé 
+ãè¿½è¨
+
+'07/03/xx Release1.4.3
+ãã»ãã¯ã¿ãã¼ãã«èªåçæ
+ãããã»perlã¹ã¯ãªãããgccçã¨å®å
+¨ã«å
+±éå
+ãããããã»0ãã¯ã¿åé¡ã«å¯¾å¿
+ãããããã»ãã¯ã¿ãµã¤ãºã®å¼æ°ãã§ãã¯ãè¿½å 
+ãããããã»å²è¾¼ã¿çªå·ã«uãã¤ãã¦ããå ´åã®å¦çãè¿½å 
+ãããã»ç§»æ¤æ§ãèæ
+®ãã¦ãgenvector.plã®å¦çãï¼ã¤ã«åå²
+ãããããã»genvector.plï¼ãã¯ã¿ãã¼ãã«ã®çæï¼H8Sçã¨å
+±éåï¼
+ãããããã»gen_intentry.plï¼å²è¾¼ã¿ã®å
+¥å£å¦çï¼INTENTRYï¼ã®çæ
+ãããã»ããã«ä¼´ãªããgrep_def_inh.plã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå¤æ´
+ãããã»å¦çç³»æ¯ã®æ¹è¡ã³ã¼ãã®éãã«å¯¾å¿
+ãããã»DEF_INHæã®éä¸­ã§æ¹è¡ãããã¨ãã¼ã¹ã«å¤±æããåé¡ãä¿®æ­£
+ãããã»filter1.plã¨filter2.plãï¼ã¤ã«ã¾ã¨ããgrep_def_inh.plã«æ¹å
+ããããï¼gccçã¨HEWçã§åå¥ã«filter2.plãç¨æããå¿
+è¦ããªããªã£ãï¼
+ãã»å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ãããã»h8_sil.hã®define_int_plevel()
+ãããããcpu_insh.hãã¤ã³ã¯ã«ã¼ãããªãã§ãbitset(),bitclr()ãå¼ã³
+ãããããåºãã¦ããä¸å
+·åãä¿®æ­£
+ãããã»bitset, bitclr
+ãããããï¼ã¢ã»ã³ãã©ã§è¨è¿°ããï¼é¢æ°å¼ã³åºããããã¯ã­å®ç¾©ã«å¤æ´
+ãããããããâé¢æ°å¼ã³åºãã®ãªã¼ãã¼ããããç¡ãããã
+ãã»ãã«ãæé 
+ãããã»Debugã¨Releaseã§ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³çµæãå¥ã
+ã«
+ããããæã¦ãããã«ããã«ãæé ãå¤æ´
+ãããã»APIæ¯ã®ãã¡ã¤ã«ã³ãã¼å¦çã«ããããã¡ã¤ã«ãä½¿ç¨ããã¨
+ããããç¡ç¨ãªã¡ãã»ã¼ã¸ãå¤§éã«è¡¨ç¤ºããããããperlã§å¦çãã
+ããããããå¤æ´
+ãããã»H8Sçã¨ã®æ´åæ§
+ãããããã«ã¹ã¿ã ãã«ãã§hmakeãå¼ã³åºãããããããã¡ã¤ã«ã®ã¿ã§
+ãããããå¦çãããããã«ãæé ãå¤æ´
+ãããããããã«ããã
+ããããããã»hmakeã¸ã®ãã¹è¨­å®ãä¸è¦ã«ãªãã
+ãããããããï¼ãã­ã¸ã§ã¯ããã¡ã¤ã«ã®å¯æ¬æ§ãåä¸ï¼
+ããããããã»ã«ã¹ã¿ã ãã«ãå
+ã§è¡ã£ã¦ããããªãã­ã»ã¹ãä¸è¦ã«ãªãã®ã§
+ãããããããå¦çæéãç­ç¸®
+ãã»ç¹æ®ã¬ã¸ã¹ã¿ã®æä½ãå¦çç³»ç´æ­£ã®ã©ã¤ãã©ãªã«å¤æ´
+ãã»DDRã¢ã¯ã»ã¹é¢æ°
+ããããã¼ãçªå·ã®åãINTåããIO_PORTåã«å¤æ´
+ãã»SILã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãæ©ç¨®ä¾å­é¨ã§å®ç¾©
+ãããã³ã³ãã¤ã©ã®è­¦åãåé¿ãããã
+ãã»ãµã³ãã«ãã­ã°ã©ã 
+ãããuser_config.hããTASK_PORTIDã®å®ç¾©ãåé¤
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8.txt	(revision 26)
@@ -0,0 +1,1998 @@
+               ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                            ï¼H8 ã¿ã¼ã²ããä¾å­é¨ï¼
+   
+               ï¼Release 1.4.3å¯¾å¿ï¼æçµæ´æ°: 15-Dec-2010ï¼
+   
+   ------------------------------------------------------------------- 
+    TOPPERS/JSP Kernel
+
+        Toyohashi Open Platform for Embedded Real-Time Systems/
+        Just Standard Profile Kernel
+   
+    Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                                Toyohashi Univ. of Technology, JAPAN
+    Copyright (C) 2001-2010 by Industrial Technology Institute,
+                                Miyagi Prefectural Government, JAPAN
+    Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+                     Tomakomai National College of Technology, JAPAN
+    Copyright (C) 2001-2004 by Kunihiko Ohnaka
+    Copyright (C) 2004 by Katsuhiro Amano
+   
+    ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+
+    ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+    è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+    ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+    å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+    (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+        ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+    (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+        è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+        ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+    (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+        ã¨ï¼
+      (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+          ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+      (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+          å ±åãããã¨ï¼
+    (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+        å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+   
+    æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+    ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+    å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+    æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+   
+    @(#) $Id: h8.txt,v 1.21 2007/03/23 07:19:27 honda Exp $
+
+   ---------------------------------------------------------------------
+
+1.  H8 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+æ³¨æç¹ï¼Release1.4.1ã¾ã§ã®ãã¼ã¸ã§ã³ããä½¿ãã®æ¹ã¸
+ãã»å¦çç³»ã«ã¤ãã¦
+ãããç§æé»å­éåè£½ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããã
+ããããµãã¼ããã¦ããªããï¼ã4. 1  éçºç°å¢ã®æ§ç¯ããåç
+§ï¼
+ãã»å²è¾¼ã¿ã®æ±ãã«ã¤ãã¦
+ãããRelease1.4.2ããå²è¾¼ã¿ã®æ±ããå¤§å¹
+ã«å¤æ´ããã¦ãããããæ§ãã¼
+ãããã¸ã§ã³ããä½¿ç¨ã®æ¹ã¯ã2. 2. 2  å²è¾¼ã¿ãã³ãã©ã®ç»é²ããåç
+§ãã
+ãããããã
+
+1. 1  ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+  H8 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ãH8/3052Fã H8/3069Fãæ­è¼ãã
+ä»¥ä¸ã®ãã¼ãã§ããã
+
+   ã»(æ ª) ç§æé»å­éåè£½ã® AKI-H8/3052F (AKI-H8-USB ãã¼ãã«è£
+ç)
+   ã»(æ ª) ç§æé»å­éåè£½ã® AKI-H8/3069F
+
+ä»¥ä¸ã®ãã¼ãã¯åèå®è£
+ã§ãããåä½ç¢ºèªã¯è¡ã£ã¦ããªãã
+   ã»(æ ª) ç§æé»å­éåè£½ã® AKI-H8/3048F
+   ã»(æ) åå·éä¿¡è¨è£
+ãµã¼ãã¹è£½ã® NKEV-010H8(H8/3069Fä½¿ç¨)
+
+ãªããä½ãããªãã¿ã¹ã¯ 1 åã®æå°æ§æã§ããH8/3069Fä»¥å¤ã§ã¯å¿
+è¦ãªRAMå®¹
+éããã­ã»ããµã®å
+èµRAM å®¹éã®ãè¶
+ããããã®ããå¤é¨ RAM ã®å¢è¨­ãå¿
+è¦
+ã§ãå¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ããããç¾å¨ã®æ§æã§ã¯ãH8/3048F 
+ãã¢ã¼ã 5 ã®å
+èµ ROMæå¹æ¡å¼µ 1M ãã¤ãã¢ã¼ãã H8/3052F ãã¢ã¼ã 6 ã®
+å
+èµ ROM æå¹æ¡å¼µ 16Mãã¤ãã¢ã¼ãã H8/3069F ãã¢ã¼ã 5 ã®å
+èµROMæå¹
+æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
+  éçºç°å¢ã¯ã Windows XPä¸ã® cygwin ã®éçºç°å¢ãç¨ãããã¾ããã
+ããã°ã¢ã¼ãã¨ãªãªã¼ã¹ã¢ã¼ãã§ã¢ã¸ã¥ã¼ã«ã®å®è¡æ¹æ³ãç°ãªã£ã¦ãããã
+ããã°ã¢ã¼ãã§ã¯ (æ ª)ç§æé»æ°éåè£½ã¢ãã¿ãããã« (ä»¥ä¸ãç§æã¢ãã¿)ã
+ã¾ãã¯è«å°ç§é«å°æ
+å ±å­¦ç§è£½ç°¡æã¢ãã¿ (ä»¥ä¸ã ç°¡æã¢ãã¿)ãã H8 ã®å
+èµ
+ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ã¿ããããã°ããã¢ã¸ã¥ã¼ã«ãå¤é¨ RAM ã«ã­ã¼ãã
+ã¦ãããã°ãè¡ãããªãªã¼ã¹ã¢ã¼ãã§ã¯ããããã°ã®çµäºããã¢ã¸ã¥ã¼ã«ãå
+
+èµãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ããã¨ãæ³å®ãã¦ããã ãããã°ã¢ã¼ãã¨ãªãªã¼
+ã¹ã¢ã¼ãã®åãæ¿ãã¯ã ãã£ã¬ã¯ããª jsp/config/h8/$(SYS) ã«ãã 
+Makefile.config ã®DBGENV ã®å®ç¾©ã«ããã
+ï¼$(SYS)ã«ã¯ãã¼ãåãç¤ºããï¼
+ãã¾ããåèå®è£
+ã¨ãã¦eCos/RedBoot ãã­ã¸ã§ã¯ãè£½ãããã«(ä»¥ä¸ãRedBoot)
+ã«å¯¾å¿ãã¦ããããå®æ©ãã¹ãã¯è¡ã£ã¦ããªããè©³ããã¯æ«å°¾ã®ä»é²ãåç
+§ã
+
+  NKEV-010H8ã¯GDB STUBã«ãããªã¢ã¼ããããã°ãæ³å®ãã¦ãããæ³¨æäºé 
+ç­
+è©³ããã¯æ«å°¾ã®ä»é²ãåç
+§ã
+
+åè
+ãAKI-H8/3052Fã¯ãAKI-H8-USBãã¼ãã®USBã³ãã¯ã¿ããé»æºãä¾çµ¦ãããã¨
+ãã§ãããéå¸¸ã®DCé»æºã³ãã¯ã¿ããé»æºãä¾çµ¦ããå ´åã¯ãé»æºã³ãã¯ã¿ã®
+å¨å²ã«æµæãè¿½å ããå¿
+è¦ãããã
+ãAKI-H8/3069Fã¯ãåæã­ããã¨ããä»¥éã§ã¯å¤é¨RAMã®åçªãç°ãªã£ã¦ããã
+ã¾ããåæã­ããã§ã¯å¤é¨RAMãèªåã§åç°ä»ãããããã«ãªã£ã¦ããã®ã§ã
+ã©ã¡ãã«è©²å½ããã®ãã¯ãã¼ãã®ä»å±ããã¥ã¢ã«ãåç
+§ã®ãã¨ã
+
+ããåèæ
+å ±
+ããããã(toppers-users 1375) akih8_3069f  ä¾å­é¨ã®ä¿®æ­£ã«ã¤ãã¦ã
+ãããã
+1. 2  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»å
+ç
+§ (chg_ixxã get_ixx)ã¯ãµãã¼ããã¦ããããå²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯
+(dis_intãena_int) ã¯ãµãã¼ããã¦ããªãã
+
+1. 3  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+  H8/300H ã·ãªã¼ãºã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããã
+
+1. 4  ã·ãªã¢ã«ãã¼ã (SCI)
+
+  H8/3048F ã¨ H8/3052F ã«ã¯ SCI0 ã¨ SCI1 ã® 2 æ¬ãH8/3069F ã«ã¯ SCI0 
+ãã SCI2 ã® 3 æ¬ã®ã·ãªã¢ã«ãã¼ãããããsys_config.h ã«å®ç¾©ãã¦ãã 
+TNUM_PORT ã«ããä½æ¬ä½¿ç¨ãããæå®ã§ããã
+ç¾å¨ã®å®è£
+ã§ã¯ 3æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯ SCI1
+ãä½¿ç¨ãã¦ããã ã·ãªã¢ã«ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãã 
+
+   ã»ãã¼ã¬ã¤ãï¼38400[bps]
+   ã»ãã¼ã¿é·ï¼8 ããã
+   ã»ã¹ããããããï¼1 ããã
+   ã»ããªãã£ãªã
+   ã»ãã­ã¼å¶å¾¡ï¼Xon/Xoff
+
+1. 4. 1  ãã¼ãçªå·ã®å²ãå½ã¦ã«ã¤ãã¦
+
+ãã¼ãIDçªå·ï¼ãã¯ã­åï¼ããããã¤ã¹çªå·ããããç¨é
+ãï¼ï¼SYSTEM_PORTIDï¼ããããããSCI1ããããã·ã¹ãã ã­ã°åºåç¨
+ãï¼ï¼USER_PORTIDï¼ãããããããSCI0ããããã¦ã¼ã¶ã¼ã¢ããªã±ã¼ã·ã§ã³
+ãï¼ï¼USER2_PORTIDï¼ãããããã SCI2ããããã¦ã¼ã¶ã¼ã¢ããªã±ã¼ã·ã§ã³
+
+ããã¼ãIDã®ã«ã¹ã¿ãã¤ãºã«ã¤ãã¦ã¯ããã«ã¹ã¿ãã¤ãºæ¹æ³ãã®ç¯ãåç
+§
+
+2.  H8 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+  ã«ã¼ãã«ã¨ã·ã¹ãã ãµã¼ãã¹æ©è½ã®ä¸­ã§ã H8 ä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããã 
+
+2. 1  ãã¼ã¿å
+
+  int åã¨ unsigned int åã®ãµã¤ãºã¯ 32 ãããã§ãããã¾ãã64ãããæ´
+æ°ã§ããDåã¨UDåãä½¿ç¨ã§ãããå¦ãã¯å¦çç³»ã§å®ç¾©ãã¦ãããã¯ã­
+__LONG_LONG_MAX__ã®å¤ã§å¤å¥ãã¦ããã
+gcc-2.95.3ã§ã¯ã³ã³ãã¤ã©ã®å¶ç´ã§ã64ãããæ´æ°ã¯æ±ããªãã
+
+2. 2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãåæå
+ã«ã¼ãã³å
+ã§ã¯ï¼NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ãCPU
+ã­ãã¯ç¶æ
+ã§ã¯CCRã¬ã¸ã¹ã¿ã®Iãããã¨UIããããã»ããããããã«ã«ã¼ãã«
+å
+ã®ãã©ã°å¤æ°ãã»ãããã¦ããã
+
+ããCPUã­ãã¯ç¶æ
+ãè¡¨ããã©ã°å¤æ°ï¼BOOL iscpulocked
+ããããTRUE ï¼CPUã­ãã¯ç¶æ
+
+ããããFALSEï¼CPUã­ãã¯è§£é¤ç¶æ
+
+
+ãæ¬å®è£
+ã§ã¯SYSCRã¬ã¸ã¹ã¿ã®UEããããã¯ãªã¢ããCCRã¬ã¸ã¹ã¿ã®Iãããã¨
+UIããããå²è¾¼ã¿ãã¹ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã¨ãã¦ä½¿ç¨ãã¦ã
+ããï¼ã¬ãã«0ã¨ã¬ãã«1ã®å²è¾¼ã¿ãä½¿ç¨ã§ãããï¼
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼H8ã§ã®ä¾å¤ãã¯ã¿çªå·ã
+è¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+H8 ã®å²è¾¼ã¿ãã¯ã¿ã¯ ROM é åã«ããã åçã«å
+å®¹ãå¤æ´ããããã«ã¯ç¹å¥
+ã®æ¹æ³ãå¿
+è¦ã§ãããããåçãªãã³ãã©ã®ç»é²æ©è½ã¯ãªãã
+å¾ã£ã¦ã å²è¾¼ã¿ãã³ãã©ã®è¨­å®é¢æ° define_inh( )ã¯ä½ãããªãé¢æ°ã§ããã
+
+2. 2. 1  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
+
+  å²è¾¼ã¿ãã¹ãã¬ãã«ã0ï¼ã¤ã¾ããã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­ï¼ã§å²è¾¼ã¿ã
+çºçããã¨ã ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¸é¨ä¿å­ããå¾ã
+å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«åãæ¿ãããããåã¹ã¿ãã¯ã®ä½¿ç¨éã¯
+  ã»ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ï¼ãPC+CCRãER0ã4ããè¨24ãã¤ã
+  ã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ï¼ER5ã6ãSPããããè¨12ãã¤ã
+ã¨ãªãã
+å¤éå²è¾¼ã¿ãçºçããå ´åã¯ãã¹ã¦éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã«éé¿ã
+ããããã¹ã¿ãã¯ä½¿ç¨éã¯
+  ã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ï¼PC+CCRãER0ã6ããè¨32ãã¤ã
+ã§ããã
+å²è¾¼ã¿ãã¹ãæ°ã¯æå¤§ï¼ã§ããã®ã§ãå
+¨ä½ã®ã¹ã¿ãã¯ä½¿ç¨éã¯ä»¥ä¸ã®ããã«ãª
+ããï¼å²è¾¼ã¿ãã³ãã©èªèº«ã«ããã¹ã¿ãã¯æ¶è²»åãé¤ããï¼
+
+ãã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ï¼ã24ãã¤ã
+ãéã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ï¼
+   ã12ãã¤ãï¼åæ®µï¼ï¼32ãã¤ãï¼2æ®µç®ï¼ï¼44ãã¤ã
+
+ã¾ããå²è¾¼ã¿ã®åºå£å¦çã§ã¿ã¹ã¯ã¹ã¤ããããå ´åã¯ãæ®ãã®ã¬ã¸ã¹ã¿ER5ã6
+ãã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ã«éé¿ãããããå
+¥å£å¦çã¨åããã¦ã¿ã¹ã¯
+ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ã¯32ãã¤ãä½¿ç¨ãããã
+
+
+2. 2. 2  å²è¾¼ã¿ãã³ãã©ã®ç»é²
+
+ãgccç¨H8ä¾å­é¨ã§ã¯ãå²è¾¼ã¿ãã³ãã©ãç»é²ããéãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§
+ã³ã»ãã¡ã¤ã«ã«éçAPI DEF_INH( )ãè¨è¿°ããã ãã§ã¯ä¸ååã§ãããç»é²ã®
+æé ãä»¥ä¸ã«è¿°ã¹ããæä¸­ã®****ã¯ç»é²ããå²è¾¼ã¿ãã³ãã©ã®Cè¨èªã«ã¼ãã³
+åãç¤ºãã
+
+å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãå¤æ´ããã¦ããã
+æ§çï¼Release1.4.1ï¼ããã®å¤æ´ç¹ã¯ä»¥ä¸ã®éãã
+ã1ï¼å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®èªåçæ
+ãããã»DEF_INH()ã®å¼æ°ããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãèªåçæããããã«
+ãããããããããã«ãããã¦ã¼ã¶ã¼ãæä½æ¥­ã§ç·¨éããå¿
+è¦ããªããªã£ãã
+
+ã2ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡ããµãã¼ã
+ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«0
+ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«1
+ã
+ã3ï¼å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®ã¯2ã¶æã§è¡ãã
+ããã(1) å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ããããããããã¤ã¹ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«è¦æ±ããå²è¾¼ã¿ã¬ãã«
+ããããããIPRAãIPRBã¬ã¸ã¹ã¿ã®è¨­å®å¦çãsys_support.Sããåããã¤ã¹
+ãããããããã©ã¤ãã®åæåå¦çã«ç§»å
+ããã(2) å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
+ããããããå²è¾¼ã¿ãã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+ã
+ã4ï¼sys_support.Sã§è¡ã£ã¦ããä»¥ä¸ã®è¨è¿°ã¯ä¸è¦ã«ãªã£ãã
+ããï¼å²è¾¼ã¿ã¬ãã«å¶å¾¡ãè¡ã£ãããï¼
+ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿è¨±å¯ã_****_enable_int
+ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿ç¦æ­¢ã_****_disable_int
+
+ãããããæ§çã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
+è¦ãªå ´åã¯ããã®å¦ç
+ãããããã_****_disable_intã«è¨è¿°ãã¦ããããæ°çã§ã¯å²è¾¼ã¿ãã³ãã©
+ãããããã®Cè¨èªã«ã¼ãã³ã¾ãã¯ããããå¼ã°ããé¢æ°å
+ã«è¨è¿°ããæ¹æ³ã
+ãããããæ¨æºã¨ããã
+
+
+å²è¾¼ã¿ãã³ãã©ãç»é²ããä½æ¥­æé 
+ãã¿ã¤ãå²è¾¼ã¿ãä¾ã«èª¬æããã
+ãï¼ãã¼ãä¾å­é¨ã®ãã¹åã¯é©å®èª­ã¿æ¿ãããã¨ï¼
+
+ã(1) å²è¾¼ã¿ãã³ãã©ã®è¨è¿°
+
+ãããæ§çã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
+è¦ãªå ´åã¯
+ããã_xxxxx_disable_intã«è¨è¿°ãã¦ããããæ°çã§ã¯å²è¾¼ã¿ãã³ãã©ã®Cè¨
+ãããèªã«ã¼ãã³ãã¾ãã¯ããããå¼ã°ããé¢æ°å
+ã«è¨è¿°ããæ¹æ³ãæ¨æºã¨
+ãããããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.c
+ããã  ã timer_handler( )ããå¼ã³åºãããhw_timer_int_clear( )
+ããããããï¼jsp/config/h8/hw_timer.hï¼
+
+
+ã(2) ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°
+
+ãããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°æ¹æ³ã¯ä»ã®ãã­ã»ããµã¨åæ§
+ãããã§ããã
+ããããã¯ã¿çªå·ã¯jsp/config/h8/h8_3069f.hç­ã§ãã¯ã­å®ç¾©ãã¦ããã
+ãããDEF_INH( )ã®ç¬¬1å¼æ°ã®å²è¾¼ã¿ãã³ãã©çªå·ã¯ããªãã­ã»ã¹å¾ã«æ´æ°å®æ°
+ãããã«ãªã£ã¦ããªããã°ãªããªããï¼èªåå²ãä»ãéå¯¾å¿æ´æ°å¤ãã©ã¡ã¼ã¿ï¼
+ããããã¯ã¿ãã¼ãã«èªåçææããããä»®å®ãã¦ããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.cfg
+  ããããDEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
+
+
+ã(3) å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ãããIPRA,IPRBã«è¨­å®ããå²è¾¼ã¿è¦æ±æã®ãã©ã¤ãªãªãã£ã¬ãã«ã¨ãå²è¾¼ã¿
+ããããã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ãããã©ã¤ãªãªãã£ã¬ãã«
+ãããã®ï¼ã¤ãå²è¾¼ã¿è¦å æ¯ã«è¨­å®ããã
+
+ã(3)-1 å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ãããåæåå¦çã®cpu_initialize( )ã§ãã¹ã¦ã®å²è¾¼ã¿ãã¬ãã«0ã«åæåã
+ãããã¦ããã
+ãããããã¤ã¹ãã©ã¤ãã®åæåå¦çã§å²è¾¼ã¿è¦å æ¯ã®ãã©ã¤ãªãªãã£ã»ã¬ã
+ãããã«ãè¨­å®ããããã®é¢æ°ãç¨æããã¦ããã
+ãããã
+ããããCè¨èªAPIã
+ãããããvoid define_int_plevel(const IRC *irc);
+
+ããããããIRCï¼Interrupt Request Controller
+ãããããããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+
+ãããããã©ã¡ã¼ã¿ã
+ãããããconst IRC *ircãè¨­å®ãã¼ã¿ãæ ¼ç´ããé åã®å
+é ­ã¢ãã¬ã¹
+   ãããããUB *iprï¼è¨­å®ããIPRã¬ã¸ã¹ã¿ã®çªå°
+   ããããããããããIPRAã¾ãã¯IPRBã¬ã¸ã¹ã¿
+   ãããããUB bit ï¼IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå·
+ããã   ããIPM ipmï¼è¨­å®ããå²è¾¼ã¿ã¬ãã«
+   ããããããããããIPM_LEVEL0,IPM_LEVEL1ã®ãããã
+
+ãããããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+ããããããªã
+
+ããããæ©è½ã
+ãããããircãæãç¤ºãé åã®ãã¼ã¿ãç¨ãã¦ãããã¤ã¹ããã®å²è¾¼ã¿ã®
+ããããããã©ã¤ãªãªãã£ã»ã¬ãã«ãè¨­å®ããã
+ããããããã®é¢æ°ãå¼ã³åºãåã«h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+
+ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
+
+ãããããjsp/config/h8/cpu_config.c
+ããããããconst IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
+                        ããããããSYSTEM_TIMER_IP_BIT,
+                        ããããããSYSTEM_TIMER_IPM
+                      ãããããã};
+
+ãããããjsp/config/h8/hw_timer.h
+ããããããhw_timer_initialize( )
+ããããã    define_int_plevel(&TIMER_IRC);
+
+ãããè¨­å®ã«ç¨ããå¤ã¯ãã¯ã­å®ç¾©ããã¦ããã
+ããã
+ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ãããjsp/config/h8/h8_3069f.h
+ããã#define H8IPRA			0xfee018
+ããã#define H8IPRB			0xfee019
+
+
+ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ãããçªå·
+ãããjsp/config/h8/h8_3069f.h
+ãããã»IPRA
+ããã#define H8IPR_IRQ0_BIT		7	/* IRQ0			*/
+ããã#define H8IPR_IRQ1_BIT		6	/* IRQ1			*/
+ããã#define H8IPR_IRQ2_BIT		5	/* IRQ2			*/
+ããã#define H8IPR_IRQ3_BIT		5	/* IRQ3			*/
+ããã#define H8IPR_IRQ4_BIT		4	/* IRQ4			*/
+ããã#define H8IPR_IRQ5_BIT		4	/* IRQ5			*/
+ããã#define H8IPR_WDT_BIT		3	/* WDT			*/
+ããã#define H8IPR_AD_BIT		3	/* A/D			*/
+ããã#define H8IPR_CMI_BIT		3	/* CMI			*/
+ããã#define H8IPR_ITU0_BIT		2	/* 16 bit timer 0	*/
+ããã#define H8IPR_ITU1_BIT		1	/* 16 bit timer 1	*/
+ããã#define H8IPR_ITU2_BIT		0	/* 16 bit timer 2	*/
+
+ãããã»IPRB
+ããã#define H8IPR_TU80_BIT		7	/* 8 bit timer 0	*/
+ããã#define H8IPR_TU81_BIT		6	/* 8 bit timer 1	*/
+ããã#define H8IPR_DMAC_BIT		5	/* DMAC (CH0,1)		*/
+ããã#define H8IPR_SCI0_BIT		3	/* SCI0			*/
+ããã#define H8IPR_SCI1_BIT		2	/* SCI1			*/
+ããã#define H8IPR_SCI2_BIT		1	/* SCI2			*/
+
+
+(3)-2 å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ããã»****_intmaskãã¯ã­ã®å®ç¾©
+ãããH8ä¾å­é¨ã§ã¯ãéçAPI DEF_INH( )ã§å²è¾¼ã¿ãã³ãã©ãå®ç¾©ããã¨ã
+ãããã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã«ãããå²è¾¼ã¿ã®å
+¥å£å¦çãèªåç
+ãããæãããã
+ããããã®å
+¥å£å¦çã§ã¯ãCè¨èªã«ã¼ãã³****ãå¼ã³åºãç´åã®å²è¾¼ã¿è¨±å¯æ
+ãããã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤ã¨ãã¦ããã¯ã­****_intmaskãå®ç¾©ããã¦
+ãããããã¨ä»®å®ãã¦ããã®ã§ãå²è¾¼ã¿è¦å æ¯ã«IPM_LEVEL1ãIPM_LEVEL2ã®ã
+ããããããã«å®ç¾©ãããã¨ã
+ãããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ãããããIPMã«ã¯ï¼ã¤ä¸ã®ã¬ãã«
+ããããè¨­å®ããå¿
+è¦ãããã®ã§ãæ³¨æãããã¨ã
+ãããcpu_config.hãsys_config.hã¾ãã¯ãããããã¤ã³ã¯ã«ã¼ãããããã¡
+ãããã¤ã«ã§å®ç¾©ããã®ãæ¨æºã¨ããã
+
+ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
+ããããjsp/config/h8/akih8_3069f/sys_config.h
+ããã
+ãããã#if SYSTEM_TIMER_IPM == IPM_LEVEL0
+ãããã#define timer_handler_intmask		IPM_LEVEL1
+ãããã#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
+ãããã#define timer_handler_intmask		IPM_LEVEL2
+ãããã#endif 	/* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
+
+
+2. 2. 3ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§
+
+H8ä¾å­ã®æ©è½ã¨ãã¦ï¼CCRã¬ã¸ã¹ã¿ä¸­ã®IPMã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼
+ã«chg_ipmã¨ï¼åç
+§ããããã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼
+ãªãï¼IPMã®å¤ãè¡¨ããã¼ã¿åIPMã¯ï¼unsigned charåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMãã¬ãã«0ä»¥å¤ï¼ããªãã¡ï¼
+ä½ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢
+ãããï¼chg_ipmã«ããå¤æ´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶
+ãããï¼
+ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMãã¬ãã«1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®
+ã¿ã¹ã¯ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯ã¬ãã«1ã«ãªãï¼
+
+chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ã
+ããããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ã­ã«ããï¼ããã
+ã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPMã¯ï¼sys_config.hã§ãã¯ã­å®ç¾©ããã¦ããï¼
+
+H8ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®éãï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼
+IPMã§ç¨ããå¤ã¨ãã¦ãä»¥ä¸ã®ãã¯ã­ãç¨æããã¦ããã
+ãIPM_LEVEL0ï¼ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
+ãIPM_LEVEL1ï¼ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ã
+ããããããããããããåãä»ãã
+ãIPM_LEVEL2ï¼ã¬ãã«ï¼ãNMIä»¥å¤ã®å²è¾¼ã¿ãåãä»ããªã
+
+
+IPMã«æå®ããå¤ãä¸è¨ã®ãã¯ã­ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã
+IPM_LEVEL0ä»¥å¤ã«è¨­å®ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­
+å®ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ã
+ããå ´åã«ã¯ï¼dis_dspã¨ä½µç¨ããã°ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+2. 4  CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+  H8ã§ã¯ï¼ãã­ã»ããµèªä½ãï¼CPUä¾å¤ãæ±ã£ã¦ããªãããä»æ©ç¨®ã¨ã®äºææ§
+ã®ãããCPUä¾å¤ãã³ãã©çªå·ã®ãã¼ã¿å(EXCNO)ã¨CPUä¾å¤ãã³ãã©ã®è¨­å®é¢
+æ°define_exc( )ãå®ç¾©ãã¦ããã
+
+
+2. 5  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+  H8 ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.S) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡ã
+ãå¾ãã«ã¼ãã« (kernel_start) ãèµ·åããããã ãã kernel_start ããæ»ã£
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+   (1)   ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+   (2)   hardware_init_hook ã®å¼åºã
+           hardware_init_hook ã 0 ã§ãªããã°ãhardware_init_hook ãå¼
+         åºããhardware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ãã¿ã¼ã²ãã
+         ä¾å­ã®ãã¼ãã¦ã§ã¢çãªåæåãè¡ãããã«ç¨æããã¦ããã æ¬å®
+         è£
+ã§ã¯ãSYSCR ã¬ã¸ã¹ã¿ã® UE ãããã®ã¯ãªã¢ã å²è¾¼ã¿åªå
+ã¬ã¸ã¹
+         ã¿ (IPRA ã¨ IPRB) ã®åå¥å²ãè¾¼ã¿ã®åªå
+åº¦ã®è¨­å®ã å¤é¨ã¡ã¢ãªç©º
+         éã®æå¹åãè¡ã£ã¦ãããhardware_init_hook ãæªå®ç¾©ã®å ´åããª
+         ã³ã«ã¹ã¯ãªããã®è¨è¿°ã«ãããã®ã·ã³ãã«ã 0 ã«å®ç¾©ãããã 
+
+   (3)   bss ã»ã¯ã·ã§ã³ã®åæå
+           bss ã»ã¯ã·ã§ã³ã®å
+¨é åã 0 ã¯ãªã¢ããã
+
+   (4)   data ã»ã¯ã·ã§ã³ã®åæå
+           data ã»ã¯ã·ã§ã³ãå¤é¨ RAM ã«è»¢éããã
+
+   (5)   software_init_hook ã®å¼åºã
+           software_init_hook ã 0 ã§ãªããã°ãsoftware_init_hook ãå¼
+         åºããsoftware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ãã½ããã¦ã§
+         ã¢ç°å¢ (ã©ã¤ãã©ãªç­) ä¾å­ã®åæåãè¡ãããã«ç¨æããã¦ããã
+         ä¾ãã°ãã©ã¤ãã©ãªã®åæè¨­å®ãªã©ã§ãããsoftware_init_hook ã
+         æªå®ç¾©ã®å ´åããªã³ã«ã¹ã¯ãªããã®è¨è¿°ã«ãããã®ã·ã³ãã«ã 0 ã«
+         å®ç¾©ãããã
+
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3. 1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼åºãå¨æã¯ã sys_defs.h å
+ã®
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ããããã£ãã©ã«ãã¯ 1[ms] å¨æã§ããã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼åºãå¨æãå¤æ´ã§ããã ãã ãã
+H8/3048F ã®ã¯ã­ãã¯ã 16[MHz] ã§ã ã¿ã¤ãã®ç²¾åº¦ã 0.5[us]ãH8/3052F ã®
+ã¯ã­ãã¯ã 25[MHz] ã§ãã¿ã¤ãã®ç²¾åº¦ã 0.32[us]ãH8/3069F ã®ã¯ã­ãã¯ã 
+20[MHz] ã§ã ã¿ã¤ãã®ç²¾åº¦ã 0.4[us] ã®ããããããåä½ã§ç«¯æ°ã«ãªãå¤ã
+è¨­å®ããã¨ã isig_tim ã®å¼åºãå¨æã«èª¤å·®ãçºçããã
+  ãã£ãã©ã«ãã®ã¯ã­ãã¯ãã£ãã¤ã¹ã¯ H8/3048F ã¨ H8/3052F ã ITU0ã
+H8/3069F ã 16 ãããã¿ã¤ãã¦ããã 0 ãä½¿ç¨ãã¦ããã
+
+3. 2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+  H8 ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ããµãã¼ããã¦ã
+ããç²¾åº¦ã¯ 0.5[us] ã§ãSYSUTIM åã¯__LONG_LONG_MAX__ãã¯ã­ã®å¤ã«ããã
+å¦çç³»ãæ±ããæ´æ°ã®ç¯å²ãå¤å®ããå®ç¾©æ¹æ³ãé¸æãã¦ããã64ãããæ´æ°
+ãä½¿ç¨ã§ããå ´åã¯ã64ãããç¬¦å·ãªãæ´æ°ã«ãããã§ãªãå ´åã¯32ãããç¬¦
+å·ãªãæ´æ°ã¨ãã¦å®ç¾©ãã¦ããã
+
+3. 3  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+  H8/3048F ã¨ H8/3052F ã«ã¯ SCI0 ã¨ SCI1 ã® 2 æ¬ãH8/3069F ã«ã¯ SCI0 
+ãã SCI2 ã® 3 æ¬ã®ã·ãªã¢ã«ãã¼ãããããsys_config.h ã«å®ç¾©ãã¦ãã 
+TNUM_PORT ã«ããä½æ¬ä½¿ç¨ãããæå®ã§ããã
+ç¾å¨ã®å®è£
+ã§ã¯ 2 æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯ SCI1
+ãä½¿ç¨ãã¦ããã
+
+3. 4  ã¡ã¢ãªããã
+
+3. 4. 1  H8/3048F ã®ã¡ã¢ãªããã
+
+  å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ããããããã¢ã¼ã 5 ã®å
+èµ ROM æå¹
+æ¡å¼µ 1M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
+
+   (1)   ãããã°æ
+
+         0x00000 - 0x1ffff  å
+èµROMãç§æã¢ãã¿
+         0x20000 - 0x3ffff  å¤é¨RAMã.textã.rodataã.dataã.bss
+         0xfef10 - 0xfefff  å
+èµRAMãç§æã¢ãã¿
+         0xff000 - 0xff0ff  å
+èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
+         0xff100 - 0xfff0f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xfff1c - 0xfffff  å
+é¨I/Oã¬ã¸ã¹ã¿
+
+   (2)   ãªãªã¼ã¹æ
+
+         0x00000 - 0x1ffff  å
+èµROMã.vectorsã.textã.rodata
+         0x20000 - 0xfef0f  å¤é¨RAMã.dataã.bss
+         0xfef10 - 0xfff0f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xfff1c - 0xfffff  å
+é¨I/Oã¬ã¸ã¹ã¿
+
+3. 4. 2  H8/3052F ã®ã¡ã¢ãªããã
+
+  å
+èµã¡ã¢ãªã ãã§ã¯ä¸è¶³ããããã AKI-H8-USB ãã¼ãã«è£
+çãã
+AKI-H8-USB ãã¼ãã«ãã 128K ãã¤ãã® RAM ãå©ç¨ãã¦ããããã®ãããå¤
+é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ããããã¢ã¼ã 6 ã®å
+èµ ROM æå¹æ¡å¼µ 16M
+ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
+
+   (1)   ãããã°æ
+
+         0x000000 - 0x07ffff  å
+èµROMãç°¡æã¢ãã¿
+         0x220000 - 0x23ffff  å¤é¨RAMã.textã.rodataã.dataã.bss
+         0xffdf10 - 0xffdfff  å
+èµRAMãç°¡æã¢ãã¿
+         0xffe000 - 0xffe0ff  å
+èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
+         0xffe100 - 0xffff0f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff1c - 0xffffff  å
+é¨I/Oã¬ã¸ã¹ã¿
+
+   (2)   ãªãªã¼ã¹æ
+
+         0x000000 - 0x07ffff  å
+èµROMã.vectorsã.textã.rodata
+         0x220000 - 0x23ffff  å¤é¨RAMã.dataã.bss
+         0xffef10 - 0xffff0f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff1c - 0xffffff  å
+é¨I/Oã¬ã¸ã¹ã¿
+
+
+3. 4. 3  H8/3069F ã®ã¡ã¢ãªããã
+
+  å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ããããããã¢ã¼ã 5 ã®å
+èµ ROM æå¹
+æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
+
+   (1)   ãããã°æ (ç°¡æã¢ãã¿ä½¿ç¨æ)
+
+         0x000000 - 0x07ffff  å
+èµROMãç°¡æã¢ãã¿
+         0x400000 - 0x4fffff  å¤é¨RAMã.textã.rodata
+         0x500000 - 0x5fffff  å¤é¨RAMã.dataã.bss
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffbfff  å¤é¨RAMãç°¡æã¢ãã¿
+         0xffc000 - 0xffc0ff  å
+èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
+         0xffc100 - 0xffff1f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+   (2)   ãªãªã¼ã¹æï¼å¤é¨RAMä½¿ç¨ï¼
+
+         0x000000 - 0x07ffff  å
+èµROMã.vectorsã.textã.rodata
+         0x400000 - 0x5fffff  å¤é¨RAMã.dataã.bss
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffff1f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+   (3)   ãªãªã¼ã¹æï¼å¤é¨RAMæªä½¿ç¨ï¼
+
+         0x000000 - 0x07ffff  å
+èµROMã.vectorsã.textã.rodata
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xfffb1f  å
+èµRAM(1)ã.dataã.bss
+         0xfffb20 - 0xffff1f  å
+èµRAM(2)ã
+         								éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+
+3. 4. 4  H8/3069F(NKEV-010H8) ã®ã¡ã¢ãªããã
+
+  å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
+è¦ããããããã¢ã¼ã 5 ã®å
+èµ ROM æå¹
+æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
+
+   (1)   ãããã°æ (ç°¡æã¢ãã¿ä½¿ç¨æ)
+
+         0x000000 - 0x07ffff  å
+èµROMãç°¡æã¢ãã¿
+         0x400000 - 0x43ffff  å¤é¨RAMã.textã.rodata
+         0x440000 - 0x47ffff  å¤é¨RAMã.dataã.bss
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffbfff  å
+èµRAMãç°¡æã¢ãã¿
+         0xffc000 - 0xffc0ff  å
+èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
+         0xffc100 - 0xffff1f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+   (2)   ãããã°æ (GDB STUBä½¿ç¨æ)
+
+         0x000000 - 0x07ffff  å
+èµROMãGDB STUB
+         0x400000 - 0x4000ff  å
+èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
+         0x400100 - 0x43ffff  å¤é¨RAMã.textã.rodata
+         0x440000 - 0x47bfff  å¤é¨RAMã.dataã.bss
+         0x47c100 - 0x47ff1f  å¤é¨RAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xfee000 - 0xfee0ff  å
+èµI/O ã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffbfff  å
+èµRAMãGDB STUB
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+   (3)   ãªãªã¼ã¹æï¼å¤é¨RAMä½¿ç¨ï¼
+
+         0x000000 - 0x07ffff  å
+èµROMã.vectorsã.textã.rodata
+         0x400000 - 0x47ffff  å¤é¨RAMã.dataã.bss
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffff1f  å
+èµRAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+   (4)   ãªãªã¼ã¹æï¼å¤é¨RAMæªä½¿ç¨ï¼
+
+         0x000000 - 0x07ffff  å
+èµROMã.vectorsã.textã.rodata
+         0xfee000 - 0xfee0ff  å
+é¨I/Oã¬ã¸ã¹ã¿(1)
+         0xffbf20 - 0xffff1f  å
+èµRAMã.dataã.bssã
+         ããããããããããããããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xffff20 - 0xffffe9  å
+é¨I/Oã¬ã¸ã¹ã¿(2)
+
+
+4.  éçº
+
+4. 1  éçºç°å¢ã®æ§ç¯
+
+  éçºç°å¢ã¯ã Windows XPä¸ã® cygwin ã®éçºç°å¢ãç¨ãããæ¬å®è£
+ã«ç¨ã
+ããã¼ã¸ã§ã³ãä»¥ä¸ã«ç¤ºãã 
+
+   binutils-2.11.2
+   gcc-2.95.3
+   newlib-1.9.0
+
+è£å©çãªæå³ã§NKEV-010H8ã«ã¤ãã¦ã¯ä»¥ä¸ã®ãã¼ã¸ã§ã³ã§ãç¢ºèªãè¡ã£ãã
+
+ããbinutiles-2.16.1
+ããgcc-3.4.3
+ããnewlib-1.13.0
+
+æ³¨æäºé 
+ï¼
+ãç§æé»å­éåè£½ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããããµãã¼
+ãããã¦ããªãã
+
+æ³¨æäºé 
+ï¼
+ãgcc-3.2.3ã¯ãã«ãã¤ã³é¢æ°__muldi3()ã®å®è£
+ã«ä¸å
+·åãããããããã®
+ããã¼ã¸ã§ã³ã®ä½¿ç¨ã¯æ¨å¥¨ãããªãã
+
+configure ã®ãªãã·ã§ã³ã¯ --target=h8300-hms ã§ããã ã¾ããbinutils ã®
+configure ã®ãªãã·ã§ã³ã«ã¯ --disable-nls ãæå®ãããã¨ã
+ãããã°ã®ãããç§æã¢ãã¿ãç°¡æã¢ãã¿ãä½¿ç¨ãããã¨ãã§ããã
+NKEV-010H8ã§ã¯ãGDB stubãç¨ãããã¨ãã§ãããè©³ããã¯ã9. 3  NKEV-010H8
+ã§ã® GDB STUB ãä½¿ã£ãå®è¡ããåç
+§ã
+ï¼RedBootã«é¢ãã¦ã¯ãæ«å°¾ã®ä»é²ãåç
+§ãï¼
+
+
+4. 2  sample1.h ã®è¨­å®
+
+  sample1.h ã§ãã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPU ä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼ã
+ã® H8 ä¾å­é¨ã§ãTASK_PORTID ã 2ãã¤ã¾ã SCI1 ãè¨­å®ãã¦ãããããä»ã®
+ãã¼ããä½¿ç¨ããå ´åã¯ã ãã®å¤ãå¤æ´ãããã¨ã
+
+4. 3  ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+
+  ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡ã«ã¯ãç§æã¢ãã¿ãã¾ãã¯ç°¡æã¢ãã¿ã
+ä½¿ç¨ããæ¹æ³ã¨ç´æ¥ H8 ã®ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã§å®è¡ããæ¹æ³ãããã
+
+   (1)   H8/3052FãH8/3069Fã§ç°¡æã¢ãã¿ãä½¿ç¨ããæ¹æ³ (ãããã°ã¢ã¼ã)
+           è«å°ç§é«å°æ
+å ±å­¦ç§è£½ç°¡æã¢ãã¿ mon3052.mot (H8/3052F ç¨)ã
+           mon3068.mot(H8/3068FãH8/3069F ç¨) ãã H8 ã®å
+èµãã©ãã·ã¥
+           ROM ã«æ¸ãè¾¼ããä»¥ä¸ã«ãä½¿ç¨æ¹æ³ãç¤ºãã
+         
+         ç°¡æã¢ãã¿ã®é
+å¸å
+URLï¼
+         ã  http://www.mit.pref.miyagi.jp/embedded/consortium/
+         
+
+         [1]   ãã£ã¬ã¯ããª $(CPU)/$(SYS) ã«ãã
+
+                  Makefileã®DBGENV := TNCT_MONITOR
+
+               ãæå¹ã«ãã¦ make ããã
+         [2]   ç«¯æ«ã½ããããã¢ãã¿ã³ãã³ã ld ãå
+¥åããã
+         [3]   ç«¯æ«ã½ãããã jsp.srec ãéä¿¡ããã
+         [4]   ç«¯æ«ã½ããããã¢ãã¿ã³ãã³ã go ãå
+¥åããã¨å®è¡ãéå§
+               ãããã
+
+   (2)   H8/3048F ã§ç§æã¢ãã¿ãä½¿ç¨ããæ¹æ³ (ãããã°ã¢ã¼ã)
+           ãã£ã¬ã¯ããª $(CPU)/$(SYS) ã«ãã
+
+            Makefileã®DBGENV := TNCT_MONITOR
+
+         ãæå¹ã«ãã¦ make ããã æ¬¡ã«ãH8/3048F ã®å¤é¨ RAM ã¸ã®ã¢ã¯ã»
+         ã¹ãæå¹ã«ããªããã°ãªããªããRAM ã®æ§æã«ããç°ãªããã ã¢ã
+         ã¬ã¹ãã¹ A0 ãã A19 ã¨ãã¼ã¿ãã¹ D8 ãã D15 ãæå¹ã«ããã«
+         ã¯ãä»¥ä¸ã«ç¤ºããã¼ãã« 0xff ãæ¸ãè¾¼ãã
+
+            Port   Address
+            P1DDR  0xfffc0
+            P2DDR  0xfffc1
+            P3DDR  0xfffc4
+            P5DDR  0xfffc8
+
+         æå¾ã«ç«¯æ«ã½ãããä½¿ç¨ãã¦ jsp.srec ã H8/3048F ã«è»¢éãã å®
+         è¡ããã
+
+   (3)   å
+èµãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã§å®è¡ããæ¹æ³ 
+   ããã(ãªãªã¼ã¹ã¢ã¼ãï¼å¤é¨RAMä½¿ç¨)
+           ãã£ã¬ã¯ããª $(CPU)/$(SYS) ã«ãã Makefile.config ã®ãã£ã¬
+         ã¯ããª $(CPU)/$(SYS) ã«ãã Makefile ã®
+
+            DBGENV := ROM
+
+         ãæå¹ã«ãã¦ make ãããæ¬¡ã«ãh8writeç­ã®ãã©ãã·ã¥ ROM æ¸ã
+         è¾¼ã¿ãã­ã°ã©ã ã§ã ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã
+
+   (4)   H8/3069Fã§å
+èµãã©ãã·ã¥ROMã«æ¸ãè¾¼ã¿ãå
+èµRAMã ãã§å®è¡ãã
+   ãããæ¹æ³ (ãªãªã¼ã¹ã¢ã¼ãï¼å¤é¨RAMæªä½¿ç¨)
+           ãã£ã¬ã¯ããª $(CPU)/$(SYS) ã«ãã Makefile.config ã®ãã£ã¬
+         ã¯ããª $(CPU)/$(SYS) ã«ãã Makefile ã®
+
+            DBGENV := INMEM_ONLY
+
+         ãæå¹ã«ãã¦ make ãããæ¬¡ã«ãh8writeç­ã®ãã©ãã·ã¥ ROM æ¸ã
+         è¾¼ã¿ãã­ã°ã©ã ã§ã ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã
+
+4. 4  H8/3048F ã®å¤é¨ RAM ã®æå¹å
+
+  ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
+ã¹ãã¹ A0 ãã A19 ã¨ãã¼ã¿ãã¹ D8 ãã D15 ãæå¹ã«ããå¾ãã«ã¼ãã«ã
+å®è¡ããã ããä»¥å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿ãã¹ãæå¹ã«ããå ´åã¯ã
+sys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
+
+   /*
+    *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+    */
+   /*#define ENABLE_LOWER_DATA*/
+   #define ENABLE_P8_CS        (H8P8DDR_CS0|H8P8DDR_CS1|\
+                                H8P8DDR_CS2|H8P8DDR_CS3)
+   /*#define ENABLE_PA_CS      (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
+   /*#define ENABLE_PB_CS       H8PBDDR_CS7*/
+   #define ENABLE_PA_A21_A23   (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
+
+4. 5  H8/3052F ã®å¤é¨ RAM ã®æå¹å
+
+  ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
+ã¹ãã¹ A0 ãã A23ã ãã¼ã¿ãã¹ D8 ãã D15ã ãããã»ã¬ã¯ã CS0 ãã
+CS3 ãæå¹ã«ããå¾ãã«ã¼ãã«ãå®è¡ãããããä»¥å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿
+ãã¹ãæå¹ã«ããå ´åã¯ãsys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
+
+   /*
+    *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+    */
+   /*#define ENABLE_LOWER_DATA*/
+   #define ENABLE_P8_CS        (H8P8DDR_CS0|H8P8DDR_CS1|\
+                                H8P8DDR_CS2|H8P8DDR_CS3)
+   /*#define ENABLE_PA_CS      (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
+   /*#define ENABLE_PB_CS       H8PBDDR_CS7*/
+   #define ENABLE_PA_A21_A23   (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
+
+4. 6  H8/3069F ã®å¤é¨ RAM ã®æå¹å
+
+  ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
+ã¹ãã¹ A0 ãã A23ã ãã¼ã¿ãã¹ D8 ãã D15ã ãããã»ã¬ã¯ã CS0 ãã
+CS3 ãæå¹ã«ããå¾ãã«ã¼ãã«ãå®è¡ãããããä»¥å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿
+ãã¹ãæå¹ã«ããå ´åã¯ãsys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
+
+   /*
+    *  å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
+    */
+   #define     ENABLE_P8_CS    (H8P8DDR_CS0|H8P8DDR_CS1|\
+                                H8P8DDR_CS2|H8P8DDR_CS3)
+   #if 0
+   #define     ENABLE_LOWER_DATA
+   #define     ENABLE_PB_CS    (H8PADDR_CS4|H8PADDR_CS5|\
+                                H8PADDR_CS6|H8PBDDR_CS7)
+   #endif      /* of #if 0 */
+
+5.  ãã¡ã¤ã«æ§æ
+
+5. 1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+   (1)   config/h8/
+
+            Makefile.config  Makefile ã® H8 ä¾å­å®ç¾©
+            cpu_config.c     H8 ãã­ã»ããµä¾å­é¨ã® C é¢æ°
+            cpu_config.h     H8 ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+            cpu_context.h    H8 ãã­ã»ããµä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+            cpu_defs.h       H8 ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+            cpu_insn.h       H8 ãã­ã»ããµã®ã¢ã»ã³ããª inline é¢æ°
+            cpu_support.S    H8 ãã­ã»ããµã®ã¢ã»ã³ããªé¢æ°
+            cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
+            ãããããããã å®ç¾©ãªã¹ã
+            cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            h8.h             H8/300H ãã­ã»ããµã®å
+±éå®ç¾©
+            h8_3048f.h       H8/3048F ãã­ã»ããµã®å®ç¾©
+            h8_3052f.h       H8/3052F ãã­ã»ããµã®å®ç¾©
+            h8_3069f.h       H8/3048F ãã­ã»ããµã®å®ç¾©
+            h8_sil.c         SILã®H8ãã­ã»ããµåãæ¡å¼µ Cé¢æ°
+            h8_sil.h         SILã®H8ãã­ã»ããµåãæ¡å¼µ æ§æå®ç¾©
+            ãããããããããï¼ä¸»ã«I/Oãã¼ãã®DDRã¢ã¯ã»ã¹ã«ã¼ãã³ï¼
+            hw_serial.c      SCI ã®å¤æ°ã¨é¢æ°
+            hw_serial.cfg    SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+            hw_serial.h      SCI ã®å®ç¾©
+            hw_timer.h       ITU ã®å®ç¾©
+            start.S          ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+            tool_config.h    H8 ãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+            tool_defs.h      H8 ãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+            vector_header.S  å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®å
+é ­é¨å
+            makeoffset.c     offset.h çæãµãã¼ãé¢æ°
+
+   (2)   config/h8/akih8_3048f/
+           (æ ª) ç§æé»å­éåè£½ã® AKI-H8/3048F ãã¼ãã®ä¾å­é¨å
+
+            Makefile.config  Makefile ã® AKI-H8/3048F ãã¼ãä¾å­å®ç¾©
+            debug.ld         ãããã°ç¨ãªã³ã«ã¹ã¯ãªãã
+            release.ld       ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªãã
+            sys_config.c     AKI-H8/3048F ãã¼ãä¾å­é¨ã® C é¢æ°
+            sys_config.h     AKI-H8/3048F ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_defs.h       AKI-H8/3048F ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§
+            ãããããããã ã³ç¨å®ç¾©
+            sys_support.S    AKI-H8/3048F ãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤
+            ãããããããã ã®å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+   (3)   config/h8/akih8_3052f/
+           (æ ª) ç§æé»å­éåè£½ã® AKI-H8/3052F ãã¼ãã®ä¾å­é¨å
+
+            Makefile.config  Makefile ã® AKI-H8/3052F ãã¼ãä¾å­å®ç¾©
+            debug.ld         ãããã°ç¨ãªã³ã«ã¹ã¯ãªãã
+            release.ld       ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªãã
+            sys_config.c     AKI-H8/3052F ãã¼ãä¾å­é¨ã® C é¢æ°
+            sys_config.h     AKI-H8/3052F ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_defs.h       AKI-H8/3052F ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§
+            ãããããããã ã³ç¨å®ç¾©
+            sys_support.S    AKI-H8/3052F ãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤
+            ãããããããã ã®å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+   (4)   config/h8/akih8_3069f/
+           (æ ª) ç§æé»å­éåè£½ã® AKI-H8/3069F ãã¼ãã®ä¾å­é¨å
+
+            Makefile.config  Makefile ã® AKI-H8/3069F ãã¼ãä¾å­å®ç¾©
+            debug.ld         ãããã° (ç°¡æã¢ãã¿å¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
+            debug_redboot.ld ãããã° (RedBootå¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
+            release.ld       ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMä½¿ç¨ï¼
+            release_inmem.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMæªä½¿ç¨ï¼
+            sys_config.c     AKI-H8/3069F ãã¼ãä¾å­é¨ã® C é¢æ°
+            sys_config.h     AKI-H8/3069F ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_defs.h       AKI-H8/3069F ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§
+            ãããããããã ã³ç¨å®ç¾©
+            sys_support.S    AKI-H8/3069F ãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤
+            ãããããããã ã®å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+   (5)   config/h8/nkev_010h8/
+           (æ) åå·éä¿¡è¨è£
+ãµã¼ãã¹è£½ã® NKEV-010H8 ãã¼ãã®ä¾å­é¨å
+
+            Makefile.config  Makefile NKEV-010H8 ãã¼ãä¾å­å®ç¾©
+            debug.ld         ãããã° (ç°¡æã¢ãã¿å¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
+            debug_gdbstub.ld ãããã° (GDB STUBå¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
+            debug_redboot.ld ãããã° (RedBootå¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
+            release.ld       ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMä½¿ç¨ï¼
+            release_inmem.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMæªä½¿ç¨ï¼
+            sys_config.c     NKEV-010H8 ãã¼ãä¾å­é¨ã® C é¢æ°
+            sys_config.h     NKEV-010H8 ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_defs.h       NKEV-010H8 ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§
+            ãããããããã ã³ç¨å®ç¾©
+            sys_support.S    NKEV-010H8 ãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤
+            ãããããããã ã®å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+   (6)   jsp/utils/h8/
+           H8ä¾å­é¨ãã«ãç¨ã¹ã¯ãªãã
+
+            cat.plããããã UNIXã®catã³ãã³ãç¸å½
+            grep_def_inh.plãPerlã¹ã¯ãªããçæç¨ãã£ã«ã¿
+            genvector.plãã ãã¯ã¿ãã¼ãã«çæç¨ã¹ã¯ãªãã
+
+   (7)   ãã«ãã»ãã£ã¬ã¯ããª
+            vector.Sãããã ãã¯ã¿ãã¼ãã«ï¼make dependæã«èªåçæï¼
+
+6. ã¢ããªã±ã¼ã·ã§ã³éçºè
+åãã®æ
+å ±
+
+ã¢ããªã±ã¼ã·ã§ã³éçºè
+ã«æçã¨æãããæ
+å ±ã«ã¤ãã¦è¿°ã¹ãã
+
+6.1 ã«ã¼ãã«ã®è¨­å®å¤æ´æ¹æ³
+
+(1) SUPPORT_CHG_IPM
+ãããã®ãã¯ã­ãå®ç¾©ããã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§æ©è½ãæå¹ã«ãªãã
+ããè©³ç´°ã¯ã2. 2. 3ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ããåç
+§
+ããè¨­å®ãã¡ã¤ã«ï¼sys_config.h
+
+(2) SUPPORT_VXGET_TIM
+ãããã®ãã¯ã­ãå®ç¾©ããã¨æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½vxget_tim( )ã
+ããæå¹ã«ãªããè©³ç´°ã¯ã3. 2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ããåç
+§
+ããè¨­å®ãã¡ã¤ã«ï¼sys_config.h
+
+(3) STACKTOP
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
+ããã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã¯STACKTOPãæãRAMé åãã¹ã¿ãã¯ã«ãã¦
+ãã_hardware_init_hookãå¼ã³åºãããã®ããããã®é åã¯
+ãã_hardware_init_hookãå¼ã³åºãåã«ã¢ã¯ã»ã¹å¯è½ã«ãªã£ã¦ããå¿
+è¦ãã
+ãããã
+    ããã»åæç¶æ
+ã®ã¾ã¾ã¢ã¯ã»ã¹ã§ããå
+èµRAMãã¾ãã¯
+    ããã»ã¢ãã¿ã«ããã¢ã¯ã»ã¹ã§ããç¶æ
+ã«ããå¤é¨RAM
+
+ããè¨­å®ãã¡ã¤ã«ï¼sys_config.h
+
+(4) HEW_SIMULATOR ï¼akih8_3069fåºæã®æ¡å¼µï¼
+ãããã®å¤æ°ãtrueã«è¨­å®ããã¨ãã¯ã­HEW_SIMULATORãå®ç¾©ããã
+ããã·ãªã¢ã«ãã©ã¤ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã«å¯¾å¿ããã³ã¼ãã«ç½®ã
+ããæãããï¼ã·ãªã¢ã«éä¿¡ã¯ãã¹ã¦ãã¼ãªã³ã°ã«ãªããï¼
+ããã·ãªã¢ã«éä¿¡ã¯HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¦ã£ã³ãã¦ã«è¡¨ç¤ºããï¼ãã¹
+ããã¦ãã¼ãªã³ã°ã«ãªãï¼ãã·ãªã¢ã«åä¿¡ã¯HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã®æ¬ä¼¼
+ããå²è¾¼ã¿æ©è½ã«ããåç¾ããã
+ããåä¿¡ããã­ã£ã©ã¯ã¿ã¯ãHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¦ã£ã³ãã¦ã«ã«ã¼ã½
+ããã«ãä¸çªä¸ã®è¡ã«ç§»åãã¦ããå
+¥åãããã¨ã«ããæå®ãããï¼è©³ç´°ã¯
+ããHEWã®ã·ãã¥ã¬ã¼ã¿ï¼ãããã¬ã®ã¦ã¼ã¶ã¼ãºã»ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³æ©è½ãå©ç¨ããã«ã¯ãstart.Sã®ã©ãã«
+ãã_hew_io_simãHEWã«ç»é²ããå¿
+è¦ãããã
+ããï¼ã¿ã¼ã²ããakih8_3069fã«ãããåä½ç¢ºèªæã«ã¯0x0160çªå°ãç»é²ã
+ãããããï¼
+    
+    è¨­å®ç®æ
+    ãåºæ¬è¨­å®ã¡ãã¥ã¼
+    ãããã·ãã¥ã¬ã¼ã¿
+    ããããã·ã¹ãã 
+    ããããããã·ã¹ãã ãã¿ã
+    ãããããããI/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¢ãã¬ã¹
+    ãããããããï¼ãæå¹ããã§ãã¯ããã¯ã¹ã§æå¹ãæå®ããï¼
+
+ãã
+ããè¨­å®ãã¡ã¤ã«ï¼h8/akih8_3069f/Makefile.config
+
+ãã»åèï¼
+ãããHEWã®H8/300ç¨ã·ãã¥ã¬ã¼ã¿ã§ã¯ãã¿ã¤ãããµãã¼ãããã¦ããªãããã
+ããããã®æ¡å¼µã¯åèå®è£
+æ±ãã§ããã
+ãããï¼HEWã®ã·ãã¥ã¬ã¼ã¿ã«ããã¦ããã¬ã¼ã¯ãã¤ã³ãã®ãã¬ã¼ã¯ç¨®å¥ã
+ãããããã¬ã¼ã¯ãµã¤ã¯ã«ã¨ãããã¬ã¼ã¯åä½ãå²è¾¼ã¿ã«ããã°ãæ¬ä¼¼çã«
+ããããã¿ã¤ãå²è¾¼ã¿ãçºçãããã¨ãã§ããããã ãããã®æ¹æ³ã§ã¯å²è¾¼
+ããããã¿ãã¹ã¯ã¯èæ
+®ãããªããï¼
+ããã
+ãããHEWã§ã¯ãæ¬ä¼¼ãã¯ã¿ãã¼ãã«ãç¨æãã¦ããªããããROMåããç¶æ
+
+ãããã®ã¡ã¢ãªãããã§ãªãã¨å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®èª­ã¿åããæ­£å¸¸ã«å
+ãããä½ããªãã
+ãããå¾ã£ã¦ãHEW_SIMULATOR=trueã¨ããéã«ã¯ãDBGENV=ROM ã¾ãã¯
+ãããDBGENV=INMEM_ONLYã¨ãããã¨
+ãããï¼DBGENV=TNCT_MONITORã®å ´åã§ããè«å°ç§é«å°è£½ ç°¡æã¢ãã¿ã
+ãããããã£ããã«ãã¦ã³ã­ã¼ãããã°ãåä½å¯è½ã¨æããããæªç¢ºèªã§
+ãããããããï¼
+
+ãã»åèï¼
+ãããHEWã®ã·ãã¥ã¬ã¼ã¿ã¯ãsleepå½ä»¤ã®å®è¡ã§ãã¬ã¼ã¯ããä»æ§ã«ãªã£ã¦ã
+ãããããï¼å²è¾¼ã¿å¾
+ã¡ã«ãªããªããï¼ããã§ã¯ãæéçµéã«ããã¿ã¤ãå²
+ãããè¾¼ã¿ãã·ãã¥ã¬ã¼ãã§ããªãã®ã§ããã¯ã­HEW_SIMULATORãå®ç¾©ããã
+ãããå ´åã¯ããã¯ã­NO_SLEEPãå®ç¾©ããcpu_support.Sã®ã©ãã«
+ãããdispatcher_2_enable_interruptä»è¿ã®sleepå½ä»¤ãå®è¡ããªãããã«
+ããããã¦ããã
+
+6.1.1 ã·ãªã¢ã«ãã©ã¤ãã®ã«ã¹ã¿ãã¤ãºæ¹æ³
+
+ãåºæ¬çã«jsp/config/h8/akih8_3069f/sys_config.hã«ãããã¯ã­å®ç¾©ãä¿®æ­£
+ãããã¨ã§ãã«ã¹ã¿ãã¤ãºãããã¨ãã§ãããä»¥ä¸ã«åãã¯ã­ã®æå³ãç¤ºãã
+ã
+ãã»ãã¼ãæ°
+ãããjsp/config/h8/akih8_3069f/sys_config.h 145è¡ç®
+ããããã¯ã­TNUM_PORTã§ãã¼ãæ°ãå®ç¾©ããã
+ãããç¾å¨ã®å®è£
+ã§ã¯æå¤§ï¼ã¾ã§ä½¿ç¨ã§ããã
+
+ãã»ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·
+ãããjsp/config/h8/akih8_3069f/sys_config.h 149è¡ç®
+ããããã¯ã­LOGTASK_PORTIDã§ãã¼ãæ°ãå®ç¾©ããã
+
+åãã£ãã«æ¯ã«jsp/config/h8/akih8_3069f/sys_config.hã§å®ç¾©ãã¦ãããã¯
+ã­ã®æå³ã«ã¤ãã¦ãä»¥ä¸ã«è¿°ã¹ãã???ã®é¨åã«ã¯ãã¼ãã®è­å¥å­ã§ãã
+SYSTEMãUSERãUSER2ã®ãããããå
+¥ãã
+
+ãã»???_SCI
+ãããã·ãªã¢ã«ããã¤ã¹ã®å¶å¾¡ã¬ã¸ã¹ã¿ç¾¤ã®å
+é ­ã¢ãã¬ã¹
+
+ãã»???_SCI_IPR
+ãããå²è¾¼ã¿å¶å¾¡ã§ç¨ããIPRAã¾ãã¯IPRBã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+
+ãã»???_SCI_IP_BIT
+ãããä¸è¨IPRã¬ã¸ã¹ã¿ä¸­ã§ã·ãªã¢ã«ããã¤ã¹ãè©²å½ããããã
+
+ãã»???_SCI_SMR
+ãããSMRã¬ã¸ã¹ã¿ã®åæå¤
+ãããããã©ã«ãã§ä»¥ä¸ã®è¨­å®ãè¡ã£ã¦ããã
+ããã	ã»éåä¿¡ãã©ã¼ãããï¼èª¿æ­©åæå¼
+	ã»ã­ã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã
+	ã»ããªãã£ãªã
+	ã»ã¹ããããããã¬ã³ã°ã¹ï¼1
+	ã»ã¯ã­ãã¯ã»ã¬ã¯ãï¼åå¨æ¯ï¼:1
+
+ãã»???_BAUD_RATE
+ããããã¼ã¬ã¼ã[bps]
+
+ãã»???_PORTID
+ããããã¼ãIDããã¯ã­SYSTEM_PORTIDãUSER_PORTIDãUSER2_PORTIDã§å®ç¾©
+ãããããããã¼ãIDã¨ããã¤ã¹çªå·(sci0ã2)ã®å¯¾å¿é¢ä¿ãå¤æ´ããå ´åã
+ããããã®ãã¯ã­ãå¤æ´ããã ãã§ãªãã
+ããããjsp/config/h8/hw_serial.c
+ãããã§å®ç¾©ããã¦ããã·ãªã¢ã«ãã¼ãåæåãã­ãã¯siopinib_table[]
+ãããå
+ã®åæåãã¼ã¿ã®é çªãå
+¥ãæ¿ããã
+
+ãã»???_SCI_IPM
+ãããå²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ï¼éåä¿¡å
+¼ç¨ï¼
+ãããIPM_LEVEL0ã¾ãã¯IPM_LEVEL1ãè¨­å®ããã
+
+ãã»INHNO_SERIAL_INãINHNO_SERIAL2_INãINHNO_SERIAL3_IN
+ãããåãã¼ãIDã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ã®ãã¯ã¿çªå·
+
+ãã»INHNO_SERIAL_OUTãINHNO_SERIAL2_OUTãINHNO_SERIAL3_OUT
+ãããåãã¼ãIDã®ã·ãªã¢ã«éä¿¡å²è¾¼ã¿ã®ãã¯ã¿çªå·
+
+ãã»INHNO_SERIAL_ERRãINHNO_SERIAL2_ERRãINHNO_SERIAL3_ERR
+ãããåãã¼ãIDã®ã·ãªã¢ã«ã¨ã©ã¼å²è¾¼ã¿ã®ãã¯ã¿çªå·
+
+ãã»sio_in_handler_intmaskãsio_in2_handler_intmaskã
+ããsio_in3_handler_intmask
+ãããåãã¼ãIDã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã«ã
+ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨­å®ããå¤
+ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨­å®ããã
+
+ãã»sio_out_handler_intmaskãsio_out2_handler_intmaskã
+ããsio_out3_handler_intmask
+ãããåãã¼ãIDã®ã·ãªã¢ã«éä¿¡å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã«ã
+ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨­å®ããå¤
+ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨­å®ããã
+
+ãã»sio_err_handler_intmaskãsio_err2_handler_intmaskã
+ããsio_err3_handler_intmask
+ãããåãã¼ãIDã®ã·ãªã¢ã«ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã«ã
+ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨­å®ããå¤
+ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨­å®ããã
+
+
+6.2 ã¢ããªã±ã¼ã·ã§ã³åãã«æä¾ãããæ©è½
+
+H8ä¾å­é¨ã§ã¯ã¢ããªã±ã¼ã·ã§ã³ãéçºãããããããããä»¥ä¸ã®æ©è½ãæä¾ã
+ã¦ããã
+
+6.2.1ãI/Oãã¼ãã®DDRã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹è£å©æ©è½
+
+H8ã®I/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããã
+ãã®ã¾ã¾ã§ã¯ææã®ãããã ããå¤æ´ãããã¨ãã§ããªãã
+ï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ã¾ããã«ã¼ãã«ã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ãããã¤ãã®DDRã¬ã¸ã¹ã¿ã«å¯¾ã
+ã¦è¨­å®ãè¡ã£ã¦ããããããã®ã¾ã¾ã§ã¯ã«ã¼ãã«ã¨ã¢ããªã±ã¼ã·ã§ã³ã®éã§æ´
+åæ§ãä¿ã¤ãã¨ãã§ããªãã
+ãã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®ç¾å¨å¤ãä¿
+æããæ¹æ³ãæ¡ã£ã¦ããã
+æ¬æ©è½ãå©ç¨ããå ´åã¯h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+ãã¼ãçªå·ã¯IO_PORT1, IO_PORT2, IO_PORT3, IO_PORT4, IO_PORT5, IO_PORT6,
+ IO_PORT8, IO_PORT9, IO_PORTA, IO_PORTBã®ãããããæå®ãããï¼ãã¼ã7
+ã¯å
+¥åå°ç¨ã®ãããDDRã¬ã¸ã¹ã¿ããªããï¼ãã¼ãçªå·ã¨ãã¦ããããä»¥å¤ã®
+å¤ãæå®ããå ´åã¯assertæã§ã¨ã©ã¼ã¨ãªãã
+
+
+(1) sil_reb_ddrããDDRã¬ã¸ã¹ã¿ã®èª­ã¿åºã
+
+ãCè¨èªAPIã
+ããUB sil_reb_ddr(UINT port);
+
+ããã©ã¡ã¼ã¿ã
+	UINT portãããããã¼ãçªå·
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	DDRã¬ã¸ã¹ã¿ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã®å¤ãèª­ã¿åºãã
+
+(2) sil_wrb_ddrããDDRã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿
+
+ãCè¨èªAPIã
+ããvoid sil_wrb_ddr(UINT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	UINT portããããã¼ãçªå·
+	UB dataããããæ¸ãè¾¼ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¤dataãæ¸ãè¾¼ãã
+
+(3) sil_anb_ddrããDDRã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_anb_ddr(UINT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	UINT portããããã¼ãçªå·
+	UB dataããããANDæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ANDæ¼ç®ã
+è¡ãã
+
+(4) sil_orb_ddrããDDRã¬ã¸ã¹ã¿ã®ORæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_orb_ddr(UINT port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	UINT portããããã¼ãçªå·
+	UB dataããããORæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ORæ¼ç®ã
+è¡ãã
+
+
+7. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±
+
+ãH8ä¾å­é¨ãä»ã®ã¿ã¼ã²ããã»ãã¼ãã¸ãç§»æ¤ããéã«å¿
+è¦ãªæ
+å ±ãä»¥ä¸ã«
+è¿°ã¹ãã
+
+7.1 ãã¯ã­å®ç¾©
+
+(1) DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã®ããã®å®æ°å®ç¾©
+
+(a) DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãä»¥ä¸ã®ãã¯ã­åã§å®ç¾©ããã
+    H8P1DDR, H8P2DDR, H8P3DDR, H8P4DDR, H8P5DDR, 
+    H8P6DDR, H8P8DDR, H8P9DDR, H8PADDR, H8PBDDR
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.hããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«
+ãããããããh8_30xxf.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
+
+(b) DDRã¬ã¸ã¹ã¿ã®åæå¤
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³å®è¡ç´å¾ã®DDRã¬ã¸ã¹ã¿ã®å¤ãä»¥ä¸ã®ãã¯ã­åã§å®ç¾©
+ããã
+ããH8P1DDR0ãH8P2DDR0ãH8P3DDR0ãH8P4DDR0ãH8P5DDR0ã
+ããH8P6DDR0ãH8P8DDR0ãH8P9DDR0ãH8PADDR0ãH8PBDDR0
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(2) ãã¯ã¿ãã¼ãã«çæã®ããã®æ
+å ±
+ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºãå¤æ°VECTOR_SIZEã¨ãã¦å®ç¾©ããã
+å®ç¾©ãã¡ã¤ã«ï¼$(CPU)/$(SYS)/Makefile.config
+
+7.2 ãã¯ã¿ãã¼ãã«çæã®ããã®Perlã¹ã¯ãªããgenvector.plã®ä»æ§
+
+  -s n		ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+  		nã¯æ´æ°å®æ°ãä»®å®ãã¦ãããããä»¥å¤ã®å¼æ°ãä¸ãããã
+  		å ´åã®åä½ã¯æªå®ç¾©ã§ããã
+  		
+  -z 		JSPã«ã¼ãã«ã§ã¯ç»é²ããã¦ããªãå²è¾¼ã¿çªå·ã«å¯¾ãã¦
+  		ããã©ã«ãã§_no_reg_exceptionãè¨­å®ããã®ãæ
+£ä¾ã¨
+  		ãã¦ããããã¢ãã¿ãªã©ã®å®è¡ç°å¢ã«ãã£ã¦ã¯å¤0ã
+  		è¨­å®ããå¿
+è¦ãããã
+  		ãã®ãªãã·ã§ã³ã§ã¯ç»é²ããã¦ããªãå²è¾¼ã¿ãã¯ã¿ã«0ã
+  		æ¸ãè¾¼ãã
+		-zãªãã·ã§ã³ãæå®ããªãå ´åã¯ã_no_reg_exceptionã
+		æ¸ãè¾¼ãï¼ããã©ã«ãï¼
+		-zãªãã·ã§ã³ã®æç¡ã¯jsp/config/h8/Makefile.configã§
+		å®ç¾©ãã¦ããã
+		ãDBGENVãã¯ã­ã®å¤ã
+		ããã»TNCT_MONITORã¾ãã¯REDBOOTã®å ´åï¼-zãªãã·ã§ã³ãã
+		ããã»ããä»¥å¤ã®å ´åï¼-zãªãã·ã§ã³ãªã
+
+
+8. å¶éäºé 
+
+
+ã»ãã¯ã¿ãã¼ãã«
+ããmake realcleanãå®è¡ãã¦ããvector.Sãæ¶å»ãããªãã
+ããï¼Makefileãæ©ç¨®ä¾å­ã«ããªãããã®å¶éäºé 
+ã¨ãããï¼
+ãããã ããmake dependããã³makeã³ãã³ãã§ãã¯ã¿ãã¼ãã«vector.Sã
+ããå¼·å¶çã«ä¸æ¸ããã¦ãããä¸æ¸ãããããªãå ´åã¯
+ããjsp/config/h8/Makefile.config 85è¡ç®ã®
+ããã.PHONY: vector.S
+ãããã³ã¡ã³ãã¢ã¦ãããã¨ãä¸æ¸ããããªããªãã
+
+ã»å®è¡ãã¹ãã¿ã¹ã¯ããªãã¨ãã®å²è¾¼ã¿å¾
+ã¡ã«ã¤ãã¦
+ããsleepãã¦ããéã«ãã¹æ¨©è¦æ±ãç«¶åããªãããã«ãã¹æ¨©ã®å¤é¨ã¸ã®è§£æ¾
+ãããç¦æ­¢ããå¦çãçç¥ãã¦ããã
+ããããè©²å½åæï¼cpu_support.Sã®dispatcher_2_enable_interrupt
+ãã
+ããHEWçã®jsp/config/h8-renesas/cpu_support.srcã«ã¯å®è£
+æ¸ã¿ã§ããã
+ããè©³ããã¯ãã¼ãã¦ã§ã¢ã»ããã¥ã¢ã«ã6.4.4 ã½ããã¦ã§ã¢ã»ã¹ã¿ã³ãã¤ã»
+ããã¢ã¼ãã¸ã®é·ç§»ãåç
+§
+
+ã»ãã¯ã¿ãã¼ãã«ã®èªåçæ
+ããããã©ã«ãã§ç¨æãã¦ããno_reg_exceptionã®ããã«ãè¤æ°ã®å²è¾¼ã¿è¦å 
+ããã«å¯¾ãã¦åãå²è¾¼ã¿ãã³ãã©ãç»é²ãããããªä½¿ãæ¹ã«ã¯å¯¾å¿ãã¦ããªãã
+
+ã»#ifdef SUPPORT_ETHER
+ãããªãã¹ãã«ã¼ãã«ã¨TINETã®ç¬ç«æ§ãé«ããæ¹éã§ä¿®æ­£ãè¡ã£ããããã¹
+ããã®è¨­å®ã¯ã«ã¼ãã«å´ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ï¼ã§è¡ããããä¸é¨ã
+ããSUPPORT_ETHERãã¯ã­ã«ããæ¡ä»¶ã³ã³ãã¤ã«ãæ®ã£ã¦ããã
+ããï¼AKI-H8/3069Fä¾å­é¨ã®ã¿ï¼
+
+ã»ã·ã³ãã«å
+ããCè¨èªã«ã¼ãã³ã®é¢æ°å****ã«å¯¾ãã¦ãå
+é¨çã«å
+¥å£å¦çã®ã©ãã«ã«
+ãã__kernel_****_entryãä½¿ç¨ãã¦ãããããããã¨åãã·ã³ãã«åã
+ããã¢ããªã±ã¼ã·ã§ã³å
+ã§ä½¿ç¨ã§ããªãã
+ããï¼å
+ã
+__kernel_ã§å§ã¾ãã·ã³ãã«åã¯ã«ã¼ãã«ç¨ã«äºç´ããã¦ãããï¼
+
+ã»ç§æé»å­è£½ãã¼ãä»å±ã®CD-ROMã«å
+¥ã£ã¦ããgccã¯ãã¼ã¸ã§ã³ãå¤ãããã
+ããµãã¼ããã¦ããªãã
+
+ã»gccã®ãã¼ã¸ã§ã³ã«ãã£ã¦ã¯64ãããæ´æ°ã¯ãµãã¼ãããªãã
+ãï¼å¦çç³»ã®å¶éäºé 
+ï¼
+
+ã»ãã¹ããã·ã³ã®OS
+ãWindows9xç³»ã¯ãµãã¼ãããªãã
+
+
+9. ä»é²
+
+9. 1  RedBootå¯¾å¿ã«ã¤ãã¦
+
+åèå®è£
+ã¨ãã¦AKI-H8/3069Fç¨ã®RedBootã«å¯¾å¿ãã¦ããããå®æ©ãã¹ãã¯
+è¡ã£ã¦ããªããä»¥ä¸ã«ä½¿ç¨æ¹æ³ãè¨ãã
+
+9. 1. 1  H8/3069F ã®ã¡ã¢ãªããã
+   ãããã°æ (RedBootä½¿ç¨æ)
+
+         0x000000 - 0x07ffff  å
+èµ ROMãRedBootã¢ãã¿ã¼
+         0x400000 - 0x44ffff  å¤é¨ RAMã.textã.rodata
+         0x450000 - 0x4ffeff  å¤é¨ RAMã.dataã.bss
+         0x4fff00 - 0x4fffff  å¤é¨ RAMãå²ãè¾¼ã¿ãã¯ã¿é å (.vectors)
+         0x500000 - 0x510000  å¤é¨ RAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xee0000 - 0xee0081  å
+èµ I/O ã¬ã¸ã¹ã¿
+         0xffbf20 - 0xfffd1f  å
+èµ RAMãRedBootã¢ãã¿ã¼
+         0xfffd20 - 0xfffe1f  å
+èµ RAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å
+                              (cpu_config.cã§.vectorsããã³ãã¼)
+         0xffff20 - 0xffffe9  å
+èµ I/O ã¬ã¸ã¹ã¿
+
+
+9. 1. 2  ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+           
+         ãã£ã¬ã¯ããª $(CPU)/$(SYS) ã«ãã
+
+            Makefileã®DBGENV := REDBOOT
+
+         ãæå¹ã«ãã¦ make ããã
+
+         RedBoot
+           http://sourceforge.jp/projects/ecos-h8/
+         ãªãªã¼ã¹çã"h8write -3069 -f20 redboot.mot" ã§ç¼ãã
+         
+         å®è¡æ¹æ³ã¯
+         ã(1) Redbootãã­ã¼ãã¨ãã¦å©ç¨ããæ¹æ³
+         ã(2) GDBã¨æ¥ç¶ããæ¹æ³
+         ãããã
+
+
+       ã(1) Redbootãã­ã¼ãã¨ãã¦å©ç¨ããæ¹æ³
+
+           ä»¥ä¸ã¯ã å¤©éæ°æä¾ã«ããè¨­å®æ¹æ³ã§ããã
+
+         ä¸è¨ãã¼ã«ããã¦ã³ã­ã¼ããã¦ã¤ã³ã¹ãã¼ã«(Winã¦ã¼ã¶ã¼)
+         TFTPãµã¼ãã¼forWin32
+         http://www.vector.co.jp/soft/win95/net/se174412.html
+         Tera Term Pro
+         http://www.sakurachan.org/soft/teraterm-j/
+         
+         TFTPãµã¼ãã¼ã®ãã©ã«ãæå®ãjsp.Sãçæãããå ´æã«æå®
+         Tera Term Proãã¤ã³ã¹ãã¼ã«ããå ´æã«ãã¯ã­ãã¡ã¤ã«ï¼ä¸è¨ï¼ã
+         ä½æ
+         ttpmacro.exe ã¸ã®ã·ã§ã¼ãã«ãããä½æãã¦
+         å³ã¯ãªã®ãã­ããã£-ãªã³ã¯å
+ã§akiboot.ttlãè¿½å 
+         "C:\Program Files\TTERMPRO	tpmacro.exe" akiboot.ttl
+         
+         ä¸è¨ã¯akiboot.ttlã®ãµã³ãã«
+         ; Sample macro for Tera Term
+         ;ç°å¢è¨­å®ãã¡ã¤ã«ãã­ã¼ãããå ´å
+         ;connect '/F=redboot.ini'
+         ;ããã©ã«ãè¨­å®ã§ã­ã¼ãããå ´å
+         connect ''
+         ;æ¹è¡ã³ã¼ããéã£ã¦ãã­ã³ãããã§ãã®ãå¾
+ã¤
+         sendln
+         UsernamePrompt = 'RedBoot>'
+         ;IPã¢ãã¬ã¹ã¯ç°å¢ã«ãã£ã¦å¤æ´ãã¦ãã ããã
+         ;-l akiãã¼ãã®IP -h TFTPãµã¼ãã¼ã®IP
+         ipset = 'ip_address -l 192.168.0.12 -h 192.168.0.10'
+         load = 'load -b 0x400000 jsp.S'
+         go = 'go 0x400000'
+         ; ipè¨­å®
+         wait   UsernamePrompt
+         sendln ipset
+         ; load
+         wait   UsernamePrompt
+         sendln load
+         ; go
+         wait   UsernamePrompt
+         sendln go
+         ; OK, boot complete.
+
+
+      ã(2) GDBã¨æ¥ç¶ããæ¹æ³
+      ã
+      ãããã§ã¯Ethernetçµç±ã§GDBãæ¥ç¶ããæ¹æ³ãè¿°ã¹ãã
+      ã
+      ããã¹ããã·ã³ã¨ã¿ã¼ã²ãããã¼ããã·ãªã¢ã«ã±ã¼ãã«ã¨Ethernetã±ã¼ãã«
+      ãã§æ¥ç¶ããã
+      ãï¼Ethernetã±ã¼ãã«ï¼ç´çµããå ´åã¯ã¯ã­ã¹ã±ã¼ãã«ãç¨ãããï¼
+
+      ãã¿ã¼ããã«ã½ããï¼ã·ãªã¢ã«ï¼ãèµ·åããã¿ã¼ã²ããã®é»æºãå
+¥ããã
+      ããã°ããå¾
+ã¤ã¨ä»¥ä¸ã®ããã«åºåãããã
+      ã
+      ã... waiting for BOOTP information
+      ãEthernet eth0: MAC address xx:xx:xx:xx:xx:xx
+      ãCan't get BOOTP info for device!
+      ã
+      ãRedBoot(tm) bootstrap and debug environment [ROM]
+      ãNon-certified release, version UNKNOWN - built 21:28:57, Apr 11 2004
+      ã
+      ãPlatform: Akizuki H8/3068 Network micom (H8/300H)
+      ãCopyright (C) 2000, 2001, 2002, Red Hat, Inc.
+      ã
+      ãRAM: 0x00400000-0x005f4000, [0x00400000-0x005e1000] available
+      ãFLASH: 0x00000000 - 0x00080000, 8 blocks of 0x00010000 bytes each.
+      ãRedBoot> 
+      ã
+      ã"RedBoot>"ã®ãã­ã³ããã§å
+¥åå¾
+ã¡ã«ãªã£ããã
+      ãããip_address -l xxx.xxx.xxx.xxx
+      ãã¨å
+¥åããIPã¢ãã¬ã¹ãè¨­å®ããã
+      ãï¼xxx.xxx.xxx.xxxã®å
+·ä½çãªå¤ã¯ç°å¢ã«åããããï¼
+      ãä»¥ä¸ã®ãããªå¿ç­ãããã°ãæåã§ããã
+
+      ãIP: xxx.xxx.xxx.xxx/255.255.255.0, Gateway: 0.0.0.0
+      ãDefault server: 0.0.0.0
+      ãRedBoot>
+      ã
+      ãï¼ã¿ã¼ããã«ã½ããã§ã¯ãªããã·ã§ã«ã®ï¼ã³ãã³ããã­ã³ããã«ã¦ã
+      ãgdbãèµ·åããã
+      ã
+      ãh8300-hms-gdb jspãï¼Cygwinã®å ´åã¯jsp.exeï¼
+      ã
+      ãgdbã®ãã­ã³ããã«ã¦ä»¥ä¸ã®ã³ãã³ããå®è¡ããã
+      ãtarget remote xxx.xxx.xxx.xxx:9000
+ã      ããxxx.xxx.xxx.xxxã¯ä¸è¨ã§è¨­å®ããIPã¢ãã¬ã¹
+  ã    ãã9000ã¯ãã¼ãçªå·
+      ãload
+      ãb xxxx_xxxx
+      ãc
+      ã
+      ãgdbã®ã³ãã³ãã«ã¤ãã¦ã¯gdbã®ããã¥ã¢ã«ãåç
+§
+
+
+9. 1. 3  ç§»æ¤ã®ããã®åèæ
+å ±
+
+ããããã¬ã¨ã«ã¼ãã«ãè³æºã®ç«¶åãèµ·ãããªããããç¹ã«å²è¾¼ã¿ã¾ããã®è³
+æºã«ã¯é
+æ
+®ããå¿
+è¦ããããRedbootå¯¾å¿ã«ããããä»¥ä¸ã®ãã¼ã¿æ§é ãé¢æ°
+ãæ°è¨­ãã¦ãããä»ã®ãã¼ãããããã¬ç¨ã«ç§»æ¤ããéã«ã¯ããããä¿®æ­£ãã
+å¿
+è¦ãããã
+
+(1) ãã¯ã­ H8IPRA_INI,H8IPRB_INI
+ãIPRAãIPRBã¬ã¸ã¹ã¿ã®åæå¤
+ãå®ç¾©ãçç¥ããå ´åã¯ããã©ã«ãå¤0ãä½¿ç¨ãããã
+ãcpu_config.cã®cpu_initializeé¢æ°ã«ã¦ããã¹ã¦ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã
+ã¬ãã«ï¼ã«ããå¦çãè¡ã£ã¦ããããããã¬ãå²è¾¼ã¿ãä½¿ç¨ããå ´åã¯ããã®
+ãã¯ã­ã§åæå¤ãå®ç¾©ããè©²å½ããå²è¾¼ã¿ãã£ãã«ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã
+åæã«ã¬ãã«ï¼ã«ã¯ãªã¢ãããªãããã«ããã
+ãå®ç¾©å ´æï¼sys_config.h
+
+(2) ãã¯ã­ VECTOR_TABLE_ADDR
+ãRedbootãç®¡çããæ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
+é ­ã¢ãã¬ã¹
+ãå®ç¾©å ´æï¼sys_config.h
+
+(3) ãã¼ã¿å TMP_VECTOR
+ãcpu_config.cã®vector_table_copyé¢æ°ã«ã¦ãã«ã¼ãã«ãæã¤ãã¯ã¿ãã¼ã
+ã«ãRedbootãç®¡çããã³ãã¼ãã¦ããããã®éãä¸æ¸ããã¦ã¯ã¾ããåæã
+éé¿ï¼å¾©å
+ããå¿
+è¦ãããããã®éé¿å
+ã®ãã¼ã¿æ§é ãTMP_VECTORåã¨ãã¦å®
+ç¾©ããã
+ãå®ç¾©å ´æï¼sys_config.h
+
+(4) é¢æ° load_vector  å²è¾¼ã¿ãã¯ã¿ã®éé¿
+
+ãCè¨èªAPIã
+ããvoid load_vector(TMP_VECTOR *p);
+
+ããã©ã¡ã¼ã¿ã
+ããTMP_VECTOR *pãéé¿å
+ã®å
+é ­ã¢ãã¬ã¹
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+ãããªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+ãããªã
+
+ãæ©è½ã
+ããpã§æå®ãããã¡ã¢ãªé åã«Redbootãç®¡çãããã¯ã¿ãã¼ãã«ã®ä¸é¨ã
+ããéé¿ããã
+
+ãå®ç¾©å ´æã
+ããsys_config.c
+
+(5) é¢æ° save_vector  å²è¾¼ã¿ãã¯ã¿ã®å¾©å
+
+
+ãCè¨èªAPIã
+ããvoid save_vector(TMP_VECTOR *p);
+
+ããã©ã¡ã¼ã¿ã
+ããTMP_VECTOR *pãã³ãã¼å
+ã®å
+é ­ã¢ãã¬ã¹
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+ãããªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+ãããªã
+
+ãæ©è½ã
+ããpã§æå®ãããã¡ã¢ãªé åã«ãããã¼ã¿ãRedbootãç®¡çãããã¯ã¿
+ãããã¼ãã«ã®ä¸é¨ã¨ãã¦å¾©å
+ããã
+
+ãå®ç¾©å ´æã
+ããsys_config.c
+
+9. 2  gccã®å¼ã³åºãè¦ç´ã«ã¤ãã¦
+
+ãä¸è¨ã®åèè³æã«ããã¨ãã¹ã¯ã©ããã¬ã¸ã¹ã¿ã¯er0ãer3ã§ããã¨èª­ãããã
+å®éã«ã¯æé©åãªãã·ã§ã³ä½¿ç¨æã«er4ãç ´å£ããããããªã®ã§ãå²è¾¼ã¿ã®åº
+å
+¥å£å¦çã§er0ãer4ãéé¿ï¼å¾©å
+ãã¦ããã
+
+ãåèè³æ
+ããhttp://gcc.gnu.org/projects/h8300-abi.html
+
+
+9. 3  ã·ãªã¢ã«3chåã«ä¼´ãªãä¿®æ­£å
+å®¹ã«ã¤ãã¦
+ãjsp/config/h8/hw_serial.cã§å®ç¾©ããã¦ããã·ãªã¢ã«ãã¼ãåæåãã­ã
+ã¯siopinib_table[]ã®ãµã¤ãºã2ãã3ã«æ¡å¼µããããã«ä¼´ãã
+ããã»jsp/config/h8/hw_serial.cfg
+ããããå²è¾¼ã¿ãã³ãã©ã®ç»é²
+ããã»jsp/config/h8/akih8_3069f/sys_config.h
+ããããå¿
+è¦ãªãã¯ã­å®ç¾©
+ããããããè¿½å ãã¦ããã
+ãã¾ããä¿®æ­£ä»¥åã¯TNUM_PORTãã¯ã­ã®å¤ã«ãããã·ã¹ãã ã­ã°åºåã«ä½¿ç¨ã
+ããã¼ãçªå·ãå¤åããããã«ãªã£ã¦ããããä»åã®ä¿®æ­£å¾ã¯ãTNUM_PORTã
+ã¯ã­ã®å¤ã«ä¾ããã·ã¹ãã ã­ã°åºåã®ãã¼ãçªå·ãåºå®ãããããä»æ§å¤æ´ã
+ãã
+
+
+9. 4  NKEV-010H8 ã§ã® GDB STUB ãä½¿ã£ãå®è¡
+
+9. 4. 1  NKEV-010H8 å¯¾å¿STUB
+
+NKEV-010H8 å¯¾å¿ GDB STUB ã¯è£½åæ·»ä»ã® CD-ROM ã«ç´ãããã¦é
+å¸ãããã
+ãã® GDB STUB ã¯ SCI1 ãä½¿ç¨ããçºãsyslogåºåç­ã¯SCI0ã«è¡ãããã«
+ã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ãããã
+
+9. 4. 2  NKEV-010H8ãã¿ã¼ã²ããã¨ãã¦GDBã«ãããªã¢ã¼ããããã°
+
+  1. config/h8/nkev-010h8/Makefile.config ã§ DBGENV := ãå
+¨ã¦
+     ã³ã¡ã³ãã¢ã¦ãããã
+  2. ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã« DBGENV := GDB_STUBãè¿½å ããã
+  3. ã¢ããªã±ã¼ã·ã§ã³ã® Makefile COPTS = -g -O0 ãè¿½å ããã
+  4. åºåå
+ã®ã·ãªã¢ã«ãã¼ã IDã 2 ã«ãã¦ããå ´åã¯ 1 ã«å¤æ´ããã
+     (jspã®sampleã®å ´åãTASK_PORTID ã 1 ã«ãã)
+  5. make dependãmake ãè¡ã
+ã6. h8300-hms-gdb jsp.exe ãå®è¡ããgdbãèµ·åããã
+  7. gdbãã­ã³ãããåºããä»¥ä¸ãå
+¥åããã
+
+        (gdb) set machine h8300h
+        (gdb) set endian big
+        (gdb) set remotebaud 38400
+        (gdb) set remoteaddress 32
+        (gdb) target remote /dev/com1âPCã®COMãã¼ãçªå·
+        0x00001350 in ?? ()
+        (gdb) load
+        Loading section .vectors, size 0x100 lma 0x400000
+        Loading section .text, size 0x59ca lma 0x400100
+        Loading section .rodata, size 0x118a lma 0x405aca
+        Loading section .data, size 0x12 lma 0x406c54
+        Start address 0x400100, load size 27750
+        Transfer rate: 20181 bits/sec, 50 bytes/write.
+        (gdb)
+
+  8. contã¨å
+¥åããäºã§ãã­ã°ã©ã ãå®è¡ããã
+
+  gdbã®æä½ã«ã¤ãã¦ã¯GNUãã­ã¸ã§ã¯ãã«ããã¥ã¢ã«ãããã®ã§ããã¡ãã
+  åç
+§ã®äºã
+
+9. 4. 3  æ¢ç¥ã®åé¡ç¹
+
+  TNUM_PORT = 2 ã¨ããã¨ãstub ã¨ USER PORTããããã£ã³ã°ãã¦åä½ããªãã
+
+
+å¤æ´å±¥æ­´
+
+'01/11/15 Release1.2
+ãH8ãµãã¼ãéå§
+ããã¿ã¼ã²ããï¼AKI-H8/3048F
+
+'02/04/15 Release1.3
+ãã¿ã¼ã²ããã®å¤æ´
+ããAKI-H8/3067Fã®ãµãã¼ããè¿½å 
+
+'03/12/28 Release1.4
+ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
+ããã»AKI-H8/3052Fã®ãµãã¼ããè¿½å 
+ããã»AKI-H8/3068Fã®ãµãã¼ããè¿½å 
+ããã»AKI-H8/3069Fã®ãµãã¼ããè¿½å 
+
+'05/12/28 Release1.4.2
+ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
+ããã»NKEV-010H8ã®ãµãã¼ããè¿½å 
+ããã»AKI-H8/3068Fã®ãµãã¼ããä¸­æ­¢
+ããã»AKI-H8/3069Fã®ãµãã¼ããä¸­æ­¢
+
+ãæ°è¦
+ããã»ãã¯ã¿ãã¼ãã«ã®èªåçæ
+ããããDEF_INH()ã®å¼æ°ããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãèªåçæããããã«ã
+ããããããããã«ãããã¦ã¼ã¶ã¼ãæä½æ¥­ã§ç·¨éããå¿
+è¦ããªããªã£ãã
+ããã»å²è¾¼ã¿åªå
+åº¦ã®ãµãã¼ã
+ããããã»ã¬ãã«ï¼ã¨ã¬ãã«ï¼ã®å²è¾¼ã¿ããµãã¼ã
+ããããã»å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãå¤æ´
+ããããããå²è¾¼ã¿è¦å æ¯ã«2ç¨®é¡ã®å²è¾¼ã¿ã¬ãã«ã®å¤ãå®ç¾©ããã
+ããããããããã»å²è¾¼ã¿è¦æ±æï¼IPRAãIPRBã¬ã¸ã¹ã¿ã®è¨­å®
+ããããããããã»å²è¾¼ã¿è¨±å¯æï¼ccrã®å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ããããã»å²è¾¼ã¿è¦å å¥ã«ç¨æãã¦ããxxx_enable_intã¨xxx_disable_intã
+ãããããå»æ­¢
+ããããã»iscpulockedãã©ã°ãæ°è¨­
+ããã»IPMã®åç
+§ã¨å¤æ´æ©è½ããµãã¼ãã
+ããã»I/Oãã¼ãã®DDRã¢ã¯ã»ã¹ã«ã¼ãã³ãè¿½å 
+ããã»AKI-H8/3069Fã®ãªãªã¼ã¹ã¢ã¼ãã§å
+èµRAMã ãã§åä½ããã¢ã¼ããè¿½å 
+ããããã»Makefile.configã«DBGENV := INMEM_ONLYãæ°è¨­
+ããããã»ãªã³ã¯ã¹ã¯ãªããrelease_inmem.ldãè¿½å 
+
+ãä¿®æ­£
+ããã»å®è¡ç°å¢ã®å®ç¾©
+ããããMakefile.configå
+ã®å¤æ°DBGENVã®å®ç¾©ã®è¦ç´ã
+ãããããDBGENV := ROMãROMåã®å ´åï¼æ°è¦ï¼
+ãããããDBGENV := TNCT_MONITORãç°¡æã¢ãã¿ä½¿ç¨æï¼å¤æ´ï¼
+ãããããããTNCT:Tomakomai National College of Technology
+ããã»å¾®å°æéå¾
+ã¡é¢æ°sil_dly_nse( )ãå®è£
+
+ããã»_int64_ã®å®ç¾©ãå³å¯å
+ããããããã«ä¼´ããSYSUTIMåã®å®ç¾©ãå¤æ´
+ããã»ã·ãªã¢ã«ãã©ã¤ãã®SCI_getchar()ã§èª­ã¿åºãã1ãã¤ããã¼ã¿ãç¬¦å·
+ãããæ¡å¼µããã¦ãã¾ãåé¡ãä¿®æ­£
+ããã»å¦çç³»
+ããããç§æé»å­éåè£½ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããã
+ãããããµãã¼ããã¦ããªããï¼ã4. 1  éçºç°å¢ã®æ§ç¯ããåç
+§ï¼
+ããã»cpu_experr( )ã§ã¬ã¸ã¹ã¿ã®å
+å®¹ããã³ãããéãpcã¨ccrãåé¢ãã¦
+ãããããªãã£ãä¸å
+·åãä¿®æ­£
+ããã»TINETé¢é£ã®ãã¡ã¤ã«ãåé¢
+ããããã»åé¤ãããã¡ã¤ã«
+ããããããjsp/config/h8/tinet_cpu_defs.h
+ããããããjsp/config/h8/tinet_cpu_config.h
+ããããããjsp/config/h8/akih8_3048f/tinet_sys_config.h
+ããããããjsp/config/h8/akih8_3068f/tinet_sys_config.h
+ããããããjsp/config/h8/akih8_3069f/tinet_sys_config.h
+ããã»Redbooté¢é£
+ãããã»debug_redboot.ldãããã±ã¼ã¸ã«å«ãã
+ãããã»ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãä¿®æ­£
+ãããã»å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã¸ã®ç»é²å¦çãä¿®æ­£
+ããã»ã¿ã¤ããã³ãã©ãã·ãªã¢ã«ãã³ãã©ã®æ´ç
+ããããã»BITSET,BITCLRãã¯ã­ãã¤ã³ã©ã¤ã³ã»ã¢ã»ã³ãã©é¢æ°ã«å¤æ´
+ããã»å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®åæå
+ãã	ã»_hardware_init_hookã®å¦çå
+å®¹ãä¸é¨ãcpu_initialize()ã«ç§»å
+ããã»ã¢ã»ã³ãã©ã«ã¼ãã³
+ãããã»æ¡ä»¶åå²å½ä»¤åã®ä¸è¦ãªorå½ä»¤ãåé¤
+ãããã»gccã®å¼ã³åºãè¦ç´ã«åããã¦ãã¬ã¸ã¹ã¿ã®éé¿ã¨å¾©å
+ãå¿
+è¦æå°é
+ããããã«ããã
+ããããï¼gcc 3.xå¯¾ç­ã®ãããå²è¾¼ã¿ã®åºå
+¥å£ã§er4ãéé¿ï¼å¾©å
+ãã¦ãããï¼
+ããã»h8_3048f.hãh8_3052f.hãh8_3069f.hããã¼ãéã§å
+±æã§ãããã
+ããã$(CPU)ãã£ã¬ã¯ããªã«ç§»å
+ããã»AKI-H8/3052F, AKI-H8/3069Fã·ã¹ãã ä¾å­é¨
+ããããã»ããã©ã«ãã®ã·ãªã¢ã«chæ°ã1ã«å¤æ´
+ããããããã³ãã¯ã¿ãå¢è¨­ããªãã¨ä½¿ç¨ã§ããªããã
+ããããã»ããã«ä¼´ãªãããµã³ãã«ãã­ã°ã©ã ã®TASK_PORTIDã®å®ç¾©ã
+ãããããsys_defs.hã«ç§»å
+ããã»Makefile.configã«ãããã°ãªãã·ã§ã³-gãè¿½å 
+ããã»é¢æ°å®£è¨ã§ãå¼æ°ã®ãªããã®ã¯æç¤ºçã«voidãè¨è¿°ããã
+ããã»vxget_tim()ã®ãã­ãã¿ã¤ãå®£è¨ã«throw()ãè¿½å 
+ããã»intnestãUWåããUBåã«å¤æ´
+ããã»ãã¬ã¼ã¹ã­ã°ã®è¨­å®ãä¸é¨è¿½å 
+ãããã#define	LOG_VSNS_INI_ENTER()
+ãããã#define	LOG_VSNS_INI_LEAVE(state)
+ããã»tool_config.hããNEWLIBãã¯ã­ã®å®ç¾©ãåé¤
+ããã»cpu_context.hããACTIVATED_STACK_SIZEãã¯ã­ã®å®ç¾©ãåé¤
+ããã»ã·ã³ãã«ã»ãªãã¼ã å¯¾è±¡ã®è¦ç´ã
+ãã    ã»ã·ã³ãã«cpu_experrã®ãªãã¼ã æ¼ããä¿®æ­£
+ããã»AKI-H8/3069F
+ããããã»HEAP_TOPãã¯ã­ã®å®ç¾©ãåé¤
+ããã»ããã¥ã¢ã«
+ãããã»ãã¼ãä»å±ã®CD-ROMã®gccã¯ãµãã¼ãå¤ã§ãããã¨ãæè¨
+ãããã»Redbootå¯¾å¿ãåèå®è£
+ã§ãããã¨ãæè¨ããä»é²ã«ç§»å
+ãããã»å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éãè¨æ­£
+ãããã»å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãæè¨
+ãããã»ã·ãªã¢ã«ãã¼ãã®ãã­ã¼å¶å¾¡ã®è¨­å®ãè¿½è¨
+ãããã»éçºç°å¢ã®ãã¼ã¸ã§ã³ãå¤æ´
+
+'07/06/01  Release1.4.3
+ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
+ããã»NKEV-010H8ã®ãµãã¼ããä¸­æ­¢
+ããã»AKI-H8/3048Fã®ãµãã¼ããä¸­æ­¢
+
+ãä¿®æ­£
+ãã»ã·ãªã¢ã«ãã©ã¤ãã3chå
+ãããAKI-H8/3069Fã®ã¿å¯¾å¿
+ãã»ãã¯ã¿ãã¼ãã«èªåçæ
+ããã»make dependããã³makeã³ãã³ãã§ãã¯ã¿ãã¼ãã«vector.Sãå¼·å¶çã«
+ãããä¸æ¸ãããããä»æ§å¤æ´
+ããã»å¦çç³»æ¯ã®æ¹è¡ã³ã¼ãã®éãã«å¯¾å¿
+ããã»DEF_INHæã®éä¸­ã§æ¹è¡ãããã¨ãã¼ã¹ã«å¤±æããåé¡ãä¿®æ­£
+ããã»å²è¾¼ã¿çªå·ã®ãã¯ã­ãæªå®ç¾©ã®å ´åã0çªã¨è§£éãã¦ããªã»ãããã¯ã¿ã
+ãããä¸æ¸ããã¦ãã¾ãä¸å
+·åãä¿®æ­£
+ããã»å²è¾¼ã¿çªå·ã«uãä»ãã¦ããå ´åã«æ­£ããå¦çã§ããªãåé¡ãä¿®æ­£
+ããã»filter1.plã¨filter2.plãï¼ã¤ã«ã¾ã¨ããgrep_def_inh.plã«æ¹å
+ãããï¼gccçã¨HEWçã§åå¥ã«filter2.plãç¨æããå¿
+è¦ããªããªã£ãï¼
+ãã»å²ãè¾¼ã¿ã¬ãã«ã®è¨­å®
+ãããã»h8_sil.hã®define_int_plevel()
+ãããããcpu_insh.hãã¤ã³ã¯ã«ã¼ãããªãã§ãbitset(),bitclr()ãå¼ã³
+ãããããåºãã¦ããä¸å
+·åãä¿®æ­£
+ãã»software_term_hookã®å¼ã³åºã
+ãããã»tool_config.hã®call_atexit()
+ãããããsoftware_term_hookã¸ã®ãã¤ã³ã¿ã¨0ã¨ã®æ¯è¼ããã³ã³ãã¤ã©ã®
+ãããããæé©åã«ãã£ã¦åé¤ããã¦ãã¾ããªããããvolatileä¿®é£¾å­ãè¿½å 
+ãã»Redbootå¯¾å¿
+ãããã»Redbootãä½¿ç¨ããå²è¾¼ã¿ãã¯ã¿ãä¸æ¸ããã¦ãã¾ãåé¡ãä¿®æ­£
+ãããã»ããã¥ã¢ã«h8.txtã®9.1ç¯ãè¿½è¨
+
+'10/02/15 
+ãä¿®æ­£
+ãã»ã³ã³ãã¤ã©ã®æé©åã«ãããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§å½ä»¤ã®
+ããé çªãå
+¥ãæ¿ãã£ã¦ãã¾ãåé¡ãä¿®æ­£
+
+
+'10/02/16 
+ãä¿®æ­£
+ãã»h8_3069f.h
+ããã»Timer Interrupt Status Register B (TISRB)
+ã  ããã¹ãã«ãã¹ãä¿®æ­£ï¼AâBï¼
+ã  ã»ã¬ã¸ã¹ã¿å®ç¾©ãè¿½å 
+ãã»hw_timer.h
+ããã»hw_timer_initialize( )
+ããããå²è¾¼ã¿è¨±å¯æã«ä»ã®chã®ããããä¸æ¸ããã¦ããä¸å
+·åãä¿®æ­£
+ãã»å
+èµRAMã®ã¢ãã¬ã¹ãããã³ã°ã®èª¤ããä¿®æ­£
+
+'10/06/15 
+ãä¿®æ­£
+ããã»ã·ãªã¢ã«ãã©ã¤ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã«å¯¾å¿
+ãããï¼akih8_3069fåºæã®æ¡å¼µï¼
+ããã»ãã­ã¥ã¡ã³ãå
+ã«ããå
+é¨I/Oã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãããã³ã°ã®
+ãããè¨è¼ãã¹ãä¿®æ­£
+
+'10/12/01 
+ãä¿®æ­£
+ããã»é¢æ°sil_dly_nseãh8_sil.cããcpu_support.Sã«ç§»å
+ããããã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ããéå¸¸ã®ã¢ã»ã³ãã©è¨èªè¨è¿°ã«å¤æ´
+ããã»akih8_3069f
+ããã ã»ãã¹ã®ã¦ã§ã¤ãã¨ã¢ã¯ã»ã¹ã¹ãã¼ããè¨­å®ããã¦ããªãã£ãåé¡ãä¿®æ­£
+ããã ããã(toppers-users 3087) [H8]ãã¹åæåã«ã¤ãã¦ãã¸ã®å¯¾å¿
+ããã ã»é¢æ°sil_dly_nseã®ãã©ã¡ã¼ã¿SIL_DLY_TIM1,2ã®å¤ãèª¿æ´
+
+'10/12/15 
+ãä¿®æ­£
+ããã»ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ãã³ãã©å
+ã®ã¨ã©ã¼ãã§ãã¯å¦çãã³ã¡ã³ãã¢ã¦ã
+ãããï¼ã¬ã¢ã±ã¼ã¹ãªããï¼
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s-renesas.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s-renesas.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s-renesas.txt	(revision 26)
@@ -0,0 +1,1282 @@
+               ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                  ï¼H8Sã¿ã¼ã²ããä¾å­é¨ (H8C(HEW)å¯¾å¿ç)ï¼
+   
+               ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 29-Dec-2010ï¼
+   
+   ------------------------------------------------------------------------ 
+    TOPPERS/JSP Kernel
+
+        Toyohashi Open Platform for Embedded Real-Time Systems/
+        Just Standard Profile Kernel
+   
+    Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                                Toyohashi Univ. of Technology, JAPAN
+    Copyright (C) 2001-2007 by Industrial Technology Institute,
+                                Miyagi Prefectural Government, JAPAN
+    Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+                     Tomakomai National College of Technology, JAPAN
+   
+    ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+
+    ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+    è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+    ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+    å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+    (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+        ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+    (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+        è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+        ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+    (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+        ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+        ã¨ï¼
+      (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+          ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+      (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+          å ±åãããã¨ï¼
+    (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+        å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+   
+    æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+    ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+    å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+    æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+   
+    @(#) $Id: h8s-renesas.txt,v 1.2 2007/03/23 07:27:55 honda Exp $
+
+   ------------------------------------------------------------------------
+1.  H8Sã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1. 1  ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+ãæ¬å®è£
+ã¯gccå¯¾å¿ã ã£ãH8Sä¾å­é¨ã(æ ª)ã«ããµã¹ ã½ãªã¥ã¼ã·ã§ã³ãºè£½ã®é
+çºç°å¢H8C(HEW)ã«å¯¾å¿ããããã®ã§ããã
+
+  H8Sãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ãH8S/2339Fãæ­è¼ããä»¥ä¸ã®ãã¼ã
+ã§ããã
+
+      ã»æ ªå¼ä¼ç¤¾ãã¹ãè£½ MiNET-H8S/2339F (H8S/2339Fæ­è¼)
+
+æ¬å®è£
+ã¯ä»¥ä¸ã®ã¢ã¼ãã§ä½¿ç¨ãããã¨ãåæã¨ãã¦ããã
+ãCPUåä½ã¢ã¼ãï¼ã¢ããã³ã¹ãã¢ã¼ã
+ãå²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼
+ä»ã®ã¢ã¼ãã§ä½¿ç¨ããå ´åã¯ãã¢ã»ã³ãã©é¨åãä¿®æ­£ããå¿
+è¦ãããã
+
+1. 2  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim)ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§
+ (chg_ipmã get_ipm)ããµãã¼ããã¦ãããã å²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯
+(dis_intãena_int) ã¯ãµãã¼ããã¦ããªãã
+
+1. 3  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+  H8S/2000ã·ãªã¼ãºã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããã
+
+1. 4  ã·ãªã¢ã«ãã¼ã (SCI)
+
+  H8S/2000ã·ãªã¼ãºã«ã¯SCI0ãSCI1ï¼SCI2ï¼ã®2æ¬ï¼3æ¬ï¼ã®ã·ãªã¢ã«ãã¼ãã
+ãããuser_config.hã«å®ç¾©ãã¦ããTNUM_PORTã«ããä½æ¬ä½¿ç¨ãããæå®ã§ã
+ããç¾å¨ã®å®è£
+ã§ã¯3æ¬ã¾ã§ä½¿ç¨ã§ãããï¼ä¸è¨ã®æ³¨æãåç
+§ï¼ 
+JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯SCI1ãä½¿ç¨ãã¦ããã 
+
+æ³¨æï¼
+ãMiNET-H8S/2339Fã§ã¯ãSCI0ãH-UDIãããã°ãã¼ãã¨ç«¶åãã¦ãããSCI0ã®
+ã³ãã¯ã¿ãå®è£
+ããã¦ããªãç­ã®çç±ã«ãããSCI0ã®åä½ç¢ºèªã¯ãã¦ããªãã
+
+
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãã 
+
+   ã»ãã¼ã¬ã¼ãããã38400[bps]
+   ã»ãã¼ã¿é·ãããã8ããã
+   ã»ã¹ããããããã1ããã
+   ã»ããªãã£ãªã
+
+2.  H8S ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+  ã«ã¼ãã«ã¨ã·ã¹ãã ãµã¼ãã¹æ©è½ã®ä¸­ã§ãH8Sä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããã
+
+2. 1  ãã¼ã¿å
+
+  intåã¨unsigned intåã®ãµã¤ãºã¯ 16ãããã§ãããã¾ããå¦çç³»ã®å¶ç´ã
+ãã64ãããæ´æ°ã¯ãµãã¼ããã¦ããªãã
+
+2. 2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+æ¬å®è£
+ã§ã¯å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ã®ã¿ããµãã¼ããã¦ããã
+ï¼å²è¾¼ã¿ã¢ã¼ãï¼ã«ã¤ãã¦ã¯H8ã¨äºæãªã®ã§ãH8ã¿ã¼ã²ããä¾å­é¨ (H8C(HEW)
+å¯¾å¿ç)ãåèã«ãªãã¨æããããï¼
+
+user_config.hã¨user_config.incã§å®ç¾©ãããMAX_IPMãã¯ã­ã«ãããã«ã¼ã
+ã«ãç®¡çããå²è¾¼ã¿ã¬ãã«ãå¤æ´ã§ããã
+IPMï¼Interrupt Priority Mask
+ï¼å¦çç³»ã®ä»æ§ã«ãããå®ç¾©ãã¡ã¤ã«ãï¼ã¤ããã®ã§æ³¨æï¼
+
+ããã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿
+ããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ ï¼ ãã©ã¤ãªãªãã£ã¬ãã«(MAX_IPM+1)
+ãããããããããããããããä»¥ä¸ã®å²è¾¼ã¿ã¨NMI
+
+åæåã«ã¼ãã³å
+ã§ã¯NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããã®ã«å¯¾ãã¦ã
+CPUã­ãã¯ç¶æ
+ã§ã¯ã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ã®ã¿ãç¦æ­¢ããã¦ããã
+ï¼ãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã«ã¤ãã¦ã¯Î¼ITRON4.0ä»æ§æ¸ãåç
+§ï¼
+å
+·ä½çã«ã¯ãCPUã­ãã¯ç¶æ
+ã§ã¯EXRã¬ã¸ã¹ã¿ã®Iãããã«MAX_IPMã®å¤ãã»ãã
+ããããã«ã«ã¼ãã«å
+ã®ãã©ã°å¤æ°ãã»ãããã¦ããã
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼H8Sã§ã®ä¾å¤ãã¯ã¿çªå·ã
+è¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+2.2.1 å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³
+
+jsp-1.4.1 H8Sä¾å­é¨ï¼gccçï¼ã§ã¯ãå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãæåã§ç·¨éãã¦
+ãããããããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«DEF_INH( )ã®å¼æ°ããèªåçæã
+ãããä»æ§å¤æ´ãã¦ããã
+
+å²è¾¼ã¿ãã³ãã©ãç»é²ããä½æ¥­æé 
+ãã¿ã¤ãå²è¾¼ã¿ãä¾ã«èª¬æããã
+
+ã(1) å²è¾¼ã¿ãã³ãã©ã®è¨è¿°
+
+ãããå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
+è¦ãªå ´åã¯å²è¾¼ã¿ãã³ãã©ã®Cè¨èª
+ãããã«ã¼ãã³ãã¾ãã¯ããããå¼ã°ããé¢æ°å
+ã«è¨è¿°ããæ¹æ³ãæ¨æºã¨
+ãããããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.c
+ããã  ã timer_handler( )ããå¼ã³åºãããhw_timer_int_clear( )
+ããããããï¼jsp/config/h8s-renesas/hw_timer.hï¼
+
+
+ã(2) ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°
+
+ãããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°æ¹æ³ã¯ä»ã®ãã­ã»ããµã¨åæ§
+ãããã§ããã
+ããããã¯ã¿çªå·ã¯jsp/config/h8-renesas/h8s2xxxf.hã§ãã¯ã­å®ç¾©ãã¦ããã
+ãããDEF_INH( )ã®ç¬¬1å¼æ°ã®å²è¾¼ã¿ãã³ãã©çªå·ã¯ããªãã­ã»ã¹å¾ã«æ´æ°å®æ°
+ãããã«ãªã£ã¦ããªããã°ãªããªããï¼èªåå²ãä»ãéå¯¾å¿æ´æ°å¤ãã©ã¡ã¼ã¿ï¼
+ããããã¯ã¿ãã¼ãã«èªåçææããããä»®å®ãã¦ããã
+
+ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
+ããããjsp/systask/timer.cfg
+  ããããDEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
+
+
+ã(3) å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨­å®
+
+ãããåæåå¦çã®cpu_initialize( )ã§ãã¹ã¦ã®å²è¾¼ã¿ãã¬ãã«0ã«åæåã
+ãããã¦ããã
+ãããããã¤ã¹ãã©ã¤ãã®åæåå¦çã§å²è¾¼ã¿è¦å æ¯ã®ãã©ã¤ãªãªãã£ã»ã¬ã
+ãããã«ãè¨­å®ããããã®é¢æ°ãç¨æããã¦ããã
+ãããã
+ããããCè¨èªAPIã
+ãããããvoid icu_set_ilv( UH ipr, BOOL mask, INT level ) 
+
+ãããããã©ã¡ã¼ã¿ã
+        UH	ipr		è¨­å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
+				ã¢ãã¬ã¹ã®ä¸ä½16ããã
+				 ( IPRA - IPRK ãã¯ã­ã§è¨­å® )
+        BOOL	mask		è¨­å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
+				è¨­å®ç¯å²ï¼ä¸ä½é¨åã¾ãã¯ä¸ä½é¨åï¼ã®é¸æ
+				( IPR_UPRãã¾ãã¯ãIPR_LOW ãã¯ã­ã§è¨­å® )
+        INT	level		è¨­å®ããå²è¾¼ã¿ã¬ãã« ( 0 - 7 )
+
+ãããããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+ããããããªã
+
+ããããæ©è½ã
+ãããããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®åä¾å¤è¦å å¥ã«ãå²è¾¼ã¿ã¬ãã«
+ãããããè¨­å®ãè¡ãã
+ããããããã®é¢æ°ãå¼ã³åºãåã«cpu_config.hãã¤ã³ã¯ã«ã¼ãããå¿
+è¦ãããã
+
+ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
+
+ãããããjsp/config/h8s-renesas/hw_timer.h
+ããããããhw_timer_initialize( )
+ããããã    icu_set_ilv( IPRF, IPR_UPR, TPU0_INT_LVL );
+
+ãããè¨­å®ã«ç¨ããå¤ã¯ãã¯ã­å®ç¾©ããã¦ããã
+ããã
+ãããã»IPRAãIPRKã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+ããã   jsp/config/h8s-renesas/h8s2339f.h
+           #define IPRA		0xfec4
+           #define IPRB 	0xfec5
+           #define IPRC		0xfec6
+           #define IPRD		0xfec7
+           #define IPRE		0xfec8
+           #define IPRF		0xfec9
+           #define IPRG		0xfeca
+           #define IPRH		0xfecb
+           #define IPRI		0xfecc
+           #define IPRJ		0xfecd
+           #define IPRK		0xfece
+
+
+2.2.2 å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§
+
+H8Sä¾å­ã®æ©è½ã¨ãã¦ï¼EXRã¬ã¸ã¹ã¿ä¸­ã®IPMã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼
+ã«chg_ipmã¨ï¼åç
+§ããããã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼
+ãªãï¼IPMã®å¤ãè¡¨ããã¼ã¿åIPMã¯ï¼unsigned charåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMãã¬ãã«0ä»¥å¤ï¼ããªãã¡ï¼
+ä½ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢
+ãããï¼chg_ipmã«ããå¤æ´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶
+ãããï¼
+ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMãã¬ãã«1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®
+ã¿ã¹ã¯ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯ã¬ãã«1ã«ãªãï¼
+
+chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ã
+ããããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ã­ã«ããï¼ããã
+ã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPMã¯ï¼user_config.hããã³user_config.incã®ä¸­ã§ãã¯ã­
+å®ç¾©ããã¦ããï¼
+
+H8Sä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®éãï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼
+IPMã«æå®ããå¤ã0ãMAX_IPMã®ç¯å²å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã0
+ä»¥å¤ã«è¨­å®ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­å®ããIPM
+ã®å¤ã¯ï¼ãã£ã¹ãããå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼
+dis_dspã¨ä½µç¨ããã°ããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPMãMAX_IPMï¼ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ã
+ãã¹ã¦ç¦æ­¢ï¼ã«è¨­å®ãã¦ãCPUã­ãã¯ç¶æ
+ã¨ã¯åºå¥ããããï¼ãã£ã¹ãããã
+ç¦æ­¢ãããªããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+
+2. 3  CPUä¾å¤ç®¡çæ©è½ã¨ CPUä¾å¤ãã³ãã©
+
+H8Sãã­ã»ããµèªä½ã«CPUä¾å¤ãæ±ãæ©è½ãåãã£ã¦ããªããããã«ã¼ãã«ã®H8S
+ä¾å­é¨ãCPUä¾å¤ããµãã¼ããã¦ããªããå¾ã£ã¦ãCPU ä¾å¤ãã³ãã©ã®è¨­å®é¢
+æ° define_exc( )ã¯ä½ãããªãé¢æ°ã§ããã
+ä»æ©ç¨®ã¨ã®äºææ§ã®ãããCPUä¾å¤ãã³ãã©çªå·ã®ãã¼ã¿å (EXCNO) ã¯ 
+unsigned intåã«å®ç¾©ããã¦ããã
+
+
+2. 4  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+  H8Sä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.src) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡ã
+ãå¾ãã«ã¼ãã« (kernel_start) ãèµ·åããããã ãã kernel_start ããæ»ã£
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+   (1)   ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+   (2)   ãã¼ãã¦ã§ã¢ä¾å­ã®åæåå¦çã®å¼åºã
+ããããããHARDWARE_INIT_HOOKãã¯ã­ãå®ç¾©ããã¦ããã°ããã¼ãã¦ã§ã¢ä¾
+ãããããå­ã®åæåå¦çãå¼åºãããã®ã«ã¼ãã³ã¯ã«ã¼ãã«ãèµ·åããåã«ã
+ãããããã¿ã¼ã²ããä¾å­ã®ãã¼ãã¦ã§ã¢çãªåæåãè¡ãããã«ç¨æããã
+ãããããã®ã©ãã«åãHARDWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+ãããããHARDWARE_INIT_HOOKãã¯ã­ã®å®ç¾©ã¯sys_config.incã§è¡ãã®ã
+ãããããæ¨æºã¨ããã
+
+ãããããã¾ããHARDWARE_INIT_HOOKãå¼ã³åºãæç¹ã§RAMãä½¿ç¨ã§ããªãå ´å
+ãããããã«å¯¾å¿ãããããé¢æ°å¼ã³åºãã§ã¯ãªãjmpå½ä»¤ãä½¿ç¨ãã¦ããã
+ãããããå¾ã£ã¦ãHARDWARE_INIT_HOOKããæ»ã£ã¦ããã¨ããrtså½ä»¤ã§ã¯ãªãã
+ãããããjmpå½ä»¤ãç¨ããããã®éã®æ»ãå
+çªå°ã®ã©ãã«ã¯_clear_b_section
+ãããããã§ããã
+
+   (3)   Bã»ã¯ã·ã§ã³ã®åæå
+           Bã»ã¯ã·ã§ã³ã®å
+¨é åã 0 ã¯ãªã¢ããã
+
+   (4)   Dã»ã¯ã·ã§ã³ã®åæå
+           Dã»ã¯ã·ã§ã³ãå¤é¨ RAM ã«è»¢éããã
+
+   (5)   ã½ããã¦ã§ã¢ç°å¢ä¾å­ã®åæåå¦çã®å¼åºã
+ããããããSOFTWARE_INIT_HOOKãã¯ã­ãå®ç¾©ããã¦ããã°ãã½ããã¦ã§ã¢ç°
+ãããããå¢ä¾å­ã®åæåå¦çãå¼åºãããã®é¢æ°ã¯ã«ã¼ãã«ãèµ·åããåã«ã
+ãããããã½ããã¦ã§ã¢ç°å¢(ã©ã¤ãã©ãªç­)ä¾å­ã®åæåãè¡ãããã«ç¨æã
+ãããããããä¾ãã°ãã©ã¤ãã©ãªã®åæè¨­å®ãªã©ã§ããã
+ããããããã®é¢æ°åãSOFTWARE_INIT_HOOKãã¯ã­ã¨ãã¦å®ç¾©ããã
+ãããããSOFTWARE_INIT_HOOKãã¯ã­ã®å®ç¾©ã¯sys_config.incã§è¡ãã®ã
+ãããããæ¨æºã¨ããã
+
+2. 5  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
+
+  H8Sã§ã¯å²è¾¼ã¿åä»æã«ãã¼ãã¦ã§ã¢ã«ãã£ã¦å²è¾¼ã¿ãã¹ã¯ã®è¨­å®ãè¡ãã
+ããå²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªãããã®ãããå²è¾¼ã¿ã®å
+¥å£å¦çï¼ã«ã¼ãã«ï¼ã§
+å²è¾¼ã¿ç¦æ­¢æä½ãè¡ããããã®åã«å¤éå²è¾¼ã¿ãå
+¥ãå¯è½æ§ãããã
+  
+  ãå²è¾¼ã¿ã®å
+¥å£å¦çã§å²è¾¼ã¿ç¦æ­¢åã«ã¿ã¹ã¯ã¹ã¿ãã¯ã«ç©ã¾ããå
+å®¹
+  ããã»æ»ãçªå°
+  ããã»CCRã¬ã¸ã¹ã¿
+  ããã»EXRã¬ã¸ã¹ã¿ï¼ï¼ãªã¶ã¼ãé å1ãã¤ãï¼
+  ããã»er0ãer3
+  ããããè¨ã22ãã¤ã
+  ãããã
+ã¾ããå²è¾¼ã¿ã®åºå£å¦çã§ã¿ã¹ã¯ã¹ã¤ããããå ´åã¯er4ããer6ã®12ãã¤ãã
+ã¿ã¹ã¯ã¹ã¿ãã¯ã«ç©ã¾ããã
+ï¼ãã®å¾ãå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããéã«ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åãã
+ãå ´åã¯ããã«ã¿ã¹ã¯ã¹ã¿ãã¯ã®é åãå¿
+è¦ã«ãªããï¼
+
+MAX_IPMã7ã«è¨­å®ããå ´åãæé«ï¼ã¤ã®å²è¾¼ã¿ããã¹ãããããã®ãã¹ã¦ãä¸
+è¨ã®å²è¾¼ã¿ç¦æ­¢åã«åãä»ããããå ´åãï¼ã¤ç®ä»¥éã®å²è¾¼ã¿ãã¹ã¿ãã¯åã
+æ¿ãåã®ã¿ã¹ã¯ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãéé¿ãããããã®ã¨ãã®ã¿ã¹ã¯ã¹ã¿ãã¯
+ã®æ¶è²»éã¯
+ã
+ã22ãã¤ãÃ7ã¬ãã«ãï¼ã12ãã¤ããï¼ã116ãã¤ã
+
+ã¨ãªãã
+  ãã
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3. 1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼åºãå¨æã¯ã user_config.hå
+
+ã®TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ããããã£ãã©ã«ãã¯ 1[ms] å¨æã§ã
+ãã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼åºãå¨æãå¤æ´ã§ããã ãã ãã
+ã¿ã¤ãç²¾åº¦ã®åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããã¨ã isig_tim ã®å¼åºãå¨æã«èª¤
+å·®ãçºçããã
+
+ãMiNET-H8S/2339Fã
+ã¿ã¤ãã«ä¾çµ¦ããã¦ããã¯ã­ãã¯å¨æ³¢æ°ã¯6144[kHz]ã§ãã
+ï¼ã¯ã­ãã¯24.576[MHz]ã®4åå¨ï¼ãã¿ã¤ãç²¾åº¦ã¯
+ã(1,000,000/6144)[nsec]ï¼ç´0.163[Î¼sec]
+ã§ããã
+ãã£ãã©ã«ãã®ã¯ã­ãã¯ããã¤ã¹ã¨ãã¦ãH8S/2339Fã§ã¯TPU(16bitã¿ã¤ã)ã
+ä½¿ç¨ãã¦ããã
+
+
+3. 2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+  H8Sã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ããµãã¼ããã¦ã
+ãã
+
+ãCè¨èªAPIã
+ããER vxget_tim(SYSUTIM *p_sysutim);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	SYSUTIM sysutimï¼ãªã»ããããã®çµéæéï¼Î¼secåä½ï¼
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTXï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºãã
+
+ãæ©è½ã
+ãªã»ããããã®çµéæéãÎ¼secåä½ã§è¨æ¸¬ããå®è¡æ§è½ã®è¨æ¸¬æ©è½ãæä¾ã
+ããSYSUTIMåã¯ UWå(32 ãããç¬¦å·ãªãæ´æ°å)ã§ãããããÎ¼secåä½ã§æ
+ç®ããã¨ãªã»ããããç´71åéæ¯ã«ãªã¼ãã¼ãã­ã¼ãã¦ãã¼ã­ã«æ»ãã2ç¹é
+ã®å®è¡æéãè¨æ¸¬ããã¨ãã«ãã®ãªã¼ãã¼ãã­ã¼ãçºçãã¦ããªããæ³¨æãå¿
+
+è¦ã§ããã
+
+ãMiNET-H8S/2339Fã
+ã¿ã¤ãèªä½ã®ç²¾åº¦ã¯ç´0.163[Î¼sec]ã§ããã1Î¼secåä½ã¾ã§æå¹ã§ããã
+
+3. 3  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+  H8S/2339Fã«ã¯ SCI0ãSCI2 ã® 3 æ¬ã®ã·ãªã¢ã«ãã¼ããããã
+user_config.h ã«å®ç¾©ãã¦ãã TNUM_PORT ã«ããä½æ¬ä½¿ç¨ãããæå®ã§ããã
+ç¾å¨ã®å®è£
+ã§ã¯ 3æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯ SCI1
+ãä½¿ç¨ãã¦ããã
+ã·ãªã¢ã«ã®ãã¼ãçªå·ã¨ããã¤ã¹çªå·ã®å¯¾å¿ã¯ä»¥ä¸ã®éãã§ããã
+ãã»ãã¼ã1ï¼SCI0
+ãã»ãã¼ã2ï¼SCI1
+ãã»ãã¼ã3ï¼SCI2
+
+
+æ³¨æï¼
+ãMiNET-H8S/2339Fã§ã¯ãSCI0ãH-UDIãããã°ãã¼ãã¨ç«¶åãã¦ãããSCI0ã®
+ã³ãã¯ã¿ãå®è£
+ããã¦ããªãç­ã®çç±ã«ãããSCI0ã®åä½ç¢ºèªã¯ãã¦ããªãã
+
+3. 4  ã¡ã¢ãªããã
+
+3. 4. 1  MiNET-H8S/2339Fã®ã¡ã¢ãªããã
+
+  (1) ãããã°ã¢ã¼ãï¼JTAGãããã°ä½¿ç¨æï¼
+  ãã¢ã¼ã4
+  ãå
+èµROMç¡å¹ã¢ã¼ã
+  ãå¤é¨RAMãCS0ç©ºéã«é
+ç½®
+  ãå¤é¨ãã¹å¹
+ï¼16ããã
+
+         0x00,0000 - 0x00,ffff  å¤é¨RAM 1MB
+         ããããããããããããããã¯ã¿ãã¼ãã«ãP,C,Dã»ã¯ã·ã§ã³
+         ãããããããããããããR(D),Bã»ã¯ã·ã§ã³
+         0xff,7c00 - 0xff,fbff  å
+èµRAM 32KB
+         ãããããããããããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã¨ãªã¢
+
+ãããããã°ã¢ã¼ãã§ã¯ããã­ã°ã©ã ãRAMä¸ã«ãã¦ã³ã­ã¼ããã¦å®è¡ããã
+ããã¨ãæ³å®ãã¦ããããã®ããããã¦ã³ã­ã¼ãåã«ãããã°ãã¼ã«ãç¨ãã¦
+ãããã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®åæåãè¡ãå¿
+è¦ãããã
+ãããã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®è¨­å®ä¾ã«ã¤ãã¦ã¯ãã¼ãä»å±ã®ããã¥ã¢ã«
+ããp10 ã4.4 ã¬ã¸ã¹ã¿è¨­å®ä¾ããsys_support.srcãåç
+§
+
+
+  (2) ãªãªã¼ã¹ã¢ã¼ãï¼ROMåï¼
+  ãã¢ã¼ã6
+  ãå
+èµROMæå¹ã¢ã¼ã
+  ãå¤é¨RAMãCS1ç©ºéã«é
+ç½®
+  ãå¤é¨ãã¹å¹
+ï¼16ããã
+
+         0x00,0000 - 0x03,ffff  å
+èµROM 384kB
+                                è¨­å®ã«ãã£ã¦ã¯0x06,ffffã¾ã§ä½¿ç¨ã§ããã
+         ããããããããããããããã¯ã¿ãã¼ãã«ãP,C,Dã»ã¯ã·ã§ã³
+         0x20,0000 - 0x2f,ffff  å¤é¨RAM 1MB
+         ãããããããããããããR(D),Bã»ã¯ã·ã§ã³
+         0xff,7c00 - 0xff,fbff  å
+èµRAM 32KB
+         ãããããããããããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã¨ãªã¢
+
+
+4.  ãµã³ãã«ãã­ã°ã©ã ã®å®è¡æé 
+
+4. 1  éçºç°å¢
+
+  éçºç°å¢ã¯ãWindows 2000ä¸ã§ã(æ ª)ã«ããµã¹ ã½ãªã¥ã¼ã·ã§ã³ãºè£½ã®éçº
+ç°å¢ãç¨ããã
+ãæ¬éçºã«ç¨ãããã¼ã«ã®ãã¼ã¸ã§ã³ãä»¥ä¸ã«ç¤ºãã 
+
+   ã»ã³ã³ãã¤ã©ãã¢ã»ã³ãã©ãæé©åãªã³ã±ã¼ã¸ã¨ãã£ã¿
+   ããåçªï¼R0C40008XSW06R
+   ãããã¼ã¸ã§ã³ï¼V.6.1.2
+   ã»çµ±åéçºç°å¢ HEW4.02.00.022
+
+ã¾ããä»ã«ãä¸è¨ã®ãã¼ã«ãå¿
+è¦ã«ãªãã
+   ã»MinGW
+       ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ããã«ãããããã«å¿
+è¦ã¨ãªãã
+       éå¸¸ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
+       å©ç¨ããã°ããï¼
+       MinGW (Minimalist GNU for Windows)
+       http://www.mingw.org/
+       http://sourceforge.net/projects/mingw/  (ã¤ã³ã¹ãã¼ã©ã®å
+¥æå
+)
+
+   ã»Windowsã®ã³ãã³ãã»ãã­ã³ããã§åä½ããPerl
+   ããä¸è¨ã®4.3 (1)ã®ä½æ¥­ã§ä½¿ç¨ããã
+   ããActive Perl v5.8.8
+       ãé
+å¸å
+ãhttp://www.ActiveState.com
+
+4. 2  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã«ã
+
+user.txt ãåç
+§ã®ãã¨ã
+
+4. 3  ãµã³ãã«ãã­ã°ã©ã ã®ãã«ã
+(1) ç°å¢è¨­å®
+ãPerlã®ã¤ã³ã¿ããªã¿ã¸ã®ãã¹è¨­å®ãè¡ãã
+
+(2) HEWä¸ã§ã®ãã«ã
+
+ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã¡ã¤ã«ãéã
+ãjsp/tools/H8S-RENESAS/H8S-RENESAS.hws
+ãã¯ã¼ã¯ã¹ãã¼ã¹ä½ææã¨ãã£ã¬ã¯ããªãç°ãªãæ¨ã®è­¦åãåºããç¡è¦ããã
+ã
+ãâ» ãã¼ã«ãã§ã¼ã³ã®ãã¼ã¸ã§ã³ãç°ãªãæ¨ã®è­¦åãåºãå ´å
+ãããä¸è¨ã®ãã¼ã¸ã§ã³ããå¤ããã¼ã«ãã§ã¼ã³ã§ã®åä½ã¯æªç¢ºèªã§ããã
+
+ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ã«ã¯4ã¤ã®ãã­ã¸ã§ã¯ããç»é²ããã¦ããã
+ãã»offsetï¼TCBæ§é ä½å
+ã®ãªãã»ãããæ±ããã
+ããããããã«ã¼ãã«ã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼ããã
+ãã»libkernelï¼ã«ã¼ãã«ã»ã©ã¤ãã©ãªã®ãã«ããè¡ãã
+ãã»configurationï¼ã«ã¼ãã«ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ããã¯ã¿ãã¼ãã«ã®
+ããããããããããèªåçæãè¡ãã
+ãã»sampleï¼ãµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ãã
+
+ãã­ã¸ã§ã¯ãã®ä¾å­é¢ä¿ã®ãããä»¥ä¸ã®é çªã§ãã«ãããã
+ãï¼ï¼libkernelãã­ã¸ã§ã¯ããã¢ã¯ãã£ããã­ã¸ã§ã¯ãã«è¨­å®ãã
+ãï¼ï¼libkernelãã­ã¸ã§ã¯ãããã«ããã
+ãï¼ï¼sampleãã­ã¸ã§ã¯ããã¢ã¯ãã£ããã­ã¸ã§ã¯ãã«è¨­å®ãã
+ãï¼ï¼sampleãã­ã¸ã§ã¯ãããã«ããã
+
+æé 1ã¨2ã¯æåã®1åã®ã¿ã§ãããã¢ããªã±ã¼ã·ã§ã³é¨åã®ã¿ã½ã¼
+ã¹ã³ã¼ããå¤æ´ããå ´åã¯ãªãã«ãããå¿
+è¦ã¯ãªãã
+configurationãã­ã¸ã§ã¯ãã¨offsetãã­ã¸ã§ã¯ãã¯ä¾å­ãã­ã¸ã§
+ã¯ãã¨ãã¦èªåçã«ãã«ããããã
+
+sampleãã­ã¸ã§ã¯ãã®ãã«ããæåããã¨ã
+ãã»å®è¡ãã¡ã¤ã«ãsample1.abs
+ãã»Sã¬ã³ã¼ããã¡ã¤ã«ãsample1.mot
+ãçæãããããè¨­å®ãã¦ããã
+
+æ³¨æï¼
+ãlibkernelã®ãã«ãããå
+ã«offsetãã­ã¸ã§ã¯ãããã«ãããå¿
+è¦ããããã
+ãã­ã¸ã§ã¯ãéã®ä¾å­é¢ä¿ãè¨­å®ãã¦ãsampleãã­ã¸ã§ã¯ããèµ·ç¹ã¨ããå ´å
+ï¼ä¾å­é¢ä¿ããã¹ããã¦ããå ´åï¼ã¯æ­£ããé åºã§å®è¡ãããªãã®ã§ãæåã§
+libkernelãã­ã¸ã§ã¯ããäºããã«ããã¦ããã
+
+
+(3) ã¿ã¼ã²ããã»ãã¼ãã®ãã¦ã³ã­ã¼ã
+
+ãã¼ãããããã°ãã¼ã«ã®ããã¥ã¢ã«ãåç
+§ã
+
+
+5.  ãã¡ã¤ã«æ§æ
+
+5. 1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+   (1)   config/h8s-renesas/
+
+            cpu_config.c     H8Sãã­ã»ããµä¾å­é¨ã®Cé¢æ°
+            cpu_config.h     H8Sãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+            cpu_config.incã ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            cpu_context.h    H8Sãã­ã»ããµä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+            cpu_defs.h       H8Sãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+            cpu_insn.h       H8Sãã­ã»ããµã®ç¹æ®å½ä»¤ã®é¢æ°å®ç¾©
+            cpu_support.src  H8Sãã­ã»ããµã®ã¢ã»ã³ããªé¢æ°
+            cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
+            ãããããããã å®ç¾©ãªã¹ã
+            cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            cpu_rename.inc ãä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            h8s.h            H8Sãã­ã»ããµã®å
+±éå®ç¾©
+            h8s2339f.h       H8S/2339Fãã­ã»ããµã®å®ç¾©
+            h8s2339f.inc     ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            h8s_sil.h    ããH8Så
+é¨ã¬ã¸ã¹ã¿ã¢ã¯ã»ã¹ã«ã¼ãã³
+            h8s_sil.h    ããDDRã¬ã¸ã¹ã¿ã¢ã¯ã»ã¹ã«ã¼ãã³
+            start.src        ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+            tool_config.h    H8Sãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+            tool_defs.h      H8Sãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+
+            makeoffset.c     offset.incçæãµãã¼ãç¨ã½ã¼ã¹ãã¡ã¤ã«
+            vector_header.src å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®ãããã¼é¨å
+            
+            util.h       ãããããçªå·ãªã©ã®å®ç¾©
+            util.inc ãã    ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+
+            hw_serial.cfg    SCIã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+            hw_serial.h      SCIã®æ§æå®ç¾©
+            hw_serial.c      SCIã®é¢æ°å®ç¾©
+            h8s_sci.hããããã·ãªã¢ã«ãã©ã¤ãï¼PDICï¼
+            h8s_sci.cããããã·ãªã¢ã«ãã©ã¤ãã®é¢æ°å®ç¾©
+            
+            hw_timer.h       TPUã®æ§æå®ç¾©
+            h8s_tpu.hããããã¿ã¤ããã©ã¤ãï¼PDICï¼
+
+   (2)   config/h8s-renesas/minet_h8s_2339f/
+           (æ ª)ãã¹ã MiNET-H8S/2339Fãã¼ãã®ä¾å­é¨å
+
+            minet_h8s_2339f.hãMiNET-H8S/2339Fãã¼ãä¾å­ã®å®ç¾©
+            sys_config.c     MiNET-H8S/2339Fãã¼ãä¾å­é¨ã®Cé¢æ°
+            sys_config.h     MiNET-H8S/2339Fãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+            sys_config.incã ä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+            sys_defs.h       MiNET-H8S/2339Fãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼
+            ãããããããã ã·ã§ã³ç¨å®ç¾©
+            sys_support.src  MiNET-H8S/2339Fãã¼ãä¾å­é¨ã®ã¢ã»ã³ããªé¢æ°
+            sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
+            ãããããããã å®ç¾©ãªã¹ã
+            sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+            sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+            sys_tool_defs.hããããã°ç°å¢ä¾å­ã®å®ç¾©
+            
+            ä»¥ä¸ã¯ãã¦ã¼ã¶ã¼ãç·¨éããå¿
+è¦ããããã¡ã¤ã«
+            user_config.hããã¦ã¼ã¶ã¼ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æ
+å ±ã®å®ç¾©
+            user_config.incãä¸è¨ã®ã¢ã»ã³ãã©ç¨å®ç¾©
+
+   (3)   utils/
+   ãããããã«ãã«å¿
+è¦ãªã¦ã¼ãã£ãªãã£ç¾¤
+
+          ãh8/ ãããã gccçã¨å
+±éã®ã¹ã¯ãªãã
+            ãgrep_def_inh.plã Perlã¹ã¯ãªããçæç¨ãã£ã«ã¿
+           
+          ãh8-renesas/ãH8Cä¾å­ã®ã¹ã¯ãªããï¼H8ãã­ã»ããµã¨å
+±éï¼
+            ãcopy_kernel_source.bat
+            ããããããããã ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼
+            ããããããããã ããããããã¡ã¤ã«
+
+            ãgenoffsetããããTCBæ§é ä½å
+ã®ãªãã»ãããç®åºãã
+            ããããããããã perlã¹ã¯ãªãã
+
+            ãgenvector.plãã ãã¯ã¿ãã¼ãã«çæç¨ã¹ã¯ãªãã
+
+          ãh8s-renesas/ãH8Cä¾å­ã®ã¹ã¯ãªãã
+            ãgen_intentry.plãå²è¾¼ã¿å
+¥å£å¦ççæç¨ã¹ã¯ãªãã
+
+   (4)   tools/H8S-RENESAS/
+           HEW4.0ç¨ã®ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã£ã¬ã¯ããª
+           ã(æ ª)ãã¹ã MiNET-H8S/2339F
+
+            readme.txt
+            ããã«ãæé ãç¤ºããreadmeãã¡ã¤ã«
+            H8S-RENESAS.hws
+            ãã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã¡ã¤ã«
+            sample1.cfg
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+            ããã¡ã¤ã«
+            sample1.c
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®Cè¨èªã½ã¼ã¹ã»ãã¡ã¤ã«
+            sample1.h
+            ããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¯ã«ã¼ãã»ãã¡ã¤ã«
+
+   (5)   tools/H8S-RENESAS/offset/
+   ããããä»¥ä¸ã®å¦çãè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããããã»TCBæ§é ä½å
+ã®ãªãã»ããç®åº
+   ãããããã»ã«ã¼ãã«ã»ã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼
+   ãããã
+           call_copy_kernel_source.bat
+           ããcopy_kernel_source.batãå¼ã³åºãããã®ããããã¡ã¤ã«
+
+           call_genoffset.bat
+           ããgenoffsetã¹ã¯ãªãããå¼ã³åºãããã®ããããã¡ã¤ã«
+
+  ãããã Debug/     ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããoffset.incããTCBæ§é ä½å
+ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+
+  ãããã Release/   ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããoffset.incããTCBæ§é ä½å
+ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+
+   (6)   tools/H8S-RENESAS/libkernel/
+   ããããã«ã¼ãã«ã»ã©ã¤ãã©ãªã®ãã«ããè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+
+   ããããkernel_source/ãã ä¸­éãã¡ã¤ã«ãæ ¼ç´ãããã£ã¬ã¯ããª
+
+   (7)   tools/H8S-RENESAS/configuration
+   ããããã«ã¼ãã«ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãè¡ããã­ã¸ã§ã¯ã
+   ãããããã£ã¬ã¯ããª
+   ãããã
+           call_configuration.bat
+           ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¼ã³åºãããã®ããããã¡ã¤ã«
+
+  ãããã Debug/     ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããkernel_id.hããã   IDèªåå²ä»ãã®å®ç¾©ãã¡ã¤ã«
+   ããããããdebug_kernel_cfg.c  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®åºåçµæ
+   ããããããdebug_vector.src    èªåçæãããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+
+  ãããã Release/   ãããã°ç¨ãã«ããã£ã¬ã¯ããª
+   ããããããkernel_id.hããã   IDèªåå²ä»ãã®å®ç¾©ãã¡ã¤ã«
+   ããããããrelase_kernel_cfg.c ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®åºåçµæ
+   ããããããrelease_vector.src  èªåçæãããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+
+   (8)   tools/H8S-RENESAS/sample
+   ãããããµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ããè¡ããã­ã¸ã§ã¯ãã»ãã£ã¬ã¯ããª
+   ãããã
+
+6. ã¢ããªã±ã¼ã·ã§ã³éçºè
+åãã®æ
+å ±
+
+ã¢ããªã±ã¼ã·ã§ã³éçºè
+ã«æçã¨æãããæ
+å ±ã«ã¤ãã¦è¿°ã¹ãã
+
+6.1 ã«ã¼ãã«ã®è¨­å®å¤æ´æ¹æ³
+
+H8Sä¾å­é¨ã§ã¯ãæ§ã
+ãªè¨­å®å¤æ´ãå®¹æã«ã§ãããããè¨­å®ç®æããä»¥ä¸ã®ï¼ã¤
+ã®ãã¡ã¤ã«ã«ã¾ã¨ãã¦ããã
+ãã»user_config.hããCè¨èªåãè¨­å®ãã¡ã¤ã«
+ãã»user_config.incãã¢ã»ã³ãã©è¨èªç¨è¨­å®ãã¡ã¤ã«
+
+ã¦ã¼ã¶ã¼ã¯ãã®ï¼ã¤ã®ãã¡ã¤ã«å
+ã®ãã¯ã­å®ç¾©ãå¤æ´ããã ãã§ãã«ã¼ãã«ã®
+ã½ã¼ã¹ãã¡ã¤ã«ãèª­ã¾ãªãã¦ãããç¨åº¦ã¾ã§ã«ã¼ãã«ã®è¨­å®ãå¤æ´ã§ããã
+è¨­å®é 
+ç®ã«ãã£ã¦ã¯Cè¨èªç¨ã¨ã¢ã»ã³ãã©è¨èªç¨ã®ä¸¡æ¹ã®å®ç¾©ãå¿
+è¦ã«ãªãã®
+ã§æ³¨æã
+
+ä»¥ä¸ãè¨­å®ãã¡ã¤ã«å
+ã®åãã¯ã­ã®æå³ãè¿°ã¹ãã
+
+ã»å
+¨è¬çãªè¨­å®é 
+ç®
+
+(1) SUPPORT_CHG_IPM
+chg_ipmããµãã¼ããããã©ããã®å®ç¾©
+è¨­å®ãã¡ã¤ã«ï¼user_config.hãuser_config.inc
+
+(2) SUPPORT_VXGET_TIM
+vxget_timããµãã¼ããããã©ããã®å®ç¾©
+ãã®è¨­å®ãå¤æ´ããå ´åã¯ããã¡ã¤ã«åå²ãååº¦è¡ãå¿
+è¦ãããã
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(3) STACKTOP
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
+è¨­å®ãã¡ã¤ã«ï¼user_config.inc
+
+(4) MAX_IPM
+ã«ã¼ãã«ãç®¡çããå²è¾¼ã¿ã®æé«åªå
+ã¬ãã«
+ããã«ã¼ãã«ç®¡çä¸ã®å²è¾¼ã¿ ï¼ å²è¾¼ã¿ã¬ãã«ãMAX_IPM ä»¥ä¸ã®å²è¾¼ã¿
+ããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ ï¼ ãã©ã¤ãªãªãã£ã¬ãã«(MAX_IPM+1)
+ãããããããããããããããä»¥ä¸ã®å²è¾¼ã¿ã¨NMI
+
+è¨­å®ãã¡ã¤ã«ï¼user_config.h, user_config.inc
+
+
+ã»ã·ãªã¢ã«ãã¼ãé¢é£ã®è¨­å®é 
+ç®
+
+(1) TNUM_PORTãTNUM_SIOP
+ãµãã¼ãããã·ãªã¢ã«ããã¤ã¹ã®æ°ï¼æå¤§ 3ï¼
+  TNUM_PORT : ã·ãªã¢ã«ãã©ã¤ãï¼serial.cï¼ãã¤ã¾ã GDICã¬ãã«ã§ãµãã¼ã
+  ããããããããã·ãªã¢ã«ãã¼ãã®æ° 
+  TNUM_SIOP : PDICã¬ãã«ï¼ãã­ã»ããµå
+èµSIOï¼ã§ãµãã¼ãããã·ãªã¢ã«I/O
+ ãããããã ãã¼ãã®æ°ï¼ç¾å¨ã®å®è£
+ã§ã¯æå¤§3ï¼
+
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+ä»¥ä¸ããã¼ã2ã®è¨­å®ã¯TNUM_PORTã2ã«è¨­å®ããå ´åã®ã¿æå¹ã§ããã
+ï¼åæ§ã«ãã¼ã3ã®è¨­å®ã¯TNUM_PORTã3ã«è¨­å®ããå ´åã®ã¿æå¹ã§ãããï¼
+(2) BAUD_RATE0ãBAUD_RATE1ãBAUD_RATE2
+SCI0, SCI1, SCI2ã®ãã¼ã¬ã¼ã [bps]
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(3) SCI0_INT_LVLãSCI1_INT_LVLãSCI2_INT_LVL
+SCI0, SCI1, SCI2ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(4) LOGTASK_PORTID
+ã·ã¹ãã ã­ã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(5) POL_PORTID
+ä½ã¬ãã«åºåï¼ãã¼ãªã³ã°åºåï¼ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(6) OMIT_SCI0
+ãã®ãã¯ã­ãå®ç¾©ãããã¨ã·ãªã¢ã«ãã©ã¤ãããSCI0ãçç¥ãããã
+MiNET-H8S/2339Fä¾å­é¨ã§ã¯ããã©ã«ãã§ãã®ãã¯ã­ãå®ç¾©ãã¦ããã
+è¨­å®ãã¡ã¤ã«ï¼sys_tool_defs.h
+
+
+ã»ã¿ã¤ãé¢é£ã®è¨­å®é 
+ç®
+
+(1) TIC_NUMEãTIC_DENO
+ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ãåæ¯
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+(2) TPU0_INT_LVL
+ã¿ã¤ãå²è¾¼ã¿TPU0ã®ãã©ã¤ãªãªãã£ã»ã¬ãã«
+è¨­å®ãã¡ã¤ã«ï¼user_config.h
+
+ã»å®è¡ç°å¢ã«é¢ããå®ç¾©
+
+ãä»¥ä¸ã®ãã¯ã­ã¯éçºç°å¢ã®ã¢ã»ã³ãã©ã»ãªãã·ã§ã³ã¨ãã¦å®ç¾©ããã®ã
+ãæ¨æºã¨ããã
+ãï¼ãããã°ãã«ãã¨ãªãªã¼ã¹ãã«ãã§åãæ¿ãããï¼
+
+(1) RAM
+ãããã°ç°å¢ã§ãã­ã°ã©ã ãRAMä¸ã«ãã¦ã³ã­ã¼ãããããå¦ãã®å®ç¾©
+ãã®ãã¯ã­ãå®ç¾©ããã¦ããå ´åã¯ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ãã¹ã¹ãã¼ãã³
+ã³ãã­ã¼ã©ã®åæåãã¹ã­ããããã
+
+(2) USE_DEBUGGER
+ãã®ãã¯ã­ãå®ç¾©ããã¦ããå ´åã¯ãããã¬ä¸ã§å®è¡ãããã¨ãæå³ããexr
+ã®Tããããèæ
+®ããã
+
+
+6.2 ã¢ããªã±ã¼ã·ã§ã³åãã«æä¾ãããæ©è½
+
+H8Sä¾å­é¨ã§ã¯ã¢ããªã±ã¼ã·ã§ã³ãéçºãããããããããä»¥ä¸ã®æ©è½ãæä¾ã
+ã¦ããã
+
+6.2.1ãå¾®å°æéå¾
+ã¡
+
+æ©ç¨®éä¾å­é¨ã®sil.hã§ãã­ãã¿ã¤ãå®£è¨ãã¦ããsil_dly_nseé¢æ°ã¯å¼æ°ã
+UINTåã§ãããintåã2ãã¤ãã§ãããã®å¦çç³»ã§ã¯ç´65Î¼secã¾ã§ããè¡¨ç¾
+ã§ããªããããããé·ãæéå¾
+ã¡ãè¡ããããå¼æ°ãUWåã«å¤æ´ããå¥é¢æ°
+sil_dly_nse_longãç¨æãã¦ãããã©ã¡ããnsecåä½ã§å¾
+ã¡æéãæå®ããã
+t_services.hãs_services.hãã¤ã³ã¯ã«ã¼ããããã¨ã«ããï¼cpu_defs.hãä»
+ãã¦ï¼å©ç¨ã§ããã
+
+ãCè¨èªAPIã
+ããvoid sil_dly_nse_long(UW dlytim);
+
+ããã©ã¡ã¼ã¿ã
+	UW dlytimããã å¾
+ã¡æé[nsec]
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+ã½ããã¦ã§ã¢ã»ã«ã¼ãã«ããæéå¾
+ã¡ãè¡ãã
+åæ§ã®æ©è½ãæä¾ããsil_dly_nseé¢æ°ã¯æå¤§ç´65Î¼secã¾ã§å¾
+ã¡æéãæå®ã§
+ããã®ã«å¯¾ãã¦ãsil_dly_nse_longé¢æ°ã¯ç´4.3secã¾ã§æå®ã§ããã
+
+6.2.2ãI/Oãã¼ãã®DDRã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹è£å©æ©è½
+
+H8Sã®I/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããã
+ãã®ã¾ã¾ã§ã¯ææã®ãããã ããå¤æ´ãããã¨ãã§ããªãã
+ï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
+ã¾ããã«ã¼ãã«ã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ãããã¤ãã®DDRã¬ã¸ã¹ã¿ã«å¯¾ã
+ã¦è¨­å®ãè¡ã£ã¦ããããããã®ã¾ã¾ã§ã¯ã«ã¼ãã«ã¨ã¢ããªã±ã¼ã·ã§ã³ã®éã§æ´
+åæ§ãä¿ã¤ãã¨ãã§ããªãã
+ãã®ãããæ¬å®è£
+ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®ç¾å¨å¤ãä¿
+æããæ¹æ³ãæ¡ã£ã¦ããããã¼ãçªå·ã¯IO_PORT_IDåã«typedefããã¦ããã
+IO_PORT1ãIO_PORTGã®ã®ãããããæå®ãããï¼ãã¼ã4ã¯å
+¥åå°ç¨ã®ããã
+DDRã¬ã¸ã¹ã¿ããªãã®ã§æ¬ çªã¨ãã¦ãããï¼ãã¼ãçªå·ã¨ãã¦ããããä»¥å¤ã®
+å¤ãæå®ããå ´åã¯assertæã§ã¨ã©ã¼ã¨ãªãã
+
+(1) sil_reb_ddrããDDRã¬ã¸ã¹ã¿ã®èª­ã¿åºã
+
+ãCè¨èªAPIã
+ããUB sil_reb_ddr(IO_PORT_ID port);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT_ID portãããããã¼ãçªå·
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	DDRã¬ã¸ã¹ã¿ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã®å¤ãèª­ã¿åºãã
+
+(2) sil_wrb_ddrããDDRã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿
+
+ãCè¨èªAPIã
+ããvoid sil_wrb_ddr(IO_PORT_ID port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT_ID portããããã¼ãçªå·
+	UB dataãããã      æ¸ãè¾¼ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¤dataãæ¸ãè¾¼ãã
+
+(3) sil_anb_ddrããDDRã¬ã¸ã¹ã¿ã®ANDæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_anb_ddr(IO_PORT_ID port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT_ID portããããã¼ãçªå·
+	UB dataãããã      ANDæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ANDæ¼ç®ã
+è¡ãã
+
+(4) sil_orb_ddrããDDRã¬ã¸ã¹ã¿ã®ORæ¼ç®
+
+ãCè¨èªAPIã
+ããvoid sil_orb_ddr(IO_PORT_ID port, UB data);
+
+ããã©ã¡ã¼ã¿ã
+	IO_PORT_ID portããããã¼ãçªå·
+	UB dataãããã      ANDæ¼ç®ãè¡ãå¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	ãªã
+
+ãæ©è½ã
+
+portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ORæ¼ç®ã
+è¡ãã
+
+
+7. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±
+
+ãH8Sä¾å­é¨ãä»ã®ã¿ã¼ã²ããã»ãã¼ãã¸ãç§»æ¤ããéã«å¿
+è¦ãªæ
+å ±ãä»¥ä¸ã«
+è¿°ã¹ãã
+
+7.1 ãã¯ã­å®ç¾©
+
+(1) HARDWARE_INIT_HOOK
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ãããã¼ãã¦ã§ã¢ä¾å­ã®åæåå¦çãå¼ã³åºãã¨ãã¯ã
+ãã®å
+é ­ã¢ãã¬ã¹ããã¯ã­å®ç¾©ããã
+ï¼GNU ldã®PROVIDEå½ä»¤ã¨åç­ã®æ©è½ããªãããï¼
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.inc
+
+(2) SOFTWARE_INIT_HOOK
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ä¾å­ã®å¦çã
+å¼ã³åºãã¨ãã¯ããã®å
+é ­ã¢ãã¬ã¹ããã¯ã­å®ç¾©ããã
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.inc
+
+(3) SOFTWARE_TERM_HOOK
+atexit( )ããå¼ã³åºãå¦çãå¤é¨å®ç¾©ããã¦ããå ´åã¯ããã®é¢æ°åããã¯ã­
+å®ç¾©ãããatexit( )ã§ã¯
+ãã»å¤é¨å®ç¾©ãããã°ããããå¼ã³åºã
+  ã»å¤é¨å®ç¾©ããªããã°ãä½ãããªãï¼ç©ºã®å®ç¾©ï¼
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(4) H8S_BASE_ADDR
+å
+èµã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã®ä¸ä½2ãã¤ã
+å°æ¥ãCPUåä½ã¢ã¼ãããã¼ãã«ã¢ã¼ãã«ãã§ããããæ¡å¼µæ§ãæããã¦ããã
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.inc
+
+(5) SIL_DLY_TIM1, SIL_DLY_TIM2
+sil_dly_nse_longsã§ç¨ããå®æ°
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.inc
+
+(6) SYS_SYSCR
+SYSCRã®åæå¤
+å®ç¾©ãã¡ã¤ã«ï¼minet_h8s_2339f.h
+
+(7) CPU_CLOCK
+ãã­ã»ããµã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ° [Hz]
+è¨­å®ãã¡ã¤ã«ï¼minet_h8s_2339f.h
+
+(8) TIMER_CLOCK
+ã¿ã¤ãã«ä¾çµ¦ãããã¯ã­ãã¯å¨æ³¢æ°[kHz]
+è¨­å®ãã¡ã¤ã«ï¼minet_h8s_2339f.h
+
+ä»¥ä¸ã®ã·ãªã¢ã«é¢é£ã®ãã¯ã­å®ç¾©ã¯ãã¯ã­ãã¯å¨æ³¢æ°ã¨ãã¼ã¬ã¼ãããæ±ºã¾ã
+å¤ã§ãããã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ãããé è½ãããããminet_h8s_2339f.h
+ã§å®ç¾©ãã¦ããã
+ï¼user_config.hã«å
+¥ããã¨ãã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ç
+©éã«ãªããï¼
+
+(9) BRR0_RATE, BRR1_RATE
+ã·ãªã¢ã«ãã¼ãã®BRRã¬ã¸ã¹ã¿å¤
+
+(10) SCR0_CKS, SCR1_CKS
+SCRã¬ã¸ã¹ã¿ã®CKS0,CKS1ããã
+
+(12) DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã®ããã®å®æ°å®ç¾©
+
+(a) DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
+DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãä»¥ä¸ã®ãã¯ã­åP1DDRãPGDDRã§å®ç¾©ããã
+å®ç¾©ãã¡ã¤ã«ï¼sys_config.hããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«
+ãããããããh8s2xxxf.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
+
+(b) DDRã¬ã¸ã¹ã¿ã®åæå¤
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³å®è¡ç´å¾ã®DDRã¬ã¸ã¹ã¿ã®å¤ããã¯ã­å
+P1DDR0ãPGDDR0ã§å®ç¾©ããã
+å®ç¾©ãã¡ã¤ã«ï¼minet_h8s_2339f.h
+
+7.2 ãã«ãç¨ã®ã¹ã¯ãªããã«ã¤ãã¦
+
+(a) jsp/tools/H8S-RENESAS/configuration/call_configurator.bat
+
+HEWã§ã¯ãï¼ã¯ã¼ã¯ã¹ãã¼ã¹ã»ãã£ã¬ã¯ããªã®å¤ã«ããï¼å¤é¨ãã¼ã«ãç¸å¯¾ã
+ã¹æå®ã§å¼ã³åºããªãããããã®ãããªããããã¡ã¤ã«ãä»ãã¦ã
+ãã»ã³ã³ãã£ã®ã¥ã¬ã¼ã¿
+ãã»Perlã¹ã¯ãªãã
+ãå¼ã³åºãã¦ããã
+ä»¥ä¸ã®xxxã®é¨åãç§»æ¤ã®éã«å¤æ´ããå¿
+è¦ãããã
+
+ãã»ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªå
+ãããcfg.exe -s %1 -c -obj -cpu h8s -system xxx
+ãããxxxã«ã¯ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªåãå
+¥ãã
+
+ãã»ãã¯ã¿ãã¼ãã«ã®ãµã¤ãº
+ãããgenvector.pl -s xxx
+ãããxxxã«ã¯ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºãå
+¥ãã
+
+ã¾ããç°å¢ã«ãã£ã¦ã¯Perlã®ã¤ã³ã¿ããªã¿ã¸ã®ãã¹è¨­å®ãå¿
+è¦ã«ãªãå¯è½æ§ã
+ããã
+
+(b) jsp/utils/h8s-renesas/genvector.pl
+
+ãã¯ã¿ãã¼ãã«çæã®ããã®Perlã¹ã¯ãªããgenvector.plã®ä»æ§
+  -s n		ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+  		nã¯æ´æ°å®æ°ãä»®å®ãã¦ãããããä»¥å¤ã®å¼æ°ãä¸ãããã
+  		å ´åã®åä½ã¯æªå®ç¾©ã§ããã
+
+(c) vector.srcå
+ã§ç¨ãããã¦ãããã¯ã­ã®ä»æ§
+
+Cè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çãçæããããã®ãã¯ã­INTHDR_ENTRYã
+ç¨æããã¦ãããã¹ã¯ãªããgenvector.plã¯ãå¼æ°intmaskã®å¤ãintmask.inc
+å
+ã«****_intmaskã®åã§ãã¯ã­å®ç¾©ããã¦ããã¨ä»®å®ãã¦ããã
+ãã
+ããããã¢ã»ã³ãã©è¨èªã§ã®APIã
+ãããããINTHDR_ENTRY c_routine
+
+ãããããã©ã¡ã¼ã¿ã
+ãããããc_routineï¼Cè¨èªã«ã¼ãã³ã®é¢æ°å
+
+ããããå±éçµæã
+ãããããå²è¾¼ã¿ã®å
+¥å£å¦ç
+
+ããããæ©è½ã
+ãããããCè¨èªã«ã¼ãã³ã®é¢æ°åããå
+¥å£å¦çãçæããã
+
+ã»åè
+ããã¯ã¿ãã¼ãã«ã¨å
+¥å£å¦çãvector.srcã«ã¾ã¨ããçµæãã©ãã«
+_kernel_****_entryã¯ã°ã­ã¼ãã«ã«å
+¬éããå¿
+è¦ããªããªã£ããããã­ã¼ã«
+ã«ã©ãã«ã¨ãã¦ãããããã«ä¼´ãªãcpu_config.hã®INT_ENTRYãã¯ã­ã§ã¯å
+±é
+é¨ã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåããããããããã¼ã®ã©ãã«åãä½¿ç¨ãã¦ããã
+
+
+8. å¶éäºé 
+
+
+ã»ãã¹ããã·ã³ã®OS
+ãWindows9xç³»ã¯ãµãã¼ãããªãã
+
+ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã§ãã«(chkï¼ã¯å®è£
+ãã¦ããªãã
+
+ã»HEWãæä¾ããå
+é¨ã¬ã¸ã¹ã¿å®ç¾©ãã¡ã¤ã«ã«ã¯å¯¾å¿ãã¦ããªãã
+ãï¼gccçã¨ããã¤ã¹ãã©ã¤ããå
+±æããããï¼
+
+ã»64ãããæ´æ°ã¯ãµãã¼ãããªãã
+ãï¼å¦çç³»ã®å¶éäºé 
+ï¼
+
+ã»ç¸å¯¾æéã«ã¤ãã¦
+ãRELTIMåã2ãã¤ãã®ãããï¼1msecåä½ã§æç®ããã¨ï¼ç¸å¯¾æéãç´65ç§ã«
+å¶éããããRELTIMåã4ãã¤ãã«ãããå ´åã¯jsp/include/itron.hã«ãã
+RELTIMåã®å®ç¾©ãå¤æ´ããã
+
+å¤æ´åï¼typedef	UINT RELTIM;            /* ç¸å¯¾æé */
+å¤æ´å¾ï¼typedef	UW RELTIM;              /* ç¸å¯¾æé */
+
+ã»atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+ã(tool_config.hã®call_atexit())
+ãä»æ©ç¨®ã§ã¯ã«ã¼ãã«ã©ã¤ãã©ãªã®ãªãã«ããè¡ããªãã¦ãã
+software_term_hook()ã®å®ç¾©ãããã°ãèªåçã«å¼ã³åºãããããã«ãªã£ã¦ã
+ããªã£ã¦ããããh8s-renesasã§ã¯software_term_hook()ã«ç¸å½ããé¢æ°åã
+ãã¯ã­SOFTWARE_TERM_HOOKã¨ãã¦å®ç¾©ããã«ã¼ãã«ã©ã¤ãã©ãªããªãã«ããã
+å¿
+è¦ãããã
+ãè©³ããã¯ã7.1 ãã¯ã­å®ç¾©ãã®ã(3) SOFTWARE_TERM_HOOKããåç
+§ã
+
+
+9. æ³¨æäºé 
+
+
+ã»ã·ã¹ãã ã­ã°æ©è½ã«ã¤ãã¦
+intåã2ãã¤ãã®ãããã·ã¹ãã ã­ã°æ©è½(syslog, syslog_n)ã®%d, %u, %x,
+ %Xã«ããæ´æ°è¡¨ç¤ºã§ã¯2ãã¤ããã¼ã¿ããè¡¨ç¤ºã§ããªãã2ãã¤ãããå¤§ãã
+ãã¼ã¿ãè¡¨ç¤ºããå ´åã¯ã%ld, %lxãä½¿ç¨ããã
+
+
+
+å¤æ´å±¥æ­´
+
+'05/12/09 ãµãã¼ãéå§
+
+'05/12/28 Release1.4.2
+
+'07/03/xx  Release1.4.3
+ãä¿®æ­£
+ãã»ãã¯ã¿ãã¼ãã«èªåçæ
+ããã»perlã¹ã¯ãªãããgccçã¨å®å
+¨ã«å
+±éå
+ããããã»0ãã¯ã¿åé¡ã«å¯¾å¿
+ããããã»ãã¯ã¿ãµã¤ãºã®å¼æ°ãã§ãã¯ãè¿½å 
+ããã»å¦çç³»æ¯ã®æ¹è¡ã³ã¼ãã®éãã«å¯¾å¿
+ããã»DEF_INHæã®éä¸­ã§æ¹è¡ãããã¨ãã¼ã¹ã«å¤±æããåé¡ãä¿®æ­£
+ããã»filter1.plã¨filter2.plãï¼ã¤ã«ã¾ã¨ããgrep_def_inh.plã«æ¹å
+ãããï¼gccçã¨HEWçã§åå¥ã«filter2.plãç¨æããå¿
+è¦ããªããªã£ãï¼
+ããã»ç§»æ¤æ§ãèæ
+®ãã¦ãgenvector.plã®å¦çãï¼ã¤ã«åå²
+ãããããã»genvector.plï¼ãã¯ã¿ãã¼ãã«ã®çæï¼H8çã¨å
+±éåï¼
+ãããããã»gen_intentry.plï¼å²è¾¼ã¿ã®å
+¥å£å¦çï¼INTENTRYï¼ã®çæ
+ããã ã»ããã«ä¼´ãªããgrep_def_inh.plã¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå¤æ´
+ãã»ãã«ãæé 
+ãããã»ã«ã¼ãã«ã»ã©ã¤ãã©ãªãé¢æ°åä½ã«ãªã³ã¯ã§ãããããã«ãæé ãå¤æ´
+ããããããã«ãããããããã¡ã¤ã«ããã³ã³ãã¤ã©ã®å¼ã³åºããä¸è¦ã«ãªã£ãã
+ãããã»APIæ¯ã®ãã¡ã¤ã«ã³ãã¼å¦çã«ããããã¡ã¤ã«ãä½¿ç¨ããã¨
+ããããç¡ç¨ãªã¡ãã»ã¼ã¸ãå¤§éã«è¡¨ç¤ºããããããperlã§å¦çãã
+ããããããå¤æ´
+ãããã»Releaseãã«ãã§æé©åãªãã·ã§ã³ãè¨­å®ããã¦ããªãã£ããã¹ãä¿®æ­£
+ããããï¼HEWã§ãã­ã¸ã§ã¯ãã®è¿½å ãåé¤ãè¡ãã¨ãã«ããªãã·ã§ã³ã
+ããããããç ´ç®ã«ãªããåè¨­å®ãå¿ãã¦ãããï¼
+ãã»ç¹æ®ã¬ã¸ã¹ã¿ã®æä½ãå¦çç³»ç´æ­£ã®ã©ã¤ãã©ãªã«å¤æ´
+ãã»ã·ãªã¢ã«ãã©ã¤ã
+ãããã»SCI2ããµãã¼ãï¼æå¤§TNUM_PORT=3ï¼
+ãããã»POL_PORTIDãæ°è¨­
+ãã»SILã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ãæ©ç¨®ä¾å­é¨ã§å®ç¾©
+ãããã³ã³ãã¤ã©ã®è­¦åãåé¿ãããã
+ãã»DDRã¬ã¸ã¹ã¿ã»ã¢ã¯ã»ã¹ã»ã«ã¼ãã³
+ãããã»I/Oãã¼ãã®æ¬æ°TNUM_IO_PORTã®å®ç¾©å ´æãh8s23xxf.hã«ç§»å
+ãããã»TNUM_IO_PORTã®å¤ãä¿®æ­£
+ãã»ãµã³ãã«ãã­ã°ã©ã 
+ãããã»'Z'ã³ãã³ã
+ãããããç´æ¥kernel_exit()ãå¼ãã§ããã­ã°ã©ã çµäº
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/h8s.txt	(revision 26)
@@ -0,0 +1,678 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    		       ï¼H8S ã¿ã¼ã²ããä¾å­é¨ï¼
+
+	    ï¼Release 1.4.1 å¯¾å¿ï¼æçµæ´æ°: 18-OCT-2004ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
+                    Tomakomai National College of Technology, JAPAN
+ Copyright (C) 2001-2004 by Industrial Technology Institute,
+                             Miyagi Prefectural Government, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+     ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+     ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+     ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+     ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+   (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+       ãã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+------------------------------------------------------------------------
+
+ï¼ï¼H8Sã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+H8Sãã¡ããªã¼ã®ãã­ã»ããµããµãã¼ããã¦ãããH8Sãã¡ããªã¼ã¯ãå
+èµã¤ã³ã¿
+ãã§ã¼ã¹ãªã©ã®éããªã©ã«ãããæ§ã
+ãªãã­ã»ããµãããããããå
+¨ã¦ã«ãå¯¾å¿
+å¯è½ãªããã«è¨­è¨ãè¡ã£ãã
+
+ä»åã®å®è£
+ã«ããã¦ãµãã¼ãã¨ããã¿ã¼ã²ãããã¼ãã¯ãä»¥ä¸ã§ããã
+
+      ã»æ ªå¼ä¼ç¤¾ãã¹ãè£½ H8S/2350 è©ä¾¡ãã¼ã (H8S/2350æ­è¼)
+
+éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
+ãã¯ coff ãæ¨æºã¨ããã
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+H8Sã¿ã¼ã²ããä¾å­é¨ã«ããæ©è½ã¨ãã¦ã¯ã
+      ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ipmãget_ipm)
+      ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)
+ããµãã¼ããã¦ãããã¾ãã
+      ã»å²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)
+ã¯ãµãã¼ããã¦ããªãã(2.2.4åã³3.2åç
+§ã)
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+H8Sãã¡ããªã¼ã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ããããããªãããéçºæ©æã®
+é¢ä¿ä¸ãH8S/2350ä»¥å¤ã§ã®ãã¹ããè¡ã£ã¦ããªãã
+ï¼ãªãããã®éçºæ©æã®é¢ä¿ãããä¸è¨ã«ããã¦ã¯H8S/2350ã§ã®ç¶æ³ãæ³å®ãã¦
+  ãããããããéçºèªä½ã¯ãH8Sãã¡ããªã¼å
+¨ä½ã«æå¹ãªå
+å®¹ã§ãããï¼
+
+1.4 GDB ã¹ã¿ã
+
+ç¾å¨ã® TOPPERS/JSP ã«ã¼ãã« H8S çã¯ROMåããµãã¼ããã¦ããã
+
+ã¾ããGDBã¹ã¿ãã¸å¯¾å¿ãã¦ãããèå³ã®ããæ¹ã¯ãå¥éãåãåãããã ããã
+ãªãããããã°ç°å¢ã¨ãã¦ã¯ICEãæ¨å¥¨ããã
+
+1.5 ã·ãªã¢ã«ãã¼ã(SCI)
+
+H8Sãã¡ããªã¼ã®å
+¨ã¦ã®ãã­ã»ããµããï¼ãã£ã³ãã«ä»¥ä¸ã®ã·ãªã¢ã«ãã¼ããå
+èµ
+ãã¦ãããããã§ããããã®ãã¡ãã«ã¼ãã«ã®ã­ã°åºåç¨ã«ï¼ã¤ä½¿ç¨ããã
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯
+      ã»8ããã
+      ã»ããªãã£ãªã
+      ã»ã¹ããããããï¼1ããã
+      ã»ãã¼ã¬ã¼ãï¼38400 bps
+ã§ããã
+
+ãªãããã¼ã¬ã¼ãã«ã¤ãã¦ã¯ãBAUD_RATEãã¯ã­ã«ã¦å®ç¾©ãã¦ããã®ã§å¿
+è¦ã«å¿ãã¦
+å¤æ´ãããã¨ãã§ããã
+(sys_config.h)
+
+(H8S/2350ã¯ï¼ãã£ã³ãã«ã®ã·ãªã¢ã«ãã¼ããå
+èµãã¦ãããããã¯ãsys_config.h
+ ã«å®ç¾©ãã¦ããNUM_PORTã«ãããµãã¼ããããã¼ãæ°ãæ±ºã¾ããç¾å¨ã®å®è£
+ã§ã¯ã
+ ï¼ãã£ã³ãã«ããµãã¼ããã¦ããã
+ ã¾ããJSPã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã¯ãSCI0ãä½¿ç¨ãã¦ããã)
+
+ï¼ï¼H8Sã¿ã¼ã²ããä¾å­é¨ã®æ©è½
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããã
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯ NMI ã®ã¿ã§ãããCPUã­ãã¯ç¶æ
+ãåæåã«ã¼ãã³å
+ã§ã¯
+NMI ä»¥å¤ã®å²è¾¼ã¿ã¯å
+¨ã¦ç¦æ­¢ããããå
+·ä½çã«ã¯ãå²è¾¼ã¿ãã¹ã¯ãï¼ã«è¨­å®ãããã
+
+å²è¾¼ã¿ãã³ãã©ã®ç»é²ã«é¢ãã¦ã¯ãã³ã³ãã£ã°ãã¡ã¤ã«ã«å¯¾ããéçAPIã®è¨è¿°ã¨ã
+ãã¯ã¿ãã¼ãã«ã¸ã®è¨è¿°ã¨ã®ãäºã¤ã®è¨è¿°ãè¡ããªããã°ãªããªãã
+ãã®ãã¯ã¿ãã¼ãã«ã¸ã®è¨è¿°ã«ã¤ãã¦ã¯ãå¾è¿°ããã
+ï¼éçAPIã«ããè¨è¿°ã«ãããå²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿åºå
+¥å£å¦çãå«ãï¼ãçæããã
+  ä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«ç»é²ãããã¨ã§ããã®å²è¾¼ã¿ãã³ãã©ãå¼ã³åºããããï¼
+
+2.2.1 å²è¾¼ã¿å¶å¾¡ã¢ã¼ã
+
+H8Sãã¡ããªã¼ã¯ãã¢ã¼ãï¼ã¨ã¢ã¼ãï¼ã®ï¼ã¤ã®å²è¾¼ã¿å¶å¾¡ã¢ã¼ãã®é¸æãå¯è½ã§
+ãããä»åã®å®è£
+ã§ã¯ãã¢ã¼ãï¼ããµãã¼ããã¦ããã
+
+2.2.2 ãã¯ã¿ãã¼ãã«ã®è¨è¿°æ¹æ³
+
+å²è¾¼ã¿ãã³ãã©ãå¼ã³åºãããã«ã¯ãä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«ç»é²ããå¿
+è¦ãããã
+ãã®ã¨ããH8Sãã¡ããªã¼ã¯ãROMé åã«ä¾å¤å¦çãã¯ã¿ãã¼ãã«ãé
+ç½®ãã¦ããã
+ãã¯ã¿ãã¼ãã«ã¯å®è¡ä¸­ã¯åºå®ã¨ãªãã
+
+ãã®ãããã³ã³ãã¤ã«åã«ãexception_vector.S ã«è¨è¼ããã¦ãããã¯ã¿ãã¼ãã«ã«ã
+å²è¾¼ã¿ãã³ãã©ã®å
+¥å£å¦çã®ã©ãã«åãç´æ¥è¨è¿°ããå¿
+è¦ãããã
+
+ãã®ã¨ãã«è¨è¿°ãããä¾å¤å¦çã®å
+¥å£å¦çã®ã©ãã«åã¯ï¼ä»¥ä¸ã®ããã«è¨­å®ããã
+
+      ã»ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å    ï¼ *******
+      ã»ä¾å¤å¦çã®å
+¥ãå£å¦çã®ã©ãã«åï¼_*******_entry
+        (ããã§ãã©ãã«åã«"_"ãä»ãã¦ããã®ã¯ãï¼£è¨èªã«ã¼ãã³foo()ã«å¯¾ãã¦
+         ã¢ã»ã³ãã«ããã¨ã_fooã¨ããã©ãã«ãå¯¾å¿ä»ããããããã§ããã)
+
+      ä¾ï¼SCI(ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼ããã®å²è¾¼ã¿
+        ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å    ï¼ serial_in_handler
+        ä¾å¤å¦çã®å
+¥ãå£å¦çã®ã©ãã«åï¼_serial_in_handler_entry
+
+ãªãããã®ã«ã¼ã«ã«å¾ã£ãã©ãã«ãçæããã_INT_ENTRYãã¯ã­ãå®ç¾©ãã¦ããã®ã§ã
+å©ç¨ãã¦ãã ããã
+
+      ä¾ï¼SCI(ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼ããã®å²è¾¼ã¿
+        ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å    ï¼ serial_in_handler
+        ä¾å¤å¦çã®å
+¥ãå£å¦çã®ã©ãã«åï¼
+          _INT_ENTRY(serial_in_handler) -> _serial_in_handler_entry ãçæ
+
+ãªãããã®ãã¯ã­ããexception_vector.S ã§å©ç¨ãã¦ããã®ã§ãåèã«ãã¦ãã ããã
+
+2.2.3 å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡
+
+å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡ã®ããã®ãå®ç¾©ã»APIã¯ä»¥ä¸ã®éãã§ããã
+
+(1)IPMå
+å²è¾¼ã¿ãã¹ã¯ã®å¤ãç¤ºããã¼ã¿åã§ãããå²è¾¼ã¿ãã¹ã¯ã¯ãEXRï¼ã¨ã¯ã¹ãã³ãã¬ã¸
+ã¹ã¿ï¼ã®å²è¾¼ã¿ãã¹ã¯ããã(I2-0)ã®å¤ã§ããããã®ãããEXRåã®ï¼ãã¤ãããã°
+ããã®ã§ãUBåã§å®ç¾©ãã¦ããã
+
+(2)icu_set_ilv			å²è¾¼ã¿ã¬ãã«ã®è¨­å®
+
+ãCè¨èªAPIã
+        icu_set_ilv( IPR, MASK, LEVEL )
+
+ããã©ã¡ã¼ã¿ã
+        VP	IPR		è¨­å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
+				ã¢ãã¬ã¹ ( IPRA - IPRK ãã¯ã­ã§è¨­å® )
+        BOOL	MASK		è¨­å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
+				è¨­å®ç¯å²ï¼ä¸ä½é¨åã¾ãã¯ä¸ä½é¨åï¼ã®é¸æ
+				( IPR_UPRãã¾ãã¯ãIPR_LOW ãã¯ã­ã§è¨­å® )
+        INT	LEVEL		è¨­å®ããå²è¾¼ã¿ã¬ãã« ( 0 - 7 )
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãæ©è½ã
+ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®åä¾å¤è¦å å¥ã«ãå²è¾¼ã¿ã¬ãã«è¨­å®ãè¡ãã
+
+ãæ³¨æã
+ç¾å¨ã¯ããã¯ã­ãç¨ããå®è£
+ãè¡ã£ã¦ãããããã¨ã©ã¼å¦çã¯ç¹ã«è¡ã£ã¦ããªãã
+(cpu_config.h)
+
+ãªããä»åã®å®è£
+ã«ããã¦ãå²è¾¼ã¿ã¬ãã«ã¯ã
+      ï¼ä½ï¼ã·ãªã¢ã«ï¼ ï¼ ã·ãªã¢ã«ï¼ -> ã¿ã¤ãï¼ï¼é«ï¼
+ã¨å®ç¾©ãã¦ããã
+(sys_config.h)
+
+2.2.4 å²è¾¼ã¿ãã¹ã¯å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã«ã¤ãã¦
+
+å²è¾¼ã¿ãã¹ã¯å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ããã¤ CPU
+ã­ãã¯è§£é¤ç¶æ
+ã®å ´åã«ã®ã¿å¼ã³åºããã¨ãã§ãããchg_ipm ã«ãã IPM ãã
+ä½ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ï¼ä»¥å¤ã®å¤ã®å ´åï¼ã«ããå ´åã§ãã
+ãã£ã¹ãããã¯ç¦æ­¢ããããchg_ipm ã«ããå¤æ´ãã IPM ã®å¤ã¯ããã£ã¹ããã
+å¾ã®ã¿ã¹ã¯ã«å¼ãç¶ãããã
+
+chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ãããã
+ãçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããããããã®ãµã¼ãã¹
+ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+(SUPPORT_CHG_IPM ã¯ãcpu_config.h ã®ä¸­ã§ #define ããã¦ããã)
+
+H8Sã¿ã¼ã²ããä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯
+æ¬¡ã®éãã
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+å²è¾¼ã¿ãã¹ã¯ãã ipm ã§æå®ããå¤ã«è¨­å®ãããæå®ããå¤ãã0ã6 ã«å
+¥ã£ã¦
+ããªãå ´åãE_PARã¨ã©ã¼ãè¿ããå²è¾¼ã¿ãã¹ã¯ã0ä»¥å¤ï¼1ãMAX_IPM-1ï¼ã«è¨­å®
+ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ãããªããã¾ããè¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®å¤ã¯ã
+ãã£ã¹ãããç¦æ­¢å¾ãå¼ãç¶ãããã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼ã³
+åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´åã«ã¯ã
+E_CTXã¨ã©ã¼ã¨ãªãã
+
+ãªãããã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ãIPMãMAX_IPMï¼å
+¨ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«è¨­å®
+ãããã¨ã¯ã§ããªããIPMãMAX_IPMã«ãããå ´åã«ã¯ãloc_cpuãä½¿ç¨ãã¹ãã§ããã
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®å¤ãèª­ã¿åºããipm ã«è¿ãã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ãã CPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ãH8Sãã¡ããªã¼ã«ããã
+ãã¯ã¿ãã¼ãã«ã®ãã¯ã¿çªå·ãè¡¨ãããã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned int å
+ã«å®ç¾©ããã¦ããã
+DEF_EXC ã§ããã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçªå·ãæå®
+ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+(1)å¤æ°p_excinf
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ããããã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãã
+
+      ----------------------
+     |    er6 (32ããã)    |  <-- p_excinf
+      ----------------------
+     |    er5 (32ããã)    |
+      ----------------------
+     |    er4 (32ããã)    |
+      ----------------------
+     |    er3 (32ããã)    |
+      ----------------------
+     |    er2 (32ããã)    |
+      ----------------------
+     |    er1 (32ããã)    |
+      ----------------------
+     |    er0 (32ããã)    |
+      ----------------------
+     |    EXR ( 8ããã)    |
+      ----------------------
+     |    äºç´( 8ããã)    |
+      ----------------------
+     |    CCR ( 8ããã)    |
+      ----------------------
+     |    PC  (24ããã)    |
+      ----------------------
+
+     EXR : ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿
+     CCR : ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿
+     PC  : ãã­ã°ã©ã ã«ã¦ã³ã¿
+
+ã¾ããCPUä¾å¤çºçæã®PCã®å¤ã¯ã¤ã³ã¯ãªã¡ã³ããããããã®ãããCPUä¾å¤ãã³ãã©
+ããå¾©å¸°ãè¡ãã¨ãCPUä¾å¤ãçºçããå½ä»¤ã®æ¬¡ã®å½ä»¤ããå®è¡ãåéããã
+
+2.4 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éã«ã¤ãã¦
+
+åã¿ã¹ã¯ã¹ã¿ãã¯ã¯ãã¿ã¹ã¯èªèº«ãä½¿ç¨ããåã«å ãã¦ãæå¤§ ï¼ï¼ ãã¤ãä½åã«
+ç¨æããå¿
+è¦ãããã
+
+JSPã«ã¼ãã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¿ã¹ã¯ã¹ã¿ãã¯ã¨ãéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ç¨ã®ã¹ã¿ãã¯ï¼ä»¥ä¸ãå²è¾¼ã¿ã¹ã¿ãã¯ï¼ã¨ãç¨æãã¦ããããã®ãããéã¿ã¹ã¯ã³ã³
+ãã­ã¹ãã¯å²è¾¼ã¿ã¹ã¿ãã¯ã§å®è¡ãããã
+
+H8Sãã¡ããªã¼ã«ããã¦ãå²è¾¼ã¿ã¢ã¼ãï¼ã§ã¯ãå²è¾¼ã¿åä»æã«å²è¾¼ã¿ç¦æ­¢ã«ãªã
+æ©æ§ããã¼ãã¦ã§ã¢ã§ç¨æããã¦ããªãããã®ããã«ãå²è¾¼ã¿ã®å
+¥å£å¦çã§ã½ãã
+ã¦ã§ã¢ã«ãã£ã¦å²è¾¼ã¿ç¦æ­¢ã«ããå¿
+è¦ããããå²è¾¼ã¿å
+¥å£å¦çã§ã¯ãå²è¾¼ã¿ç¦æ­¢ã«
+ç§»è¡ããããã®ä½æ¥­ç¨ã«ãå²è¾¼ã¿è¨±å¯ã®ç¶æ
+ã®ã¾ã¾ãã¿ã¹ã¯ã¹ã¿ãã¯ã« er0ãer1
+ãéé¿ãããã
+ï¼ä¸è¨ã¬ã¸ã¹ã¿ã¯å²è¾¼ã¿åä»æã«ãã¼ãã¦ã§ã¢ãèªåçã«éé¿ãè¡ãã
+    PC  : ãã­ã°ã©ã ã«ã¦ã³ã¿ï¼ï¼ãã¤ãï¼
+    CCR : ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼ï¼ãã¤ãï¼
+    EXR : ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ï¼ï¼ãã¤ãï¼ï¼
+
+ãã¦ãå¤éå²è¾¼ã¿ããå²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ããåã«çºçããå ´åã«ã¯ãåæ§ã®
+ã¹ã¿ãã¯ãã¬ã¼ã ãã¿ã¹ã¯ã¹ã¿ãã¯ä¸ã«çæãããã
+ãã®ãããææªã®ã¿ã¤ãã³ã°ã§å²è¾¼ã¿ãçºçããã¨ãH8S ã¯å²è¾¼ã¿ã¬ãã«ãï¼ã¬ãã«
+ããã®ã§ãã¿ã¹ã¯ã¹ã¿ãã¯ã«ããã¦ãï¼ï¼ãã¤ãæ¶è²»ããããã¨ã«ãªãã
+ï¼ï¼ã¹ã¿ãã¯ãã¬ã¼ã ã®å¤§ãããã¢ããã³ã¹ã¢ã¼ãã®å ´åãï¼
+    er1ï¼ï¼ãã¤ãï¼ï¼ er0ï¼ï¼ãã¤ãï¼ï¼ EXRï¼ï¼ãã¤ãï¼ï¼ãªã¶ã¼ãï¼ï¼ãã¤ãï¼
+    ï¼ CCRï¼ï¼ãã¤ãï¼ï¼ PCï¼ï¼ãã¤ãï¼= ï¼ï¼ ãã¤ã
+  æå¤§ã¿ã¹ã¯ã¹ã¿ãã¯æ¶è²»éï¼
+    ï¼ï¼ãã¤ãÃï¼ã»ãã = ï¼ï¼ãã¤ãï¼
+
+2.5 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+H8Sãã¡ããªã¼ã§ã¯ããã¯ã¿ãã¼ãã«ã«ããã¯ã¼ãªã³ãªã»ãããããã¥ã¢ã«ãªã»ãã
+ä¸¦ã³ã« NMI(Non Maskable Interrupt)ç¨ã®ãã¯ã¿ã¢ãã¬ã¹ãåãã¦ããããããã®
+ã¢ãã¬ã¹ããã®ã¸ã£ã³ãå
+ãã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¨ãªã£ã¦ããã
+
+ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+ã¹ã¿ãã¯ãã¤ã³ã¿ sp ããSTACKTOP ã®å¤ã«è¨­å®ããããã®å¤ã¯ãsys_config.h ã«
+å®ç¾©ããã¦ããã
+
+(B) hardware_init_hookã®å¼ã³åºã
+
+hardware_init_hook ã 0 ã§ãªããã°ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ããã¼ã²ããä¾å­ã®ãã¼ãã¦ã§ã¢ç
+ãªåæåãè¡ãããã«ç¨æããã¦ããã
+æ¬å®è£
+ã§ã¯ãhardware_init_hook å
+ã§ã¯ã
+      ã»SYSCR ã®è¨­å®ï¼å²è¾¼ã¿å¶å¾¡ã¢ã¼ããå
+èµRAMã®è¨­å®ï¼
+      ã»I/O ãã¼ãã®åæå
+      ã»ãã¹ã³ã³ãã­ã¼ã©ã®è¨­å®ï¼ABWCRãASTCRãWCRLãBCRHã®è¨­å®ï¼
+ãªã©ã®å¦çãè¡ããè¨è¿°å ´æã¯ãsys_support.S ãæ¨æºã¨ããã
+
+hardware_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åã«ã¯ããã®ã·ã³ãã«ã0ã«
+å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+ãªããhardware_init_hook ãæ°ãã«è¨è¿°ããå ´åã«ã¯ãå¼ã³åºãå
+ã¸ã®ãªã¿ã¼ã³ã¯
+rts å½ä»¤ã§ãªããjmp å½ä»¤ã§ start_1 ã«æ»ããã¨ã
+
+(C) bssã»ã¯ã·ã§ã³ãdataã»ã¯ã·ã§ã³ã®åæå
+
+bss ã»ã¯ã·ã§ã³ã®å
+¨é åãã¼ã­ã¯ãªã¢ãããdata ã»ã¯ã·ã§ã³ãåæåãããROM å
+å¯¾å¿ã®ããã«ãROM ãã RAM ã¸ã¨ãã³ãã¼ãè¡ãã
+
+(D) software_init_hookã®å¼ã³åºã
+
+software_init_hook ã 0 ã§ãªããã°ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§ã¢
+ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã
+ 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ãã¦
+ãããã¨ã¯æ³å®ãã¦ããªãã
+
+2.6 MAC ã¬ã¸ã¹ã¿ (H8S/2600ã³ã¢å
+èµãã­ã»ããµã®ã¿)
+
+â»ãã®é¨åã®ãµãã¼ãååè
+ãæ±ãã¦ããã¾ãã
+
+H8Sãã¡ããªã¼ã«ã¯ãCPUã³ã¢ã« H8S/2600 ã¨ H8S/2000 ã®ï¼ç¨®é¡ãå­å¨ããããã®
+ãã¡ãH8S/2600 ã¯ãç©åã¬ã¸ã¹ã¿ã¨ãã¦ MAC ã¬ã¸ã¹ã¿ããµãã¼ããã¦ããã
+
+ããã§ãä½¿ç¨ãããã­ã»ããµããH8S/2600 ãæã¤å ´åã¯ã
+      ã»cpu_defs.h ã«ããã¦ H8S_2600 ãã¯ã­ãå®ç¾©ããã
+       (ãã®ãã¯ã­ã«ãã£ã¦ãcpu_support.S ã«ããã¦ãMAC ã¬ã¸ã¹ã¿ã®ãµãã¼ãã
+        è¡ãããã)
+      ã»$(CPU)/Makefile.config å
+ãé©åã«ã³ã¡ã³ãã¤ã³ããã
+       (ããã«ãããH8S/2600 ç¨ã®ã³ã³ãã¤ã«ãªãã·ã§ã³ãä»å ãããã)
+ãè¡ããã¨ã«ãããMAC ã¬ã¸ã¹ã¿ã«å¯¾å¿ãããã¨ãã§ããã
+
+ãµãã¼ãç¶æ³ã¯ãä»¥ä¸ã®éãã§ããã
+
+ã»ï¼£è¨èªã§æ¸ãããã¿ã¹ã¯å
+ã§ããã® MAC ã¬ã¸ã¹ã¿ãä½¿ç¨ããå ´åã«ãèªããã£ã¹
+  ãããã£ãå¼ã³åºãã¦ãã£ã¹ãããããå ´åã¯ãé¢æ°å¼ã³åºãã«ãªãã
+  ãã®ãããå¼ã³åºãåå¾ã«ã¾ããã£ãã¿ã¹ã¯éã§ãMAC ã¬ã¸ã¹ã¿ãä½¿ããã¨ã¯
+  ãªãããä¿å­ãã¦ããªãã
+  ï¼ãã®ãããã¿ã¹ã¯å
+ã§ã¢ã»ã³ãã©ã®ã³ã¼ããä½¿ç¨ããå ´åããã®ã«ã¼ã«ã«å¾ã
+    å¿
+è¦ããããï¼
+ã»å²è¾¼ã¿ããã®ãã£ã¹ãããï¼ååçãã£ã¹ãããï¼ã§ã¯ä¿å­ãã¦ããã
+
+â»å²è¾¼ã¿çºçæã® MAC ã¬ã¸ã¹ã¿ã®ä¿å­ã«ã¤ãã¦ã¯ãå®è¡ç°å¢ãç¡ããããä¿å­ã®
+  æç¡ãç¢ºèªã§ãã¦ããªãã
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãsys_defs.h ä¸­ã®
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ããã®å®
+ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ãããä½ãã
+ã¿ã¤ãã®ç²¾åº¦ã1Î¼ç§ã§ããããã«ã1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããå ´åã«ã¯ã
+isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãã
+
+ããã©ã«ãã§ã¯ãä¸è¨ã®ã¿ã¤ããå©ç¨ãã¦ããã
+(a) H8S/2350
+  H8Så
+èµã¿ã¤ã(TPU)ã®ãã£ãã«0
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+H8Sä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ããã
+ç²¾åº¦ã¯1Î¼ç§ã§ãSYSUTIMåã¯UWå(32ãããç¬¦å·ãªãæ´æ°å)ã§ããã
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ä¾çµ¦ã¯ã­ãã¯åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤ã
+èª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ãå¼ã¶
+åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªããããã§ãSUPPORT_VXGET_TIM
+ã¨ãããã¯ã­ã«ããããããã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿
+ããããããã«ãã¦ããã
+(SUPPORT_VXGET_TIM ã¯ãsys_config.h ã®ä¸­ã§ #define ããã¦ããã)
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ã
+
+ä»åã®å®è£
+ã§ã¯ãã¿ã¼ã²ãããã­ã»ããµã®é¢ä¿ãããï¼ãã£ã³ãã«ã¾ã§ã®å¯¾å¿ã
+è¡ã£ã¦ãããããããä»ã®H8Sãã¡ããªã¼ã«ã¯ãï¼ãã£ã³ãã«ä»¥ä¸ã®ã·ãªã¢ã«ã¤ã³ã¿
+ãã§ã¼ã¹ãå
+èµãã¦ãããã®ãããããã®ããã®ãå¤æ´ã¯å®¹æã«å¯è½ã§ããã
+è©³ããã¯ãã½ã¼ã¹ã³ã¼ããåç
+§ã®ãã¨ã
+
+ãªããã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ãã¯ãã«ã¼ãã«ã®ã­ã°åºåç¨ã«ãH8Så
+èµ
+SCIãã£ãã«0ãä½¿ç¨ãã¦ããã
+
+3.4 ã¡ã¢ãªããã
+
+ã¡ã¢ãªãããã¯ä»¥ä¸ã®ããã«è¨­å®ãã¦ããã
+ã»ROM åæ
+      0x000000 - 0x01ffff : ã³ã¼ãé å(128kB)
+      0x200000 -          : ãã¼ã¿é å(128kB)
+                 0x21ffff : éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+
+ã»GDB ã¹ã¿ãå©ç¨æ
+      0x200000 - 0x20ffff : ã³ã¼ãé å(64kB)
+      0x210000 -          : ãã¼ã¿é å(64kB-8kB(for GDB_STUB))
+                 0x21efff : éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+
+å
+èµ RAM ã¯ãç¾å¨ä½¿ç¨ãã¦ããªãããä½¿ç¨ããå ´åã«ã¯ãhardware_init_hook ã®
+ä¸­ã§å
+èµ RAM ãæå¹ã«ããå¿
+è¦ãããã(2.3 (2)ãåç
+§ã)
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ã
+ãªããã¿ã¼ã²ããç°å¢ <TARGET> ã®å¤ã«ã¤ãã¦ã¯ãä»¥ä¸ãåèã®ãã¨ã
+éçºã«ã¯ Windows2000SP4 ä¸ã§ Cygwin ãç¨ããã
+
+åä½ç¢ºèªã¯ãä¸è¨ã®ãã¼ã«ã«ã¦ç¢ºèªãã¦ããããã®ãã¼ã«ãããã©ã«ãã¨ããã
+
+ã»GNUããé
+å¸ããã¦ãããªãªã¸ãã«ã®GCCãªã©ãã½ã¼ã¹ããæ§ç¯ãããã¼ã«
+  åä½ç¢ºèªãè¡ã£ãã¨ãã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããã
+    BINUTILS : 2.14
+    GCC-CORE : 3.3.2
+    NEWLIB   : 1.11.0
+ï¼ãã®å ´åã®ã¿ã¼ã²ããç°å¢ <TARGET> ã«ã¯ãh8300-hms- ãç¨ãããï¼
+
+ã¾ããWindowsä¸ã§Cygwinãç¨ãã¦éçºããå ´åã¯ãbinutils ã® configure ã®ãªã
+ã·ã§ã³ã« --disable-nls ãæå®ãããã¨ã
+
+ï¼ï¼å¶éäºé 
+
+
+ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ã¯ãµãã¼ããã¦ããªãã
+
+ã»ãã¼ãã«ã¢ã¼ãã§ã®å®è¡ã¯ããã¹ããè¡ã£ã¦ããªãã
+
+ã»MACã¬ã¸ã¹ã¿ã®ãµãã¼ãã¯ããã¹ããè¡ã£ã¦ããªãã
+
+ã»ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããªã³ã¯ã¹ã¯ãªããã¯ãC++ ã«å¯¾å¿ãã¦ããªãã
+
+ã»SYSUTIM åã UW å(32ãããç¬¦å·ãªãæ´æ°å)ã¨ãã¦å®ç¾©ãã¦ããããã«ãæ§è½
+  è©ä¾¡ç¨ã·ã¹ãã åç
+§æ©è½(vxget_tim)ã«ããæ¸¬å®ã§ããç¯å²ããå¤æ©ç¨®ããç­ãã
+
+ã»ä»ã® gcc ã®ãã¼ã¸ã§ã³ï¼ç¹ã«ãgcc 3.4.xï¼ã§ã®ã³ã³ãã¤ã«ã¯ä¿è¨¼ããªãã
+
+ï¼ï¼ãã®ä»
+
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+H8S ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/h8s/
+        H8Så
+±éé¨
+
+	Makefile.config		Makefileã®H8Sã¿ã¼ã²ããä¾å­ã®å®ç¾©
+	cpu_defs.h		ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_config.h		ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_config.c		ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_support.S		ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_context.h		ã³ã³ãã­ã¹ãæä½
+	cpu_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tool_defs.h		éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	tool_config.h		éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	makeoffset.c		offset.h çæãµãã¼ããã­ã°ã©ã 
+	cpu_insn.h		ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	start.S			ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	h8s.h			H8Sã®ã¬ã¸ã¹ã¿åãªã©ã®å®ç¾©
+	h8s_sil.h		H8Sãã¡ããªã¼ç¨ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹
+				ã¬ã¤ã¤ã¼å®ç¾©
+	util.h			ãããçªå·ãªã©ã®å®ç¾©
+	hw_serial.h		SIOãã©ã¤ã
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	h8s_sci.h		H8Sã·ãªã¼ãºå
+èµã·ãªã¢ã«ãã¼ãç¨
+				ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
+	h8s_sci.c		H8Sã·ãªã¼ãºå
+èµã·ãªã¢ã«ãã¼ãç¨
+				ç°¡æSIOãã©ã¤ã
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	h8s_tpu.h		H8Sã·ãªã¼ãºå
+èµã¿ã¤ãç¨
+				ã¿ã¤ããã©ã¤ãé¢é£ã®å®ç¾©
+
+    config/h8s/h8s2350/
+	H8S/2350å¯¾å¿ã·ã¹ãã ä¾å­é¨
+       (æ ªå¼ä¼ç¤¾ãã¹ãè£½ H8S/2350 è©ä¾¡ãã¼ãå¯¾å¿)
+
+	Makefile.config		Makefile ã® MISPO H8S/2350 è©ä¾¡ãã¼ãä¾å­å®ç¾©
+	sys_defs.h  	 	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©(Cè¨èªç¨)
+	sys_config.c 		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S	 	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	exception_vector.S	å²è¾¼ã¿ä¾å¤å¦çãã¯ã¿ãã¼ãã«
+	sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	h8s2350.h   		H8S/2350ãã­ã»ããµã®ãã¼ãã¦ã§ã¢å®ç¾©
+	mispo_h8s2350.h		MISP H8S/2350 è©ä¾¡ãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
+	h8s_coff.ld	  	ãªã³ã«ã¹ã¯ãªãã(ROM åç¨)
+	h8s_coff_gdb.ld		ãªã³ã«ã¹ã¯ãªãã(GDB ã¹ã¿ãç¨)
+
+6.1 ãã®ä»
+
+H8Sãã¡ããªã¼ã¯ãéå¸¸ã«ãã­ã»ããµã®ç¨®é¡ãå¤ãã§ãããã®ä¸­ã§ãæã
+éçºè
+ã®
+ã¿ã¼ã²ããç°å¢ã®åé¡ãããä»åã®å®è£
+ã¯ H8S/2350 ã¨ããç¹å®ã®ãã­ã»ããµã®ã¿
+ã®ãµãã¼ãã¨ãªã£ã¦ãã¾ãã
+
+ããã§ããããã®ãéå¸¸ã«å¤å²ã«æ¸¡ã£ã¦ãããã­ã»ããµã®åä½ãã¹ãã«ååãã¦
+ããã ããæ¹ãåéãã¦ããã¾ãã
+
+æ¯éãä¸è¨ã¸ã¨ãé£çµ¡ãã ããããå¾
+ã¡ãã¦ããã¾ãã
+
+âTOPPERSãã­ã¸ã§ã¯ã  ã¡ã¼ãªã³ã°ãªã¹ã  TOPPERS-USER
+
+âå®®åçç£æ¥­æè¡ç·åã»ã³ã¿ã¼  æ©æ¢°é»å­æ
+å ±æè¡é¨  æ
+å ±æè¡éçºç­
+  TEL : 022-377-8700ãe-mail : micom@mit.pref.miyagi.jp
+
+å¤æ´å±¥æ­´
+
+2004å¹´ 4æ15æ¥ãJSPã«ã¼ãã« Release1.4 å¯¾å¿
+2004å¹´10æ18æ¥ãJSPã«ã¼ãã« Release1.4.1 å¯¾å¿
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/latticemico32.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/latticemico32.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/latticemico32.txt	(revision 26)
@@ -0,0 +1,453 @@
+
+       == TOPPERS/JSP ã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ==
+              (LatticeMico32 ã¿ã¼ã²ããä¾å­é¨)
+
+       (Release 1.4.3 å¯¾å¿, æçµæ´æ°: 7-Mar-2008)
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                            Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+------------------------------------------------------------------------
+
+1. LatticeMico32 (lm32) ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+ 1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+ããLatticeMico32 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ Lattice FPGA æ­è¼ã®æ¬¡ã®
+ãéçºã»è©ä¾¡ãã¼ãããµãã¼ããã¦ããã
+
+  ã»Lattice ç¤¾æä¾; LatticeECP2 LatticeMico32/DSP éçºãã¼ã
+     (FPGA LatticeECP2-50 æ­è¼)
+
+ããéçºç°å¢ã«ã¯ãGCC ãªã©ã® GNU éçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ããããã¯ ELF ãæ¨æºã¨ããã
+
+
+ 1.2 ãµãã¼ãæ©è½ã®æ¦è¦
+ããLatticeMico32 ä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã
+ãã·ã¹ãã æå»åç
+§æ©è½(get_tim)ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxãget_ixx)
+ãããµãã¼ããã¦ãããè©³ç´°ãªãµãã¼ãé¢æ°ã«ã¤ãã¦ã¯æ¬ããã¥ã¢ã«ã®æ«å°¾ã«ä¸è¦§
+ãã§ã¾ã¨ãã¦ããã
+
+
+ 1.3 ã·ã¹ãã æ§æ
+ããLatticeMico32 ã¯ FPGA ãå¯¾è±¡ã¨ãã¦ããããããã®ãã­ã»ããµ/ããªãã§ã©ã«
+ãæ§æã«å¯¾ããèªç±åº¦ãå¤§ãããå¾ã£ã¦ JSP ã«ã¼ãã«ãåä½ãããããã«å¿
+è¦ãª
+ãå
+±éãªãã­ã»ããµä¾å­é¨ã /lm32 ä¸ã«ãã¿ã¼ã²ããã·ã¹ãã ä¾å­é¨ã¯ãä¸è¿°ã®
+ãè©ä¾¡ãã¼ãã®å ´åã«é¢ãã¦ /lm32/ECP2 ä¸ã«ããã
+ãããªããFPGA ã¯é»æºæå
+¥å¾ã«ã¦ã¼ã¶ã®è«çåè·¯ãä½ãè¾¼ããã­ã»ã¹ï¼ã³ã³ãã£ã°
+ãã¬ã¼ã·ã§ã³ï¼ãä¸è¬ã«å¿
+è¦ã§ããã LatticeECP2 ãããããã¿ã¤ãã§ããã
+ãã·ã¹ãã ã¨ãã¦ã¯ãä½ããã®ä¸æ®çºæ§ã¡ã¢ãªå
+ã«ãã®ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ç¨ã
+ãã¼ã¿ãä¿æãã¦ããå¿
+è¦ãããã
+
+ããã¿ã¼ã²ããã·ã¹ãã ã§ JSP ã«ã¼ãã«ãåä½ãããããã®ãã³ã¢ããªãã§ã©ã«
+ãæå°æ§æãä»¥ä¸ã«ç¤ºããJTAG ãããã°ãã¼ãã¯ä»»æã§ããã
+  ãã»ã¿ã¤ã
+  ãã»UART
+  ãã»ã¹ãã¬ã¼ã¸ã»ã³ã³ãã¼ãã³ãï¼å
+é¨ RAMãå¤é¨ SRAMãå¤é¨ãã©ãã·ã¥ã¡ã¢ãªï¼
+
+ãã¹ãã¬ã¼ã¸ã»ã³ã³ãã¼ãã³ãã®æ§æï¼ãã¼ãæ¹æ³ï¼ã¨ãã¦ã¯ 2 ã¤ã®é¸æè¢ãããã
+ãå
+é¨ RAM ããã®ãã¼ãï¼
+ããã«ã¼ãã«ã¤ã¡ã¼ã¸ã«å¯¾å¿ãããã¨ãã§ããç¨åº¦ã« FPGA ã®å
+é¨ RAM ãå¤§ãã
+ããå ´åãã¹ãã¬ã¼ã¸ã»ã³ã³ãã¼ãã³ãã¨ãã¦ã¯å
+é¨ RAM ã®ã¿ã¨ãã¦ãæ§æå¯è½ã§
+ãããããã¹ã¿ãã¯é åãå
+é¨ã«æã¤ãå¤é¨ SRAM ã«æã¤ãã¯ããã¯ãå
+é¨ RAM ã®
+ããè¦æ¨¡ãè¨­è¨æ¹éã«ä¾å­ããã
+ãããæ¬ãã¼ãæ¹æ³ã¯ãFPGA ãã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ããéã«ãå
+é¨ RAM ãã«ã¼ã
+ããã«ã¤ã¡ã¼ã¸ã§åæã«åæåãããã®ã§ããããã¼ãã­ã¼ããå¿
+è¦ã¨ãããã¨ãªãã
+ãããªã»ããå¾ç´ã¡ã«ãªã»ãããã¯ã¿ã¢ãã¬ã¹ããã¤ã¡ã¼ã¸ãå®è¡ããã
+
+ãå¤é¨ãã©ãã·ã¥ã¡ã¢ãªããã®ãã¼ãï¼
+ ããã¤ã¡ã¼ã¸ãå¤é¨ãã©ãã·ã¥ã«æ ¼ç´ããå¤é¨ SRAMï¼æãã¯å
+é¨ RAMï¼ã§ã¤ã¡ã¼ã¸
+ããå®è¡ããå ´åãã¹ãã¬ã¼ã¸ã»ã³ã³ãã¼ãã³ãã¨ãã¦ã¯å¤é¨ SRAM ã¨ãã©ãã·ã¥
+ãã¡ã¢ãªã®æ§æã«ãªãããªã»ããå¾ããã©ãã·ã¥ã¡ã¢ãªå
+ã®ãã¼ãã­ã¼ããã¾ãèµ·å
+ãããåãã¼ã¿ã»ã¯ã·ã§ã³ãé©åã«å¦çå¾ãå®è¡ãéå§ããã
+
+ããªã FPGA ã«ä½ãè¾¼ãè«çåè·¯ï¼ãã¼ãã¦ã§ã¢ãã©ãããã©ã¼ã ï¼ã®ä½æãFPGA
+ãã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ç¨ãã¡ã¤ã«ã®çæã«é¢ããè©³ç´°ã«ã¤ãã¦ã¯ä»¥ä¸ã®è³æãªã©
+ããåç
+§ããããã
+ãã»LatticeMico32 Software Developer User Guide
+ãã»LatticeMico32 Development Kit User's Guide for LatticeECP2
+ãã»ispLEVER ããã¥ã¢ã«ï¼æ¥æ¬èªï¼
+
+ãåè³æã¯ä»¥ä¸ URL ããå
+¥æå¯è½
+ãã»http://www.latticesemi.com/dynamic/index.cfm?fuseaction=view_documents&document_type=35&sloc=01-01-08-11-48-02
+ãã»http://www.latticesemi.co.jp/docs/index.cfm
+
+
+ 1.4 ã·ã¹ãã ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³
+ããJSP ã«ã¼ãã«ãæ°è¦éçºã·ã¹ãã ã§å®è¡ããããã«ã¯ãé©åãªã¿ã¼ã²ããä¾å­
+ããã¡ã¤ã«ã®ä¸é¨ããã®ã·ã¹ãã ç¹æã®å
+å®¹ã«æ¸ãæãããç¢ºèªã»ç·¨éãã¹ããã©
+ãã¡ã¼ã¿ã¯ä»¥ä¸ã®éãã§ããã
+
+ãlm32/Makefile.config
+     COPTS        : ã³ã³ãã¤ã«ãªãã·ã§ã³
+     LDFLAGS     : ãªã³ã«ãªãã·ã§ã³
+
+ãlm32/sys_defs.h
+     TIC_NUME    : ã¿ã¤ã ãã£ãã¯å¨æã®åå­
+     TIC_DENO    : ã¿ã¤ã ãã£ãã¯å¨æã®åæ¯
+     TIMER_CLOCK : ã¿ã¤ãã¼ã¯ã­ãã¯å¤ãMICO32_CPU_CLOCK_HZ ã«ä¾å­
+ 
+ãlm32/ECP2/lm32.h
+     MICO32_CPU_CLOCK_HZ  : CPU ã¯ã­ãã¯å¨æ³¢æ° [Hz]ãããã©ã«ãã¯ 25MHz
+     DEFAULT_UART_BOARDRATE ï¼UART ã®ããã©ã«ãã»ãã¼ã¬ã¼ã(Baud Rate) [bps]
+     TIMER_BASE_REG      : TIMER ã®ãã¼ã¹ã¢ãã¬ã¹
+     UART0_BASE_REG     : UART 0 ã®ãã¼ã¹ã¢ãã¬ã¹
+     UART1_BASE_REG     : UART 1 ã®ãã¼ã¹ã¢ãã¬ã¹
+     INHNO_TIMER        : TIMER ã®å²ãè¾¼ã¿ ID
+     INHNO_SIO1          : UART 0 ã®å²ãè¾¼ã¿ ID     
+     INHNO_SIO2          : UART 1 ã®å²ãè¾¼ã¿ IDï¼UART 2 ç³»çµ±ä½¿ç¨ã®å ´åï¼
+
+ãlm32/ECP2/lm32elf.ldï¼ãªã³ã«ã¼ã¹ã¯ãªããï¼
+     _fstack : åæã¹ã¿ãã¯ã¢ãã¬ã¹ï¼éå¸¸å¤é¨ SRAM ã® ORIGIN ã¨ LENGTHï¼
+
+
+ãæ³¨1 ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ï¼COPTSï¼ã«é¢ãã¦
+ããMico32 ã¯ CPU ã³ã¢ã®ãªãã·ã§ã³ã¨ãã¦å½ä»¤å®è¡ã¢ã·ã¹ãç¨ã­ã¸ãã¯ã®ä½¿ç¨
+ããå¯å¦ã MSB ã«ã¦è¨­å®ã§ãã (RTL ã¯ MSB ãçæï¼ããã®è¨­å®ã«åããã¦ã³ã³
+ãããã¤ã«ãªãã·ã§ã³ãä»å ããã
+ããã-mmultiply-enabledããã ï¼ä¹ç®å¨
+ããã-mbarrel-shift-enabledã  ï¼ãã¬ã«ã·ãã¿
+ããã-mdivide-enabledããããï¼é¤ç®å¨
+ããã-msign-extend-enabledã  ï¼ç¬¦å·æ¡å¼µ
+ã
+ãæ³¨2 ï¼ãªã³ã«ã¼ã¹ã¯ãªããï¼lm32elf.ldï¼ã«é¢ãã¦
+ããä¸è¿°ã®ã¹ã¿ãã¯ã«é¢ããå®ç¾©ä»¥å¤ã«ããã¼ãã­ã¼ãããã¼ãã¡ã¢ãªã®æå®ãªã©
+ãããè¡ãããCPU ãã¡ã¢ãªã®æ§æã«èªç±åº¦ãããã®ã§ãæ¬ãªã³ã«ã¼ã¹ã¯ãªããã®
+ããç·¨éã«ã¯æ³¨æãããããåèã¨ãã¦ãlm32/ECP2/ ãµããã©ã«ãã«ã¯ä»¥ä¸ã®
+ãããµã³ãã«ã¹ã¯ãªããä¾ãå«ã¾ãã¦ããããªããæå¹ãªãªã³ã«ã¼ã¹ã¯ãªããå
+ããã¯ lm32elf.ld ã§ããã
+  ãlm32elf_ebr.ldãï¼
+ãããFPGA ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³å¾ãæãã¯ CPU ãªã»ããå¾ãå
+é¨ã¡ã¢ãªãã
+ããããã¼ããã¹ã¿ãã¯ã¯å¤é¨ ASRAM
+ã  lm32elf_flash.ldãï¼
+ãããFPGA ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³å¾ãæãã¯ CPU ãªã»ããå¾ãå¤é¨ãã©ãã·ã¥
+ããããããã¼ããã¹ã¿ãã¯ã¯å¤é¨ ASRAM
+
+
+ 1.5 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+ããLatticeMico32 ãã­ã»ããµã¯ä»¥ä¸ã® Lattice ç¤¾è£½å FPGA ããã¤ã¹ã»ãã¡ããªã
+ããµãã¼ããã¦ããã
+   ãã»LatticeECP2/ECP2MãLatticeSC/SCMãLatticeEC/ECP
+ããã ããå®è£
+ããè«çåè·¯ã® RTL ã¯ãªã¼ãã³ã½ã¼ã¹ã®æ¹éã§ãããåºæ¬çã«å¯¾è±¡
+ãããã¤ã¹ã¨ãã¦ã®å¶ç´ã¯ãªãã®ã§ãæè¡çã«ã¯ããä»¥å¤ã®ããã¤ã¹ã¸ã®å®è£
+ãå¯
+ãè½ã§ããã
+
+
+ 1.6 GDB ã¹ã¿ã
+ããLatticeMico32 éçºãã¼ã«(MSB, SDK)ã§ã¯ GDB ã¹ã¿ãã¯ãµãã¼ããã¦ããªãã
+
+
+2. LatticeMico32 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ããããã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼LatticeMico32
+ãä¾å­é¨ã«ã¤ãã¦è¿°ã¹ãã
+
+ 2.1 ãã¼ã¿å
+ããsigned int åããã³ unsigned int åã¯ 32 ãããå¹
+ã§ããã
+
+ 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+ããDEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ã¯ã"lm32.h" å
+ã§æå®ããå²è¾¼ã¿çªå·
+ããè¡¨ãããã®ãã¼ã¿åã¯ unsigned intï¼UINTï¼ã¨ãã¦å®ç¾©ããã¦ããã
+ããDEF_INH ã§ç¡å¹ã®å²è¾¼ã¿åªå
+åº¦ããå®éã®å²è¾¼ã¿åªå
+åº¦ã¨ç°ãªãå¤ãæå®ãã
+ãå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+ããªãã¿ã¹ã¯ä¾å¤ãã³ãã©ã®ç»é²ã¯ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã« .cfg å
+ã«
+ãä»¥ä¸ã®å®ç¾©ãå ãããã¨ã«ãã£ã¦è¡ãã
+
+ããDEF_TEX(TASK_ID, { TA_HLNG, tsk_exc_routine });
+ãããTASK_IDãããã: ç»é²ããã¿ã¹ã¯ã® ID
+ãããtsk_exc_routineã: C ãã¡ã¤ã«ã§è¨è¿°ããã¿ã¹ã¯ä¾å¤ãã³ãã©å
+
+
+ 2.3 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®å¦çå
+å®¹
+ããã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« "start.S" ã§ã¯ä»¥ä¸ã®åæåå¦çãè¡ãã
+
+ã(i) ã­ã£ãã·ã¥ã®åæå
+ããå½ä»¤ã­ã£ãã·ã¥ããã¼ã¿ã­ã£ãã·ã¥ãå®è£
+ãã¦ããå ´åãåæåãè¡ãã
+
+ã(ii) ã¹ã¿ãã¯ãã¤ã³ã¿ã¨ã°ã­ã¼ãã«ãã¤ã³ã¿ã¼ã®åæå
+ããã¹ã¿ãã¯ãã¤ã³ã¿ã¨ã°ã­ã¼ãã«ãã¤ã³ã¿ã¼ãåæå¤ã«è¨­å®ããã
+
+ã(iii) ä¾å¤ãã³ãã©ã®ç»é²
+ãããªã»ããããã¹ã¨ã©ã¼ãã·ã¹ãã ã³ã¼ã«ãå²ãè¾¼ã¿ãªã©ã®ä¾å¤ãã³ãã©ã
+ãããããç»é²ããã
+
+ã(iv) bss ã»ã¯ã·ã§ã³ã®åæå
+ããbss ã»ã¯ã·ã§ã³ãã¯ãªã¢ããã
+
+ã(v) ã«ã¼ãã«ã®èµ·å
+ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ãããã¨ã¯ãªãã
+
+
+3. ã½ããã¦ã§ã¢éçºç°å¢ã¨æé ä¾
+
+ 3.1 ã«ã¼ãã«æ§ç¯ã®ç°å¢
+ããã¢ããªã±ã¼ã·ã§ã³ããã«ãããåã«ãã«ã¼ãã«ç°å¢ãæºåããå¿
+è¦ããããä»¥ä¸ã«
+ããã®ãã§ãã¯äºé 
+ã»æé ãç¤ºãã
+
+ãA. LatticeMico32 éçºãã¼ã« (Mico32 System Builder; MSB) ãã¤ã³ã¹ãã¼ã«ãã
+
+ãB. TOPPERS/JSP ã½ã¼ã¹ã³ã¼ããå
+¥æãè§£åããMico32 MSB ã¤ã³ã¹ãã¼ã«ã»ãã£ã¬ã¯
+ããããªä¸ã«ç½®ã
+
+ãC. LatticeMico32 ã®ã¿ã¼ã²ããä¾å­ã³ã¼ãï¼lm32ï¼ãJSPããã±ã¼ã¸å
+ "jsp\configâ
+ããã¨ãããµããã£ã¬ã¯ããªä¸ã«ãããã¨ãç¢ºèªãã
+
+ãD. JSP ããã±ã¼ã¸å
+ "user.txt" 7.3ç« ã«è¨è¿°ããã¦ããããã«ãGCC ãªã©ã®ãã¼ã«
+ãããå°å
+¥ããã³ã³ãã£ã°ã¬ã¼ã¿ããã«ããããå®äºããã¨ããã¡ã¤ã« "cfg.exe" ã¨
+ãã"chk.exe" ããã£ã¬ã¯ããªâjsp/cfg" ä¸ã«çæãããã
+ããããªããMico32 MSBã«çµã¿è¾¼ã¾ãã¦ãã Cygwin ã·ã§ã«(Mico32 SDK) ã¯ãã®ç®ç
+ããã«ã¯ä½¿ç¨ããªãã
+
+ãMSB ã¯ä¸è¨ URL ããç¡åã§ãã¦ã³ã­ã¼ãå¯è½ï¼ã©ã¤ã»ã³ã¹ã¢ã°ãªã¼ã¡ã³ãã«åæã®
+ããã¿ã³ãã¯ãªãã¯ããå¿
+è¦ãããï¼
+ãã»http://www.latticesemi.com/dynamic/index.cfm?fuseaction=view_documents&document_type=65&sloc=01-01-08-11-48
+
+
+ 3.2 ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ãä¾
+ããLatticeECP2 FPGA ãã¿ã¼ã²ããããã¤ã¹ã¨ããã¢ããªã±ã¼ã·ã§ã³åã"hello_world"
+ãã¨ããå ´åã®ä¾ã«ã¤ãã¦ãã«ãæé ãä»¥ä¸ã«ç¤ºãã
+
+  A. æ¡å¼µå­ã®ã¿ãç°ãªãååã®3ã¤ã®ãã¡ã¤ã«ãhello_world.cãhello_world.hãããã³
+ããhello_world.cfg ãç¨æãã
+
+  B. "/jsp" ãã£ã¬ã¯ããªä¸ã«ä½æ¥­ãã£ã¬ã¯ããª lm32_hworldï¼ä¾ï¼ãä½æããããã
+ãããã¡ã¤ã«ãã³ãã¼ãã
+
+  C. Mico32 MSB (SDK)ã§ã·ã§ã«ãéã /jsp/lm32_hworld ã«ç§»åããå¾ãä»¥ä¸ãå®è¡
+ããããMakefile ãçæããã
+ãã> ../configure -C lm32 -S ECP2 -A hello_world
+
+  D. çæããã Makefile å
+ã®ãªãã¸ã§ã¯ããã¡ã¤ã«æ¡å¼µå­åï¼71 è¡ç®ï¼ãç·¨éãã
+ãï¼ä»»æï¼
+ããã[å
+] OBJEXT=exe
+ããã[æ°] OBJEXT=elf
+
+  E. æ¬¡ã®ã³ãã³ããå®è¡ãã«ã¼ãã«ãæ§ç¯ãã
+ãã> make depend
+
+  F. æ¬¡ã®ã³ãã³ããå®è¡ãããç®çã¨ãããå©¦ãããã¨ãã¡ã¤ã« jsp.elf (åã¯ jsp.exe)
+ããçæããã
+ãã> make
+ãã> make jsp.bin
+ãï¼> make; make jsp.bin ã¨ãã¦ãåãï¼
+
+  (G. ã½ã¼ã¹ãã¡ã¤ã«ã®å¤æ´ãçããå ´åã¯ E, F ãç¹°ãè¿ã)
+
+
+ 3.3 ãããã°æ¹æ³
+ããä»¥ä¸ã«ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã®ãããã°æ¹æ³ä¾ãç¤ºãã
+
+  A. Mico32 SDK ã·ã§ã«ãéããæ¬¡ã®ã³ãã³ããå®è¡ãã
+    > TCP2JTAGVC2
+
+  B. Mico32 SDK ã·ã§ã«ãããä¸ã¤éã /jsp/lm32_hworld ã«ç§»åå¾ãæ¬¡ã³ãã³ããå®è¡
+ãããã¦ GDB ãããã°ç°å¢ã«å
+¥ã
+    > lm32-elf-gdb
+
+  C. GDB ã«ã¦æ¬¡ã®ã³ãã³ãã§ã¿ã¼ã²ããã«ãªã³ã¯ãã
+    (gdb) target remote localhost:1000
+
+  D. æ¬¡ã®ã³ãã³ããå®è¡ããã¤ã¡ã¼ã¸ãã­ã¼ããã
+    (gdb) load jsp.elf
+ãã
+ãï¼3.2 F ã«ã¦çæãããªãã¸ã§ã¯ããã¡ã¤ã«åã jsp.exe ã®å ´åã¯ load jsp.exeï¼
+
+  E. GDB åã³ãã³ããä½¿ç¨ãã¦ãããã°ãããå®è¡ããå ´åã¯
+    (gdb) cont
+
+
+4. ãã®ä»
+
+ 4.1 ãã£ã¬ã¯ããª/ãã¡ã¤ã«æ§æ 
+ããLatticeMico32 ãã­ã»ããµä¾å­é¨ãã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®
+ãéã
+
+  lm32/
+    Makefile.config    Makefile ã® LatticeMico32 ä¾å­å®ç¾©
+    cpu_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    cpu_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    cpu_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    cpu_config.h       ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+    cpu_config.c       ãã­ã»ããµä¾å­é¨ã®é¢æ°
+    cpu_context.h      ã³ã³ãã­ã¹ãæä½
+    cpu_defs.h         ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    cpu_insn.h         ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+    cpu_support.S      ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+    makeoffset.c       offset.h çæãµãã¼ããã­ã°ã©ã 
+    tool_defs.h        éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNU éçºç°å¢ç¨)
+    tool_config.h      éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNU éçºç°å¢ç¨ï¼
+    start.S            ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+  lm32/ECP2
+    Makefile.config    Makefile ã® LatticeECP2 LatticeMico32/DSP ãã¼ãä¾å­å®ç¾©
+    lm32.h             LatticeMico32 ã®å®ç¾©
+    lm32.c             LatticeMico32 ç¨ã³ã¼ã
+    sys_config.h       ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+    sys_config.c       ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+    sys_defs.h         ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    sys_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    sys_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    sys_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    sys_support.S      ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+    hw_serial.h        SIO ãã©ã¤ã
+    hw_serial.cfg      SIO ãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+    hw_timer.h         ã¿ã¤ãæä½ã«ã¼ãã³
+    lm32elf.ld         ãã©ãã·ã¥ãã¼ãã§å¤é¨ SRAM å®è¡ã®ãªã³ã«ã¹ã¯ãªããä¾
+
+
+ 4.2 ã·ã¹ãã é¢æ°
+ããµãã¼ããã JSP ã·ã¹ãã é¢æ°ã¯ä»¥ä¸ã®éããC ã©ã¤ãã©ãªã¯å®è£
+ããã¦ããªãã
+
+ 4.2.1 ã¿ã¹ã¯ç®¡çé¢æ°
+    CRE_TSK, act_tsk, iact_tsk, can_act, ext_tsk, ter_tsk,
+    chg_pri, get_pri
+
+ 4.2.2 ã¿ã¹ã¯ä¾å­åæé¢æ°
+    stp_tsk, tslp_tsk, wup_tsk, iwup_tsk, can_wup, rel_wai,
+    irel_wai, sus_tsk, rsm_tsk, frsm_tsk, dly_tsk
+
+ 4.2.3 ã¿ã¹ã¯ä¾å¤ãã³ããªã³ã°é¢æ°
+    DEF_TEX, ras_tex, iras_tex, dis_tex, ena_tex, sns_tex
+
+ 4.2.4 åæããã³éä¿¡é¢æ°
+  ã»ããã©
+    CRE_SEM, sig_sem, isig_sem, wai_sem, pol_sem, twai_sem
+
+  ã¤ãã³ããã©ã°
+    CRE_FLG, set_flg, iset_flg, clr_flg, wai_flg, pol_flag,
+    twai_flag
+
+  ãã¼ã¿ã­ã¥ã¼
+    CRE_DTQ, snd_dtq, psnd_dtq, ipsnd_dtq, tsnd_dtq, fsnd_dtq, 
+    ifsnd_dtq, rcv_dtq, prcv_dtq, trcv_dtq
+
+  ã¡ã¤ã«ããã¯ã¹
+    CRE_MBX, snd_mbx, rcv_mbx, prcv_mbx, trcv_mbx
+
+ 4.2.5 ã¡ã¢ãªãã¼ã«ç®¡çé¢æ°
+  åºå®ãµã¤ãºã»ã¡ã¢ãªãã¼ã«
+    CRE_MPF, get_mpf, pget_mpf, tget_mpf, rel_mpf
+
+ 4.2.6 æéç®¡çé¢æ°
+  ã·ã¹ãã ã¿ã¤ã ç®¡ç
+    set_tim, get_tim, isig_tim
+
+  ãµã¤ã¯ãªãã¯ãã³ãã©ã¼
+    CRE_CYC, sta_cyc, stp_cyc
+
+ 4.2.7 ã·ã¹ãã ç¶æ
+ç®¡çé¢æ°
+    rot_rdq, irot_rdq, get_tid,  iget_tid, loc_cpu, iloc_cpu, 
+    unl_cpu, iunl_cpu, dis_dsp, ena_dsp, sns_ctx, sns_loc, 
+    sns_dsp, sns_dpn
+
+ 4.2.8 å²ãè¾¼ã¿ç®¡çé¢æ°
+    DEF_INF, dis_int, ena_int, chg_ixx, get_ixx
+
+ 4.2.9 ã·ã¹ãã ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ç®¡çé¢æ°
+    DEF_EXC, ATT_INI
+
+
+ 4.3 ãµãã¼ã
+ããã°ç­ãçºè¦ããå ´åã¯ toppers-users ã® ML ã«å ±åãããã¯ Mico32 ä¾å­é¨
+ãæ
+å½è
+ã®ä»¥ä¸ã®ã¡ã¼ã«ã¢ãã¬ã¹ã«é£çµ¡ãã¦é ããã
+
+ããxxxxxx@yyyy.jp
+
+(-- ä»¥ä¸ --)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/linux.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/linux.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/linux.txt	(revision 26)
@@ -0,0 +1,311 @@
+
+             ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                    (Linux ã·ã¥ãã¬ã¼ã·ã§ã³ç°å¢)
+
+             ï¼Release 1.4å¯¾å¿ï¼æçµæ´æ°: 1-Dec-2003ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: linux.txt,v 1.12 2003/12/11 09:57:01 honda Exp $
+------------------------------------------------------------------------
+
+
+1ï¼Linux ä¸ã§ã®åä½ç°å¢ã®æ¦è¦
+
+TOPPERS/JSP ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¨ãã¦ãLinux ä¸ã§åä½ããè¨­å®ãç¨æ
+ãã¦ããããã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¯ãLinux ã® 1ã¤ã®ãã­ã»ã¹ã®ä¸­ã§è¤æ°
+ã®ã¿ã¹ã¯ãåãæ¿ãã¦åä½ãããã
+
+
+1.1. ãµãã¼ããã¦ããªãæ©è½
+
+Linux ä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ãTOPPERS/JSP ãæã£ã¦ããæ©è½ã®å
+ã
+ä»¥ä¸ã®æ©è½ã¯ãµãã¼ããã¦ããªãã
+
+ã»CPUä¾å¤ãã³ãã©
+ã»def_int ã·ã¹ãã ã³ã¼ã«
+ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+CPUä¾å¤ãã³ãã©ã«ã¤ãã¦ã¯ï¼CPUä¾å¤ãã³ãã©èªä½ã®ç»é²ã¯å¯è½ã§ãããï¼
+CPUä¾å¤ãã³ãã©å
+ã§ï¼CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããç¶æ
+ãåç
+§ã§ãã
+vxsns_XXX ã¯CPUä¾å¤ãã³ãã©ã«ã©ããã¼ããã¶ãããã¨ã§å®ç¾ã§ããã¨æã
+ãããç¾å¨ã®ã¨ããã¯ãµãã¼ããã¦ããªãï¼
+
+
+1.2. åä½ç°å¢
+
+TOPPERS/JSP Linux ã®ã·ã¥ãã¬ã¼ã·ã§ã³ç°å¢ã¯ãã·ã°ãã«ã¹ã¿ãã¯ã®æ©è½ãä½¿
+ç¨ãããããæ¬¡ã®ãã¼ã¸ã§ã³ Linux ã«ã¼ãã«ã¨glibcãå¿
+è¦ã¨ãªãï¼
+
+           ã»ã«ã¼ãã« :  2.2 ä»¥ä¸
+           ã»glibc    :  2.1 ä»¥ä¸          
+
+æ¬¡ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã§ã®åä½ãç¢ºèªãã¦ãï¼
+            
+            ã»Vine Linux 2.5,2.6
+            ã»Debian GNU/Linux 3.0
+
+
+
+1.3. å²è¾¼ã¿
+
+Linux ä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ãã·ã°ãã«ãå²è¾¼ã¿ã«å¯¾å¿ããï¼ã·ã°ã
+ã«ãã³ãã©ã¯å²è¾¼ã¿ãã³ãã©ã¨ãã¦æ±ãããã·ã°ãã«ãã¹ã¯ãå²è¾¼ã¿ãã¹ã¯ã«
+å¯¾å¿ãããã¦ã¼ã¶ãã·ã°ãã«ãã³ãã©ãå®ç¾©ãããã¨ãå¯è½ã§ããããä¸å®ã®
+ã«ã¼ã«ã«å¾ããã¨ãå¿
+è¦ã§ããã
+
+Linux ã®ã·ã°ãã«ã®å
+ãSIGUSR1 èµ·åæå¦çãã¿ã¹ã¯ãã£ã¹ãããå¦çã®ãã
+ã«ç¨ãã¦ãããããã¦ã¼ã¶ãå©ç¨ãããã¨ã¯ã§ããªããã¾ããSIGALRM ã¯ã«ã¼
+ãã«å
+ã®ã¿ã¤ãå²è¾¼ã¿ã¨ãã¦ç¨ãã¦ããï¼è¨­å®ã«ãã£ã¦ã¯ï¼SIGIO ã®ãã³ãã©
+ãã«ã¼ãã«å
+ã§å®ç¾©ãããï¼SIGIO ã®æ±ãã«ã¤ãã¦ã¯ï¼ç« ãåç
+§ï¼ã
+
+
+
+1.4. æéç®¡ç
+
+å¨æå²è¾¼ã¿ã®ééã¯ 10ããªç§ãæ¨æºã¨ãã¦ããããã¿ã¼ã²ããä¾å­ã®ã¿ã¤ã
+ã¢ã¸ã¥ã¼ã«ã®ã¿ã®ä¿®æ­£ã§å¤æ´ã§ãããã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢å
+¨ä½ã 1ã¤ã®ãã­
+ã»ã¹ã¨ãã¦å®è¡ãããããï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢å
+¨ä½ã«å²ãå½ã¦ããã CPU
+æéã UNIX ã®ã¹ã±ã¸ã¥ã¼ã©ã«ãã£ã¦æ±ºããããããã®ãããé«ãæéç²¾åº¦ã
+æå¾
+ãããã¨ã¯ã§ããªãã
+
+
+
+
+ï¼ï¼ã·ã¹ãã ã³ã¼ã«ä»æ§ã®éã
+
+ä»¥ä¸ã§ã¯ï¼BSD UNIXä¸ã§ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã®ï¼åã·ã¹ãã ã³ã¼ã«ã®ä»
+æ§ã®éãã«ã¤ãã¦è¿°ã¹ãï¼
+
+(1) loc_cpu             å²è¾¼ã¿ã¨ãã£ã¹ãããã®ç¦æ­¢
+
+ã»loc_cpu ã¯ï¼ãã¹ã¦ã®ã·ã°ãã«ããã¹ã¯ããç¶æ
+ã«è¨­å®ããï¼
+
+(2) unl_cpu             å²è¾¼ã¿ã¨ãã£ã¹ãããã®è¨±å¯
+
+ã»unl_cpu ã¯ï¼ãã¹ã¦ã®ã·ã°ãã«ãã¹ã¯ãè§£é¤ããç¶æ
+ã«è¨­å®ããï¼
+
+(3) chg_iXX             å²è¾¼ã¿ãã¹ã¯å¤æ´
+
+ã»åç§°ã¯ chg_ims ã¨ãã¦ãããchg_ims ããµãã¼ããããã©ãããã
+SUPPRT_CHG_IMS ãå®ç¾©ãããã©ããã§å¤æ´ã§ãããchg_ims ã¯ãã·ã°ãã«ã
+ã¹ã¯ãæå®ããå¤ã«è¨­å®ãããã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã¯ããã£ã¹ãããã£ãå¼
+ã³åºã SIGUSR1 ã·ã°ãã«ã®ãã¹ã¯ãè¨­å®ãããã¨ã¯ã§ããªãã(è¨­å®ãããã¨
+ããã¨ E_PAR ã¨ã©ã¼ã«ãªã)ãã¾ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã¯ SIGUSR1 ã
+è§£é¤ãããã¨ã¯ã§ããªãã(è§£é¤ãããã¨ããã¨ E_PAR ã¨ã©ã¼ã«ãªã)ãã¿ã¹
+ã¯ã³ã³ãã­ã¹ãã§chg_ims ã«ããè¨­å®ããå¤ã¯ãã£ã¹ããããçºçãã¦ãä»ã®
+ã¿ã¹ã¯ã«å¼ãç¶ããããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§è¨­å®ããå ´åã¯ããã®éã¿ã¹
+ã¯ã³ã³ãã­ã¹ãã®ä¸­ã§ã®ã¿æå¹ã§ããã
+
+(4) get_iXX             å²è¾¼ã¿ãã¹ã¯åç
+§
+
+ã»åç§°ã¯ get_ims ã¨ãã¦ãããref_ims ã¯ãã·ã°ãã«ãã¹ã¯ã®ç¾å¨å¤ãèª­ã¿
+åºãã·ã¹ãã ã³ã¼ã«ã§ããã
+
+
+(5) vget_tim            æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§
+
+ã»ãµãã¼ããã¦ããªãï¼
+
+
+
+3ï¼ãã³ãã­ãã­ã³ã°I/O
+
+3.1. ãã³ãã­ãã­ã³ã°I/O ã®å¿
+è¦æ§
+
+TOPPERS/JSP ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢å
+¨ä½ã 1ã¤ã®ãã­ã»ã¹ã¨ãã¦åä½ãã¦ã
+ããããTOPPERS/JSP ã®ã¿ã¹ã¯ãã UNIX ã«ã¼ãã«å
+ã§ãã­ãã¯ããã·ã¹ãã 
+ã³ã¼ã«ãå¼ã³åºããå ´åãã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢å
+¨ä½ããã­ãã¯ãããä»ã®ã¿
+ã¹ã¯ãå®è¡ãããã¨ãã§ããªããªãï¼å³å¯ã«ã¯ï¼ãã­ãã¯ä¸­ã«ã·ã°ãã«ãåã
+åã£ãå ´åã«ã¯ï¼ãã­ãã¯ãè§£é¤ããã¦å®è¡ãç¶ç¶ã§ããï¼ããã®ããï¼UNIX 
+ã«ã¼ãã«å
+ã§ã®ãã­ãã¯ãèµ·ãããªãããã«ãä½éã® I/Oã¢ã¯ã»ã¹ã¯ããã³ã
+ã­ãã­ã³ã°ã¢ã¼ãã§è¡ãå¿
+è¦ãããã
+
+Linux ã®ãã³ãã­ãã­ã³ã°I/Oã¢ã¼ãã§ã¯ãéå¸¸ã§ããã°ã«ã¼ãã«ä¸­ã§ãã­ã
+ã¯ããããããª read/writeã·ã¹ãã ã³ã¼ã«ãããããã«ãªã¿ã¼ã³ãã¦ãã 
+ï¼ãã®æï¼ãããã®ã·ã¹ãã ã³ã¼ã«ã¯ EWOULDBLOCK ã¨ã©ã¼ãå ±åããï¼ï¼ã
+ãã«éåæI/Oã¢ã¼ããä½µç¨ããã¨ããããã®ã·ã¹ãã ã³ã¼ã«ãå¼ã³åºãã¦ã
+ãã­ãã¯ãããªãç¶æ³ã«ãªã£ãæã«ãUNIXã«ã¼ãã«ã¯ SIGIO ã·ã°ãã«ãä½¿ã£
+ã¦ãã®ãã¨ããã­ã»ã¹ã«ç¥ãããã
+
+
+3.2. TOPPERS/JSP ã«ããããµãã¼ã
+
+Linux ã®ãã³ãã­ãã­ã³ã°I/O ã TOPPERS/JSP ã®ã¿ã¹ã¯ããå©ç¨ããããã«
+ã¯ãSIGIO ãæã¾ããã·ã°ãã«ãã³ãã©ãå®ç¾©ããæã¾ããã·ã°ãã«ãä½ãã
+ã®å½¢ã§ã¿ã¹ã¯ã«éç¥ããå¿
+è¦ãããããã®ããã®ææ®µã¨ãã¦ãTOPPERS/JSP ã§
+ã¯ãSIGIO ã·ã°ãã«ã®çºçã«ããå¼ã³åºãããã³ã¼ã«ããã¯é¢æ°ãç»é²ããæ©
+è½ãç¨æãã¦ããã
+
+å
+·ä½çã«ã¯ãSIGIO ã·ã°ãã«ã«ããã³ã¼ã«ããã¯é¢æ°ãå®è¡ããããå ´åã«ã¯ã
+SIGIO éç¥ã¤ãã³ããã­ãã¯ï¼SIGIOEBï¼ãç¨æãããã® callback ãã£ã¼ã«
+ãã«ã³ã¼ã«ããã¯é¢æ°ã¸ã®ãã¤ã³ã¿ãarg ãã£ã¼ã«ãã«ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡
+ãå¼æ°ãè¨­å®ããeneuque_sigioeb ãç¨ãã¦ SIGIO éç¥ã¤ãã³ãã­ã¥ã¼ã«ç»
+é²ãããSIGIO ã·ã°ãã«ãçºçããã¨ãç»é²ããã³ã¼ã«ããã¯é¢æ°ããã¹ã¦å¼
+ã³åºããããã³ã¼ã«ããã¯é¢æ°ã 0 ãè¿ãã¨ãé¢é£ãã SIGIO éç¥ã¤ãã³ã
+ãã­ãã¯ã¯ã­ã¥ã¼ã«ç»é²ãããã¾ã¾ã¨ãªããç¶ã SIGIO ã·ã°ãã«ã§åã³åã
+ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºããããã³ã¼ã«ããã¯é¢æ°ã 0 ä»¥å¤ãè¿ãã¨ã
+SIGIO éç¥ã¤ãã³ããã­ãã¯ã¯ã­ã¥ã¼ããåé¤ãããã³ã¼ã«ããã¯é¢æ°ã¯ãã
+ä»¥éå¼ã³åºãããªããªãï¼include/linux_sigio.h,systask/linux_sigio.cï¼ã
+ãªããSIGIO éç¥ã¤ãã³ãã­ã¥ã¼ã«ç»é²ãã eneuque_sigioeb ã¯ã»ããã©ã
+ä½¿ç¨ããããã«ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã¹ãªããããã·ã¹ãã èµ·åæã®
+åæåã«ã¼ãã³ç­ããã¯ãenqueue_sigioeb_initialize ãç¨ããã
+
+ãã³ãã­ãã­ã³ã°I/O ãµãã¼ãã¢ã¸ã¥ã¼ã«ã¯ãã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã
+ãã«ãå
+é¨ã§ã¿ã¹ã¯ã 1ã¤ï¼tskid = TSK_LINUX_SIGIOï¼ã¨ãSIGIO éç¥ã¤ã
+ã³ãã­ã¥ã¼ã«å¯¾ããæä»ã¢ã¯ã»ã¹ã®ããã«ã»ããã©ã 1ã¤ï¼semid =
+SEM_LINUX_SIGIOï¼ãç¨ãã¦ããããã³ãã­ãã­ã³ã°I/O ãµãã¼ãã¢ã¸ã¥ã¼ã«
+ãç¨ããããã«ã¯ãã·ã¹ãã æ§æè¨­å®ãã¡ã¤ã«ã§ãå
+é¨ã§ç¨ããã¿ã¹ã¯ããã³
+ã»ããã©ãä½¿ããããã«è¨­å®ããªããã°ãªããªãã
+
+
+3.5. çä¼¼ã·ãªã¢ã«ãã©ã¤ã
+
+Linux ä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãããã¤ãã£ãç°å¢ã¨ãªãã¹ãè¿ããã®ã¨ã
+ãããã«ããã¤ãã£ãç°å¢ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨åç­ã®æ©è½ã
+æã¤çä¼¼ã·ãªã¢ã«ãã©ã¤ããç¨æãã¦ããï¼systask/linux_serial.cï¼ãçä¼¼
+ã·ãªã¢ã«ãã©ã¤ãã¯ãä¸ã§è¿°ã¹ããã³ãã­ãã­ã³ã°I/O ã®æ©è½ãç¨ãã¦ãã·ãª
+ã¢ã«ãã¼ãã«å¯¾ããå
+¥åºåããæ¨æºå
+¥åºåã«å¯¾ãã¦è¡ããã®ã§ããã
+
+
+ï¼ï¼ã¤ã³ã¹ãã¼ã«ã»ãã®ä»
+
+4.1. ã¤ã³ã¹ãã¼ã«
+
+Linux ä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãTOPPERS/JSP ã®æ¨
+æºãªãªã¼ã¹ã«å«ã¾ããä»¥å¤ã«ãä»¥ä¸ã®ãã¼ã«ãå¿
+è¦ã§ããã
+
+    GNU Cã³ã³ãã¤ã©
+    BINUTILS ã¢ã»ã³ãã©ï¼ãªã³ã«ãªã©
+    perl 5ï¼åä½ç¢ºèªã¯ 5.005_03ï¼
+    GNU Makeï¼åä½ç¢ºèªã¯ 3.78.1ï¼
+
+
+4.2. çä¼¼ã·ãªã¢ã«ãã©ã¤ãä½¿ç¨ä¸ã®æ³¨æ
+
+çä¼¼ã·ãªã¢ã«ãã©ã¤ãã¯ãæ¨æºå
+¥åããã³ãã­ãã­ã³ã°ã® RAWã¢ã¼ãã«è¨­å®ã
+ããæ¨æºå
+¥åããã³ãã­ãã­ã³ã°ã® RAWã¢ã¼ãã«è¨­å®ããã¾ã¾ã®ç¶æ
+ã§ãã­ã°
+ã©ã ãçµäºããã¨ãã·ã§ã«ãæ­£ããåä½ããªããªãããã®ããï¼TOPPERS/JSP 
+ãçµäºããåã«å¿
+ãæ¨æºå
+¥åãå
+ã®ç¶æ
+ã«æ»ãå¿
+è¦ããããããã­ã»ã¹ãçµäº
+ãããã·ã°ãã«ã¯æ°å¤ãããããã®ãã¹ã¦ã«ã¯å¯¾å¦ãã¦ããªããã¾ããã¦ã¼ã¶
+ãã­ã°ã©ã ã§æã¾ãããã¨ã®ã§ããªãã·ã°ãã«ããããå®å
+¨ã«å¯¾å¦ãããã¨ã¯
+ä¸å¯è½ã§ããã
+
+
+4.3. ãããã¬ä½¿ç¨ä¸ã®ãã³ã
+
+Linuxä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¯ãUNIXä¸ã®ã·ã³ããªãã¯ãããã¬ã¨çµã¿å
+ããã¦ä½¿ããã¨ã§ãTOPPERS/JSP ãç¨ããã·ã¹ãã ã®ãããã°ã«åãçºæ®ãã
+ããã ãããããã¬ã¨çµã¿åããã¦ä½¿ãä¸ã§ãTOPPERS/JSP ãã¿ã¹ã¯åãæ¿ã
+ã« SIGUSR1ã·ã°ãã«ãä½¿ã£ã¦ããããã«ãã¿ã¹ã¯åãæ¿ãã®åº¦ã«ãããã¬ã«å¶
+å¾¡ãæ»ã£ã¦ãã¾ãã¨ããåé¡ããããGNU ã·ã³ããªãã¯ãããã¬ï¼GDBï¼ã®å ´
+åã«ã¯ãæ¬¡ã®ã³ãã³ãã«ãããããã¬ã SIGUSR1 ãæã¾ããªãããã«è¨­å®ã
+ããã¨ãã§ããã
+
+    (gdb) handle SIGUSR1 nostop noprint
+
+ãã®ã³ãã³ããã.gdbinit ã«è¨­å®ãã¦ããã¨ä¾¿å©ã§ããã
+
+ã¾ããæ¡ä»¶ä»ãã¬ã¼ã¯ãã¤ã³ãããµãã¼ããã¦ãããããã¬ã®å ´åã¯ãç¹å®ã®
+ã¿ã¹ã¯ãç¹å®ã®ã¢ãã¬ã¹ãå®è¡ããå ´åã«éã£ã¦å®è¡ãåæ­¢ããããã¨ãã§ã
+ãï¼åæ­¢ããã®ã¯ãã·ã¹ãã å
+¨ä½ã§ãç¹å®ã®ã¿ã¹ã¯ã ãã§ã¯ãªãï¼ãä¾ãã°ã
+GDB ã®å ´åã«ã¯ãæ¬¡ã®ã³ãã³ãã«ãããID ã TSKID ã®ã¿ã¹ã¯ãé¢æ° FUNC ã
+å¼ã³åºããå ´åã«ã®ã¿å®è¡ãåæ­¢ããããã¨ãã§ããï¼å³å¯ã«ã¯ããã®æå®æ¹
+æ³ã§ã¯ãID ã TSKID ã®ã¿ã¹ã¯ãå®è¡ä¸­ã«èµ·åãããå²è¾¼ã¿ãã³ãã©ã FUNC 
+ãå¼ã³åºããå ´åã«ãåæ­¢ããï¼ã
+
+    (gdb) break FUNC if _kernel_runtsk == &_kernel_tcb_table[TSKID-1]
+
+
+
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m16c.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m16c.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m16c.txt	(revision 26)
@@ -0,0 +1,762 @@
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                         ï¼M16C ã¿ã¼ã²ããä¾å­é¨ï¼
+
+            ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 20-May-2011ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2003-2004,2007,2010,2011 by Naoki Saito
+            Nagoya Municipal Industrial Research Institute, JAPAN
+ Copyright (C) 2003-2004 by Platform Development Center
+                                         RIOCH COMPANY,LTD. JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+------------------------------------------------------------------------
+
+1.  M16C ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1  ã¿ã¼ã²ããã·ã¹ãã 
+
+M16C ã¿ã¼ã²ããä¾å­é¨ã¯ï¼ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
+ãªã¼ã¯ã¹é»å­æ ªå¼ä¼ç¤¾ã® OASKS16 åã³ OAKS16-MINI ããµãã¼ããã¦ããï¼
+OAKS16 ã¯ãã­ã»ããµã¨ãã¦ M30620FCAFP-CPU ãï¼OAKS16-MINI ã¯
+M30262F8FG-CPUãæ­è¼ãã¦ããï¼
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+éçºç°å¢ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®éçºãã¼ã«ãä½¿ç¨ããï¼
+ãã«ãç®¡çã®æ¹æ³ã¨ãã¦ï¼2ã¤ã®å½¢æ
+ãç¨æãã¦ããï¼
+
+ã²ã¨ã¤ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®çµ±åéçºç°å¢ TM ãä½¿ç¨ãã¦
+éçºãè¡ãæ¹æ³ã§ããï¼
+
+ããã²ã¨ã¤ã¯ï¼DOSçªãã make ã³ãã³ããç¨ãã¦éçºãè¡ãæ¹æ³ã§ããï¼
+ãã ãï¼ãã®æ¹æ³ã¯ä»¥ä¸ã®æ¡ä»¶ãå¿
+è¦ã§ããï¼
+	ã»OAKS16 ã¿ã¼ã²ããä¾å­é¨ã§éçºãè¡ãå ´åã«ã®ã¿å©ç¨å¯è½
+	ã»éçºãã¼ã« NC30WA ãã©ã¤ãã©ãªã¢ã³ãå©ç¨å¯è½ãªçã§ãããã¨
+	ãï¼æè¿ã®ç¡åè©ä¾¡çã³ã³ãã¤ã©ã¯ãã®æ¡ä»¶ãæºããã¦ããï¼
+	ã»perl ãå©ç¨ã§ãããã¨
+
+éçºç°å¢ã®è©³ç´°ã«é¢ãã¦ã¯ï¼tools/M16C-RENESAS ãã£ã¬ã¯ããªä¸­ã®
+README.txt ãåç
+§ã®ãã¨ï¼
+
+å®è¡ç°å¢ã¯ Windows ãã¤ã³ã¹ãã¼ã«ããã¦ãã¦ï¼ãã¤ï¼ã·ãªã¢ã«ãã¼ãã
+æ­è¼ããPC ãããã°ï¼ãã­ã°ã©ã ã®ãã«ãããã³ãã¼ãä¸ã§ã®å®è¡ãå¯è½ã§ããï¼
+
+1.3  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+ã¿ã¼ã²ããä¾å­ã¨ããã¦ããæ©è½ã«å¯¾ãããµãã¼ãç¶æ³ã¯ä»¥ä¸ã®éãï¼
+	ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ï¼ ãµãã¼ã
+	ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ (chg_ixxï¼ get_ixx)ï¼æªãµãã¼ã
+	ã»å²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intï¼ena_int)ï¼æªãµãã¼ã
+
+1.4  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+M16C ã¯ CPUä¸ã«å¤ãã®ããã¤ã¹ãå®è£
+ããã¦ããï¼SFR ã¨ããå½¢å¼ã§
+çµ±ä¸åããã¦ããï¼ãã®ãã M16C ã·ãªã¼ãºã® CPU ãæ­è¼ãããã¼ãã§ããã°ï¼
+ãã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããï¼
+
+1.5  ã·ãªã¢ã«ãã¼ã
+
+ã¿ã¼ã²ãããã¼ãã«ã¯ UART1 ãã¼ããå®è£
+ããã¦ããï¼ã¾ã UART0 ãã¼ãã
+æ¡å¼µå¯è½ã¨ãªã£ã¦ããï¼ã¿ã¼ã²ããä¾å­é¨ã®ã·ãªã¢ã«ãã©ã¤ãã§ã¯ 2ã¤ã®ãã¼ã
+ãå¿
+è¦ã«å¿ãã¦å©ç¨å¯è½ã¨ãªã£ã¦ããï¼
+ãªãï¼OAKS16-MINI çã®ã·ãªã¢ã«ãã©ã¤ãã¯ï¼RAMãµã¤ãºã 2KBã¨ããå¶ç´ã®ãã
+XON/XOFF åã³ã¨ã³ã¼ç­ã®æ©è½ã«ã¯å¯¾å¿ãã¦ããªãï¼
+
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãï¼ 
+	ã»ãã¼ã¬ã¤ãï¼19200[bps]ï¼
+	ã»ãã¼ã¿é·ï¼8 ãããï¼
+	ã»ã¹ããããããï¼1 ãããï¼
+	ã»ããªãã£ãªãï¼
+
+1.6  å¯¾è±¡ã¨ããã½ã¼ã¹ã³ã¼ãã®æå­ã³ã¼ã
+
+TOPPERSãã­ã¸ã§ã¯ãããå
+¬éããã TOPPERS/JSP ã«ã¼ãã«ã®ããã±ã¼ã¸ã¯ï¼
+æå­ã³ã¼ãåã³æ¹è¡ã³ã¼ãã EUC+LF åã³ SJIS+CRLF ã® 2ã¤ã®ãã¿ã¼ã³ã®
+ããã±ã¼ã¸ãå­å¨ããï¼EUC+LFçã®ããã±ã¼ã¸ã§ããã¦ã³ã­ã¼ããã¦å±éå¾ï¼
+æå­ã³ã¼ãå¤æããã°ä½¿ç¨å¯è½ã¨æããããï¼M16Cä¾å­é¨ãå©ç¨ããå ´åã¯ï¼
+SJIS+CRLF ã®ããã±ã¼ã¸ããã¦ã³ã­ã¼ããããã¨ãæ¨å¥¨ããï¼
+
+
+2.  M16C ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼M16Cä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1  ãã¼ã¿å
+
+int åã¨ unsigned int åã®ãµã¤ãºã¯ 16ãããã§ããï¼ã¾ãï¼_int64_ ã«ã¯
+å¯¾å¿ãã¦ããªãï¼
+
+ãã¤ã³ã¿ã«é¢ãã¦ï¼M16C ã§ã¯16ãããé·ã® near ãã¤ã³ã¿åã³ 32ãããé·ã®
+far ãã¤ã³ã¿ãå­å¨ããï¼near ãã¤ã³ã¿ã¯ RAM åã³ããã¤ã¹ã®ãã¼ãé åã§ãã
+SFR(Special Function Register) ãã¢ã¯ã»ã¹ããçºã®ãã¤ã³ã¿ã§ããï¼
+ä¸æ¹ï¼far ãã¤ã³ã¿ã¯ near ãã¤ã³ã¿ã§ã¢ã¯ã»ã¹å¯è½ãªé åã«å ã
+ROM é åã¾ã§ã¢ã¯ã»ã¹ãå¯è½ãªãã¤ã³ã¿ã§ããï¼
+ãã®ããã«ãµã¤ãºãç°ãªã2ç¨®é¡ã®ãã¤ã³ã¿ãå­å¨ããããï¼ã¦ã¼ã¶ãã­ã°ã©ã 
+ãä½æããå ´åï¼ãã¤ã³ã¿ã®ãµã¤ãºãæè­ããå¿
+è¦ãããï¼
+
+Î¼ITRON 4.0 ä»æ§ã®ãã¼ã¿åã®å®ç¾©ã«é¢ãï¼ä»åã®ãã¼ãã£ã³ã°ã§ã¯
+VP ã near ãã¤ã³ã¿ï¼VP_INT ã far ãã¤ã³ã¿ã¨ãã¦ããï¼
+
+ã¾ãï¼size_t åã®ãã¼ã¿ãµã¤ãºã«ã¤ãã¦ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹è£½
+Cã³ã³ãã¤ã© NC30WA V.5.40 Release00 ä»¥éã®çã§ã¯32ãããã§ãããï¼
+ããããåã®çã®ã³ã³ãã¤ã©ã§ã¯16ãããã¨ï¼æ¢å®ãµã¤ãºãç°ãªãããï¼
+æ³¨æãå¿
+è¦ã§ããï¼
+
+
+2.2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+M16C ã®CPUã­ãã¯ç¶æ
+ã®å®è£
+ã¯ãã©ã°ã¬ã¸ã¹ã¿ä¸­ã®å²è¾¼ã¿è¨±å¯ãã©ã°(Iãã©ã°)
+ãç¨ãã¦è¡ãï¼CPUã­ãã¯ç¶æ
+ã§ã¯ Iãã©ã°ã 0 ã«è¨­å®ããï¼ãã¼ãã¦ã§ã¢
+ãã¹ã«ãã«å²è¾¼ã¿ã¯ç¦æ­¢ï¼åä»ãä¿çï¼ãããï¼CPUã­ãã¯è§£é¤ç¶æ
+ã§ã¯ Iãã©ã°
+ã 1 ã«è¨­å®ããï¼(å²è¾¼ã¿åªå
+åº¦ã¬ãã«(IPL)ã®å¤ã«ããããï¼)ãã¹ã¯å¯è½ãª
+å²è¾¼ã¿è¦æ±ã®åä»ãå¯è½ã¨ãªãï¼
+
+M16C ä¾å­é¨ã«ãããã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯ï¼NMI ã®ã¿ã§ããï¼
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼M16Cã§ã®ã½ããã¦ã§ã¢
+å²è¾¼ã¿çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
+
+M16C ãã­ã»ããµã§ã¯ï¼å²è¾¼ã¿ã®å
+¥å£å¦çã®ã¢ãã¬ã¹ãå²è¾¼ã¿ãã¯ã¿ã§æå®ããï¼
+å²è¾¼ã¿ãã¯ã¿ã¯å¯å¤ãã¯ã¿åã³åºå®ãã¯ã¿ããæ§æããï¼ãã®ãã¡å¯å¤ãã¯ã¿
+ã«ã¤ãã¦ã¯ VECTOR_ADR (start.a30) ã§æå®ãããã¢ãã¬ã¹ã¸éçã«é
+ç½®ãããï¼
+æ¬éçºç°å¢ã§ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã«ããçæããã kernel_cfg.c ã®
+å
+å®¹ãè§£æãï¼å²è¾¼ã¿ãã¯ã¿ãçæããã¦ã¼ãã£ãªãã£ãç¨æãã¦ããï¼
+
+ãã®ã¦ã¼ãã£ãªãã£ã¯ m16cvec.exe ã¨ããåç§°ã§ utils/m16c-renesas 
+ãã£ã¬ã¯ããªã«ç½®ããï¼åå¦çããã kernel_cfg.c ã®å
+å®¹ãè§£æãã¦
+å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã« m16cvec.incãçæããï¼
+m16cvec.inc ãã¡ã¤ã«ã¯ CPU ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã§ãã start.a30
+ããã¤ã³ã¯ã«ã¼ããããï¼
+
+ãªãï¼DEF_INH ã®å²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æªå®ç¾©ã®ç¯å²ã®å¤ãæå®ããå ´åï¼
+ãã® DEF_INH ã§æå®ããé¢æ°ãï¼å®ç¾©ããã¦ããªãå²è¾¼ã¿ç¨ã®å²è¾¼ã¿ãã³ãã©
+ã¨ãã¦ä½¿ãããããã«ï¼è¨­å®ãããï¼
+ãã®ããï¼ãã®æ¹æ³ãä½¿ãã°ï¼ã¦ã¼ã¶ã¯æªå®ç¾©ã®ï¼ã¤ã¾ãï¼DEF_INH ã§å®ç¾©ãã¦
+ããªãï¼å²è¾¼ã¿ãçºçããå ´åã®ãã³ãã©ãè¨­å®ãããã¨ãã§ããï¼
+
+
+2.3  CPU ä¾å¤ç®¡çæ©è½ã¨ CPU ä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M16Cã§ã®ã½ããã¦ã§ã¢å²è¾¼ã¿
+çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ char åã«å®ç¾©ããã¦ããï¼
+
+CPUä¾å¤ã¨ãã¦ï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã¨ã½ããã¦ã§ã¢ãã³ãã¹ã«
+ãã«å²è¾¼ã¿ãããï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã«ã¤ãã¦ã¯ï¼
+ãªã»ãããé¤ãï¼å²è¾¼ã¿ãã¯ã¿ã®è¨­å®ãå¯è½ã§ããï¼
+
+CPUä¾å¤ãã³ãã©ã«å¯¾å¿ãããã¯ã¿ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®éã¨åæ§ã«
+m16cvec.exe ãç¨ãã¦ m16cvec.inc ã«è¨­å®ããï¼
+ãªãï¼CPUä¾å¤ãã³ãã©çªå·ã¨ãã¦æªå®ç¾©ã®å¤ãè¨­å®ããå ´åã¯ï¼
+å®ç¾©ããã¦ããªãCPUä¾å¤ãã³ãã©ã®ãã³ãã©ã¨ãã¦è¨­å®ãããï¼
+ãã®ããï¼ã¦ã¼ã¶ã¯æªå®ç¾©ã®CPUä¾å¤ãçºçããå ´åã®ãã³ãã©ã
+è¨­å®ãããã¨ãã§ããï¼
+
+2.4  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+M16C ä¾å­é¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.a30) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡
+ããå¾ï¼ã«ã¼ãã« (kernel_start) ãèµ·åããï¼ãã ãï¼kernel_start ãã
+æ»ã£ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼é»æºæå
+¥ç´å¾ã«èµ·åãããã¹ã¿ã¼ãã¢ãã
+ã¢ã¸ã¥ã¼ã«ã®éå§çªå°ã¯ m16cvec.inc ã®ãã¯ã¿å®ç¾©ãã _hardware_start ã¨
+ããã¦ãããï¼ãããé
+ç½®ãããã¢ãã¬ã¹å¤ã¯ãªã³ã¯æã«æ±ºå®ãããï¼
+
+(1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+(2) CPUé¢é£ã®åæè¨­å®
+
+ãã­ã»ããµã¢ã¼ãã®è¨­å®ã¨ã¯ã­ãã¯ã®è¨­å®ãè¡ãï¼
+
+(3) hardware_init_hook ã®å¼åºã(æªå®è¡)
+
+M16Cã¢ã»ã³ãã©ã¯ï¼Cè¨èªã³ã³ãã¤ã©ã¨åæãåã£ãããªã³ã³ãã¤ã«å¦çãã§
+ããªãï¼hardware_init_hook ã®å¤å®ãã§ããªãããå¯¾å¿ãã¦ããªãï¼
+å®éï¼M16Cã®ãã¼ãã¦ã§ã¢è¨­å®ã«é¢ãã¦ã¯ï¼sys_initialize()é¢æ°ä¸­ã§è¡ã£ã¦
+ãååã«å¯¾å¿ã§ããã¨èããããã®ã§ãã¡ãã§å¯¾å¿ãã¦ããã ãããï¼
+
+(4) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(5) software_init_hook ã®å¼åºã
+
+software_init_hook ã®å¤ã 0 ã§ãªããã°ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ã«ã¼ãã«èµ·ååã«ï¼ã½ããã¦ã§ã¢ç°å¢ (ã©ã¤ãã©ãªç­)
+ä¾å­ã®åæåãè¡ãããã«ç¨æããã¦ããï¼
+
+software_init_hook ã®å®ç¾©ã¯ cpu_config.c ä¸­ã§è¡ãï¼æ¢å®ã§ã¯ 0 ã«ä»®è¨­å®
+ããã¦ããï¼ç¬èªã«å¥ã®å ´æã§ software_init_hook ãå®ç¾©ããå ´åï¼ãã¯ã­
+ã¨ãã¦ EXTERNAL_SOFT_HOOK ãå®ç¾©ããï¼ãã®ããã«ããã°ï¼å
+ã®å¤æ°å®ç¾©ã¯
+å«ã¾ããªããªãããï¼å¤é¨ã§ã®è¨­å®ãå¯è½ã¨ãªãï¼
+ä¾ãã°ï¼ã©ã¤ãã©ãªã®åæè¨­å®ãªã©ãè¡ãããå ´åã¯ï¼å¤é¨ããã®å¤æ°å®ç¾©ã
+è¡ããã¨ãå¯è½ã¨ãªãï¼
+
+(6) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+2.5  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
+
+ã«ã¼ãã«èµ·åï¼åã³ï¼å²è¾¼ã¿çºçæã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã¨ã¯å¥ã®å²è¾¼ã¿å°ç¨ã®
+ã¹ã¿ãã¯ãä½¿ç¨ãã¦ããï¼ãã®ã¹ã¿ãã¯é åã¯ RAMEND ã¨ãããã¯ã­ã§
+æå®ãããã¢ãã¬ã¹ããä½ä½æ¹åã«åããã¡ã¢ãªä¸ã®é åã«ç¢ºä¿ãããï¼
+ãã®ããï¼ã·ã¹ãã èµ·åæã«ã¯ãã®é åãç¢ºä¿ããå¿
+è¦ãããï¼
+
+å²è¾¼ã¿ãã¹ãã¬ãã«ã 0ï¼ã¤ã¾ãï¼ã¿ã¹ã¯å®è¡ä¸­ï¼ã§å²è¾¼ã¿ãçºçããã¨ï¼
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿å­ããå¾ï¼å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«
+ã¹ã¿ãã¯ãåãæ¿ããï¼ãã®ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã«ã¯
+æ±ç¨ã¬ã¸ã¹ã¿ï¼ãã©ã°ï¼PC ãªã© 20ãã¤ãã®é åãä½åã«å¿
+è¦ã¨ãªãï¼
+
+å²è¾¼ã¿ãã¹ãã¬ãã«ã 1 ä»¥ä¸ã®ç¶æ
+ ï¼ã¤ã¾ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼ã§
+å²è¾¼ã¿è¦æ±ãåãä»ããããå ´åï¼å²è¾¼ã¿ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿å­ãããï¼
+ããã«ã¯å²è¾¼ã¿çºçæ¯ã«20ãã¤ããã¤å¿
+è¦ã§ããï¼ããã«å ãï¼ããããã®
+å²è¾¼ã¿å¦çã«ã¼ãã³ã§ä½¿ç¨ãããã¹ã¿ãã¯ãµã¤ãºãå¿
+è¦ã¨ãªãï¼
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ï¼sys_defs.h ã®ä¸­ã®
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ï¼isig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼
+ãã ãï¼ã¿ã¤ãã®ç²¾åº¦ã1Î¼ç§ã§ããããï¼1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ãã
+å ´åã«ã¯ï¼isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+3.2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+M16Cã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ããµãã¼ããã¦ããï¼
+OAKS16 ã§ã¯ç²¾åº¦ 0.0625[us]ï¼OAKS16-MINIã§ã¯ç²¾åº¦ 1.6[us]ã§ããï¼SYSUTIM
+åã¯ UW å (32 ãããç¬¦å·ãªãæ´æ°å) ã§ããï¼
+
+3.3  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+OAKS16ï¼OAKS16-MINI ã§ã¯ UART0 ã¨ UART1 ã® 2ã¤ã®ã·ãªã¢ã«ãã¼ãã
+ãã¼ãä¸ã«å®è£
+ã§ããï¼ãã®ãã¡ã³ãã¯ã¿ãå®è£
+ããã UART1 ã
+ã­ã°åºåç¨ã«ä½¿ç¨ãã¦ããï¼
+
+
+3.4  ã¡ã¢ãªããã
+
+3.4.1  OAKS16ã®ã¡ã¢ãªããã
+
+(1)  å®è¡ç°å¢
+
+     0x00000 - 0x003ff  SFRé å
+     0x00400 - 0x02bff  å
+è RAMï¼data_NEï¼data_NOï¼bss_NEï¼bss_NO
+     0xe0000 - 0xffdff  å
+èµ ROMï¼programï¼rom_FEï¼rom_FOï¼data_NEIï¼
+                                  data_NOI
+     0xffe00 - 0xfffdb  å
+èµ ROMï¼ãã¼ãï¼ã½ããå²è¾¼ã¿ãã¯ã¿é å (vector)
+     0xfffdc - 0xfffff  å
+èµ ROMï¼ãã¼ãCPUä¾å¤ãã¯ã¿é å(fvector)
+
+3.4.2  OAKS16-MINIã®ã¡ã¢ãªããã
+
+(1)  å®è¡ç°å¢
+
+     0x00000 - 0x003ff  SFRé å
+     0x00400 - 0x00bff  å
+è RAMï¼data_NEï¼data_NOï¼bss_NEï¼bss_NO
+     0xe0000 - 0xffdff  å
+èµ ROMï¼programï¼rom_FEï¼rom_FOï¼data_NEIï¼
+                                  data_NOI
+     0xffe00 - 0xfffdb  å
+èµ ROMï¼ãã¼ãï¼ã½ããå²è¾¼ã¿ãã¯ã¿é å (vector)
+     0xfffdc - 0xfffff  å
+èµ ROMï¼ãã¼ãCPUä¾å¤ãã¯ã¿é å(fvector)
+
+4.  éçº
+
+4.1  éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã¯ï¼Windows XP (Service Pack 3)ã§åä½ç¢ºèªããï¼
+æ§ç¯ç°å¢ã¯ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®éçºç°å¢ãç¨ããï¼
+ãã«ãç®¡çæ¹æ³ã¨ãã¦ï¼ä»¥ä¸ã® 2ã¤ãããï¼
+
+(1)  ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®çµ±åéçºç°å¢ TM ãä½¿ç¨ããç°å¢
+
+	å¯¾è±¡ï¼OAKS16ãã¼ãï¼OAKS16-MINIãã¼ã
+	æ¹å¼ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾ã®çµ±åéçºç°å¢ TM V3.20 ãç¨ãã¦æ§ç¯ããï¼
+			ãã®éï¼ã«ã¼ãã«é¨ãã©ã¤ãã©ãªåããæ§ç¯ãã
+	åä½ç¢ºèªã³ã³ãã¤ã©ï¼
+			NC30WA Version 5.45 Release 1 ç¡åè©ä¾¡ç
+			NC30WA Version 5.10 Release 1 Entryç
+	æ³¨ï¼2011å¹´5ææç¹ã§ã®ææ°ç(NC30WA Version 6.00 Release 00) ã¯
+	    ãã¼ã«ã®ä»æ§å¤æ´ã«ããç¾æç¹ã§ã¯å¯¾å¿ãã¦ããªãï¼
+
+(2)  DOSçªãã make ã³ãã³ããç¨ãã¦éçºãè¡ãç°å¢
+
+	å¯¾è±¡ï¼OAKS16 ãã¼ã
+	æ¹å¼ï¼DOSçªããmakeãä½¿ã£ã¦æ§ç¯
+			ã«ã¼ãã«é¨ãã©ã¤ãã©ãªåãã¦æ§ç¯ãã
+	åä½ç¢ºèªã³ã³ãã¤ã©ï¼
+		NC30WA Version 5.45 Release 1 ç¡åè©ä¾¡ç
+	ãã®ä»å¿
+è¦ãã¼ã«
+		GNU make (version 3.80 ã§åä½ç¢ºèªæ¸)
+		Perl (åä½ç¢ºèªã¯ Active Perl v5.6.1 åã³ v5.12.2ã§è¡ã£ã)
+
+ãã ãï¼ãããã®å ´åã NC30WA ã®ã¤ã³ã¹ãã¼ã«å
+ã«ã¯æ³¨æãå¿
+è¦ã§ããï¼
+æè¿ã®çã§ã¯è¦å®å¤ã¨ãã¦ C:\Program Files ä»¥ä¸ã«ã¤ã³ã¹ãã¼ã«ããããï¼
+TM åã³ make ã¯ãã¹æå­åä¸­ã«ç©ºç½ãå«ã¾ããå ´åï¼æ­£ããåä½ããªãï¼
+ãã®ããï¼ã¤ã³ã¹ãã¼ã«å
+ãã¹ãç©ºç½ãå«ã¾ãªãããã«ããå¿
+è¦ãããï¼
+
+ã¾ãï¼ã½ã¼ã¹ã®å±éä½ç½®ã¨ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
+ã¨ãç°ãªããã©ã¤ãã«
+é
+ç½®ããã¦ããæ§æãï¼æ­£å¸¸ã«åä½ããªãå ´åãããããï¼æ¨å¥¨ããªãï¼
+
+4.2  çµ±åéçºç°å¢TMãç¨ããæ§ç¯
+
+OAKS16 ãã«ã­ããã¾ãã¯ OAKS16 MINI ãã«ã­ããã«æ·»ä»ã®éçºç°å¢ãç¨ãã¦
+M16Cç¨ã® TOPPERS/JSP ã«ã¼ãã«ãæ§ç¯ããï¼å®è¡ã¯ï¼FlashROM æ¸ãè¾¼ã¿
+ãã¼ã« FlashSta ãç¨ãï¼æ§ç¯ãã MOT ãã¡ã¤ã«ããã¼ãä¸ã®ãã©ãã·ã¥
+ROM ã¸æ¸ãè¾¼ããã¨ã«ããè¡ãï¼
+
+ãããã£ã¦ï¼çµ±åéçºç°å¢ TMï¼ã³ã³ãã¤ã© NC30WAï¼ãã©ãã·ã¥ROM æ¸ãè¾¼ã¿
+ãã¼ã« FlashSta ãã¤ã³ã¹ãã¼ã«ããå¿
+è¦ãããï¼
+
+ã¾ãï¼ã¿ã¼ã²ãããã­ã°ã©ã ã®æ§ç¯ã«ã¯ï¼éçºãã¹ãä¸ã§åä½ããï¼
+ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg/cfg.exe åã³ M16Cã¿ã¼ã²ããç¹æã®ã¦ã¼ãã£ãªãã£
+ãã­ã°ã©ã  utils/m16c-renesas/{m16cvec.exe, m16coffset.exe} ãç¨ããï¼
+ãããã®ãã­ã°ã©ã ã¯ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ãããï¼
+ãã­ã°ã©ã ãå¤æ´ãããå ´åã¯åæ§ç¯ããå¿
+è¦ãããï¼
+
+4.2.1 ãã¼ã«ã®æ§ç¯
+
+cfg.exe ã®æ§ç¯ã«ã¤ãã¦ã¯ user.txt ãªã©ãåç
+§ã®ãã¨ï¼
+utils/m16c-renesas ä¸ã®ãã¼ã« m16coffset.exe ã¨ m16cvec.exe ã
+æ§ç¯ããå ´åï¼MinGW (Minimalist GNU for Windows)ãä½¿ç¨ããï¼
+(ã¡ãªã¿ã«ï¼cfg.exe ã®ãã«ãã MinGW ã§å¯¾å¿å¯è½ã§ããï¼
+
+éå¸¸ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
+å©ç¨ããã°ããï¼
+
+MinGW (Minimalist GNU for Windows)
+http://www.mingw.org/
+http://sourceforge.net/projects/mingw/  (ã¤ã³ã¹ãã¼ã©ã®å
+¥æå
+)
+
+4.2.2 TM ã«ãã­ã¸ã§ã¯ããé¸æããã«ãããï¼
+
+(1) ãã­ã¸ã§ã¯ãè¨­å®ãã¡ã¤ã«ã®å¤æ´
+
+æ³¨ï¼å ´åã«ãã£ã¦ã¯æ¬ç¯(1)ã®æ¸ãæããè¡ããªãã¦ããã¼ã«ããã¹ã®è¨­å®ã
+èªåçã«è¡ãå ´åãããããï¼åé¡ãçããã¨ãã«æ¸ãæããè¡ãã°ããï¼
+
+tools/M16C-RENESAS ä»¥ä¸ã«ããï¼TM ã®ãã­ã¸ã§ã¯ãè¨­å®ãã¡ã¤ã«
+Jsp14sample1.tmiï¼Jsp14sample1.tmkï¼Jsp14sample1m.tmiï¼Jsp14sample1m.tmk 
+ã®è¨­å®å
+å®¹ã«ã¯çµ¶å¯¾ãã¹æå®ãè¡ããã¦ããç®æãããï¼
+
+ãã®é¨åãç¾å¨ã® tools/M16C-RENESAS ãã£ã¬ã¯ããªã®çµ¶å¯¾ãã¹ã¨ç°ãªãå ´åã¯ï¼
+TM ãä½¿ã£ã¦ãã­ã¸ã§ã¯ãã®è¨­å®ãè¡ãåã«ï¼ã¨ãã£ã¿ãä½¿ã£ã¦çµ¶å¯¾ãã¹ã®è¨­å®ã
+æ¸ãæããï¼ä»¥ä¸ã«Jsp14sample1.tmiã¨Jsp14sample1.tmkã®ä¾ãç¤ºãï¼
+
+---Jsp14sample1.tmi ---
+[PROJECT]
+ProjectName=Jsp14sample1
+WorkingDirectory=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS                	<-çµ¶å¯¾ãã¹
+OutputDirectory=.
+ProjectFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.tmk    	<-çµ¶å¯¾ãã¹
+ProjectInfoFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.tmi	<-çµ¶å¯¾ãã¹
+TargetName=M16C Family
+Type=1
+GoalFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.x30       	<-çµ¶å¯¾ãã¹
+[NC]
+Name=NC30WA
+Version=V.4.00 Release 2
+	:
+
+---Jsp14sample1.tmk ---
+####################################################################
+# Makefile for TM V.3.20
+# Copyright 1998-2002 MITSUBISHI ELECTRIC CORPORATION
+# AND MITSUBISHI ELECTRIC SEMICONDUCTOR APPLICATION ENGINEERING CORPORATION
+# All Rights Reserved.
+#
+#	Notice	:	Don't edit.
+#	Date	:	2004 01(January) 10(Saturday) PM.03.11
+#	Project	:	Jsp14sample1
+####################################################################
+
+DELETE	=	@-del
+LNLIST	=	$(PROJECT).cmd
+PRJDIR	=	C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS	<-çµ¶å¯¾ãã¹
+LMC	=	LMC30
+CC	=	NC30
+	:
+
+(2) ãã­ã¸ã§ã¯ãã®ãªã¼ãã³
+
+(2-1) Windows ã¡ãã¥ã¼ãã TM ãèµ·åããï¼
+(2-2) TM ãèµ·åããããOpen Projectãã¡ãã¥ã¼ãéãï¼
+(2-3) tools/M16C-RENESAS ãã£ã¬ã¯ããªä¸­ã® Jsp14sample1.tmk ã¾ãã¯
+      Jsp14sample1m.tmk ãé¸æããï¼
+      OAKS16ç¨ã®æ§ç¯ãè¡ãå ´åã¯ï¼Jsp14sample1.tmkãï¼OAKS16 MINIç¨ã®æ§ç¯ã
+      è¡ãå ´åã¯ï¼Jsp14sample1m.tmk ãé¸æããï¼
+(2-4) é¸ææï¼ã³ã³ãã¤ã©ã®éãã«ããè¨­å®ã¡ãã¥ã¼ãè¡¨ç¤ºãããå ´åãããï¼
+      ãã®ç°å¢ã¯ï¼NC30WA ã³ã³ãã¤ã©ã® Version 5.10 Entry çåã³ Version 5.45 
+      ã«ã¦è©ä¾¡ãè¡ã£ã¦ããï¼ç¾å¨ã®ç°å¢ã«ãããã£ã¦è¨­å®ããï¼
+
+(3) ããªãã­ã»ããµã®æå®
+
+ãã«ãéç¨ã§ããªãã­ã»ããµãä½¿ç¨ããããï¼éçºç°å¢ãã¤ã³ã¹ãã¼ã«ããã
+å ´æã«å¿ãã¦ CPP ã¨ããååã®ãã¯ã­ãå¤æ´ããï¼
+
+(3-1) TM ãã Project Editor ãèµ·åããï¼
+(3-2) è¡¨ç¤ºãããã¦ã£ã³ãã¦ã®ã¡ãã¥ã¼ã§ããã­ã¸ã§ã¯ã â ãã¯ã­ãã©ã¦ã¶ã
+      ãé¸æããï¼
+(3-3) CPP ã¨ããååã®ãã¯ã­ãï¼éçºç°å¢ã®ã¤ã³ã¹ãã¼ã«å
+ã«å¿ãã¦ç·¨éããï¼
+     ããã«ã¯ cpp30.exe ã¨ããå®è¡ãã¡ã¤ã«ã®ãã«ãã¹åãè¨­å®ããï¼
+
+(4) ãã­ã¸ã§ã¯ãã®ãã«ã
+
+(4-1) è¨­å®å¾ï¼ããªãã«ããã¡ãã¥ã¼ãé¸æããã«ããè¡ãï¼
+
+ãã«ããå®äºããã¨ï¼ãã®ãã£ã¬ã¯ããªä¸­ã« Jsp14sample1.mot ã¾ãã¯
+Jsp14sample1m.mot ã¨ããåç§°ã®ãã¡ã¤ã«ãçæãããï¼
+TMã®è¨­å®ã¨ãã¦ã½ã¼ã¹ãã¡ã¤ã«ã®ä¾å­æ§ã®è¨­å®ãè¡ã£ã¦ããªãã®ã§ï¼
+æ§ç¯æã¯ããªãã«ããã§ãã«ããããã¨ãæ¨å¥¨ããï¼
+
+
+4.2.3 FlashStaãç¨ãã¦ãã©ãã·ã¥ROMã«æ¸ãè¾¼ã
+
+éçºç¨ã®ãã½ã³ã³ã¨ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ãä½¿ã£ã¦æ¥ç¶ããï¼
+CNVSS ãã³ãã¸ã£ã³ãã¼ãã³ãä½¿ã£ã¦ã·ã§ã¼ããããï¼
+
+é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼ããã¦ FlashStaãèµ·åããï¼
+Select Programã¡ãã¥ã¼ã«ã¦ãã¼ããé¸æãã¦ãOKããã¿ã³ãæ¼ä¸ããï¼
+ID Checkã¡ãã¥ã¼ãè¡¨ç¤ºãããããRefer..ããã¿ã³ãæ¼ä¸ãï¼
+çæããMOTãã¡ã¤ã«ãé¸æããï¼
+
+Select Program ã«æ»ã£ããï¼ãOKããã¿ã³ãæ¼ä¸ã M16C Flash Start 
+ã¡ãã¥ã¼ãè¡¨ç¤ºããï¼
+ã¾ãï¼ãEraseããã¿ã³ãæ¼ä¸ãï¼ãã©ãã·ã¥ROMãã¯ãªã¢ããï¼
+ãã®å¾ï¼ãProgram..ããã¿ã³ãæ¼ä¸ããã­ã°ã©ã ã®æ¸ãè¾¼ã¿ãè¡ãï¼
+æ¸ãè¾¼ã¿ãçµäºãããï¼ãExitããã¿ã³ãæ¼ä¸ãFlashStaãçµäºãããï¼
+é»æºãåãï¼CNVSSãã³ããã¸ã£ã³ãã¼ãã³ãå¤ãï¼
+
+4.2.4. sample1ã®å®è¡
+
+ãã½ã³ã³ã«ã·ãªã¢ã«ã»ã¿ã¼ããã«ãç«ã¡ä¸ããï¼
+è¨­å®ã¯ä»¥ä¸ã®éãï¼
+
+ Baud rate:19200
+ Data:8 bit
+ Parity:none
+ Stop:1 bit
+
+Flow controlã¯OAKS16 MINIã§ã¯noneï¼OAKS16ã§ã¯noneã§ãXob/Xoffã®ã©ã¡ããã«
+è¨­å®ãããã¨.é»æºãå
+¥ããã¨ï¼sample1ãå®è¡ãããï¼
+
+
+4.3 DOSçªããmakeã³ãã³ããç¨ããæ§ç¯
+
+GNU make ãç¨ãã¦M16Cç¨ã®TOPPERS/JSPãæ§ç¯ããæ¹æ³ãç¤ºãï¼
+ãã®æ¹æ³ã¯ OAKS16 ã®å ´åã®ã¿å¯¾å¿ãã¦ããï¼
+ã³ã³ãã¤ã©ã¯ã©ã¤ãã©ãªã¢ã³ãå«ã NC30WAã®çãåæã¨ãã¦ããï¼
+ç¾å¨ã§ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ã®ã¦ã§ããµã¤ãããç¡åè©ä¾¡çãå
+¥æå¯è½ã§ããï¼
+
+éå»ã®ã³ã³ãã¤ã©ã® Entryçã§ã¯ã©ã¤ãã©ãªã¢ã³ lb30.exe ãå«ã¾ããªããã¨ã
+ããããï¼ãã®ã¾ã¾ãã«ããããã¨ãåºæ¥ãªãï¼ãã®å ´åã¯ã©ã¤ãã©ãªå
+ããªãããã« Makefile (å®éã®ãã¡ã¤ã«åã¯ sample ãã£ã¬ã¯ããªã®
+Makefile.m16c-oaks16 ) ãæ¸ãæããå¿
+è¦ãããï¼
+
+æ§ç¯ã«ããã£ã¦ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg.exe ã cfg ãã£ã¬ã¯ããªã«ï¼
+4.2.1 ã§ç¤ºãããã¼ã«ï¼ããªãã¡ m16coffset.exe ããã³ m16cvec.exe ã 
+utils/m16c-renesas ãã£ã¬ã¯ããªã«ï¼ããããå­å¨ãã¦ãããã¨ãåæã¨ãªãï¼
+éå¸¸ã¯ç¨æããã¦ãããã®ãå©ç¨ããã°ããï¼
+ã¾ãï¼éçºãã¼ã« NC30WAã¯ãããããã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãå¿
+è¦ã§ããï¼
+
+
+4.3.1 éçºãã¼ã«ã®å
+¥æ
+
+ãã¼ã«ã¯ä»¥ä¸ã®ãµã¤ãããå
+¥æå¯è½ï¼
+
+GNU Make 
+http://www.mingw.org/
+
+Active Perl
+http://www.activestate.com/
+
+
+4.3.2 ãµã³ãã«ãã­ã°ã©ã ã®æ§ç¯æ¹æ³ã«ã¤ãã¦
+
+ãµã³ãã«ãã­ã°ã©ã ã®æ§ç¯æ¹æ³ã¯åºæ¬çã« doc/user.txt ã® ã7.4 ãµã³ãã«
+ãã­ã°ã©ã ã®æ§ç¯ãã§ç¤ºãããæ¹æ³ã«æºæ ãã¦ããï¼ãã ãï¼ã³ã³ãã£ã®ã¥ã¬
+ã¼ã·ã§ã³ã¹ã¯ãªããç­ã® perl ã§æ¸ãããã¹ã¯ãªããã¯ãã®ã¾ã¾ Windows ã® 
+DOSçªï¼WindowsXPã§ã¯ãã³ãã³ããã­ã³ãããï¼ã®ä¸ã§ã¯ä½¿ç¨ãããã¨ã
+ã§ããªãï¼ãã®ããï¼utils/m16c-renesas ãã£ã¬ã¯ããªã«ç¨æãããï¼
+å°ç¨ã® Perlã¹ã¯ãªãããä½¿ç¨ããï¼
+
+4.3.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡
+
+   > mkdir OBJ
+   > cd OBJ
+   > perl ..\utils\m16c-renesas\configure.m16c
+
+ä½ãå¼æ°ãæå®ããªãå ´åã¯
+-C m16c -S oaks16 -T renesas -p \perl\bin\perl
+ã¨ãããªãã·ã§ã³ãæå®ãã¦ configure ãå®è¡ããå ´åã¨åãåä½ãè¡ãï¼
+
+ãã®å¦çã«ããï¼ã«ã¬ã³ããã£ã¬ã¯ããªã«ã¯ä»¥ä¸ã®ãã¡ã¤ã«ãçæããã
+	ã»Makefile
+	ã»ãµã³ãã«ãã­ã°ã©ã ç¨ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼sample1.cfgï¼
+	ã»ãµã³ãã«ãã­ã°ã©ã æ¬ä½ï¼sample1.hããã³sample1.cï¼
+ããã§Makefileã®ä¿®æ­£ãå¿
+è¦ãªãã°ï¼ä¿®æ­£ãè¡ãã®ã¯ä»ã®ã¿ã¼ã²ããã®å ´åã¨åãã§ããï¼
+
+4.3.4 ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæããã³ãµã³ãã«ãã­ã°ã©ã ã®ã­ã¼ãã¢ã¸ã¥ã¼ã«ä½æ
+
+ä¾å­é¢ä¿ãã¡ã¤ã« Makefile.depend ããã³ã­ã¼ãã¢ã¸ã¥ã¼ã« jsp.mot ãä½æãã
+ã«ã¯æ¬¡ã®ããã«å®è¡ããï¼MinGW ã® make ãå©ç¨ããå ´åï¼make ã®ä»£ããã«
+mingw32-make ãå®è¡ããå¿
+è¦ããããããããªãï¼
+
+   > make depend
+   > make
+
+make depend ã®å®è¡éç¨ã«ããã¦ããªãã­ã»ããµ(cpp30.exe)ãç¨ãããï¼
+ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
+ã«å¿ãã¦ï¼ããªãã­ã»ããµã³ãã³ãã®ãã«ãã¹åã
+é©åã«è¨­å®ããå¿
+è¦ãããï¼
+
+è¨­å®ã¯ãã­ã»ããµä¾å­é¨ãã£ã¬ã¯ããª(config/m16c-renesas)ã«ãã Makefile.config
+ã®ä¸­ã® CPP ã¨ããå¤æ°ã§è¡ã£ã¦ããï¼ãã®é¨åãã¤ã³ã¹ãã¼ã«å ´æã«å¿ãã¦æ¸ãæããï¼
+
+4.3.5 ãã©ãã·ã¥ROM ã¸ã®æ¸ãè¾¼ã¿ããã³ãµã³ãã«ãã­ã°ã©ã ã®å®è¡
+
+æ§ç¯ãã MOTãã¡ã¤ã«ã FlashSta ã³ãã³ãç¨ãã¦ï¼ãã¼ãä¸ã®ãã©ãã·ã¥ROMã«
+æ¸ãè¾¼ãæé ããå
+ã¯ä¸è¨ 4.2.3ï¼4.2.4ã§èª¬æããå
+å®¹ã¨åãã§ããï¼
+
+4.3.6 OAKS16-MINIã®å¯¾å¿ã«ã¤ãã¦
+
+OAKS16-MINI ç¨ã®ã«ã¼ãã«ãæ§ç¯ããå ´åã¯ï¼Makefile.m16c-oaks16_mini ã
+ä½¿ç¨ããï¼OAKS16-MINIçã®ã«ã¼ãã«ã§ã¯ï¼ã¡ã¢ãªãµã¤ãºåæ¸ã®çºã«ï¼
+ã­ã°æ©è½ã¯ã¿ã¹ã¯åãã¦ããªãï¼ãã®ããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã
+ä¿®æ­£ããå¿
+è¦ãããï¼sample1.cfg ä¸­ã®28è¡ç®ã®
+ã#include "@(SRCDIR)/systask/logtask.cfg"ãã®ã®è¡ãåé¤ãããï¼
+ã¾ãã¯ã³ã¡ã³ãåãã¦ã­ã°æ©è½ãã¿ã¹ã¯åããªãããä¿®æ­£ãè¡ã£ãå¾ï¼ãã«ãããï¼
+ä»ã®æé ã¯OAKS16çã¨åæ§ã§ããï¼
+
+4.4  ãããã¬
+
+OAKS16 ããã³ OAKS16-MINI ã«ã¯ï¼KD30 ãããã¬ãæ·»ä»ããã¦ããï¼
+ãã®ãããã¬ã¯ãã©ãã·ã¥ ROM ä¸ã® KD30 ã¢ãã¿ã¼ã¨ UART1 ãç¨ãã¦
+éä¿¡ãè¡ããããã°æ©è½ãå®ç¾ããï¼æ¬ã«ã¼ãã«ã¯ãã©ãã·ã¥ROM ä¸ã«
+æ¸ãè¾¼ã¿ãè¡ãå®è¡ããï¼ã«ã¼ãã«ãæ¸ãè¾¼ãéï¼æ¢å­ã®ã¢ãã¿ã¼ãã­ã°ã©ã ã
+ä¸æ¸ãããçºï¼ã«ã¼ãã«å®è¡æã¯ KD30 ãããã«ã¯ä½¿ç¨ã§ããªãï¼
+
+åã³ KD30 ãä½¿ãããå ´åã¯ï¼KD30 ä»å±ã®ã¢ãã¿ãã­ã°ã©ã ããã©ãã·ã¥ ROM
+ã¸æ¸ãè¾¼ãå¿
+è¦ãããï¼
+
+ãªãï¼æ¬ã«ã¼ãã«ã¯ TOPPERS æè² WG ã§éçºããããTOPPERSåç´å®è£
+ã»ããã¼ã
+ã®ææã«å¯¾å¿ãã¦ããï¼ãã®çºï¼ææã§ä½¿ç¨ãã¦ãããã¿ã¹ã¯ã»ã¢ãã¿ã¼ãã¨
+ä½µç¨ãããã¨ã«ããï¼TOPPERS/JSP å®è¡ä¸­ã®ã¡ã¢ãªåã³ SFR ã®åç
+§ãè¨­å®ï¼
+ã¿ã¹ã¯ã®ç®¡çãç¶æ
+è¡¨ç¤ºãå¯è½ã¨ãªãï¼å¿
+è¦ãªå ´åã¯ãã¿ã¹ã¯ã»ã¢ãã¿ã¼ãã¨ã®
+ä½µç¨ãå§ããï¼
+
+4.5  ã³ã³ãã¤ã«ã¹ã¤ãã
+
+ä»¥ä¸ã®ã³ã³ãã¤ã«ã¹ã¤ããã®è¨­å®ãå¯è½ã§ããï¼
+
+(1)   NEED_API
+
+ã³ã³ãã¤ã«æï¼NEED_API ããã¯ã­å®ç¾©ããã¨ api.h ã cpu_config.h ã«ã¤ã³ã¯ã«ã¼ã
+ãããï¼ããã«ããï¼ã©ã¤ãã©ãªåã®çºã®åå²ã³ã³ãã¤ã«ãææ­¢ãããã¨ãã§ããï¼
+
+(2)   EXTERNAL_SOFT_HOOK
+
+ã³ã³ãã¤ã«æï¼EXTERNAL_SOFT_HOOKããã¯ã­ããã¨ software_init_hook ã
+ã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ãããªããªãï¼å¾ã£ã¦ï¼ã¦ã¼ã¶å´ã§software_init_hook
+ã®å®ç¾©ãä¸ãããã¨ãã§ããï¼
+
+(3)   MON
+
+ã¢ã»ã³ãã«æã«å¤ã®å®ç¾©ãè¡ãï¼éå¸¸ã¯ MON=0 ã¨ãã¦æ§ç¯ããï¼
+MON=1 ã¨ããã¨ã¿ã¹ã¯åãæ¿ãæã«ã¿ã¹ã¯ã¢ãã¿ãªã³ã°ç¨ã®é¢æ°å¼ã³åºããè¡ã
+ããã«ãªãï¼ããã¯æè²ç¨ã®ã¿ã¹ã¯ã¢ãã¿ã¨ä½µç¨ããå ´åã«ãã®è¨­å®ãè¡ãï¼
+
+5.  ãã¡ã¤ã«æ§æ
+
+5.1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+(1)   config/m16c-renesas
+
+      api.h            éã©ã¤ãã©ãªåæã®APIå®ç¾©
+      cpu_config.c     M16Cãã­ã»ããµä¾å­é¨ã® C é¢æ°
+      cpu_config.h     M16Cãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+      cpu_context.h    M16Cãã­ã»ããµä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+      cpu_defs.h       M16Cãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      cpu_insn.h       M16Cãã­ã»ããµã®ã¢ã»ã³ããª inline é¢æ°
+      cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+      cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+      cpu_support.a30  M16Cãã­ã»ããµã®ã¢ã»ã³ããªé¢æ°
+      cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+      Makefile.config  Makefile ã® M16Cä¾å­å®ç¾©
+      makeoffset.c     offset.inc çæãµãã¼ãé¢æ°
+      start.a30        ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+      tool_config.h    M16Cãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+      tool_defs.h      M16Cãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+
+(2)   config/m16c-renesas/oak16/
+
+      hw_serial.cfg    SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+      hw_serial.h      OAKS16ç¨SIOãã©ã¤ãã®ããããã¡ã¤ã«
+      hw_timer.h       OAKS16ç¨ã¿ã¤ãæä½ã«ã¼ãã³
+      Makefile.config  Makefile ã® OAKS16ãã¼ãä¾å­å®ç¾©
+      Makefile.kernel  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©(M16Cç¨)
+      oaks16.h         M30620FCAFPãã­ã»ããµã®å®ç¾©
+      sfr_uart.c       OAKS16ç¨SIOãã©ã¤ãã®Cé¢æ°
+      sfr_uart.h       OAKS16ç¨SIOãã©ã¤ãã®ããããã¡ã¤ã«
+      sys_config.c     OAKS16ãã¼ãä¾å­é¨ã® C é¢æ°
+      sys_config.h     OAKS16ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+      sys_defs.h       OAKS16ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+      sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+      sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+(3)   config/m16c-renesas/oaks16_mini/
+
+      hw_serial.cfg    SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+      hw_serial.h      OAKS16-MINIç¨SIOãã©ã¤ã
+      hw_timer.h       OAKS16-MINIç¨ã¿ã¤ãæä½ã«ã¼ãã³
+      Makefile.config  Makefile ã® OAKS16-MINIãã¼ãä¾å­å®ç¾©
+      Makefile.kernel  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©(M16Cç¨)
+      oaks16mini.h     M30262F8FGãã­ã»ããµã®å®ç¾©
+      serial_mini.c    ç°¡ç¥åOAKS16-MINIç¨ã·ãªã¢ã«ãã©ã¤ãã¼
+      sys_config.c     OAKS16-MINIãã¼ãä¾å­é¨ã® C é¢æ°
+      sys_config.h     OAKS18-MINIãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+      sys_defs.h       OAKS16-MINIãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+      sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+      sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+      syslog_mini.c    ç°¡æåã·ã¹ãã ã­ã°ãã­ã°ã©ã 
+
+(4)   sample/
+
+      Makefile.m16c-oaks16
+                   ã©ã¤ãã©ãªå OAKS16ç¨JSP ãæ§ç¯ããããã® make ãã¡ã¤ã«
+
+(5)   ãã®ä»
+
+      tools/M16C-RENESAS/
+      utils/m16c-renesas/
+      ãããã«ã¤ãã¦ã¯ï¼tools/M16C-RENESAS/README.txt ãåç
+§ã®ãã¨ï¼
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32c.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32c.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32c.txt	(revision 26)
@@ -0,0 +1,637 @@
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                         ï¼M32C ã¿ã¼ã²ããä¾å­é¨ï¼
+
+            ï¼Release 1.4.4 å¯¾å¿ï¼æçµæ´æ°: 20-May-2011ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2003-2004, 2010, 2011 by Naoki Saito
+            Nagoya Municipal Industrial Research Institute, JAPAN
+ Copyright (C) 2003-2004 by Platform Development Center
+                                         RIOCH COMPANY,LTD. JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+------------------------------------------------------------------------
+
+1.  M32C ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1  ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+ãM32C ãã­ã»ããµã®ã¿ã¼ã²ããä¾å­é¨ã¯ï¼ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
+ãªã¼ã¯ã¹é»å­æ ªå¼ä¼ç¤¾ã® OAKS32 ããµãã¼ããã¦ããï¼
+OAKS32 ã¯ ãã­ã»ããµã¨ãã¦ M30833FJFP(100pinç) ã¾ãã¯ M30835FJGP(144pinç)
+ãæ­è¼ãã¦ããï¼
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+éçºç°å¢ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®éçºç°å¢ãä½¿ç¨ããï¼
+
+å®è¡ç°å¢ã¯ Windows ãã¤ã³ã¹ãã¼ã«ããã¦ããï¼ãã¤ï¼ã·ãªã¢ã«ãã¼ãã
+æ­è¼ãã PC ãããã°ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®æ§ç¯ï¼ãã¼ãã¸ã®è»¢éï¼
+ããã³ãã¼ãä¸ã§ã®å®è¡ãå¯è½ã§ããï¼
+
+1.3  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+ã¿ã¼ã²ããä¾å­ã¨ããã¦ããæ©è½ã«å¯¾ãããµãã¼ãç¶æ³ã¯ä»¥ä¸ã®éãï¼
+	ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ï¼ ãµãã¼ã
+	ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ (chg_ixxï¼ get_ixx)ï¼æªãµãã¼ã
+	ã»å²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intï¼ena_int)ï¼æªãµãã¼ã
+
+1.4  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+M32Cã¯CPUä¸ã«å¤ãã®ããã¤ã¹ãå®è£
+ããã¦ããï¼SFRã¨ããå½¢å¼ã§
+çµ±ä¸åããã¦ããï¼ãã®ãã M32C ã·ãªã¼ãºã® CPU ãæ­è¼ãããã¼ãã§ããã°ï¼
+ãã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããï¼
+
+1.5  ã·ãªã¢ã«ãã¼ã
+
+ã¿ã¼ã²ãããã¼ãã«ã¯ UART1 ãå®è£
+ããã¦ããï¼ã¾ã UART0 ãã¼ãã
+æ¡å¼µå¯è½ã¨ãªã£ã¦ããï¼UART1 ã¯ï¼ãããã¬ KD3083 ãç¨ãããããã°ç¨ã®
+ãã¼ãã¨ãã¦ä½¿ç¨ãããã¨ãæ³å®ãã¦ãã.
+
+ã·ãªã¢ã«ãã©ã¤ãã¯ UART0 ãã¼ãã¸ã®å¯¾å¿ãè¡ããã¦ããï¼ã¢ããªã±ã¼ã·ã§ã³ç¨
+ã¨ãã¦å©ç¨å¯è½ã¨ãªã£ã¦ããï¼
+
+UART0 ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãï¼
+	ã»ãã¼ã¬ã¼ãï¼38400[bps]
+	ã»ãã¼ã¿é·ï¼8 ããã
+	ã»ã¹ããããããï¼1 ããã
+	ã»ããªãã£ãªã
+
+1.6  å¯¾è±¡ã¨ããã½ã¼ã¹ã³ã¼ãã®æå­ã³ã¼ã
+
+TOPPERSãã­ã¸ã§ã¯ãããå
+¬éããã TOPPERS/JSP ã«ã¼ãã«ã®ããã±ã¼ã¸ã¯ï¼
+æå­ã³ã¼ãåã³æ¹è¡ã³ã¼ãã EUC+LF åã³ SJIS+CRLF ã® 2ã¤ã®ãã¿ã¼ã³ã®
+ããã±ã¼ã¸ãå­å¨ããï¼EUC+LFçã®ããã±ã¼ã¸ã§ããã¦ã³ã­ã¼ããã¦å±éå¾ï¼
+æå­ã³ã¼ãå¤æããã°ä½¿ç¨å¯è½ã¨æããããï¼M32Cä¾å­é¨ãå©ç¨ããå ´åã¯ï¼
+SJIS+CRLF ã®ããã±ã¼ã¸ããã¦ã³ã­ã¼ããããã¨ãæ¨å¥¨ããï¼
+
+
+2.  M32C ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼M32Cä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1  ãã¼ã¿å
+
+ã»æ´æ°å
+	ã»int åã¨ unsigned int åã®ãµã¤ãºã¯ 16ãããã§ããï¼
+	ã»_int64_ ã«ã¯å¯¾å¿ãã¦ããªãï¼
+
+ã»ãã¤ã³ã¿å
+	VP ããã³ VP_INT ã¯å
+±ã« far ãã¤ã³ã¿ã¨å®ç¾©ãã¦ããï¼
+
+(èª¬æ)
+ãã¤ã³ã¿ã«é¢ãã¦ï¼M32C ã§ã¯16ãããé·ã® near ãã¤ã³ã¿ã¨32ãããé·ã®
+far ãã¤ã³ã¿ãå­å¨ããï¼near ãã¤ã³ã¿ã¯ RAM åã³ããã¤ã¹ã®ãã¼ãé åã§ãã
+SFR(Special Function Register) ãã¢ã¯ã»ã¹ããçºã®ãã¤ã³ã¿ã§ããï¼
+ä¸æ¹ï¼far ãã¤ã³ã¿ã¯ near ãã¤ã³ã¿ã§ã¢ã¯ã»ã¹å¯è½ãªé åã«å ã
+ROM é åã¾ã§ã¢ã¯ã»ã¹ãå¯è½ãªãã¤ã³ã¿ã§ããï¼
+
+ãã¤ã³ã¿å¤æ°ã«å¯¾ãæç¤ºçã« near ã far ãæå®ããªãå ´åï¼
+ã³ã³ãã¤ã©(NC308)ã¯ãã¤ã³ã¿å¤æ°ã far ãã¤ã³ã¿ã¨ãã¦æ±ãï¼
+ãã®ããï¼éå¸¸ã®ä½¿ç¨ã§ã¯ãã¤ã³ã¿ã®ãµã¤ãºãç¹ã«æè­ããå¿
+è¦ã¯ãªããï¼
+near ã¨ far ãæç¤ºçã«æå®ãã¦åæã«ä½¿ãå ´åï¼ä»£å
+¥ãªã©ã§ã¢ãã¬ã¹æ
+å ±ã
+æ¬ è½ãããã¨ããªããæ³¨æããå¿
+è¦ãããï¼
+
+2.2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã§ã¢å²è¾¼ã¿
+çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+ãã¼ãã¦ã§ã¢å²è¾¼ã¿ã¯å²è¾¼ã¿ç¦æ­¢ã¨ãããã¨ãã§ããï¼M32Cã®å²è¾¼ã¿ã®ç¦æ­¢ã¯
+ãã©ã°ã¬ã¸ã¹ã¿ä¸­ã®å²è¾¼ã¿è¨±å¯ãã©ã°(Iãã©ã°)ã«ãã£ã¦è¡ãï¼ããªãã¡ï¼Iã
+ã©ã°ãï¼ã®å ´åã¯ãã¹ã«ãã«å²è¾¼ã¿ã¯ç¦æ­¢ããï¼ã®å ´åã¯è¨±å¯ãããï¼
+
+å²è¾¼ã¿ãã¯ã¿ã¯è¨­å®ä½ç½®ã«éçã«é
+ç½®ãããï¼æ¬éçºç°å¢ã§ã¯ã³ã³ãã£ã®ã¥
+ã¬ã¼ã·ã§ã³ããçæããã kernel_cfg.c ã®å
+å®¹ãè­å¥ãï¼èªåçã«éçãª
+å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«ãçæããã¦ã¼ãã£ãªãã£ãç¨æãã¦ããï¼ ãã®
+ã¦ã¼ãã£ãªãã£ã¯åå¦çããã kernel_cfg.c ã®å
+å®¹ã utils/m16c-renesas
+ãã£ã¬ã¯ããªä¸­ã® m16cvec.exe ã³ãã³ãã§è§£æãï¼å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«
+m16cvec.inc ãçæããï¼m16cvec.inc ã¯CPUã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã§ãã
+start.a30 ããã¤ã³ã¯ã«ã¼ãããï¼å²è¾¼ã¿ãã¯ã¿ãROMä¸ã«éçã«é
+ç½®ããï¼
+
+2.3  CPU ä¾å¤ç®¡çæ©è½ã¨ CPU ä¾å¤ãã³ãã©
+
+  CPUä¾å¤ã¨ãã¦ï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã¨ã½ããã¦ã§ã¢ãã³ãã¹ã«
+ãã«å²è¾¼ã¿ãããï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ä¸­ã®ãªã»ãããé¤ãã¦
+ãã¯ãã«ã®è¨­å®ãå¯è½ã§ããï¼
+  CPUä¾å¤ãã¯ã¿ã¯å²è¾¼ã¿ãã³ãã©ã¨åæ§ã«è¨­å®ä½ç½®ã«éçã«é
+ç½®ãããï¼
+CPUä¾å¤ãã³ãã©ã«é¢ãã¦ãå²è¾¼ã¿ãã³ãã©ã¨åæ§ã« m16cvec.exe ãç¨ãã¦ï¼
+CPUä¾å¤ãã¯ã¿å®ç¾©ãèªåçã«çæãããã¨ãã§ããï¼ãã®ãã¼ã¿ã¯å²è¾¼ã¿
+ãã³ãã©ã¨åæ§ã«m16cvec.incã«è¨­å®ãããï¼
+
+ãDEF_EXC ã§æå®ããCPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã¨ã¢
+å²è¾¼ã¿çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
+
+2.4  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+m32cä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.a30) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡
+ããå¾ï¼ã«ã¼ãã« (kernel_start) ãèµ·åããï¼ãã ãï¼ kernel_start ãã
+æ»ã£ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+(1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+(2) CPUé¢é£ã®åæè¨­å®
+
+ãã­ã»ããµã¢ã¼ãã®è¨­å®ã¨ã¯ã­ãã¯ã®è¨­å®ãè¡ãï¼
+
+(3) hardware_init_hook ã®å¼åºã(æªå®è¡)
+
+M32Cã¢ã»ã³ãã©ã§ã¯ï¼hardware_init_hook ã®å¤å®ãã§ããªããã¨ã¨ï¼
+M32Cã®ãã¼ãã¦ã§ã¢è¨­å®ã sys_initialize() é¢æ°ã®ä¸­ã§è¡ã£ã¦ã
+ååã«å¯¾å¿ã§ããã¨èãããããã¨ããï¼å¯¾å¿ãã¦ããªã.
+
+(4) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(5) software_init_hook ã®å¼åºã
+
+software_init_hookã 0ã§ãªããã°ï¼software_init_hook ãå¼åºãï¼
+software_init_hook ã¯ã«ã¼ãã«èµ·ååã«ï¼ã½ããã¦ã§ã¢ç°å¢ (ã©ã¤ãã©ãªç­) 
+ä¾å­ã®åæåãè¡ãããã«ç¨æããã¦ããï¼
+
+software_init_hook ã®å®ç¾©ã¯ cpu_config.c ä¸­ã§è¡ãï¼è¦å®ã§ã¯ 0 ã«ä»®è¨­å®
+ããã¦ããï¼ç¬èªã«å¥ã®å ´æã§ software_init_hook ãå®ç¾©ããå ´åï¼ãã¯ã­
+ã¨ãã¦ EXTERNAL_SOFT_HOOK ãå®ç¾©ããï¼ãã®ããã«ããã°ï¼å
+ã®å¤æ°å®ç¾©ã¯
+å«ã¾ããªããªãããï¼å¤é¨ããã®è¨­å®ãå¯è½ã¨ãªãï¼
+ä¾ãã°ï¼ã©ã¤ãã©ãªã®åæè¨­å®ãªã©ãè¡ãããå ´åã¯ï¼å¤é¨ããã®å¤æ°å®ç¾©ã
+è¡ããã¨ãå¯è½ã¨ãªãï¼
+
+(6) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+2.5  å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
+
+ã«ã¼ãã«èµ·åï¼åã³ï¼å²è¾¼ã¿çºçæã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã¨ã¯å¥ã®å²è¾¼ã¿å°ç¨ã®
+ã¹ã¿ãã¯ãä½¿ç¨ãã¦ããï¼ãã®ã¹ã¿ãã¯é åã¯ RAMEND ã¨ãããã¯ã­ã§
+æå®ãããã¢ãã¬ã¹ããä½ä½æ¹åã«åããã¡ã¢ãªä¸ã®é åã«ç¢ºä¿ãããï¼
+ãã®ããï¼ã·ã¹ãã èµ·åæã«ã¯ãã®é åãç¢ºä¿ããå¿
+è¦ãããï¼
+
+å²è¾¼ã¿ãã¹ãã¬ãã«ã 0ï¼ã¤ã¾ãï¼ã¿ã¹ã¯å®è¡ä¸­ï¼ã§å²è¾¼ã¿ãçºçããã¨ï¼
+ã«ã¼ãã«ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿å­ããå¾ï¼
+å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«ã¹ã¿ãã¯ãåãæ¿ããï¼ãã®ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨
+ã¹ã¿ãã¯ã«ã¯ï¼æ±ç¨ã¬ã¸ã¹ã¿ï¼ãã©ã°ï¼PC ãªã© 30 ãã¤ãã®é åãä½åã«å¿
+è¦ã¨ãªãï¼
+
+å²è¾¼ã¿ãã¹ãã¬ãã«ã 1ä»¥ä¸ã®ç¶æ
+ï¼ã¤ã¾ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼ã§
+å²è¾¼ã¿è¦æ±ãåãä»ããããå ´åï¼å²è¾¼ã¿ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿å­ãããï¼
+ããã«ã¯å²è¾¼ã¿çºçæ¯ã«30ãã¤ããã¤å¿
+è¦ã§ããï¼ããã«å ãï¼ããããã®
+å²è¾¼ã¿å¦çã«ã¼ãã³ã§ä½¿ç¨ãããã¹ã¿ãã¯ãµã¤ãºãå¿
+è¦ã¨ãªãï¼
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ï¼sys_defs.h ä¸­ã®
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ï¼isig_timãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼
+ãã ãï¼ã¿ã¤ãã®ç²¾åº¦ã1Î¼ç§ã§ããããï¼1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ãã
+å ´åã«ã¯ï¼isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+3.2  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+M32Cã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ããµãã¼ããã¦ããï¼
+OAKS16ã§ã¯ç²¾åº¦ 0.0333[us]ã§ããï¼SYSUTIMåã¯ UW å (32 ãããç¬¦å·ãªã
+æ´æ°å) ã§ããï¼
+
+3.3  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+OAKS32 ã§ã¯ UART0 ã¨ UART1 ã®ï¼ã¤ã®ã·ãªã¢ã«ãã¼ããå©ç¨å¯è½ã§ããï¼
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã¯ UART0 ã®ã¿ã«å¯¾å¿ãï¼ã­ã°åºåç¨ã«
+ä½¿ç¨ãã¦ããï¼
+ä¸æ¹ï¼UART1 ã¯ ãããã¬ KD3083 ã§ãã¹ãPCã¨ã®éä¿¡ç¨ãã¼ãã¨ãã¦ä½¿ç¨ãã
+ãã¨ãæ³å®ãã¦ããï¼ãã®ããï¼ãã®ã¾ã¾ã§ã¯ãã©ã¤ãã§ä½¿ç¨ã§ããªã.
+
+3.4  ã¡ã¢ãªããã
+
+3.4.1  OAKS32ã®ã¡ã¢ãªããã
+
+(1)  å®è¡ç°å¢
+
+     0x000000 - 0x0003ff  SFRé å
+     0x000400 - 0x0077ff  å
+è RAMï¼data_NEï¼data_NOï¼bss_NEï¼bss_NO
+     0x007800 - 0x007fff  å
+è RAMï¼ãããã°ã¢ãã¿ç¨RAMé åï¼ã¢ãã¿ãä½¿ç¨â»ï¼
+
+     0xf80000 - 0x0ffdff  å
+èµ ROMï¼programï¼rom_FEï¼rom_FOï¼data_NEIï¼data_NOI
+     0xffbd00 - 0xffbdff  å
+èµ ROMï¼ãã¼ãï¼ã½ããå²è¾¼ã¿ãã¯ã¿é å (vvector)
+     0xffbe00 - 0xfffdff  å
+èµ ROMï¼ãããã°ã¢ãã¿ãã­ã°ã©ã é åâ»
+     0xfffe00 - 0xffffdb  å
+èµ ROMï¼ã¹ãã·ã£ã«ãã¼ã¸ãã¯ã¿ãã¼ãã«é å
+     0xffffdc - 0xffffff  å
+èµ ROMï¼ãã¼ãCPUä¾å¤ãã¯ã¿é å(fvector)
+
+     æ³¨â»  ãããã¬KD3083ãä½¿ç¨ããªãå ´åã¯éå¸¸ã®ã¡ã¢ãªã¨ãã¦ä½¿ç¨å¯è½
+
+4.  éçº
+
+4.1  éçºç°å¢
+
+éçºç°å¢ã¯ï¼Windows XP (Service Pack3) ã§åä½ç¢ºèªããï¼
+æ§ç¯ç°å¢ã¯ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®éçºç°å¢ãç¨ããï¼
+ãã«ãç®¡çæ¹æ³ã¨ãã¦ï¼ä»¥ä¸ã® 2 ã¤ã®æ¹æ³ãããï¼
+
+(1)  ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®çµ±åéçºç°å¢ TM ãä½¿ç¨ããï¼
+
+     å¯¾è±¡ï¼OAKS32ãã¼ã
+     æ¹å¼ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾ã® TM ãç¨ãã¦æ§ç¯ãã
+           ãã®éï¼ã«ã¼ãã«é¨ãã©ã¤ãã©ãªåããæ§ç¯ãã
+     åä½ç¢ºèªãã¼ã«ï¼
+			NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
+			TM V3.20
+
+(2)  DOS çªãã make ã³ãã³ããç¨ãã
+     å¯¾è±¡ï¼OAKS32ãã¼ã
+     æ¹å¼ï¼DOSçªããmakeãä½¿ã£ã¦æ§ç¯
+           ã«ã¼ãã«ãã©ã¤ãã©ãªåããæ¹æ³ã¨ããªãæ¹æ³ã®ä¸¡æ¹ã«å¯¾å¿
+     åä½ç¢ºèªãã¼ã«ï¼
+			NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
+            GNU make (version 3.80 ã§åä½ç¢ºèªæ¸)
+            Perl (åä½ç¢ºèªã¯ Active Perl v5.6.1, 5.12.2 ã§è¡ã£ã)
+
+ãã ãï¼ãããã®å ´åã NC308WA ã®ã¤ã³ã¹ãã¼ã«å
+ã«ã¯æ³¨æãå¿
+è¦ã§ããï¼
+æè¿ã®çã§ã¯è¦å®å¤ã¨ãã¦ C:\Program Files ä»¥ä¸ã«ã¤ã³ã¹ãã¼ã«ããããï¼
+TM åã³ make ã¯ãã¹æå­åä¸­ã«ç©ºç½ãå«ã¾ããå ´åï¼æ­£ããåä½ããªãï¼
+ãã®ããï¼ã¤ã³ã¹ãã¼ã«å
+ãã¹ãç©ºç½ãå«ã¾ãªãããã«ããå¿
+è¦ãããï¼
+
+ã¾ãï¼ã½ã¼ã¹ã®å±éä½ç½®ã¨ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
+ã¨ãç°ãªããã©ã¤ãã«
+é
+ç½®ããã¦ããæ§æãï¼æ­£å¸¸ã«åä½ããªãå ´åãããããï¼æ¨å¥¨ããªãï¼
+
+4.2  çµ±åéçºç°å¢TMãç¨ããæ§ç¯
+
+m32c ç¨ã® TOPPERS/JSP ãæ§ç¯ããã«ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾è£½ã®
+éçºç°å¢ãä½¿ç¨ããï¼ãã®ããï¼ã¾ããã¼ã«ãã¤ã³ã¹ãã¼ã«ãã¦ããï¼
+          çµ±åéçºç°å¢ TM
+          ã³ã³ãã¤ã© NC308WA
+
+ã¾ãï¼ã¿ã¼ã²ãããã­ã°ã©ã ã®æ§ç¯ã«ã¯ï¼éçºãã¹ãä¸ã§åä½ããï¼
+ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg/cfg.exe åã³ M16Cã¿ã¼ã²ããåãã¦ã¼ãã£ãªãã£
+ãã­ã°ã©ã  utils/m16c-renesas/m16cvec.exe  ãç¨ããï¼
+(m32cã¿ã¼ã²ããã§ã¯m16coffset.exeã¯ä½¿ç¨ããªã)
+m16cvec.exe ã¯ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ãããï¼
+ãã­ã°ã©ã ãå¤æ´ãããå ´åã¯åæ§ç¯ããå¿
+è¦ãããï¼
+
+
+4.2.1 ãã¼ã«ã®æ§ç¯
+
+cfg.exe ã®æ§ç¯ã«ã¤ãã¦ã¯ user.txt ãªã©ãåç
+§ã®ãã¨ï¼
+utils/m16c-renesas ä¸ã®ãã¼ã« m16cvec.exe ãæ§ç¯ããå ´åï¼
+MinGW (Minimalist GNU for Windows)ãä½¿ç¨ããï¼
+(ã¡ãªã¿ã«ï¼cfg.exe ã®ãã«ãã MinGW ã§å¯¾å¿å¯è½ã§ããï¼
+
+éå¸¸ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
+å©ç¨ããã°ããï¼
+
+MinGW (Minimalist GNU for Windows)
+http://www.mingw.org/
+http://sourceforge.net/projects/mingw/  (ã¤ã³ã¹ãã¼ã©ã®å
+¥æå
+)
+
+
+4.2.2 TM ã§ãã­ã¸ã§ã¯ããé¸æããã«ãããï¼
+
+(1) äºåç¢ºèª
+
+ãã«ãå¯¾è±¡ã®ã½ã¼ã¹ã³ã¼ãããããã¦ãããã©ã¤ãã¨ï¼ã³ã³ãã¤ã©ãªã©ã®
+éçºãã¼ã«ãã¤ã³ã¹ãã¼ã«ããã¦ãããã©ã¤ãã¯åããã©ã¤ããã©ããç¢ºèªãã.
+ç°ãªãå ´åã¯ãã«ãã®ç¢ºèªãåºæ¥ã¦ããªãããï¼éæ¨å¥¨ã®æ¹æ³ã¨ãã.
+
+(2) ãã­ã¸ã§ã¯ãã®ãªã¼ãã³
+
+(2-1) Windows ã¡ãã¥ã¼ãã TM ãèµ·åããï¼
+(2-2) TM ãèµ·åããããOpen Projectãã¡ãã¥ã¼ãéãï¼
+(2-3) tools/M32C-RENESAS ãã£ã¬ã¯ããªä¸­ã® Jsp14sample1.tmk ãé¸æããï¼
+(2-4) é¸ææï¼ã³ã³ãã¤ã©ã®éãã«ããè¨­å®ã¡ãã¥ã¼ãè¡¨ç¤ºãããå ´åãããï¼
+      ãã®ç°å¢ã¯ï¼NC308WA ã³ã³ãã¤ã©ã® Version Version 5.42 Release 00 
+      ç¡åè©ä¾¡çã«ã¦è©ä¾¡ãè¡ã£ã¦ããï¼ç¾å¨ã®ç°å¢ã«ãããã£ã¦è¨­å®ããï¼
+
+(3) ããªãã­ã»ããµã®æå®
+
+ãã«ãéç¨ã§ããªãã­ã»ããµãä½¿ç¨ããããï¼éçºç°å¢ãã¤ã³ã¹ãã¼ã«ããã
+å ´æã«å¿ãã¦ CPP ã¨ããååã®ãã¯ã­ãå¤æ´ããï¼
+
+
+(4) è¨­å®å¾ï¼ããªãã«ããã¡ãã¥ã¼ãé¸æããã«ããè¡ã
+
+TMã®è¨­å®ã¨ãã¦ã½ã¼ã¹ãã¡ã¤ã«ã®ä¾å­æ§ã®è¨­å®ãè¡ã£ã¦ããªãã®ã§ï¼
+æ§ç¯æã¯ããªãã«ããã®å®è¡ãæ¨å¥¨ããï¼
+
+ããã«ããçµäºããã¨ï¼ãã®ãã£ã¬ã¯ããªä¸­ã« Jsp14sample1.x30 ããã³
+Jsp14sample1.motãçæãããï¼
+
+
+4.3 DOSçªããmakeã³ãã³ããç¨ããæ§ç¯
+
+GNU make ãç¨ãã¦m32cç¨ã® TOPPERS/JSPã«ã¼ãã«ãæ§ç¯ããæ¹æ³ãç¤ºãï¼
+ãã®æ¹æ³ã§å¯¾å¿ãã¦ãããã¼ãã¯ OAKS32 ã§ããï¼
+ã³ã³ãã¤ã©ã¯ NC308WA V.5.42 Release 00 ç¡åè©ä¾¡çã§åä½ãç¢ºèªãã¦ãã.
+
+æ§ç¯ã«ããã£ã¦ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg.exe ã cfg ãã£ã¬ã¯ããªã«ï¼
+4.2.1 ã§ç¤ºãã m16cvec.exe ã utils/m16c-renesas ãã£ã¬ã¯ããªã«ï¼
+ããããå­å¨ãã¦ãããã¨ãåæã¨ãªãï¼
+ã¾ãï¼NC308WA, KD3083 ã¯ãããããã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãå¿
+è¦ã§ããï¼
+
+4.3.1 éçºãã¼ã«ã®å
+¥æ
+
+ãã¼ã«ã¯ä»¥ä¸ã®ãµã¤ãããå
+¥æå¯è½ï¼
+
+GNU Make 
+http://www.mingw.org/
+
+Active Perl
+http://www.activestate.com/
+
+4.3.2 ãµã³ãã«ãã­ã°ã©ã ã®æ§ç¯
+
+ ãµã³ãã«ãã­ã°ã©ã ã®æ§ç¯æ¹æ³ã¯åºæ¬çã« doc/user.txt ã® ã7.4 ãµã³ãã«ã
+ã­ã°ã©ã ã®æ§ç¯ãã§ç¤ºãããæ¹æ³ã«æºæ ãã¦ããï¼ãã ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+ã¹ã¯ãªããç­ã® perl ã§æ¸ãããã¹ã¯ãªããã¯ãã®ã¾ã¾ Windows ã® DOSçª
+ï¼Windows XPç­ã§ã¯ãã³ãã³ãã¹ã¯ãªãããï¼ã®ä¸ã§ã¯ä½¿ç¨ãããã¨ãã§ããªãï¼
+ãã®ããï¼utils/m16c-renesas ãã£ã¬ã¯ããªã«ç¨æãããå°ç¨ã® Perl 
+ã¹ã¯ãªãããä½¿ç¨ããï¼
+
+4.3.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡
+
+   > mkdir foo
+   > cd foo
+   > perl ..\utils\m16c-renesas\configure.m16c -C m32c -S oaks32 -T renesas -D ..
+
+-D ãªãã·ã§ã³ã¯ãã£ã¬ã¯ããªã®ä½ç½®ã«ããé©å½ã«ä¿®æ­£ãã.
+ä¾ã¯ foo ãã£ã¬ã¯ããªã JSPã«ã¼ãã«ã®ããããã£ã¬ã¯ããªã®ä¸ã«ããå ´åã®ä¾ã§ã.
+
+ãã®å¦çã«ããï¼ã«ã¬ã³ããã£ã¬ã¯ããªã«ã¯ä»¥ä¸ã®ãã¡ã¤ã«ãçæããã
+	ã»Makefile
+	ã»ãµã³ãã«ãã­ã°ã©ã ç¨ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼sample1.cfgï¼
+	ã»ãµã³ãã«ãã­ã°ã©ã æ¬ä½ï¼sample1.hããã³sample1.cï¼
+ããã§Makefileã®ä¿®æ­£ãå¿
+è¦ãªãã°ï¼ä¿®æ­£ãè¡ãã®ã¯ä»ã®ã¿ã¼ã²ããã®å ´åã¨åãã§ããï¼
+
+4.3.4 Makefile ã®ä¿®æ­£
+
+(A) ã¡ã¢ãªã¢ãã¬ã¹ã®è¨­å®
+
+RAMEND ã¯å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ï¼RAM_START_ADR ã¯SFRãé¤ãã
+RAMã®å
+é ­çªå°ï¼ROM_START_ADR ã¯ ROMã®å
+é ­çªå°ãããããç¤ºã.
+
+(B) ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ãã£ã¬ã¯ããª
+
+NC308WA ã³ã³ãã¤ã©ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ããã¦ãããã£ã¬ã¯ããªã
+TOOLDIR ã«è¨­å®ãã.
+
+(C) KD3083ãä½¿ç¨ããã
+ä½¿ç¨ããå ´åã¯KD3083ã®å¤ã1ã«ï¼ä½¿ç¨ããªãå ´åã¯0ã«è¨­å®ãã
+
+(D) ã©ã¤ãã©ãªã¢ã³ LB308ãä½¿ããã©ãã
+
+ã¨ã³ããªã¼çã³ã³ãã¤ã©ãªã©ï¼ã©ã¤ãã©ãªã¢ã³ãæããªãéçºç°å¢ãç¨ãï¼
+ã«ã¼ãã«ã©ã¤ãã©ãªã®æ§ç¯ãè¡ãªããªãå ´åã¯
+USE_LB308 = TRUE
+ã®è¡ãã³ã¡ã³ãã¢ã¦ããã
+
+(E) JSPã«ã¼ãã«ã½ã¼ã¹ã®ããããã£ã¬ã¯ããªã®ä½ç½®
+
+éå¸¸ã¯ configure ã¹ã¯ãªããã§è¨­å®ãããï¼JSPã«ã¼ãã«ã½ã¼ã¹
+ãã£ã¬ã¯ããªã¨ãã«ãä½æ¥­ãè¡ããã£ã¬ã¯ããªã¨ã®ä½ç½®é¢ä¿ãå¤åããå ´åã¯
+SRCDIR ã®å¤ãå¤æ´ãã.
+
+(F) ã¿ã¼ã²ãããã¡ã¤ã«ã®å®ç¾©
+
+ã­ã¼ããããå®è¡ãã­ã°ã©ã ã®å½¢å¼ãæå®ããï¼IEEE-695å½¢å¼ã®ã¨ãã¯
+$(OBJNAME).x30ï¼ã¢ãã­ã¼ã© Så½¢å¼ã®æã¯ $(OBJNAME).mot ãæå®ããï¼
+
+(G) ãã®ä»
+
+ãä»¥ä¸ã®é 
+ç®ã«ã¤ãã¦ã¯ï¼doc/user.txt ã®å
+å®¹ã«æºæ ãã¦ããã®ã§
+ãã¡ããåç
+§ã®ãã¨.
+	ã»ã«ã¼ãã«ã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªåã®å®ç¾©
+	ã»å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+	ã»ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+	ã»ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+	ã»ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+
+4.3.5 ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæããã³ãµã³ãã«ã®å®è¡ãã­ã°ã©ã ä½æ
+
+ä¾å­é¢ä¿ãã¡ã¤ã« Makefile.depend ããã³å®è¡ãã­ã°ã©ã  jsp.x30 ããã³ jsp.mot ã
+ä½æããã«ã¯æ¬¡ã®ããã«å®è¡ããï¼MinGW ã® make ãå©ç¨ããå ´åï¼make ã®ä»£ããã«
+mingw32-make ãå®è¡ããå¿
+è¦ããããããããªãï¼
+
+   > make depend
+   > make
+
+ããã§å®è¡ãã­ã°ã©ã (jsp.x30,jsp.mot)ãã«ã¬ã³ããã£ã¬ã¯ããªã«çæããã.
+
+4.4 å®è¡ãã­ã°ã©ã ã®è»¢é
+
+ãã¼ãä¸ã§å®è¡ãç¢ºèªããããã®æ¹æ³ã¨ãã¦ã¯2éãã®æ¹æ³ãããï¼
+
+a. MOTãã¡ã¤ã«ãFlashSta ãã­ã°ã©ã ãç¨ãã¦ï¼ãã¼ãä¸ã®ãã©ãã·ã¥ROMã«æ¸ãè¾¼ã
+b. ãããã¬KD3083ãç¨ãã¦ã­ã¼ãï¼å®è¡ãã
+	OAKS32 ã«ã¯ï¼ãããã¬ KD3083 ãæ·»ä»ããã¦ããï¼ãã®ãããã¬ã¯
+	ãã©ãã·ã¥ROMä¸ã®ã¢ãã¿ãã­ã°ã©ã ã¨ UART1 ãç¨ãã¦ PC ã¨éä¿¡ãè¡ã
+	ãã¨ã§ï¼ãããã¯æ©è½ãå®ç¾ããï¼
+	æ¬ã«ã¼ãã«ã¯KD3083ãä½¿ç¨ãã¦ã«ã¼ãã«ã®ã­ã¼ãï¼å®è¡ãè¡ããã¨ãåºæ¥ãï¼
+	ä½¿ç¨ã«å½ãã£ã¦ã¯ä¸é¨å¶éäºé 
+ãããï¼è©³ç´°ã«ã¤ãã¦ã¯KD3083ã®ããã¥ã¢ã«ã
+	åç
+§ã®ãã¨ï¼
+
+4.4.1 FlashStaãç¨ãã¦ãã©ãã·ã¥ROMã«æ¸ãè¾¼ãæ¹æ³
+
+ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ãä½¿ã£ã¦æ¥ç¶ããï¼
+  OAKS32ãã¼ãã®UART1ãã¼ãã«æ¥ç¶ããï¼
+ã»CNVSSãã³ãã¸ã£ã³ãã¼ãã³ãä½¿ã£ã¦ã·ã§ã¼ããããï¼
+ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
+
+ã»FlashStaãèµ·åããï¼
+ã»Select Programã¡ãã¥ã¼ã«ã¦ãã¼ããé¸æãã¦ãOKããã¿ã³ãæ¼ãï¼
+ã»ID Checkã¡ãã¥ã¼ãè¡¨ç¤ºãããããRefer..ããã¿ã³ãæ¼ãï¼MOTãã¡ã¤ã«ãé¸æããï¼
+ã»Select Programã«æ»ã£ããï¼ãOKããã¿ã³ãæ¼ä¸ãFlash Startã¡ãã¥ã¼ãè¡¨ç¤ºãããï¼
+
+ã»ãEraseããã¿ã³ãæ¼ãï¼ãã©ãã·ã¥ROMãã¯ãªã¢ããï¼
+ã»ãProgram..ããã¿ã³ãæ¼ããã­ã°ã©ã ã®æ¸ãè¾¼ã¿ãè¡ãï¼
+ã»æ¸ãè¾¼ã¿ãçµäºãããï¼ãExitããã¿ã³ãæ¼ä¸ãFlashStaãçµäºãããï¼
+ã»ãã¼ãã®é»æºãåãï¼CNVSSãã³ããã¸ã£ã³ãã¼ãã³ãã¯ããï¼
+
+4.4.2 KD3083ãä½¿ç¨ãã¦ã­ã¼ãï¼å®è¡ããæ¹æ³
+
+ã»ãã®æ¹æ³ãå®è¡ããå ´åã¯ï¼ãããããKD3083 ç¨ã®ã¢ãã¿ãã­ã°ã©ã ã
+å
+è ROM ã«æ¸ãè¾¼ã¾ãã¦ãããã©ããç¢ºèªãã. æ¸ãè¾¼ã¾ãã¦ããªãå ´åã¯
+ã¢ãã¿ãã­ã°ã©ã ãä¸è¨4.2.3ã® FlashSta ãä½¿ç¨ãã¦æ¸ãè¾¼ãå¿
+è¦ããã.
+
+ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ãä½¿ã£ã¦æ¥ç¶ããï¼
+  OAKS32ãã¼ãã¯UART1ãã¼ãã«æ¥ç¶ããï¼
+ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
+
+ã»KD3083ãèµ·åããï¼
+ã»Initç»é¢ã§æ¥ç¶ããPCå´ã®ãã¼ãã¨éä¿¡éåº¦ãè¨­å®ãï¼ãOKããæ¼ãï¼
+ã»ã¡ãã¥ã¼ãFileâDownloadâLoad Moduleããé¸æãï¼.x30ãã¡ã¤ã«ãé¸æããï¼
+  ããã¨ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ãCPUãã¼ãã«è»¢éãããï¼
+  ãã¨ã¯ãGoããã¿ã³ãæ¼ãã°å®è¡ãéå§ãããï¼
+
+4.4.3 sample1ã®å®è¡ã«å¿
+è¦ãªPCå´ã®ã·ãªã¢ã«è¨­å®
+
+ãã½ã³ã³ä¸ã§ç«¯æ«ã¨ãã¥ã¬ã¼ã¿ã½ããã¦ã§ã¢ãå®è¡ããï¼
+
+éä¿¡è¨­å®ã¯ä»¥ä¸ã®éãï¼
+	ãã¼ã¬ã¼ãï¼ 38400bps
+	ãã¼ã¿é·ï¼8ããã
+	ããªãã£ï¼ãªã
+	ã¹ããããããï¼1ããã
+	ãã­ã¼å¶å¾¡ï¼Xon/Xoff
+
+5.  ãã¡ã¤ã«æ§æ
+
+5.1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+(1)   config/m32c-renesas
+
+      api.h            ã©ã¤ãã©ãªåããªãæã«ä½¿ç¨ããï¼APIå®ç¾©
+      cpu_config.c     M32Cãã­ã»ããµä¾å­é¨ã® C é¢æ°
+      cpu_config.h     M32Cãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+      cpu_context.h    M32Cãã­ã»ããµä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+      cpu_defs.h       M32Cãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      cpu_insn.h       M32Cãã­ã»ããµã®ã¢ã»ã³ããª inline é¢æ°
+      cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+      cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+      cpu_support.a30  M32Cãã­ã»ããµã®ã¢ã»ã³ããªé¢æ°
+      cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+      makeoffset.c     offset.inc çæãµãã¼ãé¢æ°
+      offset.inc       TCBã¡ã³ãã¸ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
+      start.a30        ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+      tool_config.h    M32Cãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+      tool_defs.h      M32Cãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+
+(2)   config/m32c-renesas/oak32/
+
+      hw_serial.cfg    SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+      hw_serial.h      SCI ã®ããããã¡ã¤ã«
+      hw_timer.h       OAKS32ç¨ã¿ã¤ãæä½ã«ã¼ãã³
+      Makefile.kernel  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©(M32Cç¨)
+                       makeã³ãã³ããç¨ããm32cç¨TOPPERS/JSPã«ã¼ãã«æ§ç¯ã§ä½¿ç¨ãã
+      oaks32.h         ãã­ã»ããµã®å®ç¾©
+      sfr_uart.c       OAKS32ç¨SIOãã©ã¤ãã®Cé¢æ°
+      sfr_uart.h       OAKS32ç¨SIOãã©ã¤ãã®ããããã¡ã¤ã«
+      sys_config.c     OAKS32ãã¼ãä¾å­é¨ã® C é¢æ°
+      sys_config.h     OAKS32ãã¼ãä¾å­é¨ã®æ§æå®ç¾©
+      sys_defs.h       OAKS32ãã¼ãä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+      sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+      sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+
+(3)   tools/M32C-RENESAS/
+                       çµ±åéçºç°å¢TMãç¨ãã¦TOPPERS/JSPãæ§ç¯ããããã®
+                       ãã­ã¸ã§ã¯ããã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããª
+      Jsp14sample1.tmi,Jsp14sample.tmk
+                       TMãç¨ãã¦OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ãã­ã¸ã§ã¯ããã¡ã¤ã«
+      sample1.cfg      OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+
+(4)   sample/
+
+      Makefile.m32c-oaks32	GNU make ã³ãã³ããä½¿ç¨ãã¦TOPPERS/JSPã«ã¼ãã«ãæ§ç¯
+                            ããããã® Makefile
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32r.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32r.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32r.txt	(revision 26)
@@ -0,0 +1,351 @@
+
+           ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+               (M32R ã¿ã¼ã²ããä¾å­é¨)
+
+           ï¼Release 1.4.3 å¯¾å¿ï¼æçµæ´æ°: 29-Mar-2007ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
+             Graduate School of Information Science, Nagoya Univ., JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: m32r.txt,v 1.10 2007/05/30 03:57:10 honda Exp $
+------------------------------------------------------------------------
+
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ï¼TOPPERS/JSP M32Rçã«ã¤ãã¦è§£èª¬ããï¼
+
+ï¼ï¼ M32R ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+M32Rãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼ä»¥ä¸ã®ãã®ããµãã¼ããã¦ã
+ãï¼
+
+	ã»ã«ããµã¹ãã¯ãã­ã¸ M3A-ZA36 (M32102)
+	ã»ã«ããµã¹ãã¯ãã­ã¸ M3A-2131 (M32102)
+
+éçºç°å¢ã«ã¯ï¼GCCãªã©ã®GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
+ãã¯ELFãæ¨æºã¨ããï¼
+
+TOPPERS/JSP M32Rã®éçºã¯ æ¬¡ã®ç°å¢ã§è¡ããã¦ããï¼
+
+	ã»GNU gcc-4.1.2
+	ã»GNU binutils-2.17
+	ã»GNU gdb-6.6
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+    ã»å¤éå²è¾¼ã¿
+
+	  M32Rç°å¢ã§ã¯å²è¾¼ã¿ãã³ãã©èµ·åä¸­ã®å¤éå²ãè¾¼ã¿ãè¨±å¯ããï¼
+
+    ã»chg_ipm 
+
+	  M32Rç°å¢ã§ã¯ï¼chg_ipm(å²è¾¼ã¿ãã¹ã¯ã¬ãã«ã®å¤æ´)ããµãã¼ãããï¼
+      ã¿ã¹ã¯å
+ã§chg_ipmãå©ç¨ãã¦ãã¹ã¯ã¬ãã«ãå¤æ´ããå ´åï¼å®è¡ãã
+      ã¿ã¹ã¯ã§ã®ã¿å¤æ´ãæå¹ã¨ãªã (ãã£ã¹ãããæã«å²è¾¼ã¿ãã¹ã¯ãéé¿
+      /å¤æ´ãã)ï¼
+
+1.3 TOPPERS/JSP M32Rç°å¢ã®å¶éäºé 
+
+
+    ã»vxget_tim
+
+	  M32Rç°å¢ã§ã¯vxget_timããµãã¼ãããªãï¼
+
+    ã»ena_int, dis_int
+	
+      M32Rç°å¢ã§ã¯ã¦ã¼ã¶ã«ããå²è¾¼ã¿è¨±å¯ã»ç¦æ­¢ã¯è¡ããªããã®ã¨ãã¦ããï¼
+      ãã ãï¼ena_int/dis_intã¯ï¼loc_cpu/unl_cpuã®å¥åã¨ãã¦å­å¨ããï¼
+
+    ã»ã¿ã¤ããã£ãã¯ã¯1ms
+
+      TOPPERS/JSP M32Rã§ã¯ï¼1msã®ç²¾åº¦ã§ã«ã¼ãã«ã¿ã¤ããé§åããï¼
+
+
+ï¼. M32Rç°å¢ã«ä¾å­ããæ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼M32Rç°å¢ä¾å­ã®
+é¨åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+intå ããã³ unsigned intåã®ãµã¤ãºã¯32ãããã§ããï¼å²è¾¼ã¿åªå
+åº¦ãè¡¨
+ç¾ããå IPR ã¯ç¬¦å·ãªã8ãããæ´æ°ã§ããï¼
+
+
+ï¼. ã·ã¹ãã ã«ä¾å­ããæ©è½
+
+3.1 ã¡ã¢ãªããã
+
+ã»M3A-2131
+
+  0x00000000 - 0x0000020f : ãã¯ã¿ãã¼ãã«, EITãã³ãã©ã®ä¸é¨ (FLASH ROM)
+  0x00000210 -            : æªä½¿ç¨ (FLASH ROM)
+  0x00f00000 - 0x00f0ffff : ãã­ã°ã©ã  + ã·ã¹ãã ã¹ã¿ãã¯ (å
+èµRAM)
+  0x01000000 - 0x017fffff : ãã¼ã¿ (å¤é¨SDRAM 8MB)
+
+M3A-2131ä¾å­é¨ã§ã¯ï¼ããã©ã«ãã§å
+èµRAMä¸ã«ãã­ã°ã©ã ãé
+ç½®ããããã«
+ãªã£ã¦ããï¼å
+èµRAMä¸ã«ãã­ã°ã©ã ãé
+ç½®ããããã«ã¯ï¼ãã¯ã¿ãã¼ãã«
+(0x00000000-0x0000020f)é åãï¼0xFF3C0000 (BRA PC+0x00F00000)ã§åãã
+å¿
+è¦ãããï¼
+
+ã¹ã¿ãã¯é åã¯ï¼å
+èµRAMé åã®æ«å°¾ããã¢ãã¬ã¹å¤ãæ¸å°ããæ¹åã¸é²ãï¼
+ãã¼ã¿é åã¯æå®ã®é åããã¢ãã¬ã¹å¤ãå¢å ããæ¹åã¸ç¢ºä¿ãããï¼
+
+M3A-2131ä¾å­é¨ã§ã¯ï¼ã·ã¹ãã ã¹ã¿ãã¯ãé¤ããã¹ã¦ã®ãã¼ã¿ãå¤é¨SDRAM ã«
+é
+ç½®ãããã¨ãããã©ã«ãã¨ãã¦ããï¼é
+ç½®ãå¤ããããã«ã¯ï¼M3A-2131ç¨ãª
+ã³ã«ã¹ã¯ãªãããã¡ã¤ã«(jsp/config/m32r/m3a2131/m32relf.ld)ãä¿®æ­£ã
+ãã°ããã
+
+ã»M3A-ZA36
+
+  0x00f00000 - 0x00f0ffff : ãã­ã°ã©ã  + ã·ã¹ãã ã¹ã¿ãã¯ï¼å
+èµSRAMï¼
+  0x04000000 - 0x047fffff : ãã¼ã¿ï¼å¤é¨SDRAM 64MBï¼
+
+M3A-ZA36ä¾å­é¨ã§ã¯ï¼å
+èµSRAMä¸ã«ãã­ã¹ãã»ã¯ã·ã§ã³ãé
+ç½®ãã¨ãæ¨æºã¨ã
+ã¦ããï¼ã¹ã¿ãã¯é åã¯ï¼å¤é¨SDRAMé åã®0x04100000çªå°ããã¢ãã¬ã¹å¤ã
+æ¸å°ããæ¹åã¸é²ãï¼
+
+ãã¼ã¿é åã¯ï¼SDRAMã®å
+é ­çªå°0x04000000ããã¢ãã¬ã¹å¤ãå¢å ããæ¹åã¸
+ç¢ºä¿ãããï¼ãã®ããï¼ã«ã¼ãã«ãã­ã¼ãããéã«ã¯ï¼äºããããã¬ç­ã§
+SDRAMãåæåãã¦ããå¿
+è¦ãããï¼
+
+ã¡ã¢ãªé
+ç½®ãå¤ããããã«ã¯ï¼M3A-ZA36ç¨ãªã³ã«ã¹ã¯ãªãããã¡ã¤ã«
+(jsp/config/m32r/m3a_za36/m32relf.ld)ãä¿®æ­£ããã°ããï¼
+
+
+3.2 ä»ã®ã·ã¹ãã /ãããã¸ã®ãã¼ãã£ã³ã°
+
+ãã¼ãã£ã³ã°ä½æ¥­ã¯æ¬¡ã®ã¹ããããããªãï¼
+	ã»ã¡ã¢ãªããããã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹å¤è¨­å®
+    ã»ã¿ã¤ãã¼å¤ã®è¨­å®
+    ã»RAMéå§çªå°ã®è¨­å®
+    ã»ã¤ãã·ã£ã«ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+3.2.1 ã¡ã¢ãªããããã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹å¤è¨­å®
+
+TOPPERS/JSP M32Rç°å¢ã§ã¯ããã¤ãã®å¶å¾¡ã¬ã¸ã¹ã¿ãåç
+§ãã¦ããï¼ãããã¯
+å
+¨ã¦ã·ã¹ãã ä¾å­é¨ç¨ãã£ã¬ã¯ããªã®sys_defs.hã§å®ç¾©ããã¦ããï¼å©ç¨è
+ã¯
+å¿
+è¦ã«å¿ãã¦ãããã®å¤ãä¿®æ­£ãããã¨ï¼
+
+3.2.2 ã¿ã¤ãã¼å¤ã®è¨­å®
+
+TOPPERS/JSP M32Rç°å¢ã§ã¯æ¨æºã§1msãã¨ã«å²è¾¼ã¿ãçºçããã¦ããï¼
+
+å²è¾¼ã¿ãçºçãããã¾ã§ã®æéã¯ï¼ã¿ã¤ãã³ã³ãã¢ã¬ã¸ã¹ã¿ã®å¤ãããã¥ã¢ã«
+ã«ãããã£ã¦ï¼TIMER_CLKCNTãèª¿æ´ãããã¨ã§å¤æ´ã§ããï¼
+
+ã»m3a2131
+
+config/m32r/m3a2131/sys_config.h
+
+/* M3A-2131 66MHz ã§ 115.2kbps */
+#define TIMER_CLKCNT	(16667*2)
+#define TIMER_PORT		5
+
+ã»m3a_za36
+
+config/m32r/m3a_za36/sys_config.h
+
+#define TIMER_CLKCNT		1250		/* 10MHz ã§ 57600bps */
+#define TIMER_PORT			4
+
+ã¾ãï¼ã¿ã¤ã ãã£ãã¯èªä½ãä¿®æ­£ããå ´åã¯ï¼sys_defs.hã®TIC_NUMEããã³
+TIC_DENOãä¿®æ­£ããï¼ããããã¯æ¬¡å¼ã«å¾ãï¼
+
+ã¿ã¤ã ãã£ãã¯(ms) = TIC_NUME(ms) / TIC_DENO(ms)
+
+3.2.3 RAMéå§çªå°ã®è¨­å®
+
+m32relf.ldã®MEMORYé¨ã®å
+å®¹ãä¿®æ­£ãããã¨ã§ï¼ã¡ã¢ãªã®ãµã¤ãºããã³ä½ç½®ã
+å¤æ´ã§ããï¼ã¾ãï¼åã»ã¯ã·ã§ã³ã®æ«å°¾ã«ãã"> iram"ã"> eram"ã«å¤æ´ãã
+ãã¨ã§ï¼ã»ã¯ã·ã§ã³æ¯ã«é
+ç½®ããä½ç½®ãå¤æ´ã§ããï¼
+
+3.2.4 ã¤ãã·ã£ã«ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+èµ·åæã«è¨­å®ãããåæã¹ã¿ãã¯ãã¤ã³ã¿(å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿)ã®çªå°ã¯
+m32relf.ldã®__stackã«è¨è¿°ããã¦ããï¼ãã®__ stackã«ã¯4ãã¤ãã¢ã©ã¤ã³ã
+ããå¤ãæ ¼ç´ããï¼
+
+M3A-ZA36ã®åæã¹ã¿ãã¯ãã¤ã³ã¿ã¯ï¼ä»¥ä¸ã®ããã«è¨­å®ããã¦ããï¼
+
+PROVIDE(__stack = 0x04100000);
+
+ã¹ã¿ãã¯ã¯ããªãã¯ãªã¡ã³ãã¹ã¿ãã¯ã§ããããï¼__stackã§ç¤ºãããã¢ãã¬
+ã¹ã«ã¯ä½ãæ ¼ç´ãããªããã¨ã«æ³¨æããããï¼
+
+3.2.5 ãã®ä»ã®è¨­å®
+
+    ã»ä½¿ç¨ããã¿ã¤ãã¦ãããã®çªå·
+        config/m32r/(sys)/sys_config.h: TIMER_PORTå®£è¨
+            ä½¿ç¨ããã¿ã¤ãã¦ãããçªå·ãå®ãããããã©ã«ãã¯5ãæ¨æºã®ç¶
+            æ
+ã§ã¯ããã®å®£è¨ãä¿®æ­£ããã ãã§ãå²è¾¼ã¿çªå·ãã¬ã¸ã¹ã¿ã¢ãã¬
+            ã¹ãªã©ãä¿®æ­£ãããã
+
+    ã»ã³ã³ã½ã¼ã«ã«ä½¿ç¨ããUARTã¦ãããã®ID
+        config/m32r/(sys)/sys_config.h: CONSOLE_PORTIDå®£è¨
+            ã³ã³ã½ã¼ã«ã¨ãã¦ä½¿ç¨ããUARTã¦ãããIDãæå®ãããUARTã¦ãã
+            ãIDã¯1ããå§ã¾ããã¨ã«æ³¨æãããã©ã«ãã¯1ã
+
+    ã»å²è¾¼ã¿è¦å ã®æå¤§æ°
+        config/m32r/(sys)/sys_config.h: NUM_INTERRUPTå®£è¨
+            å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãä½æããããã®å²è¾¼ã¿è¦å ã®æå¤§æ°ãè¨­å®
+            ãããããã©ã«ãã¯64 (0-63)ã
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+æ¬CPUãè­å¥ããããã®ã¿ã¼ã²ããåã¯ m32r-elf ã§ããï¼
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+[jsp]
+  +- [doc]
+  |   +- m32r.txt  : ãã®ãã¡ã¤ã«
+  +- [config]
+      +- [m32r]
+          +- cpu_config.c    : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+          +- cpu_config.h    : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+          +- cpu_context.h   : ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+          +- cpu_defs.h      : CPUä¾å­æ
+å ±(å²è¾¼ã¿/ä¾å¤çªå·ãªã©) å®ç¾©ãã¡ã¤ã«
+          +- cpu_support.S   : CPUä¾å­ã¢ã»ã³ããªè¨èªã³ã¼ãã£ã³ã°é¨
+          +- m32rasm.inc     : ã¢ã»ã³ãã©ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+          +- m32r.h			 : ã¬ã¸ã¹ã¿ããã (M32R å
+±é)
+          +- Makefile.config : CPUä¾å­Makefile
+          +- makeoffset.c    : æ§é ä½ãªãã»ããä½ç½®åå¾ç¨
+          +- start.S         : ã¹ã¿ã¼ãã¢ãã / å²è¾¼ã¿ãã³ãã©
+          +- cpu_rename.h    : ã·ã³ãã«åè¡çªåé¿ããã
+          +- cpu_unrename.h  :  åä¸
+          +- cpu_rename.def  : è¡çªåé¿å¯¾è±¡ã·ã³ãã«å®ç¾©ãã¡ã¤ã«
+          +- tool_defs.h     : å¦çç³»ä¾å­é¨
+          +- tool_config.h   : ãã¬ã¼ã¹ã­ã°æ©è½å®ç¾©ãã¡ã¤ã« (éå¯¾å¿)
+          +- [m3a_2131]
+              +- hw_serial.h     : ã·ãªã¢ã«æä½ (M32Rå
+èµéåæSIO)
+              +- hw_serial.c     :  åä¸
+              +- hw_timer.h      : ã¿ã¤ãæä½   (M32Rå
+èµã¿ã¤ã)
+              +- m32relf.ld      : M3A-2131å°ç¨ãªã³ã«ã¹ã¯ãªãã
+              +- Makefile.config : ã·ã¹ãã ä¾å­Makefile
+              +- sys_config.h    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_config.c    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_defs.h      : ã·ã¹ãã ä¾å­å®ç¾©ãã¡ã¤ã«
+              +- sys_support.S   : ã·ã¹ãã ä¾å­ã¢ã»ã³ãã©é¨
+              +- sys_rename.h    : ã·ã³ãã«åè¡çªåé¿ããã
+              +- sys_unrename.h  :  åä¸
+              +- sys_rename.def  : è¡çªåé¿å¯¾è±¡ã·ã³ãã«å®ç¾©ãã¡ã¤ã«
+          +- [m3a_za36]
+			  +- ...
+
+
+ï¼ï¼ãã¼ã¸ã§ã³å±¥æ­´
+
+    2007å¹´05æ28æ¥  Release 1.4.3
+        ã»cpu_support.Sã®ã¿ã¹ã¯ä¾å¤èµ·åå¤å®å¦çãä¿®æ­£
+        ã»m3a-2131g50ã®ãã£ã¬ã¯ããªåãm3a_2131ã«å¤æ´
+        ã»m3a-2131ã®SDRAMåæåå¦çãä¿®æ­£
+        ã»M32Rå
+±éã®ã¬ã¸ã¹ã¿ããããm32r.hã¨ãã¦ãã­ã»ããµä¾å­é¨ã«ç½®ã
+    2007å¹´04æ22æ¥  Release 1.4.2
+        ã»cpu_support.Sã§enadspãå®è£
+ã§ãã¦ããªãåé¡ãä¿®æ­£ï¼M3A-ZA36 
+          ã®ãµãã¼ããè¿½å ï¼
+    2003å¹´06æ17æ¥  Release 1.4Î²
+        ã»å
+±éé¨ãããã¤ãå¤æ´ã«ãªã£ãã®ã§ãããã«åããã
+    2003å¹´04æ21æ¥  Release 1.4Î±
+        ã»TOPPERS/JSP rel 1.4Î±ã«ãããããä½æ¥­ãè¡ã
+    2002å¹´08æ09æ¥  Release 1.2
+        ã»VDECã»ããã¼ã§åå¼·ããææãåæ ï¼32ãããã·ã³ãã«ã­ã¼ãã
+          shigh/lowæ¬ä¼¼å½ä»¤ã«å¤æ´
+    2002å¹´08æ06æ¥  Release 1.1
+        ã»lock_cpu/unlock_cpuã®ã¤ã³ã©ã¤ã³ã¢ã»ã³ããªè¨è¿°é¨ã§ç ´å£ããã
+          ã¬ã¸ã¹ã¿ã®ãªã¹ããæ¸ãã®ãå¿ãã¦ããã®ãä¿®æ­£
+        ã»ä¸é¨ã¢ã»ã³ããªè¨èªé¨ã®ã©ãã«ä»ããä¿®æ­£ããããã©ã«ãã³ã³ãã¤
+          ã«ãªãã·ã§ã³ã-O0ãã-O2ã«
+        ã»ã³ã¼ãã®ä¸é¨ã« "V850" ã®è¨è¿°ããã£ãã®ãä¿®æ­£
+    2002å¹´04æ15æ¥  Release 1.0
+        ã»M32Rä¾å­é¨ æ­£å¼ãªãªã¼ã¹
+    2002å¹´03æ10æ¥  Release 0.2
+        ã»ã¯ã­ãã¯ã66MHzã«ï¼ä½¿ç¨ã¿ã¤ãã0->5ã¸ï¼
+        ã»ãã­ã¥ã¡ã³ãæ´å
+    2002å¹´03æ01æ¥  Release 0.1
+        ã»æåã®ãªãªã¼ã¹
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m68k.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m68k.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m68k.txt	(revision 26)
@@ -0,0 +1,410 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+		    ï¼M68040 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.1å¯¾å¿ï¼æçµæ´æ°: 6-Oct-2004ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: m68k.txt,v 1.13 2004/10/06 06:51:51 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼M68040 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã 
+
+M68040ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼(æ ª)é»ç£è£½ã® DVE-68K/40
+CPUãã¼ãï¼CPU: MC68LC040ï¼ã®ã¿ããµãã¼ããã¦ããï¼
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+éçºç°å¢ã«ã¯ï¼GCCãªã©ã®GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
+ãã¯ELFãæ¨æºã¨ããï¼
+
+å®è¡ç°å¢ã¨ãã¦ï¼ROMã¢ãã¿ãç¨ããæ¹æ³ã¨GDBã¹ã¿ããç¨ããæ¹æ³ããµãã¼ã
+ãã¦ããï¼GDBã¹ã¿ããç¨ããå ´åã«ã¯ï¼Makefileä¸­ã§ï¼DBGENVã«GDB_STUBã
+å®ç¾©ããï¼ããã©ã«ãï¼ï¼ROMã¢ãã¿ãç¨ããå ´åã«ã¯ï¼DBGENVãå®ç¾©ããªãï¼
+
+1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+M68040ä¾å­ã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ï¼chg_ixxï¼get_ixxï¼ã
+ãµãã¼ããã¦ããï¼ã¾ãï¼DVE-68K/40 CPUãã¼ãä¾å­ã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡
+ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ããµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦æ­¢ã¨
+è¨±å¯ï¼dis_intï¼ena_intï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+1.4 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+ç¾ãã¼ã¸ã§ã³ã§ã¯ï¼FPUãæããªãMC68LC040ã®ã¿ããµãã¼ããã¦ããï¼FPUã
+ç¨ããªãå ´åã«ã¯ï¼FPUå
+èµã®M68040ã«ãé©ç¨å¯è½ãªã¯ãã§ããï¼FPUãæ´»ç¨ã
+ããå ´åã«ã¯ï¼ãã£ã¹ãããã£ã§FPUã¬ã¸ã¹ã¿ãä¿å­ï¼å¾©å¸°ããå¿
+è¦ããããª
+ã©ï¼è¥å¹²ã®æ¹é ãå¿
+è¦ã§ããï¼
+
+ä»ã®M68Kç³»åã®ãã­ã»ããµã¸ã®ãã¼ãã£ã³ã°ã«ã¤ãã¦ã¯ï¼ãã¹ã¿ã¹ã¿ãã¯ã¨å¥
+ã«å²è¾¼ã¿ã¹ã¿ãã¯ãæã¤M68020ä»¥éã®ãã­ã»ããµã¸ã¯æ¯è¼çå®¹æã«ãã¼ãã£ã³
+ã°å¯è½ã¨æããããï¼ããããåã®ãã­ã»ããµã¸ã®ãã¼ãã£ã³ã°ã¯ããé¢åã§
+ãããï¼
+
+
+ï¼ï¼M68040ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼M68040ä¾å­ã®é¨
+åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+signed intåï¼unsigned intåï¼size_tåã®ãµã¤ãºã¯ï¼ãããã32ãããã§ã
+ãï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãåæåã«ã¼
+ãã³å
+ã§ã¯ï¼NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ï¼IPM
+ï¼Interrupt Priority Maskï¼ã7ã«è¨­å®ãããï¼
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼M68040ã§ã®ä¾å¤ãã¯ã¿çª
+å·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
+çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+M68040ä¾å­ã®æ©è½ã¨ãã¦ï¼SRï¼Status Registerï¼ä¸­ã®IPMï¼Interrupt
+Priority Maskï¼ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã«chg_ipmã¨ï¼åç
+§ããã
+ãã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼ãªãï¼IPMã®å¤ãè¡¨ããã¼ã¿
+åIPMã¯ï¼unsigned intåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMã0ä»¥å¤ï¼ããªãã¡ï¼ä½ãã
+ã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããï¼
+chg_ipmã«ããå¤æ´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶ãããï¼
+ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMã1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®ã¿ã¹ã¯
+ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯1ã«ãªãï¼ãã ãï¼IPMã0 
+ä»¥å¤ã«è¨­å®ãã¦ãã¦ãï¼å®è¡ã§ããã¿ã¹ã¯ããªããªã£ãå ´åã«ã¯IPMã¯ä¸æç
+ã«0ã«ãªãï¼ããã¯ï¼M68040ã®å½ä»¤ã»ããããããå¶éäºé 
+ã§ããï¼è§£æ±ºææ®µ
+ããªãããã§ã¯ãªãï¼ï¼
+
+chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ã­ã«ããï¼ãããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPMã¯ï¼cpu_config.hã®ä¸­ã§ãã¯ã­å®ç¾©ããã¦ããï¼
+
+M68040ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®
+éãï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼æå®ã
+ãå¤ã 0ã6 ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã 1ã6 ã«è¨­å®ããå ´å
+ã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­å®ãã IPM ã®å¤ã¯ï¼ãã£ã¹ãã
+ãå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ã¨ä½µç¨ã
+ãã°ããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPM ã 7 ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«
+è¨­å®ãããã¨ã¯ã§ããªãï¼IPM ã 7 ã«ãããå ´åã«ã¯ï¼loc_cpu ãä½¿ãã¹ã
+ã§ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M68040 ã§ã®ä¾å¤ãã¯ã¿
+çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_EXC ã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼CPUä¾å¤ã«å¯¾å¿ããªãçª
+å·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+M68040ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ã§ã¯ï¼æ¬¡ã®åæåå¦çã
+è¡ãï¼
+
+(A) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+æåã«ï¼ãã¹ã¦ã®ã­ã£ãã·ã¥ãç¡å¹åããå¾ï¼ã³ã¼ãã­ã£ãã·ã¥ã¨ãã¼ã¿ã­ã£ã
+ã·ã¥ãå
+±ã«æå¹ã«ããï¼ã¾ãï¼ãã­ã»ããµã®ã¢ã¼ããï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã»
+å²è¾¼ã¿ã¢ã¼ãã«è¨­å®ãï¼NMI ä»¥å¤ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããï¼ã¹ã¿ã¼ãã¢ã
+ãã¢ã¸ã¥ã¼ã«ã¯ï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã§èµ·åããªããã°ãªããªãã®ã§ï¼ããã§
+ã¹ã¼ããã¤ã¶ã¢ã¼ãã«è¨­å®ããã®ã¯ï¼æ¬å½ã¯ã ãã§ããï¼
+
+æ¬¡ã«ï¼å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ï¼SPIï¼ã STACKTOP ã«è¨­å®ããï¼ããã§å²è¾¼
+ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯
+ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_config.h 
+é¨ã§å®ç¾©ãããã¨ãæ³å®ãã¦ããï¼ã¾ãï¼ãã¬ã¼ã ãã¤ã³ã¿ã 0 ã«åæåã
+ãï¼
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+
+ï¼ï¼DVE-68K/40 ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ããisig_timãå¼ã³åºãå¨æã¯ï¼sys_defs.hä¸­ã®
+TIC_NUMEã¨TIC_DENOã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼ãã®å®ç¾©ãå¤
+æ´ãããã¨ã§ï¼isig_timãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼ãã ãï¼ã¿
+ã¤ãã®ç²¾åº¦ã1Î¼ç§ã§ããããï¼1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããå ´åã«ã¯ï¼
+isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+DVE-68K/40ä¾å­é¨ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ããµ
+ãã¼ããã¦ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯1Î¼ç§åä½ã§ãããï¼ã¿ã¤
+ãã®ç¾å¨å¤ãèª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ãããããï¼
+vxget_timãå¼ã¶åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãï¼ãªãï¼
+SYSUTIMåã¯UDåï¼64ãããã®ç¬¦å·ç¡ãæ´æ°åï¼ã«å®ç¾©ãã¦ããï¼
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+DVE-68K/40ä¾å­é¨ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼DVE-68K/40 CPUãã¼
+ãã®2ã¤ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ããµãã¼ããã¦ããï¼ãã¼ãID=1ããã¼ãBï¼
+ãã¼ãID=2ããã¼ãAã«å¯¾å¿ãã¦ããï¼ãã¼ãã®å²å½ã¦ãéã«ãã¦ããã®ã¯ï¼
+GDBã¹ã¿ãã¾ãã¯ROMã¢ãã¿ããã¼ãAãä½¿ç¨ããããã§ããï¼
+
+3.4 ã¡ã¢ãªããã
+
+DVE-68K/40ä¾å­é¨ã§ã¯ï¼CPUãã¼ãä¸ã®ã¡ã¢ãªã4MBã®å ´åãæ³å®ãï¼ã³ã¼ãé 
+åã0x10000ã0xfffffã®ç´1MBï¼ãã¼ã¿é åã0x100000ãã®ç´3MBï¼éã¿ã¹ã¯ã³
+ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åãã0x3fffffã«ç¢ºä¿ãã¦ããï¼0ã0xffffã®64KB 
+ã¯ï¼ROMã¢ãã¿ã¾ãã¯GDBã¹ã¿ãã®ã¯ã¼ã¯ã¨ãªã¢ã¨ãªã£ã¦ããï¼ä½¿ç¨ãããã¨ã
+ã§ããªãï¼
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
+
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+
+    BINUTILS : 2.13.2.1
+    GCC-CORE : 2.95.3
+    GDB      : 5.3
+    NEWLIB   : 1.9.0
+
+GCC 2.95.3ã§ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãæ¨æºCã©ã¤ãã©ãªãä½¿ç¨ããªããªãï¼
+NEWLIBã¯å¿
+è¦ãªãï¼
+
+GCC 3.3ãç¨ããå ´åï¼ã³ã³ãã¤ã©ãæ¨æºCã©ã¤ãã©ãªé¢æ°ãå¼ã³åºãã³ã¼ãã
+çæããããï¼NEWLIBãå¿
+è¦ã«ãªãï¼NEWLIBã®æ¨æºCã©ã¤ãã©ãªããªã³ã¯ãã
+ããã«ï¼Makefileä¸­ã®LIBSã®å®ç¾©ã«ä»¥ä¸ã®ããã« -lc ãè¿½å ããå¿
+è¦ãããï¼
+
+    LIBS := $(LIBS) $(CXXLIBS) -lc -lgcc
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+M68040ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/m68k/
+	Makefile.config	Makefileã®M68040ä¾å­å®ç¾©
+	cpu_defs.h	ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_config.h	ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_config.c	ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_support.S	ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_context.h	ã³ã³ãã­ã¹ãæä½
+	cpu_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tool_defs.h	éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	tool_config.h	éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	makeoffset.c	offset.hçæãµãã¼ããã­ã°ã©ã 
+	cpu_insn.h	ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	start.S		ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	m68kelf.ld	ãªã³ã«ã¹ã¯ãªãã
+
+    config/m68k/dve68k/
+	Makefile.config	Makefileã®DVE-68K/40ä¾å­å®ç¾©
+	sys_defs.h	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	hw_timer.h	ã¿ã¤ãæä½ã«ã¼ãã³
+	hw_serial.h	SIOãã©ã¤ã
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	dve68k.h	DVE-68K/40 CPUãã¼ãã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+	dve68k_dga.h	DGAã®ã¢ã¯ã»ã¹ã¦ã¼ãã£ãªãã£
+
+    pdic/simple_sio/
+	upd72001.h	Î¼PD72001ç¨ ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
+	upd72001.c	Î¼PD72001ç¨ ç°¡æSIOãã©ã¤ã
+
+5.2 ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+
+ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡æé ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥
+ã¢ã«ã«èª¬æããã¦ãããï¼ä»¥ä¸ã§ã¯ï¼M68040ããã³DVE-68K/40 CPUãã¼ãã®å ´
+åã«ç¹æã®äºé 
+ã«ã¤ãã¦èª¬æããï¼
+
+(A) ROMã¢ãã¿ãç¨ããæ¹æ³
+
+DVE-68K/40 CPUãã¼ãã®å ´åï¼å¥å£²ãã®ROMã¢ãã¿ã¨ããã«å¯¾å¿ããç«¯æ«ã½ã
+ããç¨ããã¨ï¼Rã³ãã³ãã§ãã¤ããªå½¢å¼ã®ãã¡ã¤ã«ããã¦ã³ã­ã¼ããããã¨
+ãã§ããï¼
+
+    #R 10000
+    \up jsp.bin
+
+ãã­ã°ã©ã ã®å®è¡ã¯ï¼gã³ãã³ãã§è¡ãï¼
+
+    #g 10000
+
+(B) GDBã¹ã¿ããç¨ããæ¹æ³
+
+M68040ã§ã¯ï¼ãã­ã°ã©ã ãå®è¡ä¸­ã«NMIããããï¼DVE-68K/40 CPUãã¼ãã§ã¯ï¼
+ABORTã¹ã¤ãããæ¼ãï¼ãã¨ã§ï¼ãã­ã°ã©ã ãåæ­¢ããã¦ï¼gdbã«å¶å¾¡ãæ»ãã
+ã¨ãã§ããï¼
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/microblaze.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/microblaze.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/microblaze.txt	(revision 26)
@@ -0,0 +1,392 @@
+
+             ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                  ï¼Microblaze ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.2å¯¾å¿ï¼æçµæ´æ°: 27-Jul-2005ï¼
+            ï¼Embedded Development Kitï¼EDKï¼7.1å¯¾å¿ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: microblaze.txt,v 1.14 2005/07/27 11:28:44 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼Microblaze ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã 
+
+Microblaze ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼Microblaze ããµãã¼ã
+ãã¦ã FPGA ãæ­è¼ããã·ã¹ãã ããµãã¼ããã¦ããï¼ãªãï¼JSPã«ã¼ãã«ãå
+ä½ãããã«ã¯ï¼64Kbyteç¨åº¦ã®ã¡ã¢ãªãå¿
+è¦ã§ããï¼ã·ã¹ãã ä¾å­é¨ã¨ãã¦ä»¥ä¸
+ã®ãã¼ãããµãã¼ããã¦ããï¼
+
+ã»YDKãã¯ãã­ã¸ã¼ãºè£½ã® MIREFï¼FPGA:XCV400E-QFP240ï¼
+ã»YDKãã¯ãã­ã¸ã¼ãºè£½ã® MIREF-MULTIï¼FPGA:XC2V3000-FF1152ï¼
+ã» Xilinxè£½ã® Xilinx MultiMedia Boardï¼FPGA:XC2V2000-FF896ï¼
+
+
+1.2 éçºç°å¢
+
+éçºç°å¢ã«ã¯ï¼EDKã«å«ã¾ãã¦ããGCC ãªã©ã® GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯
+ããã¡ã¤ã«ãã©ã¼ãããã¯ ELF ãæ¨æºã¨ããï¼
+
+PCã§ã¯ï¼EDKãã¤ã³ãã¼ã«ããã¨ï¼GNUã®éçºç°å¢ãåä½ããããã xygwin ãã¤
+ã³ã¹ãã¼ã«ãããï¼JSPã«ã¼ãã«ã®æ§ç¯ã«ã¯ï¼perlãg++(ãã¹ãç°å¢ã®)ãã²ã¤ã
+ããªããï¼Cygwin ãã¤ã³ã¹ãã¼ã«ããå¿
+è¦ãããï¼åä¸ã®ãã·ã³ã«Cygwin ãã¤
+ã³ã¹ãã¼ã«ããå¾ï¼xygwin ãã¤ã³ã¹ãã¼ã«ããã¨ Cygwin ä¸ã®ã¢ããªã±ã¼ã·ã§
+ã³ãæ­£ããåä½ããªãããï¼xygwin ã®ã¤ã³ã¹ãã¼ã«å¾ã«ï¼Cygwin ãã¤ã³ã¹ãã¼
+ã«ãããã¨ãæ¨å¥¨ããï¼
+
+EDKã«å«ã¾ããGNUã®éçºç°å¢ã¯ï¼xygwinã§åä½ãããã¨åæã«ä½æããã¦ããã
+ãï¼Cygwinä¸ã® make ããå¼ã³åºããå ´åã¨ã©ã¼ãè¡¨ç¤ºãããªãã¨ãã£ãå¶ç´ã
+ããï¼ãã®ããï¼Xilinx ã® Web ãµã¤ãï¼
+http://www.xilinx.com/guest_resources/gnu/index.htmï¼ããGNUã®ã½ã¼ã¹ãã
+ã¦ã³ã­ã¼ããã¦ Cygwin ç¨ã«æ§ç¯ããï¼
+
+
+1.2 ã·ã¹ãã æ§æ
+
+éå¸¸ã®ã¿ã¼ã²ããã®å ´åã¯ï¼./config ä»¥ä¸ã§
+
+   ï¼ãã­ã»ããµï¼/ï¼ã¿ã¼ã²ãããã¼ã1ï¼
+                 /ï¼ã¿ã¼ã²ãããã¼ã2ï¼
+
+ã¨ããæ§æã§ãã£ã¬ã¯ããªãä½æããã¦ããï¼ï¼ãã­ã»ããµï¼ã¯ãã­ã»ããµã³
+ã¢ããã­ã»ããµããã±ã¼ã¸ããããICã«ããã±ã¼ã¸ããããã®ãç¤ºãï¼ãã­ã»ã
+ãµä¾å­é¨ã¨å¼ã¶ï¼ï¼ã¿ã¼ã²ãããã¼ãï¼ã¯ãã®ICãæ­è¼ãããã¼ãä¾å­ã®æ©è½
+ã«ã¤ãã¦ã®ã³ã¼ããç½®ãã¦ããå ´æã§ã¿ã¼ã²ããä¾å­é¨ã¨å¼ã¶ï¼ä¸æ¹
+Microblaze ã¯ï¼ã·ã¹ãã æ§æãèªç±ã«å¤æ´ã§ããããï¼ãã®ããã«æç¢ºãªå
+ãåãã¯ã§ããªãï¼ããã§ï¼JSPã«ã¼ãã«ãåä½ãããããã®å¿
+è¦æå°éã®æ§
+æããã­ã»ããµä¾å­é¨ã¨ãã¦ï¼ãã­ã»ããµï¼ã«ç½®ãï¼ãã­ã»ããµä¾å­é¨ã¨ãã¦
+ã®ï¼JSPã«ã¼ãã«ãåä½ãããããã®æå°æ§æãä»¥ä¸ã«ç¤ºãï¼
+
+ ã»INTCï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ï¼
+   ã¬ã¸ã¹ã¿ IVRï¼SIEï¼CIEã¬ã¸ã¹ã¿ãå¿
+è¦
+ ã»TIMï¼UARTLITE
+   INTCã«æ¥ç¶ããï¼å²è¾¼ã¿ãæå¹ã«ããï¼
+
+ããä»¥å¤ã®æ©è½ã®ã³ã¼ãã¯ã¿ã¼ã²ããä¾å­é¨ã¨ãã¦ï¼ï¼ã¿ã¼ã²ãããã¼ãï¼ä»¥
+ä¸ã®ãã£ã¬ã¯ããªã«é
+ç½®ããï¼
+
+é
+å¸ããã±ã¼ã¸ã«å«ã¾ãã¦ããã¿ã¼ã²ããä¾å­é¨ãä»¥ä¸ã«ç¤ºãï¼ããããã®ä¾å­
+é¨ã¯ä¸è¨ã®ããã¤ã¹ã®ã¢ãã¬ã¹ãã³ã³ãã¤ã«ãªãã·ã§ã³ãç°ãªãã ãã§ã³ã¼ãã¯
+ã»ã¼ç­ããï¼
+
+  ã»./miref
+   ï¼æ ªï¼YDKãã¯ãã­ã¸ã¼ãºè£½ã® MIREF ãã¼ãç¨
+
+  ã»./miref_multi
+   ï¼æ ªï¼YDKãã¯ãã­ã¸ã¼ãºè£½ã® MIREF-MULTI ãã¼ãç¨
+
+  ã»./multimedia 
+    Xilinxè£½ã® Xilinx MultiMedia Board ç¨
+
+
+
+1.4 ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+
+    æ°ããªã·ã¹ãã ã§JSPã«ã¼ãã«ãåä½ãããå ´åã¯ï¼é©å½ãªã¿ã¼ã²ããä¾å­é¨
+    ã®ãã¡ã¤ã«ããã¼ã¹ã«ã·ã¹ãã æ§æã«ãããã¦æ¸ãæããã°ããï¼
+    ã·ã¹ãã æ¯ã«ç·¨éããå¿
+è¦ãããé 
+ç®ãä»¥ä¸ã«ç¤ºãï¼
+
+      ã»./sys_defs.h
+        STACKTOP    : ã¹ã¿ãã¯åæã¢ãã¬ã¹
+        TIMER_CLOCK : ã¿ã¤ãã¼ã¯ã­ãã¯
+        TIC_NUME    : ã¿ã¤ã ãã£ãã¯å¨æã®åå­
+        TIC_DENO    : ã¿ã¤ã ãã£ãã¯å¨æã®åæ¯
+        INTC_BASE   : INTCã®ãã¼ã¹ã¢ãã¬ã¹
+        TIMER_BASE  : TIMERã®ãã¼ã¹ã¢ãã¬ã¹
+        UART_BASE   : UARTãã¼ã¹ã¢ãã¬ã¹
+        TIMINTLVL   : TIMERã®å²è¾¼ã¿çªå·
+        UARTINTLVL  : UARTã®å²è¾¼ã¿çªå·
+
+      ã»./Makefile.config
+        COPTS              : ã³ã³ãã¤ã«ãªãã·ã§ã³
+        LIBS               : ã©ã¤ãã©ãªæå®
+        LDFLAGS            : ãªã³ã«ãªãã·ã§ã³
+        TEXT_START_ADDRESS : TEXTã»ã¯ã·ã§ã³ã®ã¹ã¿ã¼ãã¢ãã¬ã¹
+        DATA_START_ADDRESS : DATAã»ã¯ã·ã§ã³ã®ã¹ã¿ã¼ãã¢ãã¬ã¹
+        
+
+
+     ãã£ãã©ã«ãã¨ã®ãªã³ã«ã¹ã¯ãªããã¨ãã¦ã¯ï¼./microblaze/mbelf.l ã
+     ç¨æãã¦ããï¼ãã®ãªã³ã«ã¹ã¯ãªããã§ã¯ï¼ã¢ãã¬ã¹ãtext,dataã»ã¯ã·ã§
+     ã³ã®2ã¤ãæå®ãããã¨ãå¯è½ã§ããï¼ããã«è¤éãªãããã³ã°ãè¡ãã
+     ãå ´åã¯ï¼ãªã³ã«ã¹ã¯ãªãããæ°ãã«ä½ã ä¸è¨ã® LDSCRIPT ã«æå®ãã
+     ã°ããï¼
+
+
+1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+Microblaze ä¾å­ã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼
+ããµãã¼ããã¦ããï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxï¼get_ixx)ã¨ï¼å²è¾¼
+ã¿ã®ç¦æ­¢ã¨è¨±å¯ï¼dis_intï¼ena_intï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+
+1.4 å¶éäºé 
+
+ ã»CPUä¾å¤æ©è½ã¨CPUä¾å¤ãã³ãã©
+   Microblaze ã«ã¯CPUä¾å¤ã®ãã¯ã¿ã¯ãããï¼çºçè¦å ããªãï¼ãã®ããï¼
+   CPUä¾å¤æ©è½ã¨CPUä¾å¤ãã³ãã©ã¯ãµãã¼ãããªãï¼
+
+
+
+ï¼ï¼Microblaze ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼Microblaze ä¾
+å­ã®é¨åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+signed intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼MHSãã¡ã¤ã«ã§ããã¤ã¹
+ã«æå®ããå²è¾¼ã¿åªå
+åº¦ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ unsigned intåã«
+å®ç¾©ããã¦ããï¼DEF_INH ã§ï¼å²è¾¼ã¿åªå
+åº¦ã¨ãã¦æå¹ã§ãªãå¤ãï¼å®éã®å²
+è¾¼ã¿åªå
+åº¦ã¨ã¯ç°ãªãçªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+Microblaze ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ã§ã¯ï¼æ¬¡ã®åæåå¦
+çãè¡ãï¼
+
+(A) MSRã®åæå
+
+ã­ã£ãã·ã¥ã®è¨­å®ãåæ ãã¦MSRãåæåããï¼MDMãä½¿ç¨ãã¦ããå ´åãªã©ã¯ï¼
+BIPãããã'1'ã¨ãªã£ã¦ããå ´åãããããï¼rtbdå½ä»¤ã«ããã¯ãªã¢ããï¼
+
+(B) ã¹ã¢ã¼ã«ãã¼ã¿ã¢ã³ã«ã¼ã®è¨­å®ã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+æåã«ï¼Read-only small data area anchorï¼R2ï¼ã¨Read-write small data
+area anchorï¼R13ï¼ãåæåãã
+
+æ¬¡ã«ï¼å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ï¼R1ï¼ã STACKTOP - 4 ã«è¨­å®ããï¼-4 ãã
+ã®ã¯ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®ã¯ã¼ã¯ç¨ã§ããï¼
+
+
+(C) ä¾å¤/å²è¾¼ã¿ãã¯ã¿ã¸ã®ãã³ãã©ã®ç»é²
+
+0x0C-0x10 ã®ä¾å¤ãã¯ã¿ã«ä¾å¤ãã³ãã©ï¼exception_entryï¼ãï¼0x10-0x14ã®
+å²è¾¼ã¿ãã¯ã¿ã«å²è¾¼ã¿ãã³ãã©ï¼interrupt_entryï¼ãç»é²ããï¼
+
+
+(D) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(E) bssã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ãªãï¼dataã»ã¯ã·ã§ã³ã«ã¤ãã¦ã¯ï¼RAMã®ä½¿
+ç¨éãæ¸ããç®çã§ï¼ROMåã«å¯¾å¿ããåæåã¯è¡ã£ã¦ããªãï¼
+
+(F) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(G) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+
+2.5 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+Microblaze ä¾å­é¨ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ããµ
+ãã¼ããã¦ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ã¿ã¤ãã«ä¾çµ¦ããã¯ã­ãã¯
+ã«ãã£ã¦æ±ºã¾ãï¼ãªãï¼SYSUTIMåã¯ UDåï¼64ãããã®ç¬¦å·ç¡ãæ´æ°åï¼ã«å®
+ç¾©ãã¦ããï¼
+
+
+2.6 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+Microblze ä¾å­é¨ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼UART ããµãã¼ãã
+ã¦ããï¼ã«ã¼ãã«ã®ã­ã°åºåã¨ãã¦ä½¿ç¨ãã UART ã¯ INTCã«æ¥ç¶ãã¦å²è¾¼ã¿
+ãæå¹ã«ãã¦ï¼ãã®ã¢ãã¬ã¹ã./sys_config.h ã§ UART_BASE ã¨ãã¦å®ç¾©ãã
+ã°ããï¼
+
+
+2.7 ã­ã£ãã·ã¥
+
+ã­ã£ãã·ã¥ã®æå¹/ç¡å¹ã¯ã·ã¹ãã ã®èµ·åããçµäºã¾ã§ä¸å¾åºå®ã¨ãï¼ã¦ã¼ã¶ã¼ã
+å¤æ´ãã¦ããã®å¤æ´ã¯ãã®ã¿ã¹ã¯ã®ã¿ã§æå¹ã¨ããï¼ã­ã£ãã·ã¥ãæå¹ã¨ãã
+ã«ã¯ï¼ã·ã¹ãã ä¾å­é¨ã® sys_defs.h ã§ï¼D_CACHE_ENABLE  I_CACHE_ENABLE
+ã define ããã°ããï¼
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+Microblaze ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/microblze/
+        Makefile.config    Makefile ã® Microblazeä¾å­å®ç¾©
+        cpu_defs.h         ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        cpu_config.h       ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+        cpu_config.c       ãã­ã»ããµä¾å­é¨ã®é¢æ°
+        cpu_support.S      ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+        cpu_context.h      ã³ã³ãã­ã¹ãæä½
+        makeoffset.c       offset.h çæãµãã¼ããã­ã°ã©ã 
+        cpu_insn.h         ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+        start.S            ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+        mbelf.ld           ãªã³ã«ã¹ã¯ãªãã
+        cpu_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        cpu_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        cpu_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        microblaze.h       Microblaze ã®å®ç¾©
+        microblaze.c       Microblaze ç¨ã³ã¼ã
+        microblaze_asm.inc Microblaze ã®ã¢ã»ã³ãã©ãã¯ã­
+        hw_serial.h        SIOãã©ã¤ã
+        hw_serial.cfg      SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+        hw_timer.h         ã¿ã¤ãæä½ã«ã¼ãã³
+        tool_defs.h        éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+        tool_config.h      éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+
+    config/microblaze/miref
+        Makefile.config    Makefile ã® MIREF ä¾å­å®ç¾©
+        sys_defs.h         ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_config.h       ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_config.c       ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_support.S      ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+    config/microblaze/mire_multi
+        Makefile.config    Makefile ã® MIRE_MULTI ä¾å­å®ç¾©
+        sys_defs.h         ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_config.h       ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_config.c       ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_support.S      ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+    config/microblaze/multimedia
+        Makefile.config    Makefile ã® MIRE_MULTI ä¾å­å®ç¾©
+        sys_defs.h         ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_config.h       ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_config.c       ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_support.S      ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+
+
+
+5.2 ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡
+
+ã¿ã¼ã²ããã¸ã®ãã¦ã³ã­ã¼ãã¨å®è¡æé ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥
+ã¢ã«ã«èª¬æããã¦ããï¼JSPã«ã¼ãã«ã¯ã¿ã¼ã²ããã« xmdstub ãçµã¿è¾¼ãã ç¶
+æ
+ã§ GDB ãããã¦ã³ã­ã¼ããå®è¡ãããã¨ãã§ããï¼
+
+
+
+5.3 ãµãã¼ã
+
+ãã°ç­ãçºè¦ããå ´åã¯ toppers-users ã® ML ã«å ±åãããã¯ï¼Microblaze ä¾
+å­é¨ã®éçºè
+ã®ä»¥ä¸ã®ã¡ã¼ã«ã¢ãã¬ã¹ã«é£çµ¡ãã¦é ããã
+
+  honda@ertl.jp
+
+
+ã¾ãï¼ä»å¾ä»¥ä¸ã®ãã¼ã¸ã§ããµãã¼ããè¡ãäºå®ã§ããï¼
+
+  http://www.ertl.jp/~honda/microblaze
+
+
+ä»¥ä¸
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/mips3.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/mips3.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/mips3.txt	(revision 26)
@@ -0,0 +1,1293 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    		    ï¼MIPS3 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+	   ï¼Release 1.4.1 å¯¾å¿ï¼æçµæ´æ°: 9-Aug-2004ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2001-2004 by Industrial Technology Institute,
+                             Miyagi Prefectural Government, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+     ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+     ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+     ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+     ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+   (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+       ãã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+------------------------------------------------------------------------
+
+ï¼ï¼MIPS3 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+MIPS3ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ãä»¥ä¸ã®ãã­ã»ããµããµãã¼ãã
+ã¦ããã
+
+ã»VR5500 (NEC)
+ã»VR4131 (NEC)
+
+ãµãã¼ããã¦ãããã¼ãã¯ãä»¥ä¸ã®éãã§ããã
+
+ã»æ ªå¼ä¼ç¤¾ãã¤ãã¹ã»ã©ãè£½ RTE-VR5500-CB(64) (CPU:VR5500)
+ã»äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿æ ªå¼ä¼ç¤¾è£½ KZ-Vr4131PCI-01 (CPU:VR4131)
+
+éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
+ãã¯ ELF ãæ¨æºã¨ããã
+
+ä»¥ä¸ãvr5500, vr4131ãã£ã¬ã¯ããªãé¤ããmips3ãã£ã¬ã¯ããªã®ç¯å²ããã­ã»ããµ
+ä¾å­é¨ã¨å¼ã³ãvr5500, vr4131ãã£ã¬ã¯ããªã«é¢ãããã¨ããã·ã¹ãã ä¾å­é¨ã¨å¼
+ã¶ã
+	MIPS3ã¿ã¼ã²ããä¾å­é¨ = ãã­ã»ããµä¾å­é¨ + ã·ã¹ãã ä¾å­é¨
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+MIPS3ã¿ã¼ã²ããä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ipmãget_ipm)
+ã¨ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ãããå²è¾¼ã¿ã®
+ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã¯ãµãã¼ããã¦ããªãã
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+MIPS ã·ãªã¼ãºã¯ãMIPS ç¤¾ããä¾çµ¦ããã¦ãã CPU ã³ã¢ã§ããããã®ã³ã¢ãç¨ãã
+æ§ã
+ãªãã­ã»ããµãåã¡ã¼ã«ã¼ããåºè·ããã¦ãããã¾ããMIPS ã«ã¯ãå½ä»¤ã»ãã
+ã®æ¡å¼µã¬ãã«ã«å¿ãã¦ MIPS I ã IV ã¾ã§ãå­å¨ããããã®ä¸­ã§ãä»åã¯ MIPS III 
+ã¬ãã«ï¼ä»¥ä¸ãMIPS3ï¼ã®å½ä»¤ã»ãããç¨ããå®è£
+ãè¡ã£ãã
+
+ããã¯ä»åå®è£
+ãè¡ã£ããã­ã»ããµã«é¢ãã¦ãVR5500 ã¯å½ä»¤ã»ããã¨ãã¦ MIPS IV 
+ã¾ã§å¯¾å¿ãã¦ããããVR4131 ã¯ MIPS III ã¾ã§ã®å¯¾å¿ã§ããããã§ããã
+ï¼ä»åã®å®è£
+ãç¨ãã¦ãä»ã®MIPSãã­ã»ããµã¸ã®ãã¼ãã£ã³ã°ãè¡ããã¨ãå¯è½ã§
+  ãããï¼
+
+1.4 GDB ã¹ã¿ã
+
+ç¾å¨ã® TOPPERS/JSP ã«ã¼ãã« MIPS3 çã¯ROMåããµãã¼ããã¦ããã
+
+ã¾ããGDBã¹ã¿ãã¨çµã¿åããã¦ä½¿ç¨ãããã¨ãèæ
+®ãã¦ãä»æ©ç¨®çã®JSPã«ã¼ãã«ã¨
+åæ§ã«ãã½ã¼ã¹ã³ã¼ãå
+ã«GDB_STUBãã¯ã­ã«ããæ¡ä»¶ã³ã³ãã¤ã«ã®è¨­å®ãè¡ã£ã¦ããã
+ãã®ãã¯ã­ã®è¨­å®ã«ãããä½¿ç¨ãããªã³ã«ã¹ã¯ãªãããåãæ¿ãããã¨ã§ãå¯¾å¿ã
+è¡ã£ã¦ããã
+(/vrxxxx/makefile.config)
+
+MIPS3ç¨ã®GDBã¹ã¿ãã¯ãvr4131éå®å¯¾å¿çããå®æãã¦ãããä»å¾TOPPERSãã­ã¸ã§
+ã¯ããã¼ã ãã¼ã¸ãããã³ãå®®åçç£æ¥­æè¡ç·åã»ã³ã¿ã¼ãã¼ã ãã¼ã¸ãéãã¦
+å
+¬éããäºå®ã§ããã
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã·ãªã¢ã«ãã¼ããï¼ã¤ä½¿ç¨ããã
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯
+  ã»8ããã
+  ã»ããªãã£ãªã
+  ã»ã¹ããããããï¼1ããã
+  ã»ãã¼ã¬ã¼ãï¼9600bps
+ã§ããã
+(tl16pir552.c, vr4131_dsiu.cï¼siopinib_tableé
+å)
+
+ãªãããã¼ã¬ã¼ãã«ã¤ãã¦ã¯ãDEVIDE_RATIOãã¯ã­ã«ã¦å®ç¾©ãã¦ããã®ã§å¿
+è¦ã«
+å¿ãã¦å¤æ´ãããã¨ãã§ããã
+(sys_config.h)
+
+ï¼ï¼MIPS3ã¿ã¼ã²ããä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãMIPS3ã¿ã¼ã²ããä¾
+å­ã®é¨åã«ã¤ãã¦è§£èª¬ããã
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããã
+ç¾å¨ã¯ãMIPSèªä½ã¯ã64ãããã¢ã¼ã­ãã¯ãã£ã§ããããã64ãããã¸ã®å¯¾å¿ã
+å¯è½ã§ãããããããç¾æ®µéã§ã®å©ç¨å®ç¸¾ãªã©ãããä»åã¯32ãããã§ã®å®è£
+ã
+è¡ã£ãã
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨CPUä¾å¤
+
+MIPS3ã§ã¯ãå²è¾¼ã¿ãCPUä¾å¤ãä¸ç·ã«ãããä¾å¤å¦çãã¨ããå½¢ã§ãå¦çãè¡ã£ã¦
+ããããã®ãããã¡ã¢ãªç®¡çã»ãªã»ãããªã©ã®ä¸é¨ã®è´å½çãªä¾å¤ãé¤ãããã¯
+ã¿ã¢ãã¬ã¹ã¯å
+±éã¨ãªã£ã¦ããã
+
+ï¼ãªããä»åã®å®è£
+ã§ã¯ãROMåãªã©ã®çç±ã«ãããã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®BEVãã
+ããï¼ã¨ãã¦å®è£
+ãè¡ã£ã¦ããã®ã§ããã¯ã¿ã¢ãã¬ã¹ã¯0xbfc00300ã«ãªã£ã¦ãããï¼
+(sys_config.h ; INIT_SR)
+
+ããã§ããã¯ã¿ã¢ãã¬ã¹ã«é£ãã éä¸­ãããå²è¾¼ã¿ã¨CPUä¾å¤(å²è¾¼ã¿ä»¥å¤ã®ãä¾
+å¤ãããä»¥ä¸ããã®ããã«å¼ã¶ãã¨ã¨ããã)ã¨ã«åå²ããã¦å¦çãè¡ãå¿
+è¦ã
+ãããããã§ãåå ã¬ã¸ã¹ã¿(Cause;CP0)ã®ä¾å¤ã³ã¼ã(ExcCode)ãç¨ãã¦å¤æ­ã
+è¡ã£ã¦åå²ãã¦ããã
+
+å¤æ­å¾ã®ãåè¦å ã«å¯¾å¿ãããã³ãã©ãå¼ã³åºãããã«ãæ¬ä¼¼ãã¯ã¿ãã¼ãã«ã
+è¨­ãã¦ããã
+      ã»å²è¾¼ã¿		INT_TABLE int_table[ TMAX_ALL_INTNO ]
+			ICU_IPM icu_intmask_table[ TMAX_ALL_INTNO ]
+      ã»CPUä¾å¤		EXCVE exc_table[ TMAX_CORE_EXCNO ]
+ããã§ãå²è¾¼ã¿ãã³ãã©æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ã¤ãã¦ã¯ãMIPS3ã³ã¢ã¯ãå²è¾¼ã¿ã®
+åªå
+åº¦å¶å¾¡ãè¡ããªãããã«ãå²è¾¼ã¿ãã³ãã©å¼ã³åºãæã®MIPS3ã³ã¢ã«é¢ããå²
+è¾¼ã¿ãã¹ã¯ã¨ãã¾ã¨ããINT_TABLEåãå®ç¾©ããé
+åã®åã¨ãããã¾ããå²è¾¼ã¿
+ã³ã³ãã­ã¼ã©ã«ã¤ãã¦ã¯ãæ§ã
+ãªå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå­å¨ãããã¨ãèæ
+®ãã¦ã
+ç§»æ¤æ§ã®è¦³ç¹ãããã­ã»ããµä¾å­é¨ããåé¢ããã¦ãã·ã¹ãã ä¾å­é¨ã«ããã¦å²
+è¾¼ã¿ã³ã³ãã­ã¼ã©é¢é£ã®å®è£
+ãè¡ãå¿
+è¦ããããããå¥ã«icu_intmask_tableé
+
+åãå®ç¾©ãããã¨ã§å¯¾å¿ãããã¨ã¨ããã
+ï¼cpu_config.h, cpu_config.c, pic_icu.h, vr4131_icu.hï¼
+
+ãªããããã§ã
+	TMAX_ALL_INTNO : MIPS3ã³ã¢ã¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¨ãå«ãããå²è¾¼ã¿
+			 ã®ç·æ¬æ°
+		ï¼MIPS3ã³ã¢ ã®ç·æ¬æ° TMAX_CORE_INTNO (8æ¬åºå®)ã¨ãå²è¾¼ã¿
+		  ã³ã³ãã­ã¼ã©ç®¡çä¸ã®ç·æ¬æ° TMAX_ICU_INTNO ã¨ã®åè¨ã)
+	TMAX_CORE_EXCNO : MIPS3ã³ã¢ç®¡çä¸ã®ãCPUä¾å¤ã®ç·æ¬æ°ï¼32æ¬åºå®ï¼
+ã§ããã
+(mips3.h, cpu_config.h, pic_icu.h, vr4131_icu.h)
+
+ãã³ãã©æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ã¯ãåæå¤ã¨ãã¦ããããã¯ç¨ã«cpu_experré¢æ°
+ãç»é²ããã¦ãããããã¯ãå¼æ°ã¨ãã¦ãå²è¾¼ã¿ã»CPUä¾å¤ã»TLB, XTLBä¸ä¸è´çº
+çæã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®å¤ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®å¤ãåå ã¬ã¸ã¹ã¿ã®å¤ãæ
+ã¤é¢æ°ã§ããããããã®å¤ãã­ã°åºåç¨ã®ãã¼ãã«æ¸ãåºãé¢æ°ã§ããã
+(cpu_config.c)
+
+ä»¥ä¸ã§ã¯ã2.3ã2.4ã§ã¯å²è¾¼ã¿ã«ã¤ãã¦èª¬æãã2.5ã§ã¯CPUä¾å¤ã«ã¤ãã¦èª¬æã
+ããã
+
+ï¼MIPS3ã³ã¢ã¯ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããªããããåã¿ã¼ã²ããã«ãã£
+ã¦å²è¾¼ã¿å¦çãç°ãªããããã§ãä»åå©ç¨ããã¿ã¼ã²ããä»¥å¤ã«ç§»æ¤ããããã®
+å²è¾¼ã¿å¦çã«é¢ããã¤ã³ã¿ãã§ã¼ã¹æ
+å ±ã¯ããã®ææ¸ã®æå¾ã«ã¾ã¨ãã¦è¨è¼ãã¦
+ããã®ã§ãåç
+§ã®ãã¨ãï¼
+
+2.3 å²è¾¼ã¿ç®¡çæ©è½
+
+2.3.1 å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã¨CPUã¨ã®æ¥ç¶
+
+MIPS3ã³ã¢ã¯ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããªããããå¥ã«è¨­ããå¿
+è¦ãããã
+ãã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¨ã®æ¥ç¶ç¶æ³ã¨ãå®ç¾©ããããã«ãINIT_CORE_IPM ãå®
+ç¾©ããããã®å¤ã¯ãmips3.hã§å®ç¾©ãã¦ããCause_Int(0:4)ãã¯ã­ãå©ç¨ãã¦å®ç¾©
+ããã
+(ãªãããã®ãã¯ã­ã¯ãæçµçã«ã¯CP0ã®åå ã¬ã¸ã¹ã¿ã®ããããç´æ¥å®ç¾©ãã¦ããã)
+(sys_config.h)
+
+(a) VR5500
+VR5500ã¯ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããªãããã«ãã¿ã¼ã²ãããã¼ãä¸ã«
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãè¨­ãã¦ããããã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¨ã¯ãå¤é¨å²è¾¼ã¿
+Int(0:1)ã®ï¼æ¬ã§æ¥ç¶ããã¦ããã
+      INIT_CORE_IPM = ( Cause_Int0 | Cause_Int0 )
+
+(b) VR4131
+VR4131ã¯ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããããã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¨ã¯ã
+å¤é¨å²è¾¼ã¿Int(0:2)ã®ï¼æ¬ã§æ¥ç¶ããã¦ããã
+ï¼ãã¼ãã¦ã§ã¢ç·¨p196åç
+§ï¼
+      INIT_CORE_IPM = ( Cause_Int0 | Cause_Int1 | Cause_Int2 )
+
+2.3.2 å²è¾¼ã¿ãã³ãã©
+
+å²è¾¼ã¿ãã³ãã©ã¯ãä¸è¨ã®æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ç»é²ããã¦å©ç¨ãããã¨ã«ãªãã
+ãã®ã¨ãã®ããã¼ãã«ãå¼ãããã®å¼æ°ã§ããçªå·ããå²è¾¼ã¿è¦å çªå·ãã¨å¼ã¶ã
+
+0 ã 7ã¯ãMIPS3ã³ã¢ã®åå²è¾¼ã¿è¦å ã«å¯¾å¿ãã¦ãããå
+±éé¨ã«ããã¦ INTNO_IP0
+ ã INTNO_IP7 ã¨ãã¦å®ç¾©ãã¦ããã
+(mips3.h)
+
+ã¾ãã8çªä»¥éããã·ã¹ãã ä¾å­é¨ã§ä»¥ä¸ã®ããã«å®ç¾©ãã¦ããã
+
+(a) VR5500
+          å²è¾¼ã¿è¦å     ï½  å²è¾¼ã¿è¦å çªå·  ï½    ãã¯ã­å
+      ââââââââââââââââââââââââââââ
+          ã¿ã¤ãï¼      ï½        ï¼        ï½  INTNO_TIMER0
+      ââââââââââââââââââââââââââââ
+          ã·ãªã¢ã«ï¼    ï½        ï¼        ï½  INTNO_SERIAL0
+      ââââââââââââââââââââââââââââ
+          GBUS-INT0-    ï½      ï¼ï¼        ï½  INTNO_GBUS
+      ââââââââââââââââââââââââââââ
+          BUS ERROR     ï½      ï¼ï¼        ï½  INTNO_BUS_ERR
+      ââââââââââââââââââââââââââââ
+          ã¿ã¤ãï¼      ï½      ï¼ï¼        ï½  INTNO_TIMER1
+      ââââââââââââââââââââââââââââ
+          ã·ãªã¢ã«ï¼    ï½      ï¼ï¼        ï½  INTNO_SERIAL1
+      ââââââââââââââââââââââââââââ
+          ãã©ã¬ã«      ï½      ï¼ï¼        ï½  INTNO_PARALEL
+      ââââââââââââââââââââââââââââ
+          DMAC INTREQ-  ï½      ï¼ï¼        ï½  INTNO_DMAC
+
+(pic_icu.h)
+
+(b) VR4131
+          å²è¾¼ã¿è¦å         ï½  å²è¾¼ã¿è¦å çªå·  ï½    ãã¯ã­å
+      ââââââââââââââââââââââââââââââ
+        ããããª            ï½        ï¼        ï½  INTNO_BAT
+      ââââââââââââââââââââââââââââââ
+        ãã¯ã¼ã¹ã¤ãã      ï½        ï¼        ï½  INTNO_POWER
+      ââââââââââââââââââââââââââââââ
+        ï¼²ï¼´ï¼£ï¼¬ï½ï½ï½ï¼    ï½      ï¼ï¼        ï½  INTNO_RTCL1
+      ââââââââââââââââââââââââââââââ
+        ElipsedTime ã¿ã¤ã  ï½      ï¼ï¼        ï½  INTNO_ETIME
+      ââââââââââââââââââââââââââââââ
+        ï¼§ï¼©ï¼µ              ï½      ï¼ï¼        ï½  INTNO_GIU
+      ââââââââââââââââââââââââââââââ
+        ï¼³ï¼©ï¼µ              ï½      ï¼ï¼        ï½  INTNO_SIU
+      ââââââââââââââââââââââââââââââ
+        ã½ããã¦ã§ã¢        ï½      ï¼ï¼        ï½  INTNO_SOFTINT
+      ââââââââââââââââââââââââââââââ
+        ï¼£ï¼¬ï¼«ï¼²ï¼µï¼®        ï½      ï¼ï¼        ï½  INTNO_CLKRUN
+      ââââââââââââââââââââââââââââââ
+        ï¼²ï¼´ï¼£ï¼¬ï½ï½ï½ï¼    ï½      ï¼ï¼        ï½  INTNO_RTCL2
+      ââââââââââââââââââââââââââââââ
+        ï¼¬ï¼¥ï¼¤              ï½      ï¼ï¼        ï½  INTNO_LED
+      ââââââââââââââââââââââââââââââ
+        TClockã«ã¦ã³ã¿      ï½      ï¼ï¼        ï½  INTNO_TCLK
+      ââââââââââââââââââââââââââââââ
+        ï¼¦ï¼©ï¼²              ï½      ï¼ï¼        ï½  INTNO_FIR
+      ââââââââââââââââââââââââââââââ
+        ï¼¤ï¼³ï¼©ï¼µ            ï½      ï¼ï¼        ï½  INTNO_DSIU
+      ââââââââââââââââââââââââââââââ
+        ï¼°ï¼£ï¼©              ï½      ï¼ï¼        ï½  INTNO_PCI
+      ââââââââââââââââââââââââââââââ
+        ï¼³ï¼£ï¼µ              ï½      ï¼ï¼        ï½  INTNO_SCU
+      ââââââââââââââââââââââââââââââ
+        ï¼£ï¼³ï¼©              ï½      ï¼ï¼        ï½  INTNO_CSI
+      ââââââââââââââââââââââââââââââ
+        ï¼¢ï¼£ï¼µ              ï½      ï¼ï¼        ï½  INTNO_BCU
+
+(vr4131_icu.h)
+
+ä»åã®ã¿ã¼ã²ããã«ããã¦ã¯ãã«ã¼ãã«ã§ã¯ãä»¥ä¸ã®å²è¾¼ã¿è¦å ã®ä¸­ããä¸è¨ã
+å©ç¨ãã¦ããã
+
+(a) VR5500
+  ã¿ã¤ãï¼ãã·ãªã¢ã«ï¼ï¼ãã·ãªã¢ã«ï¼ï¼
+
+(b) VR4131
+  TClockã«ã¦ã³ã¿ãï¼¤ï¼³ï¼©ï¼µ
+
+2.3.3 å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡
+
+å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡ã®ããã®ãå®ç¾©ã»APIã¯ä»¥ä¸ã®éãã§ããã
+
+(1)IPMå
+CPUã³ã¢ã¨å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¨ãå
+¨ã¦ã¾ã¨ãããå²è¾¼ã¿ãã¹ã¯ãæ±ãããã®åã§
+ãããCORE_IPMåcoreã¨ICU_IPMåicuã¨ãããªãæ§é ä½ã¨ãã¦å®ç¾©ãã¦ããã
+(cpu_defs.h)
+
+CORE_IPMåã¯ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã«æ¸è¾¼ãå¤ãä¿æãããããUINTåã¨ãã¦å®
+ç¾©ãã¦ãããã¾ããICU_IPMåã¯ãããããã«ã¿ã¼ã²ãããã¼ãã«ã¤ãã¦ä¸è¨ã®
+ããã«å®ç¾©ãã¦ããã
+
+(a) VR5500
+  VR5500ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããªããããã¿ã¼ã²ãããã¼ãä¸ã«å²
+  è¾¼ã¿ã³ã³ãã­ã¼ã©ãæã£ã¦ããããã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯ãï¼ãã¤ãÃï¼å
+  ã®å²è¾¼ã¿ãã¹ã¯ãæã£ã¦ããã®ã§ãICU_IPMåã¯
+	{ int0m, int1m } = { UBå, UBå }
+  ã¨ãã¦å®ç¾©ãã¦ããã
+
+(b) VR4131
+  VR4131ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå
+èµãã¦ããããã®å
+èµå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯ã
+  ï¼ãã¤ãÃï¼åã®å²è¾¼ã¿ãã¹ã¯(MSYSINT1REG, MSYSINTREG2REGã¬ã¸ã¹ã¿)ãæã£
+  ã¦ããã®ã§ãICU_IPMåã¯
+	{ msysint1, msysint2 } = { UHå, UHå }
+  ã¨ãã¦å®ç¾©ãã¦ããã
+
+(cpu_defs.h, sys_defs.h)
+
+ä»åã®å®è£
+ã§ã¯ãICU_IPM åã®åæå¤ã¨ãã¦ä¸è¨ã®ããã«ãã¦ããã
+
+(a) VR5500
+  ã¿ã¤ãï¼ã®ã¿ãè¨±å¯ãã¦ããã
+
+(b) VR4131
+  ããããªã®ã¿ãè¨±å¯ãã¦ããã
+
+(sys_config.h)
+
+ï¼coreã®å¤ã¯ãã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã«æ¸è¾¼ããIM(0:7)ã®é¨åã®ã¿ãä¿æãã
+  ãã¨ãä»ã®ããããæä½ããå ´åã®åä½ã¯ãä¿è¨¼ããªããï¼
+
+(2)all_set_ilv          	å²è¾¼ã¿ã¬ãã«ã®è¨­å®
+
+ãCè¨èªAPIã
+        all_set_ilv(INTNO intno, IPM *ipm)
+
+ããã©ã¡ã¼ã¿ã
+	INTNO intno		å²è¾¼ã¿è¦å çªå·
+	IPM ipm			å²è¾¼ã¿ãã¹ã¯
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãæ©è½ã
+MIPS3ã³ã¢ããã³å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã«é¢ãããå²è¾¼ã¿ãã³ãã©æ¬ä¼¼ãã¯ã¿ãã¼
+ãã«ï¼int_tableãªãã³ã«ãicu_intmask_tableï¼ã«ãå²è¾¼ã¿ãã¹ã¯ãè¨­å®ããã
+(cpu_config.h)
+
+ãªããã¿ã¼ã²ãããã¼ãä¸ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ãããããä»åå®è£
+ãè¡ã£ã
+ã¿ã¼ã²ãããã¼ãã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã§ã¯ä¸¡æ¹ã¨ãå²è¾¼ã¿åªå
+åº¦å¶å¾¡ãè¡ã£ã¦
+ããªãããã®ããã«ãå²è¾¼ã¿åªå
+åº¦å¦çãå²è¾¼ã¿ãã¹ã¯ã®è¨­å®ã§è¡ãå¿
+è¦ãããã
+
+ãã®æãå²è¾¼ã¿ãã¹ã¯ãè¨­å®ããã¨ãã¯ãIPMåæ§é ä½ã®è¦ç´ ã§ããCORE_IPMå
+coreã¯ããã®ã¿ã¼ã²ãããã¼ãã®ãã¼ãã¦ã§ã¢æ§æãåæ ãã¦ãããã®ã§ããã®
+ã§ãååã¨ãã¦å¤æ´ããªããã¨ã¨ãããå²è¾¼ã¿ã¬ãã«ã®è¨­å®ã¯ãæ¥ç¶ããã¦ãã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãå¤æ´ãããã¨ã§å¯¾å¿ãããã¨ã¨ããã
+
+ä»åã®å®è£
+ã«ããããåªå
+åº¦ã¯ä»¥ä¸ã®éãã§ããã
+(a) VR5500
+  åªå
+åº¦ : (ä½) ã·ãªã¢ã«ï¼ -> ã·ãªã¢ã«ï¼ -> ã¿ã¤ãï¼ (é«)
+(rte-vr5500-cb.h)
+(b) VR4131
+  åªå
+åº¦ : (ä½) ï¼¤ï¼³ï¼©ï¼µ -> TClockã«ã¦ã³ã¿ -> ããããªæ®éä¸è¶³æ¤ç¥ (é«)
+(kz-vr4131pci-01.h)
+
+2.4 chg_ipmã®ãµãã¼ãã«ã¤ãã¦
+
+chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããããããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+(SUPPORT_CHG_IPM ã¯ãcpu_config.h ã®ä¸­ã§ #define ããã¦ããã)
+
+MIPS3ã¿ã¼ã²ããä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§
+ã¯æ¬¡ã®éãã
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+å²è¾¼ã¿ãã¹ã¯ã ipm ã§æå®ãããå¤ã«è¨­å®ãããæå®ããå¤ããMIPS3ã³ã¢é¨å
+ã«ã¤ãã¦ã¯0ãMAX_IPMã®ç¯å²å
+ã«ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©é¨åã«ã¤ãã¦ã¯å²è¾¼ã¿
+ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®ç¯å²å
+ã«å
+¥ã£ã¦ããªãå ´åã«ãE_PARã¨ã©ã¼ãè¿
+ããã¾ããè¨­å®ããIPMã®å¤ã¯ããã£ã¹ãããå¾ãå¼ãç¶ãããã
+ããã§ãMAX_IPMã¯ãMIPS3ã³ã¢ã«è¨­å®ã§ããå²è¾¼ã¿ãã¹ã¯ã®æå¤§ã®ããããã¿ã¼
+ã³ã§ããã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® å²è¾¼ã¿ãã¹ã¯ã®å¤ãèª­ã¿åºããipm ã«è¿ãã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+ãªãããã¬ã¼ã¹ã­ã°æ©è½ã«é¢ãã¦ãchg_ipmã«é¢ããé¨åã¯ã·ã¹ãã ä¾å­é¨ã«ã¦
+å®ç¾©ãè¡ã£ã¦ããã
+(sys_tool_config.h)
+
+2.5 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããCPUä¾å¤è¦å çªå·(excno)ã¯ãMIPS3 ã§ã®æ¬ä¼¼ãã¯ã¿ãã¼ãã«
+ã®ãã¯ã¿çªå·ãè¡¨ãããã®ãã¼ã¿å(EXCNO)ã¯ UINTåã«å®ç¾©ããã¦ãããä¾å¤
+è¦å çªå·ã¯MIPS3ã®ä¾å¤ã³ã¼ãã¨1å¯¾1ã«å¯¾å¿ãã¦ããã
+
+DEF_EXC ã§ãä¾å¤è¦å çªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçªå·ã
+æå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+(1)å¼æ°p_excinf
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ããããã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãã
+
+      ----------------------
+     |       sp (r29)       |  <-- p_excinf
+      ----------------------
+     |       at (r1)        |
+      ----------------------
+     |       v0 (r2)        |
+      ----------------------
+     |       v1 (r3)        |
+      ----------------------
+     |       a0 (r4)        |
+      ----------------------
+     |       a1 (r5)        |
+      ----------------------
+     |       a2 (r6)        |
+      ----------------------
+     |       a3 (r7)        |
+      ----------------------
+     |       t0 (r8)        |
+      ----------------------
+     |       t1 (r9)        |
+      ----------------------
+     |       t2 (r10)       |
+      ----------------------
+     |       t3 (r11)       |
+      ----------------------
+     |       t4 (r12)       |
+      ----------------------
+     |       t5 (r13)       |
+      ----------------------
+     |       t6 (r14)       |
+      ----------------------
+     |       t7 (r15)       |
+      ----------------------
+     |       t8 (r24)       |
+      ----------------------
+     |       t9 (r25)       |
+      ----------------------
+     |       gp (r28)       |
+      ----------------------
+     |       fp (r30)       |
+      ----------------------
+     |       ra (r31)       |
+      ----------------------
+     |  PC (EPC;CP0_r14)    |
+      ----------------------
+     |  SR (Status;CP0_r12) |
+      ----------------------
+     |          HI          |
+      ----------------------
+     |          LO          |
+      ----------------------
+
+     sp : Stack Pointer
+     gp : Global Pointer
+     fp : Frame Pointer
+     ra : Return Address
+     PC : Program Counter
+     SR : Status Register
+
+ã¾ããCPUä¾å¤çºçæã®EPCã®å¤ã¯ãä¾å¤çºçå½ä»¤ãåå²ã¹ã­ããã«ããå ´åã¯ã
+ç´åã®åå²ã»ã¸ã£ã³ãå½ä»¤ãããã
+ï¼ããªãã¡ãå¯¾è±¡å½ä»¤ã®ã¢ãã¬ã¹-4ãæ¸ãè¾¼ã¾ãããï¼
+
+2.6 HI, LO ã¬ã¸ã¹ã¿
+
+MIPS3ã§ã¯ãä¹é¤ç®ã¬ã¸ã¹ã¿HI, LOããµãã¼ããã¦ãããããã§ãä»åã®å®è£
+ã«ã
+ãã¦ã¯ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã§ãã¹ã¿ãã¯ã¸ä¿å­ãã¦ããã
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãå
+ã§ã®ãèªãã®ãã£ã¹ãããå¼ã³åºãã®å ´åã¯ãé¢æ°å¼ã³åº
+ãã§ããããã®å¼ã³åºããã¾ããã£ã¦ãã®ã¬ã¸ã¹ã¿ãå©ç¨ãããã¨ã¯ç¡ãã®ã§ã
+ä¿å­ãã¦ããªãã
+(cpu_support.S)
+
+2.7 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+MIPS3ã¿ã¼ã²ããã§ã¯ãä¾å¤ãã¯ã¿ã®ä¸ã¤ã«ããªã»ããä¸¦ã³ã« NMI(Non Maskable
+Interrupt)ç¨ã®ãã¯ã¿ã¢ãã¬ã¹ãåãã¦ããããã®ã¢ãã¬ã¹ããã®ã¸ã£ã³ãå
+ã
+ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¨ãªã£ã¦ããã
+
+ãã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(reset.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ãã­ã»ããµã®åæå
+
+ãã­ã»ããµã®åæåã¯ãä¸è¨ã®ãã®ãè¡ãã
+(a) CPUã¬ã¸ã¹ã¿ã®åæå
+ä¹é¤ç®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã¤ã³ã¿spãã°ã­ã¼ãã«ãã¤ã³ã¿gpãk0ã¬ã¸ã¹ã¿ãåæ
+åããã
+
+ã¹ã¿ãã¯ãã¤ã³ã¿ã«ã¯ãã¢ãã¬ã¹ _stack_top ãè¨­å®ããã_stack_top ã¯ããªã³ã«
+ã¹ã¯ãªããå
+ã§å®ç¾©ãããã®ã¨ãããããã§è¨­å®ãããã¹ã¿ãã¯é åã¯ãéã¿ã¹ã¯
+ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ãå²è¾¼ã¿ãã³ãã©ãªã©ã§å©ç¨ãããã
+(vrxxxxelf.ld)
+
+ã°ã­ã¼ãã«ãã¤ã³ã¿ã«ã¯ãã¢ãã¬ã¹ _gp ãè¨­å®ããã_gp ã¯ããªã³ã«ã¹ã¯ãªããå
+
+ã§å®ç¾©ãããã®ã¨ããã
+(vrxxxxelf.ld)
+
+k0ã¬ã¸ã¹ã¿ã«ã¯ãã«ã¼ãã«èµ·åæã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ã®å®è¡ã¨ããã®ã§ã1ã
+è¨­å®ããã
+
+(b) CP0ã¬ã¸ã¹ã¿ã®åæå
+ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ãã³ã³ãã£ã°ã¬ã¸ã¹ã¿ãã¦ã©ããLoã¬ã¸ã¹ã¿ãæ¯è¼ã¬ã¸ã¹ã¿ã
+åæåããã
+
+ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã INIT_SR ã«åæåãããINIT_SR ã¯ãsys_config.h ã§å®ç¾©
+ãããã¨ãæ³å®ãã¦ããããã®ã¨ããã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿å
+ã®å²è¾¼ã¿ãã¹ã¯ãè¨­å®
+ããããã®æãå²ãè¾¼ã¿ãã¹ã¯ã INIT_CORE_IPM (sys_config.h) ã®å¤ã«è¨­å®ããã
+
+ã³ã³ãã£ã°ã¬ã¸ã¹ã¿ããINIT_CONFIG_MASK ã§åæåãããINIT_CONFIG_MASK ã¯ã
+sys_config.h ã§å®ç¾©ãããã¨ãæ³å®ãã¦ããããã®ãã¹ã¯å¤ã¨ORæ¼ç®ãè¡ããã¨ã§ã
+åæåãè¡ã£ã¦ããã
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ãä¸è¬ã«ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã·ã¹ãã 
+ä¾å­ã®åæåï¼ä¾ï¼RAMã³ã³ãã­ã¼ã©ã®åæåãªã©ï¼ãè¨è¿°ãããã®ã¨ããã
+è¨è¿°å ´æã¯ãsys_support.S ãæ¨æºã¨ããã
+
+hardware_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã0
+ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+ãªããMIPS3ã¢ã¼ã­ãã¯ãã£ã§ã¯ãä¸è¬ã«ä¸æ¬¡ã­ã£ãã·ã¥ã¨TLB (Translation
+Lookaside Bufferï¼é«éå¤æç·©è¡æ©æ§)ãå
+èµãã¦ãããããã­ã»ããµãã¨ã«å¤å°ã®
+éãããããããã§ããããã®åæåã¯ãhardware_init_hook å
+ã«è¨è¿°ãããã¨ã
+æ¨æºã¨ããã
+
+(C) bssã»ã¯ã·ã§ã³ã¨dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ï¼å« sbssã»ã¯ã·ã§ã³ï¼ãã¼ã­ã¯ãªã¢ããã
+
+dataã»ã¯ã·ã§ã³ï¼å« sdataã»ã¯ã·ã§ã³ï¼ãåæåãããROMåå¯¾å¿ã®ããã«ãROM
+ãã RAM ã¸ã¨ãã³ãã¼ãè¡ãã
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§ã¢
+ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã
+ 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ãã¦
+ãããã¨ã¯æ³å®ãã¦ããªãã
+
+(reset.S)
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãsys_defs.h ä¸­ã®
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ããã®å®
+ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããããã ãã
+ã¿ã¤ãã®ç²¾åº¦ãä¾çµ¦ã¯ã­ãã¯ã«ä¾å­ãããããã¿ã¤ãã®ä¾çµ¦ã¯ã­ãã¯åä½ã§ç«¯æ°ã«
+ãªãå¤ãè¨­å®ããå ´åã«ã¯ãisig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãã
+
+ããã©ã«ãã§ã¯ãä¸è¨ã®ã¿ã¤ããå©ç¨ãã¦ããã
+(a) VR5500
+  ã¿ã¼ã²ãããã¼ãæ­è¼ã®ã¿ã¤ã(uPD71054)ã®ã¿ã¤ã0 (ä¾çµ¦ã¯ã­ãã¯ 2MHz)
+(b) VR4131
+  VR4131å
+èµRTCå
+TClockã«ã¦ã³ã¿ (ä¾çµ¦ã¯ã­ãã¯ 33.2MHz)
+
+ãªããMIPS3ã³ã¢å
+é¨ã®ã¿ã¤ãã¯ãã¦ã¼ã¶ã¼ãå©ç¨ãããã¨ãã§ããã
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+MIPS3ã¿ã¼ã²ããä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµ
+ãã¼ããã¦ãããSYSUTIMåã¯UDå(64ãããã®ç¬¦å·ç¡ãæ´æ°å)ã§å®ç¾©ãã¦ããã
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ä¾çµ¦ã¯ã­ãã¯åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤ã
+èª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ãå¼ã¶
+åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªããããã§ãSUPPORT_VXGET_TIM
+ã¨ãããã¯ã­ã«ããããããã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿
+ããããããã«ãã¦ããã
+(SUPPORT_VXGET_TIM ã¯ãsys_config.h ã®ä¸­ã§ #define ããã¦ããã)
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+(a) VR5500
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ããã¼ãä¸æ­è¼ã®SCCï¼Serial Communication
+Controlerï¼(TL16PIR552)ã®UART-CH#0ãUART-CH#1ããµãã¼ããã¦ãããã·ãªã¢ã«
+ã®ãµãã¼ããããã¼ãæ°ã¯ãTNUM_PORTãã¯ã­ã«ã¦å®ç¾©ãããããã©ã«ãã§ã¯ã
+ãã¼ãï¼ã¨ãã¼ãï¼ã®ï¼ãã¼ãããµãã¼ããã¦ããããªããã«ã¼ãã«ã®ã­ã°åºåç¨
+ã«ã¯ãã¼ãï¼ã«ä½¿ç¨ãã¦ããã
+(TNUM_PORT ã¯ãsys_config.h ã®ä¸­ã§ #define ããã¦ããã)
+(tl16pir552.h, tl16pir552.c)
+
+(b) VR4131
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ãVR4131å
+èµã®DSIU(ãã£ãã°ã·ãªã¢ã«ã¤ã³ã¿
+ãã§ã¼ã¹ã¦ããã)ããµãã¼ããã¦ãããããã¯ãã«ã¼ãã«ã®ã­ã°åºåç¨ã«ä½¿ç¨ã
+ã¦ããã
+
+ãªããSCU(ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¦ããã)ã¯ããµãã¼ããã¦ããªãããããã
+DSIUç¨ã®ã½ã¼ã¹ã³ã¼ããå¤æ´ãããã¨ã«ãããå¯¾å¿ãå¯è½ã§ããã
+
+(vr4131_dsiu.h, vr4131_dsiu.c)
+
+3.4 ã¡ã¢ãªããã
+
+ã¡ã¢ãªãããã«é¢ããè¨­å®ã¯ããªã³ã«ã¹ã¯ãªããã«ã¦è¡ããã³ã³ãã¤ã«æã«å©ç¨
+ãããªã³ã«ã¹ã¯ãªããã«ã¤ãã¦ã¯ãMakefile.config ã«ã¦è¨­å®ãè¡ãã
+(vrxxxxelf.ld, Makefile.config)
+
+ãªããã³ã¼ãé åã 0xbfc00000 ãã¨ã0x9fc00000 ãã®ï¼é¨æ§æã«ãªã£ã¦ããã
+ããã«ãã¹ã¿ã¼ãã¢ãã¬ã¹ãã0x00000000 ããã§ãªãããã«ãROMã«ç¼ãä»ãã
+ã¨ããROMã¢ãã¬ã¹ã¨ã®å¯¾å¿ãåããªãããã®ããã«ãå©ç¨ããROMã©ã¤ã¿ã§ã
+é©åãªãªãã»ããå¤ã®è¨­å®ãããã³ãé©åãªãããã¡ã¯ãªã¢ã®è¨­å®ãè¡ãå¿
+è¦ã
+ããã
+
+(a) VR5500
+ã»æ ªå¼ä¼ç¤¾ãã¤ãã¹ã»ã©ãè£½ã®RTE-VR5500-CB(64)(CPU: VR5500)
+
+ä»åã®å®è£
+ã«ããã¦ã¯ãã³ã¼ãé åãå¤æ´ããå½¢ã«ãããkseg0 ã¾ãã¯ kseg1 ã§
+ã®åä½ã®ä¸¡æ¹ãå¯è½ã§ãããå¤æ´ã¯ããªã³ã«ã¹ã¯ãªããå
+ã§è¡ãã
+
+åã
+ã®ã¡ã¢ãªãããã¯ä»¥ä¸éãã§ããã
+
+ã»kseg0é åï¼ã­ã£ãã·ã¥é åï¼ã®å ´å
+         0x9fc00000 - 0x9fdfffff  ã³ã¼ãé å		(FLASH ROM 2Mbyte)
+	(0xa0000000 - 0xa00fffff  ROMé åã®ãã©ã¼ç¨ã«ç¢ºä¿
+							(SRAM   1Mbyte))
+         0xa8000000 - 0xabffffff  ãã¼ã¿é å		(DRAM  64Mbyte)
+		    - 0xabffffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+	 0xbfc00000 - 0xbfc007ff  ä¾å¤ãã¯ã¿ãã¼ãã«ã»åæåå¦çé å
+				  (exce_vec_map, reset ã»ã¯ã·ã§ã³ã§ä½¿ç¨)
+(vr5500elf.ld)
+
+ã»kseg1é åï¼éã­ã£ãã·ã¥é åï¼ã®å ´å
+	(0xa0000000 - 0xa00fffff  ROMé åã®ãã©ã¼ç¨ã«ç¢ºä¿
+							(SRAM   1Mbyte))
+         0xa8000000 - 0xabffffff  ãã¼ã¿é å		(DRAM  64Mbyte)
+		    - 0xabffffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+         0xbfc00000 - 0xbfcfffff  ã³ã¼ãé å		(ROM    1Mbyte)
+(vr5500elf.ld)
+
+(b) VR4131
+ã»äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿æ ªå¼ä¼ç¤¾è£½ KZ-Vr4131PCI-01 (CPU:VR4131)
+
+ä»åã®å®è£
+ã«ããã¦ã¯ãã³ã¼ãé åãå¤æ´ããå½¢ã«ãããkseg0 ã¾ãã¯ kseg1 ã§
+ã®åä½ã®ä¸¡æ¹ãå¯è½ã§ãããå¤æ´ã¯ããªã³ã«ã¹ã¯ãªããå
+ã§è¡ãã
+
+åã
+ã®ã¡ã¢ãªãããã¯ä»¥ä¸éãã§ããã
+
+ã»kseg0é åï¼ã­ã£ãã·ã¥é åï¼ã®å ´å
+         0x9c000000 - 0x9c03ffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+							(SRAM 256kbyte)
+         0x9fc00700 - 0x9fdfffff  ã³ã¼ãé å	   (FLASH ROM 2Mbyteå¼±)
+	(0xa0000000 - 0xa01fffff  ROMé åã®ãã©ã¼ç¨ã«ç¢ºä¿
+							(DRAM   2Mbyte))
+         0xa0200000 - 0xa0ffffff  ãã¼ã¿é å		(DRAM  14Mbyte)
+	 0xbfc00000 - 0xbfc006ff  ä¾å¤ãã¯ã¿ãã¼ãã«ã»åæåå¦çé å
+						  (FLASH ROM 0x700byte)
+				 (exce_vec_map, reset ã»ã¯ã·ã§ã³ã§ä½¿ç¨)
+(vr4131elf.ld)
+
+ã»kseg1é åï¼éã­ã£ãã·ã¥é åï¼ã®å ´å
+	(0xa0000000 - 0xa01fffff  ROMé åã®ãã©ã¼ç¨ã«ç¢ºä¿
+							(DRAM   2Mbyte))
+         0xa0200000 - 0xa0ffffff  ãã¼ã¿é å		(DRAM  14Mbyte)
+         0xac000000 - 0xac03ffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+							(SRAM 256kbyte)
+         0xbfc00000 - 0xbfdfffff  ã³ã¼ãé å		(FLASH ROM 2Mbyte)
+(vr4131elf.ld ã«å¤æ´ãå ãããã¨ã§å¯¾å¿å¯è½)
+
+3.5 CP0ãã¶ã¼ãã«ã¤ãã¦
+
+MIPSã§ã¯ããã­ã»ããµã«ãã£ã¦ã¯CP0ãã¶ã¼ããå­å¨ãããã®ãããããã®ããã®
+å¯¾å¿ã¨ãã¦ãNOP_FOR_CP0_HAZARDãã¯ã­ãå®ç¾©ãããããã¯ãcpu_support.Så
+ã§
+å©ç¨ãã¦ããã
+
+å®ç¾©æ¹æ³ã¯ãå¿
+è¦ãªæ°åã ãnopãä¸¦ã¹ããã¨ã«ãªãã
+(vr4131.h, vr5500.h)
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ã
+ãªããã¿ã¼ã²ããç°å¢ <TARGET> ã®å¤ã«ã¤ãã¦ã¯ãä»¥ä¸ãåèã®ãã¨ã
+éçºã«ã¯Windows2000SP4ä¸ã§Cygwinãç¨ããã
+
+åä½ç¢ºèªã¯ãä¸è¨ã®ãã¼ã«ã«ã¦ç¢ºèªãã¦ããããã®ãã¼ã«ãããã©ã«ãã¨ããã
+
+ã»GNUããé
+å¸ããã¦ãããªãªã¸ãã«ã®GCCãªã©ãã½ã¼ã¹ããæ§ç¯ãããã¼ã«
+  åä½ç¢ºèªãè¡ã£ãã¨ãã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããã
+    BINUTILS : 2.13.2.1
+    GCC-CORE : 3.3.2
+    NEWLIB   : 1.11.0
+ï¼ãã®å ´åã®ã¿ã¼ã²ããç°å¢ <TARGET> ã«ã¯ãmipsel-nec-elf ãç¨ãããï¼
+
+ï¼ï¼å¶éäºé 
+
+
+ã»ããã°ã¨ã³ãã£ã¢ã³ã¯ãµãã¼ããã¦ããªãã
+  ï¼ãªãã«ã¨ã³ãã£ã¢ã³ã®ã¿ããµãã¼ããã¦ãããï¼
+(sys_defs.h)
+
+ã»64bitã¢ã¼ãã¯ãµãã¼ããã¦ããªãã
+
+ã»VR5500å
+èµæµ®åå°æ°ç¹ã¦ãããã¯ãµãã¼ããã¦ããªãã
+
+ã»ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããªã³ã¯ã¹ã¯ãªããã¯ãC++ã«å¯¾å¿ãã¦ããªãã
+
+ï¼ï¼ãã®ä»
+
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+MIPS3 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/mips3/
+        MIPS3å
+±éé¨
+
+	Makefile.config		Makefileã®MIPS3ã¿ã¼ã²ããä¾å­ã®å®ç¾©
+	cpu_defs.h		ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_config.h		ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_config.c		ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_support.S		ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_context.h		ã³ã³ãã­ã¹ãæä½
+	cpu_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tool_defs.h		éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	tool_config.h		éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	makeoffset.c		offset.h çæãµãã¼ããã­ã°ã©ã 
+	cpu_insn.h		ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	exception_vector.S	ä¾å¤ãã¯ã¿ã¢ãã¬ã¹ã§ã®åå²å¦ç
+	start.S			ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	mips3.h			MIPS3ã®ã¬ã¸ã¹ã¿åãªã©ã®å®ç¾©
+	util.h			ãããçªå·ãªã©ã®å®ç¾©
+
+    config/mips3/vr5500/
+        VR5500(NEC)å¯¾å¿ã·ã¹ãã ä¾å­é¨
+       (æ ªå¼ä¼ç¤¾ãã¤ãã¹ã»ã©ãè£½ RTE-VR5500-CB(64) å¯¾å¿)
+
+	Makefile.config		Makefileã®RTE-VR5500-CB(64)ã·ã¹ãã ä¾å­å®ç¾©
+	sys_defs.h		ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S		ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	sys_tool_config.h	éçºç°å¢ä¾å­é¨ã®ã·ã¹ãã ä¾å­é¨æ§æå®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	hw_serial.h		SIOãã©ã¤ã
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	vr5500.h   		VR5500ã®ãã¼ãã¦ã§ã¢å®ç¾©
+	pic_icu.h		å²è¾¼ã¿ã³ã³ãã­ã¼ã©é¢ä¿ã®å®ç¾©
+        rte_vr5500_cb.h 	RTE-VR5500-CB(64)ãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
+	upd71054.h		NECç¤¾Î¼PD71054ç¨ ã¿ã¤ããã©ã¤ãé¢é£ã®å®ç¾©
+				(ã¿ã¼ã²ãããã¼ãRTE-VR5500-CBæ­è¼ã®ã¿ã¤ã)
+	vr5500_elf.ld		ãªã³ã«ã¹ã¯ãªãã(ROM åç¨)
+	vr5500_elf_ram.ld	ãªã³ã«ã¹ã¯ãªãã(RAM è»¢éç¨)
+
+    config/mips3/vr4131/
+        VR4131(NEC)å¯¾å¿ã·ã¹ãã ä¾å­é¨
+       (äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿æ ªå¼ä¼ç¤¾è£½ KZ-Vr4131PCI-01 å¯¾å¿)
+
+	Makefile.config		Makefileã®KZ-Vr4131PCI-01ã·ã¹ãã ä¾å­å®ç¾©
+	sys_defs.h		ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S		ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	sys_tool_config.h	éçºç°å¢ä¾å­é¨ã®ã·ã¹ãã ä¾å­é¨æ§æå®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	hw_serial.h		SIOãã©ã¤ã
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	vr4131.h		VR4131ã®ãã¼ãã¦ã§ã¢å®ç¾©
+	vr4131_sil.h		VR4131ã®ãã¼ãã¦ã§ã¢ã¢ã¯ã»ã¹ç¨ã·ã¹ãã 
+				ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ã¼å®ç¾©
+	vr4131_icu.h		VR4131å
+èµå²è¾¼ã¿ã³ã³ãã­ã¼ã«ã¦ãããICUç¨
+				å²è¾¼ã¿é¢é£ã®å®ç¾©
+	vr4131_dsiu.h		VR4131å
+èµãã£ãã°ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¦ããã
+				DSICç¨ ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
+	vr4131_dsiu.c		VR4131å
+èµãã£ãã°ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¦ããã
+				DSICç¨ ç°¡æSIOãã©ã¤ã
+	vr4131_rtc.h		VR4131å
+èµãªã¢ã«ã¿ã¤ã ã¯ã­ãã¯ã¦ãããRTCç¨
+				ã¿ã¤ããã©ã¤ãé¢é£ã®å®ç¾©
+        kz_vr4131pci_01.h	KZ-Vr4131PCI-01ãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
+	vr4131_elf.ld		ãªã³ã«ã¹ã¯ãªãã(ROM åç¨)
+	vr4131_elf_gdb.ld	ãªã³ã«ã¹ã¯ãªãã(GDB ã¹ã¿ãç¨)
+
+ï¼ä»¥ä¸ãVR5500æ­è¼ã¿ã¼ã²ãããã¼ãRTE-VR5500-CBåãï¼
+    pdic/simple_sio
+	tl16pir552.h		TIç¤¾TL16PIR552ç¨ ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
+	tl16pir552.c		TIç¤¾TL16PIR552ç¨ ç°¡æSIOãã©ã¤ã
+				(ã¿ã¼ã²ãããã¼ãRTE-VR5500-CBæ­è¼ã®ã·ãªã¢ã«
+				 ã³ã³ãã­ã¼ã©)
+
+6.2 ãã®ä»
+
+MIPS ã¢ã¼ã­ãã¯ãã£ãæ¡ç¨ãããã­ã»ããµã®ç¨®é¡ã¯ãéå¸¸ã«å¤ãã§ãããã®ä¸­ã§ã
+æã
+éçºè
+å´ã®ã¿ã¼ã²ããç°å¢ã®åé¡ãããä»åã®å®è£
+ã¯ VR4131ãVR5500 ã¨ãã
+ç¹å®ã®ãã­ã»ããµã®ã¿ã®ãµãã¼ãã¨ãªã£ã¦ãã¾ãã
+
+ããã§ããããã®ãéå¸¸ã«å¤å²ã«æ¸¡ã£ã¦ãããã­ã»ããµã®åä½ãã¹ãã«ååãã¦
+ããã ããæ¹ãåéãã¦ããã¾ãã
+
+æ¯éãä¸è¨ã¸ã¨ãé£çµ¡ãã ããããå¾
+ã¡ãã¦ããã¾ãã
+
+âTOPPERSãã­ã¸ã§ã¯ã  ã¡ã¼ãªã³ã°ãªã¹ã  TOPPERS-USER
+
+âå®®åçç£æ¥­æè¡ç·åã»ã³ã¿ã¼  æ©æ¢°é»å­æ
+å ±æè¡é¨  æ
+å ±æè¡éçºç­
+  TEL : 022-377-8700ãe-mail : micom@mit.pref.miyagi.jp
+
+
+ï¼ï¼ã«ã¼ãã«ç§»æ¤è
+ã¸ã®æ
+å ±
+
+ããããã¯ãä»åã®MIPSã¢ã¼ã­ãã¯ãã£ã¸ã®å®è£
+ããä»åå®è£
+ãè¡ã£ãã¿ã¼ã²ãã
+ãã­ã»ããµä»¥å¤ã®MIPSã¢ã¼ã­ãã¯ãã£ãã­ã»ããµã¸ã¨ç§»æ¤ããããã®æ
+å ±ã«ã¤ãã¦
+ã¾ã¨ããã
+
+7.1 å²è¾¼ã¿ã³ã³ãã­ã¼ã©ICUã¨CPUã¨ã®ã¤ã³ã¿ãã§ã¼ã¹ã«ã¤ãã¦
+
+MIPS3å
+±éé¨ã§ã¯ãå²è¾¼ã¿ã¨CPUä¾å¤ã¾ã§ã®åå²ã¯è¡ããã¾ããCPUä¾å¤ã«ãããå¦
+çã¯è¡ããããããå²è¾¼ã¿è¦å ã«å¯¾ããåå²ã¯è¡ããªããããã¯ãMIPS3ã«æ¥ç¶ã
+ããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãç¹å®ã§ããªããã¨ã¨ããã®å¤æ§æ§ãéå¸¸ã«å¤§ãããã
+ã§ããã
+(cpu_support.S)
+
+ããã§ãä»¥ä¸ã«ããã®åå²ã®ããã®ã¤ã³ã¿ãã§ã¼ã¹ãªãã³ã«ããã®ä»ã®ã¨ããã§
+ä½æããªããã°ãªããªããã¯ã­ãªã©ãã¾ã¨ããã
+(cpu_support.S ; proc_interruptä»¥ä¸)
+
+ã»å²è¾¼ã¿è¦å å¤å¥é¢ä¿
+
+(1)å²è¾¼ã¿è¦å çªå·
+å²è¾¼ã¿è¦å ãå¤æ­å¾ã«ãå²è¾¼ã¿ãã³ãã©ãå¼ã³åºãããã®å¼æ°ã¨ãªãçªå·ã
+0 ã 7ã¯ãMIPS3å
+±éé¨ã«ããã¦ INTNO_IP0 ã INTNO_IP7 ã¨ãã¦å®ç¾©ãã¦ããã
+(mips3.h)
+ããã§ãã·ã¹ãã ä¾å­é¨ã§ã¯ã8çªä»¥éãå®ç¾©ããã
+
+(2)PUSH_ICU_IPM                 å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®å¾
+é¿
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ããã¹ã¿ãã¯ã¸ä¿å­ããã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããcpu_support.Så
+ã§ä½¿ç¨ããã
+å¤é¨ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå©ç¨ããªãã·ã¹ãã ã§ã¯ãç©ºã§å®ç¾©ãããã¨ã
+
+(3)POP_ICU_IPM                  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®å¾©å
+
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ããã¹ã¿ãã¯ããå¾©å
+ããã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããcpu_support.Så
+ã§ä½¿ç¨ããã
+å¤é¨ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå©ç¨ããªãã·ã¹ãã ã§ã¯ãç©ºã§å®ç¾©ãããã¨ã
+
+(4)PROC_INTERRUPT_SYS ã¾ãã¯ proc_interrupt_sys
+				å²è¾¼ã¿è¦å ã«å¯¾ããåãã³ãã©ã¸ã®åå²å¦ç
+
+ãæ©è½ã
+å²è¾¼ã¿è¦å ãå¤æ­ããé©åãªå²è¾¼ã¿ãã³ãã©ãå¼ã³åºãã
+å®è£
+æ¹æ³ã¯ããã¯ã­ï¼PROC_INTERRUPT_SYSï¼ã¾ãã¯ãé¢æ°å¼åºï¼proc_interrupt_sysï¼
+ã§è¡ããã¨ã¨ããã
+å
+·ä½çã«ã¯ãä»¥ä¸ã®ãããªãã­ã»ã¹ã§å®è£
+ãããã¨ã«ãªãã
+	1. å²è¾¼ã¿è¦å ã®å¤å¥
+	2. å²è¾¼ã¿ãã¹ã¯ï¼ã³ã¢ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ï¼ã®è¨­å®
+	3. å²è¾¼ã¿è¨±å¯
+	4. ï¼£è¨èªã«ã¼ãã³ã®å¼åº
+	5. å²è¾¼ã¿ç¦æ­¢
+	6. å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+       (7. join_interrupt_and_exceptionã«æ»ãã; é¢æ°å¼åºã®å ´å)
+å¼åºæã®å¼æ°ã¨ãã¦ã¯ãa1ã¬ã¸ã¹ã¿ã«ã¯å²è¾¼ã¿è¦æ±æã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®å¤
+ããã¾ããa2ã¬ã¸ã¹ã¿ã«ã¯åå ã¬ã¸ã¹ã¿ã®å¤ãä»£å
+¥ããã¦ããã®ã§ãããããå©
+ç¨ãããã¨ãã§ããã
+
+ãåèã
+ã»å®è£
+ã«ããã¦ã¯ãraã¬ã¸ã¹ã¿ã¯ç ´å£ãã¦ã¯ãªããªãã
+ã»å®è¡éåº¦ãªã©ã®è¦³ç¹ããããã¯ã­å®ç¾©ãåªå
+ããã
+ã»è©³ããã¯ãä¸è¨ã7.2 å²è¾¼ã¿ãã³ãã©ã®å¼åºå¦çã®å®è£
+ä¾ããåç
+§ã
+
+ã»å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+å¶å¾¡é¢ä¿
+
+(1)ICU_IPMå
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ã¤ãã¦ã®ãå²è¾¼ã¿ãã¹ã¯ãæ±ãããã®åã§ããã
+
+(2)CHECK_ICU_IPM                ICUã®å²è¾¼ã¿ãã¹ã¯IPMã®ãã§ãã¯ã«ã¼ãã³
+
+ãCè¨èªAPIã
+	CHECK_ICU_IPM(ICU_IPM p);
+
+ããã©ã¡ã¼ã¿ã
+	ICU_IPM	p		ãã§ãã¯ãã¹ã ICU_IPM ã®å¤
+
+ãæ©è½ã
+å²è¾¼ã¿ãã¹ã¯ p ããæ³å®ããã¦ããç¯å²ã«ãããã©ããããã§ãã¯ããã
+Cè¨èªã§å©ç¨ããããã¯ã­ã¨ãã¦å®ç¾©ãããCHECK_IPM ããå¼ã³åºãããã
+(pic_icu.h, vr4131_icu.h)
+
+(3)icu_set_ipm                  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãã¹ã¯è¨­å®
+
+ãCè¨èªAPIã
+	icu_set_ipm(ICU_IPM *icu_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ICU_IPM	icu_ipm		è¨­å®ãã¹ã ICU_IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ããicu_ipmã«è¨­å®ããã
+(pic_icu.h, vr4131_icu.h)
+
+(4)icu_get_ipm                  å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯åå¾
+
+ãCè¨èªAPIã
+	icu_get_ipm(ICU_IPM *icu_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ICU_IPM	icu_ipm		ç¾å¨ã® ICU_IPM ã®å¤
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãåå¾ããicu_ipmã¸ä¿å­ããã
+(pic_icu.h, vr4131_icu.h)
+
+(5)icu_set_ilv			å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãã¼ãã«
+				ã®è¨­å®
+
+ãCè¨èªAPIã
+	icu_set_ilv(INTNO intno, ICU_IPM *icu_ipm);
+
+ããã©ã¡ã¼ã¿ã
+        INTNO   intno           å²è¾¼ã¿ãã¹ã¯ãã¼ãã«ã®ã¤ã³ããã¯ã¹
+	ICU_IPM	icu_ipm		è¨­å®ããå²è¾¼ã¿ãã¹ã¯ã®å¤
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãã¼ãã«ã®ãintnoçªã«å²è¾¼ã¿ãã¹ã¯icu_ipm
+ãè¨­å®ãããall_set_ilvããå¼ã³åºãããã
+(pic_icu.h, vr4131_icu.h)
+
+7.2 å²è¾¼ã¿ãã³ãã©ã®å¼åºå¦çã®å®è£
+ä¾
+
+ä¸è¨ã¤ã³ã¿ãã§ã¼ã¹ã«åºã¥ããPROC_INTERRUPT_SYSã¾ãã¯proc_interrupt_sys
+ã®å®è£
+ä¾ã«ã¤ãã¦èª¬æãããã
+
+ãªããä»åã®å®è£
+ã«ããã¦ã¯ãå®è£
+ä¾ã¨ãã¦VR5500ã§ã¯proc_interrupt_sysé¢æ°
+ããVR4131ã§ã¯PROC_INTERRUPT_SYSãã¯ã­ãå®ç¾©ãã¦ããã
+(sys_support.S:VR5500, vr4131_icu.h:VR4131)
+
+ä»åã®å®è£
+ã«ããã¦ã¯ãã¿ã¼ã²ãããã¼ãã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®ä»æ§ãè¸ã¾ãã
+è¥å¹²ã®æ±ç¨æ§ãæãããå½¢ã§å®è£
+ãè¡ã£ã¦ããã
+
+åã
+ã®å¦çã«ã¤ãã¦ã³ã¡ã³ãããã¦ããã
+
+  1. å²è¾¼ã¿è¦å ã®å¤å¥
+
+  å²è¾¼ã¿è¦å ã®å¤å¥ã¯ã
+        ï¼ï¼MIPS3ã³ã¢å
+é¨ã®Causeã¬ã¸ã¹ã¿ã«åºã¥ãåå²
+        ï¼ï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«åºã¥ãåå²
+  ã®2æ®µéã§ã®åå²å¤æ­ãè¡ã£ã¦ããããã®ãã¡ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ã¤ãã¦
+  ã®åå²ã¯è¥å¹²ã®æ±ç¨æ§ãæãããããã«ãéåº¦ã¨ã®ãã¬ã¼ããªããèæ
+®ãã¦ã
+  PROC_INT(0:4)ãã¯ã­ãå®ç¾©ãããããªå®è£
+ãè¡ã£ã¦ããã
+  ä»åã®å®è£
+ã§ã¯ãPROC_INT0ã®ã¿ãå©ç¨ãããã¨ã¨ãã¦ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+  ã«é¢ããããããã¡ã¤ã«ï¼VR5500ã§ã¯ pic_icu.hãVR4131ã§ã¯ vr4131_icu.hï¼
+  ã«ã¦å®ç¾©ããã¦ããããªãããã®ãã¯ã­ã«ããã¦ã¯ãå²è¾¼ã¿è¦å çªå·ãt0ã¬ã¸ã¹
+  ã«ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ã®ããã®å®æ°ãt1ã¬ã¸ã¹ã¿ã«ä»£å
+¥ããã¦æ»ãã
+
+  (ããã«ãMIPS3ã³ã¢ã®å²è¾¼ã¿è¦æ±ãã¯ãªã¢ããããã®å¦çãå®è£
+ããã¦ããã
+   å
+·ä½çã«ã¯ãCauseã¬ã¸ã¹ã¿ã®ã¯ãªã¢ãè¡ã£ã¦ããã)
+
+  2. å²è¾¼ã¿ãã¹ã¯ï¼ã³ã¢ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ï¼ã®è¨­å®
+
+  å²è¾¼ã¿ãã¹ã¯ã®è¨­å®ã«ããã¦ã¯ãSET_ICU_IPMãã¯ã­ãå®ç¾©ããæ±ç¨æ§ãæã
+  ãã¦ããããã®ãã¯ã­ã®å®ç¾©ã¯ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«é¢ããããããã¡ã¤ã«
+  ï¼VR5500ã§ã¯ pic_icu.hãVR4131ã§ã¯ vr4131_icu.hï¼ã«ã¦å®ç¾©ããã¦ããã
+
+  3. å²è¾¼ã¿è¨±å¯
+
+  int_tableã®intmaskè¦ç´ ãããMIPS3ã³ã¢ã¸ã®å²è¾¼ã¿ãã¹ã¯ãåå¾ãããã®å¤ã
+  ã»ãããããã¨ã§å²è¾¼ã¿è¨±å¯ããã¦ããã
+
+  4. ï¼£è¨èªã«ã¼ãã³ã®å¼åº
+
+  t0ã¬ã¸ã¹ã¿ã«ä¿å­ããã¦ããå²è¾¼ã¿è¦å çªå·ãç¨ãã¦ãint_tableããå²è¾¼ã¿
+  ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾ãã¦ãå²è¾¼ã¿ãã³ãã©ãå¼ã³åºãã¦ããã
+
+  5. å²è¾¼ã¿ç¦æ­¢
+
+  å²è¾¼ã¿ç¦æ­¢ã¯ãStatusã¬ã¸ã¹ã¿ã®IEããããCPUã­ãã¯ç¶æ
+ã®å¤æ­ã«å©ç¨ãã¦
+  ããããã«ãæä½ãããã¨ãã§ããªãã®ã§ãåãStatusã¬ã¸ã¹ã¿ã®EXLããã
+  ãæä½ãããã¨ã§ãå®ç¾ãã¦ããã
+
+  6. å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
+
+  ãã®å¦çã¯ãå²è¾¼ã¿ãã³ãã©ã§è¡ããã¨ã§å¯¾å¿ããã®ã§ãå®è£
+ãã¦ããªãã
+
+ä»¥ä¸ã®ãããªå®è£
+ãè¡ã£ã¦ããããä»åã®proc_interrupt_sysã®å®è£
+ãå©ç¨ãã¦
+ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°ãè¡ãå ´åã®ã¤ã³ã¿ãã§ã¼ã¹ãä»¥ä¸ã«ã¾ã¨ããã
+
+(1) PROC_INT0                   å²è¾¼ã¿è¦å ã®å¤æ­
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+		t0		å²è¾¼ã¿è¦å çªå·
+		t1		å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°
+
+ãæ©è½ã
+MIPS3ã³ã¢ã®å²è¾¼ã¿è¦å IP2ã®è¦æ±ã«å¯¾å¿ããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®ãå²è¾¼ã¿è¦å ã
+å¤æ­ãããå²è¾¼ã¿è¦å ãå¤æ­å¾ã«ãt0ã«å²è¾¼ã¿è¦å çªå·ããt1ã«MIPS3ã³ã¢ç¨ã®å²
+è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°å
+¥ãã¦ãproc_ICU_IPMã«é£ã¶ã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+(2) PROC_INT1                   å²è¾¼ã¿è¦å ã®å¤æ­
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+		t0		å²è¾¼ã¿è¦å çªå·
+		t1		å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°
+
+ãæ©è½ã
+å²è¾¼ã¿è¦å IP3ã«å¯¾å¿ããå ´åãä»¥ä¸ãPROC_INT0ã¨åæ§ã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+(3) PROC_INT2                   å²è¾¼ã¿è¦å ã®å¤æ­
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+		t0		å²è¾¼ã¿è¦å çªå·
+		t1		å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°
+
+ãæ©è½ã
+å²è¾¼ã¿è¦å IP4ã«å¯¾å¿ããå ´åãä»¥ä¸ãPROC_INT0ã¨åæ§ã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+(4) PROC_INT3                   å²è¾¼ã¿è¦å ã®å¤æ­
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+		t0		å²è¾¼ã¿è¦å çªå·
+		t1		å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°
+
+ãæ©è½ã
+å²è¾¼ã¿è¦å IP5ã«å¯¾å¿ããå ´åãä»¥ä¸ãPROC_INT0ã¨åæ§ã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+(5) PROC_INT4                   å²è¾¼ã¿è¦å ã®å¤æ­
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+		t0		å²è¾¼ã¿è¦å çªå·
+		t1		å²è¾¼ã¿è¦æ±ã¯ãªã¢ã®ããã®å®æ°
+
+ãæ©è½ã
+å²è¾¼ã¿è¦å IP6ã«å¯¾å¿ããå ´åãä»¥ä¸ãPROC_INT0ã¨åæ§ã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+(6)SET_ICU_IPM                  å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®ãã¹ã¯è¨­å®
+
+ãæ©è½ã
+å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãè¨­å®ããã
+ã¢ã»ã³ãã©ã§æ¸ãããã¯ã­ã¨ãã¦å®ç¾©ããsys_support.S å
+ã§ä½¿ç¨ããã
+
+ãåèã
+ãã®ãã¯ã­ãå®ç¾©ããã¨ãã«ã¯ãt0ã¬ã¸ã¹ã¿ã¨t1ã¬ã¸ã¹ã¿ãç ´å£ãã¦ã¯ãªããªãã
+t0ã«ã¯ãå²è¾¼ã¿è¦å çªå·ãå
+¥ã£ã¦ãããt1ã«ã¯ãå²è¾¼ã¿è¦æ±ã¯ãªã¢ã®å®æ°ãå
+¥ã£
+ã¦ããã
+
+7.3 ãã®ä»
+
+ä¸è¨ã«ãã«ã¼ãã«ç§»æ¤ã«ã¯å¿
+è¦ã¯ç¡ãããç§»æ¤æã«åèã¨ãªããããªãã¯ã­ãªã©ã
+èª¬æããã
+
+(1)CHECK_IPM                	å²è¾¼ã¿ãã¹ã¯ã®ãã§ãã¯ãã¯ã­
+
+ãCè¨èªAPIã
+	CHECK_IPM(IPM p);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	p		ãã§ãã¯ãã¹ã IPM ã®å¤
+
+ãæ©è½ã
+å²è¾¼ã¿ãã¹ã¯ p ããæ³å®ããã¦ããç¯å²ã«ãããã©ããããã§ãã¯ããã
+Cè¨èªã§å©ç¨ããããã¯ã­ã¨ãã¦å®ç¾©ãããxxx_ipm å
+ã§å¼ã³åºãããã
+(cpu_config.h)
+
+
+å¤æ´å±¥æ­´
+
+2003å¹´12æ24æ¥ãJSPã«ã¼ãã« Release1.4 å¯¾å¿ (MIPS3çã®ãµãã¼ããéå§)
+2004å¹´ 2æ18æ¥ãèª¤æ¤ä¿®æ­£ã2.3.3ä¿®æ­£ã7.3è¿½å 
+2004å¹´ 3æ31æ¥ã3.4ä¿®æ­£ããï¼ï¼å¶éäºé 
+ãä¿®æ­£
+2004å¹´ 8æ 9æ¥ãèª¤æ¤ä¿®æ­£
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/nios2.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/nios2.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/nios2.txt	(revision 26)
@@ -0,0 +1,450 @@
+
+             ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                     ï¼Nios2 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.2 å¯¾å¿ãæçµæ´æ°: 10-Feb-2006ï¼
+                 ï¼NiosII Development Kit 5.1 å¯¾å¿ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+               Graduate School of Information Science, Nagoya Univ., JAPAN    
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: nios2.txt,v 1.6 2006/02/10 08:36:10 honda Exp $
+------------------------------------------------------------------------
+
+
+1. Nios2 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã 
+
+Nios2 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ãNios2 ããµãã¼ããã¦ã 
+FPGA ãæ­è¼ããã·ã¹ãã ããµãã¼ããã¦ãããã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ã
+ä»¥ä¸ã®ãã¼ãããµãã¼ããã¦ããããããã®ãã¼ããä½¿ç¨ããããéã«ã¯ãã
+ã¼ãã«ä»å±ãããã¶ã¤ã³ä¾ã® Standard ãããã¯ Full Featured ã FPGA ã«
+å®è£
+ããå¿
+è¦ãããï¼
+
+ ã»NiosII Development Board Cyclone Edition
+ ã»NiosII Development Board Stratix Edition
+ ã»NiosII Development Board Stratix Professional Edition 
+ ã»NiosII Development Board StratixII Edition
+
+1.2 éçºç°å¢ã¨å®è¡ç°å¢
+
+éçºç°å¢ã«ã¯ï¼NiosII Development Kitã«å«ã¾ãã¦ãã GCC ãªã©ã® GNUéçº
+ç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãããã¯ ELF ãæ¨æºã¨ããï¼
+
+ã«ã¼ãã«ã®ã³ã³ãã¤ã«åã³ãã¦ã³ã­ã¼ãã¯Eclipseãç¨ããã³ãã³ãã©ã¤ã³
+(Cygwinãããã¯NiosII SDK Shell)ããè¡ãï¼
+
+1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+Nios2 ä¾å­ã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ã
+ãµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦æ­¢ã»è¨±å¯(dis_int, ena_int)ããµãã¼ãããï¼
+ã¾ãï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxï¼get_ixx)ã¯ãµãã¼ããã¦ããªãï¼
+
+1.4 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+JSPã«ã¼ãã«ãåä½ãããã«ã¯ã64Kbyteç¨åº¦ã®ã¡ã¢ãªã¨ãæ¨æºã®TIMERã¨
+JTAG-UARTï¼ãããã¯UARTï¼ããããã1ã¤å¿
+è¦ã§ãããå®éã®ã³ã¼ãå¤æ´ç®æ
+ã«ã¤ãã¦ã¯å¾è¿°ããã
+
+
+2ï¼Nios2 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼Nios2 ä¾å­ã®é¨
+åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+signed intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼SOPC Builderã§ã«æå®
+ããå²è¾¼ã¿çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ unsigned intåã«å®ç¾©ãã
+ã¦ããï¼DEF_INH ã§ï¼å²è¾¼ã¿åªå
+åº¦ã¨ãã¦æå¹ã§ãªãå¤ãï¼å®éã®å²è¾¼ã¿åªå
+
+åº¦ã¨ã¯ç°ãªãçªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+Nios2 ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ã§ã¯ï¼æ¬¡ã®åæåå¦çã
+è¡ãï¼
+
+(A) å½ä»¤ã­ã£ãã·ã¥ã®åæå
+
+å½ä»¤ã­ã£ãã·ã¥ãå®è£
+ãã¦ããå ´åï¼initiã§å½ä»¤ã­ã£ãã·ã¥ãåæåããï¼
+
+(B) ãã¼ã¿ã­ã£ãã·ã¥ã®åæå
+
+ãã¼ã¿ã­ã£ãã·ã¥ãå®è£
+ãã¦ããå ´åï¼initiã§å½ä»¤ã­ã£ãã·ã¥ãåæåããï¼
+
+(C) ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæåã¨ã°ã­ã¼ãã«ãã¤ã³ã¿ã¼ã®è¨­å®
+
+ã¹ã¿ãã¯ãã¤ã³ã¿(sp)STACKTOPã«è¨­å®ãï¼æ¬¡ã«ã°ã­ã¼ãã«ãã¤ã³ã¿ã¼(gp)ã
+_gpã§åæåãã 
+
+(D) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(E) bssã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ãªãï¼dataã»ã¯ã·ã§ã³ã«ã¤ãã¦ã¯ï¼RAMã®ä½¿
+ç¨éãæ¸ããç®çã§ï¼ROMåã«å¯¾å¿ããåæåã¯è¡ã£ã¦ããªãï¼
+
+(F) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(G) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+2.5 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+Nios2 ä¾å­é¨ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ããµãã¼
+ããã¦ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ã¿ã¤ãã«ä¾çµ¦ããã¯ã­ãã¯ã«ã
+ã£ã¦æ±ºã¾ãï¼ãªãï¼SYSUTIMåã¯ UDåï¼64ãããã®ç¬¦å·ç¡ãæ´æ°åï¼ã«å®ç¾©ã
+ã¦ããï¼
+
+2.6 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+Nios2 ä¾å­é¨ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼UART ãããã¯ 
+JTAG-UART ããµãã¼ããã¦ããï¼UART ã¨ JTAG-UART ã®é¸æã¯ã·ã¹ãã ä¾å­é¨
+ã® sys_defs.h ã§ USE_JTAG_UART ãå®ç¾©ããã°ããã
+
+
+3. ã«ã¼ãã«ã®æ§ç¯æ¹æ³ & å®è¡æ¹æ³
+
+3.1 æ§ç¯æ¹æ³
+ã«ã¼ãã«ã®æ§ç¯ã«ã¯GUNéçºç°å¢ã®ä»ã«ï¼make ã perl ãå¿
+è¦ã¨ãªãï¼ãã®ã
+ãï¼Windows ã§ã¯ Cygwin ç°å¢ãããã¯ NiosII SDK Shell ãä½¿ç¨ããå¿
+è¦ã
+ãããNiosII SDK Shell ã¯ JSPã«ã¼ãã«ã®æ§ç¯ã«å¿
+è¦ãª perlã¹ã¯ãªããã§ä½¿
+ç¨ããã©ã¤ãã©ãªãç¨æããã¦ããããæ¨æºã®æ§ç¯æ¹æ³ã§ã¯æ§ç¯ã§ããªããä»¥
+ä¸ã§ã¯ãCygwin ç°å¢ã¨ NiosII SDK Shell ã«åãã¦èª¬æããã
+
+3.1.1 Cygwinç°å¢
+
+NiosII Development Kit ã«å«ã¾ãã¦ããã³ã³ãã¤ã©ç­ã®GNUãã¼ã«ã Cygwin 
+ããå¼ã³åºãããããã¹ãéãã
+
+    $nios2_install$/bin/nios2-gnutools/H-i686-pc-cygwin/bin/
+     ï¼$nios2_install$ ã¯ NiosII Development Kit ã®ã¤ã³ã¹ãã¼ã«ãã£ã¬ã¯ããªï¼
+
+å¾ã¯ãéå¸¸ã®æ§ç¯æé ï¼user.txt ã®7.3ããã®æ¹æ³ï¼ã«å¾ãã«ã¼ãã«ãæ§ç¯ã
+ãã
+
+3.1.2 NiosII SDK Shell ç°å¢
+
+NiosIIãµãã¼ããã¼ã¸ï¼http://www.ertl.jp/~honda/niosII/ï¼ãããä»¥ä¸ã®
+ãã¡ã¤ã«ããã¦ã³ã­ã¼ãããã
+
+   ã»ã³ã³ãã¤ã«æ¸ã¿ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ï¼cfg.exeï¼ã¨ãã§ãã«ã¼ï¼chk.exeï¼
+   ã»getopt.plã©ã¤ãã©ãª(perlã©ã¤ãã©ãª)
+
+ã«ã¼ãã«ã½ã¼ã¹ã³ã¼ããå±éããå¾ããã£ã¬ã¯ããª ./cfg ã«ã³ã³ãã¤ã«æ¸ã¿
+ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ï¼cfg.exeï¼ã¨ãã§ãã«ã¼ï¼chk.exeï¼ãã³ãã¼ããã
+
+getopt.pl ã¯ãNiosII SDK Shell ç°å¢ã§ perl ã©ã¤ãã©ãªã®åç
+§å
+ã«ã³ãã¼
+ããã
+    ä¾ : $quartus_install\sopc_builder\bin\perl_lib
+         ($quartus_install ã¯QuartusIIã®ã¤ã³ã¹ãã¼ã«å
+) 
+
+ã«ã¼ãã«ã½ã¼ã¹ã³ã¼ããå±éãããã£ã¬ã¯ããªã«ç´ä¸ã«ãã perlã¹ã¯ãªãã 
+./configure  ãéããget_objecté¢æ°å
+ãä»¥ä¸ã®ããã«æ¸ãæãã
+
+  ãªãªã¸ãã«
+	sub get_objext {
+	   	local(@uname);
+
+		use POSIX;
+		@uname = do uname();
+		if ($uname[0] =~ /^cygwin/i) {
+			return("exe");
+		}
+		else {
+			return("");
+    	}
+	 }
+
+   æ¸ãæãå¾
+	sub get_objext {	  
+		return("");
+	 }
+
+ä»¥ä¸ã®ä½æ¥­ã®å¾ãéå¸¸ã®æ§ç¯æ¹æ³ã«å¾ãã«ã¼ãã«ãæ§ç¯ãããä»¥ä¸ã¯ã«ã¼ãã«
+ã½ã¼ã¹ã³ã¼ããå±éãããã£ã¬ã¯ããªã§ã®ä½æ¥­ã®ä¾ã§ããã
+
+      ãã£ã¬ã¯ããªãä½æ
+        $makdir obj       
+        $cd obj
+
+      ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããå®è¡
+        $../configure -C nios2 -S altera_dev_board
+
+      ã«ã¼ãã«ãæ§ç¯
+        $make depned
+        $make 
+  
+ã«ã¼ãã«æ§ç¯å¾ããªãã¸ã§ã¯ããã¡ã¤ã« jsp.elf ãåºæ¥ã¦ããã°æ§ç¯ã¯æå
+ã§ããã
+
+
+3.2 å®è¡æ¹æ³
+
+Cygwin ãããã¯ NiosII SDK Shell ã®ã³ã³ã½ã¼ã«ãéããgdbserver ãå®è¡
+ããã
+    
+     $nios2-gdb-server --cable=USB-Blaster --tcpport=1234 -r
+
+JTAG-UART ãä½¿ç¨ããå ´åã¯ãnios2-terminalãå®è¡ããã
+
+     $nios2-terminal.exe --cable=USB-Blaster --instance=0
+
+ã«ã¼ãã«ãæ§ç¯ãããã£ã¬ã¯ããªã§ gdb ãå®è¡ãã¦ã«ã¼ãã«ããã¦ã³ã­ã¼ã
+ãã¦å®è¡ããã
+
+     $nios2-elf-gdb jsp.elf
+     (gdb)target remote localhost:1234
+     (gdb)load 
+     (gdb)continue
+
+
+4. ä»ã®ã¿ã¼ã²ãããã¼ãã¸ã®ãã¼ãã£ã³ã°
+
+4.1 ãã£ã¬ã¯ããªæ§æ
+
+éå¸¸ã®ã¿ã¼ã²ããã®å ´åã¯ï¼./config ä»¥ä¸ã§
+
+   ï¼ãã­ã»ããµï¼/ï¼ã¿ã¼ã²ãããã¼ã1ï¼
+                 /ï¼ã¿ã¼ã²ãããã¼ã2ï¼
+
+ã¨ããæ§æã§ãã£ã¬ã¯ããªãä½æããã¦ããï¼ï¼ãã­ã»ããµï¼ã¯ãã­ã»ããµã³
+ã¢ããã­ã»ããµããã±ã¼ã¸ããããICã«ããã±ã¼ã¸ããããã®ãç¤ºãï¼ãã­ã»ã
+ãµä¾å­é¨ã¨å¼ã¶ï¼ï¼ã¿ã¼ã²ãããã¼ãï¼ã¯ãã®ICãæ­è¼ãããã¼ãä¾å­ã®æ©è½
+ã«ã¤ãã¦ã®ã³ã¼ããç½®ãã¦ããå ´æã§ã¿ã¼ã²ããä¾å­é¨ã¨å¼ã¶ï¼ä¸æ¹
+Nios2 ã¯ï¼ã·ã¹ãã æ§æãèªç±ã«å¤æ´ã§ããããï¼ãã®ããã«æç¢ºãªåãå
+ãã¯ã§ããªãï¼ããã§ï¼JSPã«ã¼ãã«ãåä½ãããããã®å¿
+è¦æå°éã®æ§æã
+ãã­ã»ããµä¾å­é¨ã¨ãã¦ï¼ãã­ã»ããµï¼ã«ç½®ãï¼ãã­ã»ããµä¾å­é¨ã¨ãã¦ã®ï¼
+JSPã«ã¼ãã«ãåä½ãããããã®æå°æ§æãä»¥ä¸ã«ç¤ºãï¼
+
+ ã»ãã­ã»ããµ
+ ã»ã¡ã¢ãª(64kbyteç¨åº¦)
+ ã»TIMER
+ ã»UART ãããã¯ JTAG UART
+
+UARTã¨JTAG UARTã¯æä»çã«ä½¿ç¨å¯è½ã§ããããã£ãã©ã«ãã§ã¯JTAG-UARTãä½¿
+ç¨ããããã«ãã¦ãããUART ãä½¿ç¨ããå ´åã¯ãsys_defs.h ã§ 
+USE_JTAG_UART ãæªå®ç¾©ã«ãããã¨ï¼ããä»¥å¤ã®æ©è½ã®ã³ã¼ãã¯ã¿ã¼ã²ããä¾
+å­é¨ã¨ãã¦ï¼ï¼ã¿ã¼ã²ãããã¼ãï¼ä»¥ä¸ã®ãã£ã¬ã¯ããªã«é
+ç½®ããï¼
+
+é
+å¸ããã±ã¼ã¸ã«å«ã¾ãã¦ããã¿ã¼ã²ããä¾å­é¨ãä»¥ä¸ã«ç¤ºãï¼
+
+  ã»./altera_dev_board
+      NiosII Development Boardç¨
+
+
+4.2 ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+
+    æ°ããªã·ã¹ãã ã§JSPã«ã¼ãã«ãåä½ãããå ´åã¯ï¼ä¸è¨ã® NiosII 
+    Development Board ç¨ã®ã¿ã¼ã²ããä¾å­é¨ã®ãã¡ã¤ã«ããå¯¾è±¡ã¨ããã·ã¹
+    ãã æ§æã«ãããã¦æ¸ãæããã°ããï¼ã·ã¹ãã ã«åããã¦ç·¨éããå¿
+è¦
+    ãããé 
+ç®ãä»¥ä¸ã«ç¤ºãï¼
+
+      ã»./sys_defs.h
+        STACKTOP    : ã¹ã¿ãã¯åæã¢ãã¬ã¹
+        TIMER_CLOCK : ã¿ã¤ãã¼ã¯ã­ãã¯
+        TIC_NUME    : ã¿ã¤ã ãã£ãã¯å¨æã®åå­
+        TIC_DENO    : ã¿ã¤ã ãã£ãã¯å¨æã®åæ¯
+        TIM_BASE    : TIMERã®ãã¼ã¹ã¢ãã¬ã¹
+        UART_BASE   : UARTãã¼ã¹ã¢ãã¬ã¹
+        TIM_INTLVL  : TIMERã®å²è¾¼ã¿çªå·
+        UART_INTLVL : UARTã®å²è¾¼ã¿çªå·
+        NIOS2_ICACHE_SIZE        : å½ä»¤ã­ã£ãã·ã¥ãµã¤ãº
+        NIOS2_DCACHE_SIZE        : ãã¼ã¿ã­ã£ãã·ã¥ãµã¤ãº
+        NIOS2_ICACHE_LINE_SIZE   : å½ä»¤ã­ã£ãã·ã¥ã©ã¤ã³ãµã¤ãº
+        NIOS2_DCACHE_LINE_SIZE   : ãã¼ã¿ã­ã£ãã·ã¥ã©ã¤ã³ãµã¤ãº
+
+      ã»./Makefile.config
+        COPTS              : ã³ã³ãã¤ã«ãªãã·ã§ã³
+        LIBS               : ã©ã¤ãã©ãªæå®
+        LDFLAGS            : ãªã³ã«ãªãã·ã§ã³
+        TEXT_START_ADDRESS : TEXTã»ã¯ã·ã§ã³ã®ã¹ã¿ã¼ãã¢ãã¬ã¹
+        DATA_START_ADDRESS : DATAã»ã¯ã·ã§ã³ã®ã¹ã¿ã¼ãã¢ãã¬ã¹
+        
+        Nios2 ã®ã³ã³ãã¤ã©ãªãã·ã§ã³ã¨ãã¦ã¯ä»¥ä¸ã®ãã®ãããã
+            -mno-hw-mul  : ä¹ç®å¨ãªã
+            -mno-hw-div  : é¤ç®å¨ãªã
+            -mhw-mul     : ä¹ç®å¨ãã   
+            -mhw-div     : é¤ç®å¨ãã
+        
+      ã»./nios2elf.l
+        NiosII IDC(Eclipse)ã§ãµã³ãã«ãã­ã°ã©ã ãæ§ç¯ããã¨çæããã
+        ãªã³ã¯ã¹ã¯ãªãã
+
+          xxx_syslib/Debug/system_description/generated.x
+
+        ã«ä»¥ä¸ã®è¡ãè¿½å ãã¦ä½¿ç¨ããã
+
+          PROVIDE(_hardware_init_hook = 0);
+          PROVIDE(_software_init_hook = 0);
+          PROVIDE(software_term_hook = 0);
+
+    
+        ä¾å¤ã®ã¨ã³ããªã³ã¼ãã¯ï¼.exceptionã«é
+ç½®ããããã«æ¸ããã¦ãã
+        ããï¼ãªã³ã«ã¹ã¯ãªããã§ã¯ï¼ãã®ã»ã¯ã·ã§ã³ãæ­£ãããã­ã»ããµã®
+        ä¾å¤ã¨ã³ããªã«é
+ç½®ããå¿
+è¦ãããï¼
+          
+              .exceptions :
+              {
+                  . = ALIGN(0x20);
+                  *(.irq)
+                  KEEP (*(.exceptions));
+              } > sdram
+
+
+5ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+Nios2 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/nios2/
+        Makefile.config    Makefile ã® Microblazeä¾å­å®ç¾©
+        cpu_defs.h         ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        cpu_config.h       ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+        cpu_config.c       ãã­ã»ããµä¾å­é¨ã®é¢æ°
+        cpu_support.S      ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+        cpu_context.h      ã³ã³ãã­ã¹ãæä½
+        makeoffset.c       offset.h çæãµãã¼ããã­ã°ã©ã 
+        cpu_insn.h         ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+        start.S            ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+        cpu_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        cpu_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        cpu_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        nios2.h            Nios2 ã®å®ç¾©
+        nios2.c            Nios2 ç¨ã³ã¼ã
+        hw_serial.h        UART/JATG-UARTãã©ã¤ã
+        hw_serial.cfg      UART/JATG-UARTãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+        hw_timer.h         ã¿ã¤ãæä½ã«ã¼ãã³
+        tool_defs.h        éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+        tool_config.h      éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+
+    config/nios2/altera_dev_board
+        Makefile.config    Makefile ã® MIREF ä¾å­å®ç¾©
+        nios3elf.l         ãªã³ã«ã¹ã¯ãªãã
+        sys_defs.h         ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_config.h       ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_config.c       ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_support.S      ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+
+5.2 ãµãã¼ã
+
+ãã°ç­ãçºè¦ããå ´åã¯ toppers-users ã® ML ã«å ±åãããã¯ï¼Nios2 ä¾å­
+é¨ã®éçºè
+ã®ä»¥ä¸ã®ã¡ã¼ã«ã¢ãã¬ã¹ã«é£çµ¡ãã¦é ããã
+
+  honda@ertl.jp
+
+ã¾ãï¼ä»¥ä¸ã®ãã¼ã¸ã«é¢é£æ
+å ±ãæ²è¼ãã¦ããã
+
+  http://www.ertl.jp/~honda/nios2
+
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/powerpc32.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/powerpc32.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/powerpc32.txt	(revision 26)
@@ -0,0 +1,1943 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    		    ï¼PowerPC32 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+	    ï¼Release 1.4.1 å¯¾å¿ãæçµæ´æ°: 07-Oct-2004ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2001-2004 by Industrial Technology Institute,
+                             Miyagi Prefectural Government, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ãFree Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ããä»¥
+ ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éããæ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ ã¢ãæ¹å¤ãããã®ãå«ããä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ã
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããã
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ãä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºããã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãããã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ã
+ (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+     ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ãå©ç¨
+     ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ãä¸è¨ã®èä½æ¨©è¡¨ç¤ºã
+     ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ã
+ (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+     ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ãæ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ã
+   (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ãä¸è¨ã®èä½
+       æ¨©è¡¨ç¤ºããã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ã
+   (b) å©ç¨ã®å½¢æ
+ããå¥ã«å®ããæ¹æ³ã«ãã£ã¦ãä¸è¨èä½æ¨©è
+ã«å ±åãã
+       ãã¨ã
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ããããä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ã
+
+ æ¬ã½ããã¦ã§ã¢ã¯ãç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ãããä¸è¨èä½æ¨©è
+ã¯ã
+ æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ããã®é©ç¨å¯è½æ§ãå«ãã¦ããããªãä¿è¨¼ãè¡ã
+ ãªããã¾ããæ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ ããªãæå®³ã«é¢ãã¦ãããã®è²¬ä»»ãè² ããªãã
+------------------------------------------------------------------------
+
+ï¼. PowerPC32 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+PowerPC32ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ãä»¥ä¸ã®ãã­ã»ããµããµ
+ãã¼ããã¦ããã
+
+ã»MPC860T (ã¢ãã­ã¼ã©)
+
+ãµãã¼ããã¦ãããã¼ãã¯ãä»¥ä¸ã®éãã§ããã
+
+ã»(æ ª)ã¿ã³ããã¯è£½ TB6102S(CPU:MPC860T)
+
+éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ãããã¯ ELF ãæ¨æºã¨ããã
+
+ãã£ã¬ã¯ããªæ§æãä»¥ä¸ã«ç¤ºããPowerPCçã§ã¯ã·ã¹ãã ä¾å­é¨ã§ä¸é¨ãã­
+ã»ããµä¾å­ï¼ä¸»ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ï¼è¡ã£ã¦ããããã®ããããã­ã»ã
+ãµä¾å­é¨ã¨ã·ã¹ãã ä¾å­é¨ã¨ããè¡¨è¨ã¯èª¤è§£ãæããããã®ã§ãä»¥å¾ã$CPU
+ãã£ã¬ã¯ããªã¨$SYSãã£ã¬ã¯ããªã¨ããè¡¨è¨ãç¨ããã
+
+ã$CPU=powerpc32ãã£ã¬ã¯ããª
+ãããPowerPCå
+±éé¨
+ããããPowerPCã¢ã¼ã­ãã¯ãã£ã«ãã£ã¦è¦å®ããã¦ããç¯å²å
+ã§
+ããããå®è£
+ã§ããé¨å
+ãããããã¹ã¦ã®PowerPCç³»ãã­ã»ããµã§å
+±éã«ä½¿ç¨ã§ããã
+ãããã
+ã$SYSãã£ã¬ã¯ããª
+ãããå¾æ¥ã®ãã¼ãä¾å­é¨ï¼ã·ã¹ãã ä¾å­é¨ï¼
+ãããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ãããã¿ã¤ããã©ã¤ã
+ãããã·ãªã¢ã«ãã©ã¤ã
+
+ã¾ããThe IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åãã®ã·ã¹ãã 
+ä¾å­é¨ã®ãµã³ãã«ã³ã¼ããã¬ãã¡ã¬ã³ã¹ç¨ã«å«ãã§ãããããã¡ãã¯åä½ç¢ºèª
+ãã¦ããªããï¼ããã¤ã¹ä¾å­ã®å®ç¾©ãé©å®ãè¿½å ããå¿
+è¦ããããï¼
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+PowerPC32ã¿ã¼ã²ããä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ipmã
+get_ipm)ã¨ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ã
+ããå²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã¯ãµãã¼ããã¦ããªãã
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+PowerPCã¢ã¼ã­ãã¯ãã£ã¯ãã­ã»ããµã»ã³ã¢ã®é¨åã®ã¿ãè¦å®ããã¦ãããã
+ã®ã³ã¢ãç¨ãããã­ã»ããµãååå°ä½ã¡ã¼ã«ã¼ããè£½ååããã¦ãããå²è¾¼ã¿
+ã³ã³ãã­ã¼ã©ã®ä»æ§ãåã¤ã³ããªã¡ã³ãã¼ã·ã§ã³æ¯ã«ç°ãªã£ã¦ãããããå²è¾¼
+ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å¦çã¯$SYSãã£ã¬ã¯ããªï¼ã·ã¹ãã ä¾å­é¨ï¼ã«åé¢ãã
+ã¦ãããä»ã®PowerPCã¢ã¼ã­ãã¯ãã£ã»ãã­ã»ããµã¸ãã¼ãã£ã³ã°ããå ´åã¯
+$SYSãã£ã¬ã¯ããªä»¥ä¸ãä¿®æ­£ããã°ããã
+ãã¼ãã£ã³ã°ã®å·¥æ°ã¯å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ã¢ã¼ã­ãã¯ãã£ã«ä¾å­ããã
+ï¼å
+·ä½çãªä¿®æ­£é 
+ç®ã¯ã7. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±ããåç
+§ï¼
+
+ãªããä»åã¯PowerPC 32ãããã¢ã¼ã­ãã¯ãã£ãå¯¾è±¡ã«ã«ã¼ãã«ã®å®è£
+ãè¡ã£
+ãã
+
+1.4 GDB ã¹ã¿ã
+
+ç¾å¨ã® TOPPERS/JSPã«ã¼ãã« PowerPC32çã¯ROMåã®ã¿ããµãã¼ããã¦ããã
+å°æ¥ãGDBã¹ã¿ãã¨çµã¿åããã¦ä½¿ç¨ãããã¨ãèæ
+®ãã¦ãä»æ©ç¨®çã®JSPã«ã¼
+ãã«ã¨åæ§ã«ã½ã¼ã¹ã³ã¼ãå
+ã«GDB_STUBãã¯ã­ã«ããæ¡ä»¶ã³ã³ãã¤ã«ã®è¨­å®ã
+è¡ã£ã¦ããã
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã·ãªã¢ã«ãã¼ããï¼ã¤ä½¿ç¨ããã
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯
+  ã»8ããã
+  ã»ããªãã£ãªã
+  ã»ã¹ããããããï¼1ããã
+  ã»ãã¼ã¬ã¼ãï¼9600bps
+ã§ããã
+
+ãªãããã¼ã¬ã¼ãã«ã¤ãã¦ã¯ãBAUD_RATEãã¯ã­ã«ã¦å®ç¾©ãã¦ããã®ã§å¿
+è¦ã«
+å¿ãã¦å¤æ´ãããã¨ãã§ããã
+(user_config.h)
+
+1.6 ã¨ã³ãã£ã¢ã³
+
+åã¿ã¼ã²ããã¯ãã£ããã¹ã¤ããã«ããã¨ã³ãã£ã¢ã³ãå¤æ´ãããã¨ãå¯è½ã§
+ãããããã«åããã¦ãã«ã¼ãã«ã®ã¨ã³ãã£ã¢ã³ã®è¨­å®ã¯åã·ã¹ãã ä¾å­é¨ã§
+å¤æ´å¯è½ã§ãããã¨ã³ãã£ã¢ã³ã¯ä»¥ä¸ã®åæã§è¨­å®ããã
+
+ ã»$SYSãã£ã¬ã¯ããªã® Makefile.config 
+    ã³ã³ãã¤ã«ãªãã·ã§ã³
+    ã-mbigï¼ããã°ã»ã¨ã³ãã£ã¢ã³
+    ã-mlittleï¼ãªãã«ã»ã¨ã³ãã£ã¢ã³
+
+ ã»ã·ã¹ãã å®ç¾©ï¼user_config.hï¼
+    SIL_ENDIAN
+    ãSIL_ENDIAN_BIGï¼ããã°ã»ã¨ã³ãã£ã¢ã³
+    ãSIL_ENDIAN_LITTLEï¼ãªãã«ã»ã¨ã³ãã£ã¢ã³
+    
+  æ³¨æ
+  ããªãã«ã»ã¨ã³ãã£ã¢ã³ã§ã®åä½ç¢ºèªã¯è¡ã£ã¦ããªã
+
+
+ï¼. PowerPC32ã¿ã¼ã²ããä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãPowerPC32ã¿ã¼
+ã²ããä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããã
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããã
+
+2.2 ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­æ§ã®è¨è¿°æ¹æ³ã«ã¤ãã¦
+
+PowerPC32ã¢ã¼ã­ãã¯ãã£ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãè¦å®ãã¦ããªããããåã¤
+ã³ããªã¡ã³ãã¼ã·ã§ã³ã«ãã£ã¦å²è¾¼ã¿å¦çãç°ãªããããã§PowerPC32ä¾å­é¨
+ã®å®è£
+ã§ã¯ã$CPUãã£ã¬ã¯ããªç´ä¸ã«ã¯PowerPC32ã¢ã¼ã­ãã¯ãã£ã§è¦å®ãã
+ã¦ããå
+å®¹ã®ã¿ãè¨è¿°ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ï¼ç¹ã«å²ãè¾¼ã¿ã³ã³ã
+ã­ã¼ã©ä¾å­ï¼ã®å¦çã¯$SYSãã£ã¬ã¯ããªã§å®ç¾©ãã¦ããã
+ä»åå©ç¨ããã¿ã¼ã²ããä»¥å¤ã«ç§»æ¤ããããã®å²è¾¼ã¿å¦çã«é¢ããã¤ã³ã¿
+ãã§ã¼ã¹æ
+å ±ã¯ããã®ææ¸ã®æå¾ã«ã7. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±ãã¨ãã¦
+ã¾ã¨ãã¦è¨è¼ãã¦ããã®ã§åç
+§ã®ãã¨ã
+
+2.3 å²è¾¼ã¿ç®¡çæ©è½
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ã NMIãããããã£ã¦ãCPUã­ãã¯ç¶æ
+ãå
+æåã«ã¼ãã³å
+ã§ã¯ãNMI ä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ãããå
+·ä½çã«ã¯ã
+MSR(Machine Status Register)ã®EEãããã0ã«è¨­å®ãããã
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ããã­ã»ããµã®ãã¼ãã¦ã§
+ã¢ã®è¡¨è¨ã«åããããã¨ãååã¨ããã
+
+å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
+åº¦å¶å¾¡ã®ããã®ãå®ç¾©ã»APIã¯ä»¥ä¸ã®éãã§ããã
+
+(1) IPMå
+ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãæ±ãããã®åã§ããã
+(sys_defs.h)
+
+(2) define_ipm         	ããããå²è¾¼ã¿åä»æã®å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+ããããããããããããããããï¼ãªãã·ã§ã³ï¼
+ãCè¨èªAPIã
+        define_ipm(INHNO inhno, IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	INHNO inhno		å²è¾¼ã¿ãã³ãã©çªå·
+	IPM ipm			å²è¾¼ã¿ãã¹ã¯
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãæ©è½ã
+ãå²è¾¼ã¿ãã³ãã©çªå·inhnoã®å²è¾¼ã¿ãåãä»ããã¨ãã«å²è¾¼ã¿
+ãã³ã³ãã­ã¼ã©ã®IPMã«è¨­å®ããå¤ãå®ç¾©ãããå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ããå¤éå²è¾¼ã¿ã®ã¬ãã«å¶å¾¡ããã¼ãã¦ã§ã¢ã§ãµãã¼ããã¦ããã°ã
+ãã½ããã¦ã§ã¢ã§ãã®ãããªæºåãããå¿
+è¦ã¯ãªãã
+ãããã¤ã¹ãã©ã¤ãã®åæåå¦çã§ä½¿ç¨ããããã¨ãæ³å®ãã¦ãã
+  (sys_config.h)
+
+2.4 chg_ipmã®ãµãã¼ãã«ã¤ãã¦
+
+PowerPC32ã¢ã¼ã­ãã¯ãã£ä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²ãè¾¼ã¿
+ãã¹ã¯ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã« chg_ipm ã¨ãåç
+§ããããã®
+ãµã¼ãã¹ã³ã¼ã« get_ipm ããµãã¼ããã¦ããããªããå²ãè¾¼ã¿ãã¹ã¯ããã
+ã®å¤ãè¡¨ããã¼ã¿å IPM ã¯ã$SYSãã£ã¬ã¯ããªã«ã¦å®ç¾©ããã¦ããã
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ãããchg_ipm ã«ãã ä½ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦
+ããç¶æ
+ã«ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ããããchg_ipm ã«ããå¤æ´ã
+ã IPM ã®å¤ã¯ããã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶ããããä¾ãã°ãããã¿ã¹
+ã¯ã§ IPM ã 0x01 ã«å¤æ´ããå¾ãä½ããã®å²è¾¼ã¿ã«ããå¥ã®ã¿ã¹ã¯ã«åãæ¿
+ããã¨ãåãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ã IPM ã¯ 0x01 ã«ãªãã
+
+chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããããããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+SUPPORT_CHG_IPM ã¯ãuser_config.h ã®ä¸­ã§ #define ããã¦ããã
+
+PowerPC32ã¿ã¼ã²ããä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼
+ã«ã®ä»æ§ã¯æ¬¡ã®éãã
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX			ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR			ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+ãå²è¾¼ã¿ãã¹ã¯ã ipm ã§æå®ãããå¤ã«è¨­å®ãããæå®ããå¤ãå²è¾¼ã¿ã³ã³
+ããã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®ç¯å²å
+ã«å
+¥ã£ã¦ããªãå ´åã«ã¯E_PARã¨ã©ã¼ãè¿
+ããã
+ãã¾ããè¨­å®ããIPMã®å¤ã¯ããã£ã¹ãããå¾ãå¼ãç¶ãããã
+ã
+ããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿
+ãå¼ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºã
+ããå ´åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	*p_ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX			ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ãç¾å¨ã® å²è¾¼ã¿ãã¹ã¯ã®å¤ãèª­ã¿åºããp_ipmãæãç¤ºãé åã«æ¸ãè¾¼ãã
+ã
+ããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿
+ãå¼ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºã
+ããå ´åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+ã
+ããªãããã¬ã¼ã¹ã­ã°æ©è½ã«é¢ãã¦ãchg_ipmã«é¢ããé¨åã¯ã·ã¹ãã ä¾å­é¨
+ãã«ã¦å®ç¾©ãè¡ã£ã¦ããã
+ã(sys_tool_config.h)
+
+
+2.5 ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ã®å®ç¾©
+
+2.5.1 MPC860Tä¾å­ã®å®ç¾©
+
+(1) å²è¾¼ã¿çªå·
+     mpc860t.hã§å®ç¾©ãã¦ããã
+     
+                       ï¼SIUå²è¾¼ã¿ã½ã¼ã¹ï¼
+        å²è¾¼ã¿çªå·  ï½      ãã¯ã­å    ï½  å²è¾¼ã¿è¦å  
+      ââââââââââââââââââââââââââââ
+             0x0    ï½    INTNO_IRQ0    ï½  IRQ0
+             0x1    ï½    INTNO_LVL0    ï½  å
+é¨ã¬ãã«0
+             0x2    ï½    INTNO_IRQ1    ï½  IRQ1
+             0x3    ï½    INTNO_LVL1    ï½  å
+é¨ã¬ãã«1
+             0x4    ï½    INTNO_IRQ2    ï½  IRQ2
+             0x5    ï½    INTNO_LVL2    ï½  å
+é¨ã¬ãã«2
+             0x6    ï½    INTNO_IRQ3    ï½  IRQ3
+             0x7    ï½    INTNO_LVL3    ï½  å
+é¨ã¬ãã«3ï¼ã¿ã¤ãã§ä½¿ç¨ï¼
+             0x8    ï½    INTNO_IRQ4    ï½  IRQ4
+             0x9    ï½    INTNO_LVL4    ï½  å
+é¨ã¬ãã«4ï¼CPMã§ä½¿ç¨ï¼
+             0xa    ï½    INTNO_IRQ5    ï½  IRQ5
+             0xb    ï½    INTNO_LVL5    ï½  å
+é¨ã¬ãã«5
+             0xc    ï½    INTNO_IRQ6    ï½  IRQ6
+             0xd    ï½    INTNO_LVL6    ï½  å
+é¨ã¬ãã«6
+             0xe    ï½    INTNO_IRQ7    ï½  IRQ7
+             0xf    ï½    INTNO_LVL7    ï½  å
+é¨ã¬ãã«7
+      ââââââââââââââââââââââââââââ
+
+                       ï¼CPMå²è¾¼ã¿ã½ã¼ã¹ï¼
+        å²è¾¼ã¿çªå·  ï½      ãã¯ã­å    ï½  å²è¾¼ã¿è¦å  
+      ââââââââââââââââââââââââââââ
+            0x10    ï½    INTNO_ERR     ï½  ã¨ã©ã¼
+            0x11    ï½    INTNO_PC4     ï½  ãã©ã¬ã«I/O PC4
+            0x12    ï½    INTNO_PC5     ï½  ãã©ã¬ã«I/O PC
+            0x13    ï½    INTNO_SMC2    ï½  SMC2/PIP
+            0x14    ï½    INTNO_SMC1    ï½  SMC1
+            0x15    ï½    INTNO_SPI     ï½  SPI
+            0x16    ï½    INTNO_PC6     ï½  ãã©ã¬ã«I/O PC6
+            0x17    ï½    INTNO_TIMER4  ï½  ã¿ã¤ã4
+            0x18    ï½                  ï½  äºç´æ¸ã¿
+            0x19    ï½    INTNO_PC7     ï½  ãã©ã¬ã«I/O PC7
+            0x1a    ï½    INTNO_PC8     ï½  ãã©ã¬ã«I/O PC8
+            0x1b    ï½    INTNO_PC9     ï½  ãã©ã¬ã«I/O PC9
+            0x1c    ï½    INTNO_TIMER3  ï½  ã¿ã¤ã3
+            0x1d    ï½                  ï½  äºç´æ¸ã¿
+            0x1e    ï½    INTNO_PC10    ï½  ãã©ã¬ã«I/O PC10
+            0x1f    ï½    INTNO_PC11    ï½  ãã©ã¬ã«I/O PC11
+            0x20    ï½    INTNO_I2C     ï½  I2C
+            0x21    ï½    INTNO_RISC    ï½  RISCã¿ã¤ããã¼ãã«
+            0x22    ï½    INTNO_TIMER2  ï½  ã¿ã¤ã2
+            0x23    ï½                  ï½  äºç´æ¸ã¿
+            0x24    ï½    INTNO_IDMA2   ï½  IDMA2
+            0x25    ï½    INTNO_IDMA1   ï½  IDMA1
+            0x26    ï½    INTNO_SDMA    ï½  SDMAãã£ãã«ãã¹ã¨ã©ã¼
+            0x27    ï½    INTNO_PC12    ï½  ãã©ã¬ã«I/O PC12
+            0x28    ï½    INTNO_PC13    ï½  ãã©ã¬ã«I/O PC13
+            0x29    ï½    INTNO_TIMER1  ï½  ã¿ã¤ã1
+            0x2a    ï½    INTNO_PC14    ï½  ãã©ã¬ã«I/O PC14
+            0x2b    ï½    INTNO_SCC4    ï½  SCC4
+            0x2c    ï½    INTNO_SCC3    ï½  SCC3
+            0x2d    ï½    INTNO_SCC2    ï½  SCC2
+            0x2e    ï½    INTNO_SCC1    ï½  SCC1
+            0x2f    ï½    INTNO_PC15    ï½  ãã©ã¬ã«I/O PC15
+      ââââââââââââââââââââââââââââ
+
+ãããSIUï¼System Interface Unit
+ãããCPMï¼Communication Processor Module
+
+(2) å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯
+
+MPC860Tã§ã¯ãã­ã»ããµã«å
+èµã®ã·ã¹ãã ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ã¦ãããSIUã¨
+éä¿¡ãã­ã»ããµã»ã¢ã¸ã¥ã¼ã«CPMãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãæã£ã¦ããã
+ãã®2ã¤ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãã«ã¹ã±ã¼ãæ¥ç¶ããã¦ããã
+ä»åã®å®è£
+ã§ã¯ãSIUã®å²è¾¼ã¿ãã¹ã¯ï¼SIUå²è¾¼ã¿ãã¹ã¯ã¬ã¸ã¹ã¿SIMASKï¼ã®ã¿
+ã«ã¼ãã«ã§ç®¡çãã¦ãããCPMã«ã¤ãã¦ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå¤éå²è¾¼ã¿ã®
+ã¬ãã«å¶å¾¡ããã¼ãã¦ã§ã¢ã§ãµãã¼ããã¦ãããã«ã¼ãã«ã§ã¯CPMå²è¾¼ã¿ãã¹
+ã¯ãç®¡çãã¦ããªãã
+IPMåã®å®ç¾©ã¯
+ãtypedef UH IPM;
+ã§ãããï¼sys_defs.hï¼
+ã¾ããCPMããSIUã¸ã®å²è¾¼ã¿è¦æ±ã¬ãã«ã¯4ã«è¨­å®ããã¦ããã
+ï¼user_config.hã®ãã¯ã­CPM_INT_LEVELï¼
+
+(3) ã«ã¼ãã«ã§ä½¿ç¨ãã¦ããããã¤ã¹ï¼å²è¾¼ã¿è¦å ï¼
+ãããã»MPC860Tå
+èµã®å¨æå²è¾¼ã¿ã¿ã¤ãPITï¼å
+é¨ã¬ãã«3ï¼
+ãããã»MPC860Tå
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³ãã³ã³ãã­ã¼ã©SMC1
+ããããï¼CPMå²è¾¼ã¿ã®ä¸ç¨®ãªã®ã§ãå
+é¨ã¬ãã«4ï¼
+
+(4) åããã¤ã¹ã®å²è¾¼ã¿åªå
+åº¦
+  åªå
+åº¦ : (ä½) ã·ãªã¢ã«SMC1ï¼ã¬ãã«4ï¼ > ã¿ã¤ãPITï¼ã¬ãã«3ï¼ (é«)
+ããã
+
+
+2.5 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXCã§æå®ããCPUä¾å¤è¦å çªå·(excno)ã¯ãPowerPCã¢ã¼ã­ãã¯ãã£ã§è¦å®
+ãããCPUä¾å¤è¦å çªå·ã¨ä¸å¯¾ä¸ã«å¯¾å¿ãã¦ããã
+ãã®ãã¼ã¿å(EXCNO)ã¯ UINTåã«å®ç¾©ããã¦ããã
+
+DEF_EXCã§ä¾å¤è¦å çªå·ã¨ãã¦æå¹ã§ãªãå¤ãCPUä¾å¤ã«å¯¾å¿ããªãçªå·ãæå®
+ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+CPUä¾å¤è¦å çªå·ããã¯ã­åãCPUä¾å¤è¦å ã®å¯¾å¿é¢ä¿ãä»¥ä¸ã«ç¤ºãã
+
+ 1. EXC_NO_SYSTEM_RESETã     ã·ã¹ãã ãªã»ããä¾å¤
+ 2. EXC_NO_MACHINE_CHECK      ãã·ã³ã»ãã§ãã¯ä¾å¤
+ 3. EXC_NO_DSI                DSIä¾å¤
+                              ï¼ãã¼ã¿ã»ã¡ã¢ãªã»ã¢ã¯ã»ã¹ï¼ 
+ 4. EXC_NO_ISI                ISIä¾å¤ï¼å½ä»¤ãã§ããï¼
+ 5. EXC_NO_EXTERNAL_INTERRUPT å¤é¨å²è¾¼ã¿
+ 6. EXC_NO_ALIGNMENT          ã¢ã©ã¤ã¡ã³ãä¾å¤
+ 7. EXC_NO_PROGRAM            ãã­ã°ã©ã ä¾å¤
+ 8. EXC_NO_FLOATING_POINT_UNAVAILABLE 
+                              æµ®åå°æ°ç¹ä½¿ç¨ä¸å¯
+ 9. EXC_NO_DECREMENTER        ãã¯ãªã¡ã³ã¿ä¾å¤
+10. EXC_NO_IMPLEMENT_EXCEPTION_00A00
+                              ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x00a00
+12. EXC_NO_SYSTEM_CALL        ã·ã¹ãã ã³ã¼ã«
+13. EXC_NO_TRACE              ãã¬ã¼ã¹ï¼ãªãã·ã§ã³ï¼
+14. EXC_NO_FLOATING_POINT_ASSIST
+                              æµ®åå°æ°ç¹è£å©
+
+15çªä»¥éã«ãã­ã»ããµæ¯ã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ï¼0x01000ï¼ã
+å®ç¾©ããã¦ããå ´åãããã
+
+
+(1) CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°p_excinf
+ãCPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿
+ãå­ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ããããã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãã
+
+p_excinf -->  --------------------
+             |       r0           | 
+              --------------------
+             |       r3           |
+              --------------------
+             |       r4           |
+              --------------------
+             |       r5           |
+              --------------------
+             |       r6           |
+              --------------------
+             |       r7           |
+              --------------------
+             |       r8           |
+              --------------------
+             |       r9           |
+              --------------------
+             |       r10          |
+              --------------------
+             |       r11          |
+              --------------------
+             |       r12          |
+              --------------------
+             |       srr0         | /*   å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿0ã*/
+              --------------------
+             |       srr1         | /*   å¾
+é¿ï¼å¾©å¸°ã¬ã¸ã¹ã¿1ã*/
+              --------------------
+             |       lr           | /*   ãªã³ã¯ã»ã¬ã¸ã¹ã¿ ãã*/
+              --------------------
+             |       ctr          | /*   ã«ã¦ã³ãã»ã¬ã¸ã¹ã¿ã */
+              --------------------
+             |       cr           | /*   ã³ã³ãã£ã·ã§ã³ã»ã¬ã¸ã¹ã¿ */
+              --------------------
+             |       xer          | /*   æ´æ°ãªãã¬ã¼ã·ã§ã³ã®ã*/
+              --------------------  /*       æ¡ä»¶è­å¥ã¬ã¸ã¹ã¿  */
+             |       exc_no       | /*   ä¾å¤è¦å çªå·  */
+              --------------------
+             
+(2) æªç»é²ã®CPUä¾å¤çºçæã®å¦ç
+ãæªç»é²ã®CPUä¾å¤ãçºçããå ´åã¯ã«ã¼ãã«ãç¨æãã¦ããããã©ã«ãã®ã¨
+ãã©ã¼å¦çãè¡ããå
+·ä½çã«ã¯CPUä¾å¤çºçæã®ã¬ã¸ã¹ã¿ã®å
+å®¹ã¨CPUä¾å¤è¦å 
+ããã­ã°åºåããç¡éã«ã¼ãã«å
+¥ãã
+
+
+2.6 æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿
+             
+PowerPC32ã§ã¯ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ããªãã·ã§ã³ã§å®ç¾©ããã¦ããã
+ã«ã¼ãã«ãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ããµãã¼ãããå®è£
+ãè¡ã£ã¦ããããå®æ©ã§ã®
+åä½ãã¹ããè¡ã£ã¦ããªããï¼ãã¼ãã£ã³ã°ã«ç¨ããMPC860Tãæµ®åå°æ°ç¹ã¬
+ã¸ã¹ã¿ãåãã¦ããªãããï¼
+(cpu_support.S)
+
+2.7 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+PowerPC32ã¿ã¼ã²ããã§ã¯ãä¾å¤ãã¯ã¿ã®ä¸ã¤ã«ããªã»ããä¸¦ã³ã« NMI(Non 
+Maskable Interrupt)ç¨ã®ãã¯ã¿ã¢ãã¬ã¹ãåãã¦ããããã®ã¢ãã¬ã¹ããã®
+ã¸ã£ã³ãå
+ãã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¨ãªã£ã¦ããã
+
+ãã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ãã­ã»ããµã®åæå
+
+ãã·ã³ã¹ã»ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ãåæåãããã­ã»ããµã®åä½ã¢ã¼ããè¨­å®
+ããã
+
+æ¬¡ã«ãã¹ã¿ãã¯ãã¤ã³ã¿(r1)ã STACKTOPã«è¨­å®ãããããã§å²è¾¼ã¿ã¹ã¿ãã¯
+ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ãã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹
+ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ãããã
+STACKTOPã¯ãsys_config.hé¨ã§å®ç¾©ãããã¨ãæ³å®ãã¦ããã
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ãä¸è¬ã«ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã·
+ã¹ãã ä¾å­ã®åæåãè¨è¿°ãããã®ã¨ãããï¼ä¾ï¼ãã¹ã¹ãã¼ãã»ã³ã³ãã­ã¼
+ã©ã®åæåãã­ã£ãã·ã¥ã®åæåãã¦ã©ããããã°ã¿ã¤ãã®åæåãªã©ï¼
+è¨è¿°å ´æã¯ãsys_support.Sãæ¨æºã¨ããã
+
+hardware_init_hook ãã©ãã«ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ã
+ã«ã0ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(C) bssã»ã¯ã·ã§ã³ã¨dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããã
+
+dataã»ã¯ã·ã§ã³ãåæåãããROMåå¯¾å¿ã®ããã«ãROMããRAM ã¸ã³ãã¼ãè¡
+ãã
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ãã
+ã¦ã§ã¢ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ã
+ã«ã0ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+
+ï¼. ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãuser_config.h ä¸­
+ã®TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ã
+ãã
+ãã ããã¿ã¤ãã®ç²¾åº¦ãä¾çµ¦ã¯ã­ãã¯ã«ä¾å­ãããããã¿ã¤ãã®ä¾çµ¦ã¯ã­ãã¯
+åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããå ´åã«ã¯ãisig_tim ã®å¼åºãå¨æã«èª¤å·®ãç
+ãããã¨ã«ãªãã
+
+ããã©ã«ãã§ã¯ãä¸è¨ã®ã¿ã¤ããå©ç¨ãã¦ããã
+(a) MPC860Tä¾å­é¨
+  MPC860Tå
+èµã®å¨æå²è¾¼ã¿ã¿ã¤ãPIT
+  ï¼ä¾çµ¦ã¯ã­ãã¯å¨æ³¢æ° 12.5MHzï¼
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+PowerPC32ã¿ã¼ã²ããä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+(vxget_tim)ããµãã¼ããã¦ãããSYSUTIMåã¯UDå(64ãããã®ç¬¦å·ç¡ãæ´æ°
+å)ã§å®ç¾©ãã¦ããã
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ä¾çµ¦ã¯ã­ãã¯åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤ã
+èª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ãå¼ã¶
+åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãã
+ã¾ããSUPPORT_VXGET_TIMã¨ãããã¯ã­ã«ããããããã®ãµã¼ãã¹ã³ã¼ã«ããµ
+ãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+(SUPPORT_VXGET_TIM ã¯ãuser_config.h ã®ä¸­ã§ #define ããã¦ããã)
+
+(a) MPC860Tä¾å­é¨
+ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯80nsecã§ããã
+  ï¼ã¿ã¤ãã¸ã®ä¾çµ¦ã¯ã­ãã¯å¨æ³¢æ° 12.5MHzï¼
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+(a) MPC860T
+ãã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ãMPC860Tå
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³
+ããã»ã³ã³ãã­ã¼ã©SMC1ããµãã¼ããã¦ãããã·ãªã¢ã«ã®ãµãã¼ããããã¼ã
+ãæ°ã¯ç¾ç¶1chã§ãããuser_config.h ã®ä¸­ã§TNUM_PORTãã¯ã­ã«ã¦å®ç¾©ãã¦ã
+ããã
+
+3.4 ã¡ã¢ãªããã
+
+ã¡ã¢ãªãããã«é¢ããè¨­å®ã¯ããªã³ã«ã¹ã¯ãªããã«ã¦è¡ããã³ã³ãã¤ã«æã«å©
+ç¨ãããªã³ã«ã¹ã¯ãªããã¯$SYS/Makefile.configã§æå®ããã
+
+åã
+ã®ã¡ã¢ãªãããã¯ä»¥ä¸éãã§ããã
+
+(a) MPC860T
+ã»(æ ª)ã¿ã³ããã¯è£½ TB6102S
+
+(a-1) ROMåã®å ´åï¼DBGENV = ROMï¼ï¼mpc860elf.ld
+                                             (SDRAM 16Mbyte)
+	 0x00000100 - 0x00001fff  ä¾å¤ãã¯ã¿
+         0x00002000 -             ãã¼ã¿é å
+		    - 0x01000000  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+
+                                             (FLASH ROM 2Mbyte)
+         0x10000100 - 0x100001ff  ãªã»ãããã¯ã¿
+         0x10000200 - 0x10001fff  ä¾å¤ãã¯ã¿ã®å
+ãã¼ã¿
+         0x10002000 -             ã³ã¼ãé å
+		    - 0x10400000  å¤æ°ã®åæå¤ãã¼ã¿
+
+åè
+ãæ¬æ¥ã§ããã°ããªã»ããç´å¾ã¯0x00000100çªå°ããå®è¡ãéå§ãããã¨ãã
+ããããã®ãã¼ãã®å ´åã¯ä»¥ä¸ã®2ã¤ã®çç±ããFlash ROMã®å
+é ­+0x100çªå°
+ãï¼ï¼0x10000100çªå°ï¼ããå®è¡ãå§ã¾ãã
+ãã(1) ãã¹ã»ã¹ãã¼ãã»ã³ã³ãã­ã¼ã©ãåæåãããã¾ã§ã¯ããã¹ã¦ã®ã¢ã¯
+ããããã»ã¹ãã¡ã¢ãªã»ãã³ã¯0ï¼Flash ROMï¼ã«ãããããã
+ãã(2) ãªã»ããæã«ã¢ãã¬ã¹ãã¹ã®A20ä¿¡å·ãä¸æ´»æ§ã«ãªã£ã¦ããã
+
+
+(a-2) RAMä¸ã«ãã¹ã¦ãã¦ã³ã­ã¼ãããå ´å
+ããï¼DBGENV = DOWNLOAD_TO_RAMï¼ï¼ram_mpc860elf.ld
+
+                                             (SDRAM 16Mbyte)
+	 0x00000100 - 0x00001fff  ä¾å¤ãã¯ã¿
+         0x00002000 -             ã³ã¼ãé å
+		    -             å¤æ°ã®åæå¤ãã¼ã¿
+         0x00800000 -             ãã¼ã¿é å
+		    - 0x01000000  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯
+
+åè
+ãï¼JTAGãããã°ãã¼ã«ãªã©ã§ï¼ãããã°ã®éã«ãæ¯åãã­ã°ã©ã ãFlash 
+ãRONã«æ¸ãè¾¼ãã§ããã¨ä½æ¥­å¹çãæªããããã§ãã­ã°ã©ã ã®ãã¦ã³ã­ã¼ã
+ãæéãç­ãããããããã¹ã¦ã®ãã­ã°ã©ã ãRAMä¸ã«ããããããªã³ã¯ã¹ã¯
+ããªãããç¨æãã¦ããã$SYS/Makefile.configã§DBGENV = DOWNLOAD_TO_RAM
+ããé¸æããã¨å¿
+è¦ãªãã¯ã­å®ç¾©ãè¿½å ããã¨å
+±ã«ããªã³ã¯ã¹ã¯ãªããã«
+ãram_mpc860elf.ldãæå®ãããããã¹ã»ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®åæåå¦ç
+ããFlash ROMã«æ¸ãè¾¼ãã§ãããããã¾ã§å®è¡ããæç¹(*1)ã§ãã­ã°ã©ã ã
+ããã¦ã³ã­ã¼ããã¦0x100çªå°ããå®è¡ãéå§ããã
+
+(*1) ROMåã®è¨­å®ã§ãã«ããããã®ãFlash ROMã«æ¸ãè¾¼ãã§ããã
+ãã sys_support.Sã®ã©ãã«copy_exception_vectorè¡ã¾ã§å®è¡ãããã°è¯ãã
+
+
+
+ï¼. éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ã
+ãªããã¿ã¼ã²ããç°å¢ <TARGET> ã®å¤ã«ã¤ãã¦ã¯ãä»¥ä¸ãåèã®ãã¨ã
+éçºã«ã¯Windows2000 SP4ä¸ã®Cygwinãç¨ããã
+
+åä½ç¢ºèªã¯ãä¸è¨ã®ãã¼ã«ã«ã¦ç¢ºèªãã¦ããããã®ãã¼ã«ãããã©ã«ãã¨ããã
+
+ã»GNUããé
+å¸ããã¦ãããªãªã¸ãã«ã®GCCãªã©ãã½ã¼ã¹ããæ§ç¯ãããã¼ã«
+  åä½ç¢ºèªãè¡ã£ãã¨ãã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããã
+    BINUTILS : 2.13.2.1
+    GCC-CORE : 2.95.3
+    NEWLIB   : 1.11.0
+ï¼ãã®å ´åã®ã¿ã¼ã²ããç°å¢ <TARGET> ã«ã¯ãpowerpc-elf ãç¨ãããï¼
+
+ã»The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£ç¨ã®ã·ã¹ãã ä¾å­é¨
+ãã®ãµã³ãã«ã³ã¼ãï¼ã¬ãã¡ã¬ã³ã¹å®è£
+ï¼ã¯ã¶ã¤ãªã³ã¯ã¹ç¤¾è£½EDK6.2ã«å«ã¾ã
+ããGNUãã¼ã«(gcc-2.95.3ç¸å½)ã«ã¦ã³ã³ãã¤ã«ãéãã¨ããã¾ã§ç¢ºèªãã¦ããã
+ãEDKã«å«ã¾ããGNUãã¼ã«ãCygwinããä½¿ç¨ããæ¹æ³ã¯ä¸è¨ã®URLãåç
+§ã
+ããhttp://www.ertl.jp/~honda/microblaze/index.html
+
+ï¼. å¶éäºé 
+
+
+ã»64ãããã»ã¢ã¼ãã¯ãµãã¼ããã¦ããªãã
+ãï¼æ¡å¼µã¯æ¯è¼çå®¹æã¨æããããï¼
+
+ã»æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®éé¿ï¼å¾©å
+ã¯å®æ©ãã¹ããã¦ããªãã
+ãï¼ãã¼ãã£ã³ã°ã«ç¨ããMPC860Tãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãåãã¦ããªãããï¼
+
+ã»ãªãã«ã»ã¨ã³ãã£ã¢ã³ã»ã¢ã¼ãã§ã®å®æ©ãã¹ããè¡ã£ã¦ããªãã
+
+ã»ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããªã³ã¯ã¹ã¯ãªããã¯ãC++ã«å¯¾å¿ãã¦ããªãã
+
+ã»SIL_LOC_INT()ã«ã¤ãã¦
+ãPowerPCçã§ã¯SIL_LOC_INT()ã®å®è£
+ã¯CPUã­ãã¯ã¨åãå®ç¾æ¹æ³ãç¨ãã¦ã
+ããããã®ãããSIL_LOC_INT()ã§å²è¾¼ã¿ç¦æ­¢ãã¦ããåºéã§ã¯ãsns_loc()
+ãåã³vxsns_loc()ã§CPUã­ãã¯ç¶æ
+ã¨å¤å¥ããã¦ãã¾ãã
+ãJSPã«ã¼ãã«ã§ã¯å
+ã
+ãå²è¾¼ã¿ã­ãã¯ä¸­ã«ã¯ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ã§ããªãã¨
+ãè¦å®ãã¦ããã®ã§ãå½±é¿ã¯å°ãªãã¨æãããã
+ãï¼jsp/user.txtã®ã5.1.1 å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡ãåç
+§ï¼
+
+ã».sdataããã³.sbssã»ã¯ã·ã§ã³ã«ã¤ãã¦
+ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããã³ãªã³ã¯ã¹ã¯ãªããã.sdataããã³.sbssã»ã¯
+ãã·ã§ã³ã«å¯¾å¿ãã¦ããªããã¾ããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã§ãã«ã¼ã
+ã.sdataããã³.sbssã»ã¯ã·ã§ã³ã®ã¡ã¢ãªãããã³ã°ã«å¯¾å¿ãã¦ããªãã
+
+ã»The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£ã«ã¤ãã¦
+ãã·ã¹ãã ä¾å­é¨ã®ãµã³ãã«ã³ã¼ããã¬ãã¡ã¬ã³ã¹ç¨ã«å«ãã§ããããåä½
+ãç¢ºèªãã¦ããªããï¼ã³ã³ãã¤ã«ãéãã¨ããã¾ã§ã¯ç¢ºèªãã¦ãããï¼
+ãå®éã«åä½ãããã«ã¯ããã¤ã¹ä¾å­ã®å®ç¾©ãé©å®ãè¿½å ããå¿
+è¦ãããã
+
+ï¼. ãã®ä»
+
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+PowerPC32 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/powerpc32/
+        PowerPC32å
+±éé¨
+
+	Makefile.config		Makefileã®PowerPC32ã¿ã¼ã²ããä¾å­ã®å®ç¾©
+	cpu_defs.h		ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_config.h		ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_config.c		ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_support.S		ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_insn.h		ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	cpu_context.h		ã³ã³ãã­ã¹ãæä½
+	cpu_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	vea_oea.h		ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ç¨å®ç¾©
+	vea_oea_emb.h		The IBM PowerPC Embedded Environment
+				ã¢ã¼ã­ãã¯ãã£ç¨å®ç¾©
+	tool_defs.h		éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	tool_config.h		éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	powerpc32.h		PowerPC32ã®ã¬ã¸ã¹ã¿åãªã©ã®å®ç¾©
+	start.S			ã¹ã¿ã¼ãã¢ããã»ã«ã¼ãã³
+	makeoffset.c		offset.h çæãµãã¼ããã­ã°ã©ã 
+
+    config/powerpc32/mpc860t/
+        MPC860T(ã¢ãã­ã¼ã©)å¯¾å¿ã·ã¹ãã ä¾å­é¨
+          ((æ ª)ã¿ã³ããã¯è£½ TB6102Så¯¾å¿)
+
+	Makefile.config		Makefileã®TB6102Sã·ã¹ãã ä¾å­å®ç¾©
+	user_config.h		ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+	sys_defs.h		ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S		ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	sys_tool_config.h	éçºç°å¢ä¾å­é¨ã®ã·ã¹ãã ä¾å­é¨æ§æå®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	mpc860t.h   		MPC860Tã®ãã¼ãã¦ã§ã¢å®ç¾©
+	mpc860_sil.h   		MPC860Tç¨ã¢ã¯ã»ã¹ã»ã«ã¼ãã³ã®å®ç¾©
+	tb6102s.h   		TB6102Sãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	mpc860_pit.h		MPC860Tå
+èµå¨æå²è¾¼ã¿ã¿ã¤ãPITã®
+				æä½ã«ã¼ãã³
+	hw_serial.h		SIOãã©ã¤ã
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	mpc860_smc.h		MPC860Tå
+èµã·ãªã¢ã«ã»ããã¼ã¸ã¡ã³ã
+				ã³ã³ãã­ã¼ã©SMC1ã®æä½ã«ã¼ãã³
+	mpc860_smc.c		åä¸
+	
+	mpc860elf.ld		ãªã³ã«ã¹ã¯ãªããï¼ROMåç¨ï¼
+	mpc860elf_ram.ld	ãªã³ã«ã¹ã¯ãªããï¼ãããã°ç¨ï¼
+
+    config/powerpc32/ibm_ppc_emb_sample/
+        The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£å¯¾å¿
+        ã·ã¹ãã ä¾å­é¨ã®ãµã³ãã«ã³ã¼ã
+
+	Makefile.config		Makefileã®ã·ã¹ãã ä¾å­å®ç¾©
+	user_config.h		ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+	sys_defs.h		ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+          			(å¿
+è¦ãªãã¯ã­å®ç¾©ã®ãµã³ãã«)
+	sys_config.c		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S		ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	sys_tool_config.h	éçºç°å¢ä¾å­é¨ã®ã·ã¹ãã ä¾å­é¨æ§æå®ç¾©
+				ï¼GNUéçºç°å¢ç¨ï¼
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	pit.h			ã¿ã¤ãããã¤ã¹ã®æä½ãã¼ãã³
+	hw_serial.h		SIOãã©ã¤ã
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	smc.h			ã·ãªã¢ã«ããã¤ã¹ã®æä½ã«ã¼ãã³
+	smc.c			åä¸
+	sample_elf.ld		ãªã³ã«ã¹ã¯ãªããï¼ROMåç¨ï¼
+
+6.2 ã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®
+
+PowerPCä¾å­é¨ã§ã¯ãã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®ãã·ã¹ãã ä¾å­é¨ã®ï¼ã¤ã®ãã¡ã¤ã«
+Makefile.configã¨user_config.hã«ã¾ã¨ãã¦ãããã¦ã¼ã¶ã¼ã¯ã«ã¼ãã«å
+é¨ã«
+ç«ã¡å
+¥ããªãã¦ããããç¨åº¦ãè¨­å®ãå¤æ´å¯è½ã«ãã¦ããã
+
+6.2.1 Makefile.configã®è¨­å®é 
+ç®
+
+ã»å®è¡ç°å¢
+ãå¤æ°DBGENVã®è¨­å®ã«ããå®è¡ç°å¢ãé¸æããã
+ããã»DBGENV=ROMï¼ROMå
+ããã»DBGENV=GDB_STUBï¼GDB stubï¼æªãµãã¼ãï¼
+ããã»DBGENV=DOWNLOAD_TO_RAM
+ãããããããã°ç¨ã«ãã­ã°ã©ã ããã¹ã¦RAMé åã«ãããã³ã°ããè¨­å®
+ããããï¼TB6101Sãã¼ãåºæï¼
+
+ã»ã¨ã³ãã£ã¢ã³
+    ã³ã³ãã¤ã«ãªãã·ã§ã³ï¼å¤æ°COPTSï¼ã¨ãã¦æå®ãã
+    ã-mbigï¼ããã°ã»ã¨ã³ãã£ã¢ã³
+    ã-mlittleï¼ãªãã«ã»ã¨ã³ãã£ã¢ã³
+
+  æ³¨æ
+  ããªãã«ã»ã¨ã³ãã£ã¢ã³ã§ã®åä½ç¢ºèªã¯è¡ã£ã¦ããªã
+
+ã»ã¡ã¢ãªãããã³ã°
+ããã»TEXT_START_ADDRESSï¼textã»ã¯ã·ã§ã³ã®å
+é ­ã¢ãã¬ã¹
+ããã»DATA_START_ADDRESSï¼dataã»ã¯ã·ã§ã³ã®å
+é ­ã¢ãã¬ã¹
+
+6.2.2 user_config.hã®è¨­å®é 
+ç®
+
+user_config.hå
+ã§ä»¥ä¸ã®ãã¯ã­å®ç¾©ãè¡ããã¨ã«ãããè¨­å®ãå¤æ´ã§ããã
+
+(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+
+ã»SUPPORT_CHG_IPM
+ããchg_ipm()ãæå¹ã«ããã
+
+ã»SUPPORT_VXGET_TIM
+ããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½vxget_tim()ãæå¹ã«ããã
+
+ã»SIL_ENDIAN
+    ã»SIL_ENDIAN_BIGï¼ããã°ã»ã¨ã³ãã£ã¢ã³
+    ã»SIL_ENDIAN_LITTLEï¼ãªãã«ã»ã¨ã³ãã£ã¢ã³
+
+ã»SUPPORT_POWER_MANAGEMENT
+ãããã­ã»ããµãä½æ¶è²»é»åã¢ã¼ããåãã¦ããã
+ããï¼MSRã®POWããããæå¹ï¼
+ããå®è¡å¯è½ãªã¿ã¹ã¯ãï¼ã¤ããªãå²è¾¼ã¿å¾
+ã¡ã«ãªãã¨ãããã­ã»ããµã
+ããä½æ¶è²»é»åã¢ã¼ãã«ç§»è¡ãããã
+ãããã¯ã­SAVE_POWPERã®èª¬æãåç
+§ã
+
+ã»USE_MULTIPLE_WORD_LOAD_STORE
+ããã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ã«æ´æ°ã­ã¼ãï¼ã¹ãã¢ã»ãã«ããã«å½ä»¤ã
+ããä½¿ç¨ããã
+ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ã«ãã£ã¦ã¯åç­ã®å¦çãè¡ãã­ã¼ãï¼ã¹ãã¢å½ä»¤
+ããããããã£ã¦é
+ããªãã®ã§æ³¨æ
+
+ã»ABSOLUTE_JUMP_EXC_ENTRY
+ããä¾å¤ãã¯ã¿ã®é
+ç½®ã«ãã£ã¦ã¯ãä¾å¤ãã¯ã¿ããtextã»ã¯ã·ã§ã³ã«ããç¶ã
+ããã®å¦çã«åå²ããéãbå½ä»¤ã«ããPCç¸å¯¾åå²ï¼åå¾0x07ff,ffffï¼ã§ã¯å±
+ããããªãå ´åããããABSOLUTE_JUMP_EXC_ENTRYãã¯ã­ãå®ç¾©ããã¨çµ¶å¯¾çª
+ããå°ãæå®ãã¦åå²ããå®è£
+ã«åãæ¿ããããã®åé¡ãåé¿ã§ããã
+
+(2) å¤ãè¨­å®ãããã¯ã­
+
+ã»STACKTOP
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+
+ã»SYSTEM_CLOCK
+ããã·ã¹ãã ã¯ã­ãã¯[MHz]
+
+ã»INTLVL_TIMER
+ããã¿ã¤ãã®å²è¾¼ã¿ã¬ãã«
+ãã
+ããããMPC860Tåºæã
+ãããããSIUã®å
+é¨ã¬ãã«ãè¡¨ã
+
+ã»TIC_NUME
+ã»TIC_DENO
+ããã¿ã¤ãå²è¾¼ã¿ã«ããisig_tim()ãå¼ã³åºãããå¨æ[msec]
+ããããããåå­ãåæ¯ãè¡¨ãã
+ããconfig.txtã®
+ããã(3) ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ãããåç
+§
+
+ã»INTLVL_SERIAL
+ããã·ãªã¢ã«ã®å²è¾¼ã¿ã¬ãã«
+
+ããããMPC860Tåºæã
+ãããããã·ãªã¢ã«ã®å²è¾¼ã¿ã¬ãã«ã ãåå¥ã«è¨­å®ã§ããã
+ãããããCPM_INT_LEVELï¼å¾è¿°ï¼ã«ãã£ã¦æ±ºå®ããã
+
+ã»BAUD_RATE
+ããã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ã
+ãã9600, 19200, 38400[bps]ç­ã®æ°å¤ã§å®ç¾©ããã
+
+ã»ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ããã»TNUM_PORT
+ããããGDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ããããï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ããã»TNUM_SIOP
+ããããPDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ããããï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ããã»LOGTASK_PORTID
+ããããã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+
+
+6.2.2.1ããªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®é 
+ç®
+
+(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+
+ã»SUPPORT_FLOATING_POINT_REG
+ãããã­ã»ããµãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãåãã¦ããã
+ãããã£ã¹ãããã£ã§æµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ãè¡ãã
+
+ããï¼ç§»æ¤ã«ç¨ããMPC860Tãæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãåãã¦ããªãããï¼
+ãããã®ãªãã·ã§ã³ã¯å®æ©ãã¹ããè¡ã£ã¦ããªãã
+ããã¾ããæ¬æ¥ã¯8ãã¤ãã»ã¢ã©ã¤ã¡ã³ãã«åãããã¹ãã ãããã®ç¹ãå¯¾å¿ã§
+ãããã¦ããªãã
+ã
+ããå²è¾¼ã¿ã«ã¼ãã³ãCPUä¾å¤ã«ã¼ãã³ããã³ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å
+ã§
+ããæµ®åå°æ°ç¹ã¬ã¸ã¹ã¿ãä½¿ç¨ããå ´åã¯ãåã«ã¼ãã³å´ã§æµ®åå°æ°ç¹
+ããã¬ã¸ã¹ã¿ã®å¾
+é¿ï¼å¾©å
+ãè¡ããã¨ã
+
+ã»IMPLEMENT_EXCEPTION_00A00
+ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x00a00ãä½¿ç¨ããã
+ããå¦çå
+å®¹ã®å®ä½ã¯0xaçªç®ã®CPUä¾å¤ãã³ãã©ã¨ãã¦ç»é²ãããã¨ã
+ã
+ãåè
+ããã»CPUä¾å¤çªå·0xaã¯ãã¯ã­EXC_NO_IMPLEMENT_EXCEPTION_00A00
+ãããã¨ãã¦ãå®ç¾©ãã¦ããã
+ããã»ç»é²ããCPUä¾å¤ãã³ãã©å
+ã§ã¯ãéå¸¸ã®CPUä¾å¤ãã³ãã©ã¨
+ãããåæ§ã«ã«ã¼ãã«ã®æ©è½ãå©ç¨ãããã¨ãã§ããã
+
+6.2.2.2ãThe IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®é 
+ç®
+  è©³ç´°ã¯ã7.5.6 IBMç³»PowerPCå¯¾å¿ã«ã¤ãã¦ãã®é 
+ãåç
+§
+
+(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ãã»SUPPORT_IBM_PPC_EMB_APU
+  ããAPUãããã¤ã¹ã«å®è£
+ããã¦ãããã¨ãç¤ºãã
+  ããï¼APUï¼Auxiliary Processor Unitï¼
+
+(2) å¤ãè¨­å®ãããã¯ã­
+ãã»NUM_IMPLEMENT_EXCEPTION
+ããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã«å®ç¾©ãããä¾å¤å¦çã®æ¬æ°
+ããï¼ã«ã¼ãã«ã«ç»é²ããCè¨èªã«ã¼ãã³ã®æ¬æ°ï¼
+
+6.2.2.3ãMPC860Tåºæã®è¨­å®é 
+ç®
+
+(1) æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã©ã°ã¨ãã¦ç¨ãããã¯ã­
+ãã»SIL_DEBUG
+ãããSILãä½¿ç¨ããã¨ãã®ã­ã°æ©è½ãæå¹ã«ããï¼ãããã°ç¨ï¼
+ãããå
+·ä½çã«ã¯SILãçµç±ããããã¤ã¹ã¸ã®ã¢ã¯ã»ã¹ã­ã°ãä½ã¬ãã«æå­åº
+ãããåã«ã¼ãã³sys_putc()ãä»ãã¦ã¡ã¢ãªä¸ã®å°ç¨ã®ã¨ãªã¢ã«è¨é²ããã
+ãããBOOLåã®ã°ã­ã¼ãã«å¤æ°sil_debug_onãTRUEã«è¨­å®ããæç¹ããSILã®
+ãããã¢ã¯ã»ã¹ã­ã°æ©è½ãæå¹ã«ãªããï¼sil_mpc860.hãã¤ã³ã¯ã«ã¼ãããã¨
+ãããsil_debug_onãexternå®£è¨ããããï¼
+ããã
+ãããSILã®ã­ã°æ©è½ã¯å
+é¨ã§ã«ã¼ãã«æ¨æºã®ã­ã°æ©è½ãä½¿ç¨ãã¦ããããã
+ãããæ¬ã­ã°æ©è½ã®åºåãã©ã®éè¦åº¦ã®åºåã«å²ãå½ã¦ããã¯æ³¨æãå¿
+è¦ã§ã
+ãããããï¼user.txtã®ã4.4 ã­ã°æ
+å ±ã®éè¦åº¦ãåç
+§ï¼
+ãããä¾ãã°ãéè¦åº¦LOG_EMERGãSILã®ã­ã°åºåã«å²ãå½ã¦ãå ´åããµã³ãã«
+ããããã­ã°ã©ã ã®è¨­å®ã§ã¯éè¦åº¦LOG_EMERGã¯å²è¾¼ã¿é§åã®ã·ãªã¢ã«åºåã¨
+ãããä½ã¬ãã«æå­åºåã®ä¸¡æ¹ã«åºåããè¨­å®ã«ãªã£ã¦ããã®ã§ããã®ç®çã§
+ãããä½¿ãå ´åã«ã¯é©ããªããï¼ã­ã°åºåæã«ããã«ã­ã°ãçºçããã­ã°åºå
+ããããæ­¢ã¾ããªããªããï¼æ¬æ©è½ãæå¹ã«ããå ´åã¯ä¸è¨ã®ããã«SILã®ã­ã°
+ãããæ©è½ãå²ãå½ã¦ãéè¦åº¦ã®ã­ã°ãå²è¾¼ã¿é§åã§ã·ãªã¢ã«åºåããªããªã
+ããããããªè¨­å®ãæ¨å¥¨ããã
+ããã
+ãããè¨­å®ä¾ï¼SILã®ã­ã°æ©è½ãéè¦åº¦ LOG_EMERGã«å²ãå½ã¦ãå ´å
+ããããvmsk_log(LOG_UPTO(LOG_INFO) & ~LOG_MASK(LOG_EMERG), 
+ãããããããããLOG_UPTO(LOG_EMERG));
+ããã
+ãããã¿ã¤ããã©ã¤ãå
+ã§ç¨ããã¨ã·ã¹ãã ã®è² è·ãé«ããªããã¿ã¹ã¯ãã»ã¨
+ããããã©åä½ããªããªãã®ã§æ³¨æ
+
+(2) å¤ãè¨­å®ãããã¯ã­
+ãã»CPM_INT_LEVEL
+ãããCPMããSIUã¸ã®å²è¾¼ã¿è¦æ±ã¬ãã«
+ãããã·ãªã¢ã«SMC1ã®å²è¾¼ã¿è¦æ±ã¬ãã«ãããã¨åãæ±ãã«ãªã
+
+
+6.3 å®ç¾©æ¸ã¿ãã¯ã­
+
+ã¢ã»ã³ãã©ã§ç¨ããçä¼¼å½ä»¤ã¨ãã¦ãã«tool_config.hã§ä»¥ä¸ã®ãã¯ã­ã
+ç¨æãã¦ããã
+
+LI32(reg, imm) ï¼32ãããå³å¤ã­ã¼ã
+ãæ±ç¨ã¬ã¸ã¹ã¿regã«32ãããã®å³å¤immãã­ã¼ãããã
+ã
+ãåè
+ããæ¬ä¼¼å½ä»¤liã¯16ãããå³å¤ã®ã­ã¼ãã§ããã
+ã
+LOAD_VAL32(reg, val)ï¼32ãããå¤æ°ã­ã¼ã
+ãæ±ç¨ã¬ã¸ã¹ã¿regã«å¤æ°valã®å¤ãã­ã¼ãããã
+
+ä»¥ä¸ã®ã«ã¼ãã³ã¯The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£ã«ã
+ããDCRï¼Device Control Registerï¼ã¢ã¯ã»ã¹ç¨ã«vea_oea_emb.hå
+ã§å®ç¾©ã
+ãã¦ããããããã¯ããã¤ã¹ãã©ã¤ãã§ä½¿ç¨ããããã¨ãæ³å®ãã¦ããã
+
+sil_rew_dcr(reg, val)ï¼DCRã®ç¾å¨å¤ã®èª­åºã
+      reg:ã¬ã¸ã¹ã¿çªå·ï¼æ´æ°å®æ°ï¼
+      val:èª­ã¿åºããå¤ãæ ¼ç´ããå¤æ°ï¼UWåï¼
+
+sil_wrw_dcr(reg, val)ï¼DCRã®ç¾å¨å¤ã®å¤æ´
+      reg:ã¬ã¸ã¹ã¿çªå·ï¼æ´æ°å®æ°ï¼
+      val:è¨­å®ããå¤ãæ ¼ç´ãããå¤æ°ï¼UWåï¼
+
+---------------------------------------------------------------------
+
+ï¼. ã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±
+
+ããããã¯ãæ¬ã«ã¼ãã«ãä»ã®ã®PowerPC32ã¢ã¼ã­ãã¯ãã£ã»ãã­ã»ããµã¸ç§»
+æ¤ããããã®æ
+å ±ã«ã¤ãã¦ã¾ã¨ããã
+
+
+7.1 ç¨èªå®ç¾©
+ãã»ICUï¼Interrup Control Unit
+ãããããå²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ãã»IPMï¼Interrupt Priority Mask
+ãããããICUã®å²è¾¼ã¿ãã¹ã¯
+ãã»ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­æ§
+ãããããä»¥ä¸ãPowerPCç³»ãã­ã»ããµã§ãã®ãã­ã»ããµåºæã®é¨åã
+ãããããã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­æ§ã¨å¼ã¶ã
+
+7.2 ã¬ã¸ã¹ã¿ã®å²ãå½ã¦
+
+PowerPCã®EABI(â»)ã«ããè¦å®ãããã¬ã¸ã¹ã¿å²ãå½ã¦
+ãr0ï¼zeroã¾ãã¯æ±ç¨ã¬ã¸ã¹ã¿
+ãr1:ã¹ã¿ãã¯ãã¤ã³ã¿
+ãr2ï¼TOCï¼Table of Contentsï¼
+ããããåºæ¬çã«Cè¨èªãã³ã³ãã¤ã«ããã³ã¼ãã§ã¯ä½¿ç¨ãããªãã
+ããããå
+ã
+UNIXã®ãã­ã»ã¹åæ¿ã§ä½¿ç¨ããã¦ããåæ®
+ããããJSPã«ã¼ãã«ã§ã¯ãã®ã¬ã¸ã¹ã¿ãä½¿ç¨ãã¦ããªãã
+ããããï¼å²è¾¼ã¿ãä¾å¤å¦çã§å¾
+é¿ï¼å¾©å
+ãè¡ã£ã¦ããªããï¼
+ãr3-4ï¼å¼æ°ãæ»ãå¤
+ãr5-10ï¼å¼æ°
+ãr13ï¼small dataï¼.sdataã»ã¯ã·ã§ã³ã®ã¢ãã¬ã¹ï¼
+ãr14-30ï¼ã­ã¼ã«ã«å¤æ°
+ãr31ï¼ã­ã¼ã«ã«å¤æ°ã¾ãã¯environment pointer
+ã
+ãâ»ãPowerPC Embedded Application Binary Interface (EABI)ã¨ãã¦
+ãããPowerPCã¢ã¼ã­ãã¯ãã£é£å¶ãè¦å®ãã¦ããã
+ã
+
+JSPã«ã¼ãã«PowerPCä¾å­é¨ã§æ±ºããã¬ã¸ã¹ã¿å²ãå½ã¦
+ãSPRG0ï¼å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿
+ãSPRG1ï¼int_tableãæ¬ä¼¼å²è¾¼ã¿ãã¯ã¿ã®å
+é ­ã¢ãã¬ã¹
+ãSPRG2ï¼exc_tableãæ¬ä¼¼CPUä¾å¤ãã¯ã¿ã®å
+é ­ã¢ãã¬ã¹
+
+
+ãMPC860Tåºæã
+ãSPRG3ï¼ipm_tableãå²è¾¼ã¿ãã³ãã©çªå·ã¨IPMãå¯¾å¿ä»ãããã¼ãã«ã®å
+é ­
+ããããããããããã¢ãã¬ã¹
+
+7.3 OSã®ç¶æ
+å¤å¥ã®å®è£
+æ¹é
+
+ãã³ã³ãã­ã¹ã
+ããSPRG0ã¬ã¸ã¹ã¿ãå²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã¨ãã¦å²ãå½ã¦ã¦ããã
+ããã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å¤å¥ãè¡ã£ã¦ããã
+
+ãCPUã­ãã¯ç¶æ
+
+ãããã¹ã¿ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿MSRã®EEãããã§CPUã­ãã¯ç¶æ
+ã
+ããè¡¨ç¾ãã¦ããã
+ãããEE=0:CPUã­ãã¯ç¶æ
+
+ãããEE=1:CPUã­ãã¯è§£é¤ç¶æ
+
+
+7.4 ãã£ã¬ã¯ããªæ§æ
+ã$CPU=powerpc32ãã£ã¬ã¯ããª
+ãããPowerPCå
+±éé¨
+ããããPowerPCã¢ã¼ã­ãã¯ãã£ã«ãã£ã¦è¦å®ããã¦ããç¯å²å
+ã§
+ããããå®è£
+ã§ããé¨å
+ãããããã¹ã¦ã®PowerPCç³»ãã­ã»ããµã§å
+±éã«ä½¿ç¨ã§ããã
+ãããã
+ã$SYSãã£ã¬ã¯ããª
+ãããå¾æ¥ã®ãã¼ãä¾å­é¨ï¼ã·ã¹ãã ä¾å­é¨ï¼
+ãããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ãããã¿ã¤ããã©ã¤ã
+ãããã·ãªã¢ã«ãã©ã¤ã
+ããã
+PowerPCã¢ã¼ã­ãã¯ãã£ã§ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯è¦å®ããã¦ããããåãã­
+ã»ããµæ¯ã«ç°ãªãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãã¤ã³ããªã¡ã³ãããã¦ãããããã¦ã
+ãã¹ã¦ã®å¤é¨å²è¾¼ã¿ã¯åãå²è¾¼ã¿ãã¯ã¿ï¼ãªãã»ãã0x500ï¼ã«åå²ããã
+PowerPC32ä¾å­é¨ã§ã¯ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ï¼ä¸»ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ä¾å­ï¼ã®å¦çã$SYSãã£ã¬ã¯ããªã«åé¢ãã¦ãããããã«ãããä»ã®
+PowerPC32ã¢ã¼ã­ãã¯ãã£ã®ãã­ã»ããµã®å ´åããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨
+ãè¨è¿°ããã ãã§æ¬ã«ã¼ãã«ãç§»æ¤ãããã¨ãã§ãããï¼å½ç¶ãªãããç§»æ¤ã«
+ãããå·¥æ°ã¯å²ãè¾¼ã¿ã³ã³ãã­ã¼ã©ã®ã¢ã¼ã­ãã¯ãã£ã«å¤§ããä¾å­ãããï¼
+ä»¥ä¸ã«PowerPC32ã¢ã¼ã­ãã¯ãã£å
+±éé¨ã¨ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­é¨ã®ã¤
+ã³ã¿ãã§ã¼ã¹ãè¿°ã¹ãã
+
+7.5 PowerPCå
+±éé¨ã¨$SYSãã£ã¬ã¯ããªéã®ã¤ã³ã¿ã¼ãã§ã¼ã¹
+ããå®ç¾©ãã¡ã¤ã«ï¼sys_config.hãã¨ããè¨è¿°ã¯ãã®ãã¯ã­ã
+ãsys_config.hã¾ãã¯sys_config.hããã¤ã³ã¯ã«ã¼ãããããããã¼
+ããã¡ã¤ã«å
+ã§å®ç¾©ãããã¨ãæå³ããã
+
+7.5.1 PowerPCã³ã¢ã«é¢ããå®ç¾©
+
+INIT_MSRãã¯ã­ï¼MSRã®åæå¤ï¼ãªãã·ã§ã³ï¼
+  ãªã»ããç´å¾ã®åæå¤ã®ã¾ã¾ã§ããå ´åã¯å®ç¾©ããªãã¦ããã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+
+7.5.2 å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­ã®å®ç¾©
+
+(1) TMAX_INTNOãã¯ã­ï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãè­å¥ã§ããå²è¾¼ã¿è¦å ã®æ°
+ãä¾ãã°ãã·ãªã¢ã«éä¿¡ã®åä¿¡å²è¾¼ã¿ã¨éä¿¡å²è¾¼ã¿ãåãå²è¾¼ã¿ãã£ãã«ã
+ãå
+±æãã¦ããå ´åãå²è¾¼ã¿è¦å ã¨ãã¦ã¯ï¼ã¤ã¨æ°ããã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(2) IPMï¼å²è¾¼ã¿ãã¹ã¯ã®ãã¼ã¿å
+ãåãªããã¯ã­å®ç¾©ã§ã¯ãªãtypedefãä½¿ã£ã¦å®ç¾©ããã
+ãå®ç¾©ãã¡ã¤ã«ï¼sys_defs.h
+
+(3) PUSH_ICU_IPMãã¯ã­ï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®å¾
+é¿
+
+ãæ©è½ã
+ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ããã¹ã¿ãã¯ã¸ä¿å­ããã
+ãã¢ã»ã³ãã©å½ä»¤ã§è¨è¿°ããå²è¾¼ã¿ã®å
+¥å£å¦çã§ä½¿ç¨ããã
+
+ãåèã
+ãå¤é¨ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå©ç¨ããªãã·ã¹ãã ã§ã¯ãç©ºã§å®ç¾©ãããã¨ã
+ãr1,r13ãr31ãç ´å£ãã¦ã¯ãããªãã
+ãIPMã®ãã¼ã¿ãµã¤ãºã®å¦ä½ã«ãããããã®å¦çã®åå¾ã§ã¹ã¿ãã¯ãã¤ã³ã¿ã¯
+ã4ãã¤ãå¢çãå®ããã¨ã
+ãã¾ããPUSH_ICU_IPMãã¯ã­ã¨POP_ICU_IPMãã¯ã­ãå¯¾ã§å®è¡ãããå ´åã¯ã¹
+ãã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ããããã¨ã
+ãå®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+  
+(4) POP_ICU_IPMãã¯ã­ï¼å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã®å¾©å
+
+
+ãæ©è½ã
+ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ããã¹ã¿ãã¯ããå¾©å
+ããã
+ãã¢ã»ã³ãã©å½ä»¤ã§è¨è¿°ããå²è¾¼ã¿ã®åºå£å¦çã§ä½¿ç¨ããã
+
+ãåèã
+ãå¤é¨ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå©ç¨ããªãã·ã¹ãã ã§ã¯ãç©ºã§å®ç¾©ãããã¨ã
+ãr1,r13ãr31ãç ´å£ãã¦ã¯ãããªãã
+ãIPMã®ãã¼ã¿ãµã¤ãºã®å¦ä½ã«ãããããã®å¦çã®åå¾ã§ã¹ã¿ãã¯ãã¤ã³ã¿ã¯
+ã4ãã¤ãå¢çãå®ããã¨ã
+ãã¾ããPUSH_ICU_IPMãã¯ã­ã¨POP_ICU_IPMãã¯ã­ãå¯¾ã§å®è¡ãããå ´åã¯ã¹
+ãã¿ãã¯ãã¤ã³ã¿ãå¾©å
+ããããã¨ã
+ãå®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(5) PROC_ICU(label)ãã¯ã­ï¼å²è¾¼ã¿å¦çã®ICUä¾å­é¨å
+
+ããã©ã¡ã¼ã¿ã
+  label		ã·ã³ãã«è­å¥ç¨ãã¯ã­
+
+ãæ©è½ã
+ãå²è¾¼ã¿è¦å ãå¤æ­ããé©åãªå²è¾¼ã¿ãã³ãã©ãå¼ã³åºãã
+ãã¢ã»ã³ãã©å½ä»¤ã§è¨è¿°ããã
+ãå®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+ã
+ã
+ããã®ãã¯ã­ã¯cpu_support.Sã®å²è¾¼ã¿å¦çã®ä¸­ã§ãPowerPCã³ã¢ã®æ±ç¨ã¬ã¸ã¹
+ãã¿ã®ä¸é¨ï¼r0,r3ãr12ï¼ãç¹æ®ã¬ã¸ã¹ã¿ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®IPMã®éé¿ã
+ãã¹ã¿ãã¯åæ¿ããæ¸ãã ç¶æ
+ã§å¼ã°ããä»¥ä¸ã®å¦çãè¡ãã
+
+  ãå¼ã³åºãããã¨ãã®åææ¡ä»¶
+  ããä»¥ä¸ã®å¦çãæ¸ãã ç¶æ
+ã§å¼ã°ãã
+  ãããã»ã¬ã¸ã¹ã¿ã®éé¿
+  ããããã»æ±ç¨ã¬ã¸ã¹ã¿ã®ä¸é¨ r0,r3ãr12
+  ããããã»ç¹æ®ã¬ã¸ã¹ã¿ SRR0ãSRR1ãLRãCTRãCRãXER
+  ããããã»å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®IPM
+  ãããã»ã¹ã¿ãã¯åæ¿ã
+  ãããããã³ã³ãã­ã¹ãï¼ã¿ã¹ã¯ï¼éã¿ã¹ã¯ï¼ã®ç®¡ç
+  ã
+  ãå¦çå
+å®¹
+  ããã»å²è¾¼ã¿è¦å ã®å¤å¥
+  ããã»å²è¾¼ã¿ãã¹ã¯ã®è¨­å®
+  ããã»å²è¾¼ã¿è¨±å¯
+  ããã»Cè¨èªã«ã¼ãã³å¼ã³åºã
+  ãããï¼å²è¾¼ã¿ãã³ãã©æªç»é²ã®å ´åã¯ããã©ã«ãã®ã¨ã©ã¼å¦çï¼
+  ããã»å²è¾¼ã¿ç¦æ­¢
+  ããã»ï¼å¿
+è¦ã§ããã°ï¼å²ãè¾¼ã¿è¦æ±ãã©ã°ã®ã¯ãªã¢
+  
+ãå²è¾¼ã¿æ¬ä¼¼ãã¯ã¿ãã¼ãã«int_table[]ã¯PowerPCå
+±éé¨ã§å®ç¾©ããã¦ããã
+ããã®å
+é ­ã¢ãã¬ã¹ã¯SPRG1ã«æ ¼ç´ããã¦ããã
+ãï¼ã7.2 ã¬ã¸ã¹ã¿ã®å²ãå½ã¦ãåç
+§ãï¼
+ã
+ãéçAPI DEF_IHNã§å®ç¾©ãããå²è¾¼ã¿ãã³ãã©ã«ã¤ãã¦ã¯ãCè¨èªã«ã¼ãã³ã®
+ãå
+é ­ã¢ãã¬ã¹ãå²è¾¼ã¿æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã«ç»é²ããå¦çãèµ·åæã«å
+±éé¨
+ãããå¼ã³åºããããã(*1)ãPROC_ICUãã¯ã­ã§ã¯ãã¼ãã«ã®å
+å®¹ã¯åæåæ¸
+ãã¿ã¨ãã¦å©ç¨ãã¦è¯ãã
+ãã(*1) jsp/kernel/interrupt.cã®interrupt_initialize()åç
+§
+ã
+ãPROC_ICUãã¯ã­ã§ã¯å²è¾¼ã¿ãã³ãã©çªå·ãã¤ã³ããã¯ã¹ã¨ãã¦å²è¾¼ã¿æ¬ä¼¼ã
+ãã¯ã¿ãã¼ãã«ããCè¨èªã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹ã4ãã¤ããã¼ã¿ã¨ãã¦åã
+ãåºããã¨ãã§ããã
+ãå
+·ä½çã«ã¯ä»¥ä¸ã®çªå°ãåç
+§ããã°è¯ãã
+ãããint_tableã®å
+é ­ã¢ãã¬ã¹ï¼ï¼å²è¾¼ã¿ãã³ãã©çªå·Ãï¼ï¼
+
+ãå®éã®å²è¾¼ã¿è¦å ã¨å²è¾¼ã¿ãã³ãã©çªå·ã®å¯¾å¿é¢ä¿ã¯ã¤ã³ãªãã¡ã³ãã¼ã·ã§
+ãã³ä¾å­é¨ã§å®ç¾©ããã¦ã¼ã¶ã¼åãã®ãã­ã¥ã¡ã³ãã«æè¨ãããã¨ã
+ããPROC_ICUãã¯ã­ã§ã¯ãCè¨èªã«ã¼ãã³ãå¼ã³åºãåã«è¦æ±ãããå²è¾¼ã¿ã«
+ãå¯¾ããå²è¾¼ã¿ãã³ãã©ãç»é²ããã¦ããããã§ãã¯ããæªç»é²ã®å ´åã¯ã
+ããã©ã«ãã®ã¨ã©ã¼å¦çãè¡ããï¼ããããªãã¨0çªå°ã«åå²ãã¦ãã¾ããï¼
+
+ãå²è¾¼ã¿ãã³ãã©ãç»é²ããã¦ããªãå²è¾¼ã¿ã«ã¤ãã¦ã¯ã¹ã¿ã¼ãã¢ããã«ã¼ã
+ãã³ã§å²è¾¼ã¿æ¬ä¼¼ãã¯ã¿ãã¼ãã«ã0ã§åæåããã¦ãããã®ãããæ¬ä¼¼ãã¯
+ãã¿ãã¼ãã«ãåç
+§ããã°ãå²è¾¼ã¿ãã³ãã©ã®ç»é²ï¼æªç»é²ã®å¤å¥ãè¡ããã¨
+ããã§ããã
+ãï¼MPC860Tçã§ã¯å°ç¨ã®é¢æ°ãå¼ã³åºããSIUå²è¾¼ã¿ï¼CPMå²è¾¼ã¿ã®åºåãã
+ããã³å²è¾¼ã¿çªå·ãã­ã°åºåãã¦ãããï¼
+
+ããã®ãã¯ã­ã¯åæ®µã®å²è¾¼ã¿ã¨å¤éå²è¾¼ã¿ã®å ´åã®2ã¶æã§å±éãããã
+ããã¯ã­å
+é¨ã§åå²å½ä»¤ãä½¿ç¨ããå ´åããã®ã¾ã¾ã§ã¯2ã¶æã«å±éãããã
+ãã¯ã­ã§ã·ã³ãã«åãè¡çªããããããã®åå²å
+ãè­å¥ã§ããªããªãæããã
+ããããã®åé¡ãåé¿ãããããPowerPCå
+±éé¨ããã¯å±éããå ´æãã¨ã«ç°
+ããªããã¯ã­å¼æ°labelãæ¸¡ãããããããå±éå
+ã®ã·ã³ãã«åã®ä¸é¨ã«ç¨ã
+ãããã¨ã«ãã£ã¦2ã¶æã®å±éå
+ã§ã·ã³ãã«åã®è¡çªãé²ããã¨ãã§ããã
+  
+ãåèã
+ãr1,r2,r13ãr31ãç ´å£ãã¦ã¯ãããªãã
+ãï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã¯ãã®ãã¯ã­çµäºæã«å
+ã®å¤ã«å¾©å
+ããã¦ããã°OKï¼
+ãPROC_ICUå
+ã§ã¹ã¿ãã¯ä¸ã«ãã¼ã¿ãç©ãå ´åãä»¥ä¸ã®ç¹ã«æ³¨æããå¿
+è¦ãã
+ãããï¼ãã®ãã¯ã­ã¯å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®IPMãéé¿ãããç¶æ
+ã§å®è¡ãã
+ãããããããä»¥å¤ã®ãã¼ã¿ãã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ã«ã¹ã¿ãã¯ã«éé¿
+ãããªãã®ã§ããã°ãè©²å½ããªããï¼
+
+ãCè¨èªã«ã¼ãã³ãå¼ã³åºãéã«PowerPCã®ã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã«ãã
+ã(sp+4)ã(sp+7)çªå°ã¯ãã¼ã¿ãæ¸ãè¾¼ã¾ããã®ã§ãã¹ã¿ãã¯ä¸ã«ãã®é åã®
+ããã¼ã¿ãç ´å£ãããã
+ãï¼ã7.6 å®è£
+ä¸ã®æ³¨æããåç
+§ï¼
+
+ãä¾ãã°ãMPC860Tã§ã¯Cè¨èªã«ã¼ãã³ããæ»ã£ã¦ããå¾ã«å²è¾¼ã¿è¦æ±ãã¯ãªã¢
+ãããããã«å²è¾¼ã¿çªå·ãï¼MPC860Tä¾å­é¨ç¬èªã«ï¼ã¹ã¿ãã¯ã«ç©ãã§ããã
+ãããæ³¨æãå¿
+è¦ãªã±ã¼ã¹ã«è©²å½ããããã®å²è¾¼ã¿çªå·ãã¹ã¿ãã¯ã«ç©ãã¨ã
+ãã«ä¸è¨ã®äºç´é åãç©ºããããã«é
+ç½®ãã¦ããã
+ã
+ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ãã¹ããã¼ã¸ã³ã®ãµã¤ãºã¯cpu_config.hã«ãã¯ã­
+ãSTACK_MARGINã¨ãã¦å®ç¾©ãã¦ããã
+ã
+ãåè
+ãã64ãããåã®éã«ã¯æ³¨æãå¿
+è¦ã§ããã
+
+ãä»æ§æ±ºå®ã®çç±ã
+ãPROC_ICUãã¯ã­å
+ã®åå¦çå
+å®¹ãåå¥ã«å®ç¾©ãã¦PowerPCå
+±éé¨ããé©å®å¼
+ãã³åºããCè¨èªã«ã¼ãã³ã®å¼ã³åºãã¯PowerPCå
+±éé¨ã§è¡ãæ¹æ³ãèããã
+ããããICUã®ã¢ã¼ã­ãã¯ãã£ãè¤éãªå ´åï¼ä¾ï¼è¤æ°ã®ICUã®ã«ã¹ã±ã¼ãæ¥ç¶
+ãããã¦ããå ´åï¼ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ãå¹ççãªå½¢ã§å®è£
+ã§ããªãããã
+ããã¹ã¦ã®å¦çã$SYSãã£ã¬ã¯ããªã§å®ç¾©ããå®è£
+æ¹éã¨ããã
+
+
+(6) define_ipmï¼å²è¾¼ã¿åä»æã®IPMã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
+
+ãCè¨èªAPIã
+	void define_ipm(INHNO inhno, IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	INHNO inhno	å²è¾¼ã¿ãã³ãã©çªå·
+	IPM ipm		å²è¾¼ã¿åä»æã«è¨­å®ããIPMã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ãªã
+
+ãæ©è½ã
+ãå²è¾¼ã¿ãã³ãã©çªå·inhnoã®å²è¾¼ã¿ãåãä»ããã¨ãã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©
+ãã®IPMã«è¨­å®ããå¤ãå®ç¾©ããã
+ã
+ãåèã
+ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ãå¤éå²è¾¼ã¿ã®ã¬ãã«å¶å¾¡ããã¼ãã¦ã§ã¢ã§ãµãã¼ãã
+ãã¦ããã°ãã½ããã¦ã§ã¢ã§ãã®ãããªæºåãããå¿
+è¦ã¯ãªãã
+ããã®ãã¯ã­ã¯ããã¤ã¹ãã©ã¤ãã®åæåå¦çã§ä½¿ç¨ããããã¨ãæ³å®ãã¦ã
+ããã
+
+ãåãçç±ã§ipm_talbe[]ãå¿
+é ã§ã¯ãªãã$CPUãã£ã¬ã¯ããªã¨ã®ã¤ã³ã¿ã¼
+ããã§ã¼ã¹ã«ã¯å«ã¾ãã¦ããªãã
+ãï¼define_ipm()ã¨PROC_ICUã«ãã£ã¦ãipm_talbe[]ã¯PowerPCå
+±éé¨ããé è½
+ããããã¦ãããï¼
+
+
+ä»¥ä¸ã®ï¼ã¤ã®ãã¯ã­ã¯SUPPORT_CHG_IPMãå®ç¾©ããã¦ããå ´åã®ã¿å¿
+è¦ã¨ãªãã
+  
+
+(7) CHECK_IPMãã¯ã­ï¼IPMã®ç¯å²ãã§ãã¯
+
+ãCè¨èªAPIã
+	CHECK_IPM(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM ipm		ãã§ãã¯ãã¹ãIPMã®å¤
+
+ãæ©è½ã
+ãchg_ipm()ã«ããã¦ipmã®ç¯å²ãã§ãã¯ãè¡ãã
+ãCè¨èªã§è¨è¿°ããã
+ãipmã®å¤ãä¸æ­£ãªãã°ãercdã«E_PARãä»£å
+¥ãã¦chg_ipm()å
+ã®ã©ãã«exitã¸
+ãã¸ã£ã³ãããã
+ãå
+·ä½çã«ã¯ä»¥ä¸ã®è¨è¿°ã¨åç­ã®å¦çãè¡ãã
+ã
+ãif (ipmã®å¤ãä¸æ­£) {
+	ercd = E_PAR;
+	goto exit;
+  }
+ã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+ã
+(8) CHG_IPMãã¯ã­ï¼IPMã®å¤æ´
+ãCè¨èªAPIã
+	CHG_IPM(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM ipm		è¨­å®ããIPMã®å¤
+
+ãæ©è½ã
+ãchg_ipm()ã«ããã¦ipmãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ã«æ¸ãè¾¼ãã
+ãCè¨èªã§è¨è¿°ããã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+(9) GET_IPMãã¯ã­ï¼IPMã®åå¾
+ãCè¨èªAPIã
+	GET_IPM(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM *p_ipm	IPMãæ ¼ç´ããé åã¸ã®ãã¤ã³ã¿
+
+ãæ©è½ã
+ãget_ipm()ã«ããã¦å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã®å²è¾¼ã¿ãã¹ã¯ãèª­ã¿åºããp_ipmã
+ãæãç¤ºãé åã«æ¸ãè¾¼ãã
+ãCè¨èªã§è¨è¿°ããã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+7.5.3 ããã¤ã¹ãã©ã¤ãé¢é£
+ãjsp-1.4ããããã¤ã¹ãã©ã¤ãã¯ãITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤
+ãã³ãã«æºæ ãã¦ä½æããã¦ããã
+ããITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ãã¯ä¸è¨ã®URLãããã¦ã³ã­ã¼ã
+ãã§ããã
+ããhttp://www.ertl.jp/ITRON/GUIDE/device-j.html
+ãã
+ãSIL(System Interface Layer)ãPDIC(Primitive Device Interface 
+ãCompornet)ãGDIC(General Device Interface Compornet)ç­ã®ç¨èªã¯
+ããITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ããåç
+§ã
+ãç°¡åã«è¿°ã¹ãã¨PDICã¯å¾æ¥ã®hw_timer.hãhw_serial.hãã
+ããã»å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­
+ããã»CPUä¾å­
+ããã»ãã¼ãä¾å­
+ããé¤ããããã¤ã¹ä¾å­é¨åã«å¯¾å¿ããGDICã¯ãã®ä¸ä½ã¬ã¤ã¤ã«ãããå
+±éé¨
+ãã®serial.cã«å¯¾å¿ããã
+
+ãMPC860Tåºæã
+ãMPC860Tä¾å­é¨ã§ã¯å®éã®ããã¤ã¹ãã©ã¤ãã§ããä½¿ãã¢ã¯ã»ã¹é¢æ°ã
+ãsil_mpc860t.hã§å®ç¾©ãã¦ããã®ã§ãããã¤ã¹ãã©ã¤ããèªä½ããå ´åã¯
+ããããç¨ãã¦ãè¯ãã
+ãï¼ããã¤ã¹è¨­è¨ã¬ã¤ãã©ã¤ã³ã§ã¯åºæ¬çãªãªã¼ãï¼ã©ã¤ãã®ã¢ã¯ã»ã¹é¢æ°
+ãã®ã¿å®ç¾©ãã¦ãããï¼
+
+
+ã«ã¼ãã«ãåä½ãããã®ã«æä½éå¿
+è¦ãªããã¤ã¹ãã©ã¤ãé¢é£ã®é 
+ç®ãä»¥ä¸
+ã«ç¤ºãã
+
+(1) SIL_ENDIANãã¯ã­ï¼ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³ã®å®ç¾©
+ãå®ç¾©ãã¡ã¤ã«ï¼user_config.h
+ãããã°ã¨ã³ãã£ã¢ã³ã®å ´åï¼SIL_ENDIAN_BIG
+ããªãã«ã¨ã³ãã£ã¢ã³ã®å ´åï¼SIL_ENDIAN_LITTLE
+ãã
+(2) ã¿ã¤ãã»ãã©ã¤ã
+ãhw_timer.hã¨ããããå¼ã³åºãããPDICã$SYSãã£ã¬ã¯ããªã§ç¨æããã
+ãè©³ããã¯jsp/doc/config.txtãåç
+§
+ãã
+(3) ã·ãªã¢ã«ã»ãã©ã¤ã
+ãhw_serial.hã¨ããããå¼ã³åºãããPDICããã³å²è¾¼ã¿ãã³ãã©ã®ã³ã³ãã£
+ãã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«hw_serial.cfgã$SYSãã£ã¬ã¯ããªã§ç¨æããã
+ãã·ãªã¢ã«ããã¤ã¹ãå¤ä»ãããã¤ã¹ã§ãPDICãä»ã®ãã¤ã³ã³ã§ãæµç¨ã§ãã
+ãå ´åãPDICãjsp/pdic/simple_sioãã£ã¬ã¯ããªã«é
+ç½®ããã
+ãè©³ããã¯jsp/doc/config.txtãåç
+§
+
+
+7.5.4 ãªãã·ã§ã³æ±ãã®ãã¯ã­å®ç¾©
+
+ä»¥ä¸ã®ãã¯ã­å®ç¾©ã¯ãªãã·ã§ã³ã§ããã
+
+(1) SAVE_POWPERãã¯ã­
+ããã£ã¹ãããã£æ¬ä½ã§å®è¡å¯è½ãªã¿ã¹ã¯ããªãã¨ãã«ãã­ã»ããµãçé»å
+ãã¢ã¼ãã«ç§»è¡ãããå¦ç
+ãã¢ã»ã³ãã©å½ä»¤ã§è¨è¿°ããã
+    ã»å²è¾¼ã¿ããæ»ã£ã¦ããå¾ã«å²è¾¼ã¿ç¦æ­¢ãè¡ã
+    ã»r0ãr4ã®å
+å®¹ãç ´å£ãã¦ã¯ãªããªã
+
+ãåèã
+ãSUPPORT_POWER_MANAGEMENTãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã¨ãªãã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+ãæ³¨æã
+ãããå²è¾¼ã¿è¨±å¯ãã¨ãçé»åã¢ã¼ãã¸ã®ç§»è¡ããã¢ãããã¯ã«è¡ããªãã
+ããã­ã»ããµã§ã¯ãå²è¾¼ã¿ã®ã¿ã¤ãã³ã°ã«ãã£ã¦ã¯ãå²è¾¼ã¿è¨±å¯ãã¨ãçé»
+ããåã¢ã¼ãã¸ã®ç§»è¡ãã®éã§å²è¾¼ã¿ãåãä»ãã¦ãã¾ããæå³ããªãå½¢ã§
+ããçé»åã¢ã¼ãã«ç§»è¡ãã¦ãã¾ãã®ã§æ³¨æã
+ããå²è¾¼ã¿ã«ãã£ã¦å®è¡å¯è½ãªã¿ã¹ã¯ãç¾ãã¦ããã­ã»ããµãã¹ãªã¼ããã
+ããã¾ã¾ã§å®è¡ãããªããªããï¼å®éã«ã¯ã¿ã¤ãå²è¾¼ã¿ã«ããçé»åã¢ã¼ã
+ããããå¾©å¸°ããã®ã§ãã¿ã¹ã¯ãå¾
+ããããæéã¯æå¤§ã§ãã¿ã¤ãå²è¾¼ã¿å¨
+ããæã§æ¼ããããããï¼
+
+(2) ãã¬ã¼ã¹ã­ã°ã®è¨­å®ï¼ãªãã·ã§ã³ã ããç©ºã®å®ç¾©ãã¡ã¤ã«ã¯å¿
+è¦ï¼
+ãå
+ã
+ãtool_config.hå
+ã§å®ç¾©ããã¦ãããã¯ã­ã®å
+ãå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã
+ãæµ®åç¹å°æ°ç¹æ¼ç®ã¦ãããã«ä¾å­ããä¸è¨ã®ãã¯ã­ã$SYSãã£ã¬ã¯ããªã®
+ãsys_tool_config.hã«åé¢ããããã®ãã¯ã­å®ç¾©èªä½ã¯ãªãã·ã§ã³ã§ãããã
+ãsys_tool_config.hãã¡ã¤ã«èªä½ã¯ç©ºã§ãç¨æããå¿
+è¦ãããã
+ãå®ç¾©ãã¡ã¤ã«ï¼sys_tool_config.h
+
+ãããLOG_INH_ENTER(inhno)
+ãããLOG_INH_LEAVE(inhno)
+ãããLOG_ISR_ENTER(intno)
+ãããLOG_ISR_LEAVE(intno)
+
+ãããLOG_CHG_IPM_ENTER(ipm)
+ãããLOG_CHG_IPM_LEAVE(ercd)		/*  å¿µã®ãããåé¢ãã¦ãã  */
+ãããLOG_GET_IPM_ENTER(p_ipm)
+ãããLOG_GET_IPM_LEAVE(ercd, ipm)
+
+ãããLOG_DSP_ENTER(tcb)
+ãããLOG_DSP_LEAVE(tcb)
+
+7.5.5 Makefileé¢é£
+
+$SYS/Makefile.configã§å®ç¾©ãå¿
+è¦ãªé 
+ç®ãä»¥ä¸ã«è¿°ã¹ãã
+
+(1) ã¿ã¼ã²ããåï¼ã³ã³ãã¤ã©åï¼
+ãpowerpc-elf-gccä»¥å¤ã®ã³ã³ãã¤ã©ãç¨ããå ´åã¯å¤æ°TARGETãå®ç¾©ããã
+ãå®ç¾©ããã¦ããªãå ´åã¯ãããã©ã«ãã§TARGETã«powerpc-eabi-elfãè¨­å®ã
+ãããã
+
+(2) ã³ã³ãã¤ã«ãªãã·ã§ã³
+ãç¹ã«ãããã°æ
+å ±ã®ãªãã·ã§ã³ã¯gccã®ãã¼ã¸ã§ã³ãä½¿ç¨ãããããã°ãã¼
+ãã«ã«ä¾å­ããã®ã§ãå¤æ°COPTSã§å®ç¾©ããã
+ãã
+(3) ãªã³ã¯å¯¾è±¡ã¨ãªããªãã¸ã§ã¯ããã¡ã¤ã«
+ã$SYSãã£ã¬ã¯ããªã«ã½ã¼ã¹ãã¡ã¤ã«ããããã®ã«ã¤ãã¦ã¯å¤æ°
+ãKERNEL_ASMOBJSï¼ã¢ã»ã³ãã©ï¼ãKERNEL_COBJSï¼Cè¨èªï¼ã«ãªãã¸ã§ã¯ã
+ããã¡ã¤ã«åãå®ç¾©ããã
+ã
+(4) ãªã³ã¯ã¹ã¯ãªãã
+ãå¤æ°LDSCRIPTã§ãã¡ã¤ã«åãæå®ããã
+
+(5) textããã³dataã»ã¯ã·ã§ã³ã®å
+é ­ã¢ãã¬ã¹
+ããªã³ã¯ã¹ã¯ãªããã«è¨è¿°ãã¦ãè¯ãã
+
+----------------------------------------------------------------------
+7.5.6 IBMç³»PowerPCå¯¾å¿ã«ã¤ãã¦
+
+PowerPCã¢ã¼ã­ãã¯ãã£ã¯å¤§ããåãã¦ãä»¥ä¸ã®2ã¤ã«åé¡ãããã
+ã(1) ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£
+ãããã»ã¢ãã­ã¼ã© MPCãã¡ããª
+ãããã»IBM PowerPC6xx/700ãã¡ããª
+ã(2) The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£
+ãããã»IBM PowerPC40xãã¡ããª
+ã(3) The PowerPC Book-Eã¢ã¼ã­ãã¯ãã£
+ããï¼the Enhanced PowerPCã¢ã¼ã­ãã¯ãã£ï¼
+ãããã»IBM PowerPC440ãã¡ããª
+
+ã¾ããPowerPCã¢ã¼ã­ãã¯ãã£ã®å®ç¾©ã¯ã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã
+ãã«ã¼ãã«ã»ã¬ãã«ã¾ã§3ã¤ã®ã¬ãã«åããããã¦ãããä¸è¨3ã¤ã®
+ã¢ã¼ã­ãã¯ãã£ãæ¯è¼ããã¨UISAã¯å
+±éã ããVEAã¨OEAã¯ç°ãªãå®
+ç¾©ã«ãªã£ã¦ããã
+ãã»UISAï¼User Instruction Set Architechture
+ãããã»ã¦ã¼ã¶ã¼å½ä»¤ã»ããã¢ã¼ã­ãã¯ãã£
+ãããããã»ã¦ã¼ã¶ã¼ã¬ãã«å½ä»¤ã»ãã
+ãããããã»ã¦ã¼ã¶ã¼ã¬ãã«ã»ã¬ã¸ã¹ã¿
+ãããããã»ãã¼ã¿ã¿ã¤ã
+ãããããã»ã¢ãã¬ãã·ã³ã°ã»ã¢ã¼ã
+ãã»VEAï¼ Virtual Environment Architechture
+ãããã»ä»®æ³ç°å¢ã¢ã¼ã­ãã¯ãã£
+ãããããã»ã¡ã¢ãªã¢ãã«
+ãããããããã­ã£ãã·ã¥ãå«ã
+ãã»OEAï¼ Opareting Environment Architechture
+ãããã»åä½ç°å¢ã¢ã¼ã­ãã¯ãã£
+ãããããã»ã¡ã¢ãªç®¡ç
+ãããããã»ã¹ã¼ãã¼ãã¤ã¶ã»ã¬ãã«ã»ã¬ã¸ã¹ã¿
+ãããããã»ä¾å¤ã¢ãã«
+
+æ¬å®è£
+ã§ã¯(1),(2)ã®ã¢ã¼ã­ãã¯ãã£ã«å¯¾å¿ã§ããããã«ãªã£ã¦ããã
+ä¸¡è
+ã®åãæ¿ãã¯IBM_PPC_EMB_ENVãã¯ã­ã®å®ç¾©ã®æç¡ã«ãã£ã¦
+æ¡ä»¶ã³ã³ãã¤ã«ãè¡ã£ã¦ããã
+ã¾ããä¸¡è
+ã®éããå¸åãããããVEAã¨OEAã«é¢ããè¨è¿°ã¯åã¢ã¼
+ã­ãã¯ãã£æ¯ã«ãããã¼ãã¡ã¤ã«ãåãã¦ããã
+ããã»vea_oea.hï¼ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£ç¨
+ããã»vea_oea_emb.hï¼The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£ç¨
+
+ãªããThe PowerPC Book-Eã¢ã¼ã­ãã¯ãã£ã«ã¯æªå¯¾å¿ã§ããã
+ãã®ã¢ã¼ã­ãã¯ãã£ã¸ã®ç§»æ¤ãå¸æããæ¹ã¯ç¸è«ããããã
+
+ä»¥ä¸ã$SYSãã£ã¬ã¯ããªã§åã¢ã¼ã­ãã¯ãã£æ¯ã«è¨­å®ãã¹ãå
+å®¹ãè¿°ã¹ãã
+
+(1) ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®å
+å®¹
+
+IMPLEMENT_EXCEPTION_01000_PROCãã¯ã­ï¼ãªãã·ã§ã³ï¼
+ãã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤0x01000ã®å¦çå
+å®¹ãå®ç¾©ãããã¯ã­
+ã
+ãå¦çå
+å®¹ã¯ãã­ã»ããµã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ãã®ãªã®ã§ã
+ãã«ã¼ãã«ã«ããåºå
+¥å£å¦çã¯æ¿å
+¥ãããããã®ãã¯ã­ã§å®ç¾©ããå¦çå
+å®¹ã
+ãç´æ¥å¼ã³åºããããï¼ã¤ã¾ããã«ã¼ãã«ã®ç®¡çå¤æ±ãï¼
+ããã®ããããã®å¦çä¸­ã§ã«ã¼ãã«ã®æ©è½ãå¼ã³åºããå ´åã®åä½ã¯æªå®ç¾©ã§
+ãããã
+ã
+ããªãã»ãã0x01000ä»¥éã«é
+ç½®ãããä¾å¤è¦å ã¯ï¼ã¤ã¨ã¯éããªãã2ã¤ä»¥ä¸
+ãã®ä¾å¤ãã¯ã¿ãé
+ç½®ãããå ´åããªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+ãå
+·ä½çã«ã¯
+ã    .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ãã®ããã«æå®ãããè©³ããã¯cpu_support.Sã®è©²å½åæãåç
+§ã
+ã
+  å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
+
+
+(2) The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£åºæã®è¨­å®å
+å®¹
+
+ï¼¡ï¼ãã¯ã­
+
+A-1 æ¡ä»¶ã³ã³ãã¤ã«ç¨ãã¯ã­
+
+  ãä»¥ä¸ã®ãã¯ã­å®ç¾©ã¯$SYS/Makefile.configã®ä¸­ã§ã³ã³ãã¤ã©ã»
+  ããªãã·ã§ã³ã¨ãã¦ä¸ãã
+
+IBM_PPC_EMB_ENV
+  ããã®ãã¯ã­ãå®ç¾©ããã¦ããå ´åãThe IBM PowerPC Embedded 
+  ãEnvironmentã¢ã¼ã­ãã¯ãã£ã§ãããã¨ãç¤ºãã
+
+A-2 ä¾å¤å¦çã«ã¼ãã³ã®å®ç¾©
+ããè¨­è¨æ¹é
+ãããåºæ¬çã«ä»¥ä¸ã®ä¾å¤å¦çå
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ãã
+ãããã±ã¼ã¹ã¯æ³å®ãã¦ããªããï¼ã«ã¼ãã«ç®¡çå¤æ±ãï¼
+  ããä¾å¤å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¨ãã®
+  ããåä½ã¯ä¿è¨¼ãããªãã
+ããæ³¨æç¹ï¼
+ãããå¦çå
+å®¹ã¯ã¢ã»ã³ãã©ã§è¨è¿°ããã
+ãããï¼Cè¨èªã§ã®è¨è¿°ãæ³å®ãã¦ããªãã®ã§ãä¸è¨ã®ãããª
+ããããè¨­è¨æ¹éã¨ãªããï¼
+ããæ³¨æç¹ï¼
+ãããã¢ã¼ã­ãã¯ãã£ä¸ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦
+ãããããªãä¾å¤è¦å ã«ã¤ãã¦ã¯ãåå²å½ä»¤ãä½¿ã£ã¦å¥ã®å ´æã«
+ãããå¦çã«ã¼ãã³ãé
+ç½®ãããã¨
+ããæ³¨æç¹ï¼
+ãããä¾å¤ã¯ã©ã¹ãCriticalã®ä¾å¤å¦çã§ã¯éå¸¸ã®ä¾å¤ã¨ç°ãªãã
+  ãããªã¿ã¼ã³å½ä»¤ã¯rfciãç¨ããã
+  ãã(rfciï¼Return From Critical Interrupt) 
+  ããä»¥ä¸ã®ï¼ã¤ã®ä¾å¤è¦å ãè©²å½ããã
+  ãããã»Critical Input
+  ãããã»Machine Check
+  ãããã»Watchdoc Timer
+  ãããã»Debug
+
+ä»¥ä¸ã®ãã¯ã­ã¯ããããsys_config.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããã
+ãããã¼ãã¡ã¤ã«å
+ã§å®ç¾©ãããã¨ã
+
+ä»¥ä¸ã®ä¾å¤å¦çã®å®ç¾©ã¯å¿
+é ã§ããã
+
+CRITICAL_INTERRUPT_EXCEPTION_PROC
+ãCritical Interruptä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x100
+ãä¾å¤ã¯ã©ã¹ï¼Critical
+  ããéå¸¸ã®ä¾å¤ã¨ç°ãªãããªã¿ã¼ã³å½ä»¤ã¯rfciãç¨ããã
+  ãã(rfciï¼Return From Critical Interrupt) 
+  Critical Interruptã¯ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ä¾å­ãªã®ã§
+  å¦çå
+å®¹ã¯ãã¯ã­å®ç¾©ãã¦ããã
+ã0x100ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+  ãã®ç¯å²ãè¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+  ããã«åå²ãããã¨
+
+ ãæ³¨æç¹ï¼
+ ãããCritical Interruptã¯ã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ ãããï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+
+MACHINE_CHECK_PROC
+ãMachine Checkä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x200
+ãä¾å¤ã¯ã©ã¹ï¼Critical
+  ããéå¸¸ã®ä¾å¤ã¨ç°ãªãããªã¿ã¼ã³å½ä»¤ã¯rfciãç¨ããã
+  ãã(rfciï¼Return From Critical Interrupt) 
+ã0x100ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+  ãã®ç¯å²ãè¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+  ããã«åå²ãããã¨
+
+ ãæ³¨æç¹ï¼
+ ãããMachine Checkã¯ã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ã¨ããã
+ ãããï¼ãã®å¦çã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªããï¼
+
+PROGRAMMABLE_INTERVAL_TIMER_PROC
+ãProgrammable Interval timerä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x1000
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+  ãã®ç¯å²ãè¶
+ããå ´åã¯æ®ãã®é¨åãå¥ã®å ´æã«é
+ç½®ãã¦ã
+  ããã«åå²ãããã¨
+ ï¼ä»¥ä¸ã®ãã¯ã­ãåæ§ï¼
+
+FIXED_INTERVAL_TIMER_PROC
+ãFixed Interval timerä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x1010
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+
+WATCHDOG_TIMER_PROC
+ãWatchdog timerä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x1020
+ãä¾å¤ã¯ã©ã¹ï¼Critical
+  ããéå¸¸ã®ä¾å¤ã¨ç°ãªãããªã¿ã¼ã³å½ä»¤ã¯rfciãç¨ããã
+  ãã(rfciï¼Return From Critical Interrupt) 
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+
+DATA_TLB_MISS_PROC
+ãData TLB missä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x1100
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+
+INSTRUCTION_TLB_MISS_PROC
+ãInstruction TLB missä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x1200
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+
+DEBUG_PROC
+ãDebugä¾å¤ã®å¦ç
+ãä¾å¤ãã¯ã¿0x2000
+ã0x10ãã¤ãããé åãå²ãå½ã¦ããã¦ããªãã®ã§æ³¨æ
+ãè¦å ã¯ä»¥ä¸ã®7ç¨®é¡
+ããTrap
+ããInstruction address compare
+ããData address compare
+ããInstruction complete
+ããBranch taken
+ããException
+ããUnconditional debug event
+
+
+ä»¥ä¸ã®ä¾å¤å¦çã®å®ç¾©ã¯ãªãã·ã§ã³ã§ããã
+
+IMPLEMENT_EXCEPTION_D00_PROCï¼ãªãã·ã§ã³ï¼
+  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦ç 
+  ããªãã»ããï¼0xd00-0xff0
+    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿ï¼ï¼ã¤ã¨ã¯éããªãï¼ã
+    ä»ã®ç¨éã«ä½¿ç¨ãããã
+
+ ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+  ãå
+·ä½çã«ã¯
+       .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+    ä¾ãã°ãPowerPC405ã§ã¯ãªãã»ãã0xf20ã«
+    APU Unavailableä¾å¤ã®å¦çãé
+ç½®ããã
+
+IMPLEMENT_EXCEPTION_02010_PROCï¼ãªãã·ã§ã³ï¼
+  ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³å°ç¨ã®å¦ç 
+  ããªãã»ããï¼0x2010-0x2ff0
+    ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³åºæã®ä¾å¤ãã¯ã¿ï¼ï¼ã¤ã¨ã¯éããªãï¼ã
+    ä»ã®ç¨éã«ä½¿ç¨ããã
+
+ ã ãªãã»ããã®æå®æ¹æ³ã«æ³¨æãããã¨ã
+  ãå
+·ä½çã«ã¯
+       .org ãªãã»ãã - EXCEPTION_VECTOR_BASE
+ ã ã®ããã«æå®ãããè©³ããã¯ä»ã®ä¾å¤è¦å ã®è©²å½åæãåç
+§ã
+
+
+ï¼¢ï¼ãªã³ã¯ã¹ã¯ãªãã
+
+ãªã»ãããã¯ã¿ã¯0xffff,fffcçªå°ã«åºå®ããã¦ããã
+ãªã»ããå¦çç¨ã«reset_vectorã»ã¯ã·ã§ã³ãå®ç¾©ãã¦ããã
+ãªã³ã¯ã¹ã¯ãªããã§ãã®ã»ã¯ã·ã§ã³ã0xffff,ffecçªå°
+(0xffff,fffc - 4ãã¤ãÃ4å½ä»¤)ã«é
+ç½®ããã
+è©³ããã¯cpu_support.Sã®ãªã»ãããã¯ã¿ã®è¨è¿°åæãåç
+§
+
+åè
+ãEVPRã¬ã¸ã¹ã¿ã®è¨­å®ã¯ã¡ã¢ãªã³ã³ãã­ã¼ã©ã®åæåã®å¾ã«è¡ãã¹ããªã®ã§
+ãããã©ã«ãã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã¯è¡ãããhardware_init_hook
+ãã«ã¼ãã³ã§è¡ãæ¹æ³ãæ¨æºã¨ããã
+
+----------------------------------------------------------------------
+
+7.6 å®è£
+ä¸ã®æ³¨æ
+
+(1) hardware_init_hookã®æ»ãçªå°ã«ã¤ãã¦
+ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§hardware_init_hookã®æ»ãçªå°ããªã³ã¯ã¬ã¸ã¹ã¿
+ãLRã«ä¿å­ãã¦ããã®ã§ãç ´å£ãã¦ã¯ãããªãã
+ãï¼hardware_init_hookããæ»ãã¨ãã«ãªã³ã¯ã¬ã¸ã¹ã¿LRãå©ç¨ããã«ç´æ¥ã©
+ããã«start_1ã«ã¸ã£ã³ããã¦ãOKï¼
+
+(2) ã¢ã»ã³ãã©ã«ã¼ãã³ããã®Cè¨èªã«ã¼ãã³å¼åºãã«ã¤ãã¦
+ãPowerPC EABIã§è¦å®ããã¦ããã³ã¼ãªã³ã°ã»ã³ã³ãã³ã·ã§ã³ã§ã¯é¢æ°å¼ã³åº
+ããæã®ãã¬ã¼ã ã¹ã¿ãã¯ãã¤ã³ã¿ãæãã¦ãã8ãã¤ãå
+(sp+4)ã(sp+7)çª
+ãå°ã«å¼ã°ããå´ã®æ
+å ±ãå¾
+é¿ãããããã®ãããã¢ã»ã³ãã©ã«ã¼ãã³ããC
+ãè¨èªã«ã¼ãã³ãå¼ã³åºãç®æï¼ç¹ã«å²è¾¼ã¿ã³ã³ãã­ã¼ã©ä¾å­é¨ï¼ã§ã¯æ³¨æã
+ãå¿
+è¦ã§ããã
+ãå
+·ä½çã«ã¯ä»¥ä¸ã®ç®æãè©²å½ããã
+ ã(1) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³
+ ã(2) ã¿ã¹ã¯èµ·å
+ ã  (2-1) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·å
+ ã(3) å²è¾¼ã¿ãã³ãã©èµ·å
+ ã(4) CPUä¾å¤ã«ã¼ãã³èµ·å
+
+ããããããããããããã¹ã¿ãã¯ãä¼¸ã³ãæ¹å
+ããããããããããããããããâ
+ é¢æ°å¼ã³åºãåã®spâ  ---------------------- 
+ ããããã           |                      |
+ããããã         +4  ----------------------ã
+ããããã            |                      |âCè¨èªã«ã¼ãã³ã®å¼ã³åºã
+ããããã         +8  ----------------------   ã«ããæ¸ãè¾¼ã¾ãã
+
+ãã¹ã¿ãã¯ä¸ã«ç¢ºä¿ãã¹ããã¼ã¸ã³ã®ãµã¤ãºã¯cpu_config.hã«ãã¯ã­
+ãSTACK_MARGINã¨ãã¦å®ç¾©ãã¦ããã
+
+
+å¤æ´å±¥æ­´
+
+2004å¹´10æ9æ¥ãRelease1.4.1
+ã»æ¹è¯
+   + ã¦ã¼ã¶ã¼ãå¤æ´ã§ããç®æãuser_config.hã¨ãã¦åé¢ããã
+
+2004å¹´5æ14æ¥ã
+ã»æ¹è¯
+   + The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£ã«é¢ãã
+ãã è¨è¿°ãè¿½å 
+ãã ãã»ãªãªã¸ãã«ã®PowerPCã¢ã¼ã­ãã¯ãã£
+ãã ãã»The IBM PowerPC Embedded Environmentã¢ã¼ã­ãã¯ãã£
+ãã ã®ä¸¡å¯¾å¿ã¨ããããã
+ãã ãã»UISAï¼ã¦ã¼ã¶ã¼å½ä»¤ã»ããã¢ã¼ã­ãã¯ãã£
+ãã ãã»VEAï¼ä»®æ³ç°å¢ã¢ã¼ã­ãã¯ãã£
+ãã ãã»OEAï¼åä½ç°å¢ã¢ã¼ã­ãã¯ãã£
+ãã ã®åå®ç¾©ã®ãã¡ã¤ã«æ§æãè¦ç´ã
+
+2004å¹´2æ20æ¥ãJSPã«ã¼ãã« Release1.4 å¯¾å¿
+     PowerPC32çã®ãµãã¼ããéå§
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/s1c33.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/s1c33.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/s1c33.txt	(revision 26)
@@ -0,0 +1,754 @@
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                 ï¼s1c33 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+            ï¼Release 1.4.1å¯¾å¿ï¼æçµæ´æ°: 04-Jan-2005ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã
+ GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+     ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+     ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+     ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+     ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+   (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+       ãã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+------------------------------------------------------------------------
+
+
+ï¼ï¼S1C33 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+S1C33ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼S1C33209, S1C33L11, S1C33
+401ãæ­è¼ããä»¥ä¸ã®ãã¼ãããµãã¼ããã¦ããï¼
+
+ã»ã»ã¤ã³ã¼ã¨ãã½ã³æ ªå¼ä¼ç¤¾ DMT33209 ãã¼ã ï¼CPU:S1C33209ï¼
+ã»ã»ã¤ã³ã¼ã¨ãã½ã³æ ªå¼ä¼ç¤¾ LUXUN2   ãã¼ã ï¼CPU:S1C33L11ï¼
+ã»ã»ã¤ã³ã¼ã¨ãã½ã³æ ªå¼ä¼ç¤¾ DMT33401 ãã¼ã ï¼CPU:S1C33401ï¼
+ã»ã»ã¤ã³ã¼ã¨ãã½ã³æ ªå¼ä¼ç¤¾ LUXUN4   ãã¼ã ï¼CPU:S1C33401ï¼
+
+éçºç°å¢ã¯ã»ã¤ã³ã¼ã¨ãã½ã³æ ªå¼ä¼ç¤¾ã®éçºç°å¢S5U1C33001Cï¼GNU33ï¼ãç¨ããï¼
+ããã¯GNUéçºç°å¢ãS1C33ç¨ã«ç§»æ¤ãããã®ã§ããï¼ãªãã¸ã§ã¯ããã¡ã¤ã«
+ãã©ã¼ãããã¯ ELF ãæ¨æºã¨ããï¼
+
+    ãã£ã¬ã¯ããªå
+    s1c33                   GNUéçºç°å¢ç¨ï¼ç¾æç¹ã§æªãµãã¼ãï¼
+        dmt33209                DMT33209 ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        luxun2                  LUXUN2   ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        dmt33401                DMT33401 ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        luxun4                  LUXUN4   ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+
+    s1c33-gnu33             GNU33éçºç°å¢ç¨
+        dmt33209                DMT33209 ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        luxun2                  LUXUN2   ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        dmt33401                DMT33401 ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+        luxun4                  LUXUN4   ï¼ã»ã¤ã³ã¼ã¨ãã½ã³ï¼
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+S1C33ä¾å­ã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯ï¼dis_intï¼ena_intï¼åã³ï¼å²è¾¼ã¿
+ãã¹ã¯ã®å¤æ´ã»åç
+§ï¼chg_ilvï¼get_ilvï¼ããµãã¼ããã¦ããï¼
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ï¼vxget_timï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+S1C33ãã­ã»ããµã¯ï¼S1C33209ãå§ãã¨ããã¹ã¿ã³ãã¼ããã¯ã­ãã­ã»ããµã¨ï¼
+S1C33401ãå§ãã¨ããã¢ããã³ã¹ããã¯ã­ãã­ã»ããµã¨ã«å¤§å¥ããããï¼å
+ç³»çµ±ã«ãããä¸ä½äºæãã­ã»ããµã§ããã°ï¼ãã®ã¾ã¾åä½ããï¼
+ãã ãä¸ä½ãã­ã»ããµã«ãªãè¿½å æ©è½ãä½¿ç¨ããå ´åï¼é©å®IOã¬ã¸ã¹ã¿ã¢ã
+ã¬ã¹ç­ãã¿ã¼ã²ããã«åããã¦å¤æ´ããå¿
+è¦ãããï¼
+
+1.4 ã·ãªã¢ã«ãã¼ã
+
+ãã£ãã«0(LUXUN4ã¯ãã£ãã«2)ãä½¿ç¨ããã·ãªã¢ã«éä¿¡ããµãã¼ããã¦ããï¼
+DMT33MONãã¼ããå¥éç¨æãããã¨ã«ããï¼RS232-Cã±ã¼ãã«ã§ã®æ¥ç¶ãå¯è½
+ã¨ãªãï¼
+éä¿¡æ¡ä»¶ã¯ä»¥ä¸ã®ã¨ããã§ããï¼
+  éä¿¡æ¹å¼       : èª¿æ­©åæ 8ããã
+  éä¿¡éåº¦       : 115,200bps
+  ããªãã£       : ãªã
+  ã¹ãããããã : 1ããã
+
+
+ï¼ï¼S1C33ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼S1C33ä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããï¼ã¾ãï¼å²ãè¾¼ã¿ã¬
+ãã«ãè¡¨ããã¼ã¿å ILEVNO ã¯unsigned intåã§å®ç¾©ããã¦ãã.
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+CPUã­ãã¯ç¶æ
+ãåæåã«ã¼ãã³å
+ã§ã¯ï¼TPS_CPULOCK_LEVã¨ãã¦å®ç¾©ãããå²
+ãè¾¼ã¿ã¬ãã«æªæºã®ãã¹ã¯å¯è½ãªå²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ï¼
+PSRï¼Processor Status Registerï¼ã¬ã¸ã¹ã¿ã®ILï¼Interrupt Levelï¼ãã£ã¼
+ã«ãã«0x5ãè¨­å®ãããï¼ã«ã¼ãã«ã«ãã£ã¦ç®¡çãããå²ãè¾¼ã¿ã¯ï¼å²ãè¾¼ã¿
+ã¬ãã«ãTPS_CPULOCK_LEVæªæºã¨ããªããã°ãªããªãï¼ï¼è¨­å®å¯è½ãªå²ãè¾¼ã¿
+ã¬ãã«ã®ä¸éã¯TPS_INTLEV_MAXã¨ãã¦å®ç¾©ããã¦ããï¼
+TPS_CPULOCK_LEVï¼TPS_INTLEV_MAXã¯cpu_config.hã«ã¦å®ç¾©ããã¦ããï¼å¿
+è¦
+ã§ããã°å¤æ´ãããã¨ãã§ããï¼
+
+S1C33ãã­ã»ããµã¯0ã7ã¾ã§ã®å²ãè¾¼ã¿ã¬ãã«ãè¨­å®ãããã¨ãã§ããï¼
+ã¬ãã«5ï¼ããã©ã«ãï¼ã®å²ãè¾¼ã¿ããã³NMIã§ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ã®ä½¿ç¨ã
+ç¦æ­¢ããï¼
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼ãã¹ã¯å¯è½ãªå²ãè¾¼ã¿
+ã¨ãã¦å®ãããããã¯ã¿çªå·ã§ãã16çªä»¥éãæå®ããï¼
+ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãçªå·ãæå®ãããå ´åã®åä½ã¯æªå®ç¾©ã§ããï¼
+æå¹ãªãã¯ã¿çªå·ã«ã¤ãã¦ã¯ï¼åCPUã®ããã¥ã¢ã«ãåç
+§ããããï¼
+
+S1C33ãã­ã»ããµä¾å­é¨ã§ã¯å¤éå²ãè¾¼ã¿ããµãã¼ããã¦ããï¼ãã®ããï¼å²
+ãè¾¼ã¿çºçæã«å¦çãããå²ãè¾¼ã¿ãã³ãã©å
+¥ãå£å¦çã§ã¯ï¼IEãããã«1ã
+è¨­å®ãï¼å²ãè¾¼ã¿ãã¹ãã«ã¦ã³ã¿ãã¤ã³ã¯ãªã¡ã³ããã¦ããï¼å²ãè¾¼ã¿å¦çå
+
+ã§ä»ã®å²ãè¾¼ã¿ãç¦æ­¢ããã«ã¯ï¼iloc_cpu ãå¼ã³åºããªã©ï¼æç¤ºçã«å²ãè¾¼
+ã¿ãç¦æ­¢ããå¿
+è¦ãããï¼
+
+ILã¯å²ãè¾¼ã¿çºçæã«ãããããè¨­å®ãããå²ãè¾¼ã¿ã¬ãã«ã«å¤æ´ãããï¼
+ä½¿ç¨ããå²ãè¾¼ã¿ã®ã¬ãã«ããã¹ã¦åä¸ã«ããã°ï¼å¤éå²ãè¾¼ã¿ã¯çºçããªãï¼
+
+S1C33ãã­ã»ããµä¾å­é¨ã§ã¯ï¼æ©ç¨®ä¾å­ãµã¼ãã¹ã³ã¼ã«ã¨ãã¦ç¹å®ã®å²ãè¾¼ã¿
+ãç¦æ­¢ï¼è¨±å¯ãããµã¼ãã¹ã³ã¼ã«dis_int, ena_int, å²ãè¾¼ã¿ã¬ãã«ãå¤æ´ï¼
+åå¾ãããµã¼ãã¹ã³ã¼ã«chg_ilv, get_ilvããµãã¼ããã¦ããï¼dis_int,
+ena_intã¯ã³ã³ãã­ã¹ãç¶æ
+ã«ä¾å­ããªãï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿ã¹ã¯
+ã³ã³ãã­ã¹ãã®ã©ã¡ãã§ãå¼ã³åºããã¨ãã§ããï¼chg_ilv, get_ilvã¯ã³ã³
+ãã­ã¹ãç¶æ
+ã«ä¾å­ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¾ãã¯CPUã­ãã¯ç¶æ
+ã§ã¯ä½¿ç¨
+ã§ããªãï¼
+
+S1C33ä¾å­ã®å²ãè¾¼ã¿ã¬ãã«ã®å¤æ´ï¼åç
+§ï¼ããã³å²ãè¾¼ã¿ç¦æ­¢ï¼è¨±å¯ã®ããã®
+ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯ä»¥ä¸ã®éãï¼
+
+(1) chg_ilv                     å²ãè¾¼ã¿ã¬ãã«ã®å¤æ´
+
+ãCè¨èªAPIã
+        ER ercd = chg_ilv(ILEVNO ilevno);
+
+ããã©ã¡ã¼ã¿ã
+        ILEVNO     ilevno       è¨­å®ãã¹ã IL ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd            ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_CTX                   ã³ã³ãã­ã¹ãã¨ã©ã¼
+        E_PAR                   ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ilevno ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+ILï¼Interrupt Levelï¼ã ilevno ã§æå®ãããå¤ã«è¨­å®ããï¼æå®ããå¤ã
+TPS_INTLEV_MAXã¨ãã¦å®ç¾©ãããå²ãè¾¼ã¿ã¬ãã«ãè¶
+ãã¦ããå ´åï¼E_PAR
+ã¨ã©ã¼ã¨ãªãï¼IL ã 0ãTPS_INTLEV_MAXã«è¨­å®ããå ´åã§ãï¼ãã£ã¹ããã
+ã¯ç¦æ­¢ãããªãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+chg_ilvã«ããå¤æ´ããã¬ãã«ã¯ååã¨ãã¦ãã£ã¹ãããå¾ãç¶æ¿ããããï¼
+ä¿éã¯ãããªãï¼ä¾ãã°å²ãè¾¼ã¿ãã³ãã©ã«ãããã£ã¹ããããããã¿ã¹ã¯ã§
+å²ãè¾¼ã¿ã¬ãã«ãå¤æ´ããå ´åï¼å²ãè¾¼ã¿çºçç´åã«å®è¡ããã¦ããã¿ã¹ã¯ã¸
+å¾©å¸°ããã¨å²ãè¾¼ã¿ã¬ãã«ãå
+ã«æ»ãï¼
+
+(2) get_ilv                   å²ãè¾¼ã¿ã¬ãã«ã®åç
+§
+
+ãCè¨èªAPIã
+        ER ercd = get_ilv(ILEVNO *p_ilevno);
+
+ããã©ã¡ã¼ã¿ã
+        ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd          ã¨ã©ã¼ã³ã¼ã
+        ILEVNO  *p_ilevno     ç¾å¨ã® IL ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_CTX                 ã³ã³ãã­ã¹ãã¨ã©ã¼
+        E_PAR                 ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼p_ilevnoãNULLï¼
+
+ãæ©è½ã
+
+ç¾å¨ã® ILï¼Interrupt Levelï¼ã®å¤ãèª­ã¿åºãï¼*p_ilevno ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(3) dis_int                   å²ãè¾¼ã¿ã®ç¦æ­¢
+
+ãCè¨èªAPIã
+        ER ercd = dis_int(INTNO intno);
+
+ããã©ã¡ã¼ã¿ã
+        INTNO     intno       ç¦æ­¢ããå²ãè¾¼ã¿ã®ãã¯ã¿çªå·
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd          ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_PAR                 ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼intno ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+æå®ããããã¯ã¿çªå·ã«å¯¾å¿ããå²ãè¾¼ã¿ãç¦æ­¢ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ã³ã³ãã­ã¹ãç¶æ
+ãªã©ã«ã¯ä¾å­ããï¼ãã¤ã§ãå¼ã³åºã
+ãã¨ãã§ããï¼
+
+
+(4) ena_int                   å²ãè¾¼ã¿ã®è¨±å¯
+
+ãCè¨èªAPIã
+        ER ercd = ena_int(INTNO intno);
+
+ããã©ã¡ã¼ã¿ã
+        INTNO     intno       è¨±å¯ããå²ãè¾¼ã¿ã®ãã¯ã¿çªå·
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd          ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_PAR                 ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼intno ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+æå®ãããå²ãè¾¼ã¿ãã¯ã¿çªå·ã«å¯¾å¿ããå²ãè¾¼ã¿ãè¨±å¯ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ã³ã³ãã­ã¹ãç¶æ
+ãªã©ã«ã¯ä¾å­ããï¼ãã¤ã§ãå¼ã³åºã
+ãã¨ãã§ããï¼
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼0ã15ã¾ã§ã®ä¾å¤ãã¯ã¿çª
+å·ãæå®ããï¼CPUä¾å¤ãã³ãã©ã¨ãã¦æå¹ã§ãªãçªå·ãæå®ãããå ´åã®å
+ä½ã¯æªå®ç¾©ã§ããï¼
+
+2.4 å²ãè¾¼ã¿ï¼CPUä¾å¤ãã³ãã©ã®å®è£
+
+
+å²ãè¾¼ã¿ï¼CPUä¾å¤ãã³ãã©ï¼ä»¥ä¸ãã³ãã©ï¼ã¯ï¼ä»¥ä¸ã®è¦é ã§å®è£
+ããï¼
+
+(1) éçAPIã«ããçæ
+
+DEF_INHãç¨ããã³ãã©åºå
+¥ãå£å¦çãçæããï¼CPUä¾å¤ãã³ãã©ã®å ´åã¯ï¼
+DEF_EXCãç¨ããï¼
+åºå
+¥ãå£å¦çã¯æå®ãããã³ãã©+_entryã¨ããåç§°ã§çæãããï¼ä¸è¨ã®
+ä¾ã§ã¯ï¼timer_handler_entry ã¨ãªãï¼
+
+ä¾: ã¿ã¤ããã³ãã© timer_handler ã®ç»é²
+    DEF_INH(INTHDR1, { TA_HLNG, timer_handler });
+
+(2) ãã¯ã¿ãã¼ãã«ç»é²
+
+ãã¯ã¿ãã¼ãã«ã«(1)ã§ç»é²ãããã³ãã©åºå
+¥ãå£å¦çãè¨è¿°ããï¼
+
+const void *VectorTable[] = {
+                   :
+            INT_ENTRY(timer_handler),
+                   :
+}
+
+INT_ENTRY ã¯ï¼ãã©ã¡ã¼ã¿ã¨ãã¦æå®ãããæå­åã«_entryãä»å ãã
+ãã¯ã­ã§ããï¼CPUä¾å¤ãã³ãã©ã®å ´åã¯ï¼EXC_ENTRY ãç¨ããï¼
+
+ãã¯ã¿ãã¼ãã«ããã­ã°ã©ã ã§æ¸ãæãå¯è½ãªã»ã¯ã·ã§ã³ï¼.dataãªã©ï¼ã«
+é
+ç½®ããå ´åï¼ãã¯ã­define_inh ãç¨ãã¦åçã«ãã¯ã¿ãã¼ãã«ãæ´æ°
+ãããã¨ãå¯è½ã§ããï¼ãã®å ´åéçãªè¨è¿°ã¯å¿
+é ã§ã¯ãªããï¼ä¾å¤ã¨ãã¦ï¼
+ãã¯ã¿ãã¼ãã«0çªã«ç»é²ãããªã»ãããã¯ã¿ã«ã¤ãã¦ã¯ï¼ãããããç»é²
+ãã¦ããã¹ãã§ããï¼define_inh ã«ãããã³ãã©ã®ç»é²ã¯ãã­ã°ã©ã ã
+åä½ãã¦ããæ¸ãæããè¡ãããããï¼å®è¡åã«ãªã»ãããè¡ãã¨ãã­ã°
+ã©ã ã®å®è¡éå§çªå°ãç¹å®ã§ããªããªãå¯è½æ§ãããããã§ããï¼
+
+ã¦ã¼ã¶ã®ä½æãããã³ãã©ã¯åºå
+¥ãå£å¦çããå¼ã³åºãããå½¢ã¨ãªã
+ããï¼ä¸å³åç
+§ï¼ï¼ã­ã¼ã«ã«å¤æ°ãç¨ãããã¨ãå¯è½ã§ããï¼
+
+æ¬å®è£
+ã§ã¯å²ãè¾¼ã¿ãã³ãã©ã«ã¤ãã¦ã®ã¿ãµãã¼ããã¦ããï¼å²ãè¾¼ã¿ãµã¼ãã¹
+ã«ã¼ãã³ã«ã¤ãã¦ã¯ãµãã¼ããã¦ããªãï¼
+
+                       å²ãè¾¼ã¿ãã³ãã©     å²ãè¾¼ã¿ãã³ãã©
+                       åºå
+¥ãå£å¦ç
+
+    å¤é¨å²è¾¼ã¿çºç --->
+                       | 1.ã¬ã¸ã¹ã¿ã®éé¿
+                       | 2.ã¹ã¿ãã¯åãæ¿ã
+                       | 3.å²ãè¾¼ã¿ãã¹ã
+                       |   ã«ã¦ã³ãæ´æ°ï¼+1ï¼
+                       | 4.IEãããè¨­å®ï¼ONï¼
+                       |
+                       +------------------->
+                                            | 5.å²ãè¾¼ã¿è¦å ã®ã¯ãªã¢
+                                            | 6.å²ãè¾¼ã¿å¦ç
+                                            |
+                        <-------------------+
+                       |
+                       | 7.CPUãã­ãã¯
+                       | 8.å²ãè¾¼ã¿ãã¹ã
+                       |   ã«ã¦ã³ãæ´æ°ï¼-1ï¼
+                       | 9.ã¹ã¿ãã¯åãæ¿ã
+    ãã£ã¹ããã   <---+
+    or ãªã¿ã¼ã³
+
+    ã¬ã¸ã¹ã¿ã®å¾©å
+ã¯
+    ããã§è¡ãããï¼
+
+å²ãè¾¼ã¿ãã³ãã©ã«ããã¦ä»¥ä¸ã®æ¡ä»¶ããã¹ã¦æºè¶³ããå ´åï¼å²ãè¾¼ã¿ãã³
+ãã©ã®ãã­ãã¿ã¤ãå®£è¨ã§__attribute__ ((interrupt_handler))ãæå®ãã
+ãã¨ã§ãã¯ã­ã«ããåºå
+¥ãå£å¦çã®è¿½å ã¯ä¸è¦ã«ãªãï¼
+
+  åºå
+¥ãå£å¦çãçç¥ã§ããæ¡ä»¶
+    1. ã¹ã¿ãã¯é åãä½¿ç¨ããªã
+    2. ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ããªã
+    3. å¤éå²ãè¾¼ã¿ãè¨±å¯ããªã
+
+ãã­ã°ã©ã ã«ããæ¸ãæããä¸å¯è½ãªã»ã¯ã·ã§ã³ï¼.rodataãªã©ï¼ã«ãã¯ã¿ãã¼ãã«
+ãé
+ç½®ããç¶æ
+ã§defind_inh ãä½¿ç¨ããå ´åï¼ãã¯ã¿ãã¼ãã«ã®æ¸ãæãã¯è¡
+ãããªãï¼ã¾ãï¼ãããã¨ã©ã¼ã¨ãã¦æ¤åºãããã¨ãããªãï¼
+
+2.5 ã¹ã¿ã¼ãã¢ããã«ã¼ãã³
+
+S1C33ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼sys_start.cï¼ã§ã¯æ¬¡ã®åæåå¦çãè¡ãï¼
+
+(1) ããã©ã«ããã¼ã¿ã¨ãªã¢ãã¤ã³ã¿ã®è¨­å®
+
+æåã«ï¼ããã©ã«ããã¼ã¿ã¨ãªã¢ãã¤ã³ã¿ã®ã¢ãã¬ã¹ãè¨­å®ããï¼
+ããã¯ï¼GNU33ã§ãã«ãããããã­ã°ã©ã ã¯ã°ã­ã¼ãã«ã·ã³ãã«ã®ã¢ãã¬ã¹ã
+ç¹å®ããããã«ãã¼ã¿ã¨ãªã¢ãã¤ã³ã¿ã¢ãã¬ã¹ããã®ãªãã»ããã§ã¢ãã¬ã¹ã
+ç¹å®ãã¦ããããã§ããï¼
+ãã®ããï¼æåã«ãªã³ã«ã¹ã¯ãªããã§æå®ããã¢ãã¬ã¹ï¼__dpï¼ããã¼ã¿ã¨ãªã¢
+ãã¤ã³ã¿ï¼r15 or dpã¬ã¸ã¹ã¿ï¼ã«è¨­å®ãã¦ããï¼
+
+(2) ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæåï¼PSRã¬ã¸ã¹ã¿ã®åæå
+
+ã¹ã¿ãã¯ãã¤ã³ã¿ã« STACKTOP ãè¨­å®ããï¼ããã§å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã«
+è¨­å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿
+ãã¯é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_config.h é¨ã§å®ç¾©ãããã¨ãæ³
+å®ãã¦ããï¼
+PSRã¬ã¸ã¹ã¿ãåæåããï¼å
+·ä½çã«ã¯0x00000000ãè¨­å®ãããï¼
+
+(3) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã«ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼
+S1C33ç¨ã½ã¼ã¹ã§ã¯sys_start.cã«é¢æ°ãç¨æãã¦ããï¼TTRBã®è¨­å®ï¼ã¾ãã¯
+IOã¬ã¸ã¹ã¿ã®è¨­å®ãè¡ã£ã¦ããï¼
+
+(4) RAMé åã®åæå
+
+ROMé åã«æ ¼ç´ããã¦ãã.dataã»ã¯ã·ã§ã³ã®åæå¤ãRAMä¸ã®å½è©²é åã¸ã³ãã¼
+ããï¼ã¾ãï¼.bssã»ã¯ã·ã§ã³ã0ã¯ãªã¢ããï¼.dataã»ã¯ã·ã§ã³ã®åæåã¯ãã­
+ã°ã©ã ã®ãããã³ã°ã«å¿ãã¦è¡ãï¼
+
+(5) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼
+S1C33ç¨ã½ã¼ã¹ã§ã¯sys_start.cã«é¢æ°ãç¨æãã¦ããï¼ã©ã¤ãã©ãªã®åæåé¢æ°
+ãå¼ã³åºãã¦ããï¼
+
+(6) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼åå²å¾ã«å¾©å¸°ãã¦ãããã¨ã¯
+ãªããï¼sys_start.cã§ã¯åå²å¦çå¾ã«haltå½ä»¤ã®ç¡éã«ã¼ããç¨æãã¦ããï¼
+
+2.6 ã¢ã¤ãã«å¦ç
+
+å®è¡ã§ããã¿ã¹ã¯ããªãå ´åã«å¦çãããã¢ã¤ãã«å¦çãå®è£
+ãã¦ããï¼ãã®
+å¦çã§ã¯ï¼å²ãè¾¼ã¿è¨±å¯ç¶æ
+ã«ããå¾ï¼halt å½ä»¤ãç¡éã«ã¼ãå
+ã§å¦çãã¦
+ããï¼
+
+2.7 ãã­ã»ããµåä½ã¢ã¼ã
+
+S1C33ãã­ã»ããµä¾å­é¨ã¯ï¼å¸¸æã¹ã¼ããã¤ã¶ã¢ã¼ãã§åä½ããï¼ï¼S1C33401
+ã®ã¿ï¼ããä»¥å¤ã®ãã­ã»ããµã§ã¯éå¸¸ç¨¼åæã«åä½ã¢ã¼ãã®æ¦å¿µããªãï¼
+ã¦ã¼ã¶ãã­ã°ã©ã ã«ããã¦ã¦ã¼ã¶ã¢ã¼ãã«ç§»è¡ããã¨ï¼ã«ã¼ãã«ã®åä½ã«æ¯é
+ããããããï¼ãããç¦æ­¢ããï¼
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã¯ï¼1mså¨æã§ãã¼ãã¦ã§ã¢ã¿ã¤ãå²ãè¾¼ã¿ãçºç
+ãããããã«è¨­å®ããã¦ããï¼sys_defs.h ä¸­ã§å®ç¾©ããã¦ãã TIC_NUME ã¨
+TIC_DENO ãå¤æ´ãããã¨ã§ï¼isig_tim å¼ã³åºãæã«æ´æ°ããã·ã¹ãã æéã®
+åä½ãä»»æã«å¤æ´ãããã¨ãã§ããï¼ããã©ã«ãã§ã¯1åã®ãã¼ãã¦ã§ã¢ã¿ã¤ã
+å²ãè¾¼ã¿ã§ã·ã¹ãã æéã 1 é²ããè¨­å®ã«ãªã£ã¦ããï¼
+ä»®ã«TIC_DENOã 2 ã¨ããã¨ï¼2åã®å²ãè¾¼ã¿ã§ã·ã¹ãã æéã 1 é²ãããã¨
+ã«ãªãï¼
+
+3.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã¯ï¼ãã£ãã«0ï¼LUXUN4ã¯ãã£ãã«2ï¼ã
+ä½¿ç¨ããã·ãªã¢ã«éä¿¡ãè¡ããããã«è¨­å®ããã¦ããï¼
+éä¿¡æ¡ä»¶ã¯ä»¥ä¸ã®éãã§ããï¼
+  éä¿¡æ¹å¼       : èª¿æ­©åæ 8ããã
+  éä¿¡éåº¦       : 115,200bps
+  ããªãã£       : ãªã
+  ã¹ãããããã : 1ããã
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+
+4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+
+    GNU33 v1.5
+    Cygwin ï¼cygwin DLL 1.5.9-1ï¼
+
+4.2 ãµã³ãã«ãã­ã°ã©ã æ§ç¯æ¹æ³
+
+DMT33209ãã¼ãç¨ã®ãµã³ãã«ãã­ã°ã©ã ã4.1é 
+ã«ç¤ºãç°å¢ã§æ§ç¯ããå ´åã
+ä¾ã¨ãã¦S1C33åºæã®æ³¨æç¹ãèª¬æããï¼
+ã«ã¬ã³ããã£ã¬ã¯ããªãjsp/ã§ãããã®ã¨ãã¦èª¬æããï¼
+
+(1) éçºç°å¢ã®æ§ç¯
+
+GNU33ãå±éããï¼S1C33æ©ç¨®ä¾å­é¨ã§ã¯ï¼c:\gnu33ï¼/cygdrive/c/gnu33ï¼ã«å±
+éããããã¨ãæ³å®ãã¦ããï¼ããä»¥å¤ã®ãã£ã¬ã¯ããªã«å±éãããå ´åã¯ï¼
+config/s1c33-gnu33/Makefile.configã®ä¿®æ­£ãå¿
+è¦ã§ããï¼
+config/s1c33-gnu33/Makefile.configã«ããã¦éçºç°å¢ã®ãã¹ã¯TOPDIRã¨ãã¦
+å®ç¾©ããã¦ããï¼ãããä¿®æ­£ããï¼
+ãµã³ãã«ãã­ã°ã©ã æ§ç¯ã«ä½¿ç¨ããmakeã¯GNU33ã«å«ã¾ããMakeï¼GNU Makeã®
+ã©ã¡ãã§ãä½¿ç¨å¯è½ã§ããï¼
+
+  å±éå
+ã/usr/local/gnu33ã¨ããå ´å
+
+  TOPDIR = /usr/local/gnu33
+
+GNU33ã«ã¯cygwin1.dllãåæ¢±ããã¦ããããï¼Cygwinç°å¢ã§cygwin1.dllãè¤æ°
+å­å¨ãããã¨ã«ããã¨ã©ã¼ãçºçããå ´åã¯ï¼GNU33ã®cygwin1.dllãCygwinã®
+cygwin1.dllã§ç½®ãæãï¼åä¸ã®ãã¼ã¸ã§ã³ã«ããï¼ï¼å
+±ã«ææ°çã¨ããã®ã
+æã¾ããï¼
+
+(2) ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ã³ã³ãã¤ã«
+
+TOPPERSã®å±éç´å¾ç­ã§ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãä½æãã¦ããªãå ´åã¯ä½æããï¼
+ä½ææ¹æ³ã«ã¤ãã¦ã¯user.txtãåç
+§ããããï¼
+
+(3) ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã«ããMakefileï¼ãµã³ãã«ãã­ã°ã©ã ã®
+    çæ
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã«ããï¼Makefileï¼ãµã³ãã«ãã­ã°ã©ã ã®ç
+æãè¡ãï¼ãã®ã¨ãï¼éçºç°å¢åã«gnu33ãæå®ããï¼
+
+  % mkdir dmt33209
+  % cd dmt33209
+  % ../configure -C s1c33 -S dmt33209 -T gnu33
+
+GNU33ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã¯ELFå½¢å¼ã¨ãªããï¼Cygwinç°å¢
+ã§ã¯ã¿ã¼ã²ãããªãã¸ã§ã¯ãã®ãã¡ã¤ã«åã«æ¡å¼µå­exeãä»å ãããï¼
+æ¡å¼µå­ãå¤ãããå ´åã¯OBJEXTã®å®ç¾©ãå¤æ´ããï¼
+
+  æ¡å¼µå­ãelfã¨ãããå ´å
+
+  OBJEXT = elf
+
+(4) ã³ã³ãã¤ã«
+
+ã³ã³ãã¤ã«ãè¡ãï¼ããã¯æ¨æºçãªæé ã¨åæ§ã§ããï¼
+
+  % make depend
+  % make
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+config/s1c33/
+    Makefile.config      Makefileã® S1C33 ä¾å­å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+    cpu_config.c         ãã­ã»ããµä¾å­é¨ã®é¢æ°
+    lib.c                ANSI Cã©ã¤ãã©ãªåæåé¢æ°ã½ã¼ã¹ãã¡ã¤ã«
+    makeoffset.c         offset.h çæãµãã¼ããã­ã°ã©ã 
+    sys.c                ä½ã¬ãã«å
+¥åºåé¢æ°ã½ã¼ã¹ãã¡ã¤ã«
+    cpu_config.h         ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+    cpu_context.h        ã³ã³ãã­ã¹ãæä½
+    cpu_defs.h           ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    cpu_insn.h           ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+    cpu_rename.h         ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    cpu_unrename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    s1c33.h              S1C33 CPUã«é¢ããå®ç¾©
+    tool_config.h        éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©
+    tool_defs.h          éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    cpu_rename.def       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    cpu_unrename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+config/s1c33/dmt33209
+    hw_serial.cfg        SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+    Makefile.config      Makefileã® DMT33209 ä¾å­å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+    hw_serial.c          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«é¢ããå¤æ°ã¨é¢æ°
+    sys_config.c         ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+    sys_start.c          ãã¼ããã­ã°ã©ã  ã½ã¼ã¹ãã¡ã¤ã«
+    dmt33209.h           DMT33209ãã¼ãã«é¢ããå®ç¾©
+    hw_serial.h          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹æä½ã«ã¼ãã³
+    hw_timer.h           ã¿ã¤ãæä½ã«ã¼ãã³
+    sys_config.h         ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+    sys_defs.h           ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    sys_rename.h         ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    sys_unrename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    sys_rename.def       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    sys_unrename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    dmt33209.ld          ãµã³ãã«ãã­ã°ã©ã ç¨ãªã³ã«ã¹ã¯ãªãããã¡ã¤ã«
+
+config/s1c33/luxun2
+    hw_serial.cfg        SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+    Makefile.config      Makefileã® LUXUN2 ä¾å­å®ç¾©
+    hw_serial.c          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«é¢ããå¤æ°ã¨é¢æ°
+    sys_config.c         ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+    sys_start.c          ãã¼ããã­ã°ã©ã  ã½ã¼ã¹ãã¡ã¤ã«
+    hw_serial.h          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹æä½ã«ã¼ãã³
+    hw_timer.h           ã¿ã¤ãæä½ã«ã¼ãã³
+    luxun2.h             LUXUN2ãã¼ãã«é¢ããå®ç¾©
+    sys_config.h         ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+    sys_defs.h           ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    sys_rename.h         ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    sys_unrename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    sys_rename.def       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    sys_unrename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    luxun2.ld            ãµã³ãã«ãã­ã°ã©ã ç¨ãªã³ã«ã¹ã¯ãªãããã¡ã¤ã«
+
+config/s1c33/dmt33401
+    hw_serial.cfg        SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+    Makefile.config      Makefileã® DMT33401 ä¾å­å®ç¾©
+    hw_serial.c          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«é¢ããå¤æ°ã¨é¢æ°
+    sys_config.c         ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+    sys_start.c          ãã¼ããã­ã°ã©ã  ã½ã¼ã¹ãã¡ã¤ã«
+    hw_serial.h          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹æä½ã«ã¼ãã³
+    hw_timer.h           ã¿ã¤ãæä½ã«ã¼ãã³
+    dmt33401.h           DMT33401ãã¼ãã«é¢ããå®ç¾©
+    sys_config.h         ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+    sys_defs.h           ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    sys_rename.h         ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    sys_unrename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    sys_rename.def       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    sys_unrename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    dmt33401.ld            ãµã³ãã«ãã­ã°ã©ã ç¨ãªã³ã«ã¹ã¯ãªãããã¡ã¤ã«
+
+config/s1c33/luxun4
+    hw_serial.cfg        SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+    Makefile.config      Makefileã® LUXUN4 ä¾å­å®ç¾©
+    hw_serial.c          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«é¢ããå¤æ°ã¨é¢æ°
+    sys_config.c         ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+    sys_start.c          ãã¼ããã­ã°ã©ã  ã½ã¼ã¹ãã¡ã¤ã«
+    hw_serial.h          ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¤ã¹æä½ã«ã¼ãã³
+    hw_timer.h           ã¿ã¤ãæä½ã«ã¼ãã³
+    luxun4.h             LUXUN4ãã¼ãã«é¢ããå®ç¾©
+    sys_config.h         ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+    sys_defs.h           ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    sys_rename.h         ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+    sys_unrename.h       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    sys_rename.def       ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+    sys_unrename.def     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+    luxun4.ld            ãµã³ãã«ãã­ã°ã©ã ç¨ãªã³ã«ã¹ã¯ãªãããã¡ã¤ã«
+
+config/s1c33-gnu33
+    Makefile.config      Makefileã® S1C33 ä¾å­å®ç¾©ï¼GNU33éçºç°å¢ç¨ï¼
+
+config/s1c33-gnu33/dmt33209
+    Makefile.config      Makefileã® DMT33209 ä¾å­å®ç¾©ï¼GNU33éçºç°å¢ç¨ï¼
+
+config/s1c33-gnu33/luxun2
+    Makefile.config      Makefileã® LUXUN2 ä¾å­å®ç¾©ï¼GNU33éçºç°å¢ç¨ï¼
+
+config/s1c33-gnu33/dmt33401
+    Makefile.config      Makefileã® DMT33401 ä¾å­å®ç¾©ï¼GNU33éçºç°å¢ç¨ï¼
+
+config/s1c33-gnu33/luxun4
+    Makefile.config      Makefileã® LUXUN4 ä¾å­å®ç¾©ï¼GNU33éçºç°å¢ç¨ï¼
+
+5.2 ã¡ã¢ãªããã
+
+DMT33209ãã¼ã
+    ã¢ãã¬ã¹
+    0x00000000 - 0x00001fff : CPUå
+èµSRAM
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯é å
+    0x00040000 - 0x00004fff : å
+èµI/O ã¬ã¸ã¹ã¿é å
+
+    0x00200000 - 0x002fffff : ãã©ãã·ã¥ã¡ã¢ãª
+                              æªä½¿ç¨
+    0x00600000 - 0x006fffff : å¤é¨SRAM
+                              .bss, .dataã»ã¯ã·ã§ã³ç¨é å
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ä»¥å¤ã®RAM
+                              é åã¯ãã¹ã¦ããã«é
+ç½®ãããï¼
+    0x00c00000 - 0x00cfffff : ãã©ãã·ã¥ã¡ã¢ãª
+                              .text, .rodataã»ã¯ã·ã§ã³ï¼.dataã»ã¯ã·ã§ã³
+                              åæå¤æ ¼ç´é å
+                              0x00c00000ã¯S1C33ããã©ã«ãã®ãã¼ãã¢ãã¬ã¹
+
+LUXUN2ãã¼ã
+    ã¢ãã¬ã¹
+    0x00000000 - 0x00003fff : CPUå
+èµSRAM
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯é å
+    0x00040000 - 0x00004fff : å
+èµI/O ã¬ã¸ã¹ã¿é å
+
+    0x00400000 - 0x005fffff : å¤é¨SRAMï¼Virtual SRAMï¼
+                              æªä½¿ç¨
+    0x00800000 - 0x00ffffff : ãã©ãã·ã¥ã¡ã¢ãª
+                              .text, .rodataã»ã¯ã·ã§ã³ï¼.dataã»ã¯ã·ã§ã³
+                              åæå¤æ ¼ç´é å
+                              0x00c00000çªå°ä»¥éã«ä¸è¨ã»ã¯ã·ã§ã³ãé
+ç½®
+    0x02000000 - 0x027fffff : å¤é¨SRAMï¼Virtual SRAMï¼
+                              .bss, .dataã»ã¯ã·ã§ã³ç¨é å
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ä»¥å¤ã®RAM
+                              é åã¯ãã¹ã¦ããã«é
+ç½®ãããï¼
+
+DMT33401ãã¼ã
+    0x00000000 - 0x00007fff : CPUå
+èµSRAM
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯é å
+    0x00040000 - 0x00004fff : å
+èµI/O ã¬ã¸ã¹ã¿é å
+
+    0x00200000 - 0x002fffff : ãã©ãã·ã¥ã¡ã¢ãª
+                              æªä½¿ç¨
+    0x00600000 - 0x006fffff : å¤é¨SRAM
+                              .bss, .dataã»ã¯ã·ã§ã³ç¨é å
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ä»¥å¤ã®RAM
+                              é åã¯ãã¹ã¦ããã«é
+ç½®ãããï¼
+    0x10000000 - 0x11ffffff : å¤é¨SDRAM
+                              æªä½¿ç¨
+    0x20000000 - 0x200fffff : ãã©ãã·ã¥ã¡ã¢ãª
+                              .text, .rodataã»ã¯ã·ã§ã³ï¼.dataã»ã¯ã·ã§ã³
+                              åæå¤æ ¼ç´é å
+
+LUXUN4ãã¼ã
+    0x00000000 - 0x00007fff : CPUå
+èµSRAM
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯é å
+    0x00040000 - 0x00004fff : å
+èµI/O ã¬ã¸ã¹ã¿é å
+
+    0x01000000 - 0x011fffff : å¤é¨SRAMï¼Combo memoryï¼
+                              .bss, .dataã»ã¯ã·ã§ã³ç¨é å
+                              éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ä»¥å¤ã®RAM
+                              é åã¯ãã¹ã¦ããã«é
+ç½®ãããï¼
+    0x10000000 - 0x11ffffff : å¤é¨SDRAM
+                              æªä½¿ç¨
+    0x20000000 - 0x207fffff : ãã©ãã·ã¥ã¡ã¢ãªï¼Combo memoryï¼
+                              .text, .rodataã»ã¯ã·ã§ã³ï¼.dataã»ã¯ã·ã§ã³
+                              åæå¤æ ¼ç´é å
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh1.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh1.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh1.txt	(revision 26)
@@ -0,0 +1,1101 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    		    ï¼SH1 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.2å¯¾å¿ï¼æçµæ´æ°: 24-Jun-2010ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2001-2010 by Industrial Technology Institute,
+                             Miyagi Prefectural Government, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: sh1.txt,v 1.25 2005/11/14 08:00:54 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼SH1 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+SH1ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ãSH7032ãæ­è¼ããä»¥ä¸ã®ãã¼ã
+ããµãã¼ããã¦ããã
+
+ã»äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½ã®KZ-SH1-01(CPU: HD6417032F20)
+ã»CQåºç(æ ª)è£½ã®RISCè©ä¾¡ã­ãã SH-1(CPU: HD6417032F20)
+ã»(æ ª)ä¸­å¤®è£½ä½æè£½ã®Î¼ITRONæ­è¼SH1CPUãã¼ã(CPU: HD6417034F20)
+
+éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ãããã¯ ELF ãæ¨æºã¨ããã
+
+å®è¡ç°å¢ã¯ROMåããå ´åããµãã¼ããã¦ãããMakefile.configä¸­ã§ï¼å¤
+æ°DBGENVã«ROMãè¨­å®ãã¦ãããï¼å¤§å
+ã®Makefileã§GDB_STUBã«è¨­å®ããã
+ã®ãé²ãããï¼
+
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+SH1ä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxãget_ixx)ã¨ã
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ãããå²è¾¼ã¿
+ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã¯ãµãã¼ããã¦ããªãã
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+ç¾ãã¼ã¸ã§ã³ã§ã¯ãSH7032ããµãã¼ããã¦ãããSHã·ãªã¼ãºã¯SH1,SH2ã¨SH3ä»¥
+éã§ã¯å²è¾¼ã¿ã®æ±ããããªãç°ãªããå
+·ä½çã«ã¯SH1ãSH2ã¯ãã¯ã¿ãã¼ãã«ã
+åç
+§ãã¦ãå²è¾¼ã¿è¦å å¥ã«ç¨æãããå²è¾¼ã¿ãã³ãã©ã«åå²ãããããã«å¯¾ã
+ã¦ãSH3ãSH4ã§ã¯å²ãè¾¼ã¿è¦å ã«ãããä¸åº¦åä¸ã®å²è¾¼ã¿ãã³ãã©ã«åå²ãã
+å¾ãå²ãè¾¼ã¿è¦å ãã»ãããããã¬ã¸ã¹ã¿ãåç
+§ãã¦ååº¦ãåå²ããã
+
+1.4 GDB ã¹ã¿ã
+
+TOPPERS/JSP ã«ã¼ãã« SH1çã¯GDBã¹ã¿ãä¸ã§ã®ãããã°ããµãã¼ããã¦ããã
+åä½ç¢ºèªã¯äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½ã®KZ-SH1-01ã§è¡ã£ãã
+GDBã¹ã¿ãã¨çµã¿åããã¦ä½¿ç¨ãããã¨ãèæ
+®ãã¦ãä»æ©ç¨®çã®JSPã«ã¼ãã«ã¨
+åæ§ã«ãã½ã¼ã¹ã³ã¼ãå
+ã«ãã¯ã­GDB_STUBã«ããæ¡ä»¶ã³ã³ãã¤ã«ã®è¨­å®ãè¡ã£
+ã¦ãããå®è¡ç°å¢ã®è¨­å®ã¯$(SYS)/Makefile.configå
+ã®å¤æ°DBGENVã§è¡ãã
+SH1ç¨ã®GDBã¹ã¿ãã¯ç¾å¨ãå
+¬éæºåä¸­ã§ãããéããªãå
+¬éäºå®ã§ããã
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã·ãªã¢ã«ãã¼ããï¼ã¤ä½¿ç¨ããã
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯
+ãã»8ããã
+ãã»ããªãã£ãªã
+ãã»ã¹ããããããï¼1ããã
+ãã»ãã¼ã¬ã¼ãï¼
+ãããäº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½ã®KZ-SH1-01ï¼38400bps
+ããã(æ ª)ä¸­å¤®è£½ä½æè£½ã®Î¼ITRONæ­è¼SH1CPUãã¼ãï¼ 9600bps
+ã§ããã
+
+
+ï¼ï¼SH1ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãSH1ä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããã
+
+2.1 ãã¼ã¿å
+
+signed intåï¼unsigned intåï¼size_tåã®ãµã¤ãºã¯ï¼ãããã32ãããã§ã
+ãï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ã NMI ãããããã£ã¦ãCPUã­ãã¯ç¶æ
+ãå
+æåã«ã¼ãã³å
+ã§ã¯ãNMI ä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ãããå
+·ä½çã«ã¯ã
+IPM(Interrupt Priority Mask)ã 15 ã«è¨­å®ãããã
+
+å°æ¥çã«GDBã¹ã¿ããå©ç¨ãããã¨ãèæ
+®ãã¦ãã½ã¼ã¹ã³ã¼ãå
+ã«ä»¥ä¸ã®ãã
+ãªè¨è¿°ãå«ãã
+ãã¼ãä¸ã« NMI å
+¥åãæããªãã¿ã¼ã²ããã®ãããGDB ã®ã¹ã¿ãããã¹ãã®
+ãã·ã³ã¨éä¿¡ããããã®ã·ãªã¢ã«ãã¼ãã®åªå
+åº¦ã 15 ã§ç»é²ããGDB ã§
+Ctrl-C ãæ¼ãã¨ å²ãè¾¼ã¿ãå
+¥ãã¹ã¿ãã«å¶å¾¡ãç§»ãããã«ãã¦ããããã®æ©
+è½ãä½¿ç¨ããããã«ã¯CPUã­ãã¯ç¶æ
+ã§ã¯ãåªå
+åº¦ã 14 ã«ãªãããã«ããªã
+ãã°ãªããªãããã®ãããCPUã­ãã¯ã§è¨­å®ãããåªå
+åº¦ããã¯ã­ MAX_IPMã§
+æå®ãã¦ãããMAX_IPM ã¯cpu_config.h ã®ä¸­ã§ #define ããã¦ãããã¹ã¿ã
+ãä½¿ãå ´åã¯MAX_IPMã14ã«ãã¹ã¿ããä½¿ããªãå ´åã¯MAX_IPMã15ã«è¨­å®ãã¦
+ããã
+
+SH1ä¾å­ã®æ©è½ã¨ãã¦ãSR(Status Register)ä¸­ã® å²ãè¾¼ã¿ãã¹ã¯ããã(I3ã
+I0)ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã« chg_ipm ã¨ãåç
+§ããããã®ãµã¼ã
+ã¹ã³ã¼ã« get_ipm ããµãã¼ããã¦ããããªããå²ãè¾¼ã¿ãã¹ã¯ãããã®å¤ã
+è¡¨ããã¼ã¿å IPM ã¯ãunsigned intåã«å®ç¾©ããã¦ããã
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ãããchg_ipm ã«ãã IPM ã 0 ä»¥å¤(ããªãã¡ãä½
+ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+)ã«ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ã
+ãããchg_ipm ã«ããå¤æ´ãã IPM ã®å¤ã¯ããã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ã
+ç¶ããããä¾ãã°ãããã¿ã¹ã¯ã§ IPM ã 1 ã«å¤æ´ããå¾ãä½ããã®å²è¾¼ã¿ã«
+ããå¥ã®ã¿ã¹ã¯ã«åãæ¿ããã¨ãåãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯1ã«ãªãã
+
+chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããããããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+SUPPORT_CHG_IPM ã¯ãuser_config.h ã®ä¸­ã§ #define ããã¦ããã
+
+SH1ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®é
+ãã
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+IPM(Interrupt Priority Mask)ã ipm ã§æå®ãããå¤ã«è¨­å®ãããæå®ãã
+å¤ã 0ã14ãªãã0ã13ä»¥å¤ã®å ´åãE_PARã¨ã©ã¼ã¨ãªããIPM ã0ä»¥å¤
+ï¼1ãMAX_IPM-1ï¼ã«è¨­å®ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ãããªããã¾ãã
+è¨­å®ãã IPM ã®å¤ã¯ããã£ã¹ãããå¾ãå¼ãç¶ãããã
+
+ãªãããã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ãIPM ã MAX_IPM (ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢)
+ã«è¨­å®ãããã¨ã¯ã§ããªããIPM ã MAX_IPM ã«ãããå ´åã«ã¯ãloc_cpu ã
+ä½¿ãã¹ãã§ããã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPM(Interrupt Priority Mask)ã®å¤ãèª­ã¿åºããipm ã«è¿ãã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(excno)ã¯ãSH1 ã§ã® ãã¯ã¿ãã¼ãã«
+ã®ãã¯ã¿çªå·ãè¡¨ãããã®ãã¼ã¿å(EXCNO)ã¯ unsigned intåã«å®ç¾©ããã¦ã
+ããDEF_EXC ã§ããã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçª
+å·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ããããã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãã
+
+
+      ----------------------
+     |         PR           |
+      ----------------------
+     |         R7           |
+      ----------------------
+     |         R6           |
+      ----------------------
+     |         R5           |
+      ----------------------
+     |         R4           |
+      ----------------------
+     |         R3           |
+      ----------------------
+     |         R2           |
+      ----------------------
+     |         R1           |
+      ----------------------
+     |         R0           |
+      ----------------------
+     |         PC           |
+      ----------------------
+     |         SR           |  <-- p_excinf
+      ----------------------
+
+     PR:Procedure Register
+     SR:Status Register
+     PC:Program Counter
+
+ã¾ããCPUä¾å¤çºçæã®PCã®å¤ã¯ã¤ã³ã¯ãªã¡ã³ããããããã®ãããCPUä¾å¤ã
+ã³ãã©ããå¾©å¸°ãè¡ãã¨ãCPUä¾å¤ãçºçããå½ä»¤ã®æ¬¡ã®å½ä»¤ããå®è¡ãåé
+ããã
+
+
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+SH1ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+å²ãè¾¼ã¿ãã¹ã¯ã MAX_IPM ã«è¨­å®ããã
+
+æ¬¡ã«ãã¹ã¿ãã¯ãã¤ã³ã¿(r15)ã STACKTOP ã«è¨­å®ãããããã§å²è¾¼ã¿ã¹ã¿ã
+ã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ãã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­
+ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ããããSTACKTOP ã¯ãuser_config.h é¨ã§å®ç¾©
+ãããã¨ãæ³å®ãã¦ããã
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ãããhardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ãã)ã
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ãããã¾ããdataã»ã¯ã·ã§ã³ãåæåããã
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+
+2.5 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éã«ã¤ãã¦
+
+ä»¥ä¸ã®çç±ã«ãããåã¿ã¹ã¯ã¹ã¿ãã¯ã¯ã¿ã¹ã¯èªèº«ãä½¿ç¨ããåã«å ãã¦æå¤§
+240ãã¤ãä½åã«ç¨æããå¿
+è¦ãããã
+
+JSPã«ã¼ãã«ã§ã¯ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä»ã«å²è¾¼ã¿ã¹ã¿ãã¯ãç¨æããéã¿ã¹ã¯ã³
+ã³ãã­ã¹ãã¯å²è¾¼ã¿ã¹ã¿ãã¯ã§å®è¡ãããã
+SH1ã¯ä¾å¤/å²è¾¼ã¿åä»æã«å²è¾¼ã¿ç¦æ­¢ã«ãªãæ©æ§ããã¼ãã¦ã§ã¢ã§ç¨æããã¦
+ããªãããã®ãããå²è¾¼ã¿ã®å
+¥å£å¦çã§ã½ããã¦ã§ã¢ã«ãã£ã¦å²è¾¼ã¿ç¦æ­¢ã«ã
+ãå¿
+è¦ããããå
+¥å£å¦çã§ã¯å²è¾¼ã¿ç¦æ­¢ã«ç§»è¡ããããã«ï¼å²è¾¼ã¿è¨±å¯ã®ç¶æ
+
+ã§ï¼ã¹ã¿ãã¯ã«r0,r1ãå¾
+é¿ãããï¼SR(Status Register)ã¨PC(Program
+Counter)ã¯å²è¾¼ã¿åä»ãæã«ãã¼ãã¦ã§ã¢ãèªåçã«å¾
+é¿ãè¡ããï¼
+ãã®ã¨ããå¤éå²è¾¼ã¿ãçºçããã¨å²ãè¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ããåã«åæ§ã®
+ãã¬ã¼ã ãã¹ã¿ãã¯ä¸ã«çæããããSH1ã¯å²ãè¾¼ã¿ã¬ãã«ã15æ®µããã®ã§ã
+ææªã®ã¿ã¤ãã³ã°ã§å²è¾¼ã¿ãçºçããã¨ãã¹ã¿ãã¯ã240ãã¤ãæ¶è²»ãããã
+ï¼4ãã¤ãÃ4ã¬ã¸ã¹ã¿Ã15ã»ããï¼
+
+ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ãç¨ã«ã«ã¼ãã«å
+ã§å¤æ°intnestãç¨æ
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å¤å¥ã¯ãã®å¤æ°ã«ãã
+è¡ã£ã¦ããã
+
+
+2.6 MACHã¨MACL (ç©åã¬ã¸ã¹ã¿ï¼
+      MACH:Multiply and accumulate high register
+      MACL:Multiply and accumulate low register
+
+MACHã¨MACLã«ã¤ãã¦ã¯ãgccã«-mhitachiãªãã·ã§ã³ãã¤ããã¨ãé¢æ°ã§MACHã¨
+MACLãä½¿ç¨ããå ´åãã¹ã¿ãã¯ã«ä¿å­ãã¦ããä½¿ç¨ããé¢æ°ãæããã¨å
+ã«æ»
+ããããå²è¾¼ã¿ã§ã¯ä¿å­ãã¦ããªããã¾ããèªããã£ã¹ãããã£ãå¼ã³åºãã
+ãã£ã¹ãããããå ´åã¯ãé¢æ°å¼ã³åºãã«ãªãããããã®å¼ã³åºãã«ã¾ããã£
+ã¦ããããã®ã¬ã¸ã¹ã¿ãä½¿ããã¨ã¯ãªãããä¿å­ãã¦ããªãããã®ããã¢ã»ã³
+ãã©ã®ã³ã¼ããä½¿ç¨ããå ´åããã®ã«ã¼ã«ã«å¾ãå¿
+è¦ãããã
+ãªããå²è¾¼ã¿ããã®ãã£ã¹ããã(ååçãã£ã¹ããã)ã§ã¯ä¿å­ãã¦ããã
+
+
+2.7 GBR (Global Base Register)
+
+gccã¯GBRãä½¿ç¨ããªããããå²è¾¼ã¿ãã³ãã©ã®å
+¥å£ã§ã¯ä¿å­ãã¦ããªããå²è¾¼
+ã¿ãã³ãã©å
+ã§GBRãä½¿ãå ´åã¯ã¢ããªã±ã¼ã·ã§ã³å´ã§GBRã®å¾
+é¿/ä¿å­ãè¡ã
+å¿
+è¦ããããã¾ããä¸è¨ã®MACHã¨MACLã¨åãçç±ã«ãããèªããã£ã¹ãããã£
+ãå¼ã³åºãå ´åã«ãä¿å­ãã¦ããªãããªããå²è¾¼ã¿ããã®ãã£ã¹ããã(åå
+çãã£ã¹ããã)ã§ã¯ä¿å­ãã¦ããã
+
+
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãuser_config.h ä¸­
+ã®TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ã
+ãã
+ãã ããã¿ã¤ãã®ç²¾åº¦ã 1Î¼ç§ã§ããããã1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®
+ããå ´åã«ã¯ãisig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãã
+ããã©ã«ãã§ã¯SH1ã®å
+èµã¤ã³ãã°ã¬ã¼ãããã»ã¿ã¤ãã»ãã«ã¹ã»ã¦ããã
+ITUã®ãã£ãã«0ãä½¿ç¨ãã¦ãããã¿ã¤ããã³ãã©ã®åªå
+åº¦ã¯user_config.hã§
+ãã¯ã­TINTLVL0ã¨ãã¦å®ç¾©ãã¦ãããï¼ããã©ã«ãã§ã¯4ï¼
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+SH1ä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦
+ãããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ 1Î¼ç§åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤
+ãèª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ã
+å¼ã¶åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãããªããSYSUTIMåã¯
+UDå(64ãããã®ç¬¦å·ç¡ãæ´æ°å)ã«å®ç¾©ãã¦ããã
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ãSH1å
+èµã®SCIï¼Serial Communication
+Interfaceï¼ã®ãã£ãã«0ããµãã¼ããã¦ãããã«ã¼ãã«ã®ã­ã°åºåç¨ã«ä½¿ç¨
+ãã¦ãããã·ãªã¢ã«å²è¾¼ã¿ãã³ãã©ã®åªå
+åº¦ã¯éåä¿¡ããã³ã¨ã©ã¼å²è¾¼ã¿å
+±
+ã«user_config.hã§ãã¯ã­SCIINTLVLã¨ãã¦å®ç¾©ãã¦ããã
+ï¼ããã©ã«ãã§ã¯6ï¼
+
+
+3.4 ã¡ã¢ãªããã
+
+ã»äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½ã®KZ-SH1-01
+ã»CQåºç(æ ª)è£½ã®RISCè©ä¾¡ã­ãã SH-1
+
+ãã®ï¼ã¤ã®ãã¼ãã¯ã¡ã¢ãªãããã³ã°ãåããªã®ã§ãä¾å­é¨ã®ã½ã¼ã¹ã³ã¼ãã¯
+å
+±éã§ãããï¼CQåºçã®ãã¼ãã¯ä¸è¨ã®ãæ³¨æãã®é 
+ãåç
+§ï¼
+ä¾å­é¨ã§ã¯ãã³ã¼ãé åã 0x0000,0000 ã 0x0003,ffffã®256KBããã¼ã¿é å
+ã0x0a00,0000 ã ã®256KBãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã ã
+0x0a03,ffff ã«ç¢ºä¿ãã¦ããã
+
+æ³¨æ
+ãCQåºçã®RISCè©ä¾¡ã­ãã SH-1ã¯ããã©ã«ãã®è¨­å®ï¼8ããããã¹ãROM1åï¼
+ãã§ã¯ãã¢ãã¬ã¹ãã¹ã®æ¥ç¶ãã·ããããã¦ããããã®ãããROMã®ã¢ãã¬ã¹
+ãã¨å®ã¢ãã¬ã¹ãä¸è´ããªãã
+ãä»å±ã®ROMã¢ãã¿ä»¥å¤ã®ã¦ã¼ã¶ã¼ãã­ã°ã©ã ãROMåããå ´åã¯ãã¢ãã¬ã¹
+ããã¹ã®è¨­å®ã16ãããï¼ROM2åï¼ã«å¤æ´ããå¿
+è¦ãããã
+ãï¼ãã¼ãä»å±ã®ããã¥ã¢ã«p17ãåç
+§ï¼
+
+ã»(æ ª)ä¸­å¤®è£½ä½æè£½ã®Î¼ITRONæ­è¼SH1CPUãã¼ã
+ã¡ã¢ãªå®è£
+ã¿ã¤ããFROM,SRAMãããã2ç¨®é¡ãã
+ãFROM
+ãã»0x0000,0000 - 0x0007,ffff  ã³ã¼ãé å(512KB)
+ãã»0x0000,0000 - 0x0003,ffff  ã³ã¼ãé å(256KB)
+ãSRAM
+ãã»0x0200,0000 -              ãã¼ã¿é å(512KB)
+                - 0x0207,ffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+ãã»0x0200,0000 -              ãã¼ã¿é å(128KB)
+                - 0x0201,ffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+ãã ãã³ã¼ãé åã®0x0000,0000 ã 0x0000,ffffã«FROMæ¸è¾¼ã¿ãã­ã°ã©ã ã
+å
+èµãã¦ãããããæ¸æå¯è½ãªã³ã¼ãé åã¯0x0001,0000 ããã¨ãªã£ã¦ããã
+ã¾ããROMICEä½¿ç¨æï¼S3ã¹ã¤ããONï¼ã¯ãå®è£
+FROMã¯ã¨ãªã¢ï¼ï¼0x0400,0000 ã ï¼
+ã«ãããã³ã°ãããã
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ã
+éçºã«ã¯Windows2000 SP3 + Cygwinãç¨ããã
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+    BINUTILS : 2.13.2.1
+    GCC-CORE : 2.95.3
+    NEWLIB   : 1.8.1ï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½KZ-SH1-01ï¼
+ããããããã 1.11.0ï¼(æ ª)ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ããä¸è¨åç
+§ï¼
+
+configure ã®ãªãã·ã§ã³ã¯--target=sh-hitachi-elfã§ããã
+ã¾ããWindowsä¸ã§Cygwinãç¨ãã¦éçºããå ´åã¯ãbinutilsã®configureã®ãª
+ãã·ã§ã³ã« --disable-nls ãæå®ãããã¨ã
+
+åè
+ãã(æ ª)ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãã®åä½ç¢ºèªã®éã«ã¯newlib1.11.0ãç¨
+ãããã¦ãããnewlib1.11.0ã®makeæã«ã¨ã©ã¼ãçºçãããããnewlibãã£ã¬
+ããã¯ããªä¸ã®ãnewlib/libc\machine/sh/memset.Sãã®1è¡ç®ãã9è¡ç®ãã³
+ããã¡ã³ãã¢ã¦ããã¦ããã
+
+/*
+!
+! Fast SH memset
+!
+! by Toshiyasu Morita (tm@netcom.com)
+!
+! SH5 code by J"orn Rennecke (joern.rennecke@superh.com)ã<-- J"ã§ã¨ã©ã¼
+! Copyright 2002 SuperH Ltd.
+!
+*/
+
+
+ï¼ï¼å¶éäºé 
+
+
+5.1 ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¬ã¤ã¤ã®sil_dly_nse()ã«ã¤ãã¦
+
+æ¬æ¥ã¯nsecåä½ã®æéå¾
+ã¡ãè¡ãé¢æ°ã¾ãã¯ãã¯ã­ã§ããããå®æ¸¬ããã¨ããã
+1åã®å¼ã³åºãã§æä½ã§ã2240nsecãããã£ã¦ããã®ã§ãã¨ã¦ãnsecåä½ã¨ã¯
+è¨ããªãç¶æ
+ã§ãããï¼åä½éåº¦ãé
+ãããã¤ã¹ã«ã¢ã¯ã»ã¹ããããã®æ©è½ãª
+ã®ã§åé¡ã¯ãªãã¨æããããï¼
+ãæ¸¬å®æ¡ä»¶ï¼
+ãããã¼ãï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿KZ-SH1-01
+ããã¯ã­ãã¯å¨æ³¢æ°ï¼20MHz
+ãããã¹ã¹ãã¼ãã³ã³ãã­ã¼ã©ã®è¨­å®ï¼
+ããããã¨ãªã¢0ï¼ãªã¼ããµã¤ã¯ã«ã§WAITä¿¡å·ã«ããã¦ã§ã¼ãã¹ãã¼ãæ¿å
+¥ãªã
+ããããã¨ãªã¢0,2ï¼1ã¹ãã¼ãã­ã³ã°ã¦ã§ã¤ã
+ããããã¨ãªã¢3ï¼ãªã¼ããµã¤ã¯ã«ã¯ï¼ã¹ãã¼ãã§çµäº
+
+5.2 SIL_LOC_INT()ã«ã¤ãã¦
+
+SH1çã§ã¯SIL_LOC_INT()ã®å®è£
+ã¯CPUã­ãã¯ã¨åãå®ç¾æ¹æ³ãç¨ãã¦ããã
+ï¼å²è¾¼ã¿ã­ãã¯ããã¹ãã§ããç¹ã¯CPUã­ãã¯ã¨ç°ãªããï¼ãã®ããã
+SIL_LOC_INT()ã§å²è¾¼ã¿ç¦æ­¢ãã¦ããåºéã§ã¯ãsns_loc()åã³vxsns_loc()ã§
+CPUã­ãã¯ç¶æ
+ã¨å¤å¥ããã¦ãã¾ãã
+JSPã«ã¼ãã«ã§ã¯å
+ã
+ãå²è¾¼ã¿ã­ãã¯ä¸­ã«ã¯ãµã¼ãã¹ã³ã¼ã«ãä½¿ç¨ã§ããªãã¨
+è¦å®ãã¦ããã®ã§ãå½±é¿ã¯å°ãªãã¨æãããã
+ï¼jsp/user.txtã®ã5.1.1 å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡ãåç
+§ï¼
+
+5.3 gcc3.xå¯¾å¿ã«ã¤ãã¦
+
+SH1çã¯gcc3.xç³»ã«å¯¾å¿ãã¦ããªãã
+SH1ã§ã¯machã¬ã¸ã¹ã¿ãä¸ä½10ãããããæ ¼ç´ãããªãã®ã«ãå¦çç³»ã®ä¸å
+·å
+ã«ããé¢æ°å¼ã³åºãã®éã«æ±ç¨ã¬ã¸ã¹ã¿ã®éé¿å
+ã¨ãã¦ãä½æ¥­ã¬ã¸ã¹ã¿ã«ä½¿ã
+ãã¦ãã¾ãããã®ãããã¬ã¸ã¹ã¿ã®å
+å®¹ãå¾©å
+ã§ããªããªããå¦çãç ´ç¶»ããã
+ããã¯JSPã«ã¼ãã«ã®æç¡ã«é¢ä¿ãªãèµ·ããç¾è±¡ã§ãããgccã¾ãã¯binutilsã
+ä¿®æ­£ããªãã¨å¯¾å¿ã§ããªãã
+ï¼-ffixed-machãªãã·ã§ã³ãè©¦ãããå¹æã¯ãªãã£ããï¼
+
+5.4 è§£æ±ºãããå¶éäºé 
+
+
+ä»¥ä¸ã®å¶éäºé 
+ã¯è§£æ±ºããã¦ããã
+
+5.4.1 å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã«ã¤ãã¦
+
+ãã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==NULLï¼å ´åã¯ã
+sleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«åãæ¿ãã¦å²è¾¼ã¿å¾
+ã¡ããã¦
+ãããï¼cpu_sapport.Sã®dispatcher_2ä»è¿ãåç
+§ï¼
+
+å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡åã«å²
+è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ãsleepå½ä»¤å®è¡åã«å²
+è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ãåãä»ãããã
+ãã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«ãªããreqflgã®ãã§ãã¯ã«é²ã¾ãªãã
+ï¼1msecä»¥å
+ã«ã¿ã¤ãå²è¾¼ã¿ãå
+¥ããããå®éã«ã¯sleepããã¾ã¾ã¨ãããã¨ã¯
+ãªããï¼
+
+ãã®åé¡ã¯ãå²è¾¼ã¿ã®è¨±å¯ã¨sleep ç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®è¡ã§ããªã
+ãã¨ã«èµ·å ãããSH3ä»¥éã§ã¯IPMã¨ã¯å¥ã«SRã®BLããããä½¿ã£ã¦å²è¾¼ã¿ã®ç¦æ­¢
+/è¨±å¯ãå¶å¾¡ãããã¨ã«ããããã®åé¡ãåé¿ã§ããããSH1/2ã§ã¯IPMãè¨­å®ã
+ãä»¥å¤ã«å²è¾¼ã¿ãç¦æ­¢ï¼è¨±å¯ããæ¹æ³ããªããå²è¾¼ã¿è¨±å¯ï¼å²è¾¼ã¿å¾
+ã¡ã®IPMè¨­
+å®ï¼ã¨sleepãã¢ãããã¯ã«è¡ãæ¹æ³ããªãã
+ããã§SH1ä¾å­é¨ã§ã¯ãå²è¾¼ã¿åä»æã«ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçªå°ãå¤éå²è¾¼
+ã¿ã®åºå£å¦çã§ãã§ãã¯ããæ»ãçªå°ãä¸è¨ã®sleepå½ä»¤ã«è©²å½ããå ´åã¯æ»ã
+çªå°ã1å½ä»¤åï¼2ãã¤ãï¼é²ãããã¨ã«ãããã®åé¡ãåé¿ãã¦ããã
+ãã ãããã®æ¹æ³ã§ã¯å¤éå²è¾¼ã¿ã®åºå£å¦çã«æ°å½ä»¤ã®ãªã¼ãã¼ããããçããã
+OMIT_POWER_CONTROLãã¯ã­ãå®ç¾©ãããã¨ã§sleepå½ä»¤ã®ä»£ããã«nopå½ä»¤ãæ¿å
+¥
+ãããå¤éå²è¾¼ã¿ã®åºå£å¦çã§ã®ãã§ãã¯ã«ã¼ãã³ã¯çç¥ããããï¼ãã®å ´åã¯
+æ¶è²»é»åã®ç¹ã§ä¸å©ã«ãªããï¼
+
+5.4.2 å²è¾¼ã¿ï¼CPUä¾å¤ã®åºå
+¥å£å¦çã«ã¤ãã¦
+
+SH1ã§ã¯å²è¾¼ã¿åä»ç´å¾ã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªããããå²è¾¼ã¿Aã®å
+¥å£å¦ç
+ä¸­ã«å¥ã®å²è¾¼ã¿Bãå
+¥ãå¯è½æ§ããããï¼ããã¯ãã¼ãã¦ã§ã¢ã®ã¢ã¼ã­ãã¯
+ãã£ä¸é¿ãããããªããï¼å²è¾¼ã¿ãã³ãã©Bå
+ã§ã¿ã¹ã¯åãæ¿ããèµ·ãããã
+ãªãµã¼ãã¹ã³ã¼ã«ãå¼ã¶ã¨å²è¾¼ã¿Bã®åºå£å¦çã§å¥ã®ã¿ã¹ã¯ã«ãã£ã¹ãããã
+ã¦ãã¾ããã¿ã¹ã¯2ããå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¾ã§ãå²è¾¼ã¿Aã®å¦çãé
+ãã¦
+ãã¾ãã
+ã¾ããå²è¾¼ã¿Aãã¬ãã«ããªã¬ã ã¨2åæ¤åºããã¦ãã¾ãåé¡ãããã
+ãããé²ããããã¹ã¿ãã¯ã«ç©ãã§ããæ»ãå
+ã®IPMã¨task_intmaskã®å¤ãæ¯
+è¼ãã¦ãå
+¥å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ããªãã£ãããã§ãã¯ãã¦ããã
+ï¼cpu_support.Sã®_ret_intåç
+§ï¼
+
+SH1ã§ã¯CPUä¾å¤ãåãä»ãã¦ãå²è¾¼ã¿ãã¹ã¯ã¯å¤åããªããããCPUä¾å¤ã®å
+¥
+å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ã£ãå ´åãä¸è¨ã®ãããªå¤å¥æ¹æ³ã§ãå¯¾å¦ã§ããªããã
+ã®ãããå²è¾¼ã¿ã®åºå£å¦çã§ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçªå°ã¨CPUä¾å¤ã®å
+¥å£å¦
+çã®çªå°ãæ¯è¼ãã¦ãæ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çãå¦ããå¤å¥å¦çããªã
+ã·ã§ã³ã§ç¨æãã¦ããããã®å¦çã¯CPUä¾å¤ãç»é²ãããã¼ãã«ããµã¼ããã
+å¦çãå
+¥ããããå²ãè¾¼ã¿ç¦æ­¢åºéãé·ããªãããã®å¤å¥å¦çãæå¹ã«ããã
+å ´åã¯ãã¯ã­SUPPORT_CPU_EXC_ENTRY_CHECKãå®ç¾©ããã
+ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§çºçããCPUä¾å¤ã®å¦çã¯ãå¾åãã«ããã¦ãå²è¾¼ã¿
+ã»ã©åé¡ã¯ãªãã¨èããä¸è¨ã®å¦çã¯ããã©ã«ãã§ã¯ç¡å¹ã«ãã¦ãããã¿ã¹ã¯
+ã³ã³ãã­ã¹ãã§ã®CPUä¾å¤ãã©ã®ã¿ã¹ã¯å
+ã§çºçãããã¯ãå²è¾¼ã¿ã®ããã«ã¿
+ã¤ãã³ã°ã«ãããã®ã§ã¯ãªãå¿
+ç¶çãªãã®ã§ããããã®ãããCPUä¾å¤å¦çã®
+åªå
+é ä½ããã®ã¿ã¹ã¯ã«æºãããã®ã¨ãã¦å¤æ­ããã
+ãä¾ãã°ãã¿ã¹ã¯å®è¡ä¸­ã«ã¼ã­é¤ç®ä¾å¤ãçºçãã¦ããã®ä¾å¤å¦çãé
+ããã¨
+ãã¦ããä»ã®ã¿ã¹ã¯ã¸ã®å½±é¿ã¯ãªããï¼å
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¨ãã«ã¯ãå¾
+
+ãããã¦ããä¾å¤å¦çãè¡ãããã®ã§ãå
+ã®ã¿ã¹ã¯ã«å¯¾ãã¦ãå½±é¿ã¯ãªããï¼
+
+ä¸è¨ã®ãã¼ãã«ã¯ããã©ã«ãã§CPUä¾å¤ã6è¦å ç»é²ã§ããããã«ãã¦ãããã
+ã¢ããªã±ã¼ã·ã§ã³ã§ãã©ããå½ä»¤ãä½¿ç¨ããã«ã¼ãã«ã§ãã³ããªã³ã°ããå ´å
+ã¯user_config.hã®NUM_EXCã®å¤ãé©å®å¤æ´ããã
+
+
+
+ï¼ï¼ãã®ä»
+
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+SH1 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/sh1/
+	Makefile.config	Makefileã®SH1ä¾å­å®ç¾©
+	cpu_defs.h	ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_config.h	ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_config.c	ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_support.S	ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_context.h	ã³ã³ãã­ã¹ãæä½
+	cpu_insn.h	ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	cpu_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tool_defs.h	éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	tool_config.h	éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	sh1.h		SH1ã®å®ç¾©
+	start.S		ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	vector_table.c	å²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+	sh1_sil.h	SH1ç¨ã¢ã¯ã»ã¹ã»ã¦ã¼ãã£ãªãã£
+	sh1itu.h	SH1å
+èµituç¨ã¿ã¤ããã©ã¤ã
+	sh1sci.c	SH1å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ã
+	sh1sci.h	SH1å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ã
+	util.h		ã¦ã¼ãã£ãªãã£ã¼ã»ãã¯ã­ã®å®ç¾©
+	makeoffset.c	offset.h çæãµãã¼ããã­ã°ã©ã 
+	shelf.ld	ãªã³ã«ã¹ã¯ãªãã
+
+
+    config/sh1/kz_sh1/
+    	äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½ KZ-SH1-01ãã¼ãä¾å­é¨å
+    	ï¼CQåºç(æ ª)è£½ RISCè©ä¾¡ã­ããSH-1ã§ãåä½å¯è½ï¼
+
+	user_config.h	ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+	Makefile.config	Makefileã®KZ-SH1-01ãã¼ãä¾å­å®ç¾©
+	sys_defs.h  	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.S	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	hw_timer.h	ã¿ã¤ãæä½ã«ã¼ãã³
+	hw_serial.h	SIOãã©ã¤ã
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	kz_sh1.h   	KZ-SH1-01ã®ãã¼ãã¦ã§ã¢å®ç¾©
+
+
+    config/sh1/zunda_sh1/
+    	(æ ª)ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ãä¾å­é¨å
+	
+	Makefile.config	Makefileã®ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãä¾å­å®ç¾©
+	sys_defs.h  	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_support.h	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³ç¨å®ç¾©
+	sys_support.c	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	hw_timer.h	ã¿ã¤ãæä½ã«ã¼ãã³
+	hw_serial.h	SIOãã©ã¤ã
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	sh1sci2.c	SH1å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ãï¼2chå¯¾å¿ï¼
+	sh1sci2.h	SH1å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ãï¼2chå¯¾å¿ï¼
+	zunda_sh1.h.h   ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
+	device.h	LED,SW å¶å¾¡é¢æ°ã®å®£è¨
+	device.c	LED,SW å¶å¾¡é¢æ°
+
+
+6.2 ã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®
+
+SH1ä¾å­é¨ã§ã¯ãã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®ãã·ã¹ãã ä¾å­é¨ã®ï¼ã¤ã®ãã¡ã¤ã«
+Makefile.configã¨user_config.hã«ã¾ã¨ãã¦ãããã¦ã¼ã¶ã¼ã¯ã«ã¼ãã«å
+é¨ã«
+ç«ã¡å
+¥ããªãã¦ããããç¨åº¦ãè¨­å®ãå¤æ´å¯è½ã«ãã¦ããã
+
+6.2.1 Makefile.configã®è¨­å®é 
+ç®
+
+ã»å®è¡ç°å¢
+ãå¤æ°DBGENVã®è¨­å®ã«ããå®è¡ç°å¢ãé¸æããã
+ããã»DBGENV=ROMï¼ROMå
+ããã»DBGENV=GDB_STUBï¼GDB stub
+ããã»DBGENV=PARTNERï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿è£½PARTNER-ET II
+ãããï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæï¼
+ããããROMICEä½¿ç¨æã«NMIã¾ã§ã®ROMãã¯ã¿ãã¼ãã«ããã¯ã¿ãã¼ã¹ã¬ã¸ã¹ã¿ã®
+ããããã¨ãªã¢ã¸è»¢éããã
+ããããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ï¼å¾è¿°ï¼ãå®ç¾©ããã¦ããå ´åã®ã¿
+ããããæå¹ã§ããã
+ããã»DBGENV=MULTI_STACKï¼ã½ãã£ã¢ã·ã¹ãã ãºè£½MultiSTAC-SH1
+ããããï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿(æ ª)è£½KZ-SH1-01åºæï¼
+
+ã»ã¡ã¢ãªãããã³ã°
+ããã»TEXT_START_ADDRESSï¼textã»ã¯ã·ã§ã³ã®å
+é ­ã¢ãã¬ã¹
+ããã»DATA_START_ADDRESSï¼dataã»ã¯ã·ã§ã³ã®å
+é ­ã¢ãã¬ã¹
+
+6.2.2 user_config.hã®è¨­å®é 
+ç®
+
+user_config.hå
+ã§ä»¥ä¸ã®ãã¯ã­å®ç¾©ãè¡ããã¨ã«ãããè¨­å®ãå¤æ´ã§ããã
+
+ã»SUPPORT_CHG_IPM
+ããchg_ipm()ãæå¹ã«ããã
+ãã2.2ç¯åç
+§
+
+ã»SUPPORT_VXGET_TIM
+ããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½vxget_tim()ãæå¹ã«ããã
+ãã3.2ç¯åç
+§
+
+ã»SUPPORT_CPU_EXC_ENTRY_CHECK
+ããå²è¾¼ã¿ã®åºå£å¦çã§æ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çã§ãããã®
+ãããã§ãã¯ãè¡ãã
+ãã5.4.2ç¯åç
+§
+
+ã»OMIT_POWER_CONTROL
+ããå®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã§çé»åã¢ã¼ãã«ç§»è¡ããªãã
+ããï¼ãã«ICEåãã®è¨­å®ï¼
+ãã5.4.1ç¯åç
+§
+
+ã»FILL_STACK_WITH_0
+ãããããã¬ã§ã¹ã¿ãã¯é åãè¦³å¯ãæããããããã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯é åã0ã§åæåãã
+
+ã»OMIT_DATA_SECTION_COPY
+ãããããã°ç°å¢ã«ãã£ã¦ã¯dataã»ã¯ã·ã§ã³ã®èªè­ã«ä¸å
+·åãããã
+ãã__idata_startçªå°ã«ãã¦ã³ã­ã¼ããã¹ããã¼ã¿ã__data_startçªå°ã«ãã¦ã³
+ããã­ã¼ããã¦ãã¾ããã®ãããããã®å ´åã¯OMIT_DATA_SECTION_COPYãã¯ã­ã
+ããå®ç¾©ãã¦ãããã¨ã§ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã®ãã®ã³ãã¼ä½æ¥­ãçç¥ããã
+ãã
+ã»LARGE_TYPEï¼ä¸­å¤®è£½ä½æè£½ SH1CPUãã¼ãåºæï¼
+ããSRAMã¡ã¢ãªå®è£
+ã¿ã¤ããã©ã¼ã¸ã¿ã¤ãã¨ããã
+
+ã»STACKTOP
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã®åæå¤
+
+ã»CONFIG_20MHZ
+ã»CONFIG_19MHZ
+ã»CONFIG_16MHZ
+ããã¯ã­ãã¯å¨æ³¢æ°ã®åãæ¿ããå®ç¾©ããã
+ããä¸è¨ã®å
+ãï¼ã¤ãé¸æããã
+
+ã»CONFIG_BAUD
+ã»CONFIG_BAUD_2
+ããã·ãªã¢ã«éä¿¡ã®ãã¼ã¬ã¼ãï¼ãããããã¼ãï¼ï¼ï¼ã«å¯¾å¿ï¼
+ãã9600, 19200, 38400[bps]ã®ãããããæ°å¤ã§å®ç¾©ããã
+
+ã»ã·ãªã¢ã«ãã¼ãæ°ã®å®ç¾©
+ããã»TNUM_PORT
+ããããGDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ããããï¼ã«ã¼ãã«ã®ç®¡çä¸ã«ãããã¼ãæ°ï¼
+ããã»TNUM_SIOP
+ããããPDICã¬ãã«ã§ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ããããï¼ããã¤ã¹ãã©ã¤ãã»ã¬ãã«ã®ãã¼ãæ°ï¼
+ããã»LOGTASK_PORTID
+ããããã·ã¹ãã ã­ã°ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·
+
+ã»SCI_INTLVL
+ããã·ãªã¢ã«å²è¾¼ã¿ã®åªå
+åº¦
+ãã3.3ç¯åç
+§
+
+ã»TIMER_INTLVL
+ããã¿ã¤ãå²è¾¼ã¿ã®åªå
+åº¦
+ãã3.1ç¯åç
+§
+
+ã»TIC_NUME
+ã»TIC_DENO
+ããã¿ã¤ãå²è¾¼ã¿ã«ããisig_tim()ãå¼ã³åºãããå¨æ[msec]
+ããããããåå­ãåæ¯ãè¡¨ãã
+ãã3.1ç¯ããã³config.txtã®
+ããã(3) ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ãããåç
+§
+
+ã»NUM_EXC
+ããä¸è¨ã®ãã§ãã¯å¯¾è±¡ã¨ãªãCPUä¾å¤ã®ç»é²æ°
+ããããã©ã«ãã§ã¯6è¦å ã¨ãã¦ããã
+ããSUPPORT_CPU_EXC_ENTRY_CHECKãå®ç¾©ããã¦ããªãå ´åã¯ç¡è¦ãããã
+ãã5.4.2ç¯åç
+§
+
+ã»INNER_RAM_ADDRESS
+ãããã­ã»ããµå
+èµRAMãå©ç¨ã§ããå ´åã¯ãã®æå¾å°¾ã®ã¢ãã¬ã¹ã
+ããINNER_RAM_ADDRESSãã¯ã­ã¨ãã¦user_config.hã§å®ç¾©ããã
+ãããã®ãã¯ã­ãå®ç¾©ããã¦ããå ´åã¯ãã¹ã¿ãã¯ãã¤ã³ã¿ããã®å¤ã«è¨­å®ã
+ããã¦hardware_init_hook()ãå¼ã³åºãã®ã§ãhardware_init_hook()ãCè¨èª
+ããã§è¨è¿°ãããã¨ãã§ãããï¼ã¤ã¾ããINNER_RAM_ADDRESSã¯ã¹ã¿ãã¯ãã¤
+ããã³ã¿ã®ä¸æçãªåæå¤ã¨ãã¦ä½¿ç¨ããããï¼
+ããhardware_init_hook()ããæ»ã£ãå¾ã§ã¹ã¿ãã¯ãã¤ã³ã¿ãSTACKTOPã«åè¨­
+ããå®ãã¦ããã
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+ã
+ãåè
+ããä¸è¬ã«Cè¨èªã®é¢æ°å¼ã³åºãã¯ã¹ã¿ãã¯ãä½¿ç¨ããã®ã§ããã¹ã³ã³ãã­ã¼ã©
+ããã®åæååã«é¢æ°å¼ã³åºãã¯ã§ããªããINNER_RAM_ADDRESSãã¯ã­ãå®ç¾©ã
+ããããã¨ã§hardware_init_hook()ãCè¨èªã§è¨è¿°ã§ããããã«ãªãã
+
+ã»CPUä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããä»¥ä¸ã®ãã¯ã­ã¯ãã¹ã¦çç¥å¯è½ã§ããã
+ããçç¥ããå ´åã¯ããã©ã«ãã®å¤ã¨ãã¦ãã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­
+ããã¢ãã¬ã¹ãä½¿ç¨ãããã
+
+ã»NMI_VECTOR
+ããNMIä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããããã©ã«ãå¤ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+
+ã»GII_VECTOR
+ããä¸è¬ä¸å½å½ä»¤ä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããããã©ã«ãå¤ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+
+ã»SII_VECTOR
+ããã¹ã­ããä¸å½å½ä»¤ä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããããã©ã«ãå¤ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+
+ã»CAE_VECTOR
+ããCPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããããã©ã«ãå¤ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+
+ã»DAE_VECTOR
+ããDMAã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ãã³ãã©ã®å
+é ­ã¢ãã¬ã¹
+ããããã©ã«ãå¤ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã®å
+é ­ã¢ãã¬ã¹
+ããKERNEL_HAS_A_VECTOR_TABLEãã¯ã­ãå®ç¾©ããã¦ããå ´åã®ã¿æå¹ã§ããã
+
+
+
+6.3ãã«ã¼ãã«ç§»æ¤è
+åãã®æ
+å ±
+
+6.3.1ãå
+é¨çã«ä½¿ç¨ããã¦ãããã¯ã­
+ä»¥ä¸ã®ãã¯ã­ã¯SH1ä¾å­é¨ã§æ¡ä»¶ã³ã³ãã¤ã«ãè¡ãããã«å
+é¨çã«ä½¿ç¨ãã¦ã
+ãã®ã§ãããã¦ã¼ã¶ã¼ãå®ç¾©ããå¿
+è¦ã¯ãªãã
+
+ã»GDB_STUB
+ããGDB stubãµãã¼ãæã®ãããäºç´ãã¦ããã
+
+ã»KERNEL_HAS_A_VECTOR_TABLE
+ããä¾å¤ãã¯ã¿ãã«ã¼ãã«ãç®¡çããã
+ããGDB stubãã¢ãã¿ãã­ã°ã©ã ãä¾å¤ãã¯ã¿ãç®¡çããå ´åã¯ããã®ãã¯ã­
+ãããå®ç¾©ããªãã
+
+ã»SIO_RESERVED
+ããã·ãªã¢ã«ã»ã³ãã¥ãã±ã¼ã·ã§ã³ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹SCIã®1chããããã¬ç­
+ãããä½¿ç¨ãã¦ããã
+ãããã®ãã¯ã­ãå®ç¾©ãããã¨ã«ã¼ãã«ã¯SCI 1chãä½¿ç¨ããªãã
+
+
+6.3.2 ã«ããµã¹ãã¯ãã­ã¸è£½ç´æ­£Cã³ã³ãã¤ã©ã«ç§»æ¤ããå ´åã®æ³¨æç¹
+ããã£ã¹ãã¬ã¼ã¹ã¡ã³ãä»ãã¬ã¸ã¹ã¿éæ¥ã®è¨è¿°ãç°ãªãã®ã§æ³¨æãå¿
+è¦ã§ããã
+ããè©²å½ç®æï¼cpu_support.Sï¼
+ãããã»TCBæ§é ä½ã¸ã®ã¢ã¯ã»ã¹
+ãããã»å²è¾¼ã¿ï¼CPUä¾å¤ã®åºå£å¦çã«ãããã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å²è¾¼ã¿
+ãããããã¹ã¯ã®å¼ãç¶ã
+ã
+ããã«ããµã¹ãã¯ãã­ã¸ç´æ­£ã¢ã»ã³ãã©ã®@(disp,Rn) 
+ãããã¢ã¯ã»ã¹ãµã¤ãº å®å¹ã¢ãã¬ã¹ã®è¨ç®å¼ 
+ããããã¤ã Rn + disp â EA 
+ãããã¯ã¼ã Rn + dispÃ2 â EA 
+ãããã­ã³ã°ã¯ã¼ã Rn + dispÃ4 â EA 
+
+ããgasã®@(disp,Rn) 
+ãããã¢ã¯ã»ã¹ãµã¤ãº å®å¹ã¢ãã¬ã¹ã®è¨ç®å¼ 
+ããããã¤ã Rn + disp â EA 
+ãããã¯ã¼ã Rn + disp â EA(ä½ãdispã¯2n) 
+ãããã­ã³ã°ã¯ã¼ã Rn + disp â EA(ä½ãdispã¯4n) 
+
+
+å¤æ´å±¥æ­´
+
+2010å¹´ 6æ24æ¥
+ã»ä¿®æ­£
+   + cpu_insn.hã®set_sr(), cpu_defs.hã®_disint_()
+   ã+ ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ï¼ldc rn, srå½ä»¤ï¼ã®clobberå¤æ°
+   ãããªã¹ãã«memoryã¨SRã®Tããããè¿½å 
+
+
+2005å¹´11æ14æ¥ãRelease1.4.2
+ã»ä¿®æ­£
+   + cpu_config.cã®_dummy_memcpy( )
+   ã+ string.hã«ããmemcpy( )ã®ä¸è¬çãªãã­ãã¿ã¤ãå®£è¨ã«åããã
+   ããvoid *memcpy(void *dest, const void *src, size_t len);
+   ãã
+   + å¼æ°ãªãã®é¢æ°å®ç¾©
+   ã+ æç¤ºçã«voidãä»ããã
+
+
+2005å¹´9æ14æ¥
+ã»æ¹è¯
+   + zunda_sh1/sys_support.h
+   ã+ ãã¼ãï¼¡ã»æ¡å¼µï¼©ï¼ï¼¯å®ç¾©è¦ç´ã
+   + ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã®ææ³ã¨ã©ã¼ãä¿®æ­£
+   ã+ cpu_config.hã®define_inh()
+   ã+ kz_sh1/kz_sh1.hã®gdb_stub_putc()
+   + macã¬ã¸ã¹ã¿ã®éé¿ï¼å¾©å
+ç®æã®è¦ç´ã
+ãããgcc3.xã¸ã®å¯¾å¿ãè©¦ã¿ãããåä½ããã
+ãããï¼è©³ç´°ã¯5.3ç¯ãåç
+§ï¼
+ããã
+ãããä¿®æ­£åï¼
+ããããå²è¾¼ã¿ã«ããã¿ã¹ã¯ã¹ã¤ããã®ã¿
+ãããä¿®æ­£å¾ï¼
+ããããã»å²è¾¼ã¿ãã³ãã©å¼ã³åºãå
+ããããã»è½åçãªãã£ã¹ãããã£å¼ã³åºãã«ããã¿ã¹ã¯ã¹ã¤ããå
+
+
+2004å¹´10æ9æ¥ãRelease1.4.1
+
+ã»ãã°ãã£ãã¯ã¹
+   + å²è¾¼ã¿ã®å
+¥å£å¦çä¸­ã«å¥ã®å²è¾¼ã¿ãå
+¥ãå ´åã«æåã®å²è¾¼ã¿ãã¿ã¹ã¯ãã
+   ãå¦çãå¾åãã«ãããä¸å
+·åãä¿®æ­£ï¼CPUä¾å¤ã«ã¤ãã¦ãåæ§ï¼
+   + å®è¡ãã¹ãã¿ã¹ã¯ããªãã¨ãã®å²è¾¼ã¿å¾
+ã¡ã§ãã¿ã¤ãã³ã°ã«ãã£ã¦ã¯
+   ãå²è¾¼ã¿å¦çå¾ã«sleepããã¾ã¾ã«ãªãä¸å
+·åãä¿®æ­£
+ã»æ¹è¯
+   + ãµãã¼ããã¼ãã®å¤æ´
+   ã+ ä¸­å¤®è£½ä½æè£½Î¼ITRONæ­è¼SH1CPUãã¼ããè¿½å 
+   ã+ å¸¸ç¤åè¡ SH1/CPUBãåé¤
+   + å²è¾¼ã¿ï¼CPUä¾å¤ã®åºå
+¥å£å¦çã«ã¼ãã³ãè¦å æ¯ã«å±éããé¨åãè¦ç´ãã
+   ãROMæ¶è²»éãåæ¸ãããï¼ï¼å²è¾¼ã¿è¦å å½ãã126ãã¤ãåæ¸ï¼
+   + GDB stubã«å¯¾å¿
+   + ROM-ICEåãã«ä¾å¤ãã¯ã¿ã®å®è£
+æ¹æ³ãä¿®æ­£
+   ã+ NMIç­ã®ä¾å¤ãã¯ã¿ããã¼ãä¾å­é¨ã§å®ç¾©ã§ããããã«ãã
+   + SILã®ã¢ã¯ã»ã¹é¢æ°ã®åç§°ãã¬ã¤ãã©ã¤ã³æºæ ã«å¤æ´
+   + INNER_RAM_ADDRESSãã¯ã­ã®å°å
+¥ã«ããhardware_init_hook()ãCè¨èªã§
+   ãè¨è¿°ã§ããããã«ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ãä¿®æ­£
+   + ã¦ã¼ã¶ã¼ãå¤æ´ã§ããç®æãuser_config.hã¨ãã¦åé¢ããã
+
+2003å¹´12æ24æ¥ãRelease1.4
+
+ã»ãã°ãã£ãã¯ã¹
+   + å®è¡ãã¹ãã¿ã¹ã¯ããªãã¦å²è¾¼ã¿å¾
+ã¡ãããéãruntskãã¯ãªã¢ãã¦ããªã
+   ããããã¿ã¤ãã³ã°ã«ãã£ã¦ã¯iget_tid()ã®æ»ãå¤ãæ­£ãããªãä¸å
+·åãä¿®æ­£
+   + vxget_tim()ã§1msecä»¥ä¸ã®ç«¯æ°ãæ­£ãããªãã£ãä¸å
+·åãä¿®æ­£
+
+ã»ãã®ä»ã®æ¹è¯
+   + ãã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å
+¨é¢çãªè¦ç´ã
+   + ã·ãªã¢ã«ãã©ã¤ãã¨ã¿ã¤ããã©ã¤ããITRONããã¤ã¹ãã©ã¤ãã¬ã¤ãã©ã¤ã³
+   ãæºæ ã«ä¿®æ­£
+   + ã·ãªã¢ã«ãã©ã¤ãã«åä¿¡ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©ãè¿½å 
+
+2002å¹´4æ15æ¥ãRelease1.3
+
+ã»ãã°ãã£ãã¯ã¹
+   + åæåæã®å²è¾¼ã¿ï¼CPUä¾å¤ãã¹ãã«ã¦ã³ã¿ã®å¤ã®ä¿®æ­£
+   + å²è¾¼ã¿åºå£å¦çã§ã®å²è¾¼ã¿ãã¹ã¯ã®è¨­å®å¦çã®è¿½å 
+
+ã»ãã®ä»ã®æ¹è¯
+   + æ¨æºã©ã¤ãã©ãªã®memcpyããªã³ã¯ããå ´åã¨ããªãå ´åã®ä¸¡æ¹ã«å¯¾å¿
+
+2001å¹´11æ20æ¥ Release1.2
+
+ã»ãã°ãã£ãã¯ã¹
+   + ãã¯ã¿ãã¼ãã«ã®ã³ãã¼ã®éãé åã®ãµã¤ãºãééãã¦ãã
+   ããã°ãä¿®æ­£
+
+ã»ãã®ä»ã®æ¹è¯
+ã + æ©ç¨®ä¾å­é¨ã¨å
+±éé¨ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å¤æ´ã«è¿½å¾
+ã + å®è¡ã§ããã¿ã¹ã¯ãï¼ã¤ããªãã¨ãã®æåãå¤æ´
+ãããï¼chg_ipm()ã¨ã®æ´åï¼
+
+
+2001å¹´5æ10æ¥ãRelease1.1
+
+SH1çã®ãµãã¼ããéå§
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh2.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh2.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh2.txt	(revision 26)
@@ -0,0 +1,689 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    		    ï¼SH2 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.1å¯¾å¿ï¼æçµæ´æ°: 25-Jun-2010ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2001-2010 by Industrial Technology Institute,
+                             Miyagi Prefectural Government, JAPAN
+ Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: sh2.txt,v 1.5 2005/07/06 00:45:07 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼SH2 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+åºæ¬çã«SH1.txtã¨åæ§ã§ããã
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+SH2ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯SH7145ãSH7615ãæ­è¼ããä»¥ä¸ã®ãã¼
+ãã§ããã
+
+ã»ï¼æ ªï¼ã¢ã«ãã¡ãã­ã¸ã§ã¯ãè£½ã®AP_SH2F_6A(CPU: SH7145)
+ã»ï¼æ ªï¼åæé»å­è£½ã®HSB7615IT(CPU: SH7615)
+
+éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ãããã¯ ELF ãæ¨æºã¨ããã
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+SH1/2ä¾å­ã®æ©è½ã¨ãã¦ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxãget_ixx)ã¨ã
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ãããå²è¾¼ã¿
+ã®ç¦æ­¢ã¨è¨±å¯(dis_intãena_int)ã¯ãµãã¼ããã¦ããªãã
+
+1.3 DSP
+
+DSPã¬ã¸ã¹ã¿ã®å¾
+é¿ã¯è¡ã£ã¦ããªãã
+
+
+1.4 GDB ã¹ã¿ã
+
+GDBã¹ã¿ãã«ã¤ãã¦ã¯http://www.hokkaido-iri.go.jpããé
+å¸ä¸­ã
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ã·ãªã¢ã«ãã¼ããï¼ã¤ä½¿ç¨ããã
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯
+ãã»8ããã
+ãã»ããªãã£ãªã
+ãã»ã¹ããããããï¼1ããã
+ãã»ãã¼ã¬ã¼ãï¼
+ã§ããã
+
+
+ï¼ï¼SH2ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãSH2ä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ãããï¼³ï¼¨ï¼çã¨åãã§ããã
+
+2.1 ãã¼ã¿å
+
+signed intåï¼unsigned intåï¼size_tåã®ãµã¤ãºã¯ï¼ãããã32ãããã§ã
+ãï¼
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ã NMI ãããããã£ã¦ãCPUã­ãã¯ç¶æ
+ãå
+æåã«ã¼ãã³å
+ã§ã¯ãNMI ä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ãããå
+·ä½çã«ã¯ã
+IPM(Interrupt Priority Mask)ã 15 ã«è¨­å®ãããã
+
+å°æ¥çã«GDBã¹ã¿ããå©ç¨ãããã¨ãèæ
+®ãã¦ãã½ã¼ã¹ã³ã¼ãå
+ã«ä»¥ä¸ã®ãã
+ãªè¨è¿°ãå«ãã
+ãã¼ãä¸ã« NMI å
+¥åãæããªãã¿ã¼ã²ããã®ãããGDB ã®ã¹ã¿ãããã¹ãã®
+ãã·ã³ã¨éä¿¡ããããã®ã·ãªã¢ã«ãã¼ãã®åªå
+åº¦ã 15 ã§ç»é²ããGDB ã§
+Ctrl-C ãæ¼ãã¨ å²ãè¾¼ã¿ãå
+¥ãã¹ã¿ãã«å¶å¾¡ãç§»ãããã«ãã¦ããããã®æ©
+è½ãä½¿ç¨ããããã«ã¯CPUã­ãã¯ç¶æ
+ã§ã¯ãåªå
+åº¦ã 14 ã«ãªãããã«ããªã
+ãã°ãªããªãããã®ãããCPUã­ãã¯ã§è¨­å®ãããåªå
+åº¦ããã¯ã­ MAX_IPMã§
+æå®ãã¦ãããMAX_IPM ã¯cpu_config.h ã®ä¸­ã§ #define ããã¦ãããã¹ã¿ã
+ãä½¿ãå ´åã¯MAX_IPMã14ã«ãã¹ã¿ããä½¿ããªãå ´åã¯MAX_IPMã15ã«è¨­å®ãã¦
+ããã
+
+SH1/2ä¾å­ã®æ©è½ã¨ãã¦ãSR(Status Register)ä¸­ã® å²ãè¾¼ã¿ãã¹ã¯ããã(I3ã
+I0)ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã« chg_ipm ã¨ãåç
+§ããããã®ãµã¼ã
+ã¹ã³ã¼ã« get_ipm ããµãã¼ããã¦ããããªããå²ãè¾¼ã¿ãã¹ã¯ãããã®å¤ã
+è¡¨ããã¼ã¿å IPM ã¯ãunsigned intåã«å®ç¾©ããã¦ããã
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ãããchg_ipm ã«ãã IPM ã 0 ä»¥å¤(ããªãã¡ãä½
+ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+)ã«ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ã
+ãããchg_ipm ã«ããå¤æ´ãã IPM ã®å¤ã¯ããã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ã
+ç¶ããããä¾ãã°ãããã¿ã¹ã¯ã§ IPM ã 1 ã«å¤æ´ããå¾ãä½ããã®å²è¾¼ã¿ã«
+ããå¥ã®ã¿ã¹ã¯ã«åãæ¿ããã¨ãåãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯1ã«ãªãã
+
+chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããããããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
+SUPPORT_CHG_IPM ã¯ãuser_config.h ã®ä¸­ã§ #define ããã¦ããã
+
+SH1/2ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®é
+ãã
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+IPM(Interrupt Priority Mask)ã ipm ã§æå®ãããå¤ã«è¨­å®ãããæå®ãã
+å¤ã 0ã14ãªãã0ã13ä»¥å¤ã®å ´åãE_PARã¨ã©ã¼ã¨ãªããIPM ã0ä»¥å¤
+ï¼1ãMAX_IPM-1ï¼ã«è¨­å®ããå ´åã§ãããã£ã¹ãããã¯ç¦æ­¢ãããªããã¾ãã
+è¨­å®ãã IPM ã®å¤ã¯ããã£ã¹ãããç¦æ­¢å¾ãå¼ãç¶ãããã
+
+ãªãããã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ãIPM ã MAX_IPM (ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢)
+ã«è¨­å®ãããã¨ã¯ã§ããªããIPM ã MAX_IPM ã«ãããå ´åã«ã¯ãloc_cpu ã
+ä½¿ãã¹ãã§ããã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPM(Interrupt Priority Mask)ã®å¤ãèª­ã¿åºããipm ã«è¿ãã
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
+
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(excno)ã¯ãSH2 ã§ã® ãã¯ã¿ãã¼ãã«
+ã®ãã¯ã¿çªå·ãè¡¨ãããã®ãã¼ã¿å(EXCNO)ã¯ unsigned intåã«å®ç¾©ããã¦ã
+ããDEF_EXC ã§ããã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçª
+å·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
+
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ããããã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãã
+
+
+      ----------------------
+     |         PR           |
+      ----------------------
+     |         R7           |
+      ----------------------
+     |         R6           |
+      ----------------------
+     |         R5           |
+      ----------------------
+     |         R4           |
+      ----------------------
+     |         R3           |
+      ----------------------
+     |         R2           |
+      ----------------------
+     |         R1           |
+      ----------------------
+     |         R0           |
+      ----------------------
+     |         PC           |
+      ----------------------
+     |         SR           |  <-- p_excinf
+      ----------------------
+
+     PR:Procedure Register
+     SR:Status Register
+     PC:Program Counter
+
+ã¾ããCPUä¾å¤çºçæã®PCã®å¤ã¯ã¤ã³ã¯ãªã¡ã³ããããããã®ãããCPUä¾å¤ã
+ã³ãã©ããå¾©å¸°ãè¡ãã¨ãCPUä¾å¤ãçºçããå½ä»¤ã®æ¬¡ã®å½ä»¤ããå®è¡ãåé
+ããã
+
+
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+SH2ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çãè¡ãã
+
+(A) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+å²ãè¾¼ã¿ãã¹ã¯ã MAX_IPM ã«è¨­å®ããã
+
+æ¬¡ã«ãã¹ã¿ãã¯ãã¤ã³ã¿(r15)ã STACKTOP ã«è¨­å®ãããããã§å²è¾¼ã¿ã¹ã¿ã
+ã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ãã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­
+ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ããããSTACKTOP ã¯ãuser_config.h é¨ã§å®ç¾©
+ãããã¨ãæ³å®ãã¦ããã
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ãhardware_init_hook ãå¼ã³åºãã
+hardware_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ãããhardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ãã)ã
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ãããã¾ããdataã»ã¯ã·ã§ã³ãåæåããã
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ãsoftware_init_hook ãå¼ã³åºãã
+software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢(å
+·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããã
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ã
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
+
+
+2.5 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éã«ã¤ãã¦
+
+ä»¥ä¸ã®çç±ã«ãããåã¿ã¹ã¯ã¹ã¿ãã¯ã¯ã¿ã¹ã¯èªèº«ãä½¿ç¨ããåã«å ãã¦æå¤§
+240ãã¤ãä½åã«ç¨æããå¿
+è¦ãããã
+
+JSPã«ã¼ãã«ã§ã¯ã¿ã¹ã¯ã¹ã¿ãã¯ã®ä»ã«å²è¾¼ã¿ã¹ã¿ãã¯ãç¨æããéã¿ã¹ã¯ã³
+ã³ãã­ã¹ãã¯å²è¾¼ã¿ã¹ã¿ãã¯ã§å®è¡ãããã
+SH1/2ã¯ä¾å¤/å²è¾¼ã¿åä»æã«å²è¾¼ã¿ç¦æ­¢ã«ãªãæ©æ§ããã¼ãã¦ã§ã¢ã§ç¨æããã¦
+ããªãããã®ãããå²è¾¼ã¿ã®å
+¥å£å¦çã§ã½ããã¦ã§ã¢ã«ãã£ã¦å²è¾¼ã¿ç¦æ­¢ã«ã
+ãå¿
+è¦ããããå
+¥å£å¦çã§ã¯å²è¾¼ã¿ç¦æ­¢ã«ç§»è¡ããããã«ï¼å²è¾¼ã¿è¨±å¯ã®ç¶æ
+
+ã§ï¼ã¹ã¿ãã¯ã«r0,r1ãå¾
+é¿ãããï¼SR(Status Register)ã¨PC(Program
+Counter)ã¯å²è¾¼ã¿åä»ãæã«ãã¼ãã¦ã§ã¢ãèªåçã«å¾
+é¿ãè¡ããï¼
+ãã®ã¨ããå¤éå²è¾¼ã¿ãçºçããã¨å²ãè¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ããåã«åæ§ã®
+ãã¬ã¼ã ãã¹ã¿ãã¯ä¸ã«çæããããSH2ã¯å²ãè¾¼ã¿ã¬ãã«ã15æ®µããã®ã§ã
+ææªã®ã¿ã¤ãã³ã°ã§å²è¾¼ã¿ãçºçããã¨ãã¹ã¿ãã¯ã240ãã¤ãæ¶è²»ãããã
+ï¼4ãã¤ãÃ4ã¬ã¸ã¹ã¿Ã15ã»ããï¼
+
+ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ãç¨ã«ã«ã¼ãã«å
+ã§å¤æ°intnestãç¨æ
+ããéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å¤å¥ã¯ãã®å¤æ°ã«ãã
+è¡ã£ã¦ããã
+
+
+2.6 MACHã¨MACL (ç©åã¬ã¸ã¹ã¿ï¼
+      MACH:Multiply and accumulate high register
+      MACL:Multiply and accumulate low register
+
+MACHã¨MACLã«ã¤ãã¦ã¯ãgccã«-mhitachiãªãã·ã§ã³ãã¤ããã¨ãé¢æ°ã§MACHã¨
+MACLãä½¿ç¨ããå ´åãã¹ã¿ãã¯ã«ä¿å­ãã¦ããä½¿ç¨ããé¢æ°ãæããã¨å
+ã«æ»
+ããããå²è¾¼ã¿ã§ã¯ä¿å­ãã¦ããªããã¾ããèªããã£ã¹ãããã£ãå¼ã³åºãã
+ãã£ã¹ãããããå ´åã¯ãé¢æ°å¼ã³åºãã«ãªãããããã®å¼ã³åºãã«ã¾ããã£
+ã¦ããããã®ã¬ã¸ã¹ã¿ãä½¿ããã¨ã¯ãªãããä¿å­ãã¦ããªãããã®ããã¢ã»ã³
+ãã©ã®ã³ã¼ããä½¿ç¨ããå ´åããã®ã«ã¼ã«ã«å¾ãå¿
+è¦ãããã
+ãªããå²è¾¼ã¿ããã®ãã£ã¹ããã(ååçãã£ã¹ããã)ã§ã¯ä¿å­ãã¦ããã
+
+
+2.7 GBR (Global Base Register)
+
+gccã¯GBRãä½¿ç¨ããªããããå²è¾¼ã¿ãã³ãã©ã®å
+¥å£ã§ã¯ä¿å­ãã¦ããªããå²è¾¼
+ã¿ãã³ãã©å
+ã§GBRãä½¿ãå ´åã¯ã¢ããªã±ã¼ã·ã§ã³å´ã§GBRã®å¾
+é¿/ä¿å­ãè¡ã
+å¿
+è¦ããããã¾ããä¸è¨ã®MACHã¨MACLã¨åãçç±ã«ãããèªããã£ã¹ãããã£
+ãå¼ã³åºãå ´åã«ãä¿å­ãã¦ããªãããªããå²è¾¼ã¿ããã®ãã£ã¹ããã(åå
+çãã£ã¹ããã)ã§ã¯ä¿å­ãã¦ããã
+
+
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãuser_config.h ä¸­
+ã®TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ã
+ãã®å®ç¾©ãå¤æ´ãããã¨ã§ãisig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ã
+ãã
+ãã ããã¿ã¤ãã®ç²¾åº¦ã 1Î¼ç§ã§ããããã1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®
+ããå ´åã«ã¯ãisig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãã
+ããã©ã«ãã§ã¯SH2ã®å
+èµCMT/FRTãä½¿ç¨ãã¦ãããã¿ã¤ããã³ãã©ã®åªå
+åº¦ã¯
+user_config.hã§ãã¯ã­TIMER_INTLVLã¨ãã¦å®ç¾©ãã¦ãããï¼ããã©ã«ãã§ã¯4ï¼
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+SH1/2ä¾å­é¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦
+ãããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ 1Î¼ç§åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤
+ãèª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ããããããvxget_tim ã
+å¼ã¶åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãããªããSYSUTIMåã¯
+UDå(64ãããã®ç¬¦å·ç¡ãæ´æ°å)ã«å®ç¾©ãã¦ããã
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ãSH2å
+èµã®SCIï¼Serial Communication
+Interfaceï¼/SCIFï¼FIFOå
+èµSerial CommunicationInterfaceï¼ããµãã¼ãã
+ã¦ãããã«ã¼ãã«ã®ã­ã°åºåç¨ã«ä½¿ç¨ãã¦ãããã·ãªã¢ã«å²è¾¼ã¿ãã³ãã©ã®
+åªå
+åº¦ã¯éåä¿¡ããã³ã¨ã©ã¼å²è¾¼ã¿å
+±ã«user_config.hã§ãã¯ã­SCI_INTLVL/SCI
+F_INTLVLã¨ãã¦å®ç¾©ãã¦ãããï¼ããã©ã«ãã§ã¯6ï¼
+
+
+3.4 ã¡ã¢ãªããã
+
+ã»(æ ª)åæé»å­è£½ã®HSB7615IT(CPU: SH7615)
+      0x0000,0000 - 0x001f,ffff  ã³ã¼ãé å(2MB)
+      0x0400,0000 -              ãã¼ã¿é å
+                  - 0x040f,ffff  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+ãã¼ã¿é åã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯é åããããã¦1MBãå
+èµã¡ã¢
+ãªã¯æªä½¿ç¨ã
+
+ã»(æ ª)ã¢ã«ãã¡ãã­ã¸ã§ã¯ãè£½ã®AP-SH2F-6A(CPU: SH7145)
+      0x0000,0000 - 0x0003,ffff  ã³ã¼ãé å(256KB)
+      0x0040,0000 -              ãã¼ã¿é å(1MB)
+                  - 0x004f,ffff  å¤ä»ãã¡ã¢ãªçµäº
+      0xffff,e000 -              ãã¼ã¿é å(8KB)
+                  - 0xffff,ffff  å
+èµã¡ã¢ãªçµäº
+
+
+3.5 ãµã³ãã«ãã­ã°ã©ã ã®å®è¡
+
+ã»(æ ª)åæé»å­è£½ã®HSB7615SE(CPU: SH7615)
+ãããããROMã«æ¸ãè¾¼ã¾ãã¦ããã¢ãã¿ãèµ·åããã
+Lã³ãã³ãã§jsp.srecãã¡ã¢ãªã«ã­ã¼ãããã
+G  04000400ã§ãµã³ãã«ãã­ã°ã©ã ãåä½ãããã
+ãµã³ãã«ãã­ã°ã©ã ã®ã¡ãã»ã¼ã¸ã¯SCIF1ããåºåãããã
+ä»ã®ãã¼ããªã©ã«ããã¦ãROMããå®è¡ããå ´åãshelf.ldã¨Makefile.configå
+ã®
+ã¢ãã¬ã¹ã®æå®ã«æ³¨æã
+
+ã»(æ ª)ã¢ã«ãã¡ãã­ã¸ã§ã¯ãè£½ã®AP-SH2F-6A(CPU: SH7145)
+jsp.srecãä»å±ã®ã©ã¤ã¿ã¼ã§æ¸ãè¾¼ã§å®è¡ããã
+ãµã³ãã«ãã­ã°ã©ã ã®ã¡ãã»ã¼ã¸ã¯SCI1ããåºåãããã
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ã
+éçºã«ã¯Linux(Red Hat Linux release 7.2 Kernel 2.4.7-10ï¼ãç¨ããã
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+    BINUTILS : 2.14
+    GCC-CORE : 2.95.3
+
+configure ã®ãªãã·ã§ã³ã¯--target=sh-hitachi-elfã§ããã
+ã¾ããWindowsä¸ã§Cygwinãç¨ãã¦éçºããå ´åã¯ãbinutilsã®configureã®ãª
+ãã·ã§ã³ã« --disable-nls ãæå®ãããã¨ã
+
+
+ï¼ï¼å¶éäºé 
+
+
+5.1 ã·ã¹ãã ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¬ã¤ã¤ã®sil_dly_nse()ã«ã¤ãã¦
+
+å®æ¸¬ã¯ãã¦ããªãã
+
+
+5.2 å®è¡ãã¹ãã¿ã¹ã¯ããªãå ´åã®å²è¾¼ã¿å¾
+ã¡ã«ã¤ãã¦
+ãã
+SH1ã¨åãã
+ãã£ã¹ãããã£ã®åºå£ã§å®è¡ãã¹ãã¿ã¹ã¯ããªã(schedtsk==NULLï¼å ´åã¯ã
+sleepå½ä»¤ã«ãã£ã¦ãã­ã»ããµãçé»åã¢ã¼ãã«åãæ¿ãã¦å²è¾¼ã¿å¾
+ã¡ããã¦
+ãããï¼cpu_sapport.Sã®dispatcher_2ä»è¿ãåç
+§ï¼
+
+å²è¾¼ã¿è¨±å¯å¾ã«sleepå½ä»¤ãå®è¡ãã¦ãããããå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡åã«å²
+è¾¼ã¿è¦æ±ãå
+¥ã£ã¦ããå ´åï¼ãããã¯å²è¾¼ã¿è¨±å¯ç´å¾ãsleepå½ä»¤å®è¡åã«å²
+è¾¼ã¿è¦æ±ãå
+¥ã£ãå ´åï¼ãå²è¾¼ã¿è¨±å¯å½ä»¤ã®å®è¡ã¨å
+±ã«å²è¾¼ã¿ãåãä»ãããã
+ãã®å¾©å¸°å¾ã«sleepããã¾ã¾ã«ãªã£ã¦ãã¾ãã
+ï¼reqflgã®ãã§ãã¯ã«é²ã¾ãªããï¼
+
+ãã®åé¡ã¯ï¼å²è¾¼ã¿ã®è¨±å¯ã¨sleep ç¶æ
+ã¸ã®ç§»è¡ãã¢ãããã¯ã«å®è¡ã§ããªã
+ãã¨ã«èµ·å ãããSH3ä»¥éã§ã¯IPMã¨ã¯å¥ã«SRã®BLããããä½¿ã£ã¦å²è¾¼ã¿ã®ç¦æ­¢
+/è¨±å¯ãå¶å¾¡ãããã¨ã«ããããã®åé¡ãåé¿ã§ããããSH1/2ã§ã¯IPMãè¨­å®ã
+ãä»¥å¤ã«å²è¾¼ã¿ãç¦æ­¢ï¼è¨±å¯ããæ¹æ³ããªããå²è¾¼ã¿è¨±å¯ï¼å²è¾¼ã¿å¾
+ã¡ã®IPMè¨­
+å®ï¼ã¨sleepãã¢ãããã¯ã«è¡ãæ¹æ³ããªãã
+ããã§SH1/2ä¾å­é¨ã§ã¯ãå²è¾¼ã¿åä»æã«ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçªå°ãå¤éå²è¾¼
+ã¿ã®åºå£å¦çã§ãã§ãã¯ããæ»ãçªå°ãä¸è¨ã®sleepå½ä»¤ã«è©²å½ããå ´åã¯æ»ã
+çªå°ã1å½ä»¤åï¼2ãã¤ãï¼é²ãããã¨ã«ãããã®åé¡ãåé¿ãã¦ããã
+ãã ãããã®æ¹æ³ã§ã¯å¤éå²è¾¼ã¿ã®åºå£å¦çã«æ°å½ä»¤ã®ãªã¼ãã¼ããããçããã
+OMIT_POWER_CONTROLãã¯ã­ãå®ç¾©ãããã¨ã§sleepå½ä»¤ã®ä»£ããã«nopå½ä»¤ãæ¿å
+¥
+ãããå¤éå²è¾¼ã¿ã®åºå£å¦çã§ã®ãã§ãã¯ã«ã¼ãã³ã¯çç¥ããããï¼ãã®å ´åã¯
+æ¶è²»é»åã®ç¹ã§ä¸å©ã«ãªããï¼
+
+5.4.2 å²è¾¼ã¿ï¼CPUä¾å¤ã®åºå
+¥å£å¦çã«ã¤ãã¦
+
+SH1ã¨åãã
+SH1/2ã§ã¯å²è¾¼ã¿åä»ç´å¾ã«å²è¾¼ã¿ç¦æ­¢ã«ãªã£ã¦ããªããããå²è¾¼ã¿Aã®å
+¥å£å¦ç
+ä¸­ã«å¥ã®å²è¾¼ã¿Bãå
+¥ãå¯è½æ§ããããï¼ããã¯ãã¼ãã¦ã§ã¢ã®ã¢ã¼ã­ãã¯
+ãã£ä¸é¿ãããããªããï¼å²è¾¼ã¿ãã³ãã©Bå
+ã§ã¿ã¹ã¯åãæ¿ããèµ·ãããã
+ãªãµã¼ãã¹ã³ã¼ã«ãå¼ã¶ã¨å²è¾¼ã¿Bã®åºå£å¦çã§å¥ã®ã¿ã¹ã¯ã«ãã£ã¹ãããã
+ã¦ãã¾ããã¿ã¹ã¯2ããå
+ã®ã¿ã¹ã¯ã«æ»ã£ã¦ããã¾ã§ãå²è¾¼ã¿Aã®å¦çãé
+ãã¦
+ãã¾ãã
+ã¾ããå²è¾¼ã¿Aãã¬ãã«ããªã¬ã ã¨2åæ¤åºããã¦ãã¾ãåé¡ãããã
+ãããé²ããããã¹ã¿ãã¯ã«ç©ãã§ããæ»ãå
+ã®IPMã¨task_intmaskã®å¤ãæ¯
+è¼ãã¦ãå
+¥å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ããªãã£ãããã§ãã¯ãã¦ããã
+ï¼cpu_support.Sã®_ret_intåç
+§ï¼
+
+SH1/2ã§ã¯CPUä¾å¤ãåãä»ãã¦ãå²è¾¼ã¿ãã¹ã¯ã¯å¤åããªããããCPUä¾å¤ã®å
+¥
+å£å¦çä¸­ã«å²è¾¼ã¿ãå
+¥ã£ãå ´åãä¸è¨ã®ãããªå¤å¥æ¹æ³ã§ãå¯¾å¦ã§ããªããã
+ã®ãããå²è¾¼ã¿ã®åºå£å¦çã§ã¹ã¿ãã¯ã«ç©ã¾ããæ»ãçªå°ã¨CPUä¾å¤ã®å
+¥å£å¦
+çã®çªå°ãæ¯è¼ãã¦ãæ»ãå
+ãCPUä¾å¤ã®å
+¥å£å¦çãå¦ããå¤å¥å¦çããªã
+ã·ã§ã³ã§ç¨æãã¦ããããã®å¦çã¯CPUä¾å¤ãç»é²ãããã¼ãã«ããµã¼ããã
+å¦çãå
+¥ããããå²ãè¾¼ã¿ç¦æ­¢åºéãé·ããªãããã®å¤å¥å¦çãæå¹ã«ããã
+å ´åã¯ãã¯ã­SUPPORT_CPU_EXC_ENTRY_CHECKãå®ç¾©ããã
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§çºçããCPUä¾å¤ã®å¦çã¯ãå¾åãã«ããã¦ãå²è¾¼ã¿ã»
+ã©åé¡ã¯ãªãã¨èããä¸è¨ã®å¦çã¯ããã©ã«ãã§ã¯ç¡å¹ã«ãã¦ãããï¼ã¿ã¹ã¯
+ã³ã³ãã­ã¹ãã§ã®CPUä¾å¤ãã©ã®ã¿ã¹ã¯å
+ã§çºçãããã¯ãå²è¾¼ã¿ã®ããã«ã¿
+ã¤ãã³ã°ã«ãããã®ã§ã¯ãªãå¿
+ç¶çãªãã®ã§ãããããCPUä¾å¤å¦çã®åªå
+é 
+ä½ããã®ã¿ã¹ã¯ã«æºãããã®ã¨ãã¦å¤æ­ãããï¼
+
+ä¸è¨ã®ãã¼ãã«ã¯ããã©ã«ãã§CPUä¾å¤ã6è¦å ç»é²ã§ããããã«ãã¦ãããã
+ã¢ããªã±ã¼ã·ã§ã³ã§ãã©ããå½ä»¤ãä½¿ç¨ããã«ã¼ãã«ã§ãã³ããªã³ã°ããå ´å
+ã¯user_config.hã®NUM_EXCã®å¤ãé©å®å¤æ´ããã
+
+
+5.4 gcc3.xå¯¾å¿ã«ã¤ãã¦
+
+SH2çã¯gcc3.xç³»ã§åä½ç¢ºèªã¯ãã¦ããªãã
+
+
+ï¼ï¼ãã®ä»
+
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+SH2 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/sh2/
+	Makefile.config	Makefileã®SH2ä¾å­å®ç¾©
+	cpu_config.c	ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_config.h	ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_context.h	ã³ã³ãã­ã¹ãæä½
+	cpu_defs.h	ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_insn.h	ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+	cpu_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_support.S	ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	makeoffset.c	offset.h çæãµãã¼ããã­ã°ã©ã 
+	sh7145.h		SH7145ã®å®ç¾©
+	sh7145cmt.h		SH7145å
+èµcmtç¨ã¿ã¤ãã¼ãã©ã¤ã
+	sh7145sci.c		SH7145å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ã
+	sh7145sci.h		SH7145å
+èµsciç¨ã·ãªã¢ã«ãã©ã¤ã
+	sh7615.h		SH7615ã®å®ç¾©
+	sh7615frt.h		SH7615å
+èµfrtç¨ã¿ã¤ãã¼ãã©ã¤ã
+	sh7615scif.c	SH7615å
+èµscifç¨ã·ãªã¢ã«ãã©ã¤ã
+	sh7615scif.h	SH7615å
+èµscifç¨ã·ãªã¢ã«ãã©ã¤ã
+	start.S		ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	tool_config.h	éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+	tool_defs.h	éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+
+
+
+    config/sh2/hsb7616it/
+	(æ ª)åæé»å­è£½ã®HSB7615IT(CPU: SH7615)
+
+	Makefile.config	Makefileã®HSB7615ITãã¼ãä¾å­å®ç¾©
+	hsb7616it.h		HSB7615ITã®ãã¼ãã¦ã§ã¢å®ç¾©
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	hw_serial.h		SIOãã©ã¤ã
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	sh2.h			SH2ã®å®ç¾©
+	shelf.ld		ãªã³ã«ã¹ã¯ãªãã
+	shelf.stub.ld	ãªã³ã«ã¹ã¯ãªãã(stubç¨)
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	user_config.h	ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+	sys_defs.h  	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_support.S	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+
+    config/sh2/apsh2f6a/
+	æ ª)ã¢ã«ãã¡ãã­ã¸ã§ã¯ãè£½ã®AP-SH2F-6A(CPU: SH7145)
+
+	Makefile.config	Makefileã®AP-SH2F-6Aãã¼ãä¾å­å®ç¾©
+	apsh2f6a.h		AP-SH2F-6Aã®ãã¼ãã¦ã§ã¢å®ç¾©
+	hw_serial.cfg	SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	hw_serial.h		SIOãã©ã¤ã
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	sh2.h			SH2ã®å®ç¾©
+	shelf.ld		ãªã³ã«ã¹ã¯ãªãã
+	shelf.stub.ld	ãªã³ã«ã¹ã¯ãªãã(stubç¨)
+	sys_config.c	ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_config.h	ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	user_config.h	ã¦ã¼ã¶ã¼å®ç¾©æ
+å ±
+	sys_defs.h  	ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	sys_support.S	ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+
+6.2 ã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®
+
+SH1/2ä¾å­é¨ã§ã¯ãã¦ã¼ã¶ã¼ã®è¨­å®é 
+ç®ãã·ã¹ãã ä¾å­é¨ã®ï¼ã¤ã®ãã¡ã¤ã«
+Makefile.configã¨user_config.hã«ã¾ã¨ãã¦ãããã¦ã¼ã¶ã¼ã¯ã«ã¼ãã«å
+é¨ã«
+ç«ã¡å
+¥ããªãã¦ããããç¨åº¦ãè¨­å®ãå¤æ´å¯è½ã«ãã¦ããã
+
+
+ã»_MACRO_ONLY
+ãããã¯ã­å®ç¾©ã®ã¿ã§ãããã¢ã»ã³ãã©ã½ã¼ã¹ããã¤ã³ã¯ã«ã¼ããã¦ã
+ããã¢ã»ã³ãã«ã¨ã©ã¼ã«ãªããªãé¨åãæ½åºããããã®ãã¯ã­
+
+ã»SUPPORT_CHG_IPM
+ãã2.2ç¯åç
+§
+
+ã»OMIT_POWER_CONTROL
+ãã5.2ç¯åç
+§
+
+ã»GDB_STUB
+ããGDB stubç¨ã
+
+
+å¤æ´å±¥æ­´
+
+'10/06/25 
+ãã»cpu_insn.hã®set_sr(), cpu_defs.hã®_disint_()
+ãããã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ï¼ldc rn, srå½ä»¤ï¼ã®clobberå¤æ°
+ããããªã¹ãã«memoryã¨SRã®Tããããè¿½å 
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh3.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh3.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/sh3.txt	(revision 26)
@@ -0,0 +1,558 @@
+
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                 ï¼SH3/SH4 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+          ï¼Release 1.4.2å¯¾å¿ï¼æçµæ´æ°: 11-Jul-2005ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: sh3.txt,v 1.36 2005/09/26 06:26:36 honda Exp $
+------------------------------------------------------------------------
+
+ï¼ï¼SH3/SH4 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+SH3/SH4 ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼SH7709Aï¼SH7729Rï¼
+SH7727ï¼SH7750ãæ­è¼ããä»¥ä¸ã®ãã¼ãããµãã¼ããã¦ããï¼ãªãï¼SH3-DSP 
+ã® DSP æ©è½ï¼SH4 ã® FPU ã¯ãµãã¼ããã¦ããªãï¼ï¼ãã£ã¹ãããæåã³å²è¾¼
+ã¿ã®å
+¥ãå£ã§é¢é£ããã¬ã¸ã¹ã¿ãä¿å­ãã¦ããªãï¼
+
+ã»(æ ª)æ¥ç«è¶
+LSIã·ã¹ãã ãºè£½ã® MS7709ASE01 ãã¼ã (CPU: SH7709A)
+ã»(æ ª)æ¥ç«è¶
+LSIã·ã¹ãã ãºè£½ã® MS7729RSE01 ãã¼ã (CPU: SH7729R)
+ã»(æ ª)æ¥ç«è¶
+LSIã·ã¹ãã ãºè£½ã® MS7750SE01  ãã¼ã (CPU: SH7750)
+ã»(æ ª)æ¥ç«è¶
+LSIã·ã¹ãã ãºè£½ã® MS7727CP01  ãã¼ã (CPU: SH7727)
+
+ãªãï¼MS7709ASE01ï¼MS7729RSE01ï¼MS7750SE01ã¯ï¼ãã¼ãã¦ã§ã¢æ§æãä¼¼éã£
+ã¦ããããï¼ solution_engine ã¨ããååã®ã·ã¹ãã ä¾å­é¨ã¨ãã¦ã¾ã¨ãã¦
+ããï¼åãæ¿ãã¯ï¼ã·ã¹ãã ä¾å­é¨ã® Makefile.clonfig ã§æå®ããï¼ä»¥ä¸ï¼
+ããã3ç¨®é¡ã®ãã¼ããç¹ã«åºå¥ããªãå ´åã¯ï¼Solution Engine ã¨è¡¨è¨ããï¼
+
+éçºç°å¢ã«ã¯ï¼GCC ãªã©ã® GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼
+ãããã¯ ELF ãæ¨æºã¨ããï¼
+
+Solution Engine ã§ã¯å®è¡ç°å¢ã¨ãã¦ï¼GDBã¹ã¿ããç¨ããæ¹æ³ã¨ JTAG-ICE 
+ãç¨ããæ¹æ³ããµãã¼ãããï¼GDBã¹ã¿ãã¯ Toppers ãã­ã¸ã§ã¯ãã®ãã¼ã ãã¼
+ã¸ãããã¦ã³ã­ã¼ãå¯è½ã§ããï¼JTAG-ICEã¨ãã¦ã¯ï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼
+ã¿è£½ã®PARTNER-Jã§ã®åä½ãç¢ºèªãã¦ããï¼GDBã¹ã¿ããç¨ããå ´åã«ã¯ï¼
+Makefile ä¸­ã§ï¼DBGENV ã« GDB_STUB ãè¨­å®ããï¼ããã©ã«ãï¼ï¼PARTNER-J
+ãç¨ããå ´åã«ã¯ï¼DBGENVã« PARTNER_J ãè¨­å®ããï¼
+
+MS7727CP01 ã§ã¯ï¼T-Monitor ãç¨ããæ¹æ³ã¨JTAG-ICEãç¨ããæ¹æ³ããµãã¼ã
+ããï¼ãªãï¼T-Monitor ãä½¿ã£ã¦ãããã°ãããã¨ã¯ä¸å¯è½ã§ããï¼åãªãã­ã¼
+ãã¼ã¨ãã¦ç¨ããï¼å
+·ä½çã«ã¯ï¼ã«ã¼ãã«ãSã¬ã³ã¼ãã«å¤æãï¼T-Monitor
+ã§ãã¦ã³ã­ã¼ããã¦å®è¡ããï¼ã«ã¼ãã«çµäºæã¯ï¼ãã­ã»ããµããªã»ããããï¼
+
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+SH3 ä¾å­ã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixxï¼get_ixx)ã¨ï¼æ§
+è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦
+æ­¢ã¨è¨±å¯(dis_intï¼ena_int)ã¯ãµãã¼ããã¦ããªãï¼
+
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+ç¾ãã¼ã¸ã§ã³ã§ã¯ï¼SH7708 ãç¨ããã·ã¹ãã ä¾å­é¨ã¯å­å¨ããªãï¼ããããª
+ããï¼ãã­ã»ããµä¾å­é¨ã®ã³ã¼ãèªä½ã¯ SH7708 ããµãã¼ãããï¼ãã®ããï¼
+SH7708ããµãã¼ãããã·ã¹ãã ä¾å­é¨ãä½æãããã¨ã¯å®¹æã§ããï¼ãã®å ´å
+ã«ã¯ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ãããã¯ sys_defs.h ã§ SH7708 ãå®ç¾©ããã°ã
+ãï¼
+
+
+1.4 ã·ãªã¢ã«ãã¼ã
+
+ã«ã¼ãã«ã®ã­ã°åºåç¨ã¨ãã¦ï¼Solution Engine ã§ã¯ã¹ã¼ãã¼I/Oå
+èµ
+SCI(CN3)ã 19200bps ã§ä½¿ç¨ããï¼MS7727CP01 ã§ã¯ï¼CPUãã¼ãä¸ã®ã·ãªã¢ã«
+ã¤ã³ã¿ãã§ã¼ã¹ã³ãã¯ã¿ã 115200bps ã§ä½¿ç¨ããï¼ãªãï¼å
+¨ã¦ã®ãã¼ãã«ã
+ãã¦ ãã¼ã¿: 8bit,Parity:none,Stop:1bitã§ããï¼
+
+
+1.5 ã¨ã³ãã£ã¢ã³
+
+åã¿ã¼ã²ããã¯ãã£ããã¹ã¤ããã«ããã¨ã³ãã£ã¢ã³ãå¤æ´ãããã¨ãå¯è½ã§
+ããï¼ããã«åããã¦ï¼ã«ã¼ãã«ã®ã¨ã³ãã£ã¢ã³ã®è¨­å®ã¯åã·ã¹ãã ä¾å­é¨ã§
+å¤æ´å¯è½ã§ããï¼ã¨ã³ãã£ã¢ã³ã¯ä»¥ä¸ã®åæã§è¨­å®ããï¼
+
+ ã»ã·ã¹ãã ä¾å­é¨ã® Makefile.config 
+    ã³ã³ãã¤ã«ãªãã·ã§ã³ -ml  or -mb
+    ãªã³ã«ãªãã·ã§ã³     -ml  or -mb
+    ãªã³ã«ã¹ã¯ãªãã     shlelf.ld or shelf.ld
+
+ ã»ã·ã¹ãã å®ç¾©
+    SIL_ENDIAN     SIL_ENDIAN_LITTLE or SIL_ENDIAN_BIG
+
+
+ï¼ï¼SH3 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼SH3ä¾å­ã®é¨å
+ã«ã¤ãã¦è§£èª¬ããï¼
+
+
+2.1 ãã¼ã¿å
+
+intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããï¼
+
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ï¼ NMI ãããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãå
+æåã«ã¼ãã³å
+ã§ã¯ï¼NMI ä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ï¼
+IPM(Interrupt Priority Mask)ã 15 ã«è¨­å®ãããï¼ããããªããï¼ãã¼ãä¸
+ã« NMI å
+¥åãæããªãã¿ã¼ã²ããã®ããï¼GDBã¹ã¿ãããã¹ãã®ãã·ã³ã¨éä¿¡
+ããããã®ã·ãªã¢ã«ãã¼ãã®åªå
+åº¦ã 15 ã§ç»é²ãï¼GDB ã§ Ctrl-C ãæ¼ãã¨ 
+å²ãè¾¼ã¿ãå
+¥ãã¹ã¿ãã«å¶å¾¡ãç§»ãããã«ãã¦ããï¼ãã®æ©è½ãä½¿ç¨ãããã
+ã«ã¯CPUã­ãã¯ç¶æ
+ã§ã¯ï¼åªå
+åº¦ã 14 ã«ãªãããã«ããªããã°ãªããªãï¼ã
+ã®ããï¼CPUã­ãã¯ã§è¨­å®ãããåªå
+åº¦ããã¯ã­ã§ MAX_IPM ã§æå®ãã¦ããï¼
+MAX_IPM ã¯cpu_config.h ã®ä¸­ã§å®ç¾©ããã¦ããï¼GDBã¹ã¿ããä½¿ãå ´åã¯ 14 
+ã«GDBã¹ã¿ããä½¿ããªãå ´åã¯ 15 ã«è¨­å®ãã¦ããï¼
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ï¼SH7708/50 ã§ã¯ï¼å²ãè¾¼
+ã¿äºè±¡ã¬ã¸ã¹ã¿(INTEVT)ã«è¨­å®ãããã³ã¼ãã§ããï¼SH7709A/09/29R/27 ã§ã¯ï¼
+å²ãè¾¼ã¿äºè±¡ã¬ã¸ã¹ã¿2(INTEVT2)ã«è¨­å®ãããã³ã¼ãã§ããï¼ãã¼ã¿å
+(INHNO)ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼DEF_INH ã§ï¼INTEVT,INTEVT2ã³ã¼
+ãã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªãçªå·ãæå®ããå ´åã®åä½
+ã¯ä¿è¨¼ãããªãï¼
+
+SH3ä¾å­ã®æ©è½ã¨ãã¦ï¼SR(Status Register)ä¸­ã® å²ãè¾¼ã¿ãã¹ã¯ããã(I3ã
+I0)ã®å¤ãå¤æ´ããããã®ãµã¼ãã¹ã³ã¼ã« chg_ipm ã¨ï¼åç
+§ããããã®ãµã¼ã
+ã¹ã³ã¼ã« get_ipm ããµãã¼ããã¦ããï¼ãªãï¼å²ãè¾¼ã¿ãã¹ã¯ãããã®å¤ã
+è¡¨ããã¼ã¿å IPM ã¯ï¼unsigned intåã«å®ç¾©ããã¦ããï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®å ´å
+ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipm ã«ãã IPM ã 0 ä»¥å¤(ããªãã¡ï¼ä½
+ããã®å²è¾¼ã¿ãç¦æ­¢ããã¦ããç¶æ
+)ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ã
+ããï¼chg_ipm ã«ããå¤æ´ãã IPM ã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ã
+ç¶ãããï¼ä¾ãã°ï¼ããã¿ã¹ã¯ã§ IPM ã 1 ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«
+ããå¥ã®ã¿ã¹ã¯ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ã IPM ã¯ 1 ã«ãª
+ãï¼
+
+chg_ipm ããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããï¼ãããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPM ã¯ï¼cpu_config.h ã®ä¸­ã§ #define ããã¦ããï¼
+
+SH3ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®
+éãï¼
+
+
+(1) chg_ipm                     å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+        ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+        IPM     ipm             è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd            ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_CTX           ã³ã³ãã­ã¹ãã¨ã©ã¼
+        E_PAR           ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ãä¸æ­£)
+
+ãæ©è½ã
+
+IPM(Interrupt Priority Mask)ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼æå®ãã
+å¤ã 0ã13ãªãã14ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã 1ãMAX_IPM -1 
+ã«è¨­å®ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­å®ãã IPM ã®
+å¤ã¯ï¼ãã£ã¹ãããå¾ãå¼ãç¶ãããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPM ã MAX_IPM (ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢)
+ã«è¨­å®ãããã¨ã¯ã§ããªãï¼IPM ã MAX_IPM ã«ãããå ´åã«ã¯ï¼loc_cpu ã
+ä½¿ãã¹ãã§ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+
+(2) get_ipm                     å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãCè¨èªAPIã
+        ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+        ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd            ã¨ã©ã¼ã³ã¼ã
+        IPM     ipm             ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_CTX           ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPM(Interrupt Priority Mask)ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(excno)ã¯ï¼SH3 ã§ã® ä¾å¤äºè±¡ã¬ã¸ã¹
+ã¿ã«è¨­å®ãããä¾å¤ã³ã¼ãçªå·ãè¡¨ãï¼ãã®ãã¼ã¿å(EXCNO)ã¯ unsigned int
+åã«å®ç¾©ããã¦ããï¼DEF_EXC ã§ï¼ä¾å¤ã³ã¼ãçªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼
+CPUä¾å¤ã«å¯¾å¿ããªãçªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ï¼CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ããä¿å­
+ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ãæ¸¡ãããï¼ã¹ã¿ãã¯ã®æ§é ãä»¥ä¸ã«ç¤ºãï¼
+
+offset
+          ----------------------
+         |         R7           |  <-- p_excinf
+          ----------------------
+  1      |         R6           |
+          ----------------------
+  2      |         R5           |
+          ----------------------
+  3      |         R4           |
+          ----------------------
+  4      |         R3           |
+          ----------------------
+  5      |         R2           |
+          ----------------------
+  6      |         R1           |
+          ----------------------
+  7      |         R0           |
+          ----------------------
+  8      |        MACH          |
+          ----------------------
+  9      |        MACL          |
+          ----------------------
+ 10      |        GBR           |
+          ----------------------
+ 11      |         SR           |
+          ----------------------
+ 12      |         PR           |
+          ----------------------
+ 13      |         PC           |
+          ----------------------
+
+ã¾ãï¼CPUä¾å¤çºçæã®PCã®å¤ã¯çºçä¾å¤è¦å ã«å¿ãã¦CPUã«ããã¤ã³ã¯ãªã¡ã³
+ããããå ´åãï¼ãããã«ãªãã©ã¤ããå ´åãããï¼ãã®ããï¼PCã®å¤ãå¤æ´
+ãããå ´åã¯ï¼CPUä¾å¤ãã³ãã©ã§ï¼p_excinfãå
+ã«PCã®å¤ãå¤æ´ããã°ããï¼
+
+
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+SH3ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ï¼æ¬¡ã®åæåå¦çãè¡ãï¼
+
+(A) ãã­ã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+æåã«ï¼ãã¹ã¦ã®ã­ã£ãã·ã¥ãç¡å¹åããå¾ï¼ã­ã£ãã·ã¥ãã©ã¤ãã¹ã«ã¼ã¢ã¼
+ãã«è¨­å®ãï¼æå¹ã«ããï¼ã¾ãï¼ãã­ã»ããµã®ã¢ã¼ããï¼ç¹æ¨©ã¢ã¼ãï¼ã¬ã¸ã¹
+ã¿ãã³ã¯1ã«è¨­å®ãï¼å²ãè¾¼ã¿ãã¹ã¯ã MAX_IPM ã«è¨­å®ããï¼
+
+
+æ¬¡ã«ï¼ã¹ã¿ãã¯ãã¤ã³ã¿(r15)ã STACKTOP ã«è¨­å®ããï¼ããã§å²è¾¼ã¿ã¹ã¿ã
+ã¯ãã¤ã³ã¿ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­
+ã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_config.h é¨ã§å®ç¾©
+ãããã¨ãæ³å®ãã¦ããï¼
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ãã)ï¼
+
+(C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢(å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ãã)ï¼
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+
+2.5 ã¬ã¸ã¹ã¿ãã³ã¯
+
+ä¾å¤ãã³ãã©ã®å
+¥å£ãé¤ãåºæ¬çã«ã¬ã¸ã¹ã¿ãã³ã¯0ãä½¿ç¨ãã¦ããï¼ã¬ã¸ã¹
+ã¿ãã³ã¯1ã¯ r7 ã®ã¿ä¾å¤/å²ãè¾¼ã¿ã®ãã¹ãåæ°ã®ã«ã¦ã³ãç¨ã«ä½¿ç¨ãã¦ããï¼
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å¤å¥ã¯ãã®ã¬ã¸ã¹ã¿ã«ããè¡ã£
+ã¦ããï¼ãªãï¼ã¹ã¿ãã¯ã¬ã¸ã¹ã¿ãã³ã¯1ã®R0ã¨R1ãä½¿ç¨ããããï¼ãã®ã¬ã¸
+ã¹ã¿ã«æ¸ãè¾¼ãã ãã¼ã¿ã¯ã¹ã¿ããå¼ã³åºãããã¨ç ´å£ãããï¼
+
+
+2.6 MACHï¼MACLï¼GBR
+
+gccã§ã¯ï¼MACHï¼MACLï¼GBRã¯ãã¹ã¦ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã¨ãã¦æ±ãããããï¼
+é¢æ°å¼ã³åºãã®åå¾ã§ã¯å¤ã¯ä¿è¨¼ãããªãï¼ãã®ããï¼ä¾å¤/å²è¾¼ã¿çºçæã«
+ã¯ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã§ããæ±ç¨ã¬ã¸ã¹ã¿R0ãR7ã¨åæ§ã«ä¿å­ãã¦ããï¼
+ã¾ãï¼èªããã£ã¹ãããã£ãå¼ã³åºããå ´åã¯ï¼é¢æ°å¼ã³åºãã«ãªãããï¼ä¿
+å­ãã¦ããªãï¼ã¢ã»ã³ãã©ã®ã³ã¼ããä½¿ç¨ããå ´åããã®ã«ã¼ã«ã«å¾ãå¿
+è¦ã
+ããï¼
+
+
+2.7 å²è¾¼ã¿ãã³ãã©å®è¡æã®å²è¾¼ã¿ãã¹ã¯
+
+SH3ã¯å²è¾¼ã¿çºçæï¼å²è¾¼ã¿ãã¹ã¯ããã(I3ãI0)ã¯ãã­ã»ããµã«ãã£ã¦èªå
+çã«è¨­å®ãããªãããï¼ã½ããã¦ã§ã¢ã«ãã£ã¦è¨­å®ããå¿
+è¦ãããï¼å²è¾¼ã¿ã
+ã³ãã©å®è¡æã«è¨­å®ããå²è¾¼ã¿ãã¹ã¯ããããã«ã¼ãã«ã«æå®ãããµã¼ãã¹ã³ã¼
+ã«ã¨ãã¦define_int_plevel() ãç¨æãã¦ããï¼ãã®ãµã¼ãã¹ã³ã¼ã«ã®ä½¿ç¨ã¯
+æ¬¡ã®éãï¼ãªãï¼define_int_plvel()ã«ããå²è¾¼ã¿ãã¹ã¯ããããæå®ããªã
+ãã°å²è¾¼ã¿ãã³ãã©ã¯ãã£ãã©ã«ãã® MAX_IPM -1 ã®ãã¹ã¯ã§å®è¡ãããï¼
+
+ define_int_plevel  å²è¾¼ã¿ãã³ãã©å®è¡æã®å²è¾¼ã¿ãã¹ã¯ãããã®æå®
+
+ãCè¨èªAPIã
+  void define_int_plevel(UINT dintno, UW plevel)
+
+ããã©ã¡ã¼ã¿ã
+  dintno    å²è¾¼ã¿çªå·
+  plevel    å²è¾¼ã¿ã¬ãã«
+
+ãæ©è½ã
+  dintno ã§æå®ããå²è¾¼ã¿çªå·ã®å²è¾¼ã¿ãã³ãã©ãå®è¡ãããå ´åã®å²è¾¼ã¿
+  ãã¹ã¯ã plevel ã«ããï¼
+
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ï¼sys_defs.h ä¸­ã® 
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(æ¨æºã¯ 1ããªç§å¨æ)ï¼ãã®å®ç¾©
+ãå¤æ´ãããã¨ã§ï¼isig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼ãã 
+ãï¼ã¿ã¤ãã®ç²¾åº¦ã 1Î¼ç§ã§ããããï¼1Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ãã
+å ´åã«ã¯ï¼isig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+SH3ä¾å­é¨ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦
+ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ 1Î¼ç§åä½ã§ãããï¼ã¿ã¤ãã®ç¾å¨å¤
+ãèª­ã¿åºãããã«ä¸æçã«ã¿ã¤ããåæ­¢ãããå¿
+è¦ãããããï¼vxget_tim ã
+å¼ã¶åº¦ã«ã·ã¹ãã ã¯ã­ãã¯ãå°ãã¥ã¤é
+ãããã¨ã«ãªãï¼ãªãï¼SYSUTIMåã¯ 
+UDå(64ãããã®ç¬¦å·ç¡ãæ´æ°å)ã«å®ç¾©ãã¦ããï¼
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+
+Solution_Engine ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ã¹ã¼ãã¼I/Oå
+èµ
+SCI(CN3) ããµãã¼ããã¦ããï¼ã¾ãï¼MS7727CP01ã®ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹
+ãã©ã¤ãã¯ï¼ST16C2550CQ48 ããµãã¼ããã¦ããï¼
+
+3.4 ã¡ã¢ãªããã
+
+ã³ã¼ãé åã¨ãã¼ã¿é åã¯åã·ã¹ãã ä¾å­é¨ã® Makefile.config ã§ï¼ã¹ã¿ã
+ã¯ã®åæå¤ã¯ï¼sys_defs.h ã§è¨­å®ããï¼
+
+ã»Solution Engine
+  ã³ã¼ãé åã 0x0c003000 ã 0x0c0fffff ç´1MBï¼ãã¼ã¿é åã 0x0c100000 
+  ã ã®ç´3MBï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã ã0x0c3fffff ã«ç¢º
+  ä¿ãã¦ããï¼0x0c000000 ã 0x0c000fff ã¯ï¼GDBã¹ã¿ãã®ã¯ã¼ã¯ã¨ãªã¢ã¨ãªã£
+  ã¦ããï¼ä½¿ç¨ãããã¨ãã§ããªãï¼
+
+
+ã»MS7727CP01
+  ã³ã¼ãé åã 0x0c003000 ã 0x0c0fffff ç´1MBï¼ãã¼ã¿é åã 0x0c100000 
+  ã ã®ç´3MBï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã ã0x0c3fffff ã«ç¢º
+  ä¿ãã¦ããï¼0x0c000000 ã 0x0c002fff ã¯ï¼ROMã¢ãã¿ã®ã¯ã¼ã¯ã¨ãªã¢ã¨ãªã£
+  ã¦ããï¼ä½¿ç¨ãããã¨ãã§ããªãï¼
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+
+
+4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
+åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+
+    BINUTILS : 2.10.1
+    GCC-CORE : 2.95.3
+    GDB      : 4.18
+    NEWLIB   : 1.9.0
+
+ã®çµã¿åãããããã¯
+
+    BINUTILS : 2.14
+    GCC-CORE : 3.3
+    GDB      : 5.3
+    NEWLIB   : 1.11.0
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+SH3 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
+
+    config/sh3/
+        Makefile.config Makefileã® SH3 ä¾å­å®ç¾©
+        cpu_defs.h        ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        cpu_config.h      ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+        cpu_config.c      ãã­ã»ããµä¾å­é¨ã®é¢æ°
+        cpu_support.S     ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+        cpu_context.h     ã³ã³ãã­ã¹ãæä½
+        cpu_rename.def    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        cpu_rename.h      ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        cpu_unrename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        tool_defs.h       éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+        tool_config.h     éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
+        makeoffset.c      offset.h çæãµãã¼ããã­ã°ã©ã 
+        cpu_insn.h        ä½ã¬ãã«ã®ãã­ã»ããµæä½ã«ã¼ãã³
+        start.S           ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+        shelf.ld          ããã°ã¨ã³ãã£ã¢ã³ç¨ãªã³ã«ã¹ã¯ãªãã
+        shlelf.ld         ãªãã«ã¨ã³ãã£ã¢ã³ç¨ãªã³ã«ã¹ã¯ãªãã
+        hw_timer.h        ã¿ã¤ãæä½ã«ã¼ãã³
+        sh3.h             SH3 ã®å®ç¾©
+        sh4.h             SH4 ã®å®ç¾©
+
+
+    config/sh3/solution_engine
+        Makefile.config   Makefileã® Solution Engine ä¾å­å®ç¾©
+        ms7709ase01.h     MS7709ASE01 ãã¼ãã¦ã§ã¢å®ç¾©
+        ms7729rse01.h     MS7729RSE01 ãã¼ãã¦ã§ã¢å®ç¾©
+        ms7750se01.h      MS7750SE01  ãã¼ãã¦ã§ã¢å®ç¾©
+        solution_engine.h Solution Engineå
+±éå®ç¾©
+        sys_config.c      ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_config.h      ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_defs.h        ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_support.S     ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h      ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        hw_serial.h       SIOãã©ã¤ã
+        hw_serial.cfg     SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+
+
+    config/sh3/ms7727cp01
+        Makefile.config   Makefileã® MS7727CP01 ä¾å­å®ç¾©
+        ms7727cp01.h      MS7727CP01 ãã¼ãã¦ã§ã¢å®ç¾©
+        sys_config.c      ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+        sys_config.h      ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+        sys_defs.h        ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+        sys_support.S     ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h      ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        hw_serial.h       SIOãã©ã¤ã
+        hw_serial.cfg     SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+
+
+    pdic/simple_sio/
+        st16c2550.h       ST16C2550 ã®å®ç¾©
+        st16c2550.c       ST16C2550 ç¨SIOãã©ã¤ã
+        fdc37c935a.h      fdc37c935a ã®å®ç¾©
+        fdc37c935a.c      fdc37c935a ç¨SIOãã©ã¤ã
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tlcs900.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tlcs900.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tlcs900.txt	(revision 26)
@@ -0,0 +1,490 @@
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                         ï¼TLCS900 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+            ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 19-May-2011ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+
+ The above copyright holders grant permission gratis to use,
+ duplicate, modify, or redistribute (hereafter called use) this
+ software (including the one made by modifying this software),
+ provided that the following four conditions (1) through (4) are
+ satisfied.
+
+ (1) When this software is used in the form of source code, the above
+     copyright notice, this use conditions, and the disclaimer shown
+     below must be retained in the source code without modification.
+
+ (2) When this software is redistributed in the forms usable for the
+     development of other software, such as in library form, the above
+     copyright notice, this use conditions, and the disclaimer shown
+     below must be shown without modification in the document provided
+     with the redistributed software, such as the user manual.
+
+ (3) When this software is redistributed in the forms unusable for the
+     development of other software, such as the case when the software
+     is embedded in a piece of equipment, either of the following two
+     conditions must be satisfied:
+
+   (a) The above copyright notice, this use conditions, and the
+          disclaimer shown below must be shown without modification in
+       the document provided with the redistributed software, such as
+       the user manual.
+
+   (b) How the software is to be redistributed must be reported to the
+       TOPPERS Project according to the procedure described
+       separately.
+
+ (4) The above copyright holders and the TOPPERS Project are exempt
+     from responsibility for any type of damage directly or indirectly
+     caused from the use of this software and are indemnified by any
+     users or end users of this software from any and all causes of
+     action whatsoever.
+
+ THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+     è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+     ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+     ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+     ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+     è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+     ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+       åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+     ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+     æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+     ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ ããªãï¼
+
+ @(#) $Id: tlcs900.txt,v 1.3 2007/05/21 01:21:47 honda Exp $
+------------------------------------------------------------------------
+
+1  TLCS900 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1  ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+TLCS900ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ï¼ã¿ããã³å·¥æ¥­æ ªå¼ä¼ç¤¾ã®Zup-F16
+æ¡å¼µãã¼ãã¨ããµãã¼ããã¦ããï¼Zup-F16æ¡å¼µãã¼ãã¯TMP91CY22-CPUãæ­è¼
+ãã¦ããï¼
+
+1.2  éçºç°å¢ã¨å®è¡ç°å¢
+
+Zup-F16æ¡å¼µãã¼ãã­ããã«åæ¢±ããã¦ããCD-ROMä¸­ã®æ±èã»ãã³ã³ãã¯ã¿ç¤¾è£½
+ã®éçºç°å¢(TOSHIBA IDE)ãä½¿ç¨ãã¦éçºãè¡ãï¼
+JSP1.4.4ã®Windowsç(æå­ã³ã¼ãSJIS æ¹è¡ã³ã¼ãCRLF)å®è¡ãå¯è½ã§ã·ãªã¢ã«
+ãã¼ãããã¤ãã½ã³ã³ãããã°ï¼æ§ç¯ï¼ãã¼ãä¸å®è¡ãå¯è½ã§ããï¼
+
+1.3  ãµãã¼ãããæ©è½ã®æ¦è¦
+
+å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§ (chg_ixxï¼ get_ixx)ã¯ãµãã¼ããã¦ãããï¼æ§è½
+è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ (vxget_tim) ï¼å²ãè¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯
+(dis_intï¼ena_int) ã¯ãµãã¼ããã¦ããªãï¼
+
+1.4  ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+TLCS900ã·ãªã¼ãºã§ããã°ã·ã¹ãã ä¾å­é¨ã®ä¿®æ­£ã®ã¿ã§ãã¼ãã£ã³ã°ãå¯è½ã¨
+æãããï¼ã¾ãï¼ä»ã®ã·ãªã¼ãºã®CPUã§ãæ§é ãå¤§ããéã£ã¦ããªããã°ï¼å®¹
+æã«ãã¼ãã£ã³ã°ã¯å¯è½ã§ããï¼ãªãï¼ãã¹ãç°å¢ã®é½åä¸ï¼Zup-F16æ¡å¼µã
+ã¼ãä»¥å¤ã§ã®åä½ç¢ºèªã¯è¡ã£ã¦ããªãï¼
+
+1.5  ã·ãªã¢ã«ãã¼ã (SIO)
+
+ãã¼ãä¸ã¯UART1ãå®è£
+ããã¦ããï¼ãã¼ãã£ã³ã°ã«ããã¦ã¯ï¼UART0/1ä¸¡æ¹
+ã¨ãåä½å¯è½ãªããã«é
+æ
+®ãã¦ãããï¼åä½ç¢ºèªã¯UART1ã®ã¿è¡ã£ã¦ããï¼
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯ä»¥ä¸ã®éãã§ããï¼ 
+
+	ã»ãã¼ã¬ã¤ãï¼19200bps
+	ã»ãã¼ã¿é·ï¼8 ãããï¼
+	ã»ã¹ããããããï¼1 ããã
+	ã»ããªãã£ï¼ãªã
+
+1.6  å¯¾è±¡ã¨ããæå­ã³ã¼ãã¨æ¹è¡ã³ã¼ã
+
+Windowsç(æå­ã³ã¼ãSJIS æ¹è¡ã³ã¼ãCRLF)ãå¯¾è±¡ã¨ãã¦ããï¼ãªãï¼ã³ã³
+ãã£ã®ã¥ã¬ã¼ã¿ cfg.exe ãå¾è¿°ã®MinGWã§ãã«ãããå ´åã¯ï¼æå­ã³ã¼ãEUC
+æ¹è¡ã³ã¼ãLFã§ãããã¨ãã®ãã¾ããï¼ãã®ããï¼cfgä»¥ä¸ã®ã½ã¼ã¹ã³ã¼ããï¼
+æå­ã³ã¼ãEUCæ¹è¡ã³ã¼ãLFã«å¤æãããï¼æ¨æºç(æå­ã³ã¼ãECU æ¹è¡ã³ã¼ã
+LF)ã®cfgä»¥ä¸ã§ãã«ããã cfg.exeãã³ãã¼ãã¦å©ç¨ãããã¨ãæ¨å¥¨ããï¼
+
+2  TLCS900 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼TLCS900ä¾å­ã®
+é¨åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1  ãã¼ã¿å
+
+int åã¨ unsigned int åã®ãµã¤ãºã¯ 16ãããã§ããï¼ã¾ãï¼_int64_ã¯å¯¾å¿
+ãã¦ããªãï¼ãã¤ã³ã¿åã®ãµã¤ãºã¯ 32ãããã§ããï¼
+
+2.2  å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯ NMI ã®ã¿ã§ããï¼CPUã­ãã¯ç¶æ
+ãåæåã«ã¼ãã³
+å
+ã§ã¯ NMI ä»¥å¤ã®å²è¾¼ã¿ã¯å
+¨ã¦ç¦æ­¢ãããï¼å
+·ä½çã«ã¯ï¼å²è¾¼ã¿ãã¹ã¯ãï¼
+ã«è¨­å®ãããï¼
+
+å²è¾¼ã¿ãã³ãã©ã¯CPUã®è¨­å®ä½ç½®ã«éçã«é
+ç½®ãããï¼æ¬éçºç°å¢ã§ã¯ã³ã³ãã£
+ã®ã¥ã¬ã¼ã·ã§ã³ããçæãããkernel_cfg.cã®å
+å®¹ãè­å¥ãï¼èªåçã«éçãª
+å²è¾¼ã¿ãã³ãã©ãçæããã¦ã¼ãã£ãªãã£ãç¨æãã¦ããï¼ãã®ã¦ã¼ãã£ãªã
+ã£ã¯utils/tlcs900-toshibaãã¬ã¯ããªã£ä¸­ã®tlcs900vec.exeã³ãã³ãã§ï¼ããª
+ã³ã³ãã¤ã«ãããkernel_cfg.cã®å
+å®¹ãè§£æãå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãã¡ã¤ã«
+ã§ããtlcs900vec.incãçæããï¼tlcs900vec.incã¯CPUã®ã¹ã¿ã¼ãã¢ããã¢
+ã¸ã¥ã¼ã«ã§ããstart.appã«ã¤ã³ã¯ã«ã¼ãããã¦ããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+ãã¡ã¤ã«ã®å²è¾¼ã¿ãã³ãã©è¨­å®ãROMä¸ã«éçã«é
+ç½®ããï¼
+ãªãï¼å²è¾¼ã¿ãã³ãã©ãç»é²ãããªãã£ãå²è¾¼ã¿è¦å ã«ã¯ï¼æªä½¿ç¨å²è¾¼ã¿å¦ç
+_unused_interrupt ãç»é²ãããï¼ã¾ãï¼å²è¾¼ã¿è¦å çªå·ï¼ã¯ã¹ã¿ã¼ãã¢ãã
+å¦ç _start ãç»é²ãããï¼
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼TMP91CY22 ã§ã®ãã¯ã¿å¤
+ãè¡¨ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_INH ã§ï¼ãã¯ã¿å¤ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªãå¤ãæ
+å®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+chg_ipm ããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çãªã©ã«ãªã¼ããã
+ããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPM ã¨ãããã¯ã­ã«ããï¼ãããã®ãµã¼
+ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
+SUPPORT_CHG_IPM ã¯ï¼cpu_config.h ã®ä¸­ã§ãã¯ã­å®ç¾©ããã¦ããï¼
+
+TLCS900 ä¾å­ã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åå¾ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯ä»¥
+ä¸ã®éãã§ããï¼
+
+(1) chg_ipm			å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+
+ãCè¨èªAPIã
+	ER ercd = chg_ipm(IPM ipm);
+
+ããã©ã¡ã¼ã¿ã
+	IPM	ipm		è¨­å®ãã¹ã IPM ã®å¤
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+	E_PAR		ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ãä¸æ­£ï¼
+
+ãæ©è½ã
+
+IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨­å®ããï¼æå®ã
+ãå¤ã 0ã6 ä»¥å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã 0ã6 ã«è¨­å®ããå ´å
+ã§ãï¼ãã£ã¹ãããã¯ç¦æ­¢ãããªãï¼ã¾ãï¼è¨­å®ãã IPM ã®å¤ã¯ï¼ãã£ã¹ãã
+ãå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ­¢ãããå ´åã«ã¯ï¼dis_dsp ã¨ä½µç¨ã
+ãã°ããï¼
+
+ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPM ã 7 ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ï¼ã«
+è¨­å®ãããã¨ã¯ã§ããªãï¼IPM ã 7 ã«ãããå ´åã«ã¯ï¼loc_cpu ãä½¿ãã¹ã
+ã§ããï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(2) get_ipm			å²è¾¼ã¿ãã¹ã¯ã®åå¾
+
+ãCè¨èªAPIã
+	ER ercd = get_ipm(IPM *p_ipm);
+
+ããã©ã¡ã¼ã¿ã
+	ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+	ER	ercd		ã¨ã©ã¼ã³ã¼ã
+	IPM	ipm		ç¾å¨ã® IPM ã®å¤
+
+ãã¨ã©ã¼ã³ã¼ãã
+	E_CTX		ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèª­ã¿åºãï¼ipm ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ CPUã­ãã¯è§£é¤ç¶æ
+ã®æã®ã¿å¼
+ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+2.3  CPU ä¾å¤ç®¡çæ©è½ã¨ CPU ä¾å¤ãã³ãã©
+
+CPUä¾å¤ã¨ãã¦ï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã¨ã½ããã¦ã§ã¢ãã³ãã¹ã«
+ãã«å²è¾¼ã¿ãããï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ä¸­ã®ãªã»ãããé¤ãã¦
+ãã³ãã©ã®è¨­å®ãå¯è½ã§ããï¼
+CPUä¾å¤ãã³ãã©ã¯å²è¾¼ã¿ãã³ãã©ã¨åæ§ã«CPUã®è¨­å®ä½ç½®ã«éçã«é
+ç½®ããã
+ï¼CPUä¾å¤ãã³ãã©ã«é¢ãã¦ãå²è¾¼ã¿ãã³ãã©ã¨åæ§ã«tlcs900vec.exeãç¨ãã¦ï¼
+èªåçã«éçãªCPUä¾å¤ãã³ãã©ãçæãããã¨ãã§ããï¼ãã®ãã¼ã¿ã¯å²è¾¼ã¿
+ãã³ãã©ã¨åæ§ã«tlcs900vec.incã«è¨­å®ãããï¼
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M16Cã§ã®ä¾å¤ãã¯ã¿
+çªå·ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_EXC ã§æå®ããCPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼TMP91CY22 ã§ã®ãã¯ã¿
+å¤ãè¡¨ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
+DEF_EXC ã§ï¼ãã¯ã¿å¤ã¨ãã¦æå¹ã§ãªãå¤ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããª
+ãï¼
+
+2.4  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+TLCS900 ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.app) ã¯æ¬¡ã«ç¤ºãåæåã
+å®è¡ããå¾ï¼ã«ã¼ãã« (kernel_start) ãèµ·åããï¼ãã ãï¼ kernel_start 
+ããæ»ã£ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+(1) å²è¾¼ã¿ã®ç¦æ­¢
+
+(2) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+(3) å²è¾¼ã¿ãã¹ãã¬ã¸ã¹ã¿ã®åæå
+
+(4) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ã
+ãä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
+å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
+ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(5) areaã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
+
+areaã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
+
+(6) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§
+ã¢ç°å¢ï¼å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
+ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
+ã«è¨è¿°ããï¼ï¼
+
+(7) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
+ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+3  Zup-F16-ex ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ããisig_timãå¼ã³åºãå¨æã¯ï¼sys_defs.hä¸­ã®
+TIC_NUMEã¨TIC_DENOã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼ãã®å®ç¾©ãå¤
+æ´ãããã¨ã§ï¼isig_timãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼ãã ãï¼ã¿
+ã¤ãã®ç²¾åº¦ã50Î¼ç§ç¨åº¦ã§ããããï¼50Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããå ´
+åã«ã¯ï¼isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+3.2  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+Zup-F16æ¡å¼µãã¼ãã§ã¯UART1ã®ã·ãªã¢ã«ãã¼ãããã¼ãä¸ã«å®è£
+ããã¦ããï¼
+ãã®ããUART1ãã­ã°åºåç¨ã«ä½¿ç¨ãã¦ããï¼
+
+3.3  ã¡ã¢ãªããã
+
+	0x000000 - 0x0003ff		å
+é¨IO(SFR)é å
+	0x001000 - 0x004bff		å
+èµ RAM area data
+	0x004c00 - 0x004fff		å
+èµ RAM stack
+	0x100000 - 0x200000		å¤é¨ RAM æªä½¿ç¨
+	0xfc0000 - 0xfffeff		å
+èµ ROM code const
+	0xffff00 - 0xffffff		å
+èµ ROM vecter
+
+4  éçº
+
+4.1  éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã¯ï¼Windows XPãç¨ããï¼Zup-F16æ¡å¼µãã¼ãã­ããã«åæ¢±ããã¦ãã
+CD-ROMä¸­ã®æ±èã»ãã³ã³ãã¯ã¿ç¤¾è£½ã®éçºç°å¢(TOSHIBA IDE)ãä½¿ç¨ãã¦éçºã
+è¡ãï¼ãªãï¼ã«ã¼ãã«é¨ã®ã©ã¤ãã©ãªåã¯è¡ã£ã¦ããªãï¼
+
+	ä½¿ç¨ããéçºç°å¢ã®ãã¼ã¸ã§ã³
+		TIDE 2.3.1.1
+
+4.1.1  ãã¼ã«ã®æ§ç¯
+
+utils/tlcs900-toshiba ä¸ã®ãã¼ã« tlcs900offset.exe ã¨ tlcs900vec.exe ã
+æ§ç¯ãã¾ã.
+utils/tlcs900-toshiba å
+ã® Microsoft Visual Studio 2010 ã¯ã¼ã¯ã¹ãã¼ã¹
+ãã¡ã¤ã«tlcs900_toshiba.sln ãéãã¾ãï¼ãã«ãã¡ãã¥ã¼ã«ã¦ããããã®ã
+ã­ã¸ã§ã¯ãããã«ããï¼tlcs900offset.exe ã¨ tlcs900vec.exe ãçæãã¾ãï¼
+å¿
+è¦ã«å¿ãã¦ãã«ãã¡ãã¥ã¼ã®ããããã«ããä½¿ç¨ãããï¼ã¢ã¯ãã£ããªãã­
+ã¸ã§ã¯ãã®æ§æãä½¿ç¨ãã¦ãã­ã¸ã§ã¯ããå¤æ´ãï¼ãªãã«ããè¡ã£ã¦ãã ããï¼
+
+ãªããã«ã¼ãã«æ§ç¯ã«ããã£ã¦ã¯ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãä½¿ç¨ãã¾ãï¼
+ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ã®æ§ç¯æ¹æ³ã¯ user.txt ãåç
+§ãã¦ãã ããï¼
+
+4.1.2  ãµã³ãã«ãã­ã¸ã§ã¯ãã®ãã«ã
+
+Zup-F16æ¡å¼µãã¼ãã­ããã«åæ¢±ããã¦ããCD-ROMä¸­ã®æ±èã»ãã³ã³ãã¯ã¿ç¤¾
+è£½ã®éçºç°å¢(TOSHIBA IDE)ãã¤ã³ã¹ãã¼ã«ããï¼TOSHIBA IDE èµ·åãï¼
+tools/TLCS900-TOSHIBAå
+ã®TOSHIBA IDEã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«
+TLCS900-TOSHIBA.tws ãéãã¾ãï¼ãã«ãã¡ãã¥ã¼ãããªãã«ããè¡ãã¾ãï¼
+ã¢ã¯ãã£ããªãã­ã¸ã§ã¯ãã®æ§æã«ããtools/TLCS900-TOSHIBA/Zup-F16-ex
+å
+ã® release ã¾ãã¯ debug éå±¤ã«ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ãã¡ã¤ã«
+Zup-F16-ex.h20 ãçæããã¾ãï¼
+
+4.1.3  ãã©ãã·ã¥ROMã¸ã®æ¸è¾¼ã¿
+
+Zup-F16æ¡å¼µãã¼ãã­ããã«åæ¢±ããã¦ããCD-ROMä¸­ã®ã¿ããã³å·¥æ¥­æ ªå¼ä¼ç¤¾
+è£½ã®ã­ã¼ããã­ã°ã©ã ãä»»æã®éå±¤ã«ã³ãã¼ããï¼ã­ã¼ããã­ã°ã©ã ãèµ·å
+ããï¼ãã®æä½¿ç¨ããCOMãã¼ãã®è¨­å®ãªã©ãã­ã¼ããã­ã°ã©ã ã¨åãéå±¤ã«
+ããè¨­å®ãã¡ã¤ã« FROMLoad.ini ã«è¨­å®ããå¿
+è¦ãããï¼ãã½ã³ã³ã¨Zup-F16
+æ¡å¼µãã¼ããã·ãªã¢ã«ã¯ã­ã¹ã±ã¼ãã«ã§æ¥ç¶ãï¼Zup-F16æ¡å¼µãã¼ãã® sw1 ã
+B å´ã«è¨­å®ãã¦ï¼Zup-F16æ¡å¼µãã¼ãã®é»æºãONã«ããï¼ã­ã¼ããã­ã°ã©ã ã®
+ãã¡ã¤ã«ã¡ãã¥ã¼ã«ã¦ï¼åç« ã§çæããã­ã¼ãã¢ã¸ã¥ã¼ã«ãã¡ã¤ã«ãæå®ãï¼
+æ¸è¾¼ã¿ãã¿ã³ã«ã¦ãã©ãã·ã¥ROMã¸ã®æ¸è¾¼ã¿ãè¡ãï¼
+
+4.1.4  sample1ã®å®è¡
+
+ãã½ã³ã³ã«ã·ãªã¢ã«ã¿ã¼ããã«ãç«ã¡ä¸ãã¦ãã ããï¼
+è¨­å®ã¯ä»¥ä¸ã®éãã§ãï¼
+
+	ã»ãã¼ã¬ã¤ãï¼19200bps
+	ã»ãã¼ã¿é·ï¼8 ãããï¼
+	ã»ã¹ããããããï¼1 ããã
+	ã»ããªãã£ï¼ãªã
+
+Zup-F16æ¡å¼µãã¼ãã® sw1 ã B ã®åå¯¾å´ã«è¨­å®ãã¦ï¼Zup-F16æ¡å¼µãã¼ãã®
+é»æºãONã«ããã¨ sample1 ãå®è¡ããã¾ãï¼sample1 ã®è©³ç´°ã¯ sample1.c
+ãã¡ã¤ã«ã®ãããé¨åãåç
+§ãã¦ãã ããï¼
+
+4.2  ãããã«
+
+éçºç°å¢(TOSHIBA IDE)ã«ã¯ã·ãã¥ã¬ã¼ã¿ãããã¬ãä»å±ãã¦ãããï¼ã·ãªã¢
+ã«éä¿¡ã®ã·ãã¥ã¬ã¼ã·ã§ã³è¨­å®ãªã©ãå·¥å¤«ããªãéãï¼ã«ã¼ãã«èµ·åæã®ã­ã°
+åºåå¦çã«ã¦éä¿¡å®äºå¾
+ã¡ç¶æ
+ã®ã¾ã¾ç¡éã«ã¼ããã¦ãã¾ãï¼ãã®ããï¼ã·ãª
+ã¢ã«éä¿¡æ©è½ãåæ­¢ï¼å°ãªãã¨ã sys_config.c ã«å®è£
+ããã¦ãã sys_putc
+ã®å¦çå®æ
+ã¯ç¡å¹ï¼ã«ãã¦åä½ããããã¨ã§ï¼åä½ãå¯è½ã§ããï¼ãªãï¼ãã
+ã¯ã·ãã¥ã¬ã¼ã¿ãããã¬ã§ã®åä½ãä¿éãããã®ã§ã¯ãªãï¼
+
+5  ãã®ä»
+
+5.1  ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+(1)   config/tlcs900-toshiba
+
+	api.h					éã©ã¤ãã©ãªã£åã®ããã®å®ç¾©
+	cpu_config.c			TLCAS900 CPUä¾å­é¨ã® C é¢æ°
+	cpu_config.h			TLCAS900 CPUä¾å­é¨ã®ã«ã¼ãã«ç¨å®ç¾©
+	cpu_context.h			TLCAS900 CPUä¾å­é¨ã®ã³ã³ãã­ã¹ãæä½
+	cpu_defs.h				TLCAS900 CPUä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	cpu_insn.h				TLCAS900 CPUä¾å­é¨ã®ä½ã¬ãã«é¢æ°
+	cpu_rename.def			ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+	cpu_rename.h			ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+	cpu_support.app			TLCAS900 CPUä¾å­é¨ã®ã¢ã»ã³ãã©é¢æ°
+	cpu_unrename.h			ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+	kernel_inline_defs.h	ã«ã¼ãã«å
+é¨ã® inline é¢æ°å®ç¾©
+	makeoffset.c			offset.inc çææ
+å ±é¢æ°
+	start.app				ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	tool_config.h			éçºç°å¢ä¾å­é¨ã®ã«ã¼ãã«ç¨å®ç¾©
+	tool_defs.h				éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+
+(2)   config/tlcs900-toshiba/zup_f16_ex
+
+	hw_serial.cfg	Zup-F16-exç¨SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	hw_serial.h		Zup-F16-exç¨SIOãã©ã¤ã
+	hw_timer.h		Zup-F16-exç¨ã¿ã¤ãæä½ã«ã¼ãã³
+	sys_config.c	Zup-F16-exã·ã¹ãã ä¾å­é¨ã® C é¢æ°
+	sys_config.h	Zup-F16-exã·ã¹ãã ä¾å­é¨ã®ã«ã¼ãã«ç¨å®ç¾©
+	sys_defs.h		Zup-F16-exã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_rename.def	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+	sys_rename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+	sys_support.app	Zup-F16-exã·ã¹ãã ä¾å­é¨ã®ã¢ã»ã³ãã©é¢æ°
+	sys_unrename.h	ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+	tmp91cy22.h		å
+èµIO(SFR)ããã³é¢é£ããå®ç¾©
+	uart.c			Zup-F16-exç¨SIOãã©ã¤ãå®æ
+ã® C é¢æ°
+	uart.h			Zup-F16-exç¨SIOãã©ã¤ãå®æ
+ã®å®ç¾©
+	zup_f16_ex.lcf	Zup-F16-exç¨ãªã³ã«ã³ãã³ããã¡ã¤ã«
+
+(3)   tools/TLCS900-TOSHIBA
+
+	TLCS900-TOSHIBA.tws	éçºç°å¢ç¨ã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«
+
+(4)   utils/tlcs900-toshiba
+
+	tlcs900_toshiba.dsw	ã¦ã¼ãã£ãªãã£éçºç¨ã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«
+	æ¬éå±¤ã®è©³ç´°ã¯ utils/tlcs900-toshiba ã«ãã readme.txt ãåç
+§ï¼
+
+ä»¥ä¸
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tms320c54x.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tms320c54x.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/tms320c54x.txt	(revision 26)
@@ -0,0 +1,357 @@
+
+	    ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                ï¼TMS320C5402 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+            ï¼Release 1.4å¯¾å¿ï¼æçµæ´æ°: 20-Dec-2003ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: tms320c54x.txt,v 1.12 2003/12/24 07:43:20 honda Exp $
+------------------------------------------------------------------------
+
+
+ï¼ï¼C54x ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+TMS320C54x DSP ã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼TMS320VC5402 DSP ãæ­è¼
+ããTEXAS INSTRUMENTSè£½ã® TMS320VC5402 DSP ã¹ã¿ã¼ã¿ã»ã­ãã(DSK) ã
+ãµãã¼ããã¦ããï¼
+éçºç°å¢ã«ã¯ï¼DSKã«ãã³ãã«ããã¦ããçµ±åéçºç°å¢ Code Composer Studio 2.0 
+(CCS 2.0) ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãããã¯ COFF ã¨ãªã£ã¦ããï¼
+
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+TMS320VC5402 ã®ä¾å­ã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ã
+ãµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_int, ena_int)ã¯ãµãã¼ããã¦ããªãï¼
+
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+ç¾ãã¼ã¸ã§ã³ã§ã¯ï¼TMS320C54x ããµãã¼ããã¦ããï¼
+
+
+1.5 ã·ãªã¢ã«ãã¼ã
+
+DSKãã¼ãã«æ­è¼ããã¦ããã·ãªã¢ã«ãã¼ãã¯ï¼ã«ã¼ãã«ã®ã­ã°åºåç¨ã«ä½¿ç¨ããï¼
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ã¯ï¼ãã¼ã¿ : 8bitï¼Parity : noneï¼Stop   : 1bit ã§ããï¼
+
+                          ã«ã¼ãã«ã­ã°ç¨
+ã»TMS320VC5402 DSK        COM : 1152000bps
+
+
+1.6 ãã¡ã¼ã³ã¼ã«ã«ã¤ãã¦
+
+ãã¡ã¼ã³ã¼ã«ã«ã¤ãã¦ã¯ï¼ç¾å¨ã¯ãµãã¼ããã¦ããªãï¼ãã®ããï¼ãã£ã¹ãããï¼
+å²è¾¼ã¿å
+¥ãå£å¦çã«ããã¦ï¼æ¡å¼µãã­ã°ã©ã ã«ã¦ã³ã¿(XPC)ã®ä¿å­ï¼éé¿ã¯è¡ã£ã¦
+ããªãï¼
+
+
+ï¼ï¼TMS320VC5402 DSP ä¾å­é¨ã®æ©è½
+
+ãã®èª¬ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼TMS320VC5402 DSP 
+ä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+TMS320C54x ã§ã¯ï¼16ãããï¼32ããã é·ã®ãã¼ã¿åããµãã¼ããã¦ããï¼
+intåããã³ charåï¼shortåã®ãµã¤ãºã¯ 16ãããã§ããï¼longåã¯ 32ãããã§ããï¼
+8ããã ã®ãã¼ã¿åããªããã B, UB, VB ã 16ãããã«ãªã£ã¦ããï¼æ³¨æãå¿
+è¦ã§
+ããï¼
+
+
+2.2 ãªãã»ãããã¡ã¤ã«ã®çæ
+
+ã¢ã»ã³ããªè¨èªã§è¨è¿°ããããã­ã°ã©ã ããï¼Cè¨èªã®æ§é ä½ã«ã¢ã¯ã»ã¹ããå ´åã«
+å¿
+è¦ã¨ãªããªãã»ããå¤ããã¡ã¤ã«ã«åºåããããã«ï¼JSPã«ã¼ãã«ã§ã¯ï¼
+genoffset ãç¨æãã¦ããï¼ããããªããï¼TMS320C54x ã§ã¯ genoffset ãä½¿ç¨ãã
+ãã¨ãã§ããªãããï¼TCB ä¸­ã®ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ï¼tskctxbï¼ã«å«ã¾ãã
+ pc åã³ sp ãã£ã¼ã«ãã®ãªãã»ããå¤ã¯åºå®ã¨ãªã£ã¦ããï¼ãã®ããï¼TCB ä¸­ã®
+ããããã£ã¼ã«ãããã¼ã¿åã«ä¿®æ­£ãå ããå ´åï¼ pc åã³ sp ã®ãªãã»ããå¤ã«
+æ³¨æãå¿
+è¦ã§ããï¼ããã¯ï¼2.1 ãã¼ã¿å ã®èª¬ææã¨ä½µãã¦èæ
+®ããï¼
+
+
+2.3 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦ã¯ï¼ NMI ãããï¼ãã£ã¦ï¼CPUã­ãã¯ç¶æ
+ãåæå
+ã«ã¼ãã³å
+ã§ã¯ï¼NMIä»¥å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ­¢ããã¦ããï¼å
+·ä½çã«ã¯ï¼
+ST1(ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼)ã®ãã¹ã«ãã«å²è¾¼ã¿ç¦æ­¢ããã(INTM : bit 11)ã 1 
+ã«è¨­å®ãããï¼
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ï¼C5402 ã§ã¯ï¼å²è¾¼ã¿ãã¯ã¿ãã¤ã³ã¿
+(IPTR)ããã®åå²è¾¼ã¿ãã¯ã¿ã®ãªãã»ããå¤ãå³ã«2ãããã·ãã(4ã§é¤ç®)ããå¤ã§ããï¼
+ãã¼ã¿å(INHNO)ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼
+
+
+2.4 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+TMS320C54x DSPã«ã¯CPUä¾å¤ããªãï¼
+
+
+2.5 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+C5402 DSP ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ï¼æ¬¡ã®åæåå¦çãè¡ãï¼
+
+(A) ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+
+æåã«ï¼ãã¹ã«ãã«å²è¾¼ã¿ã®ç¦æ­¢ããï¼
+
+æ¬¡ã«ï¼ç´æ¥ã¢ãã¬ãã·ã³ã°ã«ã¹ã¿ãã¯ãã¤ã³ã¿(SP)ãç¨ããã³ã³ãã¤ã©äºæã¢ã¼ã
+ã«è¨­å®ãï¼Cãã­ã°ã©ã ããµãã¼ãããï¼
+
+æ¬¡ã«ï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã STACKTOP ã«è¨­å®ããï¼ããã§å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿
+ã«è¨­å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯
+é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_surpport.S é¨ã§å®ç¾©ãããã¨ãå®ç¾©ãã¦
+ããï¼
+
+(B) hardware_init_hook ã®å¼åºã
+
+hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
+hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã¿ã¼ã²ãã
+ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ãå®ç¾©
+ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ãã(ãªã³ã«ã³ãã³ããã¡
+ã¤ã« c5402dsk.cmd å
+ã«è¨è¿°ãã)ï¼
+
+(C) bssã»ã¯ã·ã§ã³ã¨ cinitã»ã¯ã·ã§ã³ã®åæå
+
+bssã»ã¯ã·ã§ã³ãã¼ã­ã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæå
+
+(D) software_init_hook ã®å¼åºã
+
+software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
+software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
+è¦ãããã½ããã¦ã§ã¢
+ç°å¢(å
+·ä½çã«ã¯ï¼ã©ã¤ãã©ãª)ä¾å­ã®åæåãè¡ãããã«ç¨æãã¦ããï¼
+software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 
+0 ã«å®ç¾©ãã(ãªã³ã«ã³ãã³ããã¡ã¤ã«å
+ã«è¨è¿°ãã)ï¼
+
+(E) ã«ã¼ãã«ã®èµ·å
+
+kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ãã¦
+ãããã¨ã¯æ³å®ãã¦ããªãï¼
+
+
+ï¼ï¼ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ï¼sys_defs.h ä¸­ ã® 
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(æ¨æºã¯ 1 ããªç§å¨æ)ï¼ãã®å®ç¾©ã
+å¤æ´ãããã¨ã§ï¼isig_tim ãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼ãã ãï¼
+ã¿ã¤ãã®ç²¾åº¦ã 1Î¼ç§ã§ããããï¼ï¼Î¼ç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨­å®ããå ´å
+ã«ã¯ï¼isig_tim ã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
+
+
+3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+TMS320VC5402 DSP ä¾å­é¨ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ã
+ãµãã¼ããã¦ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ï¼ï¼Î¼ç§åä½ã§ããï¼ãªãï¼
+SYSUTIMåã¯ UWå(32ãããã®ç¬¦å·ç¡ãæ´æ°å)ã«å®ç¾©ãã¦ããï¼
+
+3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+TMS320VC5402 DSK ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼DSK ãã¼ãä¸ã® 
+TL16C550CFN ã®UARTããµãã¼ããã¦ããï¼
+
+3.4 ã¡ã¢ãªããã
+
+ã»C5402 DSK
+ä¾å­é¨ã§ã¯ï¼ã³ã¼ãé åã 0x4000 ã 0xFFFF ç´96KBï¼ãã¼ã¿é åã 0x0080 ã 
+0x3FFF ç´32KBï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã ã 0x3FFF ã«ç¢ºä¿ã
+ã¦ããï¼ã³ã¼ãé åã® 0xFF80 ã 0xFFFF ã¯ï¼å²è¾¼ã¿ãã¯ã¿ãã¼ãã«é åã¨ãã¦
+ä½¿ç¨ãã¦ããï¼ã¾ãï¼0x0060 ã 0x007F ãã¹ã¯ã©ãããããé åã¨ãã¦ç¢ºä¿ãã¦
+ããï¼ã¹ã¯ã©ãããããé åã§ã¯ï¼ã¡ã¢ãª ãããã ã¬ã¸ã¹ã¿ ã¢ãã¬ãã·ã³ã° 
+ãä½¿ç¨ãããã¨ãã§ããï¼
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã«ã¯ï¼çµ±åéçºç°å¢ CCS (2.0) ã¨ Windows ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãç¨
+ããï¼ããããã®éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼CCS ã®ãã­ã¥ã¡ã³ãããã³ï¼
+Windows ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼ãªãï¼CCS (2.0) 
+ã®ã¤ã³ã¹ãã¼ã«ã¯ c:\ti ã®ãã£ã¬ã¯ããªã«è¡ããã¨ãåæã¨ãã¦èª¬æãè¡ãï¼
+
+4.1 éçºç°å¢ã®æ¦è¦
+
+4.1.1 ã©ã¤ãã©ãªé¢æ°
+
+TMS320C54x ã§ã¯ï¼é¤ç®ï¼32ãããä¹ç®ã«ã©ã¤ãã©ãªé¢æ°ãç¨ãã¦ããï¼ãããï¼
+ã©ã¤ãã©ãªããã­ã¸ã§ã¯ãã«çµã¿è¾¼ãã§ãã«ãããã¨ï¼start.S ã®ã¹ã¿ã¼ãã¢ãã
+ã«ã¼ãã³ãä½¿ç¨ã§ããªããªãï¼ãã®ããï¼ã©ã¤ãã©ãªã®ã½ã¼ã¹ (rts.src) ããã
+ãã¤ãã®é¢æ°ã®ã½ã¼ã¹ã»ãã¡ã¤ã«ãæ½åºãã¦ãã­ã¸ã§ã¯ãã«è¿½å ããå¿
+è¦ãçãã
+å ´åãããï¼ä»¥ä¸ã®ã³ãã³ãã§ã½ã¼ã¹ã»ãã¡ã¤ã«ãæ½åºãããã¨ãã§ããã
+
+    ar500 -x rts.src xxx.asm yyy.asm zzz.asm
+
+    c:\ti\c5400\cgtools\bin\
+      ar500.exe
+    c:\ti\c5400\cgtools\lib\
+      rts.src
+
+ãµã³ãã«ãã­ã°ã©ã ã§ã¯ï¼ldiv.asm, udiv.asm, lmpy.asm ã®3ã¤ã®ãã¡ã¤ã«ã
+å¿
+è¦ã¨ãªãï¼ãããã®ãã¡ã¤ã«ã®æ½åºä¾ã jsp\C5402DSK\configure.vbs ã«ã
+ãã®ã§åèã«ãã¦ã»ããï¼
+
+4.1.1 ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã«ã
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã® cfg.exe ãç¨ããï¼
+cfg.exe ã®ãã«ãæ¹æ³ã¯ Windowsç°å¢ã®æ¹ãåç
+§ãããã
+
+4.1.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®å¶éäºé 
+
+
+CCS ã§ã¯ç©ºã®ãªãã¸ã§ã¯ãã¯ä½ããªãããï¼cfg ã®ãªãã·ã§ã³ã¨ãã¦ 
+
+  --ZERO "x y[1]"
+
+ãæå®ããå¿
+è¦ãããï¼ãµã³ãã«ä»¥å¤ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãå©
+ç¨ããå ´åï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã« kernel_id.h ã¨ kernel_cfg.c ãä½æã
+ããå¿
+è¦ãããï¼å
+·ä½çãªãªãã·ã§ã³ã«ã¤ãã¦ã¯ï¼Windows ã·ãã¥ã¬ã¼ã·ã§ã³
+ç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ã®ãã¨ï¼
+
+ãªãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®å
+·ä½çãªä½¿ç¨ä¾ã jsp\C5402DSK\configure.vbs
+ã«ããã®ã§åèã«ãã¦ã»ããï¼
+
+4.1.2 Code Composer Studio 2.0 (CCS 2.0) ã«ããã TOPPERS/JSP ã®ãã«ã
+
+ã¾ãï¼jsp ã®ã¢ã¼ã«ã¤ããã¡ã¤ã«ã c:\ti\myprojects\ ã«å±éããï¼æ¬¡ã«
+c:\ti\myprojects\jsp\C5402DSK (ä»¥ä¸ããã\jsp\C5402DSKã¨ãã)ã«ããã¹
+ã¯ãªãããã¡ã¤ã«ï¼
+
+    c:\ti\myprojects\jsp\C5402DSK> configure.vbs
+
+ãå®è¡ãããã¨ã«ããï¼sample1.cfg, sample1.h, sample1.cã³ãã¼ï¼ã³ã³ãã£
+ã®ã¥ã¬ã¼ã¿ã«ããkernel_id.h, kernel_cfg.cã®çæï¼ããã« ldiv.asm,
+lmpy.asm, udiv.asm ã®æ½åºãè¡ãããï¼ãããã®ãã¡ã¤ã«ã¯ \jsp\tools\C5402DSK 
+ã«ä½æãããï¼
+
+\jsp\tools\C5402DSK\ccs_project å
+ã«ãããµã³ãã«ãã­ã°ã©ã ã®ãã­ã¸ã§ã¯ããã¡
+ ã¤ã« TOPPERS.pjt ã CCS ããéãã¨ï¼æ¢ã«ãã«ãã«å¿
+è¦ãªè¨­å®ãçµããç¶
+ æ
+ã«ãªã£ã¦ããï¼
+
+CCS ãããã«ããè¡ãã¨ \jsp\tools\C5402DSK ã« TOPPERS.out ãçæãããã®ã§ï¼ã
+ããã¿ã¼ã²ãããã¼ãã«ãã¦ã³ã­ã¼ãããã°å®è¡å¯è½ã¨ãªãï¼ã¿ã¼ã²ããã¨ã®
+ã·ãªã¢ã«éä¿¡ã®éåº¦ã¯ 115200bps ã§ããï¼
+
+
+ï¼ï¼ãã®ä» 
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+     c:\ti\myprojects\jsp\tools\C5402DSK
+	configure.vbs       kernel_cfg.c kernel_id.h çæã®ããã®ããããã¡ã¤ã«
+	\ccs_project\ccs_project.pjt	CCS 2.0 ãã­ã¸ã§ã¯ããã¡ã¤ã«
+
+     c:\ti\myprojects\jsp\config\tms320c54x
+	c54x.h			TMS320C54x ã®å®ç¾©
+	cpu_support.S		ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+	cpu_config.c		ãã­ã»ããµä¾å­é¨ã®é¢æ°
+	cpu_config.h		ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+	cpu_context.h		ã³ã³ãã­ã¹ãæä½
+	cpu_defs.h		ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	start.S			ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+	vectors.S		å²è¾¼ã¿ãã¯ã¿ãã¼ãã«
+	hw_timer.h		ã¿ã¤ãæä½ã«ã¼ãã³
+	cpu_insn.h		ä½ã¬ãã«ãã­ã»ããµæä½ã«ã¼ãã³
+	cpu_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+	cpu_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+	cpu_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tool_defs.h		éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	tool_config.h		éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©
+	api.h			APIã¬ã¼ãééç¨å®ç¾©ãã¡ã¤ã«
+
+     c:\ti\myprojects\jsp\config\tms320c54x\c5402dsk
+	c5402dsk.cmd		ãªã³ã«ã³ãã³ããã¡ã¤ã«
+	hw_serial.h		ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ããã¤ã¹æä½ã«ã¼ãã³
+	hw_serial.cfg		SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+	c5402dsk.h		C5402 DSK ãã¼ãã¦ã§ã¢å®ç¾©
+	sys_config.c		ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+	sys_config.h		ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+	sys_defs.h		ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+	sys_support.S		ã·ã¹ãã ä¾å­é¨ã®ãµãã«ã¼ãã³
+        sys_rename.def		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        sys_rename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        sys_unrename.h		ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+	tl16c550cfn.c		ç°¡æSIOãã©ã¤ã
+	tl16c550cfn.h		ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/user.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/user.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/user.txt	(revision 26)
@@ -0,0 +1,3273 @@
+
+            ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+
+            ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 29-Dec-2010ï¼
+
+â» ãã®ã¦ã¼ã¶ãºããã¥ã¢ã«ã¯ï¼Î¼ITRON4.0ä»æ§æ¸ï¼Ver. 4.02.00ï¼ã®å
+å®¹ã
+åæã«è¨è¿°ãã¦ããã¾ãï¼Î¼ITRON4.0ä»æ§æ¸ã¯ï¼ä»¥ä¸ã®URLãããã¦ã³ã­ã¼ã
+ãããã¨ãã§ãã¾ãï¼
+        http://www.ertl.jp/ITRON/SPEC/mitron4-j.html
+
+----------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2004-2007 by Embedded and Real-Time Systems Laboratory
+             Graduate School of Information Science, Nagoya Univ., JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: user.txt,v 1.90 2007/05/28 02:06:45 honda Exp $
+----------------------------------------------------------------------
+ * Î¼ITRON4.0ä»æ§ã¯ï¼ãã­ã³åä¼ãä¸­å¿ã¨ãªã£ã¦ç­å®ããããªã¼ãã³ãªãªã¢
+   ã«ã¿ã¤ã ã«ã¼ãã«ä»æ§ã§ãï¼Î¼ITRON4.0ä»æ§ã®ä»æ§æ¸ã¯ï¼ãã­ã³åä¼ã®ãã¼
+   ã ãã¼ã¸ï¼http://www.assoc.tron.org/ï¼ããå
+¥æãããã¨ãã§ãã¾ãï¼
+----------------------------------------------------------------------
+ * TRON ã¯ "The Real-time Operating system Nucleus" ã®ç¥ç§°ã§ãï¼
+ * ITRON ã¯ "Industrial TRON" ã®ç¥ç§°ã§ãï¼
+ * Î¼ITRON ã¯ "Micro Industrial TRON" ã®ç¥ç§°ã§ãï¼
+ * TRONï¼ITRONï¼ããã³Î¼ITRONã¯ï¼ç¹å®ã®ååãªããã¯ååç¾¤ãæãåç§°ã§
+   ã¯ããã¾ããï¼
+ * TOPPERS ã¯ "Toyohashi OPen Platform for Embedded Real-time Systems" 
+   ã®ç¥ç§°ï¼JSP ã¯ "Just Standard Profile" ã®ç¥ç§°ã§ãï¼
+ * æ¬ããã¥ã¢ã«ä¸­ã®åååã¯ï¼åç¤¾ã®åæ¨ã¾ãã¯ç»é²åæ¨ã§ãï¼
+----------------------------------------------------------------------
+
+
+ï¼ï¼TOPPERS/JSPã«ã¼ãã«ã®æ¦è¦
+
+TOPPERS/JSPã«ã¼ãã«ï¼ä»¥ä¸ï¼åã«JSPã«ã¼ãã«ã¨æ¸ãï¼ã¯ï¼TOPPERSãã­ã¸ã§
+ã¯ãã«ããã¦éçºããÎ¼ITRON4.0ä»æ§ã«æºæ ãããªã¢ã«ã¿ã¤ã ã«ã¼ãã«ã§ããï¼
+JSPï¼Just Standard Profileï¼ã®ååãç¤ºãéãï¼Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ã
+ã¼ããã­ãã¡ã¤ã«è¦å®ã«å¾ã£ã¦å®è£
+ããã¦ããï¼
+
+1.1 ã¿ã¼ã²ãããã­ã»ããµï¼ã¿ã¼ã²ããã·ã¹ãã 
+
+JSPã«ã¼ãã«ã¯ï¼ç¾æç¹ã§ï¼ä»¥ä¸ã®ã¿ã¼ã²ãããã­ã»ããµï¼ã¿ã¼ã²ããã·ã¹ã
+ã ããµãã¼ããã¦ããï¼
+
+    ãã£ã¬ã¯ããªå          éçºç°å¢
+        ãã­ã»ããµï¼åçªï¼      ã·ã¹ãã ï¼ã¡ã¼ã«åï¼
+
+    m68k                    GNUéçºç°å¢
+        M68040ï¼MC68LC040ï¼     DVE-68K/40ï¼é»ç£ï¼
+
+    sh1                     GNUéçºç°å¢
+        SH1ï¼SH7032ï¼           KZ-SH1-01ï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿ï¼
+                                â» RISCè©ä¾¡ã­ããSH-1ï¼CQåºçï¼ã§ãåä½
+        SH1ï¼SH7034ï¼           Î¼ITRONæ­è¼SH1CPUãã¼ãï¼(æ ª)ä¸­å¤®è£½ä½æï¼
+        
+
+    sh2                     GNUéçºç°å¢
+        SH2(SH7145)             AP_SH2F_6Aï¼ã¢ã«ãã¡ãã­ã¸ã§ã¯ãï¼
+        SH2(SH7615)             HSB7615IT ï¼åæé»å­ï¼
+
+    sh3                     GNUéçºç°å¢
+        SH3ï¼SH7709Aï¼          MS7709ASE01 ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+        SH3ï¼SH7729Rï¼          MS7729RSE01 ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+        SH3ï¼SH7727ï¼           MS7727CP01  ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+        SH4ï¼SH7750ï¼           MS7750SE01  ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+
+    sh3-ghs                 GHSéçºç°å¢
+        SH3ï¼SH7709Aï¼          MS7709ASE01 ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+        SH3ï¼SH7727ï¼           MS7727CP01  ï¼æ¥ç«è¶
+LSIã·ã¹ãã ãºï¼
+
+    h8                      GNUéçºç°å¢
+        H8ï¼H8/3052Fï¼          AKI-H8/3052Fï¼ç§æé»å­éåï¼
+        H8ï¼H8/3069Fï¼          AKI-H8/3069Fï¼ç§æé»å­éåï¼
+
+    h8-renesas              Renesasç¤¾ã®éçºç°å¢
+        H8(HSB8F3048BF25)       H8/3048F-ONEã¹ã¿ã¼ã¿ã­ãã((æ ª)åæé»å­)
+
+    h8s-renesas              Renesasç¤¾ã®éçºç°å¢
+        H8S(H8S/2339F)          MiNET-H8S/2339Fï¼æ ªå¼ä¼ç¤¾ãã¹ãè£½ï¼
+
+    armv4                   GNUéçºç°å¢
+        ARM9ï¼ARM922Tï¼         Integrator/AP+CM922Tï¼ARMï¼
+        ARM9ï¼ARM926EJ-Sï¼      AZ9360MBï¼YDKï¼
+
+    armv4-ghs               GHSéçºç°å¢
+        ARM9 ï¼ARM920Tï¼        Integrator/AP+CM920Tï¼ARMï¼
+        ARM9Eï¼ARM966E-Sï¼      Integrator/AP+CM966E-Sï¼ARMï¼
+
+    m32r                    GNUéçºç°å¢
+        M32Rï¼M32102S6FPï¼      M3A-2131G50ï¼ä¸è±é»æ©ï¼
+        M32Rï¼M32102S6FPï¼      M3A-ZA36   ï¼ä¸è±é»æ©ï¼
+
+    m32c-renesas            Renesasç¤¾ã®éçºç°å¢
+        M32C                    OAKS32ï¼ãªã¼ã¯ã¹é»å­ï¼
+
+    microblaze              GNUéçºç°å¢
+        MicroBlaze              MIREFï¼YDKï¼
+        MicroBlaze              MIRE_MULTI3000ï¼YDKï¼
+        MicroBlaze              MultiMedia Boardï¼Xilinxï¼
+        MicroBlaze              Suzaku(ã¢ãããã¼ã¯ãã¯ã)
+
+    tms320c54x              TIç¤¾ã®éçºç°å¢
+        TMS320C54xï¼TSM320C5402ï¼TMS320VC5402 DSKï¼TIï¼
+
+    xstormy16               GNUéçºç°å¢
+        Xstormy16               ä¸æ´ãã¤ã³ã³éçºãã¼ã«ï¼ä¸æ´é»æ©ï¼
+
+    m16c-renesas            Renesasç¤¾ã®éçºç°å¢
+        M16Cï¼M30620FCAFP-CPUï¼ OASKS16ï¼ãªã¼ã¯ã¹é»å­ï¼
+        M16Cï¼M30262F8FG-CPUï¼  OAKS16-MINIï¼ãªã¼ã¯ã¹é»å­ï¼
+
+    s1c33                   GNUéçºç°å¢
+        SC33                    DMT33209ï¼EPSONï¼
+        SC33                    LUXUN2ï¼EPSONï¼
+
+    s1c33-gnu33             GNU33éçºç°å¢
+        SC33                    DMT33209ï¼EPSONï¼
+        SC33                    LUXUN2ï¼EPSONï¼
+
+    nios2                   GNUéçºç°å¢
+        Nios2                   NiosII Development Boardï¼ã¢ã«ãã©ï¼
+
+    v850                    GNUéçºç°å¢
+        V850                    TK-850/KJ1+ (Application Corp.)
+        V850                    TK-850/SG2  (Application Corp.)
+
+    tlcs900                 æ±èã»ãã³ã³ãã¯ã¿ç¤¾è£½ã®éçºç°å¢
+        TMP91CY22-CPU           Zup-F16æ¡å¼µãã¼ã(ã¿ããã³å·¥æ¥­æ ªå¼ä¼ç¤¾)
+
+ã¾ãï¼ä»¥ä¸ã®ã¿ã¼ã²ããã¯ï¼ä»¥åã®ãã¼ã¸ã§ã³(1.4.1)ã®ã³ã¼ãããã¢ããã
+ã¼ãããã¦ãããï¼åä½ç¢ºèªãè¡ã£ã¦ããªãããï¼1.4.2ä»¥éã§ã¯ï¼åèå®è£
+
+æ±ãã¨ããï¼
+
+    h8                      GNUéçºç°å¢
+        H8ï¼H8/3048Fï¼          AKI-H8/3048Fï¼ç§æé»å­éåï¼
+        H8 (H8/3069F)           NKEV-010H8   (åå·éä¿¡è¨è£
+ãµã¼ãã¹)
+
+    h8s                     GNUéçºç°å¢
+        H8Sï¼2350ï¼             H8S/2350 è©ä¾¡ãã¼ã(ãã¹ã)
+
+    powerpc32               GNUéçºç°å¢
+        PowerPC32ï¼MPC860Tï¼    TB6102Sï¼ã¿ã³ããã¯ï¼
+
+    mips3                   GNUéçºç°å¢
+        MIPS3ï¼VR4131ï¼         KZ-Vr4131PCI-01ï¼äº¬é½ãã¤ã¯ã­ã³ã³ãã¥ã¼ã¿ï¼
+        MIPS3ï¼VR5500ï¼         RTE-VR5500-CB(64)ï¼ãã¤ãã¹ã»ã©ãï¼
+
+
+JSPã«ã¼ãã«ã¯ï¼ã«ã¼ãã«ã®ã§ããéãå¤ãã®é¨åãCè¨èªã§è¨è¿°ããï¼ã¿ã¼ã²ã
+ãéä¾å­é¨ã¨ä¾å­é¨ãæç¢ºã«åé¢ãããªã©ï¼ä»ã®ã¿ã¼ã²ãããã­ã»ããµã¸ã®ã
+ã¼ãã£ã³ã°ãå®¹æãªæ§é ã«ãªã£ã¦ããï¼ãã ãï¼ãã¼ãã£ã³ã°ã«ã©ã®ç¨åº¦ã®æ
+éãããããã¯ï¼ã¿ã¼ã²ãããã­ã»ããµã®ã¢ã¼ã­ãã¯ãã£ãã·ã¹ãã ã®æ§æãª
+ã©ã«ä¾å­ããï¼
+
+ãã®ã¦ã¼ã¶ãºããã¥ã¢ã«ã§ã¯ï¼ã¿ã¼ã²ããï¼ã¿ã¼ã²ãããã­ã»ããµããã³ã¿ã¼
+ã²ããã·ã¹ãã ï¼ã«ä¾å­ããªãæ©è½ã«ã¤ãã¦ã®ã¿èª¬æãã¦ããï¼ã¿ã¼ã²ããã«
+ä¾å­ããæ©è½ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+1.2 éçºç°å¢
+
+JSPã«ã¼ãã«ã¯ï¼GCCãªã©ã®GNUéçºç°å¢ãæ¨æºã®ã½ããã¦ã§ã¢éçºç°å¢ã¨ãã¦
+ãããï¼ä»ã®ç¨®é¡ã®éçºç°å¢ãå©ç¨ã§ããããã«èæ
+®ãã¦ããï¼å©ç¨ã§ããé
+çºç°å¢ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã¾ãã¯éçºç°å¢æ¯ã®ããã¥ã¢ã«ã§èª¬æããï¼
+
+ã¿ã¼ã²ããéä¾å­é¨ã¯ï¼å¤§é¨åã¯æ¨æºçãªCè¨èªã«ãã£ã¦è¨è¿°ããã¦ãããï¼
+æ§è½ã¨å¯èª­æ§ãä¸¡ç«ãããããã«ï¼ä¸é¨ã§ã¤ã³ã©ã¤ã³é¢æ°ãç¨ãã¦ããï¼ã¤ã³
+ã©ã¤ã³é¢æ°ã®æ©è½ãæããªãéçºç°å¢ã®å ´åã§ãï¼æ¹é ãªãã«å¯¾å¿å¯è½ã§ã¯ã
+ããï¼éå¹çï¼ç¡é§ãªã³ã¼ããçæãããããããããï¼
+
+ã«ã¼ãã«æ¬ä½ã¯ï¼å¤é¨ã®ã©ã¤ãã©ãªé¢æ°ã«ä¾å­ããªãããã«è¨è¿°ãã¦ããï¼ã
+ã ãï¼ã³ã³ãã¤ã©ãæ¨æºCã©ã¤ãã©ãªé¢æ°ãå¼ã³åºãã³ã¼ããçæããå ´åã
+ããï¼ãã®å ´åã«ã¯æ¨æºCã©ã¤ãã©ãªãå¿
+è¦ã§ããï¼ã¾ãï¼ã·ã¹ãã ãµã¼ãã¹
+ããµãã¼ãã©ã¤ãã©ãªï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã§æ¨æºCã©ã¤ãã©ãªãå¿
+
+è¦ã«ãªãå ´åãèããããï¼å®éï¼æ¨æºé
+å¸ã­ããã«å«ã¾ããä¸­ã§ï¼ã·ã¹ãã 
+ã­ã°æ©è½ãå¼ã³åºãããã®ã©ã¤ãã©ãªé¢æ°å
+ã§ï¼å¯å¤æ°å¼æ°ãå¦çããããã®
+æ©è½ï¼stdarg.h, va_list, va_start, va_argï¼ãç¨ãã¦ããï¼å®éã«ã¯ï¼GNU
+éçºç°å¢ã§ã¯ï¼å¯å¤æ°å¼æ°ãå¦çããããã®æ©è½ã¯GCCæ¬ä½ã§ãµãã¼ããã¦ã
+ãããï¼æ¨æºCã©ã¤ãã©ãªã¯å¿
+è¦ãªãï¼ï¼ãããã®çç±ã«ããï¼æ¨æºCã©ã¤ãã©
+ãªãç¨ããæ§æãã¨ããããã«ãã¦ããï¼
+
+1.3 ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢
+
+JSPã«ã¼ãã«ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¨ãã¦ï¼Linuxä¸ã§åä½ããç°å¢ã¨
+Windowsä¸ã§åä½ããç°å¢ãç¨æãã¦ããï¼ãããã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¯ï¼
+Linuxããã³Windowsã®ä¸ã¤ã®ãã­ã»ã¹ã®ä¸­ã§è¤æ°ã®ã¿ã¹ã¯ãåãæ¿ãã¦åä½ã
+ãããã®ã§ï¼ã¹ã¬ããã©ã¤ãã©ãªã¨ãã¦ä½¿ããã¨ãã§ããï¼
+
+ãããã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã«ã¤ãã¦ã®è©³ç´°ã¯ï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢æ¯ã®
+ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+1.4 ã«ã¼ãã«ããµãã¼ãããæ©è½
+
+JSPã«ã¼ãã«ã¯ï¼ååãç¤ºãéãï¼Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ãã¼ããã­ãã¡ã¤
+ã«ã«å«ã¾ããæ©è½ããã¹ã¦ãµãã¼ããã¦ããï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã§ã¯ï¼
+å²è¾¼ã¿ãã³ãã©ã¨å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®ããããããµãã¼ãããã°ãããï¼
+JSPã«ã¼ãã«ã¯ï¼ç¾ç¶ã§ã¯å²è¾¼ã¿ãã³ãã©ã®ã¿ããµãã¼ããã¦ããï¼
+
+ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã«å«ã¾ããªãæ©è½ã¨ãã¦ï¼ã¿ã¼ã²ããä¾å­ã«ä»¥ä¸ã®
+å²è¾¼ã¿ç®¡çæ©è½ããã³ãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããå ´åãããï¼ãããã®æ©
+è½ã®å
+·ä½çãªå
+å®¹ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã«ç°ãªãï¼è©³ããã¯ï¼ã¿ã¼ã²ãã
+æ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+    dis_int     å²è¾¼ã¿ã®ç¦æ­¢
+    ena_int     å²è¾¼ã¿ã®è¨±å¯
+    chg_ixx     å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+    get_ixx     å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+    â» xx ã¯ã¿ã¼ã²ããæ¯ã«å®ããããï¼
+
+ã¾ãï¼Î¼ITRON4.0ä»æ§ã«å®ç¾©ããã¦ããä»¥å¤ã«ï¼ä»¥ä¸ã®ç¬èªã®æ¡å¼µæ©è½ããã³
+ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããã¦ããï¼
+
+(1) CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
+ã®åç
+§
+
+ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã§ã¯ï¼CPUä¾å¤ãã³ãã©å
+ã§ï¼CPUä¾å¤ãçºçããã³
+ã³ãã­ã¹ããç¶æ
+ãåç
+§ã§ãããã¨ãå¿
+è¦ã§ãããï¼ãã®ããã®APIã¯å®ãã¦
+ããªãï¼JSPã«ã¼ãã«ã§ã¯ï¼CPUä¾å¤ãçºçããå¦çã§sns_yyyãå¼ã³åºããå ´
+åã®çµæãï¼CPUä¾å¤ãã³ãã©å
+ã§åãåºããããã«ããããã«ï¼ä»¥ä¸ã®äºã¤
+ã®ãµã¼ãã¹ã³ã¼ã«ãç¬èªã«ãµãã¼ããã¦ããï¼
+
+    vxsns_ctx   CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ãã®åç
+§
+    vxsns_loc   CPUä¾å¤çºçæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+    vxsns_dsp   CPUä¾å¤çºçæã®ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®åç
+§
+    vxsns_dpn   CPUä¾å¤çºçæã®ãã£ã¹ãããä¿çç¶æ
+ã®åç
+§
+    vxsns_tex   CPUä¾å¤çºçæã®ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã®åç
+§
+
+(2) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ã¨ã¯ï¼JSPã«ã¼ãã«ä¸ã§åä½ããã¿ã¹ã¯ãJSP
+ã«ã¼ãã«èªèº«ã®æ§è½ãè¨æ¸¬ããããã®ï¼ã·ã¹ãã æå»ãÎ¼ç§åä½ã§èª­ã¿åºãæ©
+è½ã§ããï¼ãã®æ©è½ã®ããã«è¿½å ãããµã¼ãã¹ã³ã¼ã«ã¯æ¬¡ã®éãã§ããï¼
+
+    vxget_tim   æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ããµãã¼ããããã©ããã¯ï¼ã¿ã¼ã²ããä¾å­
+é¨ã®å®ç¾©ãã¡ã¤ã«ã§æå®ãããã¨ãã§ããï¼ã¾ãï¼ã¿ã¼ã²ããã·ã¹ãã ã®å¶é
+ã«ããï¼ãã®æ©è½ããµãã¼ãã§ããªãå ´åãããï¼
+
+(3) çµäºå¦çã«ã¼ãã³æ©è½
+
+JSPã«ã¼ãã«ã§ã¯ï¼ã·ã¹ãã ã®çµäºæã«å¼ã³åºãããçµäºå¦çã«ã¼ãã³ãç»é²
+ããããã®æ©è½ããµãã¼ããã¦ããï¼ãã®æ©è½ã®ããã«è¿½å ããéçAPIã¯æ¬¡
+ã®éãã§ããï¼
+
+    VATT_TER    çµäºå¦çã«ã¼ãã³ã®è¿½å ï¼éçAPIï¼
+
+çµäºå¦çã«ã¼ãã³ã«ã¤ãã¦ã¯ï¼ã2.12 ã·ã¹ãã çµäºæé ã¨çµäºå¦çã«ã¼ãã³ã
+ãåç
+§ã®ãã¨ï¼
+
+(4) ã«ã¼ãã«åä½ç¶æ
+ã®åç
+§
+
+ã«ã¼ãã«ä¸ã§åä½ããã¿ã¹ã¯ããå¼ã³åºãããé¢æ°ãï¼ã«ã¼ãã«ã®åæåå®äº
+åãçµäºå¦çéå§å¾ã«ãå¼ã³åºãããå¯è½æ§ãããå ´åã«ã¯ï¼ãã®ä¸­ã§ã«ã¼ã
+ã«ã®ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããããå¤å¥ãããã¨ãå¿
+è¦ã¨ãªãï¼JSPã«ã¼ã
+ã«ã§ã¯ï¼ãã®å¤å¥ãå¯è½ã«ããããã«ï¼æ¬¡ã®ãµã¼ãã¹ã³ã¼ã«ãè¿½å ãã¦ããï¼
+
+    vsns_ini    ã«ã¼ãã«åä½ç¶æ
+ã®åç
+§
+
+1.5 æ¢ç¥ã®åé¡ç¹
+
+ç¾ãã¼ã¸ã§ã³ã§ã¯ï¼éçAPIã®å¦çä¸­ã®ã¨ã©ã¼ã®æ¤åºæ©è½ã®ä¸­ã§ï¼ã¿ã¼ã²ãã
+ä¾å­ã®ã¨ã©ã¼ã®æ¤åºãä¸ååã§ããï¼ä¾ãã°ï¼å²è¾¼ã¿ãã³ãã©çªå·ãä¸æ­£ãªå¤
+ã§ããå ´åï¼ã«ã¼ãã«ã¨ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ããããã¨ã©ã¼ãæ¤åºããï¼ã«ã¼
+ãã«ãæ­£ããåä½ããªãçµæã¨ãªãï¼
+
+kernel_cfg.cã¯ï¼ã«ã¼ãã«ï¼ã·ã¹ãã ãµã¼ãã¹ï¼ã¢ããªã±ã¼ã·ã§ã³ã®ãããã®
+ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããï¼ãããã®ã·ã³ãã«ãåç
+§ããå¯è½æ§
+ãããï¼ãã®ããï¼ã«ã¼ãã«ï¼ã·ã¹ãã ãµã¼ãã¹ï¼ã¢ããªã±ã¼ã·ã§ã³ã§ã·ã³ã
+ã«ç­ãè¡çªãã¦ããå ´åãï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ãé£ãéã£ã¦ããå ´åã«ï¼
+kernel_cfg.cãæ­£ããã³ã³ãã¤ã«ã§ããªããªãå ´åãèããããï¼ã«ã¼ãã«ã®
+ã·ã³ãã«ããªãã¼ã ãããªã©ã®æ¹æ³ã§ããªãè»½æ¸ããã¦ã¯ãããï¼åé¡ããªã
+ãªã£ã¦ããããã§ã¯ãªãï¼
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ï¼ã·ãªã¢ã«ãã¼ããã¯ã­ã¼ãºããå¾ã«ãªã¼
+ãã³ããªãããå ´åã«ï¼æ­£ããåä½ããªãï¼ããã¯ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹
+ãã©ã¤ããä½¿ç¨ãã¦ããã»ããã©ãåæåãããªãããã§ããï¼
+
+1.6 æ³¨æäºé 
+
+
+CRE_DTQã®ãã©ã¡ã¼ã¿dtqcntã¯ï¼Î¼ITRON4.0ä»æ§ã®Ver. 4.01.00ã§ã¯ä¸è¬å®æ°
+å¼ãã©ã¡ã¼ã¿ã¨è¦å®ããã¦ãããï¼JSPã«ã¼ãã«ã§ã¯Ver. 4.02.00ã«æºæ ãã¦ï¼
+ããªãã­ã»ããµå®æ°å¼ãã©ã¡ã¼ã¿ã¨æ±ã£ã¦ããï¼
+
+
+ï¼ï¼JSPã«ã¼ãã«ã®æ©è½
+
+ãã®ç¯ã§ã¯ï¼Î¼ITRON4.0ä»æ§ã§å®è£
+å®ç¾©ã¨ãªã£ã¦ããäºé 
+ãä¸­å¿ã«ï¼JSPã«ã¼
+ãã«ã®æ©è½ã«ã¤ãã¦è§£èª¬ããï¼
+
+2.1 å®è£
+æ¹éã¨ã¢ãã«
+
+Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã¯ï¼ã·ã¹ãã å
+¨ä½ãä¸ã¤ã®ã¢ã¸ã¥ã¼
+ã«ã«ãªã³ã¯ãããã¨ãæ³å®ãã¦è¦å®ããã¦ããï¼ã¾ãï¼ãµã¼ãã¹ã³ã¼ã«ã®å¼åº
+ãã¯ï¼åãªããµãã«ã¼ãã³ã³ã¼ã«ã«ãã£ã¦è¡ããã¨ãæ³å®ããã¦ããï¼JSPã«ã¼
+ãã«ã¯ï¼ãã®æ³å®ã«å¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ãä¸ã¤ã®ã¢ã¸ã¥ã¼ã«ã«
+ãªã³ã¯ãï¼ãµãã«ã¼ãã³ã³ã¼ã«ã«ãã£ã¦ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãæ¹æ³ã®ã¿ã
+ãµãã¼ããã¦ããï¼
+
+JSPã«ã¼ãã«ä¸ã§åä½ããã¢ããªã±ã¼ã·ã§ã³ã¯ï¼ãã¹ã¦Cè¨èªã§è¨è¿°ãããã¨ã
+ååã¨ãã¦ããï¼ãã®ããï¼ã¿ã¹ã¯ãå²è¾¼ã¿ãã³ãã©ãªã©ã®å¦çåä½ãã¢ã»ã³
+ããªè¨èªã§è¨è¿°ããæ¹æ³ã¯ï¼ç¹å¥ã«ã¯ç¨æãã¦ããªãï¼ãã¡ããï¼ã¤ã³ã¿ãã§ã¼
+ã¹ããCè¨èªã®é¢æ°ã«ããããã°ï¼è¨è¿°ã«ã¢ã»ã³ããªè¨èªãä½¿ããã¨ã¯åé¡ãª
+ãï¼ï¼
+
+JSPã«ã¼ãã«ã§ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ã®å¤§é¨åãä¸ã¤ã®å²è¾¼ã¿ç¦æ­¢åºéã¨ãã¦å®
+è£
+ãã¦ããããï¼ãµã¼ãã¹ã³ã¼ã«ã®ä¸å¯åæ§ã¯å³å¯ã«ä¿è¨¼ãããï¼éã«æ¬ ç¹ã¨
+ãã¦ã¯ï¼æå¤§å²è¾¼ã¿ç¦æ­¢æéï¼æå¤§å²è¾¼ã¿å¿ç­æéãåæ§ï¼ãï¼å¾
+ã¡ã­ã¥ã¼ã«
+ã¤ãªãããã¿ã¹ã¯ã®æå¤§æ°ãã¿ã¤ã ã¤ãã³ãã®æå¤§æ°ã«ä¾å­ãããã¨ã«ãªããï¼
+ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã®æ©è½ã»ããã®ç¯å²å
+ã§ã¯ï¼ãã®æ¹æ³ã§ãããã»ã©
+åé¡ã«ãªããªãã¨æãããï¼
+
+2.2 ãã¼ã¿å
+
+JSPã«ã¼ãã«ã§ã¯ï¼ä»¥ä¸ã«ãªã¹ãã¢ãããããã¼ã¿åãï¼signed intåï¼
+unsigned intåï¼ã¾ãã¯size_tåã«å®ç¾©ãã¦ããï¼ãããã®åã®ãµã¤ãºã¯ï¼
+JSPã«ã¼ãã«ããã¼ãã£ã³ã°ããã¦ããã¿ã¼ã²ãããã­ã»ããµï¼ã³ã³ãã¤ã©ã®
+å¤ãã«ããã¦ 32ãããã§ããããï¼ããã§ãªãå ´åã«ã®ã¿ã¿ã¼ã²ããæ¯ã®ã
+ãã¥ã¢ã«ã«æç¤ºããï¼ããªãã¡ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ã«æç¤ºããã¦ããª
+ãéãï¼ä»¥ä¸ã«ãªã¹ãã¢ãããããã¼ã¿åã®ãµã¤ãºã¯ 32ãããã§ããï¼
+
+    signed intåã«å®ç¾©ãã¦ãããã¼ã¿å
+
+        INT             ç¬¦å·ä»ãæ´æ°
+        BOOL            çå½å¤
+        FN              æ©è½ã³ã¼ã
+        ER              ã¨ã©ã¼ã³ã¼ã
+        ID              IDçªå·
+        PRI             åªå
+åº¦
+        TMO             ã¿ã¤ã ã¢ã¦ãå¤
+        ER_BOOL         ER ã¾ãã¯ BOOL
+        ER_ID           ER ã¾ãã¯ ID
+        ER_UINT         ER ã¾ãã¯ UINT
+
+    unsigned intåã«å®ç¾©ãã¦ãããã¼ã¿å
+
+        UINT            ç¬¦å·ç¡ãæ´æ°
+        ATR             å±æ§
+        STAT            ç¶æ
+
+        MODE            åä½ã¢ã¼ã
+        RELTIM          ç¸å¯¾æé
+        TEXPTN          ã¿ã¹ã¯ä¾å¤è¦å ã®ããããã¿ã¼ã³
+        FLGPTN          ã¤ãã³ããã©ã°ã®ããããã¿ã¼ã³
+
+    size_tåã«å®ç¾©ãã¦ãããã¼ã¿å
+        SIZE            ãµã¤ãº
+
+ãã ãï¼RELTIMåã®æå¹ãããæ°ã¯31ããããè¶ãããã¨ã¯ãªãï¼ããªãã¡ï¼
+unsigned intåã®ãµã¤ãºã32ãããã®å ´åã«ã¯ï¼RELTIMåã®æå¹ãããæ°ã¯ 
+31ãããã§ããï¼(2^31 - 1)ãè¶ããå¤ã RELTIMåã®ãã©ã¡ã¼ã¿ã«æ¸¡ããå ´
+åï¼E_PARã¨ã©ã¼ã¨ãªãï¼unsigned intåã®ãµã¤ãºã16ãããã®å ´åã«ã¯ï¼
+RELTIMåã®æå¹ãããæ°ã16ãããã§ããï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã§ã¯ï¼
+RELTIMåã¯16ãããä»¥ä¸ã¨è¦å®ãã¦ããï¼ãã®ä»æ§ã§ã¹ã¿ã³ãã¼ããã­ãã¡ã¤
+ã«è¦å®ã«æºæ ãã¦ããï¼
+
+SYSTIMåã¯ï¼32ãããã®ç¬¦å·ç¡ãæ´æ°åã«å®ç¾©ãã¦ããï¼æ§é ä½ã¨ãã¦å®ç¾©ã
+ãæ¹æ³ã¯ç¨ãã¦ããªãï¼
+
+æéããããããã¼ã¿åï¼TMOï¼RELTIMï¼SYSTIMï¼ã®æéåä½ã¯ï¼ã¹ã¿ã³ãã¼
+ããã­ãã¡ã¤ã«ã®è¦å®ã«å¾ãï¼ãã¹ã¦1ããªç§ã¨ãã¦ããï¼
+
+2.3 ãªãã¸ã§ã¯ãã®IDçªå·ã¨åªå
+åº¦
+
+ãªãã¸ã§ã¯ãã®IDçªå·ã«ã¯ï¼1ããé£ç¶ããæ­£ã®å¤ãç¨ããï¼ãªãã¸ã§ã¯ãã®
+IDçªå·ã«æããããå ´åï¼ä¾ãã°ï¼ID=1ã¨ID=3ã®ãªãã¸ã§ã¯ããç»é²ããï¼
+ID=2ã®ãªãã¸ã§ã¯ããç»é²ãããªãå ´åï¼ã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãã¨ã©ã¼
+ãå ±åããï¼è² ã®IDçªå·ãç¨ããã·ã¹ãã ãªãã¸ã§ã¯ãã¨ã¦ã¼ã¶ãªãã¸ã§ã¯ã
+ã®åºå¥ã¯ãµãã¼ããã¦ããªãï¼
+
+çæã§ãããªãã¸ã§ã¯ãã®æå¤§æ°ã¯ï¼ã«ã¼ãã«ã®ã³ã¼ãä¸ã¯ï¼IDçªå·ãIDå
+ï¼signed intåã«å®ç¾©ãã¦ããï¼ã§è¡¨ç¾ã§ããç¯å²å
+ã§ãããï¼å®éã«ã¯ã¡ã¢
+ãªå®¹éã«ãã£ã¦å¶éãããï¼ãªãï¼JSPã«ã¼ãã«ã§ã¯ï¼ãªãã¸ã§ã¯ããçæã
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãµãã¼ããã¦ããªãï¼
+
+ã¿ã¹ã¯ã¨ã¡ãã»ã¼ã¸ã®åªå
+åº¦ã«ã¯ï¼1ã16ã®æ­£ã®å¤ãç¨ããï¼
+
+2.4 ã¨ã©ã¼ãã§ãã¯ã¨ã¨ã©ã¼ã³ã¼ã
+
+JSPã«ã¼ãã«ã§ã¯ï¼ä»¥ä¸ã«ç¤ºãã¡ã¤ã³ã¨ã©ã¼ã³ã¼ããè¿ãã¨ã©ã¼ã®æ¤åºãçç¥
+ãã¦ããï¼
+
+    E_SYS       ã·ã¹ãã ã¨ã©ã¼
+    E_MACV      ã¡ã¢ãªã¢ã¯ã»ã¹éå
+
+ã¾ãï¼ãã¤ã³ã¿ã®å¤ãä¸æ­£ãªå ´åã®ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼E_PARï¼ã®æ¤åºãçç¥
+ãã¦ããï¼ã¡ã¢ãªã¢ã¯ã»ã¹éåï¼E_MACVï¼ã®æ¤åºãçç¥ãã¦ããããï¼å¼æ°ã«
+ãã¤ã³ã¿ãæ¸¡ããµã¼ãã¹ã³ã¼ã«ã«å¯¾ãã¦ï¼å­å¨ããªãã¡ã¢ãªçªå°ãå·®ããã¤ã³
+ã¿ãªã©ï¼ä¸æ­£ãªã¢ã¯ã»ã¹ãå¼ãèµ·ãããã¤ã³ã¿ãæ¸¡ããå ´åï¼ãã­ã»ããµãã
+ã¹ã¨ã©ã¼ãªã©ã®CPUä¾å¤ãèµ·ããå ´åãããï¼å
+·ä½çãªåä½ã¯ã¿ã¼ã²ãããã­
+ã»ããµã«ä¾å­ï¼ï¼
+
+Î¼ITRON4.0ä»æ§æ¸ã«å®ç¾©ããã¦ããã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãã®ä¸­ã§ï¼ã¹ã¿ã³ãã¼ã
+ãã­ãã¡ã¤ã«ã®æ©è½ã§ã¯çºçããªããã®ãï¼JSPã«ã¼ãã«ã®å®è£
+ä¸çºçããªã
+ãã®ãããï¼JSPã«ã¼ãã«ã§ãµã¼ãã¹ã³ã¼ã«ãè¿ãã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãã«ã¤ã
+ã¦ã¯ï¼ã9.3 ã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãä¸è¦§ããåç
+§ã®ãã¨ï¼
+
+JSPã«ã¼ãã«ã§ã¯ï¼ãµãã¨ã©ã¼ã³ã¼ãã¯ç¨ãã¦ããªãï¼ãµãã¨ã©ã¼ã³ã¼ãã«ã¯
+å¸¸ã«-1ãè¿ãï¼
+
+2.5 å²è¾¼ã¿ãã³ãã©
+
+JSPã«ã¼ãã«ã§ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®æ©è½ã¨ãããå®ç¾©ããéçAPIï¼DEF_INHï¼
+ããµãã¼ããã¦ããï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®æ©è½ã¨ãããè¿½å ããéç
+APIï¼ATT_ISRï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+å²è¾¼ã¿ãã³ãã©ã®Cè¨èªã«ããè¨è¿°å½¢å¼ã¯æ¬¡ã®éãã¨ããï¼
+
+        void interrupt_handler(void)
+        {
+                å²è¾¼ã¿ãã³ãã©æ¬ä½
+        }
+
+JSPã«ã¼ãã«ã§ã¯ï¼Cè¨èªã§è¨è¿°ãããå²è¾¼ã¿ãã³ãã©ãå¼ã°ããæç¹ã§ï¼CPU
+ã­ãã¯è§£é¤ç¶æ
+ã«ãªã£ã¦ããï¼ã¾ãï¼å²è¾¼ã¿ãã³ãã©ãããªã¿ã¼ã³ããã«ã¯ï¼
+Cè¨èªã®é¢æ°ããåã«ãªã¿ã¼ã³ããã°ããï¼
+
+å²è¾¼ã¿ãã³ãã©ãã¢ã»ã³ããªè¨èªã§è¨è¿°ããæ¹æ³ã¯ï¼ãµãã¼ããã¦ããªãï¼
+
+NMIï¼ãã¹ã¯ã§ããªãå²è¾¼ã¿ï¼ä»¥å¤ã«ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ããããã©ã
+ãã¯ï¼ã¿ã¼ã²ããä¾å­ã§ããï¼å
+·ä½çãªä»æ§ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥
+ã¢ã«ãåç
+§ãããã¨ï¼
+
+2.6 ã¿ã¤ã ã¤ãã³ããã³ãã©
+
+JSPã«ã¼ãã«ã§ã¯ï¼ã¿ã¤ã ã¤ãã³ããã³ãã©ã¨ãã¦ï¼å¨æãã³ãã©ã®ã¿ããµãã¼
+ããã¦ããï¼å¨æãã³ãã©ã¯ï¼isig_timãµã¼ãã¹ã³ã¼ã«ã®ä¸­ããï¼ãµãã«ã¼ã
+ã³ã³ã¼ã«ã§å¼ã³åºãããï¼ãã®ããï¼å¨æãã³ãã©ã®åªå
+é ä½ã¯ï¼isig_timã
+å¼ã³åºããå²è¾¼ã¿ãã³ãã©ãããä¸ã¤ã ãé«ãï¼å³å¯ã«è¨ãã¨ï¼isig_timãå¼
+ã³åºããå²è¾¼ã¿ãã³ãã©ãããé«ãï¼ãã®å²è¾¼ã¿ãã³ãã©ãããé«ãåªå
+é ä½
+ãæã¤ä»ã®ãããã®å¦çãããä½ãï¼ï¼
+
+2.7 CPUä¾å¤ãã³ãã©
+
+JSPã«ã¼ãã«ã§ã¯ï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«è¦å®ã«å¾ã£ã¦ï¼CPUä¾å¤ãã³ãã©
+ã®æ©è½ã¨ãããå®ç¾©ããéçAPIï¼DEF_EXCï¼ããµãã¼ããã¦ããï¼
+
+JSPã«ã¼ãã«ã§ã¯ï¼CPUä¾å¤ãã³ãã©ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§å®è¡ãããï¼é
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºãããµã¼ãã¹ã³ã¼ã«ã¯ï¼CPUä¾å¤ãã³ãã©å
+ã
+ãå¼ã³åºããã¨ãã§ããï¼ãã ãï¼CPUä¾å¤ãCPUã­ãã¯ç¶æ
+ã§çºçããå ´åã«
+ã¯ï¼CPUä¾å¤ãã³ãã©ä¸­ã§CPUã­ãã¯ãè§£é¤ãããã¨ã¯ã§ããï¼éã¿ã¹ã¯ã³ã³ã
+ã­ã¹ãããå¼ã³åºãããµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¨ãã§ããªãï¼
+
+Î¼ITRON4.0ä»æ§ã«ããã¦ï¼CPUä¾å¤ãã³ãã©å
+ã§è¡ããã¹ããã®ã¨ãã¦è¦å®ã
+ãã¦ããåæä½ã¯ï¼æ¬¡ã®ãããªæ¹æ³ã§è¡ããã¨ãã§ããï¼
+
+ (a) CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããç¶æ
+ã®åç
+§ã¯ï¼ãã®ããã«ç¨æããã
+     JSPã«ã¼ãã«ç¬èªã®ãµã¼ãã¹ã³ã¼ã«ï¼vxsns_ctxï¼vxsns_locï¼vxsns_dspï¼
+     vxsns_dpnï¼vxsns_texï¼ãç¨ãã¦è¡ããã¨ãã§ããï¼è©³ããã¯ï¼ã3.10 
+     CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
+åç
+§ããåç
+§ãããã¨ï¼
+
+ (b) CPUä¾å¤ãçºçããã¿ã¹ã¯ã®IDçªå·ã®åç
+§ã¯ï¼iget_tidãµã¼ãã¹ã³ã¼ã«ã
+     å¼ã³åºããã¨ã«ãã£ã¦è¡ããã¨ãã§ããï¼
+
+ (c) ã¿ã¹ã¯ä¾å¤å¦çã®è¦æ±ã¯ï¼iras_texãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¨ã«ãã£
+     ã¦è¡ããã¨ãã§ããï¼
+
+CPUä¾å¤ãã³ãã©ã®åªå
+é ä½ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ããå®è¡ä¸­ã«CPUä¾å¤ãçºç
+ããå ´åã«ã¯ï¼ãã£ã¹ãããã£ãããé«ãï¼ãã¹ã¦ã®å²è¾¼ã¿ãã³ãã©ããã³ã¿
+ã¤ããã³ãã©ãããä½ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ããå®è¡ä¸­ã«CPUä¾å¤ãçºçã
+ãå ´åã«ã¯ï¼CPUä¾å¤ãçºçããå¦çã®åªå
+é ä½ãããä¸ã¤ã ãé«ãï¼å³å¯ã«
+è¨ãã¨ï¼CPUä¾å¤ãçºçããå¦çãããé«ãï¼CPUä¾å¤ãçºçããå¦çãããé«
+ãåªå
+é ä½ãæã¤ä»ã®ãããã®å¦çãããä½ãï¼ï¼
+
+CPUä¾å¤ãã³ãã©ã®Cè¨èªã«ããè¨è¿°å½¢å¼ã¯æ¬¡ã®éãã¨ããï¼
+
+        void cpu_exception_handler(VP p_excinf)
+        {
+                CPUä¾å¤ãã³ãã©æ¬ä½
+        }
+
+p_excinf ã«ã¯ï¼CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®å
+é ­çªå°ãæ¸¡ãã
+ãï¼ããã¯ï¼CPUä¾å¤ãã³ãã©å
+ã§ï¼CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããç¶æ
+ã
+åç
+§ããéã«å¿
+è¦ã¨ãªãï¼è©³ããã¯ï¼ã3.10 CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
+å
+ç
+§ãåç
+§ãããã¨ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ããã«ã¯ï¼Cè¨èªã®é¢æ°ãã
+åã«ãªã¿ã¼ã³ããã°ããï¼
+
+CPUä¾å¤ãã³ãã©ãã¢ã»ã³ããªè¨èªã§è¨è¿°ããæ¹æ³ã¯ï¼ãµãã¼ããã¦ããªãï¼
+
+2.8 éã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãµã¼ãã¹ã³ã¼ã«å¼åºãã¨å²è¾¼ã¿ç¦æ­¢åºé
+
+JSPã«ã¼ãã«ã§ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãå°ç¨ã®ãµã¼ãã¹ã³ã¼ã«ã¨ï¼éã¿ã¹ã¯ã³
+ã³ãã­ã¹ãå°ç¨ã®ãµã¼ãã¹ã³ã¼ã«ãå³å¯ã«åºå¥ãã¦ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ã
+å°ç¨ã®ãµã¼ãã¹ã³ã¼ã«ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããå ´åãï¼éã¿ã¹
+ã¯ã³ã³ãã­ã¹ãå°ç¨ã®ãµã¼ãã¹ã³ã¼ã«ãã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããå ´
+åã«ã¯ï¼E_CTXã¨ã©ã¼ãè¿ãï¼
+
+ã¾ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«ã®é
+å»¶å®è¡ã¯è¡ã£
+ã¦ããªãï¼ãã®ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºãããµã¼ãã¹ã³ã¼ã«ãï¼
+æä½å¯¾è±¡ã®ãªãã¸ã§ã¯ãã®ç¶æ
+ã«ä¾å­ãã¦çºçããã¨ã©ã¼ãæ¤åºãããã¨ãã§
+ããï¼
+
+2.9 ã·ã¹ãã åæåæé ã¨åæåã«ã¼ãã³
+
+ã«ã¼ãã«ãèµ·åããã«ã¯ï¼ã¿ã¼ã²ããã«ä¾å­ãã¦è¡ããªããã°ãªããªãæä½é
+ã®åæåãè¡ã£ãå¾ï¼CPUã­ãã¯ç¶æ
+ã¨åç­ã®ç¶æ
+ã§ï¼kernel_starté¢æ°ãå¼
+ã³åºãï¼JSPã«ã¼ãã«ã§ã¯ï¼ã¿ã¼ã²ããæ¯ã«ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ãç¨æ
+ãã¦ï¼ãã®å¦çãè¡ã£ã¦ããï¼è©³ããã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ã
+ããã¨ï¼
+
+ATT_INIã«ãã£ã¦è¿½å ãããåæåã«ã¼ãã³ã¯ï¼ã«ã¼ãã«å
+é¨ã®ãã¼ã¿æ§é ã®
+åæåãä»ã®éçAPIã®å¦çãçµããå¾ã«ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+ãã¡ã¤ã«ä¸­ã§ã®ATT_INIã®è¨è¿°é ã¨åãé åºã§å¼ã³åºãããï¼åæåã«ã¼ãã³
+å
+ã§ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã¦ã¯ãªããªãï¼åæåã«ã¼ãã³å
+ã§ãµã¼ã
+ã¹ã³ã¼ã«ãå¼ã³åºããå ´åï¼ã·ã¹ãã ã®åä½ã¯ä¿è¨¼ãããªãï¼å®éã«ã¯ï¼ã¿ã¼
+ã²ããã«ãã£ã¦ï¼å¼ã³åºãã¦ãå·®ãæ¯ããªããµã¼ãã¹ã³ã¼ã«ãããï¼ï¼ã¾ãï¼
+åæåã«ã¼ãã³ãå®è¡ä¸­ã«ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ãç¦æ­¢ããã¦ãããã©ã
+ãã¯ï¼ã¿ã¼ã²ããããã³kernel_starté¢æ°ãå¼ã³åºãããæã®ç¶æ
+ã«ä¾å­ããï¼
+å
+·ä½çã«ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+2.10 éçAPIã¨ã³ã³ãã£ã®ã¥ã¬ã¼ã¿
+
+JSPã«ã¼ãã«ã¯ï¼Î¼ITRON4.0ä»æ§ã«è¦å®ãããã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§
+ã³æé ã«æºæ ããæé ã§ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãè¡ãï¼
+
+ã·ã¹ãã ã®æ§æãè¨è¿°ããã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã¯ï¼ã¾ã
+Cè¨èªã®ããªãã­ã»ããµã§å¦çããï¼ãã®çµæãã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼
+ã¿ï¼cfgãã­ã°ã©ã ï¼ã«å
+¥åããï¼ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼ã«ã¼ã
+ã«æ§æã»åæåãã¡ã¤ã«ãkernel_cfg.cã«ï¼IDèªåå²ä»ãçµæããããã¡ã¤ã«
+ãkernel_id.hã«çæããï¼ã¾ãï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ã«ç¨ãããã¡
+ã¤ã«ãkernel_chk.cã«ï¼éçAPIã®è§£æå
+å®¹ãå«ããªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+ãkernel_obj.datã«çæããï¼éçAPIã®ææ³ã¨ã©ã¼ï¼ããã³å¦çä¸­ã®ã¨ã©ã¼
+ã®ä¸é¨ï¼ãæ¤åºãããã°ï¼ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãã¨ã©ã¼ãå ±åããï¼
+
+kernel_cfg.cã¯ï¼ã³ã³ãã¤ã«ããã¦ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ããã³ã«ã¼
+ãã«ã¨å
+±ã«ãªã³ã¯ãããï¼ãªã³ã¯ã«ããçæãããã­ã¼ãã¢ã¸ã¥ã¼ã«ã¯ï¼ã«ã¼
+ãã«ã®ãã©ã¡ã¼ã¿ãã§ãã¯ãã­ã°ã©ã ï¼chkãã­ã°ã©ã ï¼ã«ãã£ã¦ï¼éçAPIã®
+ãã©ã¡ã¼ã¿ãã§ãã¯ãè¡ãããï¼ãã©ã¡ã¼ã¿ã®å¤ã®ã¨ã©ã¼ãæ¤åºãããã¨ï¼ã
+ã©ã¡ã¼ã¿ãã§ãã¯ãã­ã°ã©ã ãã¨ã©ã¼ãå ±åãããï¼ã1.5 æ¢ç¥ã®åé¡ç¹ãã§
+è¿°ã¹ãéãï¼ç¾ãã¼ã¸ã§ã³ã§ã¯ãã©ã¡ã¼ã¿ã¨ã©ã¼ã®ãã§ãã¯ã¯ä¸å®å
+¨ã§ããï¼
+
+ä»¥ä¸ã®æé ã¯ï¼Makefileå
+ã«è¨è¿°ããã¦ããï¼ã½ããã¦ã§ã¢é¨åã®ã³ã³ãã£ã®ã¥
+ã¬ã¼ã¿ãçµã¿è¾¼ã¿ããå ´åã«ã¯ï¼Makefileãä¿®æ­£ããå¿
+è¦ãããï¼
+
+2.11 ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+
+ã¢ããªã±ã¼ã·ã§ã³ãç¨ãããã¨ãã§ããã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼includeãã£
+ã¬ã¯ããªã®ä¸ã«ç½®ããã¦ããï¼
+
+t_services.hã¯ï¼ã«ã¼ãã«ä¸ã§åä½ãããã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«ã§ã¤ã³ã¯
+ã«ã¼ãããã¹ãæ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ããï¼ãã®ä¸­ã§ï¼kernel.hï¼ãã
+ã«ããããï¼t_stddef.hï¼itron.hï¼tool_defs.hï¼sys_defs.hï¼cpu_defs.hï¼
+t_syslog.hï¼ã¨serial.hãã¤ã³ã¯ã«ã¼ããã¦ããï¼ã¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ã«
+æçã¨æãããå®ç¾©ãããã¤ãå«ãã§ããï¼
+
+s_services.hã¯ï¼ç´æ¥ãã¼ãã¦ã§ã¢ã«ã¢ã¯ã»ã¹ããããã¤ã¹ãã©ã¤ãã®ã½ã¼ã¹
+ãã¡ã¤ã«ã§ã¤ã³ã¯ã«ã¼ãããã¹ãæ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ããï¼ãã®ä¸­ã§ï¼
+sil.hï¼ããã«ããããï¼t_stddef.hï¼itron.hï¼tool_defs.hï¼sys_defs.hï¼
+cpu_defs.hï¼t_syslog.hï¼ã¨t_config.hï¼ããã«ããããï¼sys_config.hï¼
+cpu_config.hï¼tool_config.hï¼ãã¤ã³ã¯ã«ã¼ããã¦ããï¼ã¾ãï¼ã¢ããªã±ã¼
+ã·ã§ã³ããå¼ã°ããããã¤ã¹ãã©ã¤ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ï¼ã¤ã³ã©ã¤ã³
+é¢æ°ãªã©ã§ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ãç¨ãã¦ããå ´åã«ãï¼ãã®ãã¡ã¤
+ã«ãã¤ã³ã¯ã«ã¼ãããï¼
+
+ãã®2ã¤ã®ãã¡ã¤ã«ããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ä¸ã«åæãããã®ï¼ã¯ï¼
+ç´æ¥ã¤ã³ã¯ã«ã¼ãããªãã®ãååã§ãããï¼æ¬¡ã®3ã¤ã®ã±ã¼ã¹ã¯ä¾å¤ã§ããï¼
+
+(1) ã«ã¼ãã«ããå¼ã°ããããã¤ã¹ãã©ã¤ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ï¼ã¤ã³
+    ã©ã¤ã³é¢æ°ãªã©ã§ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ãç¨ãã¦ããå ´åã«ã¯ï¼
+    sil.hãã¤ã³ã¯ã«ã¼ãããï¼
+
+(2) ã«ã¼ãã«ä¸ã§åä½ãããã­ã°ã©ã ã§ï¼ã¿ã¼ã²ããä¾å­æ
+å ±ãåç
+§ãããå ´
+    åã«ã¯ï¼t_config.hãã¤ã³ã¯ã«ã¼ãããï¼
+
+(3) ä»ã®ITRONä»æ§OSããã½ããã¦ã§ã¢ããã¼ãã£ã³ã°ããå ´åãªã©ã«ã¯ï¼
+    kernel.hãç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ãããï¼
+
+(4) ITRONä»æ§å
+±éè¦å®ã«æºæ ããã½ããã¦ã§ã¢é¨åã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+    ã¯ï¼itron.hãç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ãããï¼
+
+JSPã«ã¼ãã«ã®Release 1.3ä»¥åã®ãã¼ã¸ã§ã³ã§ã¯ï¼t_services.hã¯
+jsp_services.hã¨ãããã¡ã¤ã«åã«ãªã£ã¦ããï¼ãã¼ã¸ã§ã³ãåããã«åä½ã
+ããã­ã°ã©ã ãä½ãéã«ã¯ï¼t_services.hãã¤ã³ã¯ã«ã¼ããï¼å¤ããã¼ã¸ã§ã³
+ã§jsp_services.hãt_services.hã«ã·ã³ããªãã¯ãªã³ã¯ãè²¼ãæ¹æ³ãæ¨å¥¨ããï¼
+
+ãªãï¼jsp_kernel.hã¯ï¼ã«ã¼ãã«ãæ§æãããã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«ã§ã¤
+ã³ã¯ã«ã¼ãããã¹ãæ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ããï¼ã«ã¼ãã«ä¸ã§åä½ãã
+ãã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«ããã¯éå¸¸ã¯ã¤ã³ã¯ã«ã¼ãããªãï¼
+
+2.12 ã·ã¹ãã çµäºæé ã¨çµäºå¦çã«ã¼ãã³
+
+ã¢ããªã±ã¼ã·ã§ã³ãã kernel_exité¢æ°ãå¼ã³åºããã¨ã§ï¼ã«ã¼ãã«ãçµäºã
+ããã¨ãã§ããï¼kernel_exité¢æ°ãå¼ã³åºãããã¨ï¼ã«ã¼ãã«ã¯ï¼çµäºå¦ç
+ã«ã¼ãã³ã®å®è¡ï¼éçºç°å¢ä¾å­ã®çµäºå¦çï¼atexit ã«ãã£ã¦ç»é²ãããé¢æ°
+ã C++ ã«ããããã¹ãã©ã¯ã¿ã®å®è¡ï¼ãè¡ã£ãå¾ï¼ã«ã¼ãã«ã®çµäºå¦çãè¡
+ãï¼
+
+çµäºå¦çã«ã¼ãã³ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ã§ç¨æãï¼VATT_TER ãä½¿ã£ã¦ã«ã¼ã
+ã«ã«ç»é²ããï¼VATT_TER ã«ãã£ã¦è¿½å ãããçµäºå¦çã«ã¼ãã³ã¯ï¼ã«ã¼ãã«
+ã®ç®¡çå¤ã®å²è¾¼ã¿ãé¤ããã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããç¶æ
+ã§ï¼ã·ã¹ãã ã³ã³ãã£
+ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ä¸­ã§ã® VATT_TER ã®è¨è¿°é ã¨éã®é åºã§å¼ã³åºãããï¼
+çµäºå¦çã«ã¼ãã³å
+ã§ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã¦ã¯ãªããªãï¼çµäºå¦ç
+ã«ã¼ãã³å
+ã§ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããå ´åï¼ã·ã¹ãã ã®åä½ã¯ä¿è¨¼ãããª
+ãï¼å®éã«ã¯ï¼ã¿ã¼ã²ããã«ãã£ã¦ï¼å¼ã³åºãã¦ãå·®ãæ¯ããªããµã¼ãã¹ã³ã¼
+ã«ãããï¼ï¼
+
+2.13 ãã®ä»
+
+JSPã«ã¼ãã«ã§ã¯ï¼t_stddef.h ã®ä¸­ã§ï¼æ¬¡ã®ãã¯ã­ãå®ç¾©ãã¦ããï¼
+
+(1) assert(exp)
+
+JSPã«ã¼ãã«ã§ã¯ï¼assertãã¯ã­ãç¬èªã«å®ç¾©ãã¦ããï¼éçºç°å¢ã®æ¨æºã®
+assertãã¯ã­ã¯ä½¿ãããªãï¼
+
+(2) throw()
+
+Cè¨èªã¨EC++è¨èªã§ã¯ï¼throw() ãç©ºã«ãªãããã«å®ç¾©ãã¦ããï¼C++è¨èªãã
+å¼ã³åºãå¯è½æ§ã®ããCè¨èªã§è¨è¿°ãããé¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ã«ï¼throw() 
+ãã¤ãããã¨ãæ³å®ãã¦ããï¼
+
+ã¾ãï¼t_services.h ã®ä¸­ã§ï¼æ¬¡ã®ãã¯ã­ãå®ç¾©ãã¦ããï¼
+
+(3) syscall(s)
+
+ãµã¼ãã¹ã³ã¼ã« s ãå¼ã³åºãï¼è¿å¤ãã¨ã©ã¼ã§ããã°ï¼ã¨ã©ã¼ã¡ãã»ã¼ã¸ã
+åºåããï¼
+
+(4) _syscall(s)
+
+ãµã¼ãã¹ã³ã¼ã« s ãå¼ã³åºãï¼è¿å¤ãã¨ã©ã¼ã§ããã°ï¼ã¨ã©ã¼ã¡ãã»ã¼ã¸ã
+åºåãï¼ã«ã¼ãã«ãç°å¸¸çµäºãããï¼
+
+
+ï¼ï¼JSPã«ã¼ãã«ã®ãµã¼ãã¹ã³ã¼ã«ã¨éçAPI
+
+ãã®ç¯ã§ã¯ï¼JSPã«ã¼ãã«ã®ãµã¼ãã¹ã³ã¼ã«ã¨éçAPIã«ã¤ãã¦ï¼Î¼ITRON4.0ä»
+æ§ã§å®è£
+å®ç¾©ã¨ãªã£ã¦ããäºé 
+ã¨JSPã«ã¼ãã«ç¬èªã®ãµã¼ãã¹ã³ã¼ã«ãä¸­å¿ã«
+è§£èª¬ããï¼
+
+3.1 ã¿ã¹ã¯ç®¡çæ©è½
+
+ã¿ã¹ã¯ã®èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_ACTCNTï¼ã¯1ã«åºå®ãã¦ããï¼
+
+(1) CRE_TSK                     ã¿ã¹ã¯ã®çæï¼éçAPIï¼
+
+tskatr ã« TA_ASM ãæå®ãããå ´åã®æ©è½ï¼ã¿ã¹ã¯ãã¢ã»ã³ããªè¨èªã§è¨è¿°
+ããï¼ã¯ãµãã¼ããã¦ããªãï¼ã¾ãï¼stk ã« NULL ä»¥å¤ãæå®ãããå ´åã®æ©
+è½ï¼ã¹ã¿ãã¯é åã®å
+é ­çªå°ãæå®ããï¼ããµãã¼ããã¦ããªãï¼
+
+(2) act_tsk, iact_tsk           ã¿ã¹ã¯ã®èµ·å
+
+(3) can_act                     ã¿ã¹ã¯èµ·åè¦æ±ã®ã­ã£ã³ã»ã«
+
+(4) ext_tsk                     èªã¿ã¹ã¯ã®çµäº
+
+ext_tsk ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã°ããå ´åï¼ã·ã¹ãã ã­ã°æ©è½ãç¨ã
+ã¦ã¨ã©ã¼æ
+å ±ãåºåãï¼LOG_EMERGã¬ãã«ï¼ï¼ãã®ã¾ã¾å®è¡ãç¶ãããï¼åä½
+ã¯ä¿è¨¼ãããªãï¼
+
+ext_tsk ãCPUã­ãã¯ç¶æ
+ï¼ã¾ãã¯ãã£ã¹ãããç¦æ­¢ç¶æ
+ï¼ã§å¼ã°ããå ´åï¼
+ã·ã¹ãã ã­ã°ã«ã¨ã©ã¼ãè¨é²ãï¼LOG_WARNINGã¬ãã«ï¼ï¼CPUã­ãã¯è§£é¤ç¶æ
+
+ï¼ã¾ãã¯ãã£ã¹ãããè¨±å¯ç¶æ
+ï¼ã«ãã¦ããã¿ã¹ã¯ãçµäºããï¼
+
+(5) ter_tsk                     ã¿ã¹ã¯ã®å¼·å¶çµäº
+
+(6) chg_pri                     ã¿ã¹ã¯åªå
+åº¦ã®å¤æ´
+
+(7) get_pri                     ã¿ã¹ã¯åªå
+åº¦ã®åç
+§
+
+3.2 ã¿ã¹ã¯ä»å±åææ©è½
+
+ã¿ã¹ã¯ã®èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_WUPCNTï¼ã¯ 1 ã«åºå®ãã¦ã
+ãï¼ã¾ãï¼ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ï¼TMAX_SUSCNTï¼ã 1 ã«åº
+å®ãã¦ããï¼
+
+(1) slp_tsk                     èµ·åºå¾
+ã¡
+(2) tslp_tsk                    èµ·åºå¾
+ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+(3) wup_tsk, iwup_tsk           ã¿ã¹ã¯ã®èµ·åº
+
+(4) can_wup                     ã¿ã¹ã¯èµ·åºè¦æ±ã®ã­ã£ã³ã»ã«
+
+(5) rel_wai, irel_wai           å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤
+
+(6) sus_tsk                     å¼·å¶å¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡
+
+(7) rsm_tsk                     å¼·å¶å¾
+ã¡ç¶æ
+ããã®åé
+(8) frsm_tsk                    å¼·å¶å¾
+ã¡ç¶æ
+ããã®å¼·å¶åé
+
+ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ï¼TMAX_SUSCNTï¼ã 1 ã§ããããï¼
+rsm_tsk ã¨ frsm_tsk ã®å¦çå
+å®¹ã¯åä¸ã§ããï¼
+
+(9) dly_tsk                     èªã¿ã¹ã¯ã®é
+å»¶
+
+3.3 ã¿ã¹ã¯ä¾å¤å¦çæ©è½
+
+TEXPTNåã¯ï¼unsigned intåã«å®ç¾©ãã¦ããï¼ãã£ã¦ TBIT_TEXPTN ã¯ï¼
+unsigned intåã 32ãããã®å ´åã¯ 32ï¼16ãããã®å ´åã¯ 16 ã«ãªãï¼
+
+(1) DEF_TEX                     ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å®ç¾©ï¼éçAPIï¼
+
+texatr ã« TA_ASM ãæå®ãããå ´åã®æ©è½ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãã¢ã»
+ã³ããªè¨èªã§è¨è¿°ããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(2) ras_tex, iras_tex           ã¿ã¹ã¯ä¾å¤å¦çã®è¦æ±
+
+(3) dis_tex                     ã¿ã¹ã¯ä¾å¤å¦çã®ç¦æ­¢
+
+(4) ena_tex                     ã¿ã¹ã¯ä¾å¤å¦çã®è¨±å¯
+
+(5) sns_tex                     ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã®åç
+§
+
+3.4 åæã»éä¿¡æ©è½
+
+3.4.1 ã»ããã©
+
+ã»ããã©ã®æå¤§è³æºæ°ã¯ï¼UINTåï¼unsigned intåã«å®ç¾©ãã¦ããï¼ã§è¡¨ç¾ã§
+ããæ°å¤ã®ç¯å²å
+ã§ããï¼ããªãã¡ï¼unsigned intåã 32ãããã®å ´åã¯ 
+(2^32 - 1)ï¼16ãããã®å ´åã¯ (2^16 - 1) = 65535 ã§ããï¼TMAX_MAXSEM ã¯
+å®ç¾©ãã¦ããªãï¼
+
+(1) CRE_SEM                     ã»ããã©ã®çæï¼éçAPIï¼
+
+(2) sig_sem, isig_sem           ã»ããã©è³æºã®è¿å´
+
+(3) wai_sem                     ã»ããã©è³æºã®ç²å¾
+(4) pol_sem                     ã»ããã©è³æºã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+(5) twai_sem                    ã»ããã©è³æºã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+3.4.2 ã¤ãã³ããã©ã°
+
+ä¸ã¤ã®ã¤ãã³ããã©ã°ã§è¤æ°ã®ã¿ã¹ã¯ãå¾
+ã¡ç¶æ
+ã«ãªããæ©è½ã¯ãµãã¼ããã¦
+ããªãï¼
+
+FLGPTNåã¯ï¼unsigned intåã«å®ç¾©ãã¦ããï¼ãã£ã¦ TBIT_FLGPTN ã¯ï¼
+unsigned intåã 32ãããã®å ´åã¯ 32ï¼16ãããã®å ´åã¯ 16 ã«ãªãï¼
+
+(1) CRE_FLG                     ã¤ãã³ããã©ã°ã®çæï¼éçAPIï¼
+
+flgatr ã« TA_WMUL ãæå®ãããå ´åã®æ©è½ï¼ã¤ãã³ããã©ã°ã§è¤æ°ã®ã¿ã¹ã¯
+ãå¾
+ã¡ç¶æ
+ã«ãªããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(2) set_flg, iset_flg           ã¤ãã³ããã©ã°ã®ã»ãã
+
+(3) clr_flg                     ã¤ãã³ããã©ã°ã®ã¯ãªã¢
+
+(4) wai_flg                     ã¤ãã³ããã©ã°å¾
+ã¡
+(5) pol_flg                     ã¤ãã³ããã©ã°å¾
+ã¡ï¼ãã¼ãªã³ã°ï¼
+(6) twai_flg                    ã¤ãã³ããã©ã°å¾
+ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+3.4.3 ãã¼ã¿ã­ã¥ã¼
+
+dtqcntåã®ãã¼ã¿ãæ ¼ç´ããã®ã«å¿
+è¦ãªãã¼ã¿ã­ã¥ã¼é åã®ãµã¤ãºã¯ï¼
+sizeof(VP_INT) * dtqcnt ãã¤ãã§ããï¼TSZ_DTQ ã¯å®ç¾©ãã¦ããªãï¼
+
+(1) CRE_DTQ                     ãã¼ã¿ã­ã¥ã¼ã®çæï¼éçAPIï¼
+
+dtq ã« NULL ä»¥å¤ãæå®ãããå ´åã®æ©è½ï¼ãã¼ã¿ã­ã¥ã¼é åã®å
+é ­çªå°ãæ
+å®ããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(2) snd_dtq                     ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+(3) psnd_dtq, ipsnd_dtq         ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ãã¼ãªã³ã°ï¼
+(4) tsnd_dtq                    ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+(5) fsnd_dtq, ifsnd_dtq         ãã¼ã¿ã­ã¥ã¼ã¸ã®å¼·å¶éä¿¡
+
+(6) rcv_dtq                     ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡
+(7) prcv_dtq                    ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+(8) trcv_dtq                    ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+3.4.4 ã¡ã¼ã«ããã¯ã¹
+
+T_MSGåã¯ä¸è¨ã®ããã«å®ç¾©ããã¦ããï¼T_MSGåã®ãµã¤ãºã¯ï¼ã¿ã¼ã²ãããã­
+ã»ããµï¼ã³ã³ãã¤ã©ã®ãã¤ã³ã¿ã®ãµã¤ãºã«ä¸è´ããï¼
+
+        typedef struct t_msg {
+                struct t_msg    *next;
+        } T_MSG;
+
+JSPã«ã¼ãã«ã§ã¯ï¼åªå
+åº¦å¥ã¡ãã»ã¼ã¸ã­ã¥ã¼ãããé åã¯ç¨ãã¦ããªãï¼
+TSZ_MPRIHD ã¯å®ç¾©ãã¦ããªããï¼å®ç¾©ããã¨ããã 0 ã¨ãªãï¼
+
+(1) CRE_MBX                     ã¡ã¼ã«ããã¯ã¹ã®çæï¼éçAPIï¼
+
+mprihd ã« NULL ä»¥å¤ãæå®ãããå ´åã®æ©è½ï¼åªå
+åº¦å¥ã¡ãã»ã¼ã¸ã­ã¥ã¼ãã
+ãé åã®å
+é ­çªå°ãæå®ããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(2) snd_mbx                     ã¡ã¼ã«ããã¯ã¹ã¸ã®éä¿¡
+
+(3) rcv_mbx                     ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡
+(4) prcv_mbx                    ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+(5) trcv_mbx                    ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+3.5 ã¡ã¢ãªãã¼ã«ç®¡çæ©è½
+
+3.5.1 åºå®é·ã¡ã¢ãªãã¼ã«
+
+ãµã¤ãºã blkszãã¤ãã®ã¡ã¢ãªãã­ãã¯ã blkcntåç²å¾ã§ããã®ã«å¿
+è¦ãªåº
+å®é·ã¡ã¢ãªãã¼ã«é åã®ãµã¤ãºã¯ï¼TROUND_VP(blksz) * blkcnt ãã¤ãã§ããï¼
+ããã§ï¼TROUND_VP(blksz) ã¯ï¼blksz ãã¿ã¼ã²ãããã­ã»ããµï¼ã³ã³ãã¤ã©
+ã®ãã¤ã³ã¿ã®ãµã¤ãºã®åæ°ã«ãªãããåãä¸ããæ°ãè¡¨ãï¼TSZ_MPF ã¯å®ç¾©ã
+ã¦ããªãï¼
+
+(1) CRE_MPF                     åºå®é·ã¡ã¢ãªãã¼ã«ã®çæï¼éçAPIï¼
+
+mpf ã« NULL ä»¥å¤ãæå®ãããå ´åã®æ©è½ï¼åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
+é ­çª
+å°ãæå®ããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(2) get_mpf                     åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾
+(3) pget_mpf                    åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+(4) tget_mpf                    åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+
+(5) rel_mpf                     åºå®é·ã¡ã¢ãªãã­ãã¯ã®è¿å´
+
+blkãã©ã¡ã¼ã¿ï¼è¿å´ããã¡ã¢ãªãã­ãã¯ã®å
+é ­çªå°ï¼ã®å¤ãï¼è¿å´å
+ã®ã¡ã¢
+ãªãã¼ã«é åã®å¤ãï¼ã¡ã¢ãªãã­ãã¯ã®éä¸­ãæãå ´åã«ã¯ï¼E_PARã¨ã©ã¼ã
+è¿ãï¼æªç²å¾ã®ã¡ã¢ãªãã­ãã¯ãè¿å´ããå ´åãï¼è¿å´æ¸ã®ã¡ã¢ãªãã­ãã¯ã
+ååº¦è¿å´ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+3.6 æéç®¡çæ©è½
+
+ã¿ã¤ã ã¤ãã³ããã³ãã©ã«é¢ãã¦ã¯ï¼ã2.6 ã¿ã¤ã ã¤ãã³ããã³ãã©ããåç
+§
+ãããã¨ï¼
+
+3.6.1 ã·ã¹ãã æå»ç®¡ç
+
+JSPã«ã¼ãã«ã§ã¯ï¼ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦ï¼isig_tim ãå¨æçã«å¼ã³åºãå¦çï¼
+ã¯ã·ã¹ãã ãµã¼ãã¹ã®ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã«ãã£ã¦å®ç¾ãã¦ããï¼ã·ã¹
+ãã ã¯ã­ãã¯ãã©ã¤ãã®ä¸»è¦é¨åã¯ï¼ã¿ã¼ã²ããæ¯ã«ãã¼ãã¦ã§ã¢ã¿ã¤ããä½¿ã£
+ã¦å®ç¾ããã¦ããï¼isig_tim ãå¼ã³åºãå¨æã¯ã¿ã¼ã²ããæ¯ã«å®ããï¼ãã®
+ãã TIC_NUME ã¨ TIC_DENO ã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¤
+ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼cpu_defs.h ããã³ sys_defs.hï¼ã®ä¸­ã§å®ç¾©ãã¦ããï¼
+ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ãã®æ°å¤ãå¤æ´ããã ãã§ isig_tim ãå¼ã³åºãå¨æ
+ãå¤æ´ã§ããããã«å®è£
+ããã¦ããå ´åãããï¼è©³ããã¯ï¼ã¿ã¼ã²ããæ¯ã®ã
+ãã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+(1) set_tim                     ã·ã¹ãã æå»ã®è¨­å®
+
+(2) get_tim                     ã·ã¹ãã æå»ã®åç
+§
+
+(3) isig_tim                    ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦
+
+isig_tim ã¯ï¼ã¿ã¼ã²ããä¾å­ã«å®ç¾©ããã TIC_NUME ã¨ TIC_DENO ã§æå®ã
+ããæéã ãã·ã¹ãã æå»ãé²ãï¼å¿
+è¦ãªã¿ã¤ã ã¤ãã³ãï¼ã¿ã¤ã ã¢ã¦ãï¼å¨
+æãã³ãã©ã®èµ·åãªã©ï¼ã®å¦çãè¡ãï¼JSPã«ã¼ãã«ã§ã¯ï¼ã·ã¹ãã ã¯ã­ãã¯
+ãã©ã¤ãããã®ãµã¼ãã¹ã³ã¼ã«ãå¨æçã«å¼ã³åºãããï¼ã¢ããªã±ã¼ã·ã§ã³ã
+ãå¼ã³åºãå¿
+è¦ã¯ãªãï¼
+
+3.6.2 å¨æãã³ãã©
+
+å¨æãã³ãã©ã®èµ·åä½ç¸ãä¿å­ããæ©è½ã¯ãµãã¼ããã¦ããªãï¼
+
+(1) CRE_CYC                     å¨æãã³ãã©ã®çæï¼éçAPIï¼
+
+cycatr ã« TA_PHS ãæå®ãããå ´åã®æ©è½ï¼å¨æãã³ãã©ã®èµ·åä½ç¸ãä¿å­
+ããï¼ã¯ãµãã¼ããã¦ããªãï¼ã¾ãï¼TA_ASM ãæå®ãããå ´åã®æ©è½ï¼å¨æ
+ãã³ãã©ãã¢ã»ã³ããªè¨èªã§è¨è¿°ããï¼ããµãã¼ããã¦ããªãï¼
+
+cycatr ã« TA_STA ãæå®ãï¼cycphs ã« 0 ãæå®ããå ´åï¼å¨æãã³ãã©ã®
+ååã®èµ·åã¯ï¼ã·ã¹ãã èµ·åå¾ã®æåã®ã¿ã¤ã ãã£ãã¯ã§è¡ãããï¼ããªãã¡ï¼
+cycphs ã« 1 ãæå®ããå ´åã¨åãæ¯ãèãã¨ãªãï¼æ··ä¹±ã®åå ã¨ãªãããï¼
+cycphs ã« 0 ãæå®ãããã¨ã¯æ¨å¥¨ããªãï¼
+
+(2) sta_cyc                     å¨æãã³ãã©ã®åä½éå§
+
+(3) stp_cyc                     å¨æãã³ãã©ã®åä½åæ­¢
+
+3.7 ã·ã¹ãã ç¶æ
+ç®¡çæ©è½
+
+(1) rot_rdq, irot_rdq           ã¿ã¹ã¯ã®åªå
+é ä½ã®åè»¢
+
+(2) get_tid, iget_tid           å®è¡ç¶æ
+ã®ã¿ã¹ã¯IDã®åç
+§
+
+(3) loc_cpu, iloc_cpu           CPUã­ãã¯ç¶æ
+ã¸ã®ç§»è¡
+
+(4) unl_cpu, iunl_cpu           CPUã­ãã¯ç¶æ
+ã®è§£é¤
+
+(5) dis_dsp                     ãã£ã¹ãããã®ç¦æ­¢
+
+(6) ena_dsp                     ãã£ã¹ãããã®è¨±å¯
+
+(7) sns_ctx                     ã³ã³ãã­ã¹ãã®åç
+§
+
+(8) sns_loc                     CPUã­ãã¯ç¶æ
+ã®åç
+§
+
+(9) sns_dsp                     ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®åç
+§
+
+(10) sns_dpn                    ãã£ã¹ãããä¿çç¶æ
+ã®åç
+§
+
+(11) vsns_ini                   ã«ã¼ãã«åä½ç¶æ
+ã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vsns_ini();
+
+ããã©ã¡ã¼ã¿ã
+        ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           ã«ã¼ãã«åä½ç¶æ
+
+
+ãæ©è½ã
+
+ã«ã¼ãã«ã®åæåå®äºåã¾ãã¯çµäºå¦çéå§å¾ã«å¼ã³åºãããå ´åã« TRUEï¼
+ã«ã¼ãã«ã®åä½ä¸­ã«å¼ã³åºãããå ´åã« FALSE ãè¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã TRUE ãè¿ãæã«ã¯ï¼ä»ã®ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã¦
+ã¯ãªããªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ã TRUE ãè¿ãæã«ä»ã®ãµã¼ãã¹ã³ã¼ã«ãå¼
+ã³åºããå ´åï¼ã·ã¹ãã ã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+3.8 å²è¾¼ã¿ç®¡çæ©è½
+
+å²è¾¼ã¿ãã³ãã©ã«é¢ãã¦ã¯ï¼ã2.5 å²è¾¼ã¿ãã³ãã©ããåç
+§ãããã¨ï¼
+
+(1) DEF_INH                     å²è¾¼ã¿ãã³ãã©ã®å®ç¾©ï¼éçAPIï¼
+
+INHNOåã®å®ç¾©ã¨ inhno ã®æå³ã¯ã¿ã¼ã²ããæ¯ã«å®ããï¼inhatr ã«ã¯ï¼
+TA_HLNG ã®ã¿ãæå®ãããã¨ãã§ããï¼
+
+(2) dis_int                     å²è¾¼ã¿ã®ç¦æ­¢
+(3) ena_int                     å²è¾¼ã¿ã®è¨±å¯
+(4) chg_ixx                     å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
+(5) get_ixx                     å²è¾¼ã¿ãã¹ã¯ã®åç
+§
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããã¦ãããã©ããï¼ãµãã¼ãããã¦ãã
+å ´åã®ä»æ§ï¼xx ã®é¨åã®åç§°ï¼åã¨ãã©ã¡ã¼ã¿ã®åç§°ã¨æå³ï¼CPUã­ãã¯ç¶æ
+
+ããã£ã¹ãããç¶æ
+ã¨ã®é¢é£ï¼ã«ã¤ãã¦ã¯ï¼ã¿ã¼ã²ããä¾å­ã§ããï¼å
+·ä½çã«
+ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+3.9 ã·ã¹ãã æ§æç®¡çæ©è½
+
+CPUä¾å¤ãã³ãã©ã«é¢ãã¦ã¯ã2.7 CPUä¾å¤ãã³ãã©ããï¼åæåã«ã¼ãã³ã«é¢
+ãã¦ã¯ã2.9 ã·ã¹ãã åæåæé ã¨åæåã«ã¼ãã³ãåç
+§ãããã¨ï¼
+
+(1) DEF_EXC                     CPUä¾å¤ãã³ãã©ã®å®ç¾©ï¼éçAPIï¼
+
+EXCNOåã®å®ç¾©ã¨ excno ã®æå³ã¯ã¿ã¼ã²ããæ¯ã«å®ããï¼excatr ã«ã¯ï¼
+TA_HLNG ã®ã¿ãæå®ãããã¨ãã§ããï¼
+
+(2) ATT_INI                     åæåã«ã¼ãã³ã®è¿½å ï¼éçAPIï¼
+
+iniatr ã« TA_ASM ãæå®ãããå ´åã®æ©è½ï¼åæåã«ã¼ãã³ãã¢ã»ã³ããªè¨
+èªã§è¨è¿°ããï¼ã¯ãµãã¼ããã¦ããªãï¼
+
+(3) VATT_TER                    çµäºå¦çã«ã¼ãã³ã®è¿½å ï¼éçAPIï¼
+
+ãéçAPIã
+        VATT_TER({ ATR teratr, VP_INT exinf, FP terrtn });
+
+ããã©ã¡ã¼ã¿ã
+        ATR     teratr  çµäºå¦çã«ã¼ãã³å±æ§
+        VP_INT  exinf   çµäºå¦çã«ã¼ãã³ã®æ¡å¼µæ
+å ±
+        FP      terrtn  çµäºå¦çã«ã¼ãã³ã®èµ·åçªå°
+
+ãæ©è½ã
+
+çµäºå¦çã«ã¼ãã³ãï¼æå®ãããåãã©ã¡ã¼ã¿ã«åºã¥ãã¦è¿½å ããï¼teratr 
+ã¯çµäºå¦çã«ã¼ãã³ã®å±æ§ï¼exinf ã¯çµäºå¦çã«ã¼ãã³ãèµ·åããæã«ãã©ã¡
+ã¼ã¿ã¨ãã¦æ¸¡ãæ¡å¼µæ
+å ±ï¼terrtn ã¯çµäºå¦çã«ã¼ãã³ã®èµ·åçªå°ã§ããï¼
+
+VATT_TER ã«ããã¦ã¯ï¼teratr ã¯ããªãã­ã»ããµå®æ°å¼ãã©ã¡ã¼ã¿ã§ããï¼ 
+teratr ã«ã¯ï¼TA_HLNG ã®æå®ãã§ããï¼TA_HLNGï¼ï¼0x00ï¼ãæå®ãããå ´å
+ã«ã¯é«ç´è¨èªç¨ã®ã¤ã³ã¿ãã§ã¼ã¹ã§çµäºå¦çã«ã¼ãã³ãèµ·åããï¼
+
+VATT_ATR ã«ãã£ã¦è¿½å ãããçµäºå¦çã«ã¼ãã³ã¯ï¼ã·ã¹ãã çµäºå¦çæã«å®
+è¡ãããï¼è©³ããã¯ï¼ã2.12 ã·ã¹ãã çµäºæé ã¨çµäºå¦çã«ã¼ãã³ããåç
+§
+ãããã¨ï¼
+
+3.10 CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
+åç
+§
+
+CPUä¾å¤ãã³ãã©å
+ã§ï¼CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããç¶æ
+ãåç
+§ãããã
+ã®ãµã¼ãã¹ã³ã¼ã«ã¨ãã¦ï¼JSPã«ã¼ãã«ã§ã¯ï¼äºã¤ã®ãµã¼ãã¹ã³ã¼ã«ãç¬èªã«
+ãµãã¼ããã¦ããï¼ãµã¼ãã¹ã³ã¼ã« vxsns_yyy ã¯ï¼CPUä¾å¤ãçºçããå¦çã§ 
+sns_yyy ãå¼ã³åºããå ´åã®çµæãåãåºããã®ã§ï¼CPUä¾å¤ãã³ãã©ã«æ¸¡ã
+ãããã©ã¡ã¼ã¿ p_excinf ããã©ã¡ã¼ã¿ã¨ããï¼
+
+(1) vxsns_ctx                   CPUä¾å¤çºçæã®ã³ã³ãã­ã¹ãã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vxsns_ctx(VP p_excinf);
+
+ããã©ã¡ã¼ã¿ã
+        VP      p_excinf        CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®
+                                å
+é ­çªå°
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           ã³ã³ãã­ã¹ã
+
+ãæ©è½ã
+
+CPUä¾å¤ãçºçããã³ã³ãã­ã¹ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã« TRUEï¼ã¿
+ã¹ã¯ã³ã³ãã­ã¹ãã®å ´åã« FALSE ãè¿ãï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©
+ã«æ¸¡ããã p_excinfãã©ã¡ã¼ã¿ããã®ã¾ã¾æ¸¡ãï¼CPUä¾å¤ãã³ãã©ä»¥å¤ããå¼
+ã³åºããå ´åãï¼p_excinf ãæ­£ããæ¸¡ããªãã£ãå ´åã®æ¯èãã¯ä¿è¨¼ãããª
+ãï¼
+
+(2) vxsns_loc                   CPUä¾å¤çºçæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vxsns_loc(VP p_excinf);
+
+ããã©ã¡ã¼ã¿ã
+        VP      p_excinf        CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®
+                                å
+é ­çªå°
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           CPUã­ãã¯ç¶æ
+
+
+ãæ©è½ã
+
+CPUä¾å¤ãçºçããç¶æ
+ãï¼CPUã­ãã¯ç¶æ
+ã®å ´åã« TRUEï¼CPUã­ãã¯è§£é¤ç¶æ
+
+ã®å ´åã« FALSE ãè¿ãï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã«æ¸¡ããã 
+p_excinfãã©ã¡ã¼ã¿ããã®ã¾ã¾æ¸¡ãï¼CPUä¾å¤ãã³ãã©ä»¥å¤ããå¼ã³åºããå ´
+åãï¼p_excinf ãæ­£ããæ¸¡ããªãã£ãå ´åã®æ¯èãã¯ä¿è¨¼ãããªãï¼
+
+(3) vxsns_dsp                   CPUä¾å¤çºçæã®ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vxsns_dsp(VP p_excinf);
+
+ããã©ã¡ã¼ã¿ã
+        VP      p_excinf        CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®
+                                å
+é ­çªå°
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           ãã£ã¹ãããç¦æ­¢ç¶æ
+
+
+ãæ©è½ã
+
+CPUä¾å¤ãçºçããç¶æ
+ãï¼ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®å ´åã« TRUEï¼ãã£ã¹ãã
+ãè¨±å¯ç¶æ
+ã®å ´åã« FALSE ãè¿ãï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã«æ¸¡ã
+ãã p_excinfãã©ã¡ã¼ã¿ããã®ã¾ã¾æ¸¡ãï¼CPUä¾å¤ãã³ãã©ä»¥å¤ããå¼ã³åºã
+ãå ´åãï¼p_excinf ãæ­£ããæ¸¡ããªãã£ãå ´åã®æ¯èãã¯ä¿è¨¼ãããªãï¼
+
+ãè£è¶³èª¬æã
+
+CPUä¾å¤ãã³ãã©ã®èµ·åã«ãã£ã¦ãã£ã¹ãããç¦æ­¢ï¼è¨±å¯ç¶æ
+ã¯å¤åããï¼CPU
+ä¾å¤ãã³ãã©ä¸­ã§ã¯ãã£ã¹ãããã®ç¦æ­¢ãè¨±å¯ã¯è¡ããªãããï¼vxsns_dsp ã®
+è¿ãå¤ã¯ sns_dsp ã®è¿ãå¤ã«å¸¸ã«ä¸è´ããï¼ãã®ããï¼vxsns_dsp ã¨ 
+sns_dsp ã®å¦çå
+å®¹ã¯åä¸ã¨ãªã£ã¦ããï¼
+
+(4) vxsns_dpn                   CPUä¾å¤çºçæã®ãã£ã¹ãããä¿çç¶æ
+ã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vxsns_dpn(VP p_excinf);
+
+ããã©ã¡ã¼ã¿ã
+        VP      p_excinf        CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®
+                                å
+é ­çªå°
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           ãã£ã¹ãããä¿çç¶æ
+
+
+ãæ©è½ã
+
+CPUä¾å¤ãçºçããç¶æ
+ãï¼ãã£ã¹ãããä¿çç¶æ
+ã®å ´åã« TRUEï¼ããã§ãªã
+å ´åã« FALSE ãè¿ãï¼ããªãã¡ï¼ãã£ã¹ãããã£ãããåªå
+é ä½ãé«ãå¦ç
+ãå®è¡ããã¦ããæï¼CPUã­ãã¯ç¶æ
+ã§ãã£ãæããã³ãã£ã¹ãããç¦æ­¢ç¶æ
+
+ã§ãã£ãæã¯ï¼TRUE ãè¿ãï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã«æ¸¡ããã 
+p_excinfãã©ã¡ã¼ã¿ããã®ã¾ã¾æ¸¡ãï¼CPUä¾å¤ãã³ãã©ä»¥å¤ããå¼ã³åºããå ´
+åãï¼ p_excinf ãæ­£ããæ¸¡ããªãã£ãå ´åã®æ¯èãã¯ä¿è¨¼ãããªãï¼
+
+(5) vxsns_tex                   CPUä¾å¤çºçæã®ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã®åç
+§
+
+ãCè¨èªAPIã
+        BOOL state = vxsns_tex(VP p_excinf);
+
+ããã©ã¡ã¼ã¿ã
+        VP      p_excinf        CPUä¾å¤ã«é¢ããæ
+å ±ãè¨æ¶ãã¦ããé åã®
+                                å
+é ­çªå°
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        BOOL    state           ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+
+
+ãæ©è½ã
+
+CPUä¾å¤ãçºçããæã«å®è¡ç¶æ
+ã§ãã£ãã¿ã¹ã¯ãï¼ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+
+ã®å ´åã« TRUEï¼ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ç¶æ
+ã®å ´åã« FALSE ãè¿ãï¼CPUä¾å¤ã
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãã§çºçãï¼ãã®æã«å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãã£ãå ´åã«
+ãï¼FALSE ãè¿ãï¼p_excinf ã«ã¯ï¼CPUä¾å¤ãã³ãã©ã«æ¸¡ããã p_excinfã
+ã©ã¡ã¼ã¿ããã®ã¾ã¾æ¸¡ãï¼CPUä¾å¤ãã³ãã©ä»¥å¤ããå¼ã³åºããå ´åãï¼
+p_excinf ãæ­£ããæ¸¡ããªãã£ãå ´åã®æ¯èãã¯ä¿è¨¼ãããªãï¼
+
+ãè£è¶³èª¬æã
+
+CPUä¾å¤ãã³ãã©ã®èµ·åã«ãã£ã¦ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ï¼è¨±å¯ç¶æ
+ã¯å¤åããï¼ 
+CPUä¾å¤ãã³ãã©ä¸­ã§ã¯ã¿ã¹ã¯ä¾å¤å¦çã®ç¦æ­¢ãè¨±å¯ã¯è¡ããªãããï¼ 
+vxsns_tex ã®è¿ãå¤ã¯ sns_tex ã®è¿ãå¤ã«å¸¸ã«ä¸è´ããï¼ãã®ããï¼
+vxsns_tex ã¨ sns_tex ã®å¦çå
+å®¹ã¯åä¸ã¨ãªã£ã¦ããï¼
+
+3.11 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+JSPã«ã¼ãã«ã§ã¯ï¼JSPã«ã¼ãã«ä¸ã§åä½ããã¿ã¹ã¯ãJSPã«ã¼ãã«èªèº«ã®æ§è½
+ãè¨æ¸¬ããããã«ï¼ã·ã¹ãã æå»ããç²¾åº¦ã®é«ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãèª­
+ã¿åºãæ©è½ãï¼ã¿ã¼ã²ããä¾å­ã«ãµãã¼ããã¦ããï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»
+ã¯ï¼Î¼ç§åä½ã§è¡¨ç¾ããããï¼å®éã®ç²¾åº¦ã¯ã¿ã¼ã²ããä¾å­ã§ããï¼å
+·ä½çã«
+ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½ã§ã¯ï¼æ¬¡ã®ãã¼ã¿åãç¨ããï¼
+
+        SYSUTIM         æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ï¼ç¬¦å·ç¡ãæ´æ°ï¼
+
+SYSUTIMåã®ãµã¤ãºæ°ã¯ã¿ã¼ã²ããä¾å­ã§ããï¼å
+·ä½çã«ã¯ï¼ã¿ã¼ã²ããæ¯ã®
+ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+(1) vxget_tim                   æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+
+ãCè¨èªAPIã
+        ER ercd = vxget_tim(SYSUTIM *p_sysutim);
+
+ããã©ã¡ã¼ã¿ã
+        ãªã
+
+ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
+        ER      ercd            ã¨ã©ã¼ã³ã¼ã
+        SYSUTIM sysutim         ç¾å¨ã®æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»
+
+ãã¨ã©ã¼ã³ã¼ãã
+        E_CTX           ã³ã³ãã­ã¹ãã¨ã©ã¼
+
+ãæ©è½ã
+
+ç¾å¨ã®æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãèª­ã¿åºãï¼sysutim ã«è¿ãï¼
+
+ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ã¿å¼ã³åºããã¨ãã§ããï¼
+éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããå ´åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+ã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ããã°ï¼CPUã­ãã¯ç¶æ
+ã§ãã£ã¦ãå¼ã³åºãããï¼CPUã­ã
+ã¯ç¶æ
+ãé·æéç¶ç¶ããã¨ï¼ã¿ã¤ãå²è¾¼ã¿ãå
+¥ããªãããã«ã·ã¹ãã æå»ãæ´
+æ°ãããï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãæ­£ããæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãè¿ããªããª
+ãï¼æéæ¸¬å®åºéãç­ãå ´åãé¤ãã¦ã¯ï¼æéæ¸¬å®åºéå
+¨ä½ãCPUã­ãã¯ç¶æ
+
+ã¨ããã®ã¯é©åã§ã¯ãªãï¼
+
+
+ï¼ï¼ã·ã¹ãã ã­ã°æ©è½
+
+ã·ã¹ãã ã­ã°æ©è½ã¯ï¼ã«ã¼ãã«å
+ã§çºçããç°å¸¸äºè±¡ï¼ã¢ãµã¼ã·ã§ã³ã®å¤±æï¼
+ã¨ã©ã¼ã³ã¼ããè¿ããªãã¨ã©ã¼ï¼ãï¼ã·ã¹ãã ã®å¤é¨ã«éç¥ããããã®æ©è½ã§
+ããï¼ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°ï¼ã·ã¹ãã ãµã¼ãã¹ãã¢ããªã±ã¼ã·ã§ã³å
+ã§çº
+çããç°å¸¸äºè±¡ããã¬ã¼ã¹ã­ã°ã«ãï¼åãæ©è½ãå©ç¨ãããã¨ãã§ããï¼
+
+4.1 ã·ã¹ãã ã­ã°æ©è½ã®ä½ç½®ä»ã
+
+ã«ã¼ãã«å
+ã§çºçããç°å¸¸äºè±¡ãã·ã¹ãã ã®å¤é¨ã«éç¥ããããã®æ¹æ³ã¨ãã¦ï¼
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã«åºåããï¼ãã£ã¹ã¯ã«æ¸ãåºããªã©ã®æ¹æ³ãèãã
+ããï¼
+
+ã·ã¹ãã ã­ã°æ©è½ã¯ï¼ã«ã¼ãã«å
+é¨ããå¼ã³åºãããã¨ããè¦³ç¹ããã¯ï¼ã«ã¼
+ãã«ã®ä¸é¨ã¨èããã®ãèªç¶ã§ããï¼ä¸æ¹ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ããã£ã¹
+ã¯ã«ã¢ã¯ã»ã¹ããããã®ãµã¼ãã¹ï¼ããã¤ã¹ãã©ã¤ããªã©ï¼ã¯ã«ã¼ãã«ä¸ã§å
+ä½ããããï¼ããããç¨ããã·ã¹ãã ã­ã°æ©è½ã¯ï¼ã«ã¼ãã«ä¸ã«å®è£
+ãããã·
+ã¹ãã ãµã¼ãã¹ã¨èããæ¹ãèªç¶ã§ï¼ä½ç½®ã¥ããå¾®å¦ã§ããï¼
+
+ããã§JSPã«ã¼ãã«ã§ã¯ï¼ã«ã¼ãã«ã®æ¡å¼µæ©è½ã¨ãã¦ï¼ç°å¸¸äºè±¡ã«é¢ããæ
+å ±
+ããã¬ã¼ã¹ã­ã°æ
+å ±ï¼ãããï¼ã­ã°æ
+å ±ã¨ç·ç§°ããï¼ãï¼ã«ã¼ãã«å
+ã®ãããã¡
+ï¼ãããã­ã°ãããã¡ã¨å¼ã¶ï¼ã«è¨é²ããæ©è½ã¨ï¼ã­ã°ãããã¡ããã­ã°æ
+å ±
+ãèª­ã¿åºãæ©è½ãç¨æããï¼ãããï¼ã·ã¹ãã ã­ã°æ©è½ã¨å¼ã¶ï¼ã­ã°æ
+å ±ãã­
+ã°ãããã¡ããèª­ã¿åºãï¼ããã¤ã¹ã«ã¢ã¯ã»ã¹ãããµã¼ãã¹ãç¨ãã¦å¤é¨ã«åº
+åããæ©è½ã¯ï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¨ãã¦ã«ã¼ãã«ä¸ã«å®ç¾ããï¼
+
+4.2 ã­ã°ãããã¡ã¸ã®è¨é²ã¨ä½ã¬ãã«åºå
+
+ä¸è¿°ããããã«ï¼ã­ã°æ
+å ±ãã·ã¹ãã ã®å¤é¨ã«åºåããããã«ï¼ããã¤ã¹ã«ã¢
+ã¯ã»ã¹ãããµã¼ãã¹ãå¿
+è¦ã«ãªããï¼ãããã®ãµã¼ãã¹ã¯ã«ã¼ãã«ä¸ã§åä½ã
+ã¦ããããï¼ã«ã¼ãã«ã®åä½ãç¶ç¶ã§ããªããããªéå¤§ãªç°å¸¸äºè±¡ãèµ·ãã£ã
+å ´åã«ã¯ï¼ãããã®ãµã¼ãã¹ãä½¿ããã¨ãã§ããªãï¼ã¾ãï¼ãããã®ãµã¼ãã¹
+èªèº«ããããã°ããå ´åã«ãï¼ããã¤ã¹ã«ã¢ã¯ã»ã¹ãããµã¼ãã¹ãä½¿ããã¨ã
+ã§ããªãï¼
+
+ããã§ï¼ã«ã¼ãã«ä¸ã§åä½ãããµã¼ãã¹ãä½¿ããªãå ´åã«ã§ãã­ã°æ
+å ±ãåºå
+ããããã«ï¼ä½ã¬ãã«åºåæ©è½ãç¨æããï¼ä½ã¬ãã«åºåæ©è½ã¯ï¼ã¿ã¼ã²ãã
+ä¾å­ã«ç¨æããä½ã¬ãã«ã®æå­åºåé¢æ°ï¼sys_putcï¼ãç¨ãã¦ã­ã°æ
+å ±ãåºå
+ããæ©è½ã§ããï¼ä½ã¬ãã«ã®æå­åºåé¢æ°ã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã§ç¨æããã
+ã¨ã¨ãã¦ãããï¼æçµè£½åã«çµã¿è¾¼ã¾ããå ´åãªã©ã§ã¯ï¼æå­ãåºåããæ¹æ³
+ããªãç¶æ³ãèããããï¼ãã®ãããªå ´åï¼ä½ã¬ãã«ã®æå­åºåé¢æ°ã«éãã
+ãæå­ã¯ï¼ã¡ã¢ãªä¸ã«æ®ãã¦ãããï¼æ¨ã¦ã¦ãã¾ããããªãï¼
+
+ã­ã°æ
+å ±ãï¼ã­ã°ãããã¡ã¸è¨é²ãããä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåããã
+ã®è¨­å®ã¯ï¼ã«ã¼ãã«ã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«ï¼vmsk_logï¼ã«ãã£ã¦è¡ããã¨ãã§
+ããï¼vmsk_log ã®ä½¿ãæ¹ã«ã¤ãã¦ã¯å¾è¿°ããï¼
+
+ä½ã¬ãã«åºåæ©è½ãç¨ããã¨ï¼ã­ã°ã¡ãã»ã¼ã¸ã®ä½æå¦çï¼printf ç¸å½ã®å¦
+çï¼ã¨ä½ã¬ãã«ã®æå­åºåå¦çãã«ã¼ãã«å
+ã§è¡ãããã«ï¼ã«ã¼ãã«ã®å¿ç­æ§
+ãæªããªããã¨ã«æ³¨æããªããã°ãªããªãï¼ç¹ã«ï¼ä½ã¬ãã«ã®æå­åºåå¦çã¯
+ããã¤ã¹ããã¼ãªã³ã°ããå½¢ã§å®è£
+ããã®ãéå¸¸ã§ï¼ãã®å ´åã«ã¯ï¼ã«ã¼ãã«
+ã®å¿ç­æ§ã¯å®ç¨çã¨è¨ããªãç¨ã«æªããªãï¼
+
+ä¸æ¹ï¼ã«ã¼ãã«ã®åä½ãç¶ç¶ã§ãããããªï¼ãã¾ãéå¤§ã§ãªãï¼äºè±¡ã«ã¤ãã¦
+ã¯ï¼ã­ã°æ
+å ±ãã«ã¼ãã«å
+ã®ã­ã°ãããã¡ã«è¨é²ãï¼è¨é²ããã­ã°æ
+å ±ã®åºå
+ã¯ï¼ããã¤ã¹ã«ã¢ã¯ã»ã¹ãããµã¼ãã¹ãç¨ãã¦åä½ããã·ã¹ãã ã­ã°ã¿ã¹ã¯ã«
+ä»»ããï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ã«ã¼ãã«ä¸ã§åä½ããã¿ã¹ã¯ã§ããï¼ã«ã¼ãã«
+ã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«ï¼vrea_logï¼ãç¨ãã¦ï¼ã­ã°ãããã¡ããã­ã°æ
+å ±ãèª­
+ã¿åºãï¼JSPã«ã¼ãã«ã®æ¨æºé
+å¸ã­ããã«ã¯ï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®ä¸ä¾ã¨ã
+ã¦ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã«ã­ã°æ
+å ±ãæå­åã®å½¢ã§åºåããã·ã¹ãã ã­ã°
+ã¿ã¹ã¯ãå«ãã¦ããï¼
+
+4.3 ã­ã°æ
+å ±ã®ç¨®å¥
+
+JSPã«ã¼ãã«ã®ã·ã¹ãã ã­ã°æ©è½ã¯ï¼ã­ã°æ
+å ±ã«ä»¥ä¸ã®ç¨®å¥ãè¨­ãã¦ããï¼
+
+        LOG_TYPE_INH            å²è¾¼ã¿ãã³ãã©
+        LOG_TYPE_ISR            å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+        LOG_TYPE_CYC            å¨æãã³ãã©
+        LOG_TYPE_EXC            CPUä¾å¤ãã³ãã©
+        LOG_TYPE_TEX            ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+        LOG_TYPE_TSKSTAT        ã¿ã¹ã¯ç¶æ
+å¤å
+        LOG_TYPE_DSP            ãã£ã¹ãããã£
+        LOG_TYPE_SVC            ãµã¼ãã¹ã³ã¼ã«
+        LOG_TYPE_COMMENT        ã³ã¡ã³ã
+        LOG_TYPE_ASSERT         ã¢ãµã¼ã·ã§ã³ã®å¤±æ
+
+ãããã®ç¨®å¥ã¯ï¼ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ãåèã«å®ãã¦ããï¼
+ãã ãï¼ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ã«ããããã¬ã¼ã¹ã­ã°å½¢å¼ã¯ï¼
+RIMï¼RTOS Interface Moduleï¼ããããã°ãã¼ã«ã«æ¸¡ãå ´åã®å½¢å¼ãå®ããã
+ã®ã§ããï¼ã«ã¼ãã«ãåºåããå½¢å¼ã¨ä¸è´ãã¦ããå¿
+è¦ã¯ãªãï¼RIM ãå¤æã
+ãã°ããããï¼ï¼å®éï¼ä¸ã®ç¨®å¥ã®ä¸­ã§ï¼LOG_TYPE_CYC ã¨ LOG_TYPE_ASSERT 
+ã¯ï¼ãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ã¨ä¸è´ãã¦ããªãï¼
+
+ã­ã°æ
+å ±ã®ç¨®å¥ã®ä¸­ã§ï¼LOG_TYPE_COMMENT ã¨ LOG_TYPE_ASSERT ä»¥å¤ã¯ã«ã¼ã
+ã«ã®ãã¬ã¼ã¹ã­ã°ã®ããã®ãã®ã§ï¼ã©ã®ããã«ç¨ãããã¯ã¿ã¼ã²ããä¾å­é¨ã«
+ä»»ããã¦ããï¼4.5ç¯åç
+§ï¼ï¼
+
+4.4 ã­ã°æ
+å ±ã®éè¦åº¦
+
+JSPã«ã¼ãã«ã®ã·ã¹ãã ã­ã°æ©è½ã¯ï¼ã­ã°æ
+å ±ãåºåããéã«æå®ããéè¦åº¦
+ã«åºã¥ãã¦ï¼å®éã«åºåããã­ã°æ
+å ±ãåçã«è¨­å®ãããã¨ãã§ããï¼ããã¯ï¼ 
+UNIX ã®ã·ã¹ãã ã­ã°æ©è½ãã¾ã­ããã®ã§ï¼ã­ã°ã®éè¦åº¦ã®ç¨®é¡ãæå®æ¹æ³ã
+UNIX ã® API ãåèã«ãã¦ããï¼ã¾ãï¼ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåããã­
+ã°æ
+å ±ãï¼éè¦åº¦ã«åºã¥ãã¦åçã«è¨­å®ãããã¨ãã§ããï¼
+
+å
+·ä½çã«ã¯ï¼ã­ã°ã®éè¦åº¦ã¨ãã¦æ¬¡ã®8æ®µéãç¨æãã¦ããï¼
+
+        LOG_EMERG       ã·ã¹ãã ãã·ã£ãããã¦ã³ãã¹ãã¨ã©ã¼
+        LOG_ALERT
+        LOG_CRIT
+        LOG_ERROR       éè¦æ§ã®ä½ãã·ã¹ãã ã¨ã©ã¼
+        LOG_WARNING     è­¦åã¡ãã»ã¼ã¸ï¼ã·ã¹ãã ã¯å®å
+¨ã«ç¶ç¶åä½ã§ãã
+        LOG_NOTICE
+        LOG_INFO
+        LOG_DEBUG       ãããã°ã®ããã®ã¡ãã»ã¼ã¸
+
+ãªãï¼ã¢ãµã¼ã·ã§ã³ã®å¤±æã¯ï¼LOG_EMERG ã§åºåããï¼ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­
+ã°ã¯ï¼LOG_DEBUG ã§åºåããã®ãæ¨æºã¨ããï¼ã¿ã¼ã²ããä¾å­ï¼ï¼
+
+ã©ã®éè¦åº¦ã®ã­ã°æ
+å ±ãã­ã°ãããã¡ã«è¨é²ãããã¨ï¼ã©ã®éè¦åº¦ã®ã­ã°æ
+å ±
+ãä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåãããã¯ï¼ã«ã¼ãã«ã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«
+ï¼vmsk_logï¼ã«ãã£ã¦è¨­å®ãããã¨ãã§ããï¼vmsk_log ã®åãã©ã¡ã¼ã¿ã¯ï¼
+æå®ããã­ã°æ
+å ±ã®éåãè¡¨ãããããããã§ããï¼ã¾ãï¼ãããããããä½
+ãããã®ãã¯ã­ã¨ãã¦ï¼LOG_MASK ã¨ LOG_UPTO ãç¨æãã¦ããï¼
+
+4.5 ãã¬ã¼ã¹ã­ã°æ©è½
+
+JSPã«ã¼ãã«ã¯ï¼ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°ãåå¾ããããã®åºæ¬çãªä»çµã¿ã
+æã£ã¦ãããï¼ãã¬ã¼ã¹ã­ã°ã®å®éã®åå¾æ¹æ³ã¯ã¿ã¼ã²ããä¾å­ã¨ãªãï¼ã«ã¼
+ãã«ã®ãã¬ã¼ã¹ã­ã°ã®åå¾ã«ï¼ã·ã¹ãã ã­ã°æ©è½ãä½¿ãã®ãé¸æè¢ã®1ã¤ã§ã
+ãï¼ãã ãï¼ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°ãã·ã¹ãã ã­ã°ã¿ã¹ã¯ãç¨ãã¦åãåºã
+æ¹æ³ã¯èãã¦ããªãï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ãåä½ãããã¨ã«ãããã¬ã¼ã¹ã­ã°
+ãçæããï¼åãåºãããå¤ãã®ã­ã°æ
+å ±ãçæãããå¯è½æ§ãããããï¼ï¼
+
+4.6 ã·ã¹ãã ã­ã°æ©è½ã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«
+
+ã·ã¹ãã ã­ã°æ©è½ã®æä¾ããæ¡å¼µãµã¼ãã¹ã³ã¼ã«ã¯æ¬¡ã®éãã§ããï¼
+
+(1) ER vwri_log(UINT prio, SYSLOG *p_log)
+
+ã·ã¹ãã ã­ã°æ©è½ã«ï¼éè¦åº¦ prio ã§ã­ã°æ
+å ±ãåºåããï¼ã­ã°ãããã¡ã¸è¨
+é²ãããä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåããï¼ï¼SYSLOG ã¯ï¼ã­ã°æ
+å ±ãæ ¼ç´
+ããããã®ãã¼ã¿åï¼æ§é ä½ï¼ã§ï¼ãã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«ã«ã¯ï¼ããã¸ã®ã
+ã¤ã³ã¿ãæ¸¡ãï¼
+
+(2) ER_UINT vrea_log(SYSLOG *p_log)
+
+ã­ã°ãããã¡ããã­ã°æ
+å ±ã1ã¤åãåºãï¼ã­ã°ãããã¡ãç©ºã®æã¯ E_OBJï¼
+ããã§ãªãå ´åã¯ï¼å¤±ãããã­ã°æ
+å ±ã®æ°ï¼ã­ã°æ
+å ±ãå¤±ããã¦ããªãå ´åã¯ 
+0ï¼ãè¿ãï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ãç¨ãããã¨ãæ³å®ãã¦ããï¼
+
+(3) ER vmsk_log(UINT logmask, UINT lowmask)
+
+ã­ã°ãããã¡ã«è¨é²ãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ã®ããããã¹ã¯ï¼logmaskï¼ã¨ï¼
+ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ã®ããããã¹ã¯
+ï¼lowmaskï¼ãè¨­å®ããï¼
+
+4.7 ã·ã¹ãã ã­ã°æ©è½ã®ããã®ã©ã¤ãã©ãªé¢æ°ã¨ãã¯ã­
+
+ã·ã¹ãã ã­ã°æ©è½ã¯ï¼ä¸è¨ã®ãµã¼ãã¹ã³ã¼ã«ã«å ãã¦ï¼æ¬¡ã®ã©ã¤ãã©ãªé¢æ°ã¨
+ãã¯ã­ãæä¾ããï¼
+
+(1) void _syslog_n(UINT prio, UINT type, VP_INT arg1, ..., VP_INT argn)
+    â» n ã¯ 0ã6 ã®ããããï¼
+
+ã­ã°ç¨®å¥ã typeï¼ãã©ã¡ã¼ã¿ã arg1ãargn ã®ã­ã°æ
+å ±ãï¼éè¦åº¦ prio ã§
+åºåããããã®ã©ã¤ãã©ãªé¢æ°ï¼
+
+(2) void syslog_n(UINT prio, const char *format, arg1, ..., argn)
+    â» n ã¯ 0ã5 ã®ããããï¼
+
+format æå­åããã³ããã«ç¶ãå¼æ°ããä½æãããã³ã¡ã³ãï¼ã­ã°ç¨®å¥ã 
+LOG_TYPE_COMMENT ã®ã­ã°æ
+å ±ï¼ãï¼éè¦åº¦ prio ã§åºåããããã®ãã¯ã­ï¼
+
+format ã¯ã¡ãã»ã¼ã¸ã®ãã©ã¼ãããè¨è¿°ï¼arg1ãargn ã¯ãã©ã¼ãããè¨è¿°ä¸­
+ã§åç
+§ãããå¤ã§ï¼printf ã®ãã©ã¼ãããè¨è¿°ã®ãµãã»ããã¨ãªã£ã¦ããï¼
+arg1ãargn ã¯ VP_INTåã«ã­ã£ã¹ããããããï¼VP_INTåã«åå¤æã§ããä»»æ
+ã®åãæ¸¡ããã¨ãã§ãï¼åãã§ãã¯ã¯ãããªãï¼format ããã³ arg1ãargn 
+ã«ã¯ï¼æ¬¡ã®å¶éãããï¼
+
+ã»format ã®ãã©ã¼ãããè¨è¿°ã¯ï¼ãã®ãã¯ã­ããæ»ã£ãå¾ãå¤åãã¦ã¯ãªã
+ãªãï¼å®æ°æå­åãæ¸¡ããã¨ãæ³å®ãã¦ããï¼
+
+ã»format ä¸­ã«ä½¿ãããã©ã¼ãããæå®ã¯æ¬¡ã®éãï¼
+
+    %d    å¼æ°ãsigned intåã¨ã¿ãªãï¼10é²æ°ã§è¡¨ç¤º
+    %u    å¼æ°ãunsigned intåã¨ã¿ãªãï¼10é²æ°ã§è¡¨ç¤º
+    %x    å¼æ°ãunsigned intåã¨ã¿ãªãï¼16é²æ°ï¼è±æå­ã¯å°æå­ï¼ã§è¡¨ç¤º
+    %X    å¼æ°ãunsigned intåã¨ã¿ãªãï¼16é²æ°ï¼è±æå­ã¯å¤§æå­ï¼ã§è¡¨ç¤º
+    %p    å¼æ°ããã¤ã³ã¿ã¨ã¿ãªãï¼16é²æ°ï¼è±æå­ã¯å°æå­ï¼ã§è¡¨ç¤º
+    %c    å¼æ°ãæå­ã³ã¼ãã¨ã¿ãªãï¼æå­ãè¡¨ç¤º
+    %s    å¼æ°ãæå­åãç¤ºããã¤ã³ã¿ã¨ã¿ãªãï¼æå­åãè¡¨ç¤º
+    %%    '%' ãè¡¨ç¤ºï¼å¼æ°ã¯åããªãï¼
+
+%d, %u, %x, %X ã«ããã¦ã¯ï¼'%' ã®ç´å¾ã«è¡¨ç¤ºæ¡æ°ãæå®ãã10é²æ°å¤ãè¨è¿°
+ãããã¨ãã§ããï¼ãã®å ´åï¼è¡¨ç¤ºãã¹ãæå­åãæå®ããæ¡æ°ã«æºããªãå ´
+åã«ã¯ï¼æå®ããæ¡æ°å
+ã«å³è©°ãã§è¡¨ç¤ºããï¼10é²æ°å¤ã '0' ã§å§ã¾ãå ´å
+ã«ã¯ï¼ãã®éã« '0' ãåããï¼
+
+ã¾ãï¼VP_INTåã®ãµã¤ãºã longåã®ãµã¤ãºä»¥ä¸ã§ããç°å¢ã«ããã¦ã¯ï¼æ¬¡ã®
+ãã©ã¼ãããæå®ãä½¿ç¨ãããã¨ãã§ããï¼ãã®ä»ã®ãã©ã¼ãããæå®ã« 'l' 
+ãä»å ããå ´åã«ã¯ç¡è¦ããï¼%lcã¨%lsã«ã¯å¯¾å¿ãã¦ããªãï¼ï¼
+
+    %ld   å¼æ°ãsigned longåã¨ã¿ãªãï¼10é²æ°ã§è¡¨ç¤º
+    %lu   å¼æ°ãunsigned longåã¨ã¿ãªãï¼10é²æ°ã§è¡¨ç¤º
+    %lx   å¼æ°ãunsigned longåã¨ã¿ãªãï¼16é²æ°ï¼è±æå­ã¯å°æå­ï¼ã§è¡¨ç¤º
+    %lX   å¼æ°ãunsigned longåã¨ã¿ãªãï¼16é²æ°ï¼è±æå­ã¯å¤§æå­ï¼ã§è¡¨ç¤º
+
+ã»arg1ãargn ã«ãã¤ã³ã¿ãæ¸¡ãå ´åï¼%s ã«å¯¾å¿ããå¼æ°ã®å ´åï¼ã«ï¼ãã¤ã³
+ã¿ã®æããã¼ã¿ã¯ï¼ãã®ãã¯ã­ããæ»ã£ãå¾ãå¤åãã¦ã¯ãªããªãï¼å®æ°æå­
+åãæ¸¡ããã¨ãæ³å®ãã¦ããï¼
+
+(3) void syslog(UINT prio, const char *format, ...)
+
+format æå­åããã³ããã«ç¶ãå¼æ°ããä½æãããã¡ãã»ã¼ã¸ãï¼éè¦åº¦ 
+prio ã§ã­ã°æ
+å ±ã¨ãã¦åºåããããã®ã©ã¤ãã©ãªé¢æ°ã§ï¼å¼æ°ã®æ°ãå¯å¤ã«
+ãããã®ï¼format ã«ç¶ãå¼æ°ã¯æå¤§5åã¾ã§ï¼format ããã³ããã«ç¶ãå¼æ°
+ã«ã¯ï¼syslog_n ã¨åæ§ã®å¶éãããï¼
+
+ãã®ã©ã¤ãã©ãªé¢æ°ã¯ï¼å¯å¤æ°å¼æ°ãå¦çããããã«å
+é¨ã§æå­åãã¹ã­ã£ã³
+ããï¼ãã®ããï¼å®è¡æéãé·ããªãå¯è½æ§ãããï¼å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã§å¼ã³åº
+ãã¹ãã§ã¯ãªãï¼ä¸»ã«ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ãç¨ãããã¨ãæ³å®ãã¦ã
+ãï¼ãã®ããï¼ãã®ã©ã¤ãã©ãªé¢æ°ã®ã½ã¼ã¹ãã¡ã¤ã«ã¯ï¼ãµãã¼ãã©ã¤ãã©ãª
+ã®ãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
+
+(4) UINT LOG_MASK(UINT prio)
+
+éè¦åº¦ prio ã®ã¿ã»ããããããããããããä½ããã¯ã­ï¼vmsk_log ã«æ¸¡ã
+å¼æ°ãä½ãããã«ç¨ããï¼
+
+(5) UINT LOG_UPTO(UINT prio)
+
+éè¦åº¦ prio ä»¥ä¸ã®éè¦åº¦ããã¹ã¦ã»ããããããããããããä½ããã¯ã­ï¼ 
+vmsk_log ã«æ¸¡ãå¼æ°ãä½ãããã«ç¨ããï¼
+
+(6) void syslog_printf(const char *format, VP_INT *args, void (*putc)(char))
+(7) void syslog_print(SYSLOG *p_sys, void (*putc)(char))
+(8) void syslog_output(void (*putc)(char))
+
+ã­ã°æ
+å ±ããã©ã¼ãããåºåããããã®ã©ã¤ãã©ãªé¢æ°ï¼syslog_printf ã¯æ¸¡
+ããããã©ã¼ãããæå­åã¨å¼æ°ãï¼syslog_print ã¯æ¸¡ãããã­ã°æ
+å ±ãï¼
+syslog_output ã¯ã­ã°ãããã¡ã«æ ¼ç´ãããã­ã°æ
+å ±ããã©ã¼ãããåºåããï¼
+
+ã·ã¹ãã ã­ã°ã¿ã¹ã¯ãç¨ãããã¨ãæ³å®ãã¦ããããï¼ãã®ã©ã¤ãã©ãªé¢æ°ã®
+ã½ã¼ã¹ãã¡ã¤ã«ã¯ãµãã¼ãã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼ãã ãï¼
+ä½ã¬ãã«åºåãè¡ãããã«ï¼ã·ã¹ãã ã­ã°æ©è½å
+é¨ã§ãç¨ãã¦ããï¼
+
+4.8 ã·ã¹ãã ã­ã°æ©è½ã®è¨­å®æ¹æ³
+
+JSPã«ã¼ãã«ã®ã·ã¹ãã ã­ã°æ©è½ã®æ³å®ããã¦ããè¨­å®æ¹æ³ã¯ï¼ä»¥ä¸ã®éãã§
+ããï¼
+
+(a) éå¤§ãªç°å¸¸äºè±¡ãç¤ºãã­ã°æ
+å ±ã¯ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåãï¼ãã
+ã§ãªãã­ã°æ
+å ±ã®åºåã¯ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã«ä»»ããï¼
+
+ã­ã°ãããã¡ã«è¨é²ããã­ã°æ
+å ±ã®éè¦åº¦ã¨ï¼ä½ã¬ãã«åºåãç¨ãã¦åºåãã
+ã­ã°æ
+å ±ã®éè¦åº¦ãé©åã«è¨­å®ããï¼ã¾ãï¼ã­ã°ãããã¡ããã­ã°æ
+å ±ãèª­ã¿
+åºãã¦å¤é¨ã¸éç¥ããã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¨ï¼ä½ã¬ãã«ã®æå­åºåé¢æ°ãç¨æ
+ããï¼
+
+(b) ãã¹ã¦ã®ã­ã°æ
+å ±ãï¼ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåããï¼
+
+å¿
+è¦ãªã­ã°æ
+å ±ã¯ãã¹ã¦ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåããããè¨­å®
+ï¼vmsk_log ã®ç¬¬1ãã©ã¡ã¼ã¿ã 0 ã«è¨­å®ï¼ããï¼ã¾ãï¼ä½ã¬ãã«ã®æå­åºå
+é¢æ°ãç¨æããï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ä¸è¦ï¼
+
+(c) ã­ã°æ
+å ±ã¯ã¡ã¢ãªä¸ã«è¨é²ããã ãã§ï¼ã·ã¹ãã å¤é¨ã«ã¯åºåããªãï¼
+
+å¿
+è¦ãªã­ã°æ
+å ±ã¯ãã¹ã¦ã­ã°ãããã¡ã¸è¨é²ããããã«è¨­å®ï¼vmsk_log ã®ç¬¬2
+ãã©ã¡ã¼ã¿ã 0 ã«è¨­å®ï¼ããï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ä¸è¦ï¼
+
+(d) ã­ã°æ
+å ±ã¯è¨é²ãåºåãããªãï¼
+
+ãããã®ã­ã°æ
+å ±ãè¨é²ï¼åºåããªãããã«è¨­å®ï¼vmsk_log ã®ä¸¡ãã©ã¡ã¼ã¿
+ã¨ãã« 0 ã«è¨­å®ï¼ããï¼
+
+å¥ã®æ¹æ³ã¨ãã¦ï¼OMIT_SYSLOG ãå®ç¾©ãã¦ã³ã³ãã¤ã«ãããã¨ã§ï¼ã·ã¹ãã ã­
+ã°æ©è½ãã«ã¼ãã«ããåãå¤ãï¼ã«ã¼ãã«ã®ã³ã¼ããµã¤ãºãå°ãããããã¨ã
+ã§ããï¼ãã ãï¼ã¢ããªã±ã¼ã·ã§ã³ãã syslogï¼syslog_printfï¼syslog_printï¼
+syslog_output ã®åé¢æ°ãå¼ã³åºãã¦ããå ´åï¼ãããã®é¢æ°ã®ã³ã¼ãã¯å¤ã
+ãªãï¼ã¾ãï¼ã«ã¼ãã«ããã®ã­ã°æ
+å ±ã¯è¨é²ï¼åºåããªããï¼ã¢ããªã±ã¼ã·ã§
+ã³ããã®ã­ã°æ
+å ±ã¯è¨é²ï¼åºåãããå ´åã«ã¯ï¼ã«ã¼ãã«ã®ã¿ OMIT_SYSLOG 
+ãå®ç¾©ãã¦ã³ã³ãã¤ã«ããã°ããï¼ãã®å ´åï¼ã·ã¹ãã ã­ã°æ©è½ã®åæåé¢æ°
+ï¼_kernel_syslog_initializeï¼ã¨çµäºå¦çé¢æ°ï¼_kernel_syslog_teminateï¼
+ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ããå¼ã³åºãå¿
+è¦ãããï¼
+
+ãªãï¼(b)ã(c) ã®è¨­å®ã«åºå®ãã¦ä½¿ç¨ããå ´åã«ãï¼ã«ã¼ãã«å
+ã®ä¸é¨ã®ã³ã¼
+ããä¸è¦ã«ãªãï¼ã³ã¼ããµã¤ãºãå°ããã§ããä½å°ããããï¼ç°¡æãªæ¹æ³ã¯ç¨
+æãã¦ããªãï¼
+
+
+ï¼ï¼ã·ã¹ãã ãµã¼ãã¹
+
+ãã®ç¯ã§ã¯ï¼JSPã«ã¼ãã«ããµãã¼ããã¦ããã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤
+ï¼SILï¼ã¨ï¼JSPã«ã¼ãã«ãæ¨æºçã«åä½ããããã©ã¤ãããã³ã·ã¹ãã ã¿ã¹ã¯
+ã«ã¤ãã¦èª¬æããï¼
+
+5.1 ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼
+
+JSPã«ã¼ãã«ã¯ï¼ITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ã®ä¸é¨åã¨ãã¦æ¤è¨
+ããã¦ããã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã®ä¸­ã§ï¼ä»¥ä¸ã«æããæ©è½
+ããµãã¼ããã¦ããï¼SILãç¨ãããã­ã°ã©ã ããã¯ï¼t_services.hã«ä»£ãã¦ï¼
+s_services.hãã¤ã³ã¯ã«ã¼ãããï¼
+
+ITRONããã¤ã¹ãã©ã¤ãè¨­è¨ã¬ã¤ãã©ã¤ã³ã§ã¯ï¼ããã¤ã¹ãã©ã¤ãã®ä¸­ã§ï¼SIL
+ãéãã¦ç´æ¥ããã¤ã¹ã«ã¢ã¯ã»ã¹ããã¢ã¸ã¥ã¼ã«ï¼PDICï¼ã¨ï¼ã«ã¼ãã«ã®æ©è½
+ãç¨ããã¢ã¸ã¥ã¼ã«ï¼GDICï¼ãåé¢ãããã¨ã«ãã¦ããï¼ããªãã¡ï¼PDICã¯
+SILãç¨ãããã«ã¼ãã«ã®æ©è½ã¯ç¨ããï¼GDICã¯ã«ã¼ãã«ã®æ©è½ã¯ç¨ãããSIL
+ãç¨ãã¦ã¯ãªããªãï¼ãã®ããï¼s_services.hã«ã¯ï¼ã«ã¼ãã«ãç¨ããããã®
+å®£è¨ãå®ç¾©ã¯å«ã¾ãã¦ããªãï¼
+
+5.1.1 å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+
+ããã¤ã¹ãæ±ããã­ã°ã©ã ã®ä¸­ã§ã¯ï¼ãã¹ã¦ã®å²è¾¼ã¿ï¼NMIãé¤ãï¼ä»¥ä¸åãï¼
+ãç¦æ­¢ãããå ´åãããï¼Î¼ITRON4.0ä»æ§ã®CPUã­ãã¯ç¶æ
+ã¯ï¼ã«ã¼ãã«ã®ç®¡
+çå¤ã®å²è¾¼ã¿ï¼NMIä»¥å¤ã«ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ããããã¯ï¼JSPã«ã¼ãã«
+ã§ã¯ã¿ã¼ã²ããä¾å­ï¼ãç¦æ­¢ããã¨ã¯éããï¼ãã®ãããªå ´åã«ç¨ããã®ã¯é©
+åã§ãªãï¼
+
+ããã§ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããç¶æ
+ãå²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨å¼ã³ï¼SILã§ã¯
+å²è¾¼ã¿ã­ãã¯ç¶æ
+ãå¶å¾¡ããããã®ä»¥ä¸ã®æ©è½ãç¨æãã¦ããï¼
+
+(1) SIL_PRE_LOC
+
+å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡ã«å¿
+è¦ãªå¤æ°ãå®£è¨ãï¼ãããåæåãããã¯ã­ï¼ã
+ã®ãã¯ã­ãè¨è¿°ããæç¹ã§ï¼å²è¾¼ã¿ã®ç¦æ­¢ç¶æ
+ãè¨é²ããï¼SIL_LOC_INTï¼
+SIL_UNL_INTãç¨ããé¢æ°ï¼ãã­ãã¯ï¼ã®å
+é ­ã®å¤æ°å®£è¨é¨ã«è¨è¿°ããªããã°
+ãªããªãï¼
+
+(2) SIL_LOC_INT()
+
+ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ãï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ã«ç§»è¡ããï¼
+
+(3) SIL_UNL_INT()
+
+SIL_PRE_LOCãè¨è¿°ããæç¹ã®ç¶æ
+ã«æ»ãï¼
+
+å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡æ©è½ã®ä½¿ç¨ä¾ã¯æ¬¡ã®éãï¼
+
+        {
+                SIL_PRE_LOC;
+
+                SIL_LOC_INT();
+                ãã®éã¯ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããã
+                ãã®éã«ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã¦ã¯ãªããªã
+                SIL_UNL_INT();
+        }
+
+ãªãï¼JSPã«ã¼ãã«èªèº«ã¯å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¯ç®¡çãã¦ããªãããï¼å²è¾¼ã­ã
+ã¯ç¶æ
+ã§ã¯ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã¦ã¯ãªããªãï¼å¼ã³åºããå ´åã®åä½ã¯
+ä¿è¨¼ãããªãï¼ï¼
+
+5.1.2 å¾®å°æéå¾
+ã¡
+
+ããã¤ã¹ãã¢ã¯ã»ã¹ããéã«ï¼å¾®å°ãªæéå¾
+ã¡ãå
+¥ããªããã°ãªããªãå ´åã
+ããï¼ãã®ãããªå ´åã«ï¼nopãããã¤ãå
+¥ãããªã©ã®æ¹æ³ã§å¯¾å¿ããã¨ï¼ã
+ã¼ã¿ããªãã£ãæªããªãï¼ããã§SILã§ã¯ï¼å¾®å°ãªæéå¾
+ã¡ãè¡ãããã®æ©è½
+ãç¨æãã¦ããï¼
+
+(1) void sil_dly_nse(UINT dlytim)
+
+dlytimã§æå®ãããä»¥ä¸ã®æéï¼åä½ã¯ããç§ï¼ï¼ã«ã¼ããªã©ã«ãã£ã¦å¾
+ã¤ï¼
+æå®ããå¤ã«ãã£ã¦ã¯ï¼æå®ããæéãããããªãé·ãå¾
+ã¤å ´åãããã®ã§æ³¨
+æãããã¨ï¼
+
+5.1.3 ã¨ã³ãã£ã¢ã³
+
+ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³ãç¥ãããã®ãã¯ã­ã¨ãã¦ï¼ä»¥ä¸ã®ãã¯ã­ãå®ç¾©ã
+ã¦ããï¼
+
+(1) SIL_ENDIAN
+
+ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯SIL_ENDIAN_LITTLEï¼ï¼0ï¼ï¼ããã°ã¨ã³ãã£
+ã¢ã³ãã­ã»ããµã§ã¯SIL_ENDIAN_BIGï¼ï¼1ï¼ã«ãã¯ã­å®ç¾©ãããï¼
+
+5.1.4 ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
+
+ã¡ã¢ãªç©ºéã«ãããã³ã°ãããããã¤ã¹ã¬ã¸ã¹ã¿ãï¼ããã¤ã¹ã¨ã®å
+±æã¡ã¢ãª
+ãã¢ã¯ã»ã¹ããããã«ï¼ä»¥ä¸ã®é¢æ°ãç¨æãã¦ããï¼
+
+(1) VB sil_reb_mem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼8ãããåä½ã§èª­ãã å¤ãè¿ãï¼
+
+(2) void sil_wrb_mem(VP mem, VB data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã8ãããåä½ã§æ¸ãè¾¼ãï¼
+
+(3) VH sil_reh_mem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼16ãããåä½ã§èª­ãã å¤ãè¿ãï¼
+
+(4) void sil_wrh_mem(VP mem, VH data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã16ãããåä½ã§æ¸ãè¾¼ãï¼
+
+(5) VH sil_reh_lem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼16ãããåä½ã§ãªãã«ã¨ã³ãã£ã¢ã³ã§èª­ãã 
+å¤ãè¿ãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_reh_memã¨ä¸è´ããï¼
+
+(6) void sil_wrh_lem(VP mem, VH data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã16ãããåä½ã§ãªãã«ã¨
+ã³ãã£ã¢ã³ã§æ¸ãè¾¼ãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_wrh_memã¨
+ä¸è´ããï¼
+
+(7) VH sil_reh_bem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼16ãããåä½ã§ããã°ã¨ã³ãã£ã¢ã³ã§èª­ãã 
+å¤ãè¿ãï¼ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_reh_memã¨ä¸è´ããï¼
+
+(8) void sil_wrh_bem(VP mem, VH data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã16ãããåä½ã§ããã°ã¨
+ã³ãã£ã¢ã³ã§æ¸ãè¾¼ãï¼ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_wrh_memã¨
+ä¸è´ããï¼
+
+(9) VW sil_rew_mem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼32ãããåä½ã§èª­ãã å¤ãè¿ãï¼
+
+(10) void sil_wrw_mem(VP mem, VW data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã32ãããåä½ã§æ¸ãè¾¼ãï¼
+
+(11) VW sil_rew_lem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼32ãããåä½ã§ãªãã«ã¨ã³ãã£ã¢ã³ã§èª­ãã 
+å¤ãè¿ãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_rew_memã¨ä¸è´ããï¼
+
+(12) void sil_wrw_lem(VP mem, VW data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã32ãããåä½ã§ãªãã«ã¨
+ã³ãã£ã¢ã³ã§æ¸ãè¾¼ãï¼ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_wrw_memã¨
+ä¸è´ããï¼
+
+(13) VW sil_rew_bem(VP mem)
+
+memã§æå®ãããã¢ãã¬ã¹ããï¼32ãããåä½ã§ããã°ã¨ã³ãã£ã¢ã³ã§èª­ãã 
+å¤ãè¿ãï¼ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_rew_memã¨ä¸è´ããï¼
+
+(14) void sil_wrw_bem(VP mem, VW data)
+
+memã§æå®ãããã¢ãã¬ã¹ã«ï¼dataã§æå®ãããå¤ã32ãããåä½ã§ããã°ã¨
+ã³ãã£ã¢ã³ã§æ¸ãè¾¼ãï¼ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµã§ã¯ï¼sil_wrw_memã¨
+ä¸è´ããï¼
+
+ãªãï¼JSPã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾å­é¨ã§ã¯ï¼I/Oç©ºéã«ã¢ã¯ã»ã¹ããããã®
+é¢æ°ãç¨æãã¦ããªããï¼ã¿ã¼ã²ããä¾å­é¨ã§ãµãã¼ããããã¨ã¯å¯è½ã§ããï¼
+è©³ããã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+5.2 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã¯ï¼ãã¼ãã¦ã§ã¢ã¿ã¤ããç¨ãã¦å¨æçã«å²è¾¼ã¿ã
+çºçããï¼isig_timãå¼ã³åºãã¦ã«ã¼ãã«ã«ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ããï¼ã·ã¹
+ãã ã¯ã­ãã¯ãã©ã¤ãã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«
+timer.cfgãã¤ã³ã¯ã«ã¼ããããã¨ã§ï¼ã·ã¹ãã ã«çµã¿è¾¼ããã¨ãã§ããï¼
+
+5.2.1 ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã®å
+é¨æ§æ
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã¯ï¼ã¿ã¤ãã®èµ·åå¦çï¼ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ï¼ã¿
+ã¤ãã®åæ­¢å¦çã§æ§æãããï¼
+
+(1) void timer_initialize(VP_INT exinf)
+
+ã¿ã¤ãã®èµ·åå¦çï¼ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãã
+ãï¼ã«ã¼ãã«ã«åæåã«ã¼ãã³ã¨ãã¦ç»é²ããï¼exinfã¯ç¡è¦ããï¼
+
+(2) void timer_handler()
+
+ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ï¼ã¿ã¤ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¾ï¼isig_timãå¼ã³åº
+ãã¦ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ããï¼ã«ã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ã¨ãã¦ç»é²ããï¼
+
+(3) void timer_terminate(VP_INT exinf)
+
+ã¿ã¤ãã®åæ­¢å¦çï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãåæ­¢ãããï¼ã«ã¼ãã«ã«çµäº
+å¦çã«ã¼ãã³ã¨ãã¦ç»é²ããï¼exinf ã¯ç¡è¦ããï¼
+
+5.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ã·ãªã¢ã«ãã¼ããæ±ãããã®ãã©ã¤ãã§
+ããï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+ãã¡ã¤ã«ã«serial.cfgãã¤ã³ã¯ã«ã¼ããããã¨ã§ï¼ã·ã¹ãã ã«çµã¿è¾¼ããã¨ã
+ã§ããï¼
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼ãã¼ãæ¯ã«ã»ããã©ã2åãã¤ä½¿ç¨ããï¼
+ã»ããã©ãçæããéçAPIã¯ï¼serial.cfgã«å«ã¾ãã¦ããï¼
+
+NEWLIBãGLIBCãªã©ã®æ¨æºCã©ã¤ãã©ãªãä½¿ç¨ããå ´åã«ã¯ï¼æ¨æºCã©ã¤ãã©ãª
+ã®ä½ã¬ãã«å
+¥åºåã«ã¼ãã³ãã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããå¼ã³åºããã®
+ã«ãããã¨ã§ï¼ã¿ã¹ã¯ã®æ¨æºå
+¥åºåãã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãçµç±ã«
+åãæ¿ãããã¨ãã§ããï¼å
+·ä½çãªæ¹æ³ã¯ï¼ç¨ããæ¨æºCã©ã¤ãã©ãªã«ä¾å­ã
+ãï¼
+
+5.3.1 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ãµã¼ãã¹ã³ã¼ã«
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããå¼ã³åºããµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯ä¸è¨ã®é
+ãã§ããï¼ãã®ä¸­ã§ï¼ã·ãªã¢ã«ãã¼ãã®IDçªå·ï¼portidï¼ã®è§£éã¯ã¿ã¼ã²ãã
+ä¾å­ã¨ãªãï¼
+
+ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããã¨ã¯ã§ããª
+ãï¼ã¾ãï¼serial_rea_datã¨serial_wri_datã¯ï¼ãã£ã¹ãããä¿çç¶æ
+ã§å¼ã³
+åºããã¨ã¯ã§ããªãï¼ããããï¼å¼ã³åºããå ´åã«ã¯E_CTXã¨ã©ã¼ã¨ãªãï¼
+
+(1) ER serial_opn_por(ID portid)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ãããªã¼ãã³ãï¼åä¿¡ï¼éä¿¡ãå¯è½ãªç¶æ
+ã«ã
+ãï¼
+
+(2) ER serial_cls_por(ID portid)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ããã¯ã­ã¼ãºããï¼
+
+(3) ER_UINT serial_rea_dat(ID portid, char *buf, UINT len)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ãããï¼lenãã¤ãã®æå­åãåä¿¡ãï¼bufãã
+ã®é åã«å
+¥ããï¼lenãã¤ãåä¿¡ããã¾ã§ï¼å¾
+ã¡ç¶æ
+ã¨ãªãï¼åä¿¡ããæå­æ°
+ã¾ãã¯ã¨ã©ã¼ã³ã¼ããè¿ãï¼
+
+(4) ER_UINT serial_wri_dat(ID portid, char *buf, UINT len)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ãã«ï¼bufããã®lenãã¤ãã®æå­åãéä¿¡ããï¼
+lenãã¤ãéä¿¡ãããã¡ã«å
+¥ããã¾ã§ï¼å¾
+ã¡ç¶æ
+ã¨ãªãï¼éä¿¡ããæå­æ°ã¾ã
+ã¯ã¨ã©ã¼ã³ã¼ããè¿ãï¼
+
+(5) ER serial_ctl_por(ID portid, UINT ioctl)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ãã®å¶å¾¡æ
+å ±ãï¼ioctlã§ç¤ºãããå¤ã«è¨­å®ã
+ãï¼
+
+ioctlã«ã¯ï¼ä»¥ä¸ã®å¶å¾¡æ
+å ±ãè¡¨ãå®æ°ãï¼ãããæ¯ã«è«çåãã¨ã£ããã®ã
+æå®ããï¼
+
+    IOCTL_ECHOï¼ã¨ã³ã¼ããã¯ã¢ã¼ãï¼
+        ãã®ããããè¨­å®ããã¨ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããã¨ã³ã¼
+        ããã¯ãè¡ãï¼å
+·ä½çã«ã¯ï¼ãããã¡ããæå­ãåãåºãåº¦ã«ï¼ãã®
+        æå­ãæ¸ãåºãï¼
+
+    IOCTL_CRLFï¼æ¹è¡ã¢ã¼ãï¼
+        LFï¼line feedï¼ãæ¸ãåºãã¨ï¼CRï¼carriage returnï¼+ LFã«å¤æã
+        ã¦æ¸ãåºãï¼
+
+    IOCTL_FCSNDï¼åºåãã­ã¼å¶å¾¡ï¼
+        æå­ãéä¿¡ããå¦çã«å¯¾ãã¦ï¼XON/XOFFã«ãããã­ã¼å¶å¾¡ãè¡ãï¼
+        ããªãã¡ï¼STOPï¼ã³ã³ãã­ã¼ã«-Sï¼ãåä¿¡ããã¨éä¿¡ãåæ­¢ãï¼
+        STARTï¼ã³ã³ãã­ã¼ã«-Qï¼ãåä¿¡ããã¨éä¿¡ãåéããï¼
+
+    IOCTL_FCANYï¼éä¿¡ãã­ã¼å¶å¾¡ã§ä»»æã®æå­ã§éä¿¡åéï¼
+        IOCTL_FCOUTãæå®ãã¦ããæã«ï¼éä¿¡åæ­¢ä¸­ã«åä¿¡ããä»»æã®æå­
+        ã§éä¿¡ãåéããï¼
+
+    IOCTL_FCRCVï¼åä¿¡ãã­ã¼å¶å¾¡ï¼
+        æå­ãåä¿¡ããå¦çã«å¯¾ãã¦ï¼XON/XOFFã«ãããã­ã¼å¶å¾¡ãè¡ãï¼
+        ããªãã¡ï¼åä¿¡ãããã¡ã®æ®ãé åãå°ãªããªãã¨STOPï¼ã³ã³ãã­ã¼
+        ã«-Sï¼ãéåºãï¼æ®ãé åãå¢ããã°STARTï¼ã³ã³ãã­ã¼ã«-Qï¼ãé
+        åºããï¼
+
+ãªãï¼ãªã¼ãã³ç´å¾ã®ããã©ã«ãã®è¨­å®å¤ã¯(IOCTL_ECHO | IOCTL_CRLF |
+IOCTL_FCOUT | IOCTL_FCIN)ã§ããï¼
+
+(6) ER serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor)
+
+portidã§ç¤ºãããã·ãªã¢ã«ãã¼ãã®ç¶æ
+ãåç
+§ãï¼pk_rporã§æå®ããããã±ã
+ãã«è¿ãï¼ãã±ããä¸­ã®reacntã«ã¯åä¿¡ãããã¡ä¸­ã®æå­æ°ãï¼wricntã«ã¯é
+ä¿¡ãããã¡ä¸­ã®æå­æ°ãè¿ãï¼
+
+5.3.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®å
+é¨æ§æ
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¯ï¼åè¨ã®ãµã¼ãã¹ã³ã¼ã«ã«å ãã¦ï¼åæå
+å¦çã¨å²è¾¼ã¿ãã³ãã©ã§æ§æãããï¼åæåå¦çã¯ï¼ã«ã¼ãã«ã«åæåã«ã¼ã
+ã³ã¨ãã¦ç»é²ããï¼å²è¾¼ã¿ãã³ãã©ã¯ï¼ã«ã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ã¨ãã¦ç»é²
+ããï¼ãããã®ç»é²å¦çã¯serial.cfgã«å«ã¾ããï¼
+
+(1) void serial_initialize(VP_INT exinf)
+
+ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããåæåããï¼ã«ã¼ãã«ã«åæåã«ã¼ãã³ã¨
+ãã¦ç»é²ããï¼exinfã¯ç¡è¦ããï¼
+
+(2) å²è¾¼ã¿ãã³ãã©
+
+ã·ãªã¢ã«I/Oããã¤ã¹ã®ç¨®é¡ã«ãã£ã¦ï¼å²è¾¼ã¿ãã³ãã©ã®ç¨®é¡ãæ°ã¯ç°ãªãï¼
+å
+·ä½çã«ã¯ï¼éä¿¡å²è¾¼ã¿ã¨åä¿¡å²è¾¼ã¿ãå¥ãã¦ãããã®ã¨å¥ãã¦ããªããã®ãï¼
+ãã¼ããè¤æ°æã¤ã·ãªã¢ã«I/Oããã¤ã¹ã§ãã¼ãæ¯ã«å²è¾¼ã¿ãã³ãã©ãå¥ãã¦
+ãããã®ã¨å¥ãã¦ããªããã®ãããï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®å²è¾¼
+ã¿ãã³ãã©ã¯ï¼ã«ã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ã¨ãã¦ç»é²ããï¼
+
+5.4 ã·ã¹ãã ã­ã°ã¿ã¹ã¯
+
+ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ï¼ã«ã¼ãã«å
+ã®ã­ã°ãããã¡ããã­ã°æ
+å ±ãåãåºãï¼
+ããã¤ã¹ã«ã¢ã¯ã»ã¹ãããµã¼ãã¹ãç¨ãã¦å¤é¨ã«åºåããã¿ã¹ã¯ã§ããï¼
+
+JSPã«ã¼ãã«ã®æ¨æºé
+å¸ã­ããã«å«ã¾ããã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«ã¤
+ã³ã¿ãã§ã¼ã¹ã«ã­ã°æ
+å ±ãæå­åã®å½¢ã§åºåãããã®ã§ï¼ã·ã¹ãã ã­ã°ã¿ã¹ã¯
+ã®ä¸ä¾ã¨ããä½ç½®ä»ãã§æä¾ãã¦ããï¼ãã®ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã¯ï¼ã·ã¹ãã 
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«logtask.cfgãã¤ã³ã¯ã«ã¼ããããã¨ã§ï¼
+ã·ã¹ãã ã«çµã¿è¾¼ããã¨ãã§ããï¼
+
+
+ï¼ï¼ãµãã¼ãã©ã¤ãã©ãª
+
+ãµãã¼ãã©ã¤ãã©ãªã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã·ã¹ãã ãµã¼ãã¹ãä½æãããã
+ã«å©ç¨ã§ããã©ã¤ãã©ãªé¢æ°ç¾¤ã§ããï¼ç¾ãã¼ã¸ã§ã³ã§ã¯ï¼ã·ã¹ãã ãµã¼ãã¹
+ããµã³ãã«ãã­ã°ã©ã ã§ä½¿ãæä½éã®é¢æ°ããç¨æãã¦ããªãï¼
+
+(1) const char *itron_strerror(ER ercd)
+
+ercd ã§ç¤ºãããã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãã«å¯¾å¿ããã¨ã©ã¼ã³ã¼ãã®æå­åãè¿ãï¼
+è¿ãããæå­åãæ¸ãæãã¦ã¯ãªããªãï¼
+
+(2) void t_perror(const char *file, int line, const char *expr, ER ercd)
+    
+ã¨ã©ã¼ã¡ãã»ã¼ã¸ãã·ã¹ãã ã­ã°ãµã¼ãã¹ã«åºåããï¼assertãã¯ã­ãªã©ã§å©
+ç¨ãããã¨ãæ³å®ãã¦ããï¼
+
+
+ï¼ï¼éçºç°å¢ã»ã¤ã³ã¹ãã¼ã«ã»ãã¼ãã£ã³ã°
+
+7.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªæ§æã¯æ¬¡ã®éãï¼
+
+    include/    å
+±éããããã¡ã¤ã«
+    kernel/     ã«ã¼ãã«ã½ã¼ã¹ãã¡ã¤ã«
+    systask/    ã·ã¹ãã ãµã¼ãã¹ã½ã¼ã¹ãã¡ã¤ã«
+    library/     ãµãã¼ãã©ã¤ãã©ãªã½ã¼ã¹ãã¡ã¤ã«
+    config/     ã¿ã¼ã²ããä¾å­é¨
+        m68k/           M68040 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            dve68k/             DVE-68K/40 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        sh1/            SH1 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            kz_sh1/             KZ-SH1-01 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            zunda_sh1/          ZUNDA/SH1 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        sh2/            SH2 ãã­ã»ããµä¾å­ãã¡ã¤ã« 
+            apsh2f6a/           APSH2F6A ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            hsb7616it/          HSB7616IT ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        sh3/            SH3 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            ms7727cp01/         MS7727CP01 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            solution_engine/    Solution Engine ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        sh3-ghs/        SH3 ãã­ã»ããµä¾å­ãã¡ã¤ã«ï¼GHSéçºç°å¢ï¼
+            ms7727cp01/         MS7727CP01 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            solution_engine/    Solution Engine ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        h8/             H8 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            akih8_3048f/        AKI-H8/3048F ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            akih8_3052f/        AKI-H8/3052F ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            akih8_3069f/        AKI-H8/3069F ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            nkev_010h8/         NKEV-010H8 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        h8-renesas/     H8 ãã­ã»ããµä¾å­ãã¡ã¤ã«(Renesaséçºç°å¢)
+            hsb8f3048bf25/      H8_3048F ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        h8s/            H8S ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            h8s2350/            H8S_2350 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            h8s2351/            H8S_2351 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        armv4/          ARMV4 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            integrator/         Integrator ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            az9360mb/           AZ9360MB ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        armv4-ghs/      ARMV4 ãã­ã»ããµä¾å­ãã¡ã¤ã«ï¼GHSéçºç°å¢ï¼
+            integrator/         Integrator ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        microblaze/     MicroBlaze ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            miref/              MIREF ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            mire_multi/         MIRE_MULTI3000 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            mutlimedia/         MultiMedia Board ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            suzaku/             Suzaku ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        tms320c54x/     TMS320C54x ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            c5402dsk/           TMS320VC5402 DSK ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        xstormy16/      Xstormy16 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+           simulator/           ä¸æ´ãã¤ã³ã³éçºãã¼ã«ç°å¢ ä¾å­ãã¡ã¤ã«
+        mips3/          MIPS3 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            vr4131/             VR4131 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            vr5500/             VR5500 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        m16c-renesas/   M16C ãã­ã»ããµä¾å­ãã¡ã¤ã«(Renesaséçºç°å¢)
+            oaks16/             OAKS16 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            oaks16_mini/        OAKS16_MINI ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        m32c-renesas/   M32C ãã­ã»ããµä¾å­ãã¡ã¤ã«(Renesaséçºç°å¢)
+            oaks32/             OAKS32 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        m32r/           M32R ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            m3a2131g50/         M3A-2131G50 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            m3a_za36/           M3A-ZA36 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        s1c33/          S1C33 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            dmt33209/           DMT33209 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            dmt33401/           DMT33401 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            luxun2/             LUXUN2 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            luxun4/             LUXUN4 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        s1c33-gnu33/    S1C33 ãã­ã»ããµä¾å­ãã¡ã¤ã«(GNU33éçºç°å¢)
+            dmt33209/           DMT33209 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            dmt33401/           DMT33401 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            luxun2/             LUXUN2 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            luxun4/             LUXUN4 ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        powerpc32/      POWERPC32 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            ibm_ppc_emb_sample/ The IBM PowerPC Embedded Environment ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+            mpc860t/            MPC860T ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        nios2/          NIOS2 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            altera_dev_board/   ALTERA_DEV ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        v850/           V850 ãã­ã»ããµä¾å­ãã¡ã¤ã«
+            tk850_kj1/          TK-850ES ã·ã¹ãã ä¾å­ãã¡ã¤ã«        
+            tk850_sg2/          TK-850SG2 ã·ã¹ãã ä¾å­ãã¡ã¤ã«        
+        tlcs900-toshiba/ TLCS900 ãã­ã»ããµä¾å­é¨ãã¡ã¤ã«
+            zup_f16_ex/         Zup-F16æ¡å¼µãã¼ã ã·ã¹ãã ä¾å­ãã¡ã¤ã«
+        linux/          Linuxä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ä¾å­ãã¡ã¤ã«
+        windows/        Windowsä¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ä¾å­ãã¡ã¤ã«
+    tools/      éçºç°å¢ä¾å­ãã£ã¬ã¯ããª
+        WINDOWS/        Windowsä¸ã®ãµã³ãã«ãã­ã°ã©ã ã¨ãã­ã¸ã§ã¯ããã¡ã¤ã«
+        GHS/            GHSï¼Green Hills Softwareï¼éçºç°å¢ç¨ã®ãã¡ã¤ã«
+        C5402DSK/       TMS320VC5402 DSKç¨ã®ãã­ã¸ã§ã¯ããã¡ã¤ã«
+        H8-RENESAS/     H8-RENESASç¨ã®ãã­ã¸ã§ã¯ããã£ã¬ã¯ããª
+        M16C-RENESAS/   M16C-RENESASç¨ã®ãã­ã¸ã§ã¯ããã£ã¬ã¯ããª
+        M32C-RENESAS/   M32C-RENESASç¨ã®ãã­ã¸ã§ã¯ããã£ã¬ã¯ããª
+    pdic/       PDICï¼ããã¤ã¹ãã©ã¤ãã®OSéä¾å­é¨åï¼
+        simple_sio/     ç°¡æSIOãã©ã¤ãï¼ã·ãªã¢ã«ãã©ã¤ããä½¿ç¨ãããã®ï¼
+    cfg/        ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿
+    utils/      ã¦ã¼ãã£ãªãã£
+        h8/             H8ç¨ãã¯ã¿ã¼ãã¼ãã«çæã¦ã¼ãã£ãªãã£
+        h8-renesas/     H8-RENESASç¨ãã¯ã¿ã¼ãã¼ãã«çæã¦ã¼ãã£ãªãã£
+        m16c-renesas/   M16C-RENESASç¨ãã¯ã¿ã¼ãã¼ãã«çæã¦ã¼ãã£ãªãã£ 
+    sample/     ãµã³ãã«ãã­ã°ã©ã ã¨ Makefile
+    doc/        ãã­ã¥ã¡ã³ã
+    windev/     Windowsããã¤ã¹ããã¼ã¸ã£
+
+ã¿ã¼ã²ããéä¾å­é¨ï¼ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯é¤ãï¼ã®åãã¡ã¤ã«ã®æ¦
+è¦ã¯æ¬¡ã®éãï¼
+
+    README              TOPPERS/JSPã«ã¼ãã«ã®ç°¡åãªç´¹ä»
+    configure           ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãã
+
+    include/
+        itron.h         ITRONä»æ§å
+±éè¦å®ã«é¢é£ããå®ç¾©
+        kernel.h        Î¼ITRON4.0ä»æ§ã«é¢é£ããå®ç¾©
+        kernel_debug.h  Î¼ITRON4.0ä»æ§ ãããã°ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        sil.h           ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼
+        t_stddef.h      ã«ã¼ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ å
+±éã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        t_config.h      ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+        t_syslog.h      ã·ã¹ãã ã­ã°ãµã¼ãã¹é¢é£ã®å®ç¾©
+        t_services.h    ã¢ããªã±ã¼ã·ã§ã³ç¨ æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        s_services.h    ããã¤ã¹ãã©ã¤ãç¨ æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        kernel_cfg.h    kernel_cfg.cç¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        timer.h         ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãé¢é£ã®å®ç¾©
+        serial.h        ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãé¢é£ã®å®ç¾©
+        logtask.h       ã·ã¹ãã ã­ã°ã¿ã¹ã¯é¢é£ã®å®ç¾©
+        linux_sigio.h   Linuxç¨ ãã³ãã­ãã­ã³ã°I/Oãµãã¼ã
+
+    kernel/
+        Makefile.kernel ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+        jsp_kernel.h    JSPã«ã¼ãã«ç¨ æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+        jsp_rename.def  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+        jsp_rename.h    ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+        jsp_unrename.h  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+        check.h         ã¨ã©ã¼ãã§ãã¯ç¨ãã¯ã­
+        queue.h         ããã«ãªã³ã¯ã­ã¥ã¼ã®æ§é ã¨æä½
+        startup.c       ã«ã¼ãã«ã®åæåå¦ç
+        banner.c        ã«ã¼ãã«ã®èµ·åã¡ãã»ã¼ã¸ã®åºå
+        task.h          ã¿ã¹ã¯æä½ã«ã¼ãã³é¢é£ã®å®ç¾©
+        task.c          ã¿ã¹ã¯æä½ã«ã¼ãã³
+        wait.h          å¾
+ã¡ç¶æ
+æä½ã«ã¼ãã³é¢é£ã®å®ç¾©
+        wait.c          å¾
+ã¡ç¶æ
+æä½ã«ã¼ãã³
+        time_event.h    ã¿ã¤ã ã¤ãã³ãç®¡çé¢é£ã®å®ç¾©
+        time_event.c    ã¿ã¤ã ã¤ãã³ãç®¡ç
+        syslog.h        ã·ã¹ãã ã­ã°æ©è½é¢é£ã®å®ç¾©
+        syslog.c        ã·ã¹ãã ã­ã°æ©è½
+        task_manage.c   ã¿ã¹ã¯ç®¡çæ©è½
+        task_sync.c     ã¿ã¹ã¯ä»å±åææ©è½
+        task_except.c   ã¿ã¹ã¯ä¾å¤å¦çæ©è½
+        semaphore.h     ã»ããã©æ©è½é¢é£ã®å®ç¾©
+        semaphore.c     ã»ããã©æ©è½
+        eventflag.h     ã¤ãã³ããã©ã°æ©è½é¢é£ã®å®ç¾©
+        eventflag.c     ã¤ãã³ããã©ã°æ©è½
+        dataqueue.h     ãã¼ã¿ã­ã¥ã¼æ©è½é¢é£ã®å®ç¾©
+        dataqueue.c     ãã¼ã¿ã­ã¥ã¼æ©è½
+        mailbox.h       ã¡ã¼ã«ããã¯ã¹æ©è½é¢é£ã®å®ç¾©
+        mailbox.c       ã¡ã¼ã«ããã¯ã¹æ©è½
+        mempfix.h       åºå®é·ã¡ã¢ãªãã¼ã«é¢é£ã®å®ç¾©
+        mempfix.c       åºå®é·ã¡ã¢ãªãã¼ã«
+        time_manage.c   ã·ã¹ãã æå»ç®¡çæ©è½
+        cyclic.h        å¨æãã³ãã©æ©è½é¢é£ã®å®ç¾©
+        cyclic.c        å¨æãã³ãã©æ©è½
+        sys_manage.c    ã·ã¹ãã ç®¡çæ©è½
+        interrupt.h     å²è¾¼ã¿ç®¡çæ©è½é¢é£ã®å®ç¾©
+        interrupt.c     å²è¾¼ã¿ç®¡çæ©è½
+        exception.h     CPUä¾å¤ç®¡çæ©è½é¢é£ã®å®ç¾©
+        exception.c     CPUä¾å¤ç®¡çæ©è½
+
+    systask/
+        timer.c         ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+        timer.cfg       ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã®è¨­å®è¨è¿°
+        serial.c        ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+        serial.cfg      ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®è¨­å®è¨è¿°
+        logtask.c       ã·ã¹ãã ã­ã°ã¿ã¹ã¯
+        logtask.cfg     ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®è¨­å®è¨è¿°
+        linux_sigio.c           Linuxç¨ ãã³ãã­ãã­ã³ã°I/Oãµãã¼ã
+        linux_sigio.cfg         Linuxç¨ ãã³ãã­ãã­ã³ã°I/Oãµãã¼ãã®è¨­å®è¨è¿°
+        linux_serial.c          Linuxç¨ çä¼¼ã·ãªã¢ã«ãã©ã¤ã
+        linux_serial.cfg        Linuxç¨ çä¼¼ã·ãªã¢ã«ãã©ã¤ãã®è¨­å®è¨è¿°
+        cxxrt.c          C++å¯¾å¿ã©ã³ã¿ã¤ã æ¬ä½
+        cxxrt.cfg        C++å¯¾å¿ã©ã³ã¿ã¤ã ç¨ãªãã¸ã§ã¯ãè¨­å®
+        newlibrt.c       NEWLIBå¯¾å¿ã©ã³ã¿ã¤ã 
+
+    library/
+        log_output.c    ã·ã¹ãã ã­ã°æ©è½ç¨ã©ã¤ãã©ãªé¢æ°ï¼syslog_outputãªã©ï¼
+        strerror.c      itron_strerroré¢æ°
+        t_perror.c      t_perroré¢æ°
+        vasyslog.c      syslogé¢æ°
+
+    utils/
+        makedep         ä¾å­é¢ä¿å®ç¾©ã®çæ
+        genoffset       offset.h çæãã­ã°ã©ã 
+        gencheck        ãã©ã¡ã¼ã¿ãã§ãã¯ç¨ãã¡ã¤ã«ã®çæ
+        genrename       å
+é¨ã·ã³ãã«ãªãã¼ã å®ç¾©ã®çæ
+        rename          å
+é¨ã·ã³ãã«ã®ãªãã¼ã å¦ç
+
+    sample/
+        Makefile        ãµã³ãã«ã® Makefile
+        Makefile.linux  ãµã³ãã«ã® Makefileï¼Linuxç¨ï¼
+        Makefile.mware  ãµã³ãã«ã® Makefileï¼ããã«ã¦ã§ã¢ã¨ã®çµã¿åããç¨ï¼
+        sample1.cfg     ãµã³ãã«ãã­ã°ã©ã (1)ã®è¨­å®è¨è¿°
+        sample1.h       ãµã³ãã«ãã­ã°ã©ã (1)ã«é¢ããå®ç¾©
+        sample1.c       ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+        cxx_sample1.cfg C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã®è¨­å®è¨è¿°
+        cxx_sample1.h   C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã«é¢ããå®ç¾©
+        cxx_sample1.c   C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+        cxx_sample2.cfg C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã®è¨­å®è¨è¿°
+        cxx_sample2.h   C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã«é¢ããå®ç¾©
+        cxx_sample2.c   C++ç¨ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+
+    doc/
+        user.txt        TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã«
+        gnu_install.txt GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«
+        m68k.txt        M68040 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        sh1.txt         SH1 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        sh2.txt         SH2 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        sh3.txt         SH3 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        h8.txt          H8 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        h8-renesas.txt  H8-RENESAS ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        h8s.txt         H8S ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        armv4.txt       ARMV4 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        microblaze.txt  MicroBlaze ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        tsm320c54x.txt  TMS320C54x ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        xstormy16.txt   Xstormy16 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        mips3.txt       MIPS3 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        m16c.txt        M16C ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        m32c.txt        M32C ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        m32r.txt        M32R ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        nios2.txt       Nios2 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        powerpc32.txt   POWERPC32 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        s1c33.txt       S1C33 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        v850.txt        V850 ã¿ã¼ã²ããä¾å­é¨ããã¥ã¢ã«
+        linux.txt       Linux ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ä¾å­é¨ããã¥ã¢ã«
+        windows.txt     Windows ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ä¾å­é¨ããã¥ã¢ã«
+        config.txt      JSPã«ã¼ãã« ã¿ã¼ã²ããä¾å­é¨ ãã¼ãã£ã³ã°ã¬ã¤ã
+        configurator.txt JSPã«ã¼ãã« ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ä»æ§
+        design.txt      JSPã«ã¼ãã« è¨­è¨ã¡ã¢
+
+7.2 éçºç°å¢
+
+JSPã«ã¼ãã«ãç¨ããã·ã¹ãã æ§ç¯ã«ã¯ï¼ä»¥ä¸ã®ãã¼ã«ãå¿
+è¦ã§ããï¼
+
+    ãã¹ãç°å¢ç¨ã®ãã¼ã«
+        æ¨æºè¦æ ¼ã«æºæ ããCã³ã³ãã¤ã©ï¼Cã©ã¤ãã©ãª
+        C++ã³ã³ãã¤ã©ï¼C++ã©ã¤ãã©ãªï¼STL
+                åä½ç¢ºèª: GNU C++ 2.95.3ï¼3.2ï¼3.3ï¼Linuxç°å¢ï¼
+                          GNU C++ 3.2ï¼Cygwinç°å¢ï¼
+                          Visual C++ 6.0ï¼.NET (Windowsã·ãã¥ã¬ã¼ã·ã§ã³)
+        perlï¼åä½ç¢ºèªã¯ 5.6.1ï¼
+        GNU Makeï¼åä½ç¢ºèªã¯ 3.79.1ï¼
+
+    ã¯ã­ã¹ç°å¢ç¨ã®ãã¼ã«
+        GNUéçºç°å¢
+            BINUTILSï¼ã¢ã»ã³ãã©ï¼ãªã³ã«ãªã©ï¼
+            GCC ã¾ãã¯ GCC-COREï¼Cã³ã³ãã¤ã©ï¼
+            GDBï¼ãããã¬ï¼
+        NEWLIBï¼æ¨æºCã©ã¤ãã©ãªï¼
+
+GNUéçºç°å¢ãã¤ã³ã¹ãã¼ã«æ¹æ³ã«ã¤ãã¦ã¯ï¼ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ã
+ãç¨æãã¦ããã®ã§ï¼ãããåç
+§ããã¨ããï¼ã¾ãï¼åä½ç¢ºèªãã¼ã¸ã§ã³ã«ã¤
+ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+ãã¹ãç°å¢ç¨ã®Cã³ã³ãã¤ã©ã¨Cã©ã¤ãã©ãªã¯ï¼ã¯ã­ã¹ç°å¢ç¨ã®ãã¼ã«ã®ã¤ã³ã¹
+ãã¼ã«ã«å¿
+è¦ã«ãªãï¼ã¾ãï¼C++ã³ã³ãã¤ã©ï¼C++ã©ã¤ãã©ãªã¨ STLï¼Standard
+Template Libraryï¼ã¯ï¼ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã®ã³ã³ãã¤
+ã«ã«å¿
+è¦ã§ããï¼ã¯ã­ã¹ç°å¢ç¨ã®ãã¼ã«ã¨ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ãã
+ã¤ããªã§å
+¥æããå ´åã«ã¯ï¼ãããã®ãã¼ã«ã¯å¿
+è¦ãªãï¼
+
+ã¯ã­ã¹ç°å¢ç¨ã®æ¨æºCã©ã¤ãã©ãªã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãæ¨æºCã©ã¤ãã©ãªãä½¿
+ç¨ããªãå ´åã«ã¯ï¼å¿
+è¦ãªãï¼ãã ãï¼ã³ã³ãã¤ã©ãæ¨æºCã©ã¤ãã©ãªé¢æ°
+ï¼memcpyï¼memsetãªã©ï¼ãå¼ã³åºãã³ã¼ããçæããå ´åãããï¼ãã®å ´åã«
+ã¯æ¨æºCã©ã¤ãã©ãªãå¿
+è¦ã§ããï¼ãªããã¯ï¼çæããã³ã¼ããå¼ã³åºãé¢æ°
+ã®ã¿ãèªåã§ç¨æãã¦ãããï¼
+
+ä»¥ä¸ã§ã¯ï¼ãããã®ãã¼ã«ãç¨æã§ãã¦ãããã¨ãåæã«ï¼UNIXãã·ã³ï¼åä½
+ç¢ºèªã¯ Linuxï¼ä¸ã§æ§ç¯æé ãèª¬æããï¼ã¾ãä»¥ä¸ã®èª¬æã§ã¯ï¼makeã³ãã³ã
+ã GNU Make ã§ãããã®ã¨ããï¼JSPã«ã¼ãã«ã® Makefile ã¯ï¼GNU Make ã®æ¡
+å¼µæ©è½ãç¨ãã¦ããï¼ï¼
+
+7.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã®æ§ç¯
+
+ã«ã¼ãã«ãæ§ç¯ããåã«ï¼ã¾ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ãã³ã³ãã¤ã«
+ããå¿
+è¦ãããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ããã¤ããªã§å
+¥æããå ´åã«
+ã¯ï¼ãã®ã¹ãããã¯å¿
+è¦ãªãï¼ï¼
+
+JSPã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ï¼cfgã
+ã­ã°ã©ã ï¼ã¨ãã©ã¡ã¼ã¿ãã§ãã¯ãã­ã°ã©ã ï¼chkãã­ã°ã©ã ï¼ããæ§æãã
+ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã®ä½¿ãæ¹ã«ã¤ãã¦ã¯ï¼ã7.9 ã³ã³ãã£ã®ã¥
+ã¬ã¼ã·ã§ã³ãã¼ã«ã®ä½¿ãæ¹ããåç
+§ãããã¨ï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ï¼cfgãã­ã°ã©ã ã¨chkãã­ã°ã©ã ï¼ã¯ï¼cfgãã£
+ã¬ã¯ããªã«ç§»åãï¼make dependã§ä¾å­é¢ä¿ãã¡ã¤ã«ï¼Makefile.dependï¼ãç
+æããå¾ï¼makeã³ãã³ãã«ããçæãããï¼
+
+    % cd cfg
+    % make depend
+    % make
+
+ã¾ãï¼Microsoft Visual C++ 6.0 (MSVC++6.0)ã§ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«
+ããã«ãããããã®ãã¡ã¤ã«ç¾¤ãJSPã«ã¼ãã«ã®ã½ã¼ã¹ãã¡ã¤ã«ã«ã¯å«ã¾ãã¦ããï¼
+ãã®éã«ã¯ï¼cfg/vc_project å
+ã® configurator.dsw ãéãï¼ãã«ãããï¼
+MSVC++6.0 ã¨ä¸ä½äºæãæã¤çµ±åéçºç°å¢ã§ããã«ãã§ããã¯ãã§ãããï¼
+ååãªç¢ºèªãåãã¦ããããã§ã¯ãªãï¼
+
+
+7.4 ãµã³ãã«ãã­ã°ã©ã ã®æ§ç¯
+
+æ¬¡ã«ï¼ãµã³ãã«ãã­ã°ã©ã ãæ§ç¯ããæ¹æ³ãèª¬æããï¼
+
+ã¾ãï¼ãµã³ãã«ãã­ã°ã©ã ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªãä½æ
+ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããå®è¡ããï¼ä¾ãã°ï¼ãªãã¸ã§ã¯ããã¡
+ã¤ã«ãç½®ããã£ã¬ã¯ããªãï¼JSPã«ã¼ãã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãå±éãããã£ã¬
+ã¯ããªã®ä¸ã®OBJã¨ããåç§°ã®ãã£ã¬ã¯ããªã«ããå ´åã«ã¯ï¼æ¬¡ã®ã³ãã³ãã
+å®è¡ããï¼ãã£ã¬ã¯ããªã®å ´æã¯åç§°ã¯ä»»æã«æ±ºãã¦ããï¼ï¼
+
+    % mkdir OBJ
+    % cd OBJ
+    % perl ../configure -C m68k -S dve68k
+
+ããã§ï¼m68kã¯ã¿ã¼ã²ãããã­ã»ããµåï¼dve68kã¯ã¿ã¼ã²ããã·ã¹ãã åã§ã
+ãï¼ãããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®ãªãã·ã§ã³ã«ã¤ãã¦ã¯ï¼æ¬¡
+ã®ç¯ã§èª¬æããï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡ã«ããï¼ã«ã¬ã³ããã£ã¬ã¯ããªã«ã¯ï¼
+ãµã³ãã«ãã­ã°ã©ã ãæ§ç¯ããããã®Makefileï¼ãµã³ãã«ãã­ã°ã©ã ç¨ã®ã³ã³
+ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼sample1.cfgï¼ï¼ãµã³ãã«ãã­ã°ã©ã æ¬ä½
+ï¼sample1.hããã³sample1.cï¼ãçæãããï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡å¾ï¼å¿
+è¦ã§ããã°Makefileãä¿®æ­£ã
+ãï¼Makefileã®ä¿®æ­£æ¹æ³ã«ã¤ãã¦ã¯ï¼ã7.7 Makefileã®ä¿®æ­£ããåç
+§ãããã¨ï¼
+
+ãã®å¾ï¼make dependã§ä¾å­é¢ä¿ãã¡ã¤ã«ï¼Makefile.dependï¼ãçæããå¾ï¼
+makeã³ãã³ãã«ãããµã³ãã«ãã­ã°ã©ã ã®ã­ã¼ãã¢ã¸ã¥ã¼ã«ï¼jspã¾ãã¯
+jsp.exeï¼ãçæã§ããï¼ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæã«ã¯è¥å¹²æéããããï¼
+
+    % make depend
+    % make
+
+ããã§æ§ç¯ãããµã³ãã«ãã­ã°ã©ã ï¼sample1.hï¼sample1.cï¼sample1.cfgï¼
+ã¯ï¼JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãã®ã§ããï¼ãã®ãã­ã°ã©
+ã ã®æ¦è¦èª¬æã¯ï¼sample1.cã®å
+é ­ã®ã³ã¡ã³ãã«ããï¼
+
+7.5 ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ãå¥ã
+ã«æ§ç¯ããæ¹æ³
+
+åç¯ã§èª¬æããæ¹æ³ã§ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ãåæã«çæããããï¼
+ãªãã¸ã§ã¯ããã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªã«éå¸¸ã«å¤ãã®ãã¡ã¤ã«ãä½æãã
+ã¦ï¼æ±ãã«ãããªãï¼ããã§ï¼ã«ã¼ãã«ãä¿®æ­£ããé »åº¦ãä½ãå ´åã«ã¯ï¼ã«ã¼
+ãã«ã¯äºåã«æ§ç¯ãã¦ããï¼å¾ã§ã¢ããªã±ã¼ã·ã§ã³ã ããæ§ç¯ããæ¹æ³ãç¨æ
+ãã¦ããï¼ä»¥ä¸ã§ã¯ï¼ãµã³ãã«ãã­ã°ã©ã ãæ§ç¯ãä¾ã«ï¼ãã®æé ã«ã¤ãã¦èª¬
+æããï¼
+
+ã¾ãï¼ã«ã¼ãã«ãæ§ç¯ãããã£ã¬ã¯ããªãä½æãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹
+ã¯ãªãããå®è¡ããï¼ä¾ãã°ï¼ã«ã¼ãã«ãæ§ç¯ãããã£ã¬ã¯ããªãï¼JSPã«ã¼
+ãã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãå±éãããã£ã¬ã¯ããªã®ä¸ã®kernel_libã¨ããåç§°ã®
+ãã£ã¬ã¯ããªã«ããå ´åã«ã¯ï¼æ¬¡ã®ã³ãã³ããå®è¡ããï¼ãã£ã¬ã¯ããªã®å ´æ
+ã¯åç§°ã¯ä»»æã«æ±ºãã¦ããï¼ï¼
+
+    % mkdir kernel_lib
+    % cd kernel_lib
+    % perl ../configure -C m68k -S dve68k
+
+ããã«ããï¼ã«ã¼ãã«ãæ§ç¯ãããã£ã¬ã¯ããªã«ï¼Makefileï¼sample1.cfgï¼
+sample1.hï¼sample1.cãçæããããï¼Makefileä»¥å¤ã¯ä½¿ç¨ããªãï¼
+
+make dependã§ä¾å­é¢ä¿ãã¡ã¤ã«ï¼Makefile.dependï¼ãçæããå¾ï¼make
+libkernel.aã«ããã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ãçæã§ããï¼
+
+    % make depend
+    % make libkernel.a
+
+æ¬¡ã«ï¼ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããã£ã¬ã¯ããªãä½æãï¼ã³ã³ãã£ã®ã¥ã¬ã¼
+ã·ã§ã³ã¹ã¯ãªãããå®è¡ããï¼ä¾ãã°ï¼ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããã£ã¬ã¯
+ããªãï¼JSPã«ã¼ãã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãå±éãããã£ã¬ã¯ããªã®ä¸ã®APLã¨ã
+ãåç§°ã®ãã£ã¬ã¯ããªã«ããå ´åã«ã¯ï¼æ¬¡ã®ã³ãã³ããå®è¡ããï¼ãã£ã¬ã¯ã
+ãªã®å ´æã¯åç§°ã¯ä»»æã«æ±ºãã¦ããï¼ï¼
+
+   % cd ..
+   % mkdir APL
+   % cd APL
+   % perl ../configure -C m68k -S dve68k -L ../kernel_lib
+
+ããã§-Lãªãã·ã§ã³ã«ã¯ï¼ã«ã¼ãã«ãæ§ç¯ãããã£ã¬ã¯ããªã®ãã¹ãæå®ããï¼
+
+æå¾ã«ï¼make dependã§ä¾å­é¢ä¿ãã¡ã¤ã«ï¼Makefile.dependï¼ãçæããå¾ï¼
+makeã³ãã³ãã«ãããµã³ãã«ãã­ã°ã©ã ã®ã­ã¼ãã¢ã¸ã¥ã¼ã«ï¼jspã¾ãã¯
+jsp.exeï¼ãçæã§ããï¼
+
+    % make depend
+    % make
+
+ãã®æé ã§ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³æ§ç¯æã«ã¯ã«ã¼ãã«ã®åæ§ç¯ãå¿
+è¦ããã§ã
+ã¯ããªãããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ããä¿®æ­£ããå ´åã«ã¯ï¼ã«ã¼ãã«ãæ§ç¯
+ãããã£ã¬ã¯ããªã§make libkernel.aãåå®è¡ããå¿
+è¦ãããï¼ã¾ãï¼ã¢ããª
+ã±ã¼ã·ã§ã³æ§ç¯æã«ã«ã¼ãã«ã©ã¤ãã©ãªãæ´æ°ãããããã§ãã¯ããªãããï¼
+ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããã£ã¬ã¯ããªã§ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ãåé¤ããå¾
+ã«makeãåå®è¡ããå¿
+è¦ãããï¼
+
+ä»¥ä¸ã§ã¯ï¼ã«ã¼ãã«ã¨ã¢ããªã±ã¼ã·ã§ã³ãå¥ã
+ã®ãã£ã¬ã¯ããªã§æ§ç¯ãããï¼
+-Lãªãã·ã§ã³ã«ã«ã¬ã³ããã£ã¬ã¯ããªï¼"."ï¼ãæå®ãããã¨ã§ï¼åããã£ã¬
+ã¯ããªã§ï¼å¥ã
+ã«ï¼æ§ç¯ãããã¨ãã§ããï¼å
+·ä½çã«ã¯ï¼æ¬¡ã®æé ã¨ãªãï¼
+
+    % mkdir OBJ
+    % cd OBJ
+    % perl ../configure -C m68k -S dve68k -L .
+    % make depend
+    % make libkernel.a
+    % make cleankernel
+    % make
+
+ããã§ï¼make cleankernelã¯ï¼ã«ã¼ãã«ã©ã¤ãã©ãªãçæããããã®ä¸­éãã¡
+ã¤ã«ãåé¤ãããã®ã§ããï¼ãã®æé ã§ã¯ï¼make dependã«ããã«ã¼ãã«ã©ã¤
+ãã©ãªã«é¢ããä¾å­é¢ä¿ãçæããªãããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ããä¿®æ­£ã
+ãå ´åã«ã¯ï¼å¿
+ãmake cleankernelï¼ã¾ãã¯ï¼make cleanï¼ãã¦ããï¼make
+libkernel.aããå¿
+è¦ãããã®ã§æ³¨æãããã¨ï¼ããã«ï¼ã­ã¼ãã¢ã¸ã¥ã¼ã«ã
+åé¤ããå¾ã«makeãåå®è¡ããå¿
+è¦ãããã®ã¯ï¼åã®å ´åã¨åæ§ã§ããï¼
+
+7.6 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®ä½¿ãæ¹
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã¯ï¼JSPã«ã¼ãã«ããã³ã¢ããªã±ã¼ã·ã§ã³
+ãã­ã°ã©ã ãæ§ç¯ããããã«å¿
+è¦ãªåºæ¬çãªã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãè¡ãã
+ãã®ãã­ã°ã©ã ã§ããï¼JSPã«ã¼ãã«ãç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãä½æããå ´
+åã«ã¯ï¼ã¾ããªãã¸ã§ã¯ããã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªãä½æãï¼ãã®ãã£ã¬
+ã¯ããªã§ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããå®è¡ããï¼ãªãã¸ã§ã¯ããã¡ã¤
+ã«ãç½®ããã£ã¬ã¯ããªã®å ´æãåç§°ã¯ï¼ä»»æã«æ±ºãã¦ããï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã«å¯¾ãããªãã·ã§ã³ã¯æ¬¡ã®éãï¼
+
+    -C <ãã­ã»ããµå>
+        ã¿ã¼ã²ãããã­ã»ããµåã¾ãã¯ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢åãï¼configãã£
+        ã¬ã¯ããªã®ä¸ã®ãã£ã¬ã¯ããªåç§°ã§æå®ããï¼å¿
+é ï¼ï¼
+
+    -S <ã·ã¹ãã å>
+        ã¿ã¼ã²ããã·ã¹ãã åãï¼configã®ä¸ã®ãã­ã»ããµã®ãã£ã¬ã¯ããªã®
+        ä¸ã®ãã£ã¬ã¯ããªåç§°ã§æå®ããï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®å ´åã«ã¯ï¼
+        æå®ããå¿
+è¦ããªãï¼
+
+    -T <éçºç°å¢å>
+        éçºç°å¢åãï¼configã®ä¸ã®ãã£ã¬ã¯ããªåç§°ã®å¾åã®åç§°ã§æå®ã
+        ãï¼GNUéçºç°å¢ãç¨ããå ´åã«ã¯ï¼æå®ããå¿
+è¦ããªãï¼
+
+    -A <ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã å>
+        ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã®åç§°ãæå®ããï¼çç¥ããå ´åã«ã¯ï¼
+        æ¨æºã®ãµã³ãã«ãã­ã°ã©ã ï¼sample1ï¼ã¨ãªãï¼
+
+    -U <ãªãã¸ã§ã¯ããã¡ã¤ã«å>
+        ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã®ã¡ã¤ã³ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼-A 
+        ã§æå®ããã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã åã«".o"ãä»å ãããã®ï¼ä»¥
+        å¤ã«ï¼ãªã³ã¯ãã¹ããªãã¸ã§ã¯ããã¡ã¤ã«ã®åç§°ãï¼".o"ãä»å ãã
+        å½¢ã§æå®ããï¼""ã§å²ããã¨ã«ãã£ã¦ï¼è¤æ°ã®ãã¡ã¤ã«ãæå®ããã
+        ã¨ãå¯è½ã§ããï¼-U ãªãã·ã§ã³ãè¤æ°ä½¿ã£ã¦ã¯ãªããªãï¼ï¼
+
+    -L <ã«ã¼ãã«ã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªå>
+        äºåã«æ§ç¯ããã«ã¼ãã«ãç¨ãã¦ï¼ã¢ããªã±ã¼ã·ã§ã³ã®ã¿ãæ§ç¯ãã
+        å ´åã«ã¯ï¼ãã®ãªãã·ã§ã³ã«ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®
+        ç½®ããããã£ã¬ã¯ããªåãæå®ããï¼ãã®ãªãã·ã§ã³ã®ä½¿ç¨æ¹æ³ã«ã¤
+        ãã¦ã¯ï¼ã7.5 ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ãå¥ã
+ã«æ§ç¯ããæ¹æ³ã
+        ãåç
+§ãããã¨ï¼
+
+    -D <JSPã«ã¼ãã«ã½ã¼ã¹ãã£ã¬ã¯ããªå>
+        JSPã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ããç½®ãããã£ã¬ã¯ããªåãæå®ããï¼ç
+        ç¥ããå ´åã«ã¯ï¼configureã®ç½®ããã¦ãããã£ã¬ã¯ããªã¨ãªãï¼
+
+ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããè¡ãå¦çã¯æ¬¡ã®éãã§ããï¼
+
+(1) Makefileã®çæ
+
+sampleãã£ã¬ã¯ããªããé©åãªMakefileãé¸æãï¼å¿
+è¦ãªç®æãæ¸ãæãã¦ï¼
+Makefileãçæããï¼
+
+(2) ãµã³ãã«ãã­ã°ã©ã ã®çæ
+
+æå®ããã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ãsampleãã£ã¬ã¯ããªã«ããå ´åï¼é©å
+ãªãµã³ãã«ãã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«ãé¸æãï¼å¿
+è¦ãªç®æãæ¸ãæãã¦ï¼
+ãµã³ãã«ãã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«ï¼ä¾ãã°ï¼sample1.hï¼sample1.cï¼
+sample1.cfgï¼ãçæããï¼
+
+7.7 Makefileã®ä¿®æ­£
+
+JSPã«ã¼ãã«ã®å®è¡ç°å¢ã«ãã£ã¦ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããç
+æããMakefileãä¿®æ­£ãããã¨ãå¿
+è¦ã«ãªãï¼ããã§ã¯ï¼Makefileã®ä¸­ã§ï¼ä¿®
+æ­£ãå¿
+è¦ã¨ãªãå¯è½æ§ã®é«ãç®æã«ã¤ãã¦èª¬æããï¼
+
+ãªãï¼Makefileãä¿®æ­£ããå¾ã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããåå®è¡ã
+ãã¨ï¼ä¿®æ­£ããMakefileãä¸æ¸ãããã¦ãã¾ãã®ã§æ³¨æãããã¨ï¼å¤ããã®ã
+Makefile.bakã«ä¿å­ãããï¼ï¼
+
+(A) ã¿ã¼ã²ããåã®å®ç¾©
+
+CPUã¯ã¿ã¼ã²ãããã­ã»ããµåï¼SYSã¯ã¿ã¼ã²ããã·ã¹ãã åï¼TOOLã¯éçºç°å¢
+åã«å®ç¾©ããï¼ãããã®å®ç¾©ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããè¡ãï¼
+
+(B) ãªãã¸ã§ã¯ããã¡ã¤ã«ã®æ¡å¼µå­ã®è¨­å®
+
+Cygwinç°å¢ã§ã³ã³ãã¤ã«ããæã«ã¯ï¼OBJEXTã"exe"ã«å®ç¾©ããå¿
+è¦ãããï¼
+ããã¯ï¼Cygwinç°å¢ã§ã¯ï¼ãªãã¸ã§ã¯ããã­ã°ã©ã ã«æ¡å¼µå­"exe"ãä»å ãã
+ãã®ã«å¯¾å¿ããããã®ãã®ã§ããï¼Cygwinç°å¢ã§ãããã¨ãå¤å®ã§ããã°ï¼ã³
+ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããããã®å®ç¾©ãè¡ãï¼
+
+(C) å®è¡ç°å¢ã®å®ç¾©ï¼ã¿ã¼ã²ããä¾å­ï¼
+
+ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼å®è¡ç°å¢ã«å¯¾å¿ãã¦ã¿ã¼ã²ããä¾å­é¨ã®ã³ã¼ããå·®ã
+æããå ´åãããï¼ãããå¯è½ã«ããããã«ï¼å®è¡ç°å¢ã®åç§°ãDBGENVã«å®ç¾©
+ãã¦ããï¼æ¨æºã§ã¯ï¼GDBã¹ã¿ããç¨ãããã¨ãæ³å®ãã¦ï¼ãããGNU_STUBã«
+å®ç¾©ãã¦ãããï¼ã¿ã¼ã²ããä¾å­ã®å®ç¾©ãå
+¥ããMakefile.configã§ä¸æ¸ãã
+ããå ´åãããï¼ã©ã®ã¿ã¼ã²ãããã©ã®å®è¡ç°å¢ã«å¯¾å¿ãã¦ãããã¯ï¼ã¿ã¼ã²ã
+ãæ¯ã®ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+(D) ã«ã¼ãã«ã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªåã®å®ç¾©
+
+KERNEL_LIBã«ã¯ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã®ç½®ããããã£ã¬ã¯ããªåãå®ç¾©ããï¼
+ãã®å®ç¾©ã¯ï¼éå¸¸ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãããè¡ããï¼äºå¾ã«
+KERNEL_LIBã®å®ç¾©ãå¤æ´ãã¦ããã¾ããªãï¼
+
+(E) å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+
+å
+¨ä½ã«å
+±éããã³ã³ãã¤ã«ãªãã·ã§ã³ã®è¿½å ãå¿
+è¦ãªå ´åã«ã¯ï¼ä¸ã®å¤æ°ã®å®
+ç¾©ãå¤æ´ããï¼ãã®ã³ã³ãã¤ã«ãªãã·ã§ã³ãï¼ç¹å®ã®ã¿ã¼ã²ããã§å¸¸ã«å¿
+è¦ãª
+å ´åã«ã¯ï¼ã¿ã¼ã²ããä¾å­ã®å®ç¾©ãå
+¥ããMakefile.configãä¿®æ­£ãã¹ãã§ã
+ãï¼è¿½å ã®å¯è½æ§ã®ããã³ã³ãã¤ã«ãªãã·ã§ã³ã«ã¤ãã¦ã¯ï¼ã7.8 ã³ã³ãã¤ã«
+ãªãã·ã§ã³ããåç
+§ã®ãã¨ï¼
+
+    CDEFS       -D ãªãã·ã§ã³ãè¨è¿°ããï¼
+    INCLUDES    -I ãªãã·ã§ã³ãè¨è¿°ããï¼
+    COPTS       ã³ã³ãã¤ã©ã«å¯¾ãããã®ä»ã®ãªãã·ã§ã³ãè¨è¿°ããï¼
+    LDFLAGS     ãªã³ã«ã«å¯¾ãããªãã·ã§ã³ãè¨è¿°ããï¼
+    LIBS        ã©ã¤ãã©ãªãªã³ã¯ã®ããã®ãªãã·ã§ã³ãè¨è¿°ããï¼
+
+(F) ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+
+ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ãä¸ã¤ã®Cã½ã¼ã¹ãã¡ã¤ã«ï¼*.cï¼ã®ã¿ã§æ§æãã
+ã¦ããå ´åã«ã¯ï¼UNAMEã«ãã®ãã¡ã¤ã«åãå®ç¾©ããã°ããï¼ã¢ããªã±ã¼ã·ã§
+ã³ãã­ã°ã©ã ãè¤æ°ã®ã½ã¼ã¹ãã¡ã¤ã«ã§æ§æãããå ´åã«ã¯ï¼UNAMEã«ãã®ã¢
+ããªã±ã¼ã·ã§ã³åãå®ç¾©ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«åãUTASK_ASMOBJSããã³
+UTASK_COBJSã«åæããï¼ãããã®å ´åã«ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤
+ã«ã¯ï¼UNAMEã«å®ç¾©ããååã«æ¡å¼µå­"cfg"ãä»å ããååã¨ããï¼
+
+ã½ã¼ã¹ãã¡ã¤ã«ãã³ã³ãã¤ã«ããã®ã¨ã¯å¥ã®ãã£ã¬ã¯ããªã«ç½®ãå ´åã«ã¯ï¼
+UTASK_DIRSã«ãã®ãã£ã¬ã¯ããªãè¿½å ããï¼ã¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã³ã
+ã¤ã«ã«å¿
+è¦ãªã³ã³ãã¤ã«ãªãã·ã§ã³ãï¼ã¢ããªã±ã¼ã·ã§ã³ãã©ã¤ãã©ãªãå¿
+è¦
+ã¨ããå ´åã«ã¯ï¼UTASK_CFLAGSããã³UTASK_LIBS ã«å®ç¾©ããï¼
+
+(G) ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+
+ãªãã¸ã§ã¯ããã¡ã¤ã«åãOBJNAMEã«å®ç¾©ããï¼ããã©ã«ãã¯jspã§ããï¼
+
+(H) ã¿ã¼ã²ãããã¡ã¤ã«ã®å®ç¾©
+
+ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®å½¢å¼ãæå®ããï¼å
+·ä½çã«ã¯ï¼ELFå½¢å¼ã®æã¯$(OBJFILE) 
+ã¾ãã¯$(OBJNAME).outï¼PARTNER-Jç°å¢ã®æï¼ï¼ãã¤ããªå½¢å¼ã®æã¯
+$(OBJNAME).binï¼ã¢ãã­ã¼ã© Så½¢å¼ã®æã¯$(OBJNAME).srecãæå®ããï¼
+$(OBJFILE) ã¯ï¼Cygwinç°å¢ã§OBJEXTã"exe"ã«å®ç¾©ããæã«ã¯$(OBJNAME).exeï¼
+ããã§ãªãå ´åã«ã¯$(OBJNAME)ã¨ãªãï¼
+
+(I) ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+
+ã½ããã¦ã§ã¢é¨åã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãè¿½å ããå ´åã«ã¯ï¼ãã®è¦åãä¿®æ­£
+ãããã¨ãå¿
+è¦ã§ããï¼
+
+7.8 ã³ã³ãã¤ã«ãªãã·ã§ã³
+
+JSPã«ã¼ãã«ã®ã³ã¼ãä¸­ã«ã¯ï¼assertãã¯ã­ãä½¿ããã¦ããï¼assertãã¯ã­ã¯ï¼
+NDEBUGãå®ç¾©ãããã¨ã§ï¼ãªãã¸ã§ã¯ãã³ã¼ãä¸­ããæ¶ããã¨ãã§ããï¼ã«ã¼
+ãã«ã®ãããã°ãçµäºããã°ï¼CDEFSã«-DNDEBUGãæå®ãã¦ã³ã³ãã¤ã«ããæ¹
+ãå¹çããããªãï¼
+
+ã¾ãï¼ã·ã¹ãã ã­ã°æ©è½ãåãå¤ãããã®OMIT_SYSLOGãç¨æãã¦ããï¼è©³ã
+ãã¯ï¼ã4.8 ã·ã¹ãã ã­ã°æ©è½ã®è¨­å®æ¹æ³ããåç
+§ãããã¨ï¼
+
+7.9 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã®ä½¿ãæ¹
+
+ä»¥ä¸ã§ã¯ï¼cfgãã­ã°ã©ã ã¨chkãã­ã°ã©ã ã®ãªãã·ã§ã³ã«ã¤ãã¦èª¬æããï¼ã
+ããã®ãã­ã°ã©ã ã«ããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æé ã«ã¤ãã¦ã¯ï¼ã2.10 é
+çAPIã¨ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ããåç
+§ãããã¨ï¼
+
+cfgãã­ã°ã©ã ã¨chkãã­ã°ã©ã ã«å
+±éã®ãªãã·ã§ã³ã¯æ¬¡ã®éãï¼
+
+    -cpu <ãã­ã»ããµå>
+        ã¿ã¼ã²ãããã­ã»ããµåãæå®ããï¼
+
+    -system <ã·ã¹ãã å>
+        ã¿ã¼ã²ããã·ã¹ãã åãæå®ããï¼
+
+    -h, --help
+        ãã«ãã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+
+    -v
+        å¦çã®éä¸­çµæãè¡¨ç¤ºããï¼
+
+    -le, --english
+        ã¡ãã»ã¼ã¸ãè±èªã§è¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+
+    -lj, --japanese
+        ã¡ãã»ã¼ã¸ãæ¥æ¬èªã§è¡¨ç¤ºããï¼
+
+cfgãã­ã°ã©ã ã«å¯¾ãããªãã·ã§ã³ã¯æ¬¡ã®éãï¼
+
+    -s, --source <ãã¡ã¤ã«å>
+        <ãã¡ã¤ã«å>ã§æå®ãããã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+        ï¼Cè¨èªã®ããªãã­ã»ããµã§å¦çãããã®ï¼ãèª­ã¿è¾¼ãï¼<ãã¡ã¤ã«å>
+        ãçç¥ããå ´åã¯ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãæ¨æº
+        å
+¥åããèª­ã¿è¾¼ãï¼ãªãã·ã§ã³èªèº«ãçç¥ãã¦ã¯ãªããªãï¼ï¼
+
+    -c, --check
+        éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ã«ç¨ãããã¡ã¤ã«ãkernel_chk.cã«ç
+        æããï¼ããã©ã«ãã§ã¯çæããªãï¼ï¼
+
+    -obj, --dump-object <ãã¡ã¤ã«å>
+        éçAPIã®è§£æå
+å®¹ãå«ããªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«ãï¼<ãã¡ã¤ã«å>
+        ã§æå®ããããã¡ã¤ã«ã«çæããï¼<ãã¡ã¤ã«å>ãçç¥ããå ´åã¯ï¼
+        kernel_obj.datã«çæããï¼
+
+    -z, --nonzero
+        __EMTPY_LABELãã¯ã­ã®ä½¿ç¨ãææ­¢ããï¼
+
+    -ao=xxx
+        IDã®å²ä»é åºãæå®ããï¼xxxã«æå®ã§ããå
+å®¹ã¯æ¬¡ã®éãï¼
+
+        alphabetic          åç§°ã®æé ï¼Aã«è¿ããã®ã»ã©å°ããªå¤ï¼
+        fcfs                å®ç¾©é ã®æé  (å
+ã«å®£è¨ãããã®ã»ã©å°ããªå¤)
+        alphabetic,reverse  åç§°ã®éé 
+        fcfs,reverse        å®ç¾©é ã®éé 
+
+    -id=<ãã¡ã¤ã«å>
+        èªåIDå²ä»ãçµæããããã¡ã¤ã«ï¼kernel_id.hï¼ã®åç§°ãå¤æ´ããï¼
+
+    -cfg=<ãã¡ã¤ã«å>
+        ã«ã¼ãã«æ§æãã¡ã¤ã«(kernel_cfg.c)ã®åç§°ãå¤æ´ããï¼
+
+    -oproto
+        ãã³ãã©ãã¿ã¹ã¯æ¬ä½ãªã©ã®é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ãã«ã¼ãã«æ§æ
+        ãã¡ã¤ã«ï¼kernel_cfg.cï¼ã«åºåããï¼
+
+    -il
+        ã«ã¼ãã«é¢é£ã®ããããã¤ã³ã¯ã«ã¼ãããéã«ï¼"ãã¡ã¤ã«å" ã§ã¯ãªã
+        <ãã¡ã¤ã«å> ãä½¿ç¨ããï¼
+
+    -1.3
+        TOPPERS/JSPã«ã¼ãã« Release 1.3äºæã®å½¢å¼ã§çæããï¼
+        ï¼æ³¨æ: -1.3ã§çæãããã¡ã¤ã«ã¯1.4ä»¥éã§ã¯ä½¿ç¨ã§ããªãï¼
+
+    -iapi
+        ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¦çã§ããªãéçAPIãç¡è¦ããï¼
+
+    -t
+        ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¦çã§ããªãéçAPIãæ¨æºåºåã«åºå
+        ããï¼
+
+    -ext
+        æ¨æºå¤ã®æ¡å¼µæ©è½ã®ä½¿ç¨ãè¨±å¯ããï¼
+
+chkãã­ã°ã©ã ã«å¯¾ãããªãã·ã§ã³ã¯æ¬¡ã®éãï¼
+
+    -m, --module <ã¢ã¸ã¥ã¼ã«è¨è¿°>
+        ãã§ãã¯ããã­ã¼ãã¢ã¸ã¥ã¼ã«ãæå®ããï¼æ¨æºã®chkãã­ã°ã©ã ã¯ï¼
+        ã­ã¼ãã¢ã¸ã¥ã¼ã«ã®ã·ã³ãã«ãã¡ã¤ã«ï¼GNU BINUTILSã®nmãåºåãã
+        å½¢å¼ï¼ã¨ã¢ãã­ã¼ã©Sã¬ã³ã¼ããã¡ã¤ã«ãèª­ã¿è¾¼ãã§ãã©ã¡ã¼ã¿ãã§ã
+        ã¯ãè¡ãªãï¼ãã®å ´åï¼<ã¢ã¸ã¥ã¼ã«è¨è¿°>ã«ã¯ï¼ã·ã³ãã«ãã¡ã¤ã«ã¨
+        Sã¬ã³ã¼ããã¡ã¤ã«ã®2ã¤ã","ã§åºåã£ã¦æå®ããï¼
+
+    -cs, --script <ãã¡ã¤ã«å>
+        <ãã¡ã¤ã«å>ã§æå®ããããã§ãã¯ãã¡ã¤ã«ãç¨ãã¦ãã§ãã¯ããï¼
+        ãã§ãã¯ãã¡ã¤ã«ã¨ã¯ï¼cfgãã­ã°ã©ã ãçæããkernel_chk.cãï¼
+        ã³ã³ãã¤ã©ããã³ utils/gencheck ã«ããå å·¥ãããã¡ã¤ã«ã®ãã¨ã§
+        ããï¼ãã®ãªãã·ã§ã³ãçç¥ããå ´åï¼ããã¤ãã®ãã§ãã¯ãè¡ãã
+        ãªããªãï¼ãªãã·ã§ã³ãæå®ããå ´åã«ã¯ï¼<ãã¡ã¤ã«å>ã¯çç¥ã§ã
+        ãªãï¼
+
+    -obj, --load-object <ãã¡ã¤ã«å>
+        éçAPIã®è§£æå
+å®¹ãå«ããªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«ãï¼<ãã¡ã¤ã«å>
+        ã§æå®ããããã¡ã¤ã«ããèª­ã¿è¾¼ãï¼<ãã¡ã¤ã«å>ãçç¥ããå ´åã¯ï¼
+        kernel_obj.datããèª­ã¿è¾¼ãï¼
+
+    -cl <ã¨ã©ã¼ã¬ãã«>
+        ã¨ã©ã¼æ¤åºã¬ãã«ãå¤æ´ããï¼ã¬ãã«ã¯LAZYï¼éå¤§ãªã¨ã©ã¼ã®ã¿æ¤
+        åºï¼ï¼STANDARDï¼ITRONä»æ§ã®ç¯å²ã®ã¿ã§æ¤åºï¼ï¼TOPPERSï¼JSPã«ã¼
+        ãã«ã®å¶ééåã¾ã§æ¤åºï¼ï¼RESTRICTEDï¼ãã¹ã¦ã®ã¨ã©ã¼ãæ¤åºï¼ã®
+        4ç¨®é¡ã®ãã¡ããé¸æããï¼ããã©ã«ãã¯RESTRICTEDï¼ï¼
+
+7.10 ãªã³ã«ã¹ã¯ãªããã¨ã¡ã¢ãªé å
+
+JSPã«ã¼ãã«ã®ãªã³ã¯æ¹æ³ã¯ï¼ã¿ã¼ã²ããä¾å­ã®ãªã³ã«ã¹ã¯ãªããï¼*.ldï¼ã«
+è¨è¿°ããã¦ããï¼ãµã³ãã«ãã­ã°ã©ã ã® Makefile ã§ã¯ï¼ã¿ã¼ã²ããä¾å­ã®å®
+ç¾©ãå
+¥ãã Makefile.config ã®ä¸­ã§ LDSCRIPT ãå®ç¾©ããã¨ï¼å®ç¾©ããåå
+ã®ãã¡ã¤ã«ããªã³ã«ã¹ã¯ãªããã«ç¨ããï¼
+
+JSPã«ã¼ãã«åä½æã«ã¯ï¼ä»¥ä¸ã®ã¡ã¢ãªé åãå¿
+è¦ã«ãªãï¼
+
+(a) ã³ã¼ãé å
+
+ã«ã¼ãã«ããã³ã¢ããªã±ã¼ã·ã§ã³ã®ãã­ã°ã©ã ããã³å®æ°ãã¼ã¿ãç½®ãããé 
+åï¼ROMä¸ã«ç½®ããã¨ãå¯è½ã§ããï¼å
+é ­ã¢ãã¬ã¹ãï¼ã«ã¼ãã«ããªã³ã¯ãã
+éã® -Ttext ãªãã·ã§ã³ã§æå®ããï¼ãµã³ãã«ãã­ã°ã©ã ã® Makefile ã§ã¯ï¼
+ã¿ã¼ã²ããä¾å­ã®å®ç¾©ãå
+¥ãã Makefile.config ã®ä¸­ã§ TEXT_START_ADDRESS 
+ãå®ç¾©ããã¨ï¼ãªã³ã¯æã« -Ttext ãªãã·ã§ã³ãä»å ãããï¼
+
+(b) ãã¼ã¿é å
+
+ã«ã¼ãã«ããã³ã¢ããªã±ã¼ã·ã§ã³ã®ä½¿ç¨ãããã¼ã¿é åï¼åºå®çãªãã¼ã¿é å
+ã¨ï¼sbrké¢æ°ã«ãã£ã¦åããããã¼ãé åãããªãï¼ã«ã¼ãã«ã¯ãã¼ãé åã
+ä½¿ç¨ããªãï¼å
+é ­ã¢ãã¬ã¹ãï¼ã«ã¼ãã«ããªã³ã¯ããéã® -Tdata ãªãã·ã§ã³
+ã§æå®ããï¼ãµã³ãã«ãã­ã°ã©ã ã® Makefile ã§ã¯ï¼ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã
+å
+¥ãã Makefile.config ã®ä¸­ã§ DATA_START_ADDRESS ãå®ç¾©ããã¨ï¼ãªã³ã¯
+æã« -Tdata ãªãã·ã§ã³ãä»å ãããï¼
+
+(c) éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+
+å²è¾¼ã¿ãã³ãã©ãªã©ã®éã¿ã¹ã¯ã³ã³ãã­ã¹ããä½¿ç¨ããã¹ã¿ãã¯é åï¼é åã®
+è¨­å®æ¹æ³ã¯ã¿ã¼ã²ããä¾å­ã§ãããï¼éå¸¸ã¯ï¼ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®ã¤ã³
+ã¯ã«ã¼ããã¡ã¤ã«ï¼sys_config.hï¼ã§ã¹ã¿ãã¯ã®åæå¤ãå®ç¾©ãï¼ã¿ã¼ã²ãã
+ãã­ã»ããµä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ä¸­ã§åæåãããï¼
+
+7.11 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+JSPã«ã¼ãã«ãä»ã®ã¿ã¼ã²ããã¸ãã¼ãã£ã³ã°ããããã«å¿
+è¦ãªä½æ¥­ã¯ï¼ã«ã¼
+ãã«èªèº«ã®ãã¼ãã£ã³ã°ï¼ã·ã¹ãã ãµã¼ãã¹ã®ãã¼ãã£ã³ã°ï¼éçºç°å¢ã®æ§ç¯
+ã¨æ¨æºã®éçºç°å¢ã¨ã®å·®ç°ã®å¸åãªã©ãããªãï¼è©³ããã¯ï¼ãJSPã«ã¼ãã« ã¿
+ã¼ã²ããä¾å­é¨ ãã¼ãã£ã³ã°ã¬ã¤ããï¼config.txtï¼ãåç
+§ãããã¨ï¼
+
+7.12 ã«ã¼ãã«ã®å
+é¨è­å¥å­ã®ãªãã¼ã 
+
+Î¼ITRON4.0ä»æ§ã¯ï¼ã«ã¼ãã«ã®å
+é¨è­å¥å­ã_kernel_ã¾ãã¯_KERNEL_ã§å§ãã
+ãã¨ãè¦æ±ãã¦ããï¼ã¨ãããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ãä¸­ã§ç´æ¥ãã®ãããª
+è­å¥å­ãç¨ããã¨ï¼è­å¥å­ã®é·ããé·ããªãï¼å¯èª­æ§ãæãªãï¼ããã§JSPã«ã¼
+ãã«ã§ã¯ï¼xxxxxã¨ããã«ã¼ãã«ã®å
+é¨è­å¥å­ã_kernel_xxxxxã«ãªãã¼ã ãã
+ä»çµã¿ãå
+¥ãã¦ããï¼
+
+ã¨ãããï¼ãã®ä»çµã¿ã«ããï¼ãããã°ä½æ¥­ãéå¹çã«ãªãã±ã¼ã¹ãèããã
+ãï¼å
+·ä½çã«ã¯ï¼ã½ã¼ã¹ã³ã¼ãä¸­ã®è­å¥å­ããªãã¸ã§ã¯ãã³ã¼ãä¸­ã®è­å¥å­ã¨
+ä¸è´ããªãããã«ï¼ã½ã¼ã¹ã³ã¼ãä¸­ã®å¤æ°ãæå®ãã¦ãã®å¤ãèª­ãã ãï¼é¢æ°
+ãæå®ãã¦ããã«ãã¬ã¼ã¯ãã¤ã³ããç½®ãã¨ãã£ããã¨ãã§ããªãï¼
+
+ãã®åé¡ãè§£æ±ºããããã«ï¼JSPã«ã¼ãã«ã§ã¯ï¼ã½ã¼ã¹ã³ã¼ãä¸­ã®å¿
+è¦ãªè­å¥
+å­ããªãã¼ã ããããã®ã¦ã¼ãã£ãªãã£ï¼utils/renameï¼ãç¨æãã¦ããï¼
+renameã¦ã¼ãã£ãªãã£ã«ï¼ãªãã¼ã å®ç¾©ãã¡ã¤ã«ï¼xxx_rename.defï¼ã®ããª
+ãã£ãã¯ã¹ï¼xxxã®é¨åï¼ã¨ï¼ãªãã¼ã ããããã¡ã¤ã«ãªã¹ããä¸ããã¨ï¼ãª
+ãã¼ã å¦çãè¡ãªãï¼ä¾ãã°ï¼kernelãã£ã¬ã¯ããªã®ãã¹ã¦ã®ãã¡ã¤ã«ã«å¯¾ã
+ã¦ï¼ã«ã¼ãã«ã®å
+é¨è­å¥åããªãã¼ã ããã«ã¯ï¼æ¬¡ã®ã³ãã³ããç¨ããã°ããï¼
+
+    % cd kernel
+    % ../utils/rename jsp *
+
+
+ï¼ï¼ãã®ä»
+
+8.1 ã¦ã§ããµã¤ã
+
+TOPPERSãã­ã¸ã§ã¯ãããã³JSPã«ã¼ãã«ã®ããã®ã¦ã§ããµã¤ããï¼ä»¥ä¸ã®URL
+ã«ç¨æãã¦ããï¼
+
+        http://www.toppers.jp/
+
+é
+ä»ã­ããã®ææ°çã¯ï¼ãã®ã¦ã§ããµã¤ããããã¦ã³ã­ã¼ããããã¨ãã§ããï¼
+ã¾ãï¼å¾è¿°ã®ã¡ã¼ãªã³ã°ãªã¹ãã®ã¢ã¼ã«ã¤ããªã©ãï¼ãã®ã¦ã§ããµã¤ãã§é²è¦§
+ãããã¨ãã§ããï¼
+
+8.2 å©ç¨æ¡ä»¶ã»èä½æ¨©
+
+JSPã«ã¼ãã«ã®å©ç¨æ¡ä»¶ã¯ï¼åãã¡ã¤ã«ã®å
+é ­ã«æç¤ºããã¦ããï¼ãã®ãã­ã¥
+ã¡ã³ãã®å
+é ­ã«ãã¤ãã¦ããï¼ï¼èä½æ¨©ã¯ï¼åãã¡ã¤ã«ã®å
+é ­ã«è¡¨ç¤ºããã¦ã
+ãèä½æ¨©è
+ãä¿æãã¦ããï¼
+
+å©ç¨æ¡ä»¶ã® (3) ã® (b) ã«ããã¦ï¼å©ç¨ã®å½¢æ
+ãTOPPERSãã­ã¸ã§ã¯ãã«å ±å
+ããæ¹æ³ã¨ãã¦ã¯ï¼JSPã«ã¼ãã«ãå©ç¨ããè£½åã®åç§°ã¨å¿ç¨åéï¼è£½ååã
+ãä¼ç¤¾åã¨æ¥­ç¨®ç­ã®æ
+å ±ãï¼ä»¥ä¸ã®URLã®ãã¼ã¸ããå ±åãããã®ã¨ããï¼
+
+        http://www.toppers.jp/report.html
+
+ã¾ããã®éã«ï¼JSPã«ã¼ãã«ãä½¿ç¨ãã¦ã®ã³ã¡ã³ãããæè¦ãããã ããã¨å¹¸
+ãã§ããï¼
+
+8.3 ä¿è¨¼ã»ãµãã¼ãã»é©ç¨æ§
+
+JSPã«ã¼ãã«ã¯ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼éçºè
+ã¯ï¼ãã®é©ç¨å¯è½
+æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼ãµãã¼ãã®ç´æããã¦ããªãï¼
+è³ªåãããå ´åã¯ï¼å¾è¿°ã®ã¡ã¼ãªã³ã°ãªã¹ããå©ç¨ãã¦ããã ããã¨å¹¸ãã§ã
+ãï¼
+
+8.4 ã¡ã¼ãªã³ã°ãªã¹ã
+
+JSPã«ã¼ãã«ã®ã¦ã¼ã¶ã«å¯¾ããæ
+å ±æä¾ããã³ã¦ã¼ã¶ç¸äºéã®æ
+å ±äº¤æãå®¹æ
+ã«ããããã«ï¼TOPPERSã¦ã¼ã¶ãºã¡ã¼ãªã³ã°ãªã¹ããç¨æãã¦ããï¼ãã®ã¡ã¼
+ãªã³ã°ãªã¹ãã«ã¯ï¼èª°ã§ãèªç±ã«ã¡ã¼ã«ãéä»ãããã¨ãã§ããï¼ã¾ãï¼éä»
+ãããã¡ã¼ã«ã¯ï¼èª°ã§ãèªç±ã«ã¦ã§ããµã¤ãã§èª­ããã¨ãã§ããï¼JSPã«ã¼ã
+ã«ã«ãã°ãåé¡ç¹ãçºè¦ããå ´åã«ã¯ï¼ãã®ã¡ã¼ãªã³ã°ãªã¹ãã«å ±åãã¦æ¬²ã
+ãï¼
+
+ã¡ã¼ãªã³ã°ãªã¹ãã¸ã®ã¡ã¼ã«ã®éä»å
+ã¯æ¬¡ã®éãï¼
+
+        users@toppers.jp
+
+ã¡ã¼ãªã³ã°ãªã¹ãã«ãã°ãåé¡ç¹ãªã©ãå ±åããå ´åã«ã¯ï¼å¿
+è¦ã«å¿ãã¦ï¼æ¬¡
+ã®æ
+å ±ãç¥ããã¦æ¬²ããï¼
+
+    ã¿ã¼ã²ããã«é¢ããæ
+å ±
+        ã»ã¿ã¼ã²ãããã­ã»ããµã®ç¨®é¡
+        ã»ã¿ã¼ã²ãããã¼ãã®ç¨®é¡
+
+    ãã¹ãã«é¢ããæ
+å ±
+        ã»OSã®ãã¼ã¸ã§ã³ï¼ãµã¼ãã¹ããã¯ã®é©ç¨ç¶æ³ãï¼
+        ã»ã³ã³ãã¤ã©ãªã©ã®éçºç°å¢ã®ãã¼ã¸ã§ã³ï¼Cygwinã®ãã¼ã¸ã§ã³ãï¼
+
+ãã®ã¡ã¼ãªã³ã°ãªã¹ãã¸ã®ç»é²ãå¸æããå ´åã¯ï¼ã¾ãï¼
+users-ctl@toppers.jp å®ã¦ã«ï¼æ¬æã«
+
+        subscribe ããªãã®åå
+        ä¾: subscribe Hiroaki Takada
+
+ã¨æ¸ããã¡ã¼ã«ãéä»ããï¼ä¸è¨ã®ã³ãã³ãä¸­ã«ã¯åè§è±æå­ã®ã¿ãä½¿ããã¨ï¼ï¼
+æãè¿ãï¼ç»é²ç¢ºèªã®ããã®ã¡ã¼ã«ãéããã¦ããã®ã§ï¼ãã®æç¤ºã«å¾ã£ã¦ç»
+é²ããï¼
+
+8.5 TOPPERSãã­ã¸ã§ã¯ãã¸ã®åå 
+
+TOPPERSãã­ã¸ã§ã¯ãã§ã¯ï¼ä½ããã®å½¢ã§ãã­ã¸ã§ã¯ãã«è²¢ç®ããããæ¹ï¼ã
+ã­ã¸ã§ã¯ãã§éçºããã½ããã¦ã§ã¢ããä½¿ãã®æ¹ï¼ãã­ã¸ã§ã¯ãã«èå³ããæ
+ã¡ã®æ¹ã®åå ãæ±ãã¦ããï¼TOPPERSãã­ã¸ã§ã¯ãã¸ã®åå æ¹æ³ã«ã¤ãã¦ã¯ï¼
+TOPPERSãã­ã¸ã§ã¯ãã®ã¦ã§ããµã¤ããåç
+§ãããã¨ï¼
+
+8.6 ããã«ã¦ã§ã¢ç¨ã® Makefile
+
+ãµã³ãã«ãã£ã¬ã¯ããªã«ãã Makefilew.mware ã¯JSPã«ã¼ãã«ã«ããã«ã¦ã§ã¢
+ãçµã¿åããã¦ã³ã³ãã¤ã«ããããã® Makefile ã§ããï¼ãã® Makefile ãã
+ã¤ã³ã¯ã«ã¼ãããããã«ã¦ã§ã¢ç¨ã® Makefile ã§ã¯ï¼ä»¥ä¸ã®å¤æ°ãå®ç¾©ããã
+ã¨ï¼
+
+(1) MTASK_CFG
+ããã«ã¦ã§ã¢ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼ã½ã¼ã¹ï¼ãè¿½å ããï¼
+
+(2) MTASK_KERNEL_CFG
+ããã«ã¦ã§ã¢ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ããåºåããï¼JSPã«ã¼ãã« ã®ã·ã¹ãã ã³
+ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«ã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ãè¿½å ããï¼
+
+(3) MTASK_DIR
+ããã«ã¦ã§ã¢ã®ãã£ã¬ã¯ããªãè¿½å ããï¼
+
+(4) MTASK_LCSRCS
+ããã«ã¦ã§ã¢ãã©ã¤ãã©ãªåããã½ã¼ã¹ãã¡ã¤ã«ãè¿½å ããï¼
+
+(5) MTASK_ASMOBJS
+ããã«ã¦ã§ã¢ã®ã¢ã»ã³ããªè¨èªã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãè¿½å ããï¼
+
+(6) MTASK_CXXOBJS
+ããã«ã¦ã§ã¢ã® C++ è¨èªã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãè¿½å ããï¼
+
+(7) MTASK_COBJS
+ããã«ã¦ã§ã¢ã® C è¨èªã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãè¿½å ããï¼
+
+(8) MTASK_CFLAGS
+ããã«ã¦ã§ã¢ãã³ã³ãã¤ã«ããã¨ãã®ãªãã·ã§ã³ãæå®ããï¼
+
+(9) MTASK_LIBS
+ããã«ã¦ã§ã¢ã®ã©ã¤ãã©ãªãè¿½å ããï¼
+
+(10) MAKE_MTASK
+ã©ã¤ãã©ãªåããããã«ã¦ã§ã¢ãæå®ããï¼
+
+ï¼ï¼ãªãã¡ã¬ã³ã¹
+
+9.1 ãµã¼ãã¹ã³ã¼ã«ä¸è¦§
+
+(1) ã¿ã¹ã¯ç®¡çæ©è½
+
+        ER ercd = act_tsk(ID tskid);
+        ER ercd = iact_tsk(ID tskid);
+ ER_UINT actcnt = can_act(ID tskid);
+             void ext_tsk();
+        ER ercd = ter_tsk(ID tskid);
+        ER ercd = chg_pri(ID tskid, PRI tskpri);
+        ER ercd = get_pri(ID tskid, PRI *p_tskpri);
+
+(2) ã¿ã¹ã¯ä»å±åææ©è½
+
+        ER ercd = slp_tsk();
+        ER ercd = tslp_tsk(TMO tmout);
+        ER ercd = wup_tsk(ID tskid);
+        ER ercd = iwup_tsk(ID tskid);
+ ER_UINT wupcnt = can_wup(ID tskid);
+        ER ercd = rel_wai(ID tskid);
+        ER ercd = irel_wai(ID tskid);
+        ER ercd = sus_tsk(ID tskid);
+        ER ercd = rsm_tsk(ID tskid);
+        ER ercd = frsm_tsk(ID tskid);
+        ER ercd = dly_tsk(RELTIM dlytim);
+
+(3) ã¿ã¹ã¯ä¾å¤å¦çæ©è½
+
+        ER ercd = ras_tex(ID tskid, TEXPTN rasptn);
+        ER ercd = iras_tex(ID tskid, TEXPTN rasptn);
+        ER ercd = dis_tex();
+        ER ercd = ena_tex();
+     BOOL state = sns_tex();
+
+(4) åæã»éä¿¡æ©è½
+
+        ER ercd = sig_sem(ID semid);
+        ER ercd = isig_sem(ID semid);
+        ER ercd = wai_sem(ID semid);
+        ER ercd = pol_sem(ID semid);
+        ER ercd = twai_sem(ID semid, TMO tmout);
+
+        ER ercd = set_flg(ID flgid, FLGPTN setptn);
+        ER ercd = iset_flg(ID flgid, FLGPTN setptn);
+        ER ercd = clr_flg(ID flgid, FLGPTN clrptn);
+        ER ercd = wai_flg(ID flgid, FLGPTN waiptn,
+                        MODE wfmode, FLGPTN *p_flgptn);
+        ER ercd = pol_flg(ID flgid, FLGPTN waiptn,
+                        MODE wfmode, FLGPTN *p_flgptn);
+        ER ercd = twai_flg(ID flgid, FLGPTN waiptn,
+                        MODE wfmode, FLGPTN *p_flgptn, TMO tmout);
+
+        ER ercd = snd_dtq(ID dtqid, VP_INT data);
+        ER ercd = psnd_dtq(ID dtqid, VP_INT data);
+        ER ercd = ipsnd_dtq(ID dtqid, VP_INT data);
+        ER ercd = tsnd_dtq(ID dtqid, VP_INT data, TMO tmout);
+        ER ercd = fsnd_dtq(ID dtqid, VP_INT data);
+        ER ercd = ifsnd_dtq(ID dtqid, VP_INT data);
+        ER ercd = rcv_dtq(ID dtqid, VP_INT *p_data);
+        ER ercd = prcv_dtq(ID dtqid, VP_INT *p_data);
+        ER ercd = trcv_dtq(ID dtqid, VP_INT *p_data, TMO tmout);
+
+        ER ercd = snd_mbx(ID mbxid, T_MSG *pk_msg);
+        ER ercd = rcv_mbx(ID mbxid, T_MSG **ppk_msg);
+        ER ercd = prcv_mbx(ID mbxid, T_MSG **ppk_msg);
+        ER ercd = trcv_mbx(ID mbxid, T_MSG **ppk_msg, TMO tmout);
+
+(5) ã¡ã¢ãªãã¼ã«ç®¡çæ©è½
+
+        ER ercd = get_mpf(ID mpfid, VP *p_blk);
+        ER ercd = pget_mpf(ID mpfid, VP *p_blk);
+        ER ercd = tget_mpf(ID mpfid, VP *p_blk, TMO tmout);
+        ER ercd = rel_mpf(ID mpfid, VP blk);
+
+(6) æéç®¡çæ©è½
+
+        ER ercd = set_tim(const SYSTIM *p_systim);
+        ER ercd = get_tim(SYSTIM *p_systim);
+        ER ercd = isig_tim();
+
+        ER ercd = sta_cyc(ID cycid);
+        ER ercd = stp_cyc(ID cycid);
+
+(7) ã·ã¹ãã ç¶æ
+ç®¡çæ©è½
+
+        ER ercd = rot_rdq(PRI tskpri);
+        ER ercd = irot_rdq(PRI tskpri);
+        ER ercd = get_tid(ID *p_tskid);
+        ER ercd = iget_tid(ID *p_tskid);
+        ER ercd = loc_cpu();
+        ER ercd = iloc_cpu();
+        ER ercd = unl_cpu();
+        ER ercd = iunl_cpu();
+        ER ercd = dis_dsp();
+        ER ercd = ena_dsp();
+     BOOL state = sns_ctx();
+     BOOL state = sns_loc();
+     BOOL state = sns_dsp();
+     BOOL state = sns_dpn();
+     BOOL state = vsns_ini();
+
+(8) å²è¾¼ã¿ç®¡çæ©è½
+
+        ER ercd = dis_int(INTNO intno);
+        ER ercd = ena_int(INTNO intno);
+        ER ercd = chg_ixx(IXXXX ixxxx);
+        ER ercd = get_ixx(IXXXX *p_ixxxx);
+        â» xxï¼xxxxï¼XXXX ã¯ã¿ã¼ã²ããæ¯ã«å®ããããï¼
+
+(9) CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
+åç
+§
+
+     BOOL state = vxsns_ctx(VP p_excinf);
+     BOOL state = vxsns_loc(VP p_excinf);
+     BOOL state = vxsns_dsp(VP p_excinf);
+     BOOL state = vxsns_dpn(VP p_excinf);
+     BOOL state = vxsns_tex(VP p_excinf);
+
+(10) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½
+
+        ER ercd = vxget_tim(SYSUTIM *p_sysutim);
+
+9.2 éçAPIä¸è¦§
+
+    CRE_TSK(tskid, { ATR tskatr, VP_INT exinf, FP task,
+                                PRI itskpri, SIZE stksz, VP stk });
+    DEF_TEX(ID tskid, { ATR texatr, FP texrtn });
+    CRE_SEM(ID semid, { ATR sematr, UINT isemcnt, UINT maxsem });
+    CRE_FLG(ID flgid, { ATR flgatr, FLGPTN iflgptn });
+    CRE_DTQ(ID dtqid, { ATR dtqatr, UINT dtqcnt, VP dtq });
+    CRE_MBX(ID mbxid, { ATR mbxatr, PRI maxmpri, VP mprihd });
+    CRE_MPF (ID mpfid, { ATR mpfatr, UINT blkcnt, UINT blksz, VP mpf } ) ;
+    CRE_CYC (ID cycid, { ATR cycatr, VP_INT exinf, FP cychdr,
+                                RELTIM cyctim, RELTIM cycphs } ) ;
+    DEF_INH(INHNO inhno, { ATR inhatr, FP inthdr });
+    DEF_EXC(EXCNO excno, { ATR excatr, FP exchdr });
+    ATT_INI({ ATR iniatr, VP_INT exinf, FP inirtn });
+    VATT_TER({ ATR teratr, VP_INT exinf, FP terrtn });
+
+9.3 ã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãä¸è¦§ï¼JSPã«ã¼ãã«ãè¿ããã®ã®ã¿ï¼
+
+    E_PAR       -17             ãã©ã¡ã¿ã¼ã¨ã©ã¼
+    E_ID        -18             ä¸æ­£IDçªå·
+    E_CTX       -25             ã³ã³ãã­ã¹ãã¨ã©ã¼
+    E_ILUSE     -28             ãµã¼ãã¹ã³ã¼ã«ä¸æ­£ä½¿ç¨
+    E_OBJ       -41             ãªãã¸ã§ã¯ãç¶æ
+ã¨ã©ã¼
+    E_QOVR      -43             ã­ã¥ã¼ã¤ã³ã°ãªã¼ãã¼ãã­ã¼
+    E_RLWAI     -49             å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤
+    E_TMOUT     -50             ãã¼ãªã³ã°å¤±æã¾ãã¯ã¿ã¤ã ã¢ã¦ã
+
+9.4 ãã¼ã¸ã§ã³å±¥æ­´
+
+    2000å¹´11æ15æ¥      Release 1.0             æåã®ãªãªã¼ã¹
+    2000å¹´11æ24æ¥      Release 1.0 (PL=1)      åé¡ç¹ã®ä¿®æ­£
+    2001å¹´2æ24æ¥       Release 1.1             V850ã®è¿½å ãªã©
+    2001å¹´5æ9æ¥        Release 1.1 (PL=1)      SH1ã®è¿½å ãªã©
+    2001å¹´11æ15æ¥      Release 1.2             SH4ï¼H8ï¼ARM7TDMIã®è¿½å ãªã©
+    2002å¹´4æ15æ¥       Release 1.3             M32Rï¼MicroBlazeï¼TMS320C54xï¼
+                                                i386ï¼H8Sã®è¿½å ãªã©
+    2003å¹´12æ25æ¥      Release 1.4             å¤æ°ã®æ¹è¯
+    2004å¹´10æ14æ¥      Release 1.4 (PL=1)      SH2ï¼M16Cï¼SC33ï¼PowerPC32ï¼
+                                                Nios2ã®è¿½å ãªã©
+    2005å¹´11æ28æ¥      Release 1.4 (PL=2)      M32C-Renesas, H8-Renesas,
+                                                H8S-Renesas, V850
+    2007å¹´6æ1æ¥        Release 1.4 (PL=3)      åé¡ç¹ã®ä¿®æ­£ï¼æ±èTLCS900ã®è¿½å ãªã©
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/v850.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/v850.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/v850.txt	(revision 26)
@@ -0,0 +1,366 @@
+
+        ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                    (NEC V850ES/KJ1+ ãã­ã»ããµä¾å­é¨)
+                Application Corp. : TK-850/KJ1+, TK-850/SG2
+
+        ï¼Release 1.4.3 å¯¾å¿ï¼2007ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2005 by Freelines CO.,Ltd 
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: v850.txt,v 1.16 2007/05/21 01:28:08 honda Exp $
+------------------------------------------------------------------------
+
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ï¼TOPPERS/JSP V850çã«ã¤ãã¦è§£èª¬ããï¼
+
+ï¼ï¼ V850 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+V850ç°å¢ã®å®è¡ç°å¢ã¨ãã¦ã¯ï¼æ¬¡ã®ãã®ãæ³å®ãã¦ããï¼
+
+    ã»Application Corp. TK-850/KJ1+, TK-850/SG2
+
+éçºç°å¢ã¨ãã¦æ¬¡ã®ãã®ãä½¿ç¨ããï¼
+    ã»Microsoft Windows 2000 Proffesional + CygWin 1.3.12-2
+    ã»binutils 2.11-2 (v850-nec-elf)
+    ã»gcc 2.95.3 (v850-nec-elf)
+    ã»newlib 1.9.0 (v850-nec-elf)
+    ã»ICE IE-V850E1-CD-NW
+
+    newlibã¯ãã½ã¼ã¹ãããã«ãããå ´åãã³ã³ãã¤ã«ãªãã·ã§ã³"-mno-app-regs"ã¨
+    "-msmall-sld"ãmakeã¨ã©ã¼ãèµ·ãããnewlibã®makefileãããã®ï¼ã¤ã®ãªãã·ã§ã³
+    ãåé¤ãããã¨ã§makeã¯å®äºããã
+
+    ICEãä½¿ç¨ããããgccã§ãªã³ã¯ãããelfã¯ããã®ICEã§ã¯ã½ã¼ã¹ãããã¯ã
+    ã§ããªãï¼ï¼ã·ã³ãã«ã®ã¿èª­ã¿è¾¼ããï¼
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+    ã»vxget_tim
+        V850ç°å¢ã§ã¯vxget_timããµãã¼ãããï¼
+        ãã ãå
+å®¹ã¯ã¿ã¤ãã«ã¦ã³ã¿ãè¿ãã®ã¿ã§ããï¼
+
+    ã»å¤éå²è¾¼ã¿
+        V850ç°å¢ã§ã¯å²è¾¼ã¿ãã³ãã©èµ·åä¸­ã®å¤éå²ãè¾¼ã¿ãè¨±å¯ããï¼
+
+1.3 TOPPERS/JSP V850ç°å¢ã®å¶éäºé 
+
+
+    ã»chg_ixx
+        V850ç°å¢ã§ã¯å²è¾¼ã¿åªå
+åº¦ã®å¤æ´ã¯ãµãã¼ãå¤ã§ãã
+
+    ã»ena_int, dis_int
+        V850ç°å¢ã§ã¯å²è¾¼ã¿è¨±å¯ã»ç¦æ­¢ã¯ãµãã¼ãå¤ã§ããï¼
+        ãã ãloc_cpuã¨unl_cpuã¯åç­ã®æä½ãè¡ãï¼
+
+    ã»CPUä¾å¤ã¨å²ãè¾¼ã¿ã¯åä¸
+        V850ç°å¢ã§ã¯def_excã¨def_intã¯åæ§ã®å¦çãè¡ãï¼
+
+
+ï¼ï¼V850ç°å¢ã«ä¾å­ããæ©è½
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼V850ç°å¢ä¾å­ã®é¨åã«
+ã¤ãã¦è§£èª¬ããï¼
+
+2.1 ãã¼ã¿å
+
+intå ããã³ unsigned intåã®ãµã¤ãºã¯32ãããã§ããï¼
+
+å²è¾¼ã¿åªå
+åº¦ãè¡¨ç¾ããå IPR ã¯ç¬¦å·ãªã8ãããæ´æ°ã§ããï¼
+
+
+ï¼ï¼ã·ã¹ãã ã«ä¾å­ããæ©è½
+
+3.1 ã¡ã¢ãªããã
+
+ã»TK-850/KJ1+
+    0x00000000 - 0x000003CF : ãã¯ã¿ãã¼ãã«
+    0x000003D0 -            : ãã­ã°ã©ã ã³ã¼ã (å
+èµFlashROM)
+    0x03FFB000 -            : ãã­ã°ã©ã ãã¼ã¿ (å
+èµRAM)
+               - 0x03FFEFFF : ã·ã¹ãã ã¹ã¿ãã¯ (å
+èµRAM)
+
+ã»TK-850/SG2
+    0x00000000 - 0x000003CF : ãã¯ã¿ãã¼ãã«
+    0x000003D0 -            : ãã­ã°ã©ã ã³ã¼ã (å
+èµFlashROM)
+    0x03FF7000 -            : ãã­ã°ã©ã ãã¼ã¿ (å
+èµRAM)
+               - 0x03FFEFFF : ã·ã¹ãã ã¹ã¿ãã¯ (å
+èµRAM)
+
+ã¹ã¿ãã¯é åã¯å
+èµRAMé åã®æ«å°¾ããã¢ãã¬ã¹å¤ãæ¸å°ããæ¹åã¸é²ãï¼
+ãã¼ã¿é åã¯æå®ã®é åããã¢ãã¬ã¹å¤ãå¢å ããæ¹åã¸ç¢ºä¿ãããï¼
+
+3.2 ä»ã®ã·ã¹ãã /ãããã¸ã®ãã¼ãã£ã³ã°
+
+ãã¼ãã£ã³ã°ä½æ¥­ã¯æ¬¡ã®ã¹ããããããªãï¼
+    ã»ã·ã¹ãã ã¬ã¸ã¹ã¿ã®è¨­å®
+    ã»ã¿ã¤ãã¼ã®è¨­å®
+    ã»ã·ãªã¢ã«ãã¼ãã®è¨­å®
+    ã»RAMéå§çªå°ã®è¨­å®
+    ã»ã¤ãã·ã£ã«ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+3.2.1 ã¡ã¢ãªããããã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹å¤è¨­å®
+
+TOPPERS/JSP V850ç°å¢ã§ã¯å
+èµã®å¨è¾ºããã¤ã¹ã¸ã¢ã¯ã»ã¹ããåã«ãããã¤ãã®
+ã¬ã¸ã¹ã¿ãè¨­å®ãã¦ãããCPUã¯ã­ãã¯ã®éåº¦ã«å¿ããå
+é¨ããã¤ã¹ã®ã¦ã§ã¤ãã
+å¶å¾¡ããã¬ã¸ã¹ã¿ãã¦ã©ããããã¯ã¿ã¤ãã¼ãOFFã«ãããå¤é¨ãã¹ã®ã¦ã§ã¤ãè¨­å®
+ãªã©ã®æä½ã§ããï¼
+
+3.2.2 ã¿ã¤ãã¼å¤ã®è¨­å®
+
+TOPPERS/JSP V850ES/KJ1+ç°å¢ã§ã¯TM00ãä½¿ç¨ãã¦ãããæ¨æºã§1msãã¨ã«å²è¾¼ã¿ãçºçããã¦ããï¼
+V850ES/SG2ç°å¢ã§ã¯TP0ãä½¿ç¨ãã¦ããï¼
+
+å²è¾¼ã¿ãçºçãããã¾ã§ã®æéã¯ã¿ã¤ãã³ã³ãã¢ã¬ã¸ã¹ã¿ã®å¤ãããã¥ã¢ã«ã«
+ãããã£ã¦èª¿æ´ãããã¨ã§å¸°ããã¨ãã§ããï¼ï¼ä¸è¨è¨è¿°ã¯KJ1+ç¨ã ãSG2ãåæ§ã§ããï¼
+
+config/v850/tk850/tk850_kj1/hw_timer.h:hw_timer_initialize()
+Inline void
+hw_timer_initialize()
+{
+	/* ã¿ã¤ãåæå */
+	sil_wrb_mem((VP)PRM00, 0);		/* fx/2 */
+	sil_wrh_mem((VP)CR000, TIMER_COMPAREVALUE);
+
+ã¾ãã¿ã¤ã ãã£ãã¯èªä½ãä¿®æ­£ããå ´åã¯sys_defs.h:71,72ã®TIC_NUMEããã³
+TIC_DENOãä¿®æ­£ããï¼ããããã¯æ¬¡å¼ã«å¾ãï¼
+
+ã¿ã¤ã ãã£ãã¯(ms) = TIC_NUME(ms) / TIC_DENO(ms)
+
+3.2.3 RAMéå§çªå°ã®è¨­å®
+
+config/v850/tk850_kj1/v850elf.ldã®MEMORYé¨ã®å
+å®¹ãä¿®æ­£ãããã¨ã§ãã¡ã¢ãª
+ã®ãµã¤ãºããã³ä½ç½®ãå¤ãããã¨ãã§ãããã¾ããåã»ã¯ã·ã§ã³ã®æ«å°¾ã«ãã 
+"> INTROM" ã¾ãã¯ "> INTRAMãé
+ç½®ããç©ºéãå¤ãããã¨ãå¯è½ã§ãããï¼SG2ãåæ§ï¼
+
+3.2.4 ã¤ãã·ã£ã«ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨­å®
+
+èµ·åæã«è¨­å®ãããåæã¹ã¿ãã¯ãã¤ã³ã¿ã®çªå°ã¯config/v850/tk850_kj1/sys_config.h:70
+ã®STACKTOPã«è¨è¿°ããã¦ããï¼ï¼SG2ãåæ§ï¼
+ãã®STACKTOPã«ã¯4ãã¤ãã¢ã©ã¤ã³ãããå¤ãæ ¼ç´ããï¼
+
+tk850_kj1/sys_config.h(70):
+	#define	STACKTOP	(IRAM_TOP+IRAM_SIZE)	/* éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ */
+
+ã¹ã¿ãã¯ã¯ããªãã¯ãªã¡ã³ãã¹ã¿ãã¯ã§ããããï¼STACKTOPã§ç¤ºãããã¢ãã¬ã¹
+ã«ã¯ä½ãæ ¼ç´ãããªããã¨ã«æ³¨æããããï¼
+
+3.2.5 ãã®ä»ã®è¨­å®
+
+    ã»ã¿ã¤ãå²ãè¾¼ã¿ã®çªå·
+        config/v850/tk850_kj1/hw_timer.h:61 INHNO_TIMERå®£è¨
+            ã¿ã¤ããçºçããå²è¾¼ã¿ã®çªå·ï¼SG2ãåæ§ï¼
+
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
+§ãããã¨ï¼
+
+ICEã«IE-V850E1-CD-NWãä½¿ç¨ããå ´åã«ã¯Makefileãä»¥ä¸ã®ããã«ä¿®æ­£ããå¿
+è¦ãããï¼
+
+DBGENVã®ã³ã¡ã³ãã¢ã¦ã
+#
+#  å®è¡ç°å¢ã®å®ç¾©ï¼ã©ãã«ãè©²å½ããªãå ´åã¯ï¼ãã¹ã¦ã³ã¡ã³ãã¢ã¦ãããï¼
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+#DBGENV := GDB_STUB
+
+åºåããå®è¡ã¢ã¸ã¥ã¼ã«ãã¡ã¤ã«ã.outã«æå®
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+#all: $(OBJFILE)
+all: $(OBJNAME).out
+#all: $(OBJNAME).bin
+#all: $(OBJNAME).srec
+
+outãã¡ã¤ã«ãåºåããããã®æå®
+#
+#  outãã¡ã¤ã«ã®ããã®ãã¡ã¤ã«
+#
+$(OBJNAME).out: $(OBJFILE)
+	cp $(OBJFILE) $(OBJNAME).out
+
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+TOPPERS/JSP V850ä¾å­é¨ æ§æãã¡ã¤ã« ããªã¼
+
+[jsp]
+  +- [doc]
+  |   +- v850.txt  : ãã®ãã¡ã¤ã«
+  +- [config]
+      +- [v850]
+          +- cpu_config.h    : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+          +- cpu_config.c    : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+          +- cpu_context.h   : ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+          +- cpu_defs.h      : CPUä¾å­æ
+å ±å®ç¾©ãã¡ã¤ã«
+          +- cpu_rename.def  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+          +- cpu_rename.h    : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+          +- cpu_support.S   : CPUä¾å­ã¢ã»ã³ãã©ã³ã¼ãã£ã³ã°é¨
+          +- cpu_unrename.h  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+          +- Makefile.config : CPUä¾å­Makefile
+          +- makeoffset.c    : æ§é ä½ãªãã»ããä½ç½®åå¾ç¨
+          +- start.S         : ã¹ã¿ã¼ãã¢ãã / å²è¾¼ã¿ãã³ãã©
+          +- tool_config.h   : ãã­ã»ããµã®éçºç°å¢ä¾å­ã¢ã¸ã¥ã¼ã«å®ç¾©
+          +- tool_defs.h     : ãã­ã»ããµã®éçºç°å¢ä¾å­å®ç¾©
+          +- v850asm.inc     : ã¢ã»ã³ãã©ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+          +- [tk850_kj1]       : KJ1+ç¨ä¾å­é¨
+              +- Makefile.config : ã·ã¹ãã ä¾å­Makefile
+              +- hw_timer.h      : ã¿ã¤ãæä½   (V850ESå
+èµã¿ã¤ãTM00)
+              +- hw_serial.h     : ã·ãªã¢ã«æä½ (V850ESå
+èµéåæSIO0)
+              +- hw_serial.cfg   : ã·ãªã¢ã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+              +- sys_config.h    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_config.c    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_defs.h      : ã·ã¹ãã ä¾å­å®ç¾©ãã¡ã¤ã«
+              +- sys_support.S   : ã·ã¹ãã ä¾å­ã¢ã»ã³ãã©é¨
+              +- sys_rename.def  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+              +- sys_rename.h    : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+              +- sys_unrename.h  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+              +- v850elf.ld      : ãªã³ã«ã¹ã¯ãªãã
+              +- v850es_kj1.h    : V850ES/KJ1+ã®ã¬ã¸ã¹ã¿å®ç¾©
+          +- [tk850_sg2]       : SG2ç¨ä¾å­é¨
+              +- Makefile.config : ã·ã¹ãã ä¾å­Makefile
+              +- hw_timer.h      : ã¿ã¤ãæä½   (V850ESå
+èµã¿ã¤ãTP0)
+              +- hw_serial.h     : ã·ãªã¢ã«æä½ (V850ESå
+èµéåæSIO0)
+              +- hw_serial.cfg   : ã·ãªã¢ã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+              +- sys_config.h    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_config.c    : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+              +- sys_defs.h      : ã·ã¹ãã ä¾å­å®ç¾©ãã¡ã¤ã«
+              +- sys_support.S   : ã·ã¹ãã ä¾å­ã¢ã»ã³ãã©é¨
+              +- sys_rename.def  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
+              +- sys_rename.h    : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã ã®å®ç¾©
+              +- sys_unrename.h  : ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
+              +- v850elf.ld      : ãªã³ã«ã¹ã¯ãªãã
+              +- v850es_sg2.h    : V850ES/SG2ã®ã¬ã¸ã¹ã¿å®ç¾©
+
+
+ï¼ï¼ãã®ä»
+
+    ã»ãã®éçºç°å¢ã§ã¯ããªã³ã¯ã®å¾ã«å®è¡ãããã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ãã§ãã«ã¼(chk.exe)ã§
+      ã¨ã©ã¼ãçºçããï¼ç¡è¦ãã¦ããã¾ããªãããç
+©ããããªãMakefileããåé¤ãã¦ãæ¯éãªãï¼
+
+
+ï¼ï¼ãã¼ã¸ã§ã³å±¥æ­´
+	2007å¹´ 05æ14æ¥  Release 1.4.3
+		ã»rel 1.4.3å¯¾å¿
+		ã»TK-850/KJ1+ã®ã·ãªã¢ã«ãã©ã¤ãã®ãã°ï¼åä¿¡ä¸­ç¶æ
+ãè§£é¤ãããªãï¼ãä¿®æ­£
+
+	2006å¹´ 04æ10æ¥  Release 1.4.2
+		ã»å²ãè¾¼ã¿å¦çããã£ã¹ãããå¦çé¨(cpu_supprt.S)ãå
+¨é¢è¦ç´ãï¼
+		ã»TK-850/SG2å¯¾å¿ãè¿½å 
+
+	2005å¹´ 11æ18æ¥  Release 1.4.2
+		ã»renameã®éè¤ã®æé¤ï¼
+		ã»å¼æ°ãªãé¢æ°ã®å®£è¨ã«voidãå
+¥ããï¼
+
+	2005å¹´ 8æ2æ¥  Release 1.4.2
+		ã»rel 1.4.2ã¸åãããã¿ï¼
+
+	2005å¹´ 5æ17æ¥  Release 1.4.1
+		ã»rel 1.3ãã1.4.1ã¸åãããã¿ï¼ã¿ã¼ã²ãããæ ªï¼ã¢ããªã±ã¼ã·ã§ã³ã®
+		  TK-850/KJ1+ã«å¤æ´ï¼ã½ã¼ã¹ããã­ã¥ã¡ã³ããæ´æ°ï¼1.4.1ã§ã¯Midas Labè£½
+		  ã®RTE-V850E/MA1-CBã®ãµãã¼ããå¤ããï¼
+
+	2002å¹´ 4æ 6æ¥  Release 1.3
+		ã»rel 1.3ã«ãããããã­ã¥ã¡ã³ãã®ä¸é¨ã«ééããã£ãã®ãä¿®æ­£
+
+	2001å¹´11æ15æ¥  Release 1.2
+		ã»RTE-V850E/MA1-CBã®ãµãã¼ã
+
+	2001å¹´ 2æ23æ¥  Release 1.1
+		TOPPERS/JSP release 1.1 ã«åããã¦ããããä¿®æ­£
+		ã»gcc -ffix-REGã®å­å¨ãç¥ãããã®æç« ã¨Makefileãä¿®æ­£
+
+    2000å¹´11æ27æ¥  Release 1.0
+        ã»ãã­ã¥ã¡ã³ãå®æ
+        ã»å²è¾¼ã¿åå¾å¦çã«ã¼ãã³ãæ¹è¯ ã¬ã¸ã¹ã¿éé¿ã2åã«åãã
+        ã»ãã£ã¹ãããã£ãæ¬¡ã¿ã¹ã¯ãªãç¶æ
+æã«åã®ã¿ã¹ã¯ã¹ã¿ãã¯ã
+            å©ç¨ãã¦ãã¾ããã°ãä¿®æ­£
+
+    2000å¹´11æ19æ¥  Release 0.9
+        ã»æåã®ãªãªã¼ã¹
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/windows.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/windows.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/windows.txt	(revision 26)
@@ -0,0 +1,1490 @@
+
+           ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+    ï¼Windows ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ï¼ã¿ã¹ã¯âã¹ã¬ããå¯¾å¿ã¢ãã«ï¼
+
+            ï¼Release 1.4 å¯¾å¿ï¼æçµæ´æ°: 20-Dec-2003ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+
+ @(#) $Id: windows.txt,v 1.19 2004/05/27 08:50:32 honda Exp $
+------------------------------------------------------------------------
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ï¼TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢é¨åã«ã¤
+ãã¦è§£èª¬ããï¼
+
+-------------------------------------------------------
+ï¼ï¼ Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+-------------------------------------------------------
+
+--------------------------------
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+--------------------------------
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®å®è¡ç°å¢ã¨ãã¦ã¯ï¼æ¬¡ã®ãã®ãæ³å®ãã¦ããï¼
+
+    ã»Microsoft Windows 2000/XP Pro (x86)
+        #Windows XP Home Editionã§ã®æ¤è¨¼ã¯è¡ã£ã¦ããªã
+
+ã¾ãéçºç°å¢ã¨ãã¦æ¬¡ã®ãã®ãæ³å®ãã¦ããï¼
+    ã»Microsoft Visual C++ 6.0
+       #ä¸é¨ã®ã³ã¼ãã«ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ãä½¿ç¨ãã¦ããããã
+       #MSVCä»¥å¤ã®å¦çç³»ãç¨ãããã¨ã¯ã§ããªã
+
+ã¾ãä»å±ããè¿½å æ©è½ãå©ç¨ããããã«ãæ¬¡ã®ãã®ãå¿
+è¦ã«ãªãå ´åãããï¼
+    ã»Microsoft VisualBASIC 6.0
+    ã»Active Template Library 3.0 (Visual C++ 6.0ã«å«ã¾ãã)
+    ã»Microsoft Foundation Class Library 6.0 (Visual C++ 6.0ã«å«ã¾ãã)
+
+è£è¶³
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®éçºã¯æ¬¡ã®ç°å¢ã§è¡ããã¦ããï¼
+
+   [OS]     ã»Microsoft Windows XP Professional
+                + Service Pack 1
+   [å¦çç³»] ã»Microsoft Visual Studio .NET Academic   (ä¸»ããéçºç°å¢)
+                + .NET Framework ServicePack 1
+            ã»Microsoft Visual Studio .NET Enterprise Architect
+                + .NET Framework ServicePack 1
+            ã»Microsoft Visual Studio 6.0 Enterprise
+                + Microsoft Visual Studio 6.0 ServicePack5
+                + Microsoft Visual C++ Processor Pack
+            ã»RedHat cygwin (API:0.94, 1005.5.0.0)
+
+
+--------------------------
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+--------------------------
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã«ä¾å­ããæ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»å
+ç
+§(chg_ixx, get_ixx)ã¨å²ãè¾¼ã¿ã®ç¦æ­¢ã»è¨±å¯(dis_int, ena_int)ããµãã¼ãã
+ã¦ããï¼ã¾ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)ããµãã¼ããã¦ããï¼
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¯ï¼ãã¬ã¼ã¹ã­ã°åºåæ©æ§ãåãã¦ããï¼åæ©è½
+ã¯ï¼åä½èµ·åæã§ã¯ãã¡ã¤ã«åºåã®å½¢ã§ï¼ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ä½¿ç¨æ
+ã«ã¯COMéä¿¡ã®å½¢ã§ä½¿ç¨ãããã¨ãã§ããï¼
+
+-----------------------------------------------------
+1.3 TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®å¶éäºé 
+
+-----------------------------------------------------
+
+    ã»ããã©ã«ãã®ã¿ã¤ãåè§£è½ã¯100ms
+        Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ã¿ã¤ããã£ãã¯ã¯100msã¨ãªã£ã¦ããï¼
+        ãã ãåä½ã¯msã®ã¾ã¾ã§ããï¼50msã®dly_tskãçºè¡ããå ´å 100msç§å¾ã«
+        å¦çãè¡ãããããã¨ã«ãªãï¼
+        ãã ãï¼ã½ã¼ã¹ã®ä¸é¨ãå¤æ´ãããã¨ã§ï¼çè«ä¸1msã«ã¾ã§å¤æ´ã§ããï¼
+
+    ã»ã¿ã¹ã¯ã¹ã¿ãã¯ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã¹ã¿ãã¯ã¯èªåçæ
+        åã³ã³ãã­ã¹ãã§å¿
+è¦ãªã¹ã¿ãã¯ã¯Windowsãçæããããï¼ã³ã³ãã£ã®ã¥
+        ã¬ã¼ã¿ãæ¨æºã§çæããã¹ã¿ãã¯ã¯å©ç¨ãããªãï¼ã¾ãã¹ã¿ãã¯é åãä¸
+        è¶³ããå ´åï¼Windowsãèªåçã«é åãåå²ãå½ã¦ããï¼
+
+------------------------------
+1.4 ãã¼ã¸ã§ã³å¤é·ã«ããå¤æ´ç¹
+------------------------------
+
+ã»Release 1.3 ãã Release 1.4ã¸
+	- Windows 9xç³»ã«ã¼ãã«ããµãã¼ãå¤ã«
+		# MicrosoftãWindows98ããµãã¼ãå¯¾è±¡å¤ã¨ãããã
+	- ã¡ã¼ã«ã¹ã­ããçããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ãå»æ­¢
+	- ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ã®ã­ãã¯ç¯å²ãé¸æå¼ã«
+	- ãã­ã¸ã§ã¯ããã£ã¬ã¯ããªã®ç§»åã«ä¼´ããã¹ãªã©ãå¤æ´
+
+
+---------------------------------------------
+ï¼ï¼Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã«ä¾å­ããæ©è½
+---------------------------------------------
+
+ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ï¼Windowsã·ãã¥ã¬
+ã¼ã·ã§ã³ç°å¢ä¾å­ã®é¨åã«ã¤ãã¦è§£èª¬ããï¼
+
+------------
+2.1 ãã¼ã¿å
+------------
+
+intå ããã³ unsigned intåã®ãµã¤ãºã¯32ãããã§ããï¼
+ #IA-64ãªã©64ãããæ´æ°ãåºæ¬ã¨ããç°å¢ã¯èæ
+®ãã¦ããªã
+
+----------------------------------
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+----------------------------------
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯m68kæ¹å¼ã®å²è¾¼ã¿ãã¨ãã¥ã¬ã¼ã·ã§ã³ãã¦ããï¼
+ãã ãNMIããµãã¼ãããªãããï¼å
+¨ã¦ã®å²ãè¾¼ã¿ã¯ã«ã¼ãã«ã®ç®¡çå
+ã§çºçããï¼
+CPUã­ãã¯ç¶æ
+ãåæåã«ã¼ãã³å
+ã§ã¯å²è¾¼ã¿ãã¹ã¯ã«7ãè¨­å®ããï¼å
+¨ã¦ã®å²ãè¾¼ã¿
+ãç¦æ­¢ãããï¼
+
+ããã©ã«ãã®å²è¾¼ã¿è¦å æ°ã¯7ã¤ã§ããï¼7ãæå¤§åªå
+åº¦ã¨ããï¼å²ãè¾¼ã¿è¦å ã®æ°ã¯
+cpu_defs.h:15ã®INT_NUMINTERRUPTSãä¿®æ­£ãããã¨ã§ä»»æã«å¢ãããã¨ãå¯è½ã§ãã
+ (ãã ãæä½å²è¾¼ã¿è¦å çªå·ã¯1ã«åºå®ããã¦ãã)ï¼éå¸¸ã¿ã¤ãå²è¾¼ã¿ãè¦å çªå·4
+ ãå©ç¨ããï¼ããä»¥å¤ã®å²è¾¼ã¿ã¯ã¦ã¼ã¶ãæ¬¡ã®é¢æ°ãå©ç¨ãã¦ä»»æã«çºçãããã
+ ã¨ãã§ããï¼
+
+    å²ãè¾¼ã¿è¦æ±ã®çºç
+        void HALInterruptRequest(unsigned int intno)
+        å²ãè¾¼ã¿è¦å çªå·intnoã«å²ãè¾¼ã¿è¦æ±ãçºçããã
+
+DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ï¼68000ã§ã®ä¾å¤ãã¯ã¿çªå·ã
+è¡¨ãï¼ãã®ãã¼ã¿å(INHNO)ã¯unsigned intåã«å®ç¾©ããã¦ããï¼DEF_INHã§ç¡å¹
+ãªä¾å¤ãã¯ã¿çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ä¾å­ã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤ãå¤æ´ãã
+ããã®ãµã¼ãã¹ã³ã¼ã« chg_imsã¨ï¼åç
+§ããããã®ãµã¼ãã¹ã³ã¼ã« get_ims ã
+ãµãã¼ããã¦ããï¼ãªãï¼å²è¾¼ã¿ãã¹ã¯ã®å¤ãè¡¨ããã¼ã¿åã¯unsigned intã§ã
+ãï¼
+
+
+TOPPERS/JSP Windowsã§ã¯æ¬¡ã®é¢æ°ããµãã¼ããã¦ããï¼
+
+BOOL def_int( unsigned int ims, void * rtn);    /* ãã³ãã©å®ç¾© */
+
+ER  ena_int(unsigned int ims);          /* è¨±å¯ */
+ER  dis_int(unsigned int ims);          /* ç¦æ­¢ */
+ER  chg_ims(unsigned int ims);          /* å²è¾¼ã¿ã¬ãã«ã®è¨­å® */
+ER  get_ims(unsigned int *p_ims);       /* å²è¾¼ã¿ã¬ãã«ã®åå¾ */
+
+def_int : å²è¾¼ã¿ãã³ãã©å®ç¾©
+    å²è¾¼ã¿ãã³ãã©rtnãå²è¾¼ã¿è¦å çªå·imsã«å¯¾å¿ã¥ãã
+
+ena_int : å²è¾¼ã¿è¨±å¯
+    å²è¾¼ã¿è¦æ±ãè¨±å¯ããï¼å¼æ°ã¯ç¡è¦ããï¼å
+¨è¨±å¯ã¨ãªã
+
+dis_int : å²è¾¼ã¿ç¦æ­¢
+    å²è¾¼ã¿è¦æ±ãç¦æ­¢ããï¼å¼æ°ã¯ç¡è¦ããï¼å
+¨ç¦æ­¢ã¨ãªã
+
+chg_ims : å²è¾¼ã¿ã¬ãã«è¨­å®
+    å²è¾¼ã¿è¦æ±ãã¹ã¯ã¬ãã«ãå¼æ°ã§è¨­å®ããå¤ã«è¨­å®ãï¼
+    ä»¥éãã¹ã¯ã¬ãã«ä»¥ä¸ã®å²è¾¼ã¿è¦æ±ã¯ç¦æ­¢ã¨ãªã
+
+get_ims : å²è¾¼ã¿ã¬ãã«ã®åå¾
+    å²è¾¼ã¿è¦æ±ãã¹ã¯ã¬ãã«ãåå¾ãï¼å¼æ°ã§ç¤ºãããå ´æã«æ ¼ç´ãã
+
+
+------------------------------------
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+------------------------------------
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ãWindowsã®ä¾å¤ãCPUä¾å¤ã«å²ãå½ã¦ã¦ããã
+
+DEF_EXCã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(excno)ã¯Windowsã®ä¾å¤è¦å çªå·ãè¡¨ãï¼ã
+ã®ãã¼ã¿å(EXCNO)ã¯unsigned intåã«å®ç¾©ããã¦ããï¼DEF_EXC ã§ï¼ä¾å¤ãã¯ã¿çª
+å·ã¨ãã¦æå¹ã§ãªãå¤ãï¼CPUä¾å¤ã«å¯¾å¿ããªãçªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ã
+ããªãï¼
+
+Windowsä¸ã§ä¾å¤ãçºçããå ´åï¼å¯¾å¿ä»ããããCPUä¾å¤ãã³ãã©ãèµ·åããå¾ï¼ä»
+ã®Windowsä¾å¤ãã³ãã©ã¸å¦çãæ¸¡ãï¼ãããã¬ãªã©ãèµ·åãã¦ããå ´åã¯ãããã¬
+ã«ãã£ã¦ãã³ããªã³ã°ãããããï¼ããã¦ãã®å ´åã¯ã¨ã©ã¼ã¨ãªã£ã¦ãã®å ´ã§åæ­¢ã
+ãï¼
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ï¼æ¬¡ã®å¼æ°ãä¼´ã£ã¦CPUä¾å¤ãã³ãã©ãèµ·åããï¼
+
+	void cpuexc_handler( EXCEPTION_POINTERS * exc, int * ctrl )
+		exc  : ä¾å¤çºçæã®è©³ç´°æ
+å ±ãå«ãæ§é ä½ã¸ã®ãã¤ã³ã¿
+		ctrl : ä¾å¤çºçå¾ã®åä½
+
+ctrlã¯ä¾å¤çºçå¾ãä¾å¤ãã³ããªã³ã°ã«ã¼ãã³ã®åä½ãæ±ºå®ããããã®å¤ã«æ ¼ç´ãã¹
+ãå¤ã¯ãUnhandledExceptionFilterãè¿ãã¹ãå¤ã§ããã
+EXCEPTION_CONTINUE_SEARCHãæå®ãããå ´åã¯ä¸ä½ã®ä¾å¤ãã³ããªã³ã°ã«ã¼ãã³ã¸
+å¶å¾¡ãç§»ããEXCEPTION_CONTINUE_EXECUTIONãæå®ãããå ´åã¯ä¾å¤ãçºçããå ´æ
+ããå®è¡ãåéããããã ããEXCEPTION_CONTINUE_EXECUTIONãæå®ããå ´åã«ã¯ã
+ä¾å¤çºçã®åå ã¨ãªã£ãè¦å ãåãé¤ããªããã°ãååº¦ä¾å¤ãçºçãããã¨ã«æ³¨æã
+ããããè©³ç´°ã¯MSDNã©ã¤ãã©ãªãªã©ãåèã®ãã¨ã
+
+------------------
+2.4 ã«ã¼ãã«ã¿ã¤ã
+------------------
+
+Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ï¼ã«ã¼ãã«ã¿ã¤ããæ¬¡ã®3ç¨®é¡ã®ã¿ã¤ãã®ãã¡
+ããé¸æã§ããï¼
+
+	ã»Windowsæ¨æºã¿ã¤ã		: ä½ç²¾åº¦ã ãä½è² è·ï¼æå°ãã£ãã¯ã¯10msï¼
+	ã»ãã«ãã¡ãã£ã¢ã¿ã¤ã	: é«ç²¾åº¦ã ãé«è² è·ï¼æå°ãã£ãã¯ã¯1msï¼
+	ã»ã¿ã¤ããªã			: å¤é¨ãã­ã°ã©ã ã«ãã£ã¦ç¬èªã«ä¾çµ¦ããå ´åï¼
+
+ã¿ã¤ããå¤æ´ããå ´åã¯ï¼sys_defs.h:65-67ã®å®ç¾©ã®ãã¡ï¼åå¯¾å¿è¡ã®ã³ã¡ã³ã
+ãè§£é¤ãï¼ä»ã®è¡(#define TIMER_ã§å§ã¾ãè¡)ãã³ã¡ã³ãã¢ã¦ãããï¼
+
+ã¿ã¤ã ãã£ãã¯ã¯100msã«è¨­å®ããã¦ããããhw_timer.h:59ã®
+TIMER_CLOCK_WINDOWSãä¿®æ­£ãããã¨ã§å¤æ´ã§ããããããã
+TIMER_WINDOWSTIMERã¯10msä»¥ä¸ã§åä½ããããã¨ã¯ã§ãããã¾ã
+TIMER_MULTIMEDIATIMERã¯åè
+ãããå¦çãéãããããã¾ãã«ãç­ãè¨­å®ãã
+ããã¨ã¿ã¤ãå¦çã ãã§CPUæéãä½¿ãåãæãããã
+
+
+-------------------------------------------
+ï¼ï¼Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã«åºæãªæ©è½
+-------------------------------------------
+
+----------------------------
+3.1 ã·ãªã¢ã«ã¨ãã¥ã¬ã¼ã·ã§ã³
+----------------------------
+
+TOPPERS/JSP Windowsã¯ï¼ã³ã³ã½ã¼ã«ãæ¨¡ããã·ãªã¢ã«ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ã
+åãã¦ããï¼åæ©è½ãä½¿ç¨ããã¨ï¼ç»é¢ã«ãã·ãªã¢ã«å
+¥åºåãã¨åã¥ããããã¦
+ã£ã³ãã¦ãè¡¨ç¤ºãï¼ã·ãªã¢ã«åºåãããå
+å®¹ãè¡¨ç¤ºããï¼ã¾ãåã¦ã£ã³ãã¦ã«è¶³
+ãã¦è¡ãããã­ã¼å
+¥åãã·ãªã¢ã«å
+¥åã¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«éç¥ããï¼
+
+
+----------------------
+3.2 ãããã°ã³ã³ã½ã¼ã«
+----------------------
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ï¼ãããã°æå­åãåºåããããã®
+å°ç¨ã³ã³ã½ã¼ã«ãæä¾ãã¦ããï¼ãããã°ã³ã³ã½ã¼ã«ã§ã¯ç°¡åãªè¨è¿°ã§ãããã°æå­
+åãåºåãããã¨ãã§ãï¼éå¸¸ã®ã·ãªã¢ã«ãå©ç¨ããªãã¨ãç»é¢ã ãã§ãã­ã¼ã®ãã
+ãã°ãªã©ãè¡ããï¼
+ #ItIs/Winã«æ­è¼ããã¦ããã«ã¼ãã«å
+é¨æ
+å ±è¡¨ç¤ºã¯å¥ã¦ãããã¨ãªã£ã
+
+ãããã°ã³ã³ã½ã¼ã«ãæå¹ã«ããã«ã¯sys_defs.h:56ã®
+ //#define DEBUG_ENABLE
+ã®ã³ã¡ã³ããã¯ããï¼å®£è¨ãæå¹ã«ãããã¨ã§å©ç¨å¯è½ã¨ãªãï¼
+ç¡å¹ã«ããã«ã¯è©²å½åæã®å®£è¨ãåé¤ã¾ãã¯ã³ã¡ã³ãã¢ã¦ãããã°ããï¼
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ï¼æ¬¡ã®ãããã°ç¨æ©è½ãæä¾ãã¦ã
+ãï¼
+
+OnDebug : ãããã°æã®ã¿æå¹ã¨ãªãè¡ã«ã¤ããå®£è¨
+    è¡ã®é ­ã«OnDebugãã¤ãããã¨ã§ï¼DEBUG_ENABLEæã«ã®ã¿æå¹ã¨ãªãè¡ãç°¡åã«
+    ä½ããã¨ãã§ããï¼
+    
+    DEBUG_ENABLEæ   : #define OnDebug(x) x
+    éDEBUG_ENABLEæ : #define OnDebug(x)
+
+    ä¾
+        OnDebug(wsprintf(buffer,"i = %d",i));
+
+unsigned int DebugOut(LPCSTR text) : ãããã°ã³ã³ã½ã¼ã«ã¸ã®åºå
+    DebugOuté¢æ°ã¯ãããã°ã³ã³ã½ã¼ã«ã¸æå­åãåºåããï¼
+    
+    éDEBUG_ENABLEæã«ã¯ã³ã¡ã³ãè¡ã«ãªãï¼
+
+
+------------------------------
+3.3 ã¿ã¹ã¯ãã¬ã¤ (Notify Icon)
+------------------------------
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ï¼éå¸¸ãã­ã°ã©ã ã¯è¦ããªãå­å¨ã¨
+ãã¦åä½ããï¼ãããããã§ã¯ãã­ã°ã©ã ã®çµäºãç¢ºèªããææ®µããªããªã£ã¦ãã¾ã
+å±éºæ§ãä¼´ãï¼ãã®ããWindowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ç»é¢å³ä¸ã®ã¿ã¹ã¯ãã¬ã¤
+ä¸ã«ã¢ã¤ã³ã³ãè¡¨ç¤ºããï¼ãã­ã°ã©ã ãç¾å¨å®è¡ä¸­ã§ãããã©ãããç¢ºèªã§ãããã
+ã«ãªã£ã¦ããï¼
+
+ã¾ããã®ãã¬ã¤ä¸ã®ã¢ã¤ã³ã³ãå³ã¯ãªãã¯ãããã¨ã§ï¼ãã­ã°ã©ã ãå¼·å¶çµäºããã
+ãã¨ãå¯è½ã§ããï¼
+
+DEBUG_ENABLEæã«ã¯TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã¿ã®æ¬ä½ã¨ãªãã¦ã£ã³ãã¦ãå¼·
+å¶çã«è¡¨ç¤ºãããããã«ãªã£ã¦ããï¼ãã®å ´åã¯æ¬ä½ã¨ãªãã¦ã£ã³ãã¦ãçµäºããã
+ãã¨ã§ãã­ã°ã©ã ãå¼·å¶çµäºããããã¨ãã§ããï¼
+
+
+----------------------------
+3.4 ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³
+----------------------------
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã¯ãã·ã¹ãã ã«æ¥ç¶ãããããã¤
+ã¹(LEDãªã©)ãã¨ãã¥ã¬ã¼ãããããã®æ©æ§ããã£ã¦ããï¼ããã¤ã¹ã¨ãã¥ã¬ã¼
+ã·ã§ã³ã§ã¯æ¬¡ã®ãããªãã¨ãã§ããï¼
+
+    ã»ã«ã¼ãã«ãç¹å®ã®çªå°ãã¢ã¯ã»ã¹ããå ´åãããã¤ã¹ã«éç¥ãã
+    ã»ã«ã¼ãã«ã«å¯¾ãã¦å²ãè¾¼ã¿ãçºçããã
+    ã»ã«ã¼ãã«ã®èµ·åããã³çµäºãããã¤ã¹ã«éç¥ãã
+        â»ããããã®æ©æ§ã¯å°ç¨é¢æ°ãéãã¦å©ç¨ãã
+
+ãããã³ã°å¯¾è±¡ã¨ãªãç©ºéã¯å®ã¡ã¢ãªã¨ã¯ç°ãªãç©ºéã§ãã (Intelãã­ã»ããµ
+ã®I/Oãã¼ããæ³å®ãã¦ããã ããã)ããã®ãããããã³ã°ããããããç©ºéã¸
+ã®ã¢ã¯ã»ã¹ã¯å°ç¨é¢æ°ãä»ãã¦è¡ããããã¤ã¹ã¯ç©ºéãéè¤ããªããã°è¤æ°èµ·å
+ãããã¨ãå¯è½ã§ãããã¾ãã«ã¼ãã«ãè¤æ°èµ·åãããã¨ãå¯è½ã§ãããããã
+ã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©æ§ãå©ç¨ã§ããã«ã¼ãã«ã¯ã·ã¹ãã å
+ã§åä¸ã§ããã
+
+ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ã¯ããã©ã«ãã§ç¡å¹ã¨ãªã£ã¦ããããconfig/windows
+/sys_defs.h:58ã®ã³ã¡ã³ããè§£é¤ãããã¨ã§æå¹ã«ã§ãããç¡å¹ã«ããã«ã¯è©²å½
+è¡ãååº¦ã³ã¡ã³ãã¢ã¦ãããã°ãé¢é£ããå
+¨ã¦ã®é 
+ç®ãç¡å¹ã¨ãªãã
+
+ã«ã¼ãã«ããå©ç¨ã§ããããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³é¢é£ã®é¢æ°ãä¸ã«ç¤ºãã
+ã¾ãå
+¨ã¦ã®é¢æ°ã¯ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ç¡å¹æã«ã¯ã³ã¡ã³ãè¡ã¨ãã¦æ±ãããã
+
+--- ITRONããã¤ã¹ãã©ã¤ãã¬ã¤ãã©ã¤ã³äºæã¤ã³ã¿ãã§ã¼ã¹ ---
+
+VB sil_reb_mem(VP mem), VH sil_reh_mem(VP mem), VW sil_rew_mem(VP mem),
+void sil_rek_mem(VP mem, VP data, UINT len)
+    æå®ããããµã¤ãºã§ãæå®ãããã¢ãã¬ã¹ã«ãããã³ã°ããã¦ããããã¤ã¹
+	ããã¡ã¢ãªãªã¼ããè¡ããå¾è¿°ã®DeviceReadã®ã©ããã
+
+void sil_wrb_mem(VP mem, VB data), void sil_wrh_mem(VP mem, VH data)
+void sil_wrw_mem(VP mem, VW data), void sil_wrk_mem(VP mem, VP data, UINT len)
+    æå®ããããµã¤ãºã§ãæå®ãããã¢ãã¬ã¹ã«ãããã³ã°ããã¦ããããã¤ã¹
+	ã¸ã¡ã¢ãªæ¸è¾¼ã¿ãè¡ããå¾è¿°ã®DeviceWriteã®ã©ããã
+
+
+--- ç¬èªã¤ã³ã¿ã¼ãã§ã¼ã¹ ---
+void InitializeComSupportModule(void)
+    ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³é¢é£ã®åæåãè¡ãã
+    åºæ¬çã«ã«ã¼ãã«ãèµ·åæã«åæåãè¡ããããã¦ã¼ã¶ãå¼ã¶å¿
+è¦ã¯ãªãã
+
+void FinalizeComSupportModule(void)
+    ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³é¢é£ã®çµäºå¦çãè¡ãã
+    ã«ã¼ãã«è±åºæã«çµäºå¦çãè¡ã£ã¦ããã®ã§ãè½åçã«å¼ã¶å¿
+è¦ã¯ãªãã
+
+int DeviceRead(unsigned long address, unsigned long size, void * storage)
+    ããã¤ã¹ããã®èª­åºã
+        address : ããã¤ã¹ãè­å¥ããããã®ã¢ãã¬ã¹å¤ãªã©
+                   (å®ã¡ã¢ãªç©ºéã¨ã¯ç¬ç«)
+        size    : èª­ã¿åºãé·ã
+        storage : æ ¼ç´å
+ã¸ã®ãã¤ã³ã¿
+        è¿å´å¤  : èª­ã¿åºããããã¼ã¿ã®ãã¤ãæ° ã¾ãã¯ -1(å¤±æ)
+    
+    addressã«ãããã³ã°ãããããã¤ã¹ããsizeãã¤ãã®ãã¼ã¿ãèª­åºãã
+    storageã«æ ¼ç´ããããããã³ã°ãããããã¤ã¹ããªãå ´åãé¢æ°ã¯-1
+    ãè¿å´ãããçºè¡æã®ã­ãã¯ç¶æ
+ã¯ï¼ã¿ã¹ã¯æ¯/ã·ã¹ãã å
+¨ä½ã®ã©ã¡ãããé¸
+	æã§ãã (ããã©ã«ãã¯ã·ã¹ãã å
+¨ä½)ï¼
+
+int DeviceWrite(unsigned long address, unsigned long size, void * storage)
+    ããã¤ã¹ã¸ã®æ¸è¾¼ã¿
+        address : ããã¤ã¹ãè­å¥ããããã®ã¢ãã¬ã¹å¤ãªã©
+                   (å®ã¡ã¢ãªç©ºéã¨ã¯ç¬ç«)
+        size    : æ¸ãè¾¼ãé·ã
+        storage : åºåãã¼ã¿ãæ ¼ç´ããé åã¸ã®ãã¤ã³ã¿
+        è¿å´å¤  : æ¸ãè¾¼ã¾ãããã¼ã¿ã®ãã¤ãæ° ã¾ãã¯ -1(å¤±æ)
+
+    addressã«ãããã³ã°ãããããã¤ã¹ã¸storageã«æ ¼ç´ãããsizeãã¤ãã®ã
+    ã¼ã¿ãæ¸ãè¾¼ããstorageã«æ ¼ç´ããããããã³ã°ãããããã¤ã¹ããªãå ´å
+    ãé¢æ°ã¯-1ãè¿å´ãããçºè¡æã®ã­ãã¯ç¶æ
+ã¯ã¿ã¹ã¯æ¯/ã·ã¹ãã å
+¨ä½ãé¸æ
+	å¯è½ï¼
+----------------------------
+
+ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ã¯ï¼çºè¡æã«ã·ã¹ãã å
+¨ä½ãã­ãã¯ããããçºè¡
+ããã¿ã¹ã¯ã®ã¿ãã­ãã¯ãããããé¸æãããã¨ãã§ããï¼ããã©ã«ãã§ã¯ï¼çº
+è¡æã«ã¯ã·ã¹ãã å
+¨ä½ãã­ãã¯ããï¼ã­ãã¯ç¯å²ãã¿ã¹ã¯ã®ã¿ã«å¤æ´ããå ´åï¼
+com_support.cpp:697-698ãæ¬¡ã®ããã«ä¿®æ­£ããï¼
+
+---8<---
+	typedef class Request DeviceRequest;
+//	typedef class ExclusiveDeviceRequest DeviceRequest;
+---8<---
+
+ããã¤ã¹æ¬ä½ããã³ããã¤ã¹ããã¼ã¸ã£ã«é¢ãã¦ã¯å¾è¿°ã®5.1ãåç
+§ã®ãã¨ã
+
+-----------------------------------
+3.5 ã«ã¼ãã«ãã¬ã¼ã¹ã­ã° (å®è¡å±¥æ­´)
+-----------------------------------
+
+Windowsä¾å­é¨ã§ã¯ãTOPPERS/JSP rel 1.4ããã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°åå¾æ©è½
+ãå®è£
+ãã¦ãããæ¬æ©è½ã¯ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ã«æºãã¦å®è£
+
+ããã¦ãããä»¥ä¸ã«æ¬æ©è½ãä»ãã¦å©ç¨ã§ããæ
+å ±(ã¤ãã³ã)ãæãããã«ãã³
+å
+ã¯ããããã®ã¤ãã³ãã§åå¾ã§ããè©³ç´°æ
+å ±ãç¤ºã (â»ã¯æ¡å¼µæ©è½)ã
+
+	ã»ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§(1.00.00)ã«ã¦å®ç¾©ãããã­ã°
+		- å²è¾¼ã¿ãã³ãã©ã®èµ·å ããã³ çµäº
+				(å²è¾¼ã¿çªå·)
+		- ã¿ã¹ã¯ãã£ã¹ãããã®éå§ ããã³ çµäº
+				(ã¿ã¹ã¯çªå·, ã³ã³ãã­ã¹ãç¶æ
+)
+		- å¨æãã³ãã©ã®éå§ ããã³ çµäº
+				(å¨æãã³ãã©ã®ID, æ¡å¼µæ
+å ±)
+		- ã¿ã¹ã¯/CPUä¾å¤ã®éå§ ããã³ çµäº
+				(ã¿ã¹ã¯çªå·, ä¾å¤ãã¿ã³ / ä¾å¤çªå·)
+		- ã¿ã¹ã¯ç¶æ
+å¤å
+				# ITRON-DBIFã§ã¯Readyã¨Runãåºå¥ããªã (ãã£ã¹ãããã­ã°ãä½¿ç¨)
+		- ãµã¼ãã«ã³ã¼ã«ã®èµ·å ããã³ çµäº
+			[å®è¡] æ©è½ã³ã¼ã, å¼æ°, å¼åºå
+ã¢ãã¬ã¹(â»)
+			[çµäº] æ©è½ã³ã¼ã, ã¨ã©ã¼ã³ã¼ã
+				# ãµã¼ãã¹ã³ã¼ã«çµäºæãã©ã¡ã¼ã¿ã¯ã¨ã©ã¼ã³ã¼ãã®ã¿
+				# ä¸é¨å®è£
+ä¾å­/å®è£
+å®ç¾©/ç¬èªé¢æ°ã¯å¯¾è±¡å¤
+
+ã«ã¼ãã«ã­ã°ãç¡å¹ã«ããã«ã¯ãconfig/windows/sys_defs.hå
+ã§
+EVENTLOG_ENABLEãã³ã¡ã³ãã¢ã¦ããããã«ã¼ãã«ã­ã°ã¯ããã©ã«ãã§æå¹ã¨ãª
+ã£ã¦ããããconfig/windows/sys_defs.hã®å½è©²é¨ãã³ã¡ã³ãã¢ã¦ããããã¨ã§
+ç¡å¹ã«ã§ããã
+
+ãã¬ã¼ã¹ã­ã°æ©è½ãå©ç¨ããã«ã¯ãã¯ã©ã¤ã¢ã³ãã½ããã¦ã§ã¢ãå¿
+è¦ã«ãªãã
+TOPPERS/JSP release 1.4ã§ã¯ãjsp/windev/cmdwatchã«ã³ãã³ãã©ã¤ã³ã§åä½ã
+ãã­ã°è¡¨ç¤ºãã­ã°ã©ã ãåæ¢±ããã¦ãããåãã­ã°ã©ã ãå®è¡å¾ã«ã«ã¼ãã«ãèµ·
+åãããã¨ã§ãç»é¢ã«ã«ã¼ãã«ã®ã­ã°æ
+å ±ãåºåãããã¨ãã§ããã
+ # cmdwatchã®å®è¡ã«ã¯ãããã¤ã¹ããã¼ã¸ã£ãå¿
+è¦ã¨ãªãã
+ # ããã¤ã¹ããã¼ã¸ã£ã«é¢ãã¦ã¯ãå¾è¿°ã®5.1ç¯ãåç
+§ããããã
+
+VisualBASICããã­ã°æ
+å ±ãä½¿ç¨ãããå ´åã¯ãjsp/windev/watcherããã«ããã
+åã³ã³ãã­ã¼ã«ãä½¿ç¨ããã
+
+ã«ã¼ãã«ã®ãã¬ã¼ã¹ã­ã°ã¯ãã«ã¼ãã«ã¨éåæã«åºåãããããã®ãããã­ã°åº
+åé 
+ç®ãå¤ãããå ´åãã«ã¼ãã«ãæ¶è²»ããã¡ã¢ãªéãå¢å¤§ããããã«ã¼ãã«ã®
+åä½ã¨ã­ã°å
+å®¹ãä¸è´ããªããã¨ããããã¾ãã«ã¼ãã«çµäºæã«å
+¨ã¦ã®ã­ã°æ
+å ±
+ãåºåãããããçµäºå¦çãé·å¼ããã¨ãããã
+
+åºåããã­ã°ãææ­¢ããã«ã¯ãã«ã¼ãã«å
+é¨ã§æ¬¡ã®å½ä»¤ãå®è¡ããã
+
+ã»å²è¾¼ã¿éå§/çµäºã­ã°ã®ææ­¢
+		BOOL set_intlogmask( unsigned int ims, BOOL mask );
+			ims  : å²è¾¼ã¿è¦å çªå·
+			mask : ã­ã°ãåºåãã (TRUE) / ã­ã°ãææ­¢ãã (éTRUE)
+
+
+------------------
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+------------------
+
+------------------
+4.1 éçºç°å¢ã®æ¦è¦
+------------------
+
+ã«ã¼ãã«ãå®è¡ããã«ã¯ï¼JSPã«ã¼ãã«ã®é
+å¸ã­ããã«å«ã¾ããä»¥å¤ã«ï¼ä»¥ä¸ã®
+ãã¼ã«ããã³ã©ã¤ãã©ãªãå¿
+è¦ã§ããï¼
+
+Microsoft Visual C ++ (6.0/.NET/.NET 2003ã«ã¦ç¢ºèª)
+    åä½ã«ã¦åä½å¯è½
+
+ãªããTOPPERS/JSP release 1.3 (patchlevel=1)ã§ã¯cygwin+gccã§ã®ã³ã³ãã¤ã«
+ã¯è¡ããªããTOPPERS/JSP release 1.4 ç¨ã®cygwinå¯¾å¿ã³ã¼ãã¯ï¼TOPPERSãã­
+ã¸ã§ã¯ãã®ææç©ã§ã¯ãªãããï¼å
+¬å¼ãªãªã¼ã¹ã«ã¯å«ãã¦ããªãï¼
+
+-----------------------------------------------
+4.1.1 Microsoft Visual C++ãå©ç¨ããå ´å (èªå)
+-----------------------------------------------
+
+éçºãè¡ã£ã¦ããç°å¢ãWindows Scripting Hostã®å®è¡ç°å¢ãæã¤å ´åããã¤ä½¿
+ç¨ãã¦ããå¦çç³»ãMicrosoft VisualC++ 6.0ã§ããå ´åã«éããTOPPERS/JSPã®
+çæã«èªåçæã¹ã¯ãªãããå©ç¨ã§ããã
+ # .NET / .NET2003ã«ã¯éå¯¾å¿
+
+æ³¨) èªåçæã¹ã¯ãªããã¯ãåãµãã¹ã¯ãªãããèµ·åããããã«ãWindows 
+Scripting Hostã®æ©è½ã§ããWScript.WshShell.Runã¡ã½ãããå©ç¨ãã¦ãããä¸
+é¨ã®ã»ã­ã¥ãªãã£ã½ããã¦ã§ã¢ã¯ä¸è¨ã¡ã½ãããä½¿ç¨ããã¹ã¯ãªãããæªè³ªã¨å¤
+æ­ããå®è¡ããã­ãã¯ããå ´åãããã
+
+èªåçæã¹ã¯ãªããã¯ã jsp/WINDOWS/configure.vbs ã¨ããååã§æ ¼ç´ããã¦
+ããããã®ã¹ã¯ãªãããå®è¡ããã¨ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®çæããã³ããã¤ã¹
+ã¨ãã¥ã¬ã¼ã¿ã®çæãè¡ããVisual C++ãèµ·åããå¾ãµã³ãã«ãã­ã¸ã§ã¯ããé
+ããã»ã¨ãã©ã®å ´åã§ã¯ãåæè¨­å®ã®ã¾ã¾ãã­ã¸ã§ã¯ãã®ãã«ããè¡ãã°ã
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®å®è¡å½¢å¼ãå¾ããã¨ãã§ããã
+
+æ¬¡ã®ãã¡ã¤ã«ãå®è¡ãããã¨ã§ãåã
+ã®é¨åãã¨ã«çæãããã¨ãå¯è½ã§ããã
+	ã³ã³ãã£ã®ã¥ã¬ã¼ã¿/æ§æãã§ãã« : jsp/cfg/vc_project/make.vbs
+	ããã¤ã¹ã¨ãã¥ã¬ã¼ã¿			: jsp/windev/make.vbs
+
+-----------------------------------------------
+4.1.2 Microsoft Visual C++ãå©ç¨ããå ´å (æå)
+-----------------------------------------------
+
+ã¾ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯/cfg/VC_Project/å
+
+ã«ããMicrosoft Visual C++ãã­ã¸ã§ã¯ããã¡ã¤ã«ãéããã¨ã«ããï¼è«¸è¨­å®ã
+ããã¨ãå³ãã«ããå¯è½ãªç¶æ
+ã«ãªãï¼æ¨æºã§ã¯ï¼cfg.exeã¯jsp/cfg/cfg.exeã¨
+ãã¦ä½æããã¦ããï¼
+
+ãã®ã¨ããåæã«ã«ã¼ãã«ãã§ãã«ãçæãããã«ã¼ãã«ãã§ãã«ããã«ããã
+ã«ã¯ãã¡ãã¥ã¼ããããã­ã¸ã§ã¯ãããã¢ã¯ãã£ããã­ã¸ã§ã¯ãã®è¨­å®ãã
+checkerããé¸æãããã«ãã¡ãã¥ã¼ãããã«ããé¸æãããã«ã¼ãã«ãã§ãã«
+ã¯ "Windows ImageHlp API"ãä½¿ç¨ãã¦ãããããçææã«ã¯ã©ã¤ãã©ãª
+IMAGEHLP.LIBãå¿
+è¦ã«ãªãããµã³ãã«ãã­ã¸ã§ã¯ããã¡ã¤ã«ã®è¨­å®ã«ã¯ããã­ã°
+ã©ã ãä½¿ç¨ããã©ã¤ãã©ãªã¢ã¸ã¥ã¼ã«ã¨ãã¦IMAGEHLP.LIBãè¿½å ããã¦ãããæ­£
+å¸¸ã«ãã«ããçµäºããã¨ãæ¨æºã§ã¯ãå®è¡ãã¡ã¤ã«ã¯jsp/cfg/chk.exeã¨ãã¦ä½
+æããã¦ããã
+
+TOPPERS/JSP Windowsã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®æ§ç¯ã¯Microsoft Visual C++ã®ã
+ã­ã¸ã§ã¯ã ã¯ã¼ã¯ã¹ãã¼ã¹ãå©ç¨ããï¼/config/WINDOWS/vc_projectå
+ã«ãã
+ãã­ã¸ã§ã¯ããã¡ã¤ã«ããã³ã¯ã¼ã¯ã¹ãã¼ã¹ãéããã¨ã§ï¼æ§ç¯ã«å¿
+è¦ãªè¨­å®ã
+å
+¨ã¦çµããç¶æ
+ã§èµ·åããï¼
+
+ #ãã®ãã­ã¸ã§ã¯ãã§ã¯ãµã³ãã«ãã­ã°ã©ã ãçæãããããã«ãªã£ã¦ãã
+
+ä»å±ã®ãµã³ãã«ãã­ã°ã©ã ã§ã¯ãã§ã«è¨­å®ãããã¦ãããï¼ãµã³ãã«ä»¥å¤ã®ã³ã³
+ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãå©ç¨ããå ´åï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«kernel_id.
+hã¨kernel_cfg.cãä½æãããå¿
+è¦ãããï¼ä»¥ä¸ã«è¨­å®æ³ãç¤ºãï¼
+ (ããã§ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯/jsp/cfg/cfg.exeã§ããã¨ãã¦ãã)
+
+  (a) Visual C++ ã«è¡ãããå ´å
+      1.  å¯¾è±¡ã¨ãªãcfgãã¡ã¤ã«ãé¸æãï¼ã³ã³ãã­ã¹ãã¡ãã¥ã¼(å³ã¯ãªãã¯)ãã
+          è¨­å®ãé¸æããï¼
+      2.  ä¸è¬ãããå¸¸ã«ã«ã¹ã¿ã ãã«ãã¹ããããä½¿ç¨ããæå¹ã«ãã
+      3.  ã«ã¹ã¿ã ãã«ãã¿ããé¸æè¢ï¼ã³ãã³ãé¨ã«æ¬¡ã®ã³ãã³ããæã¤
+			---8<--- ãããã ---8<---
+			cd $(InputDir)
+			cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" \
+				$(InputName).cfg | ..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows
+			---8<--- ããã¾ã§ ---8<---
+           #è¡æ«ã«\ã®ããè¡ã¯è¡æ«ã®\ãåé¤ããå¾ç¶ããè¡ãç¶ãã¦å
+¥åãã
+
+      4.  åºåé¨ã«æ¬¡ã®ãã¡ã¤ã«ãæã¤
+            kernel_cfg.c
+            kernel_id.h
+      5.  ã¡ãã¥ã¼ããããã­ã¸ã§ã¯ãããè¨­å®ããé¸æãããã¤ã¢ã­ã°å
+ã®ã¿ã
+          ããã«ãå¾ã®å¦çããé¸æãã
+      6.  ãã«ãå¾ã®å¦çã³ãã³ãã¨ãã¦ãæ¬¡ã®ã³ãã³ããå
+¥åããã
+			---8<--- ãããã ---8<---
+			cd ..
+			..\..\cfg\chk.exe -m toppers.exe -cs windows.chk -obj -v -lj
+			---8<--- ããã¾ã§ ---8<---
+
+  (b) ã³ãã³ãã©ã¤ã³ããç´æ¥æã¤å ´å
+      1. Visual C++ãã¤ã³ã¹ãã¼ã«ããå ´æã®Binãã©ã«ãã«ãã
+          VCVARS32.BATãå®è¡ãã
+           
+           #ã¤ã³ã¹ãã¼ã«æã«ãã³ãã³ãã©ã¤ã³ããå®è¡ããããã®
+           #ããããä½ããªããã¨æå®ããã¨ãã®ãã¡ã¤ã«ã¯ãªã
+           
+      2. ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã§
+         æ¬¡ã®ã³ãã³ããå
+¥åãã
+			---8<--- ãããã ---8<---
+			cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" \
+				<ãã¡ã¤ã«å> | ..\..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows
+			---8<--- ããã¾ã§ ---8<---
+           #è¡æ«ã«\ã®ããè¡ã¯è¡æ«ã®\ãåé¤ããå¾ç¶ããè¡ãç¶ãã¦å
+¥åãã
+
+kernel_id.hã¨kernel_cfg.cãçæããããï¼ãããã®ãã¡ã¤ã«ããã­ã¸ã§ã¯ãã«è¿½
+å ãï¼Visual C++ãããã«ããè¡ãã°ãã­ã°ã©ã ãçæãããï¼
+
+ä»å±ã®ãã­ã¸ã§ã¯ããã¡ã¤ã«ã§ã¯ï¼ããããé©åãªãã©ã«ãã«ãã¡ã¤ã«ãæ ¼ç´ããã
+ããã«ãªã£ã¦ãï¼ã¦ã¼ã¶ãã­ã°ã©ã ã¯Source Filesã¨Header Filesã«æ ¼ç´ãããï¼ãµ
+ã³ãã«ä»¥å¤ã®ãã­ã°ã©ã ãå©ç¨ãããå ´åï¼ãã®2ã¤ã®ãã©ã«ãã«æ ¼ç´ããã¦ããã
+ã¡ã¤ã«ããã­ã¸ã§ã¯ãããåé¤ãã¦ããï¼æ°ãããã­ã°ã©ã ãè¿½å ããå¿
+è¦ãããï¼
+
+
+--------------------------
+ï¼ï¼ç¹æ®ãªæ©æ§ã«é¢ããèª¬æ
+--------------------------
+
+----------------------------
+5.1 ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³
+----------------------------
+
+----------------------------------------
+5.1.1 ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®ä½æ
+----------------------------------------
+
+ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©æ§ã¯3ã¤ã®ãã­ã°ã©ã ãããªãã
+    ã»ã«ã¼ãã«
+        ããã¤ã¹ãå¶å¾¡ããã¢ããªã±ã¼ã·ã§ã³ãæ­è¼ããããã­ã°ã©ã ããµã¼ã
+        ã¹å¯¾è±¡ã¨ãªãã«ã¼ãã«ã¯ã·ã¹ãã å
+ã§åä¸ (èµ·åããã ããªãè¤æ°å¯)ã
+    ã»ããã¤ã¹ããã¼ã¸ã£
+        ã«ã¼ãã«ããã®è¦æ±ã«å¯¾ãã¦é©åãªããã¤ã¹ã«è¦æ±ãåéãããã­ã°ã©
+        ã  (ã¤ãã³ããã£ã¹ãããã£)ãã«ã¼ãã«ã¾ãã¯ããã¤ã¹ãèµ·åããã¨
+        COMã«ãã£ã¦èªåçã«èµ·åãããã·ã¹ãã å
+ã§åä¸ã
+    ã»ããã¤ã¹
+        ããã¤ã¹ã®ã¨ãã¥ã¬ã¼ã·ã§ã³ãè¡ããã­ã°ã©ã ãã«ã¼ãã«ããçºè¡ãã
+        ãè¦æ±ã«ãããã£ã¦å¦çãè¡ãããããã³ã°ç©ºéãéè¤ããªããã°è¤æ°
+        èµ·åå¯è½ãVisualBASICãå©ç¨ãããã¨ãã§ããã
+
+ã«ã¼ãã«ã®ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ã®ä½æã«é¢ãã¦ã¯ 3.4ããã¤ã¹ã¨ãã¥
+ã¬ã¼ã·ã§ã³ ãåç
+§ããããã
+
+ããã¤ã¹ããã¼ã¸ã£ããã³VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®ä½æã«ã¯æ¬¡ã®
+ãã¼ã«ãå¿
+è¦ã«ãªãã
+    ã»Microsoft Visual C++ 6.0/.NET/.NET2003
+    ã»Microsoft VisualBASIC 6.0/.NET/.NET2003 â»
+    ã»COMå®è¡ç°å¢ (Windows 2000/XP)
+    ã»Active Template Library 3.0 (Visual C++ 6.0ä»¥éã«å«ã¾ãã)
+
+		â» VisualBASICã¯6.0ã¨.NETã®éã§è¨èªä»æ§ãå¤§ããå¤åãã¦ããããï¼
+		   .NETä»¥éã®å ´åï¼å¾è¿°ã®ä½æä¾ã¯ãã®ã¾ã¾ã§ã¯ä½¿ç¨ã§ããªã
+
+ããã¤ã¹ããã¼ã¸ã£ã¯æ¬¡ã®ããã«ãã¦ä½æããã
+åºæ¬çã«ï¼ãã«ããè¡ãã ãã§ãµã¼ãç»é²ããã³ãã­ã­ã·/ã¹ã¿ãç»é²ãè¡ãï¼
+
+   (0. ã¢ã¯ãã£ããªæ§æã®è¨­å®ãDebugã«ããããä¾å¤å¨ãã®è¨­å®ãå¤ãã)
+    1. Visual C++ãèµ·åãããã­ã¸ã§ã¯ãã¯ã¼ã¯ã¹ãã¼ã¹devicemanager.dswã
+        éã
+    2. ãã«ããè¡ã
+    3. OLE Viewãèµ·åããInterfacesã®ä¸­ã«IDeviceã¨IKernelããããã¨ã
+        ç¢ºèªãã (ãã­ã­ã·/ã¹ã¿ãDLLã®ã¤ã³ã¹ãã¼ã«ç¢ºèª)
+
+ ãã­ã­ã·/ã¹ã¿ãDLLãæ­£ããå°å
+¥ãããªãå ´åã¯ï¼æ¬¡ã®ä½æ¥­ãè¦ããï¼
+    1. ã³ãã³ããã­ã³ãããèµ·åãã
+    2. Visual C++ãã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã®bin/VCVARS32.BATãå®è¡ã
+        é¢é£ãã¼ã«ãä½¿ããããã«ãã
+    3. ãã­ã¸ã§ã¯ãã®ãããã£ã¬ã¯ããªã¸ç§»åãã
+    4. æ¬¡ã®ã³ãã³ããå®è¡ãã
+        nmake devicemanagerps.mk
+    5. æ¬¡ã®ã³ãã³ããå®è¡ãã
+        regsvr32 devicemanagerps.dll
+
+ ããã¤ã¹ããã¼ã¸ã£ã®å®è¡ãã­ã°ã©ã ã®å ´æãç§»åãããå ´åã«ã¯ã
+ æ¬¡ã®ä½æ¥­ãè¦ããï¼
+    1. devicemanager.exeãç§»åãã
+    2. ç§»åããå
+ã§ãæ¬¡ã®ã³ãã³ããå®è¡ãã
+        regsvr32 devicemanager.exe
+
+ããã¤ã¹ããã¼ã¸ã£ãç§»åããå ´åã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. ã³ãã³ããã­ã³ãããèµ·åããå®è¡ãã¡ã¤ã«ãç§»åããã
+    2. ç§»åãããå¾ããªãã·ã§ã³ "/RegServer" ãã¤ãã¦å®è¡ãã
+        > devicemanager.exe /RegServer
+
+ããã¤ã¹ããã¼ã¸ã£ãåé¤ããå ´åã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. ã³ãã³ããã­ã³ãããããªãã·ã§ã³ "/UnregServer" ãã¤ãã¦å®è¡ãã
+        > devicemanager.exe /UnregServer
+    2. å®è¡ãã¡ã¤ã«ãåé¤ãã
+
+
+VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®ä½æã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+åºæ¬çã«ï¼ãã«ããè¡ãã ãã§ãµã¼ãç»é²ããã³ãã­ã­ã·/ã¹ã¿ãç»é²ãè¡ãï¼
+
+    1. Visual C++ãèµ·åãããã­ã¸ã§ã¯ãã¯ã¼ã¯ã¹ãã¼ã¹device.dswãéã
+    2. ãã«ããè¡ã
+    3. OLEViewãèµ·åããInterfacesã«IDeviceControlããããã¨ã
+        ç¢ºèªãã
+
+VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®ç§»åã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. device.dllãç§»åãã
+    2. ã³ãã³ããã­ã³ããããæ¬¡ã®ã³ãã³ããçºè¡ãã
+        regsvr32 (ç§»åå
+)\device.dll
+
+VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®åé¤ã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. ã³ãã³ããã­ã³ããããæ¬¡ã®ã³ãã³ããçºè¡ãã
+        regsvr32 /u (ã¤ã³ã¹ãã¼ã«å
+)\device.dll
+    2. DLLãåé¤ãã
+
+-----------------------------------------------
+5.1.2 VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®ä½¿ãæ¹
+-----------------------------------------------
+
+TOPPERS/JSP Windows ã®ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ã§å©ç¨ãããããã¤ã¹ã¯ãVi
+sualBASICãå©ç¨ãã¦ãä½æå¯è½ã§ãããVisualBASICãå©ç¨ãããã¨ã§ãç­æé
+ã§ã¨ãã¥ã¬ã¼ã¿ãä½æã§ãããæ¬é 
+ã§ã¯VisualBASICç¨ããã¤ã¹ã³ã³ãã­ã¼ã«ã®
+æ¦è¦ã¨ãç°¡åãªä½ææé ãç¤ºãã
+
+TOPPERS/JSP on Windows Device Componentã§æä¾ãããæ©è½ã¯æ¬¡ã®éã
+
+ãªãã¸ã§ã¯ã DeviceControl
+
+    ã¡ã½ãã Public Sub Connect()
+        ããã¤ã¹ããã¼ã¸ã£ã¨ã®éä¿¡ãç¢ºç«ãããã
+        ç¢ºç«åã«Connectä»¥å¤ã®ã¡ã½ãããå®è¡ããã¨å¤±æããã
+        å¤±æããã¨E_FAILãè¿ãã
+    
+    ã¡ã½ãã Public Sub Close()
+        ããã¤ã¹ããã¼ã¸ã£ã¨ã®éä¿¡ãçµäºããã
+        å¤±æããã¨E_FAILãè¿ãã
+
+    ã¡ã½ãã Public Sub RaiseInterrupt(ByVal inhno as long)
+        ã«ã¼ãã«ãã­ã»ã¹ã«ãã³ãã©çªå·inhnoã®å²è¾¼ã¿ãçºçãããã
+        å¤±æããã¨E_FAILãè¿ãã0ä»¥ä¸ã®å¤ã¯è¨­å®ã§ããªãã
+
+    ã¡ã½ãã Public Sub Map(ByVal address as long, ByVal size as long)
+        ãã®ããã¤ã¹ãã¢ãã¬ã¹addressããsizeãã¤ãã®ãµã¤ãºã§ãããã³ã°ããã
+        ä»¥å¾ãå¯¾è±¡é åã«ã¢ã¯ã»ã¹ãããã¨ãã¤ãã³ããçºçããã
+    
+    ã¡ã½ãã Public Sub Unmap(ByVal address as long)
+        ã¢ãã¬ã¹addressãå«ããããªãããæ¸ã¿é åã®ãããã³ã°ãè§£é¤ããã
+        ä»¥å¾ãå¯¾è±¡é åã«ã¢ã¯ã»ã¹ããã£ã¦ãã¤ãã³ãã¯çºçããªãã
+    
+    ãã­ããã£ Public Valid as BOOL [R]
+        ãã®ããã¤ã¹ãæå¹ã§ããã¨ãã«ã¯Trueã¨ãªãã
+    
+    ãã­ããã£ Public IsKernelStarted as BOOL [R]
+        ã«ã¼ãã«ãèµ·åãã¦ããã¨Trueã¨ãªãã
+    
+    ãã­ããã£ Public Offset as long [RW]
+        éåä¿¡ãã¼ã¿ãããã¡ã®ãªãã»ããä½ç½®ãæå®/åå¾ããã
+        åä½ã¯ãã¤ãåä½ã§ããã
+    
+    ãã­ããã£ Public AccessSize as short [RW]
+        ã¢ã¯ã»ã¹åä½ãæå®/åå¾ããã
+        æ°å¤ã¯1,2,4ã®ããããã§ããã
+    
+    ãã­ããã£ Public Value as long [RW]
+        ãã­ããã£Offsetã®ä½ç½®ãããã­ããã£AccessSizeãã¤ãã®
+        ãªãã«ã¨ã³ãã£ã¢ã³ã«å¾ãæ°å¤è¡¨ç¾ãããã®ãåå¾/è¨­å®ããã
+        ã¢ã¯ã»ã¹ãè¡ãããã¨Offsetã®å¤ãAccessSizeã ãå¢å ãããã
+        
+        ã¤ãã³ãOnReadæã«ãããèª­è¾¼ã¿ã¯ç¡å¹ã¨ãªãã
+        ã¤ãã³ãOnWriteæã«ãããæ¸ãè¾¼ã¿ã¯ç¡å¹ã¨ãªãã
+    
+    ã¤ãã³ã Private Sub OnRead(ByVal address as long, ByVal sz as long)
+        ã«ã¼ãã«ããaddressçªå°ã«å¯¾ããszãã¤ãã®èª­è¾¼ã¿ããã£ããã¨ãé
+        ç¥ãããããã¤ã¹ã¯ãã®è¿ç­ã¨ãªãå¤ãæ ¼ç´ããªããã°ãªããªãã
+        ã¤ãã³ãçºçæã«ã¯Offsetã¯å¸¸ã«0ã¨ãªãã
+        OnReadã¤ãã³ãçºçæã«ã¯Valueã«å¯¾ããèª­è¾¼ã¿ã¯ã§ããªãã
+        
+    ã¤ãã³ã Private Sub OnWrite(ByVal address as long, ByVal sz as long)
+        ã«ã¼ãã«ããaddressçªå°ã«å¯¾ããszãã¤ãã®æ¸è¾¼ã¿ããã£ããã¨ãé
+        ç¥ãããããã¤ã¹ã¯ãã®å¤ããé©åãªå¦çãè¡ããªããã°ãªããªãã
+        ã¤ãã³ãçºçæã«ã¯Offsetã¯å¸¸ã«0ã¨ãªãã
+        OnWriteã¤ãã³ãçºçæã«ã¯Valueã«å¯¾ããæ¸ãè¾¼ã¿ã¯ã§ããªãã
+    
+    ã¤ãã³ã Private Sub OnKernelStart()
+        ã«ã¼ãã«ãèµ·åãããã¨ãéç¥ããã
+    
+    ã¤ãã³ã Private Sub OnKernelExit()
+        ã«ã¼ãã«ãçµäºãããã¨ãéç¥ããã
+
+
+ããã¤ã¹ãªãã¸ã§ã¯ãã¯éåä¿¡ãã¼ã¿ãç°¡åã«æ±ãããã«ãå
+é¨ã«ãããã¡æ©æ§
+ãæã£ã¦ããããã®ãããã¡æ©æ§ã¯ãã­ããã£AccessSize, Offset, Valueã®3ã¤
+ãå©ç¨ãã¦åå¾/è¨­å®ãããã¨ãå¯è½ã¨ãªãã
+
+ä¾ã¨ãã¦ãã«ã¼ãã«ãã0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xefã¨ã
+ã8ãã¤ãã®ãã¼ã¿ãéããã¦ããå ´åãValueã«æ ¼ç´ããã¦ãããã¼ã¿ã¯ããã
+ãAccessSizeã«å¾ã£ã¦æ¬¡ã®ããã«åå¾ããããã¾ãValueã«ã¢ã¯ã»ã¹ããã¨èªå
+çã«OffsetãAccessSizeåã¤ã³ã¯ãªã¡ã³ãããããããé£ç¶ãã¦åå¾ããã¨é£ç¶
+ãããã¼ã¿ãåå¾ãããã¨ã«ãªãã
+
+        è¡¨: AccessSizeã«ããValueã®å¤ã®å¤å
+        +----+----------------------------+
+        |    |          AccessSize        |
+        |åæ°+------+--------+------------+
+        |    |   1  |     2  |      4     |
+        +----+------+--------+------------+
+        +----+------+--------+------------+
+        |  1 | 0x01 | 0x2301 | 0x67452301 |
+        |  2 | 0x23 | 0x6745 | 0xefcdab89 |
+        |  3 | 0x45 | 0xab89 |  -æªå®ç¾©-  |
+        |  4 | 0x67 | 0xefcd |  -æªå®ç¾©-  |
+        |  5 | 0x89 | æªå®ç¾© |  -æªå®ç¾©-  |
+        |  6 | 0xab | æªå®ç¾© |  -æªå®ç¾©-  |
+        |  7 | 0xcd | æªå®ç¾© |  -æªå®ç¾©-  |
+        |  8 | 0xef | æªå®ç¾© |  -æªå®ç¾©-  |
+        |  9 |æªå®ç¾©| æªå®ç¾© |  -æªå®ç¾©-  |
+        +----+------+--------+------------+
+
+
+sample1.cãæ¹é ãã¦ãç¾å¨åãã¦ããã¿ã¹ã¯çªå·ãè¡¨ç¤ºãããããªããã¤ã¹ã
+ä½æããæé ãç¤ºãããã®æ¹é ã¯VisualBASIC 6.0ã§ã®è¨è¿°ã§ããï¼VB.NETä»¥é
+ãä½¿ç¨ãã¦ããå ´åï¼é©åãªå½¢ã«ä¿®æ­£ãããã¨ï¼
+
+1. Visual C++ ãèµ·åããã«ã¼ãã«ã®ãã­ã¸ã§ã¯ããéã
+
+2. sample1.cã« #include "device.h" ãè¿½å ãã
+
+3. sample1.c:387ã®syslogã®æåã«æ¬¡ã®è¡ãå
+¥ãã
+    DeviceWrite(0x1234, 1, &tskno);
+        #ãã®å½ä»¤ã«ãã£ã¦ãã¼ã0x1234çªå°ã«1ãã¤ãã®ã¬ã¸ã¹ã¿ãæã¤
+        #ããã¤ã¹ã«ãã¼ã¿ãåºåã§ãã
+
+4. ãã«ããã
+
+5. VisualBASIC 6.0ãèµ·åãããæ¨æºEXEããé¸æããéã
+
+6. ã¡ãã¥ã¼ããããã­ã¸ã§ã¯ã -> ã³ã³ãã¼ãã³ãããé¸æãã
+
+7.ã³ã³ãã­ã¼ã«ã®ä¸­ãã
+    ãTOPPERS/JSP on Windows Device Component Type Libraryãããã§ãã¯ãã¦ã
+    OKãæ¼ãã
+
+8.ãã¼ã«ããã¯ã¹ããDeviceControlãé¸æãããã©ã¼ã ã«è²¼ã(DeviceControl1)
+
+9.ã©ãã«ãã²ã¨ã¤ãã©ã¼ã ã«è²¼ã(Label1)
+
+10.ãã©ã¼ã ãããã«ã¯ãªãã¯ããForm_Loadãå®è£
+ãã
+
+    Private Sub Form_Load()
+        DeviceControl1.connect       'ããã¤ã¹ããã¼ã¸ã£ã¨æ¥ç¶ãã
+        DeviceControl1.Map &H1234, 1 '0x1234çªå°ã«1ãã¤ãã®ã¬ã¸ã¹ã¿ãããããã
+    End Sub
+
+11.ç¶ãã¦Form_Unloadãå®è£
+ãã
+
+    Private Sub Form_Unload(Cancel As Integer)
+        DeviceControl1.Close    'ããã¤ã¹ããã¼ã¸ã£ã¨ã®æ¥ç¶ãè§£é¤ãã
+    End Sub
+
+12.åä¿¡æã®åä½ãè¨è¿°ããããã«ãDeviceControl1_OnWriteãå®è£
+ãã
+
+    Private Sub DeviceControl1_OnWrite(ByVal address As Long, ByVal sz As Long)
+        Label1 = Str(DeviceControl1.Value)
+    End Sub
+
+13.ãã­ã°ã©ã ãå®è¡ããã«ã¼ãã«ãèµ·åãã
+14.ã·ãªã¢ã«å
+¥åºåã«'r'ãå
+¥åãã¦ãè¡¨ç¤ºãããæ°å­ãå¤åããã°OKã
+
+è£è¶³
+ ããã¤ã¹ã®Visibleãã­ããã£ãFalseã«è¨­å®ããã°ãå®è¡æã«çµµãè¡¨ç¤ºãããªã
+
+ãµã³ãã«ã¨ãã¦ãwindev/devicecontrol/sampleã«ã¯WINDOWS/sample2.cã§å©ç¨ã§ãã
+ããã¤ã¹ã®ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ã®VisualBASICãã­ã°ã©ã ããããsample2.cã®ã«ã¼
+ãã«ã¨ã¨ãã«ä½¿ç¨ããã°ãç¾å¨ã®å²å­¦è
+ã®ç¶æ³ãè¡¨ç¤ºãã¦ãããã
+
+--------------------------------
+5.1.3 ããã¤ã¹ããã¼ã¸ã£ã®æä½æ³
+--------------------------------
+
+TOPPERS/JSP 1.4ã«ä»å±ã®ããã¤ã¹ããã¼ã¸ã£ããï¼ãã¬ã¤ã¢ã¤ã³ã³ãè¡¨ç¤ºãã
+ããã«ãªã£ã¦ããï¼ãã¬ã¤ã¢ã¤ã³ã³ãå³ã¯ãªãã¯ãããã¨ã§ã¡ãã¥ã¼ãè¡¨ç¤ºãã
+ãã¨ãã§ããï¼
+
+ã¡ãã¥ã¼ã«ã¯ï¼ç¾å¨ã®ã«ã¼ãã«ã®åä½ç¶æ
+ï¼æ¥ç¶æ¸ã¿ããã¤ã¹æ°ï¼å²ä»æ¸ã¿ç©ºé
+æ°ï¼æ¥ç¶æ¸ã¿ã¦ã©ããã£æ°ãè¡¨ç¤ºããï¼ã¾ãããã¤ã¹ä¸è¦§ã¨å¼·å¶çµäºã®é 
+ç®ãã
+ãï¼
+
+ããã¤ã¹ããã¼ã¸ã£ã¯ï¼ã«ã¼ãã«ããã³æ¥ç¶ããã¤ã¹ããã³æ¥ç¶ã¦ã©ããã£ãã²
+ã¨ã¤ããªããªã£ã¦ããä¸å®æéãçµéããã¨èªåçã«çµäºããï¼ãããï¼ããã¤
+ã¹ããã¼ã¸ã£ãä¸æ­£åä½ã®ããã«çµäºããªãå ´åã«ã¯ï¼ã¡ãã¥ã¼ããå¼·å¶çµäºã
+ãããã¨ãã§ããï¼ç¹ã«å
+¨ã¦ã®ããã¤ã¹ãçµäºããã¦ãã¡ãã¥ã¼ä¸­ã®æ¥ç¶ããã¤
+ã¹æ°ã0ã«ãªããªãå ´åï¼ã¾ãã«ã¼ãã«ãèµ·åãã¦ããªãç¶æ³ã«ãé¢ãããã¡ã
+ã¥ã¼ä¸­ã«ãã«ã¼ãã«èµ·åä¸­ãã¨è¡¨ç¤ºãããå ´åã¯ï¼å¼·å¶çµäºãããã¨ã§ããã¤ã¹
+ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ãæ­£å¸¸ã«åä½ã§ããããã«ãªãï¼
+
+---------------------------
+5.1.4 ãããããª?ã¨æã£ãã
+---------------------------
+
+ã»ã©ãè¦ã¦ãåãã¦ãªã
+    - sys_defs.hã®DEVICE_ENABLEã®è¡ãæå¹ã«ãªã£ã¦ãã¾ããï¼
+    - ã¬ã¸ã¹ããªã«æ¬¡ã®ã­ã¼ããããèª¿ã¹ã¦ã¿ã¦ãã ããã
+        51789667-9F20-40AF-AF7F-9856325DFB0B
+      ãã®ã­ã¼ãããå ´åã¯ããã®ã­ã¼ã®LocalServer32ã«è¨è¿°ããããã¡ã¤ã«ã
+      ã¡ããã¨ãããã©ããèª¿ã¹ã¦ã¿ã¦ãã ãããã¾ããã«ã¼ãã«ãå®è¡ä¸­ã«
+      ãã®ãã¡ã¤ã«ãå®è¡ããã¦ãããç¢ºããã¦è¦ã¦ãã ããã
+    - VBã®ããã¤ã¹å´ã§ãDevice.Connectãã¡ããã¨å®è¡ãã¦ãããèª¿ã¹ã¦ã¿ã¦
+      ãã ããï¼
+
+ã»ãããã³ã°ã§å¤±æãã
+    ãã§ã«ããã¤ã¹ããã¼ã¸ã£ãèµ·åãã¦ãããç¹å®ãã¼ããåã¾ã£ã¦ããã¨
+    æãè¾¼ãã§ããå¯è½æ§ãããã¾ããCtrl+Alt+Delããã¿ã¹ã¯ããã¼ã¸ã£ã
+    ä½¿ã£ã¦ï¼ã¡ã¢ãªã«å¸¸é§ãã¦ããããã¤ã¹ããã¼ã¸ã£ãä¸åº¦çµäºããã¦ããã
+    ååº¦å®è¡ãã¦ã¿ãã¨ãã¾ãè¡ãããããã¾ããã
+
+
+--------------------
+5.2 ãã¬ã¼ã¹ã­ã°æ©è½
+--------------------
+
+----------------------------
+5.2.1 ãã¬ã¼ã¹ã­ã°ç°å¢ã®ä½æ
+----------------------------
+
+ãã¬ã¼ã¹ã­ã°æ©æ§ã¯ã3ã¤ã®ãã­ã°ã©ã ããæ§æããã¦ããã
+	ã»ã«ã¼ãã«
+		ã­ã°åå¾ã®å¯¾è±¡ã¨ãªãã«ã¼ãã«ããµã¼ãã¹å¯¾è±¡ã¨ãªãã«ã¼ãã«ã¯
+		ã·ã¹ãã å
+ã§åä¸ (ãã ããè¤æ°æå®æã«ã¯è­¦åãã)ã
+	ã»ããã¤ã¹ããã¼ã¸ã£
+		ã«ã¼ãã«ãåºåããã­ã°ãé©åãªã­ã°ã¦ã©ããã£ã«åéãããã­
+		ã°ã©ã  (ã¤ãã³ããã£ã¹ãããã£)ãã«ã¼ãã« ã¾ãã¯ ã¦ã©ããã£
+		ãèµ·åããã¨ãCOMã«ãã£ã¦èªåèµ·åãããã·ã¹ãã å
+ã§åä¸ã
+	ã»ã­ã°ã¦ã©ããã£ (ã¦ã©ããã£)
+		ã­ã°ãç¨ããå¦çãè¡ããã­ã°ã©ã ãã«ã¼ãã«ãçæããã­ã°ã®
+		æ
+å ±ã«å¿ãã¦ãæ§ã
+ãªå¦çãè¡ããè¤æ°èµ·åå¯è½ã
+
+ãã¬ã¼ã¹ã­ã°æ©è½ã¯ãåç¯ã®ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³æ©è½ãæ¡å¼µããå½¢ã§æä¾
+ããã¦ãããç°å¢ã®æ§ç¯æ¹æ³ã«é¢ãã¦ã¯ã5.1.1é 
+ãåç
+§ã®ãã¨ã
+
+ã«ã¼ãã«ã­ã°æ©æ§ã®ä¸é¨ã¯ãããã¤ã¹ããã¼ã¸ã£ã«ãã£ã¦æä¾ããã¦ããããã
+ã¤ã¹ããã¼ã¸ã£ã®çæã»ç»é²ã»åé¤ã«ã¤ãã¦ã¯ãã5.1.1 ããã¤ã¹ã¨ãã¥ã¬ã¼ã·
+ã§ã³ç°å¢ã®ä½æããåç
+§ããããã
+
+VisualBASICç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«(COMç)ã®ä½æã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ã
+ããåºæ¬çã«ï¼ãã«ããè¡ãã ãã§ãµã¼ãç»é²ããã³ãã­ã­ã·/ã¹ã¿ãç»é²ãè¡
+ãï¼
+
+    1. Visual C++ãèµ·åãããã­ã¸ã§ã¯ãã¯ã¼ã¯ã¹ãã¼ã¹watcher.dswãéã
+    2. ãã«ããè¡ã
+    3. OLEViewãèµ·åããInterfacesã«IKernelLogControlããããã¨ã
+        ç¢ºèªãã
+
+VisualBASICç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«(COMç)ã®ç§»åã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. device.dllãç§»åãã
+    2. ã³ãã³ããã­ã³ããããæ¬¡ã®ã³ãã³ããçºè¡ãã
+        regsvr32 (ç§»åå
+)\watcher.dll
+
+VisualBASICç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«(COMç)ã®åé¤ã«ã¯ãæ¬¡ã®ä½æ¥­ãè¦ããã
+
+    1. ã³ãã³ããã­ã³ããããæ¬¡ã®ã³ãã³ããçºè¡ãã
+        regsvr32 /u (ã¤ã³ã¹ãã¼ã«å
+)\watcher.dll
+    2. DLLãåé¤ãã
+
+
+-----------------------------------
+5.2.2 ã³ãã³ãã©ã¤ã³ ã­ã°ã¦ã©ããã£
+-----------------------------------
+
+ã³ãã³ãã©ã¤ã³ã­ã°ã¦ã©ããã£ã¯ãã«ã¼ãã«ã­ã°ãç»é¢è¡¨ç¤ºããã¨åæã«ã
+"kernel-log-[æ¥ä»]-[æå»].log"ã¨ãããã¡ã¤ã«ãçæãã¦ã­ã°ãä¿å­ãããã
+ã¡ã¤ã«ã¯ã«ã¼ãã«ã®èµ·åã¤ãã³ãæ¯ã«çæããããããã³ãã³ãã©ã¤ã³ã­ã°ã¦ã©
+ããã£ã¯ä¸åº¦èµ·åããã°ãã«ã¼ãã«ã®èµ·åæ¯ã«èµ·åããªããå¿
+è¦ã¯ç¡ãã
+
+ãã­ã°ã©ã ãçæããã«ã¯ãVisual C++ 6.0ãªã©ã®MSç³»å¦çç³»ã§
+jsp/windev/cmdwatch/cmdwatch.dswãéãããã«ããè¡ãã°ããã
+
+ã³ãã³ãã©ã¤ã³ã­ã°ã¦ã©ããã£ã¯Ctrl-Cã¤ãã³ããããã¯ãã¦ããã®ã§ããã­ã°
+ã©ã ãçµäºããã«ã¯Ctrl-Cãæ¼ä¸ããã°ãããCtrl-Cãæ¼ä¸ããã°ç¾å¨åºåãã¦
+ããã­ã°ãã¡ã¤ã«ãã¯ã­ã¼ãºãããã­ã°ã©ã ãåæ­¢ããã
+
+æ¬ãã­ã°ã©ã ã¯ã­ã°æ©æ§ãä½¿ç¨ããããã®ç°å¢ãæä¾ããã¨åæã«ãã­ã°ãä½¿ç¨
+ãããã­ã°ã©ã ãä½æããéã®ãµã³ãã«ã§ãããã
+
+Windowsã¯ã³ã³ã½ã¼ã«ã¢ããªã±ã¼ã·ã§ã³ã®æå­è¡¨ç¤ºãé
+ããã«ã¼ãã«ã®ã­ã°æ©æ§
+ã¯ã­ã°ã¦ã©ããã£ã®éåº¦ã«ä¾å­ãããããã³ãã³ãã©ã¤ã³ã­ã°ã¦ã©ããã£ãä½¿ç¨
+ããã¨ã«ã¼ãã«ã®éåº¦ãä½ä¸ãããç»é¢è¡¨ç¤ºãå¿
+è¦ãªãã®ã§ããã°ãã¦ã£ã³ãã¦
+ãã¢ã¤ã³ã³åããããcmdwatch.cppã®Printfé¢æ°å
+ã§ç»é¢ã¸åºåãã¦ããåæã
+ã³ã¡ã³ãã¢ã¦ããããªã©ã§éåº¦ãããããã¨ãã§ããã
+
+------------------------------------
+5.2.3 VBç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«
+------------------------------------
+
+VBç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«ã¯ãã«ã¼ãã«ãåºåããã­ã°ãVisual BASICã¢
+ããªã±ã¼ã·ã§ã³ã§ä½¿ç¨ããããã®ã³ã³ãã­ã¼ã«ã§ãããæ¬ã³ã³ãã­ã¼ã«ãä½¿ç¨ã
+ããã¨ã§ãMicrosoft Excelãªã©ãä½¿ç¨ãã¦çµ±è¨å¦çã®èªååãªã©ãè¡ããã
+
+èª¬æå
+ã§ITRON-DBIFã¨è¨è¼ã®ããåæã«é¢ãã¦ã¯ãITRONãããã®ã³ã°ã¤ã³ã¿ã
+ã§ã¼ã¹ä»æ§ 1.00.00 ãåç
+§ããããã
+
+	ã¡ã½ãã Public  Sub Open()
+		ã­ã°ã¦ã©ããã£ãããã¼ã¸ã£ã¸ç»é²ããã
+
+	ã¡ã½ãã Public  Sub Close()
+		ã­ã°ã¦ã©ããã£ãç»é²è§£é¤ããã
+
+	ãã­ããã£ Public Type as Long [R]
+		æå¾ã«çºçããã­ã°ã®ç¨®å¥ãåå¾ããã
+
+	ãã­ããã£ Public Logtim as Long [R]
+		æå¾ã«çºçããã­ã°ã®ã«ã¼ãã«æå»ãåå¾ãã (åä½ã¯ms)ã
+
+	ãã­ããã£ Public isValid as Bool [R]
+		ã­ã°ã¦ã©ããã£ãæ­£å¸¸ã«åä½ãã¦ããã¨ãã«TRUEãè¿ãã
+
+	ãã­ããã£ Public Param (index as Long) as Long [R]
+		åã­ã°ç¨®å¥æ¯ã®è¿½å æ
+å ±ãåå¾ããã
+		é 
+ç®ã«é¢ãã¦ã¯ITRON-DBIFãåç
+§ããããã
+
+	ã¤ãã³ã Private Sub OnKernelStart()
+		ã«ã¼ãã«ãèµ·åãããã¨ãéç¥ããã
+
+	ã¤ãã³ã Private Sub OnkernelExit()
+		ã«ã¼ãã«ãçµäºãããã¨ãéç¥ããã
+
+	ã¤ãã³ã Private Sub OnLogEvent( ByVal type as Long )
+		ã¤ãã³ãã®çºçãéç¥ããã
+			type : ã¤ãã³ãç¨®å¥ (ITRON-DBIF)
+					0x1 : å²è¾¼ã¿ãã³ãã©éå§		0x81 : åçµäº
+					0x2 : ISRéå§ (éãµãã¼ã)		0x82 : åçµäº (NOSPT)
+					0x3 : å¨æãã³ãã©éå§			0x83 : åçµäº
+					0x4 : CPUä¾å¤éå§				0x84 : åçµäº
+					0x5 : ã¿ã¹ã¯ä¾å¤éå§			0x85 : åçµäº
+					0x6 : ã¿ã¹ã¯ç¶æ
+å¤å
+					0x7 : ã¿ã¹ã¯->ãã£ã¹ãããã£	0x87 : ->ã¿ã¹ã¯
+					0x8 : SVCå®è¡éå§				0x88 : SVCå®è¡çµäº
+
+------------------
+5.2.4 ãã¡ã¤ã«åºå
+------------------
+
+ãã¬ã¼ã¹ã­ã°æ©è½ã¯ãåè¿°ã®ããã¤ã¹ããã¼ã¸ã£ãä»ãã¦ã­ã°ãåºåããæ¹æ³ã®
+ã»ãã«ããã¡ã¤ã«ã«ç´æ¥ã­ã°ããã³ãããæ¹æ³ãåãããåææ³ãæå¹ã«ããã
+ãã«ã¯ãcom_support.cpp:585-586ã«ããå®ç¾©ãæ¬¡ã®ããã«å
+¥ãæ¿ããã
+
+--- ä¿®æ­£å ---
+//typedef class EventDumpRequest EventRequest;
+  typedef class Request          EventRequest;
+--- ä¿®æ­£å¾ ---
+  typedef class EventDumpRequest EventRequest;
+//typedef class Request          EventRequest;
+--------------
+
+  â»ä¸è¨ä¿®æ­£ãè¡ãã¨ããã¤ã¹ããã¼ã¸ã£ã«ã­ã°æ
+å ±ãåºåããªãããã
+    ã¦ã©ããã£ãæ²é»ãããã¨ã«çæããããã
+
+EventDumpRequestãçæãããã¡ã¤ã«ã¯ãITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»
+æ§ã®æ¨æºã­ã°å½¢å¼ã§ã¯ãªããåä»æ§ã§å®ç¾©ãããã­ã°åå¾ç¨æ§é ä½ã®ãã³ãã¤ã¡
+ã¼ã¸ã§ããããã ããåãã¡ã¤ã«ãé²è¦§/ç·¨éãããã­ã°ã©ã (winwatch)ã¯ã
+TOPPERSãã­ã¸ã§ã¯ãã®ææç©ã§ã¯ãªããããå
+¬å¼ãªãªã¼ã¹ã«ã¯å«ã¾ããªãã
+
+
+----------
+ï¼ï¼ãã®ä»
+----------
+
+------------------------------
+6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+------------------------------
+
+------------------------------------------
+6.1.1 TOPPERS/JSP Windows-HAL æ§æãã¡ã¤ã«
+------------------------------------------
+
+[jsp]
+  +- [config]
+  |   +- [windows]
+  |       +- api.h              : APIã¬ã¼ãééç¨å®ç¾©ãã¡ã¤ã«
+  |       +- com_support.cpp    : COMé¢é£æ©è½å®è£
+é¨
+  |       +- com_support.h      : COMé¢é£æ©è½å®ç¾©é¨
+  |       +- cpu_config.c       : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+  |       +- cpu_config.h       : ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«
+  |       +- cpu_context.h      : ã¿ã¹ã¯ã³ã³ãã­ã¹ãæä½ã«ã¼ãã³
+  |       +- cpu_defs.c         : m68ké¢¨ã®å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿
+  |       +- cpu_defs.h         : m68ké¢¨ã®å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿
+  |       +- cpu_rename.h       : ã·ã³ãã«åè¡çªåé¿ããããã¡ã¤ã«
+  |       +- cpu_rename.def     : è¡çªåé¿ã·ã³ãã«åå®ç¾©ãã¡ã¤ã«
+  |       +- cpu_unrename.h     : ã·ã³ãã«åè¡çªåé¿ããããã¡ã¤ã«
+  |       +- debugout.c         : ãããã°ã³ã³ã½ã¼ã«ã¢ã¸ã¥ã¼ã«
+  |       +- debugout.h         : ãããã°ã³ã³ã½ã¼ã«å®ç¾©ãã¡ã¤ã«
+  |       +- device.h           : ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ç¨å®ç¾©ãã¡ã¤ã«
+  |       +- eventlog.c         : ãã¬ã¼ã¹ã­ã°æ©è½ è£å©é¢æ°å®è£
+é¨
+  |       +- eventlog.h         ; ãã¬ã¼ã¹ã­ã°æ©è½ è£å©é¢æ°å®ç¾©é¨
+  |       +- hal_msg.h          : ã«ã¼ãã«ã·ãã¥ã¬ã¼ã¿ ã¡ãã»ã¼ã¸å®ç¾©ãã¡ã¤ã«
+  |       +- hal_resource.rc    : TOPPERS/JSP Windows ãªã½ã¼ã¹ãã¡ã¤ã«
+  |       +- hw_timer.h         : ã¿ã¤ãæä½
+  |       +- hw_serial.h        : ã·ãªã¢ã«ã¨ãã¥ã¬ã¼ã·ã§ã³ ããã
+  |       +- hw_serial.c        : ã·ãªã¢ã«ã¨ãã¥ã¬ã¼ã·ã§ã³ å®è£
+
+  |       +- icon1.ico          : ã¢ã¤ã³ã³ãã¡ã¤ã«
+  |       +- messages.h         : ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ã¡ãã»ã¼ã¸å®ç¾©
+  |       +- primary_thread.c   : ã¨ã³ããª
+  |       +- resource.h         : ãªã½ã¼ã¹IDå®ç¾©ãã¡ã¤ã«
+  |       +- sys_config.c       : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+  |       +- sys_config.h       : ã·ã¹ãã ä¾å­ã¢ã¸ã¥ã¼ã«
+  |       +- sys_defs.h         : ã·ã¹ãã ä¾å­å®ç¾©ãã¡ã¤ã«
+  |       +- sys_rename.h       : ã·ã³ãã«åè¡çªåé¿ããããã¡ã¤ã«
+  |       +- sys_rename.def     : è¡çªåé¿ã·ã³ãã«åå®ç¾©ãã¡ã¤ã«
+  |       +- sys_unrename.h     : ã·ã³ãã«åè¡çªåé¿ããããã¡ã¤ã«
+  |       +- vitron.h           : itron.hè¡çªåé¿ç¨ããããã¡ã¤ã«
+  |       +- vwindows.h         : windows.hè¡çªåé¿ç¨ããããã¡ã¤ã«
+  +- [tools/WINDOWS]
+      +- configure.vbs          : èªåçæã¹ã¯ãªãã
+      +- kernel_cfg.c           : ã³ã³ãã£ã®ã¥ã¬ã¼ã¿çæãã¡ã¤ã«
+      +- kernel_id.h            : èªåå²å½IDå®ç¾©ãã¡ã¤ã«
+      +- sample1.c              : ãµã³ãã«ãã­ã°ã©ã 
+      +- sample1.h              : ãµã³ãã«ãã­ã°ã©ã  ãããã¼
+      +- sample1.cfg            : ãµã³ãã«ãã­ã°ã©ã  ã«ã¼ãã«æ§æãã¡ã¤ã«
+      +- sample2.c              : ãµã³ãã«ãã­ã°ã©ã 2 å²å­¦è
+åé¡
+      +- sample2.h              : ãµã³ãã«ãã­ã°ã©ã 2 ãããã¼
+      +- sample2.cfg            : ãµã³ãã«ãã­ã°ã©ã 2 ã«ã¼ãã«æ§æãã¡ã¤ã«
+      +- windows.chk            : Windowsç¨ãã§ãã¯ã¹ã¯ãªãããã¡ã¤ã«
+      +- [vc_project]
+          +- Toppers.dsp        : Visual C++ ãã­ã¸ã§ã¯ããã¡ã¤ã«
+          +- Toppers.dsw        : Visual C++ ã¯ã¼ã¯ã¹ãã¼ã¹
+
+
+---------------------------------------------------------
+6.1.2 TOPPERS/JSP Windows ãµãã¼ãã¢ã¸ã¥ã¼ã« æ§æãã¡ã¤ã«
+---------------------------------------------------------
+
+[windev]
+  +- make.vbs                   : èªåçæã¹ã¯ãªãã
+  |
+  +- [cmdwatch]                 : ã³ãã³ãã©ã¤ã³ãã¼ã¹ ã­ã°ã¦ã©ããã£
+  |   +- cmdwatch.cpp           : ã­ã°ã¦ã©ããã£æ¬ä½
+  |   +- cmdwatch.dsw           : Visual C++ ã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«
+  |   +- cmdwatch.dsp           : Visual C++ ãã­ã¸ã§ã¯ããã¡ã¤ã«
+  |
+  +- [devicemanager]            : ããã¤ã¹ããã¼ã¸ã£(COM)
+  |   +- device.cpp             : ããã¤ã¹ãªãã¸ã§ã¯ã
+  |   +- device.h               : ããã¤ã¹ãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- device.rgs             : ããã¤ã¹ãªãã¸ã§ã¯ãç»é²ãã¡ã¤ã«
+  |   +- devicemanager.cpp      : ã¡ã¤ã³ãã­ã°ã©ã 
+  |   +- devicemanager.dsp      : Visual C++ ãã­ã¸ã§ã¯ããã¡ã¤ã«
+  |   +- devicemanager.dsw      : Visual C++ ã¯ã¼ã¯ã¹ãã¼ã¹
+  |   +- devicemanager.h        : ãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- devicemanager.idl      : MIDLãªãã¸ã§ã¯ãè¨è¿°ãã¡ã¤ã«
+  |   +- devicemanager.rc       : ãªã½ã¼ã¹ãã¡ã¤ã«
+  |   +- devicemanager.rgs      : AppIDã¬ã¸ã¹ãã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+  |   +- devicemanagerCP.h      : ã³ãã¯ã·ã§ã³ãã¤ã³ããã­ã­ã·
+  |   +- devicemanager_?.c      : ãã­ã­ã·/ã¹ã¿ãã³ã¼ã
+  |   +- devicemanagerps.def    : ãã­ã­ã·/ã¹ã¿ãå®ç¾©
+  |   +- devicemanagerps.mk     : ãã­ã­ã·/ã¹ã¿ã Makefile
+  |   +- icon1.ico				: ã¿ã¹ã¯ãã¬ã¤ç¨ã¢ã¤ã³ã³
+  |   +- informat.bin           : Informationãªãã¸ã§ã¯ãç»é²ãã¡ã¤ã«
+  |   +- information.cpp        : æ
+å ±æä¾ãªãã¸ã§ã¯ã
+  |   +- information.h          : æ
+å ±æä¾ãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- information.rgs        : Informationã¬ã¸ã¹ãã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+  |   +- kernel.cpp             : ã«ã¼ãã«ãªãã¸ã§ã¯ã
+  |   +- kernel.h               : ã«ã¼ãã«ãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- kernel.rgs             : ã«ã¼ãã«ç»é²ãã¡ã¤ã«
+  |   +- messages.h             : ã¡ãã»ã¼ã¸å®ç¾©ãã¡ã¤ã« (æ§ãã¼ã¸ã§ã³ç¨)
+  |   +- range.h                : ã¬ã³ã¸åå®ç¾©ãã¡ã¤ã«
+  |   +- resource.h             : ãªã½ã¼ã¹å®ç¾©ãã¡ã¤ã«
+  |   +- stdafx.cpp             : ã¡ã¤ã³ãªãã¸ã§ã¯ã
+  |   +- stdafx.h               : ããªã³ã³ãã¤ã«å¯¾è±¡ããã
+  |
+  +- [devicecontrol]            : VBç¨ããã¤ã¹ã³ã³ãã­ã¼ã«(COM)
+  |   +- bmp00001.bmp           : ã³ã³ãã­ã¼ã«è¡¨ç¤ºç¨ã¢ã¤ã³ã³
+  |   +- device.cpp             : DLLé¢é£å¦ç
+  |   +- device.def             : ãã­ã°ã©ã å®ç¾©ãã¡ã¤ã«
+  |   +- device.dsp             : Visual C++ ãã­ã¸ã§ã¯ã
+  |   +- device.dsw             : Visual C++ ã¯ã¼ã¯ã¹ãã¼ã¹
+  |   +- device.h               : ãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- device.idl             : MIDLãªãã¸ã§ã¯ãå®ç¾©ãã¡ã¤ã«
+  |   +- device.rc              : ãªã½ã¼ã¹ãã¡ã¤ã«
+  |   +- deviceCP.h             : ã³ãã¯ã·ã§ã³ãã¤ã³ããã­ã­ã·
+  |   +- deviceco.bmp           : ã¢ããªã±ã¼ã·ã§ã³ã¢ã¤ã³ã³
+  |   +- devicecontrol.cpp      : ããã¤ã¹ã³ã³ãã­ã¼ã«
+  |   +- devicecontrol.h        : ããã¤ã¹ã³ã³ãã­ã¼ã«å®ç¾©ãã¡ã¤ã«
+  |   +- deviceps.def           : ãã­ã­ã·/ã¹ã¿ãå®ç¾©
+  |   +- resource.h             : ãªã½ã¼ã¹å®ç¾©ãã¡ã¤ã«
+  |   +- stdafx.h               : ããªã³ã³ãã¤ã«å¯¾è±¡ããã
+  |   +- stdafx.cpp             : (ç¹ã«ãªã)
+  |   +- [sample]               : ããã¤ã¹ã®ãµã³ãã«
+  |       +- form1.frm          : ãã©ã¼ã  (ãã­ã¹ã)
+  |       +- form1.frx          : ãã©ã¼ã  (ãã¤ããª)
+  |       +- sample2_ui.vbp     : VisualBASICãã­ã¸ã§ã¯ããã¡ã¤ã«
+  |       +- sample2_ui.vbw     : VisualBASICã¯ã¼ã¯ã¹ãã¼ã¹
+  |
+  +- [watcher]                  : VBç¨ã­ã°ã¦ã©ããã£ã³ã³ãã­ã¼ã«(COM)
+      +- kernello.bmp           : ã­ã°ã¦ã©ããã£ã¢ã¤ã³ã³
+      +- kernellogcontrol.cpp   : ã«ã¼ãã«ã­ã°ã¦ã©ããã£ æ¬ä½
+      +- kernellogcontrol.h     : ã«ã¼ãã«ã­ã°ã¦ã©ããã£ ããããã¡ã¤ã«
+      +- resource.h             : ãªã½ã¼ã¹IDå®ç¾©ãã¡ã¤ã«
+      +- stdafx.h               : ããªã³ã³ãã¤ã«å¯¾è±¡ããããã¡ã¤ã«
+      +- stdafx.cpp             : (ç¹ã«ãªã)
+      +- watcher.cpp            : ã³ã³ãã­ã¼ã«å¶å¾¡ã«ã¼ãã³
+      +- watcher.def            : ãã­ã°ã©ã å®ç¾©ãã¡ã¤ã«
+      +- watcher.dsp            : ãã­ã¸ã§ã¯ããã¡ã¤ã«
+      +- watcher.dsw            : ã¯ã¼ã¯ã¹ãã¼ã¹
+      +- watcher.rc             : ãªã½ã¼ã¹ãã¡ã¤ã«
+      +- watcher_?.c            : ãã­ã­ã·/ã¹ã¿ãã³ã¼ã
+      +- watcherCP.h            : ã³ãã¯ã·ã§ã³ãã¤ã³ãå®ç¾©ãã¡ã¤ã«
+      +- watcherps.def          : ãã­ã­ã·/ã¹ã¿ãå®ç¾©ãã¡ã¤ã«
+
+------------------
+ï¼ï¼ãã¼ã¸ã§ã³å±¥æ­´
+------------------
+
+ãã¼ã¸ã§ã³ã¯3æ¡ããæããJSPã®ãã¼ã¸ã§ã³çªå·ã¨ä¸è´ããããã¼ã¸ã§ã³ä»¥å¤ã«
+åç§°ãã¤ãã¦ãããã®ã¯ãå
+é¨é
+å¸/ç¹æ®ç¨é(ãã­ãã¿ã¤ããªã©)ãæå³ããã
+
+	2003å¹´12æ19æ¥  Release 1.4
+		ã»ãªãªã¼ã¹æºå
+		ã»ãã­ã¸ã§ã¯ããã£ã¬ã¯ããªã®ç§»åã«ä¼´ãä¿®æ­£
+			- ãã­ã¥ã¡ã³ã
+			- ãã­ã¸ã§ã¯ããã¡ã¤ã«
+
+	2003å¹´12æ 3æ¥  Release 1.4 - Prerelease Î³
+		ã»ãã£ã¹ãããç¦æ­¢ä¸­ã«å²è¾¼ã¿ãå
+¥ãã¨ãã£ã¹ããããèµ·ãããã°ãä¿®æ­£
+		ã»ããã¤ã¹ããã¼ã¸ã£ããã¬ã¤ã«è¼ãã¦ã¡ãã¥ã¼ãè¿½å 
+		ã»COMéä¿¡ãªã¯ã¨ã¹ãã«ExclusiveRequestãè¿½å 
+
+	2003å¹´11æ10æ¥  Release 1.4 - Prerelease Î²4 (ç¶ã)
+		ã»è©±é¡æ²¸é¨°ãããã¨ã®ä»²ãæªããªã£ã¦ããã®ã§ä»²è£/èª¿å
+			- ããã¤ã¹ããã¼ã¸ã£ã®ã³ã¼ãã®ä¸é¨ããªãã¡ã¯ã¿
+			- ET2003ã®ãã¢ç¨ã«ã­ã°ã¦ã©ããã£ãä¿®æ­£
+		ã»ããã¤ã¹ããã¼ã¸ã£ã®ã¡ãã¥ã¼ã«ãããæ¸ã¿ããã¤ã¹ä¸è¦§ãè¿½å 
+
+	2003å¹´ 8æ21æ¥  Release 1.4 - Prerelease Î²4 (ç¶ã)
+		ã»cygwinã§ã³ã³ãã¤ã«ã§ããããã«æãå ãã
+		ã»ãã«ããã­ã»ããµç¨ã«AffinityMaskãè¨­å®
+		ã»ã³ã³ã½ã¼ã«ã®åæåã§è½ã¡ããã¹ãè¦ç´ãã
+
+	2003å¹´ 6æ17æ¥  Release 1.4 - Prerelease Î²4
+		ã»ã·ãªã¢ã«ãã©ã¤ãã®æ´æ°ã«åããã¦ãã¡ããç´ã
+		ã»ãã¬ã¼ã¹ã­ã°ããã¡ã¤ã«ã«ãã³ãããæ©è½ãè¿½å 
+
+	2003å¹´ 5æ 9æ¥  Release 1.4 - Prerelease Î²3
+		ã»COMéä¿¡ã«ã¼ãã³ãæ¿ãç´ã
+		ã»ã·ã¹ãã ã­ãã¯å¶å¾¡ã®å°å
+¥
+		ã»ãããã°ç¨å¤æ°ãããã¤ãå°å
+¥
+		ã»ãã«ãã¡ãã£ã¢ã¿ã¤ããä½¿ç¨
+
+	2003å¹´ 2æ 1æ¥  Release 1.4 - Prerelease Î²2
+		ã»DesignWaveèªã®ä»é²ã«ããããã«ã³ã¡ã³ããªã©ãä¿®æ­£
+
+	2003å¹´ 1æ19æ¥  Release 1.4 - Prerelease 2
+		ã»toppers-staffåãã«é
+å¸ (1.4 Release Candidate)
+			- Release 1.4 åãã®ä¿®æ­£
+			- ã·ãªã¢ã«ã³ã³ã½ã¼ã«ãã¿ã¹ã¯ãã¼ã«ä¹ããªãã®ãä¿®æ­£
+			- sys_putcã®å®è£
+
+
+	2002å¹´12æ20æ¥  Release 1.4 - Prerelease 1
+		ã»ãã­ã¸ã§ã¯ãã¡ã³ãåãã«é
+å¸
+			- ã«ã¼ãã«å
+ã­ã°ãã¤ã³ã æ­£å¼åæ 
+			- ã­ã°åå¾æ©æ§ ãã°ãã£ã¯ã¹
+			- ã­ã°æ©æ§ã®å®è£
+
+
+	2002å¹´ 9æ 4æ¥  Release 1.4 - Technical Preview
+		ã»ã­ã°åå¾ã¤ã³ã¿ãã§ã¼ã¹å®è£
+
+			- ã«ã¼ãã«å
+ã­ã°ãã¤ã³ãåãä½æ¥­
+			- ããã¤ã¹ããã¼ã¸ã£ã«ã­ã°åéã«ã¼ãã³ãå®è£
+
+			- ã¦ã©ããã£ä½æ
+
+	2002å¹´ 7æ 7æ¥  Release 1.3.1(ç¶ã)
+		ã»ã¿ã¹ã¯ä¾å¤ãç®¡çã¹ã¬ããä¸ã§å®è¡ããã¦ãã¾ãã®ãåé¿
+			ãã®ä¿®æ­£ã«ããMSVCã§ã®ã³ã³ãã¤ã«ãå¿
+é ã«
+		ã»å²è¾¼ã¿ã¨ãã¥ã¬ã¼ã¿ã®ena_int/dis_intãä½ãå¤ãã
+		ã»ã¨ããã©ããã«ã³ã¡ã³ãããã¤
+		ã»DebugOuté¢æ°ãæ¹é 
+
+	2002å¹´ 6æ30æ¥  Release 1.3.1
+		ã»Release 1.3ã®ã¨ãã«ç´ããã¨æã£ã¦ããã·ãªã¢ã«ãã©ã¤ãã®ãã°ãä¿®æ­£
+			- ç®¡çã¹ã¬ãããJSPã®é¢æ°ãä½¿ããä¸è²«æ§ãå¤±ããããã°ãä¿®æ­£
+		ã»Release 1.3ã®å¾ã«è¦ã¤ãã£ããã°ã®ãã£ãã¯ã¹
+			- ãã­ã¥ã¡ã³ãã®ä¿®æ­£ (ããã¤ã¹ããã¼ã¸ã£ ãã¥ã¼ããªã¢ã«)
+			- ã«ã¼ãã«å´ã®ããã¤ã¹ã¨ãã¥ãã³ãã©ã¹ã¬ããã®DispatchMessageã®
+				ãã©ã¡ã¼ã¿ããã¤ã³ã¿ã«ãªã£ã¦ããªãã£ãã®ãä¿®æ­£
+			- ShellNotifyIconã®åé¤ã«ä½¿ã£ã¦ããhWndãç»é²æã¨ç°ãªã£ã¦ããããã«
+				çµäºå¾ãã¢ã¤ã³ã³ãåé¤ãããªãã£ããã°ãä¿®æ­£
+		ã»ããã¤ã¹ããã¼ã¸ã£ã®ä¿®æ­£
+			- ã«ã¼ãã«ã«KeepAliveç¢ºèªå²è¾¼ã¿ãè¨­ç½®ããã«ã¼ãã«å¼·å¶çµäºå¾ã«
+				ããã¤ã¹ããã¼ã¸ã£ã«æ¥ç¶ã§ããªããªããã°ãä¿®æ­£
+			- å¤éã«ã¼ãã«èµ·åæã«ãã©ã¡ãã«æ¥ç¶ãããç¢ºèªããããã«ä¿®æ­£
+
+	2002å¹´ 4æ 6æ¥  Release 1.3
+		ã»Release 1.3ã«åãããã¾ãã¾èª¿æ´
+			- WSHèªåçæã¹ã¯ãªããã®å°å
+¥
+			- æ°è¦ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¸ã®å¯¾å¿
+			- ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã§ãã«ãããã©ã«ãã§ä½¿ç¨ããããä¿®æ­£
+			- ãã®ãã­ã¥ã¡ã³ãã®ä¿®æ­£
+
+	2001å¹´11æ15æ¥  Release 1.2
+		ã»Release1.2ããªãªã¼ã¹
+			- å
+é¨ã¨å¤é¨ã®ãã¼ã¸ã§ã³ãåããããããrel 1.2ãã¹ã­ãã
+
+    2001å¹´11æ12æ¥  Release 1.1.6
+        ã»Release1.2ã«åãããã¾ãã¾ãªèª¿æ´
+            - æ¨æºãã«ãç¨ã¯ã¼ã¯ã¹ãã¼ã¹ & ãã­ã¸ã§ã¯ãã®å¤æ´
+            - ç¡éå¾
+ã¡åé¿ç¨å¼·å¶ã·ã£ãããã¦ã³ã¹ã¬ããã®å°å
+¥
+            - ãã®ãã­ã¥ã¡ã³ãã®ä¿®æ­£
+
+    2001å¹´11æ 1æ¥  Release 1.1.5
+        ã»sample1.cã®ãã«ã
+            - ãã­ã¥ã¡ã³ãä¸­ã®sample1.cã®ãã«ãæ¹æ³ã«ããcfg.exeã®ãã¹ãééã£ã¦ããã®ãä¿®æ­£
+                # jsp/WINDOWS/cfg.exe -> jsp/cfg/cfg.exe
+            - ä¸è¨ä¿®æ­£ã«ä¼´ããsample1.cç¨ã®ãã­ã¸ã§ã¯ãã¯ã¼ã¯ã¹ãã¼ã¹ãä¿®æ­£
+
+    2001å¹´10æ24æ¥  Release 1.1.4
+        ã»ããã¤ã¹ã¨ãã¥å¤§æ´èµ°å¯¾ç­
+            - COMããã¤ã¹ã¨ãã¥ãå¤é¨ããã®å²è¾¼ã¿è¦æ±ãåãå
+¥ããªããã°ãä¿®æ­£
+
+    2001å¹´ 9æ13æ¥  Release 1.1.3
+        ã»æ¤å®ä»æ§æ¸å¯¾ç­
+            - sns_dpnãCPUä¾å¤æã«FALSEã¨ãªããã°ãä¿®æ­£
+            - ShellNotifyIconãæ¶ããªããã°ãä¿®æ­£
+            - sample1.cã®CPUä¾å¤ãã¢ã¯ã»ã¹éåãããã¦ã¼ã¶å®ç¾©ä¾å¤ã¸ä¿®æ­£ (ä¾å¤å¾©å¸°å¯¾ç­)
+
+    2001å¹´ 7æ29æ¥  Release 1.1.2
+        ã»ã·ãªã¢ã«ã³ã³ã½ã¼ã«ã«ããã¹ã¿ãã¯ç ´å£ã®åé¿
+            - KeyEventTrapperã®CALLBACKæå®ãä¸è¶³ãã¦ããã®ãä¿®æ­£
+
+    2001å¹´ 3æ24æ¥  Release 1.1.1
+        ã»ã«ã¼ãã«ã®ããã¤ã¹çµäºç¡éå¾
+ã¡ã®åé¿
+            - ããã¤ã¹çµäºã¤ãã³ããSIGNALç¶æ
+ã«ããåã«åé¤ãã¦ãã¾ãã
+               ã«ã¼ãã«ãç¡éå¾
+ã¡ã«é¥ã£ã¦ãã¾ããã°ãä¿®æ­£
+
+    2001å¹´ 2æ23æ¥  Release 1.1
+        ã»TOPPERS/JSP release 1.1ã«åããããããä¿®æ­£
+            - ããã¤ã¹ããã¼ã¸ã£ã®ãã¡ã¤ã«åãè¦ç´ã«å¾ãä¿®æ­£
+            - ããã¤ã¹ã³ã³ãã­ã¼ã«ã®ãã¡ã¤ã«åãè¦ç´ã«å¾ãä¿®æ­£
+            - sample2.cãããã¤ã¹ãã¢ç¨ã«æ¸ãç´ã
+
+    2001å¹´ 2æ20æ¥  Release 1.0.8
+        ã»ãã°ãã£ãã¯ã¹ã¨ã
+            - HALMSG_MESSAGESãWM_USERããWM_APPã«
+            - PrimaryDialogHandleã®ä»£å
+¥ä½ç½®ãä¿®æ­£
+
+    2001å¹´ 1æ29æ¥  Release 1.0.7
+        ã»ããã¤ã¹ã³ã³ãã­ã¼ã«ããªãªã¼ã¹ç¨ã«ä¿®æ­£
+            - ã°ã©ãã£ãã¯ã®ä¿®æ­£/è¿½å 
+            - OnDrawé¢æ°ã®ä¿®æ­£
+            - IDL helpstringã®è¿½å 
+            - device_com.cppã«ã³ã¡ã³ããè¿½å 
+
+    2001å¹´ 1æ12æ¥  Release 1.0.6
+        ã»ããã¥ã¢ã«ã®ããã¤ã¹ãµãã¼ãã«é¢ããèª¬æãè¿½å 
+
+    2001å¹´ 1æ 4æ¥  Release 1.0.5
+        ã»è«¸è¨­å®é¨ãsys_defs.hã«è¿½ãåºã
+        ã»çµäºã«ã¼ãã³ã®ä¸é¨ãæ¹è¯
+
+    2000å¹´12æ30æ¥  Release 1.0.4
+        ã»ããã¤ã¹ãµãã¼ãæ©æ§ãã¤ãã (COM)
+        ã»ä¸é¨ã®ãã³ãã«ã®è¡¨è¨ãæ­£å¼ãªãã®ã«ããã (HANDLE->HWNDãªã©)
+
+    2000å¹´12æ21æ¥  Release 1.0.3
+        ã»ããã¤ã¹ãµãã¼ãæ©æ§ãã¤ãã (ã¡ã¼ã«ã¹ã­ããç)
+
+    2000å¹´12æ12æ¥  Release 1.0.2
+        ã»Visual C++ã®ãã­ã¸ã§ã¯ããã¡ã¤ã«ã®ä½ç½®ãç§»å
+        ã»ãã®æç« ã®ãã¹ãä½ç¹ãä¿®æ­£
+
+    2000å¹´11æ24æ¥  Release 1.0.1
+        ã»ã¿ã¹ã¯ä¾å¤ãçºçããªããã°ãä¿®æ­£
+        ã»ã³ã³ã½ã¼ã«ã·ãªã¢ã«ãã©ã¤ããã¹ã¿ãã¯ãç ´å£ããã®ãä¿®æ­£
+    
+    2000å¹´11æ15æ¥  Release 1.0
+        ã»æåã®ãªãªã¼ã¹
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/xstormy16.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/xstormy16.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/xstormy16.txt	(revision 26)
@@ -0,0 +1,417 @@
+
+        ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+            ï¼Xstormy16 ã¿ã¼ã²ããä¾å­é¨ï¼
+
+             ï¼Release 1.4.4å¯¾å¿ï¼æçµæ´æ°: 07-Dec-2010ï¼
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2003      by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
+             Graduate School of Information Science, Nagoya Univ., JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(3) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ãã­ã¥ã¡
+ ã³ãï¼æ¬ãã­ã¥ã¡ã³ããæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ãã­ã¥ã¡ã³ããå©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶
+     ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ãã­ã¥ã¡ã³ãä¸­ã«å«ã¾ãã¦
+     ãããã¨ï¼
+ (2) æ¬ãã­ã¥ã¡ã³ããæ¹å¤ããå ´åã«ã¯ï¼ãã­ã¥ã¡ã³ããæ¹å¤ããæ¨ã®è¨è¿°
+     ãï¼æ¹å¤å¾ã®ãã­ã¥ã¡ã³ãä¸­ã«å«ãããã¨ï¼ãã ãï¼æ¹å¤å¾ã®ãã­ã¥ã¡
+     ã³ããï¼TOPPERSãã­ã¸ã§ã¯ãæå®ã®éçºææç©ã§ããå ´åã«ã¯ï¼ãã®é
+     ãã§ã¯ãªãï¼
+ (3) æ¬ãã­ã¥ã¡ã³ãã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+     ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+     æ¬ãã­ã¥ã¡ã³ãã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+     ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ãã­ã¥ã¡ã³ãã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ãã­ã¥ã¡ã³ãã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ãã­ã¥ã¡ã³ãã®å©ç¨
+ ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ ããªãï¼
+
+------------------------------------------------------------------------
+
+ï¼ï¼Xstormy16 ã¿ã¼ã²ããä¾å­é¨ã®æ¦è¦
+
+1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
+
+TOPPSER/JSPå
+¬å¼å
+¬éçã§ã®Xstormy16ãã­ã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
+ã¯ããä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã®EVAãããã¬ã®ã¨ãã¥
+ã¬ã¼ã·ã§ã³ç°å¢ããµãã¼ããã¦ããã
+ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã¯ä»¥ä¸ããå
+¥æã§ããã
+http://semicon.sanyo.com/jp/micon/index.php
+ãã®ä¸­ã«Cã³ã³ãã¤ã©ç­ãå«ã¾ããã
+Xstormy16ã·ãªã¼ãºã®åCPUã«å¯¾å¿ããTOPPERS/JSPé¢é£ã®ãã¡ã¤ã«ã¯ãä¸è¨ã«é
+æè¿½å ãããã®ã§ãéã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã®åä½ãå®éã®è£½åéçºãè¡ã
+å ´åã¯ãä¸è¨ããå
+¥æã§ããææ°çã®ãã¡ã¤ã«ãä½¿ç¨ããå¿
+è¦ãããã
+ã¾ããä¸è¨éçºãã¼ã«ä¸­ã«ã¯ãTOPPERS/JSPããã¼ã¹ã«ããã¤ãã®ä¿®æ­£ãè¡ã£ã
+ãã®ããã½ã¼ã¹ããã³ã³ã³ãã¤ã«æ¸ã¿ã®ã©ã¤ãã©ãªã®å½¢ã§ç´ãããã¦ããã®ã§ã
+ã«ã¼ãã«èªèº«ãä¿®æ­£ã»åã³ã³ãã¤ã«ããå¿
+è¦ããªãã®ã§ããã°ãä¸è¨éçºãã¼
+ã«ããã¦ã³ã­ã¼ãã»ã¤ã³ã¹ãã¼ã«ããã®ã¿ã§ãTOPPERS/JSPãå©ç¨ã§ããã
+
+1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
+
+Xstormy16ã§ã¯ãJSPã§æ¡å¼µãããä»¥ä¸ã®æ©è½ã¯ãµãã¼ããã¦ããªãã
+(1) å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
+§(chg_ixx/get_ixx)
+(2) å²è¾¼ã¿ã®ç¦æ­¢ã¨è¨±å¯(dis_int/ena_int)
+(3) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
+§æ©è½(vxget_tim)
+Xstormy16ã§ã¯ãå²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ­¢ããã³ã¬ãã«(åªå
+åº¦)ãSFR(IL1L-IL2H)
+ã§ç®¡çããã¦ãããããä¸è¨APIã«é©åããªãããããã®å¤æ´ã¯SFRã¸ã®è¨­å®ã«
+ãã£ã¦å¤æ´ããå¿
+è¦ãããã
+
+1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
+
+Xstormy16ã·ãªã¼ãºã®(LC590200ãé¤ã)å
+¨ã¦ã®CPUã§ã¯CPUã³ã¢èªèº«ã®æ©è½ããã³
+ã¿ã¤ã ã¹ãã£ãã¯ä¾çµ¦ç¨ã®ã¿ã¤ãã¯åä¸ã®ä»æ§ã§å®è£
+ããã¦ãããã¾ãSIOãå®
+è£
+ããã¦ããæ©ç¨®ã§ã¯å
+¨ã¦åä¸ã®ä»æ§ã¨ãªã£ã¦ããã®ã§ãä»ã®ã¿ã¼ã²ããã¸ã®
+ãã¼ãã£ã³ã°ãè¡ãæã«ãã«ã¼ãã«èªèº«ã¯ä¿®æ­£ããå¿
+è¦ã¯ãªãã
+å®è£
+ããã¦ããã¡ã¢ãªãµã¤ãºã«å¿ãããªã³ã«ã¼ã¹ã¯ãªããç­ãã¿ã¼ã²ããæ¯ã«
+ä¿®æ­£ãå¿
+è¦ãªãã¡ã¤ã«ã¯ãä¸è¨ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ã
+ã«å«ã¾ãã¦ããã®ã§ããããä½¿ç¨ããã
+
+1.4  ã·ãªã¢ã«ãã¼ã (UART)
+
+EVAãããã¬ã§ã¯ãã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã»éã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¨ãã«UART0
+ã¨UART1ã®2æ¬ã®ã·ãªã¢ã«ãã¼ããæã¤ãã¾ããå®CPUã§ãåæ§ã®ä»æ§ã§UARTãæ
+ã¤æ©ç¨®ãããã
+TOPPERS/JSPã®ã­ã°åºåãããã³printf()/scanf()ç­ã®æ¨æºå
+¥åºåã«ã¯ããã®å
+
+UART0ãç¨ããã(sys_config.hã®LOGTASK_PORTIDã§å¤æ´å¯è½)
+ã·ãªã¢ã«ãã¼ãã®è¨­å®ãä»¥ä¸ã«ç¤ºãã
+   ã»ãã¼ã¬ã¤ãã57600Baud
+   ã»ãã¼ã¿é·ã8 ããã
+   ã»ã¹ããããããã1 ããã
+   ã»ããªãã£ãªã
+   ã»ãã­ã¼å¶å¾¡ãªã
+
+ï¼ï¼Xstormy16 ãã­ã»ããµä¾å­é¨ã®æ©è½
+
+ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸­ã§ãXstormy16ä¾å­ã®
+é¨åã«ã¤ãã¦è§£èª¬ããã
+
+2.1 ãã¼ã¿å
+
+signed intåããã³ unsigned intåã®ãµã¤ãºã¯ 16ãããã§ããã
+
+2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
+
+2.2.1 ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿
+
+ãXstormy16ãã­ã°ã©ãã¼ãºã¬ã¤ãã2.4ç« ã«è¨è¿°ãããæ¹æ³ã§å®ç¾©ãããå²ã
+è¾¼ã¿å¦çã«ã¼ãã³ã¯ãã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã¨ãã¦æ©è½ããã
+ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã¯ã«ã¼ãã«ã«é¢é£ããä½åãªãªã¼ãã¼ããããå°ãª
+ãé«éã§ããå©ç¹ãããåé¢ãä»¥ä¸ã®ç¹ã«æ³¨æããå¿
+è¦ãããã
+(1) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®åªå
+åº¦ã¯ãå
+¨ã¦ã®ã«ã¼ãã«ç®¡çã®å²ãè¾¼ã¿ã®
+    åªå
+åº¦ãããé«ããªããã°ãªããªãã(ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿å¦çä¸­ã«
+    ã«ã¼ãã«ç®¡çã®å²ãè¾¼ã¿ãåãä»ããã¨ãããã§ãã£ã¹ããããçºçãã
+    ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®å¦çãéä¸­ã§ä¸­æ­ãã¦ãã¾ãå¯è½æ§ãããã
+    ãã)
+    ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«å«ã¾ããçã§ã¯ã"é
+    ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãµã¼ãã¹ã³ã¼ã«ã®é
+å»¶å®è¡"ãæ¡ç¨ãã¦ããããã
+    ãã®å¶éã¯ãªãã
+(2) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®å²ãè¾¼ã¿å¦çã«ã¼ãã³ã§ã¯ãã«ã¼ãã«ãµã¼ã
+    ã¹ãå¼ã³åºãã¦ã¯ãªããªãã
+(3) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã§ã¯ããã®çºçæã®ã¹ã¿ãã¯ããã®ã¾ã¾ç¨ãã
+    ãããå
+¨ã¦ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã®å®¹éã«ãã®å¿
+è¦åãå
+¥ãã¦ããå¿
+è¦ãã
+    ãã
+(4) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ããCPUã­ãã¯ç¶æ
+ã§ã¯åãä»ããããªãã
+    å
+¬å¼å
+¬éçã®Xstormy16ç¨TOPPERS/JSPã§ã¯ãå¤§é¨åã®ãµã¼ãã¹ã³ã¼ã«ãå
+
+    é¨ã§ã¯CPUã­ãã¯ç¶æ
+ã¨ãªã£ã¦ããã®ã§æ³¨æãå¿
+è¦ã
+    ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«å«ã¾ããçã§ã¯ããµã¼
+    ãã¹ã³ã¼ã«å
+ã§CPUãã­ãã¯ããªããå²ãè¾¼ã¿ãã³ãã©ã®å
+¥ãå£ã»åºå£å¦ç
+    ç­ã§æå¤§12ã¯ã­ãã¯ã®CPUã­ãã¯ã®åºéãããã
+
+2.2.2 å²è¾¼ã¿ãã³ãã©çªå·
+
+DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ãXstormy16 ã§ã®å²ãè¾¼ã¿
+ãã¯ã¿çªå·ãè¡¨ãããã®ãã¼ã¿å(INHNO)ã¯ unsigned intåã«å®ç¾©ããã¦ããã
+å²ãè¾¼ã¿ãã³ãã©çªå·ã«ã¯ã0-16ãæå®ã§ããEVAãããã¬ã®ã¨ãã¥ã¬ã¼ã·ã§ã³
+ç°å¢ã§ã¯ãä»¥ä¸ãå®è£
+ããã¦ããã
+  1 : Base Timer (ã¢ããªã±ã¼ã·ã§ã³ã§ä½¿ç¨å¯)
+  2 : Timer0 (ã¿ã¤ã ã¹ãã£ãã¯ä¾çµ¦ç¨ã«ä½¿ç¨)
+  3 : Timer1 (ã¢ããªã±ã¼ã·ã§ã³ã§ä½¿ç¨å¯)
+ 16 : UART (ã­ã°åºåã»æ¨æºå
+¥åºåã§ä½¿ç¨)
+å®CPUã§ä½¿ç¨å¯è½ãªå²ãè¾¼ã¿ã¨ä¾å¤ãã¯ã¿çªå·ã«ã¤ãã¦ã¯ãããããã®ãã¤ã³ã³
+ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ãåç
+§ã
+
+2.2.3 åã
+ã®å²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ­¢ã¨åªå
+åº¦
+
+Xstormy16ã§ã¯ãåã
+ã®å²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ­¢ã¨åªå
+åº¦ã¯ã«ã¼ãã«ã§ã¯ç®¡çããª
+ãããããã®å¶å¾¡ã¯IL1L/IL1H/IL2L/IL2Hã¸ã®è¨­å®ã§è¡ãã
+
+2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
+
+DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ã®ãã¼ã¿å(EXCNO)ã¯ unsigned int
+åã«å®ç¾©ããã¦ãããä»¥ä¸ã®çªå·ãæå®å¯è½ã§ããã
+  0 : æªå®ç¾©å½ä»¤ã®å®è¡
+  1 : å¥æ°çªå°ã¸ã®ã¯ã¼ãã¢ã¯ã»ã¹
+  2 : ROM/RAMæªå®è£
+ã¨ãªã¢ã¸ã®ã¢ã¯ã»ã¹
+
+2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+
+Xstormy16ä¾å­ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ãæ¬¡ã®åæåå¦çã
+è¡ãã
+(1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+(2) .bssã»ã¯ã·ã§ã³ã®åæå
+(3) .dataã»ã¯ã·ã§ã³ã®åæå
+(4) ã«ã¼ãã«ã®èµ·å(kernel_startã¸åå²)
+
+2.5 éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ä½¿ç¨ããã¹ã¿ãã¯
+
+Xstormy16ã§ã¯ãå²ãè¾¼ã¿ãã³ãã©ãå«ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã¨
+ãã¦ãéçå¤æ°ãã¿ã¹ã¯ç¨ã¹ã¿ãã¯ãç¢ºä¿ããå¾ã®æ®ãã®RAMãä½¿ç¨ããã
+ã¿ã¹ã¯å®è¡ä¸­ã«å²ãè¾¼ã¿ãçºçããå ´åãå²ãè¾¼ã¿ãã³ãã©ãå¼ã³åºãããå
+ã«ã«ã¼ãã«å
+ã§ã¹ã¿ãã¯ãã¤ã³ã¿ãéã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæ¿ãã
+ãããåã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã®å¿
+è¦ãªãµã¤ãºãæ±ºããæã«å²ãè¾¼ã¿ãã³ãã©å
+
+ã§ä½¿ç¨ãããã¹ã¿ãã¯ãèæ
+®ããå¿
+è¦ã¯ãªãã
+ããããå²ãè¾¼ã¿çºçæã®PCã¨PSWããã³R0-R2ã¾ã§ã®ä¿å­ã¯ã¹ã¿ãã¯ã®åãæ¿
+ãåã«è¡ãããããã12ãã¤ãåã®ã¨ãªã¢ã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã§ç¢ºä¿ãã¦ã
+ãå¿
+è¦ãããã
+ã¯ã¼ã¹ãã±ã¼ã¹ã¨ãªãã®ã¯ãã¬ãã«ï¼ã®å²ãè¾¼ã¿ã§ã¹ã¿ãã¯ãåãæ¿ããç´å
+ã«ã¬ãã«ï¼ã®å²ãè¾¼ã¿ãçºçãããã«ã¬ãã«2å²ãè¾¼ã¿ã§ã®ã¹ã¿ãã¯åãæ¿ãç´
+åã«ã¬ãã«ï¼å²ãè¾¼ã¿çºçã»ã»ã»ã¨ãªããããªå ´åã§ããã®å¿
+è¦ãªã¨ãªã¢ã¯ã
+12 Ã (ãã¹ããã¦çºçããå¯è½æ§ã®ããå²ãè¾¼ã¿ã¬ãã«ã®æ°) ã«ãªãããã®å
+ã®ã¨ãªã¢ã¯ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã«ç¢ºä¿ãã¦ããå¿
+è¦ããã
+
+3.  ã·ã¹ãã ä¾å­é¨ã®æ©è½
+
+3.1  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã«ä½¿ç¨ããTIMER0ã®ãªã·ã¬ã¼ã¿ã¯ããã©ã«ãã§ã¯
+Xstormy16å
+èã®RCçºä¿¡ãç¨ãã¦ããã(ç´1MHz)
+ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ãsys_defs.h ä¸­ã® 
+TIC_NUME ã¨ TIC_DENO ã§å®ç¾©ããã¦ãã(æ¨æºã¯ 5ããªç§å¨æ)ã
+å
+èRCçºä¿¡ãç¨ãã¦5ããªç§å¨æã§ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ãããã©ã¤ãã¯ã«ã¼
+ãã«ã©ã¤ãã©ãªä¸­(ã½ã¼ã¹ã¯hw_timer.c)ã«å«ã¾ãã¦ãããããã©ã«ãã§ã¯ãã
+ããªã³ã¯ãããããã¦ã¼ã¶ã¼ãã­ã°ã©ã å´ã§hw_timer.cãä¿®æ­£ãããã®ãä½æ
+ããªã³ã¯ãããã¨ã§ãä½¿ç¨ãããªã·ã¬ã¼ã¿ã»å²ãè¾¼ã¿ã®å¨æãä»»æã«å¤æ´ãã
+ãã¨ãã§ããããã®å ´åãå¼ã³åºãå¨æãCPUã¯ã­ãã¯ã«å¯¾ãã¦ååã«é·ãå¿
+
+è¦ãããã(ç®å®ã¨ãã¦ãå¼ã³åºãå¨æ >2000/CPUã¯ã­ãã¯)
+Xstormy16å
+èã®RCçºä¿¡ã¯ããã®å¨æ³¢æ°ã®ç²¾åº¦ãä½ããããã¿ã¤ãã®ç²¾åº¦ãå¿
+è¦
+ãªå ´åã¯ãå¤é¨X'talãªã·ã¬ã¼ã¿ç­ã«åãæ¿ããå¿
+è¦ãããã
+
+3.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+
+ã·ã¹ãã ä¾å­é¨ã®ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ãã¯ãUART0/UART1ã®ï¼ã¤ã®
+ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ããµãã¼ããã¦ããããã¼ãID=1ãUART0ããã¼ãID=2
+ãUART1ã«å¯¾å¿ãã¦ããã
+ã·ã¹ãã ã­ã°ç­ã§ç¨ããããã©ã«ãã®ã·ãªã¢ã«ãã¼ãã¯ãUART0ã«è¨­å®ãã¦ããã
+
+3.3 ã¡ã¢ãªããã
+
+EVAãããã¬ã®ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®ã¡ã¢ãªãããã¯ä»¥ä¸ã®ã¨ããã§ããã
+  00000-077FF : RAM
+  07E00-07FFF : SFR(Special Function Register)
+  08000-7FFFF : ROM
+ã«ã¼ãã«ç¨ã®ãã¼ã¿é åã»ã¦ã¼ã¶ã¼ãã­ã°ã©ã ç¨ã®ãã¼ã¿é åãããã³ã¿ã¹ã¯
+ç¨ã®ã¹ã¿ãã¯ã00000çªå°ããç¢ºä¿ããæ®ãã®RAMãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®
+ã¹ã¿ãã¯(ä¸ä½ãã)ãããã³ãã¼ãã¡ã¢ãª(ä¸ä½ãã)ã¨ãã¦ä½¿ç¨ããã
+
+ï¼ï¼éçºç°å¢ã®æ§ç¯
+
+4.1 ä¸æ´æä¾ã®ãã¡ã¤ã«ãå©ç¨ããå ´å
+
+ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«ã¯ãã³ã³ãã¤ã«æ¸ã¿ã®ã©
+ã¤ãã©ãªå½¢å¼ã®JPSã«ã¼ãã«ãå«ããã³ã³ãã¤ã©ã»ãããã¬ã»çµ±åéçºç°å¢ç­ã
+Windowsä¸ã§éçºã«å¿
+è¦ãªå
+¨ã¦ã®ãã¡ã¤ã«ãå«ã¾ãã¦ããã®ã§ãéå¸¸ã¯ãããã
+ãã¦ã³ã­ã¼ãã»ã¤ã³ã¹ãã¼ã«ãããã¨ã§TOPERS/JSPãå©ç¨ã§ããã
+ãä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã¯
+http://semicon.sanyo.com/jp/micon/index.php
+ãããã¦ã³ã­ã¼ãã§ããã
+éçºãã¼ã«ã«å«ã¾ããä¸è¨ã®ãã­ã¥ã¡ã³ããåç
+§ã®ãã¨ã
+   ã»TOPPERS/JSPã¦ã¼ã¶ã¼ã®ããã®ãã¡ã¼ã¹ãã¹ãããã¬ã¤ã
+   ã»Xstormy16 ãã­ã°ã©ãã¼ãºã¬ã¤ã
+
+4.2 ãã®å
+¬å¼å
+¬éçãå©ç¨ããå ´å
+
+ãã®å
+¬å¼å
+¬éçãå©ç¨ããå ´åãä»¥ä¸ã®æé ã§éçºç°å¢ãæ§ç¯ããã
+
+Step1 ä¸æ´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ã®ã¤ã³ã¹ãã¼ã«
+[å
+¥æå
+]
+http://semicon.sanyo.com/jp/micon/index.php
+[ã¤ã³ã¹ãã¼ã«æé ]
+(1) ã¢ã¼ã«ã¤ããè§£åããã¤ã³ã¹ãã¼ã©ãå®è¡ããã
+(2) ã¤ã³ã¹ãã¼ã©ããã®åãåããã«ã¯ãå
+¨ã¦ããã©ã«ãã§ã¤ã³ã¹ãã¼ã«
+(3) ã¤ã³ã¹ãã¼ã«ãããIDEãèµ·å
+(4) IDEã®ã¡ãã¥ã¼[ãã¼ã«]->[DOSãã­ã³ãã]ãèµ·å
+(5) DOSãã­ã³ããå
+ã§ãã³ãã³ã"Prepare_perl.bat"ãå®è¡(ã¤ã³ã¹ãã¼ã«å¾
+    ä¸åº¦ã ãå®è¡ããã°è¯ã)
+
+Step2 TOPPERS/JSPã®å
+¥æã¨æºå
+[å
+¥æå
+]
+http://www.toppers.jp/
+ãããããTOPPERS/JSP Ver1.4.4ã®ã½ã¼ã¹ã³ã¼ã(SJISç)ããã¦ã³ã­ã¼ãã
+[æé ]
+(1) ã½ã¼ã¹ã¢ã¼ã«ã¤ããä»»æã®ãã£ã¬ã¯ããª(ããã§ã¯C:\jspã¨ãã)ã«è§£å
+(2) Step1ã§ã¤ã³ã¹ãã¼ã«ãããä¸è¨ã®ãã£ã¬ã¯ããªã«ããcfg.exeã¨chk.exe
+    ãC:\jsp\cfgã«ã³ãã¼ãã¦ãã
+      C:\Program Files\SanyoX16\Gcc\for_toppers\bin
+(3) è§£åãããã£ã¬ã¯ããªã®ä¸ã«ä½æ¥­ç¨ãã£ã¬ã¯ããªobj(ããã§ã¯C:\jsp\obj)
+    ãä½æ
+
+Step3 JSPã«ã¼ãã«ã¨ãµã³ãã«ãã­ã°ã©ã ã®ã³ã³ãã¤ã«
+(1) Step1(4)ã§éããDOSãã­ã³ããã§ãStep2(3)ã§ä½æãããã£ã¬ã¯ããª
+    (C:\jsp\obj)ã«ç§»åããã
+(2) ä»¥ä¸ã®ã³ãã³ããå®è¡
+    æ­£å¸¸ã«å®è¡ãããã°ãC:\jsp\obj\jsp.elf ãä½æããã
+    perl ../configure -C xstormy16 -S simulator
+    make depend
+    make
+(3) DOSãã­ã³ãããéãã
+
+Step4 EVAãããã¬ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã®å®è¡
+[æé ]
+(1) Windowsã«æ»ããStep3(2)ã§ä½æãããC:\jsp\obj\jsp.elfãããã«ã¯ãª
+    ãã¯ãã¦EVAãããã¬ãèµ·åããã
+(2) ãã¨ãã¥ã¬ã¼ã·ã§ã³ã¢ã¼ãã§èµ·åãã¾ããã®åãã«ãã¯ãããã¯ãªãã¯ã§
+    EVAãããã¬ãã¨ãã¥ã¬ã¼ã·ã§ã³ã¢ã¼ãã§èµ·å
+(3) F5ãæ¼ãã¦ãã­ã°ã©ã ãéå§ããã¨ãUSERã¦ã£ã³ãã¦ã«ä»¥ä¸ã®è¡¨ç¤ºãåºã
+    ã°æ­£å¸¸ã«åä½ãã¦ãã
+      JSP Kernel Release......
+          : ä¸­ç¥
+      task1 is running (001). |
+      task1 is running (002). |
+          :
+(4) USERã¦ã£ã³ãã¦ä¸ã®ã³ãã³ãå
+¥åæ¬ã«ä»¥ä¸ã®ã³ãã³ããå
+¥å
+      < t[Enter]     ('<'ã¨'t'ã®éã«ã¹ãã¼ã¹ãå¿
+è¦)
+    task1ãter_tskãããtask2ãåãåºãã
+    (ãµã³ãã«ãã­ã°ã©ã ã§ä½¿ç¨ã§ãã't'ä»¥å¤ã®ã³ãã³ãã«ã¤ãã¦ã¯ãsample1.c
+    é ­ã®ã³ã¡ã³ãåç
+§)
+
+ï¼ï¼ãã®ä»
+
+5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
+
+Xstormy16 ã¿ã¼ã²ããä¾å­é¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
+
+    config/xstormy16/
+      Makefile.config  Makefile ã® Xstormy16ä¾å­å®ç¾©
+      cpu_config.c     ãã­ã»ããµä¾å­é¨ã®é¢æ°
+      cpu_config.h     ãã­ã»ããµä¾å­é¨ã®æ§æå®ç¾©
+      cpu_context.h    ã³ã³ãã­ã¹ãæä½
+      cpu_defs.h       ãã­ã»ããµä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      cpu_insn.h       ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã«ã¼ãã³ã®å®ç¾©
+      cpu_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+      cpu_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+      cpu_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+      cpu_sfrs.h       ã«ã¼ãã«å
+ã§ä½¿ç¨ããSFRã®å®ç¾©
+      cpu_stdio.h      æ¨æºå
+¥åºåãµãã¼ãã®ããã®é¢æ°
+      cpu_support.S    ãã­ã»ããµä¾å­é¨ã®ãµãã«ã¼ãã³
+      hw_serial.h      SIOãã©ã¤ãã®æ§æå®ç¾©
+      hw_serial.c      SIOãã©ã¤ãã®é¢æ°
+      hw_serial.cfg    SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+      hw_timer.h       ã¿ã¤ããã©ã¤ãã®æ§æå®ç¾©
+      hw_timer.c       ã¿ã¤ããã©ã¤ãã®é¢æ°
+      offset.h         ã¢ã»ã³ãã©ããCæ§é ä½ã¢ã¯ã»ã¹ã®ããã®å®ç¾©
+      start.S          ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+      tool_config.h    éçºç°å¢ä¾å­é¨ã®æ§æå®ç¾©
+      tool_defs.h      éçºç°å¢ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+    config/xstormy16/simulator/
+      Makefile.config  Makefile ã® ã·ã¹ãã ä¾å­å®ç¾©
+      LC88F0099.ld     ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ç¨ãªã³ã«ã¼ã¹ã¯ãªãã
+      LC88F0099.S      EVAãããã¬ã®ããã®æ©ç¨®æ
+å ±
+      sys_config.c     ã·ã¹ãã ä¾å­é¨ã®é¢æ°
+      sys_config.h     ã·ã¹ãã ä¾å­é¨ã®æ§æå®ç¾©
+      sys_defs.h       ã·ã¹ãã ä¾å­é¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
+      sys_rename.def   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã å®ç¾©
+      sys_rename.h     ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+      sys_unrename.h   ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã è§£é¤
+
+ä»¥ä¸
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/itron.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/itron.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/itron.h	(revision 26)
@@ -0,0 +1,269 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: itron.h,v 1.16 2004/12/22 03:38:00 hiro Exp $
+ */
+
+/*
+ *	ITRONä»æ§å
+±éè¦å®ã®ãã¼ã¿åã»å®æ°ã»ãã¯ã­
+ *
+ *  ãã®ãã¡ã¤ã«ã«ã¯ï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã«ã¯å¿
+è¦ãªãå®ç¾©ãå«ãã§
+ *  ããï¼ãã¼ã¿åã®å®ç¾©ã¯ï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ãæºããã¡ããã©ã®
+ *  é·ãã«ã¯ãã¦ããªãï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ã¾ãï¼ITRONä»æ§å
+±éè¦å®ã«æºæ ããã½ããã¦ã§ã¢é¨åã®ã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã¯ï¼ãã®ãã¡ã¤ã«ãç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ãããï¼ãã®ä¾å¤ãé¤ãã¦ï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããåã«ï¼t_stddef.h ãã¤ã³ã¯ã«ã¼ããã¦
+ *  ãããã¨ãå¿
+è¦ã§ããï¼
+ */
+
+#ifndef _ITRON_H_
+#define _ITRON_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+#include <tool_defs.h>
+
+/*
+ *  éçºç°å¢ã®æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼NULL ã¨ size_t ã®å®ç¾©ãå¿
+è¦ï¼
+ *
+ *  C++/EC++ ã§ã¯ï¼æ¨æºä»æ§ä¸ã¯ stddef.h ããµãã¼ãããã¦ããã¨ã¯éããª
+ *  ããï¼ã»ã¨ãã©ã®å¦çç³»ã§ãµãã¼ãããã¦ããï¼
+ */
+#ifndef _MACRO_ONLY
+#include <stddef.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã³ã³ãã¤ã©ä¾å­ã®ãã¼ã¿åã®ããã©ã«ãå®ç¾©
+ */
+#ifndef _bool_
+#define	_bool_		int		/* ãã¼ã«å */
+#endif /* _bool_ */
+
+/*
+ *  ITRONä»æ§å
+±éãã¼ã¿å
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef _int8_
+typedef	signed _int8_		B;	/* ç¬¦å·ä»ã8ãããæ´æ° */
+typedef	unsigned _int8_		UB;	/* ç¬¦å·ç¡ã8ãããæ´æ° */
+typedef	_int8_			VB;	/* åãå®ã¾ããªã8ãããã®å¤ */
+#endif /* _int8_ */
+
+#ifdef _int16_
+typedef	signed _int16_		H;	/* ç¬¦å·ä»ã16ãããæ´æ° */
+typedef	unsigned _int16_ 	UH;	/* ç¬¦å·ç¡ã16ãããæ´æ° */
+typedef	_int16_			VH;	/* åãå®ã¾ããªã16ãããã®å¤ */
+#endif /* _int16_ */
+
+typedef	signed _int32_		W;	/* ç¬¦å·ä»ã32ãããæ´æ° */
+typedef	unsigned _int32_	UW;	/* ç¬¦å·ç¡ã32ãããæ´æ° */
+typedef	_int32_			VW;	/* åãå®ã¾ããªã32ãããã®å¤ */
+
+#ifdef _int64_
+typedef	signed _int64_		D;	/* ç¬¦å·ä»ã64ãããæ´æ° */
+typedef	unsigned _int64_	UD;	/* ç¬¦å·ç¡ã64ãããæ´æ° */
+typedef	_int64_			VD;	/* åãå®ã¾ããªã64ãããã®å¤ */
+#endif /* _int64_ */
+
+typedef	void		*VP;		/* åãå®ã¾ããªããã®ã¸ã®ãã¤ã³ã¿ */
+typedef	void		(*FP)();	/* ãã­ã°ã©ã ã®èµ·åçªå°ï¼ãã¤ã³ã¿ï¼ */
+
+typedef signed int	INT;		/* èªç¶ãªãµã¤ãºã®ç¬¦å·ä»ãæ´æ° */
+typedef unsigned int	UINT;		/* èªç¶ãªãµã¤ãºã®ç¬¦å·ç¡ãæ´æ° */
+
+typedef _bool_		BOOL;		/* çå½å¤ */
+
+typedef INT		FN;		/* æ©è½ã³ã¼ã */
+typedef	INT		ER;		/* ã¨ã©ã¼ã³ã¼ã */
+typedef	INT		ID;		/* ãªãã¸ã§ã¯ãã®IDçªå· */
+typedef	UINT		ATR;		/* ãªãã¸ã§ã¯ãã®å±æ§ */
+typedef	UINT		STAT;		/* ãªãã¸ã§ã¯ãã®ç¶æ
+ */
+typedef	UINT		MODE;		/* ãµã¼ãã¹ã³ã¼ã«ã®åä½ã¢ã¼ã */
+typedef	INT		PRI;		/* åªå
+åº¦ */
+typedef	size_t		SIZE;		/* ã¡ã¢ãªé åã®ãµã¤ãº */
+
+typedef	INT		TMO;		/* ã¿ã¤ã ã¢ã¦ãæå® */
+typedef	UINT		RELTIM;		/* ç¸å¯¾æé */
+typedef	UW		SYSTIM;		/* ã·ã¹ãã æå» */
+
+#ifdef _vp_int_
+typedef	_vp_int_	VP_INT;		/* VP ã¾ãã¯ INT */
+#else /* _vp_int_ */
+typedef	VP		VP_INT;		/* VP ã¾ãã¯ INT */
+#endif /* _vp_int_ */
+
+typedef	INT		ER_BOOL;	/* ER ã¾ãã¯ BOOL */
+typedef	INT		ER_ID;		/* ER ã¾ãã¯ ID */
+typedef	INT		ER_UINT;	/* ER ã¾ãã¯ UINT */
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ITRONä»æ§å
+±éå®æ°
+ */
+
+/*
+ *  ä¸è¬
+ *
+ *  _MACRO_ONLY ã®æã«ã¯ï¼NULL ãå®ç¾©ããªãï¼ããã¯ï¼_MACRO_ONLY ã®æ
+ *  ã¯stddef.h ãã¤ã³ã¯ã«ã¼ãããªãããï¼ããã§ãªãæã¨ NULL ã®å®ç¾©ã
+ *  é£ãéãå¯è½æ§ãããããã§ããï¼ã¾ãï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§
+ *  ã³ãã¡ã¤ã«ãå¦çããå ´åã«ã¯ NULL ãå®ç¾©ãã¦ã¯ãªããªãããï¼ãã®ç¹
+ *  ãããå®ç¾©ããªãæ¹ãé½åãããï¼
+ */
+#ifndef _MACRO_ONLY
+#ifndef NULL				/* stddef.h ã«å«ã¾ãã¦ããã¯ã */
+#define	NULL		0		/* ç¡å¹ãã¤ã³ã¿ */
+#endif /* NULL */
+#endif /* _MACRO_ONLY */
+
+#define	TRUE		1		/* ç */
+#define	FALSE		0		/* å½ */
+#define	E_OK		0		/* æ­£å¸¸çµäº */
+
+/*
+ *  ã¨ã©ã¼ã³ã¼ã
+ */
+#define	E_SYS		(-5)		/* ã·ã¹ãã ã¨ã©ã¼ */
+#define	E_NOSPT		(-9)		/* æªãµãã¼ãæ©è½ */
+#define	E_RSFN		(-10)		/* äºç´æ©è½ã³ã¼ã */
+#define	E_RSATR		(-11)		/* äºç´å±æ§ */
+#define	E_PAR		(-17)		/* ãã©ã¡ã¼ã¿ã¨ã©ã¼ */
+#define	E_ID		(-18)		/* ä¸æ­£IDçªå· */
+#define	E_CTX		(-25)		/* ã³ã³ãã­ã¹ãã¨ã©ã¼ */
+#define	E_MACV		(-26)		/* ã¡ã¢ãªã¢ã¯ã»ã¹éå */
+#define	E_OACV		(-27)		/* ãªãã¸ã§ã¯ãã¢ã¯ã»ã¹éå */
+#define	E_ILUSE		(-28)		/* ãµã¼ãã¹ã³ã¼ã«ä¸æ­£ä½¿ç¨ */
+#define	E_NOMEM		(-33)		/* ã¡ã¢ãªä¸è¶³ */
+#define	E_NOID		(-34)		/* IDçªå·ä¸è¶³ */
+#define	E_OBJ		(-41)		/* ãªãã¸ã§ã¯ãç¶æ
+ã¨ã©ã¼ */
+#define	E_NOEXS		(-42)		/* ãªãã¸ã§ã¯ãæªçæ */
+#define	E_QOVR		(-43)		/* ã­ã¥ã¼ã¤ã³ã°ãªã¼ãã¼ãã­ã¼ */
+#define	E_RLWAI		(-49)		/* å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤ */
+#define	E_TMOUT		(-50)		/* ãã¼ãªã³ã°å¤±æã¾ãã¯ã¿ã¤ã ã¢ã¦ã */
+#define	E_DLT		(-51)		/* å¾
+ã¡ãªãã¸ã§ã¯ãã®åé¤ */
+#define	E_CLS		(-52)		/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç¶æ
+å¤å */
+#define	E_WBLK		(-57)		/* ãã³ãã­ãã­ã³ã°åä»ã */
+#define	E_BOVR		(-58)		/* ãããã¡ãªã¼ãã¼ãã­ã¼ */
+
+/*
+ *  ãªãã¸ã§ã¯ãå±æ§
+ */
+#define	TA_NULL		0u		/* ãªãã¸ã§ã¯ãå±æ§ãæå®ããªã */
+
+/*
+ *  ã¿ã¤ã ã¢ã¦ãæå®
+ */
+#define TMO_POL		0		/* ãã¼ãªã³ã° */
+#define TMO_FEVR	(-1)		/* æ°¸ä¹
+å¾
+ã¡ */
+#define TMO_NBLK	(-2)		/* ãã³ãã­ãã­ã³ã° */
+
+/*
+ *  ITRONä»æ§å
+±éãã¯ã­
+ */
+
+/*
+ *  ã¨ã©ã¼ã³ã¼ãçæã»åè§£ãã¯ã­
+ *
+ *  ANSI Cè¨èªã®è¦æ ¼ã§ã¯ï¼å³ã·ããæ¼ç®å­ï¼>>ï¼ãç¬¦å·æ¡å¼µããããã¨ãä¿
+ *  è¨¼ãã¦ããªãããï¼SERCDãã¯ã­ã®å®ç¾©ãåã« ((ercd) >> 8) ã¨ããã¨ï¼
+ *  å³ã·ããæ¼ç®å­ãç¬¦å·æ¡å¼µããªãã³ã³ãã¤ã©ã§ã¯ï¼SERCD ã®è¿å¤ãæ­£ã®å¤
+ *  ã«ãªã£ã¦ãã¾ãï¼
+ */
+#define	ERCD(mercd,sercd)	(((sercd) << 8) | ((mercd) & 0xff))
+
+#ifdef _int8_
+#define	MERCD(ercd)		((ER)((B)(ercd)))
+#define	SERCD(ercd)		((ER)((B)((ercd) >> 8)))
+#else /* _int8_ */
+#define	MERCD(ercd)		(((ercd) & 0x80) == 0 ? ((ercd) & 0xff) \
+							: ((ercd) | ~0xff))
+#define	SERCD(ercd)		((~((~0) >> 8)) | ((ercd) >> 8))
+#endif /* _int8_ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ITRON_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel.h	(revision 26)
@@ -0,0 +1,349 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernel.h,v 1.22 2007/05/08 07:33:51 honda Exp $
+ */
+
+/*
+ *	Î¼ITRON4.0ä»æ§æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ãã¡ã¤ã«ã§ã¯ï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã§å¿
+è¦ãªãã®ã¨ï¼JSPã«ã¼
+ *  ãã«ç¬èªã®æ¡å¼µæ©è½ã§å¿
+è¦ãªãã®ã ããå®ç¾©ãã¦ããï¼ãã¼ã¿åã®å®ç¾©ã¯ï¼
+ *  ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ãæºããã¡ããã©ã®é·ãã«ã¯ãã¦ããªãï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼t_services.h 
+ *  ã¨ jsp_kernel.hï¼ã§ã¤ã³ã¯ã«ã¼ããããï¼ã¾ãï¼ä»ã® ITRONä»æ§OS ãã
+ *  ã½ããã¦ã§ã¢ããã¼ãã£ã³ã°ããå ´åãªã©ã«ã¯ï¼ãã®ãã¡ã¤ã«ãç´æ¥ã¤ã³
+ *  ã¯ã«ã¼ããã¦ãããï¼ãã®ä¾å¤ãé¤ãã¦ï¼ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼
+ *  ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ä¸­ã§ã¤ã³ã¯ã«ã¼ããã¦ãããã¡ã¤ã«ãé¤ãã¦ï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã«ä¾å­ãã¦ããªãï¼
+ */
+
+#ifndef _KERNEL_H_
+#define _KERNEL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ã«ã¼ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ å
+±éã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <t_stddef.h>
+
+/*
+ *  ITRONä»æ§å
+±éè¦å®ã®ãã¼ã¿åã»å®æ°ã»ãã¯ã­
+ */
+#include <itron.h>
+
+/*
+ *  ã·ã¹ãã ããã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#include <sys_defs.h>
+#include <cpu_defs.h>
+
+/*
+ *  ã·ã¹ãã ã­ã°ãµã¼ãã¹ã®ããã®å®ç¾©
+ */
+#include <t_syslog.h>
+
+/*
+ *  è£å©ãã¯ã­
+ */
+#define	TROUND_VP(sz)	(((sz) + sizeof(VP) - 1) & ~(sizeof(VP) - 1))
+#define	TCOUNT_VP(sz)	(((sz) + sizeof(VP) - 1) / sizeof(VP))
+
+/*
+ *  ãã¼ã¿åã®å®ç¾©
+ */
+#ifndef _MACRO_ONLY
+
+typedef	UINT		TEXPTN;		/* ã¿ã¹ã¯ä¾å¤è¦å ã®ããããã¿ã¼ã³ */
+typedef	UINT		FLGPTN;		/* ã¤ãã³ããã©ã°ã®ããããã¿ã¼ã³ */
+
+typedef	struct t_msg {			/* ã¡ã¼ã«ããã¯ã¹ã®ã¡ãã»ã¼ã¸ããã */
+	struct t_msg	*next;
+} T_MSG;
+
+typedef	struct t_msg_pri {		/* åªå
+åº¦ä»ãã¡ãã»ã¼ã¸ããã */
+	T_MSG		msgque;		/* ã¡ãã»ã¼ã¸ããã */
+	PRI		msgpri;		/* ã¡ãã»ã¼ã¸åªå
+åº¦ */
+} T_MSG_PRI;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãµã¼ãã¹ã³ã¼ã«ã®å®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã¿ã¹ã¯ç®¡çæ©è½
+ */
+extern ER	act_tsk(ID tskid) throw();
+extern ER	iact_tsk(ID tskid) throw();
+extern ER_UINT	can_act(ID tskid) throw();
+extern void	ext_tsk(void) throw();
+extern ER	ter_tsk(ID tskid) throw();
+extern ER	chg_pri(ID tskid, PRI tskpri) throw();
+extern ER	get_pri(ID tskid, PRI *p_tskpri) throw();
+
+/*
+ *  ã¿ã¹ã¯ä»å±åææ©è½
+ */
+extern ER	slp_tsk(void) throw();
+extern ER	tslp_tsk(TMO tmout) throw();
+extern ER	wup_tsk(ID tskid) throw();
+extern ER	iwup_tsk(ID tskid) throw();
+extern ER_UINT	can_wup(ID tskid) throw();
+extern ER	rel_wai(ID tskid) throw();
+extern ER	irel_wai(ID tskid) throw();
+extern ER	sus_tsk(ID tskid) throw();
+extern ER	rsm_tsk(ID tskid) throw();
+extern ER	frsm_tsk(ID tskid) throw();
+extern ER	dly_tsk(RELTIM dlytim) throw();
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çæ©è½
+ */
+extern ER	ras_tex(ID tskid, TEXPTN rasptn) throw();
+extern ER	iras_tex(ID tskid, TEXPTN rasptn) throw();
+extern ER	dis_tex(void) throw();
+extern ER	ena_tex(void) throw();
+extern BOOL	sns_tex(void) throw();
+
+/*
+ *  åæã»éä¿¡æ©è½
+ */
+extern ER	sig_sem(ID semid) throw();
+extern ER	isig_sem(ID semid) throw();
+extern ER	wai_sem(ID semid) throw();
+extern ER	pol_sem(ID semid) throw();
+extern ER	twai_sem(ID semid, TMO tmout) throw();
+
+extern ER	set_flg(ID flgid, FLGPTN setptn) throw();
+extern ER	iset_flg(ID flgid, FLGPTN setptn) throw();
+extern ER	clr_flg(ID flgid, FLGPTN clrptn) throw();
+extern ER	wai_flg(ID flgid, FLGPTN waiptn,
+			MODE wfmode, FLGPTN *p_flgptn) throw();
+extern ER	pol_flg(ID flgid, FLGPTN waiptn,
+			MODE wfmode, FLGPTN *p_flgptn) throw();
+extern ER	twai_flg(ID flgid, FLGPTN waiptn,
+			MODE wfmode, FLGPTN *p_flgptn, TMO tmout) throw();
+
+extern ER	snd_dtq(ID dtqid, VP_INT data) throw();
+extern ER	psnd_dtq(ID dtqid, VP_INT data) throw();
+extern ER	ipsnd_dtq(ID dtqid, VP_INT data) throw();
+extern ER	tsnd_dtq(ID dtqid, VP_INT data, TMO tmout) throw();
+extern ER	fsnd_dtq(ID dtqid, VP_INT data) throw();
+extern ER	ifsnd_dtq(ID dtqid, VP_INT data) throw();
+extern ER	rcv_dtq(ID dtqid, VP_INT *p_data) throw();
+extern ER	prcv_dtq(ID dtqid, VP_INT *p_data) throw();
+extern ER	trcv_dtq(ID dtqid, VP_INT *p_data, TMO tmout) throw();
+
+extern ER	snd_mbx(ID mbxid, T_MSG *pk_msg) throw();
+extern ER	rcv_mbx(ID mbxid, T_MSG **ppk_msg) throw();
+extern ER	prcv_mbx(ID mbxid, T_MSG **ppk_msg) throw();
+extern ER	trcv_mbx(ID mbxid, T_MSG **ppk_msg, TMO tmout) throw();
+
+/*
+ *  ã¡ã¢ãªãã¼ã«ç®¡çæ©è½
+ */
+extern ER	get_mpf(ID mpfid, VP *p_blk) throw();
+extern ER	pget_mpf(ID mpfid, VP *p_blk) throw();
+extern ER	tget_mpf(ID mpfid, VP *p_blk, TMO tmout) throw();
+extern ER	rel_mpf(ID mpfid, VP blk) throw();
+
+/*
+ *  æéç®¡çæ©è½
+ */
+extern ER	set_tim(const SYSTIM *p_systim) throw();
+extern ER	get_tim(SYSTIM *p_systim) throw();
+extern ER	isig_tim(void) throw();
+
+extern ER	sta_cyc(ID cycid) throw();
+extern ER	stp_cyc(ID cycid) throw();
+
+/*
+ *  ã·ã¹ãã ç¶æ
+ç®¡çæ©è½
+ */
+extern ER	rot_rdq(PRI tskpri) throw();
+extern ER	irot_rdq(PRI tskpri) throw();
+extern ER	get_tid(ID *p_tskid) throw();
+extern ER	iget_tid(ID *p_tskid) throw();
+extern ER	loc_cpu(void) throw();
+extern ER	iloc_cpu(void) throw();
+extern ER	unl_cpu(void) throw();
+extern ER	iunl_cpu(void) throw();
+extern ER	dis_dsp(void) throw();
+extern ER	ena_dsp(void) throw();
+extern BOOL	sns_ctx(void) throw();
+extern BOOL	sns_loc(void) throw();
+extern BOOL	sns_dsp(void) throw();
+extern BOOL	sns_dpn(void) throw();
+
+/*
+ *  å®è£
+ç¬èªãµã¼ãã¹ã³ã¼ã«
+ */
+extern BOOL	vxsns_ctx(VP p_excinf) throw();
+extern BOOL	vxsns_loc(VP p_excinf) throw();
+extern BOOL	vxsns_dsp(VP p_excinf) throw();
+extern BOOL	vxsns_dpn(VP p_excinf) throw();
+extern BOOL	vxsns_tex(VP p_excinf) throw();
+extern BOOL	vsns_ini(void) throw();
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ãªãã¸ã§ã¯ãå±æ§ã®å®ç¾©
+ */
+#define TA_HLNG		0x00u		/* é«ç´è¨èªç¨ã¤ã³ã¿ãã§ã¼ã¹ */
+#define TA_ASM		0x01u		/* ã¢ã»ã³ããªè¨èªç¨ã¤ã³ã¿ãã§ã¼ã¹ */
+
+#define TA_TFIFO	0x00u		/* ã¿ã¹ã¯ã®å¾
+ã¡è¡åãFIFOé ã« */
+#define TA_TPRI		0x01u		/* ã¿ã¹ã¯ã®å¾
+ã¡è¡åãåªå
+åº¦é ã« */
+
+#define TA_MFIFO	0x00u		/* ã¡ãã»ã¼ã¸ã­ã¥ã¼ãFIFOé ã« */
+#define TA_MPRI		0x02u		/* ã¡ãã»ã¼ã¸ã­ã¥ã¼ãåªå
+åº¦é ã« */
+
+#define TA_ACT		0x02u		/* ã¿ã¹ã¯ãèµ·åãããç¶æ
+ã§çæ */
+
+#define TA_WSGL		0x00u		/* ã¤ãã³ããã©ã°ã®å¾
+ã¡ã¿ã¹ã¯ã1ã¤ã« */
+#define TA_CLR		0x04u		/* ã¤ãã³ããã©ã°ã®ã¯ãªã¢æå® */
+
+#define	TA_STA		0x02u		/* å¨æãã³ãã©ãåä½ç¶æ
+ã§çæ */
+
+/*
+ *  ãµã¼ãã¹ã³ã¼ã«ã®åä½ã¢ã¼ãã®å®ç¾©
+ */
+#define	TWF_ANDW	0x00u		/* ã¤ãã³ããã©ã°ã®ANDå¾
+ã¡ */
+#define	TWF_ORW		0x01u		/* ã¤ãã³ããã©ã°ã®ORå¾
+ã¡ */
+
+/*
+ *  ãã®ä»ã®å®æ°ã®å®ç¾©
+ */
+#define	TSK_SELF	0		/* èªã¿ã¹ã¯æå® */
+#define	TSK_NONE	0		/* è©²å½ããã¿ã¹ã¯ããªã */
+#define	TPRI_SELF	0		/* èªã¿ã¹ã¯ã®ãã¼ã¹åªå
+åº¦ã®æå® */
+#define	TPRI_INI	0		/* ã¿ã¹ã¯ã®èµ·åæåªå
+åº¦ã®æå® */
+
+/*
+ *  æ§æå®æ°ã¨ãã¯ã­
+ */
+
+/*
+ *  åªå
+åº¦ã®ç¯å²
+ */
+#define	TMIN_TPRI	1		/* ã¿ã¹ã¯åªå
+åº¦ã®æå°å¤ */
+#define	TMAX_TPRI	16		/* ã¿ã¹ã¯åªå
+åº¦ã®æå¤§å¤ */
+#define	TMIN_MPRI	1		/* ã¡ãã»ã¼ã¸åªå
+åº¦ã®æå°å¤ */
+#define	TMAX_MPRI	16		/* ã¡ãã»ã¼ã¸åªå
+åº¦ã®æå¤§å¤ */
+
+/*
+ *  ãã¼ã¸ã§ã³æ
+å ±
+ */
+#define	TKERNEL_MAKER	0x0118u		/* ã«ã¼ãã«ã®ã¡ã¼ã«ã¼ã³ã¼ã */
+#define	TKERNEL_PRID	0x0001u		/* ã«ã¼ãã«ã®è­å¥çªå· */
+#define	TKERNEL_SPVER	0x5402u		/* ITRONä»æ§ã®ãã¼ã¸ã§ã³çªå· */
+#define	TKERNEL_PRVER	0x1044u		/* ã«ã¼ãã«ã®ãã¼ã¸ã§ã³çªå· */
+
+/*
+ *  ã­ã¥ã¼ã¤ã³ã°ï¼ãã¹ãåæ°ã®æå¤§å¤
+ */
+#define	TMAX_ACTCNT	1		/* èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ */
+#define	TMAX_WUPCNT	1		/* èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ */
+#define	TMAX_SUSCNT	1		/* å¼·å¶å¾
+ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ */
+
+/*
+ *  ããããã¿ã¼ã³ã®ãããæ°
+ */
+#define	TBIT_TEXPTN	(sizeof(TEXPTN) * CHAR_BIT)
+					/* ã¿ã¹ã¯ä¾å¤è¦å ã®ãããæ° */
+#define	TBIT_FLGPTN	(sizeof(FLGPTN) * CHAR_BIT)
+					/* ã¤ãã³ããã©ã°ã®ãããæ° */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _KERNEL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_cfg.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_cfg.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_cfg.h	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernel_cfg.h,v 1.5 2003/12/06 13:09:46 hiro Exp $
+ */
+
+/*
+ *	kernel_cfg.c ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+
+#ifndef _KERNEL_CFG_H_
+#define _KERNEL_CFG_H_
+
+/*
+ *  ã«ã¼ãã«æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <../kernel/jsp_kernel.h>
+
+/*
+ *  ã«ã¼ãã«ã®åã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <../kernel/task.h>
+#include <../kernel/semaphore.h>
+#include <../kernel/eventflag.h>
+#include <../kernel/dataqueue.h>
+#include <../kernel/mailbox.h>
+#include <../kernel/mempfix.h>
+#include <../kernel/cyclic.h>
+#include <../kernel/interrupt.h>
+#include <../kernel/exception.h>
+#include <../kernel/time_event.h>
+
+/*
+ *  ã«ã¼ãã«ã®ã¯ã¼ã¯ã¨ãªã¢ãå®ç¾©ããããã®ãã¼ã¿å
+ *
+ *  ã¹ã¿ãã¯é åã¨åºå®é·ã¡ã¢ãªãã¼ã«é åãï¼VPåã®ãµã¤ãºãããå¤§ããå
+ *  ä½ã§ã¢ã©ã¤ã³ãããå¿
+è¦ãããå ´åã«ã¯ï¼__STK_UNIT ã¨__MPF_UNIT ãï¼
+ *  ããããã¢ã©ã¤ã³ãããåä½ã®ãã¼ã¿åã«å®ç¾©ããï¼
+ *
+ *  ä»¥ä¸ã®å®ç¾©ã¯ï¼__STK_UNIT ããã³ __MPF_UNIT ã®ãµã¤ãºã 2ã®å·¾ä¹ã§ã
+ *  ããã¨ãä»®å®ãã¦ããï¼
+ */
+
+#ifndef __STK_UNIT
+typedef VP	__STK_UNIT;
+#endif /* __STK_UNIT */
+
+#ifndef __MPF_UNIT
+typedef VP	__MPF_UNIT;
+#endif /* __MPF_UNIT */
+
+#define __TROUND_STK_UNIT(sz) \
+		(((sz) + sizeof(__STK_UNIT) - 1) & ~(sizeof(__STK_UNIT) - 1))
+#define __TCOUNT_STK_UNIT(sz) \
+		(((sz) + sizeof(__STK_UNIT) - 1) / sizeof(__STK_UNIT))
+
+#define __TROUND_MPF_UNIT(sz) \
+		(((sz) + sizeof(__MPF_UNIT) - 1) & ~(sizeof(__MPF_UNIT) - 1))
+#define __TCOUNT_MPF_UNIT(sz) \
+		(((sz) + sizeof(__MPF_UNIT) - 1) / sizeof(__MPF_UNIT))
+
+/*
+ *  ãªãã¼ã ããã·ã³ãã«ãå
+ã«æ»ãããã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <../kernel/jsp_unrename.h>
+#include <sys_unrename.h>
+#include <cpu_unrename.h>
+
+#endif /* _KERNEL_CFG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_debug.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_debug.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/kernel_debug.h	(revision 26)
@@ -0,0 +1,308 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernel_debug.h,v 1.2 2003/07/01 13:36:30 hiro Exp $
+ */
+
+/*
+ *	Î¼ITRON4.0ä»æ§ ãããã°ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ãã¡ã¤ã«ã¯ï¼Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«å¤ã®å®ç¾©ã¨ï¼
+ *  ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ã«å«ã¾ããå®ç¾©ã®ä¸­ã§ï¼JSPã«ã¼ã
+ *  ã«ã®ãããã°ãµãã¼ãæ©è½ã«å¿
+è¦ãªå®ç¾©ãå«ãï¼
+ */
+
+#ifndef _KERNEL_DEBUG_H_
+#define _KERNEL_DEBUG_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ã¿ã¹ã¯ç¶æ
+ã®å®ç¾©
+ */
+#define TTS_RUN		0x01u			/* å®è¡ç¶æ
+ */
+#define TTS_RDY		0x02u			/* å®è¡å¯è½ç¶æ
+ */
+#define TTS_WAI		0x04u			/* å¾
+ã¡ç¶æ
+ */
+#define TTS_SUS		0x08u			/* å¼·å¶å¾
+ã¡ç¶æ
+ */
+#define TTS_WAS		(TTS_WAI|TTS_SUS)	/* äºéå¾
+ã¡ç¶æ
+ */
+#define TTS_DMT		0x10u			/* ä¼æ­¢ç¶æ
+ */
+
+#define TTW_SLP		0x0001u		/* èµ·åºå¾
+ã¡ç¶æ
+ */
+#define TTW_DLY		0x0002u		/* æéçµéå¾
+ã¡ç¶æ
+ */
+#define TTW_SEM		0x0004u		/* ã»ããã©è³æºã®ç²å¾å¾
+ã¡ç¶æ
+ */
+#define TTW_FLG		0x0008u		/* ã¤ãã³ããã©ã°å¾
+ã¡ç¶æ
+ */
+#define TTW_SDTQ	0x0010u		/* ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡å¾
+ã¡ç¶æ
+ */
+#define TTW_RDTQ	0x0020u		/* ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡å¾
+ã¡ç¶æ
+ */
+#define TTW_MBX		0x0040u		/* ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡å¾
+ã¡ç¶æ
+ */
+#define TTW_MTX		0x0080u		/* ãã¥ã¼ããã¯ã¹ã®ã­ãã¯å¾
+ã¡ç¶æ
+ */
+#define TTW_SMBF	0x0100u		/* ã¡ãã»ã¼ã¸ãããã¡ã¸ã®éä¿¡å¾
+ã¡ */
+#define TTW_RMBF	0x0200u		/* ã¡ãã»ã¼ã¸ãããã¡ããã®åä¿¡å¾
+ã¡ */
+#define TTW_CAL		0x0400u		/* ã©ã³ããã®å¼åºãå¾
+ã¡ç¶æ
+ */
+#define TTW_ACP		0x0800u		/* ã©ã³ããã®åä»å¾
+ã¡ç¶æ
+ */
+#define TTW_RDV		0x1000u		/* ã©ã³ããã®çµäºå¾
+ã¡ç¶æ
+ */
+#define TTW_MPF		0x2000u		/* åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾å¾
+ã¡ */
+#define TTW_MPL		0x4000u		/* å¯å¤é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾å¾
+ã¡ */
+
+/*
+ *  æ©è½ã³ã¼ãã®å®ç¾©
+ */
+#define TFN_CRE_TSK	(-5)
+#define TFN_DEL_TSK	(-6)
+#define TFN_ACT_TSK	(-7)
+#define TFN_CAN_ACT	(-8)
+#define TFN_STA_TSK	(-9)
+#define TFN_EXT_TSK	(-10)
+#define TFN_EXD_TSK	(-11)
+#define TFN_TER_TSK	(-12)
+#define TFN_CHG_PRI	(-13)
+#define TFN_GET_PRI	(-14)
+#define TFN_REF_TSK	(-15)
+#define TFN_REF_TST	(-16)
+
+#define TFN_SLP_TSK	(-17)
+#define TFN_TSLP_TSK	(-18)
+#define TFN_WUP_TSK	(-19)
+#define TFN_CAN_WUP	(-20)
+#define TFN_REL_WAI	(-21)
+#define TFN_SUS_TSK	(-22)
+#define TFN_RSM_TSK	(-23)
+#define TFN_FRSM_TSK	(-24)
+#define TFN_DLY_TSK	(-25)
+
+#define TFN_DEF_TEX	(-27)
+#define TFN_RAS_TEX	(-28)
+#define TFN_DIS_TEX	(-29)
+#define TFN_ENA_TEX	(-30)
+#define TFN_SNS_TEX	(-31)
+#define TFN_REF_TEX	(-32)
+
+#define TFN_CRE_SEM	(-33)
+#define TFN_DEL_SEM	(-34)
+#define TFN_SIG_SEM	(-35)
+#define TFN_WAI_SEM	(-37)
+#define TFN_POL_SEM	(-38)
+#define TFN_TWAI_SEM	(-39)
+#define TFN_REF_SEM	(-40)
+
+#define TFN_CRE_FLG	(-41)
+#define TFN_DEL_FLG	(-42)
+#define TFN_SET_FLG	(-43)
+#define TFN_CLR_FLG	(-44)
+#define TFN_WAI_FLG	(-45)
+#define TFN_POL_FLG	(-46)
+#define TFN_TWAI_FLG	(-47)
+#define TFN_REF_FLG	(-48)
+
+#define TFN_CRE_DTQ	(-49)
+#define TFN_DEL_DTQ	(-50)
+#define TFN_SND_DTQ	(-53)
+#define TFN_PSND_DTQ	(-54)
+#define TFN_TSND_DTQ	(-55)
+#define TFN_FSND_DTQ	(-56)
+#define TFN_RCV_DTQ	(-57)
+#define TFN_PRCV_DTQ	(-58)
+#define TFN_TRCV_DTQ	(-59)
+#define TFN_REF_DTQ	(-60)
+
+#define TFN_CRE_MBX	(-61)
+#define TFN_DEL_MBX	(-62)
+#define TFN_SND_MBX	(-63)
+#define TFN_RCV_MBX	(-65)
+#define TFN_PRCV_MBX	(-66)
+#define TFN_TRCV_MBX	(-67)
+#define TFN_REF_MBX	(-68)
+
+#define TFN_CRE_MPF	(-69)
+#define TFN_DEL_MPF	(-70)
+#define TFN_REL_MPF	(-71)
+#define TFN_GET_MPF	(-73)
+#define TFN_PGET_MPF	(-74)
+#define TFN_TGET_MPF	(-75)
+#define TFN_REF_MPF	(-76)
+
+#define TFN_SET_TIM	(-77)
+#define TFN_GET_TIM	(-78)
+
+#define TFN_CRE_CYC	(-79)
+#define TFN_DEL_CYC	(-80)
+#define TFN_STA_CYC	(-81)
+#define TFN_STP_CYC	(-82)
+#define TFN_REF_CYC	(-83)
+
+#define TFN_ROT_RDQ	(-85)
+#define TFN_GET_TID	(-86)
+#define TFN_LOC_CPU	(-89)
+#define TFN_UNL_CPU	(-90)
+#define TFN_DIS_DSP	(-91)
+#define TFN_ENA_DSP	(-92)
+#define TFN_SNS_CTX	(-93)
+#define TFN_SNS_LOC	(-94)
+#define TFN_SNS_DSP	(-95)
+#define TFN_SNS_DPN	(-96)
+#define TFN_REF_SYS	(-97)
+
+#define TFN_DEF_INH	(-101)
+#define TFN_CRE_ISR	(-102)
+#define TFN_DEL_ISR	(-103)
+#define TFN_REF_ISR	(-104)
+#define TFN_DIS_INT	(-105)
+#define TFN_ENA_INT	(-106)
+#define TFN_CHG_IXX	(-107)
+#define TFN_GET_IXX	(-108)
+
+#define TFN_DEF_SVC	(-109)
+#define TFN_DEF_EXC	(-110)
+#define TFN_REF_CFG	(-111)
+#define TFN_REF_VER	(-112)
+
+#define TFN_IACT_TSK	(-113)
+#define TFN_IWUP_TSK	(-114)
+#define TFN_IREL_WAI	(-115)
+#define TFN_IRAS_TEX	(-116)
+#define TFN_ISIG_SEM	(-117)
+#define TFN_ISET_FLG	(-118)
+#define TFN_IPSND_DTQ	(-119)
+#define TFN_IFSND_DTQ	(-120)
+#define TFN_IROT_RDQ	(-121)
+#define TFN_IGET_TID	(-122)
+#define TFN_ILOC_CPU	(-123)
+#define TFN_IUNL_CPU	(-124)
+#define TFN_ISIG_TIM	(-125)
+
+#define TFN_CRE_MTX	(-129)
+#define TFN_DEL_MTX	(-130)
+#define TFN_UNL_MTX	(-131)
+#define TFN_LOC_MTX	(-133)
+#define TFN_PLOC_MTX	(-134)
+#define TFN_TLOC_MTX	(-135)
+#define TFN_REF_MTX	(-136)
+
+#define TFN_CRE_MBF	(-137)
+#define TFN_DEL_MBF	(-138)
+#define TFN_SND_MBF	(-141)
+#define TFN_PSND_MBF	(-142)
+#define TFN_TSND_MBF	(-143)
+
+#define TFN_VXSNS_CTX	(-225)
+#define TFN_VXSNS_LOC	(-226)
+#define TFN_VXSNS_DSP	(-227)
+#define TFN_VXSNS_DPN	(-228)
+#define TFN_VXSNS_TEX	(-229)
+#define TFN_VSNS_INI	(-232)
+
+#define TFN_VXGET_TIM	(-233)
+
+/*
+ *  ãªãã¸ã§ã¯ãå®æ°ã®å®ç¾©ï¼ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ï¼
+ */
+#define OBJ_SEMAPHORE		(128)
+#define OBJ_EVENTFLAG		(129)
+#define OBJ_DATAQUEUE		(130)
+#define OBJ_MAILBOX		(131)
+#define OBJ_MUTEX		(132)
+#define OBJ_MESSAGEBUFFER	(133)
+#define OBJ_RENDEZVOUSPORT	(135)
+#define OBJ_RENDEZVOUS		(136)
+#define OBJ_FMEMPOOL		(137)
+#define OBJ_VMEMPOOL		(138)
+#define OBJ_TASK		(139)
+#define OBJ_READYQUEUE		(141)
+#define OBJ_TIMERQUEUE		(142)
+#define OBJ_CYCLICHANDLER	(144)
+#define OBJ_ALARMHANDLER	(145)
+#define OBJ_OVERRUNHANDLER	(146)
+#define OBJ_ISR			(147)
+#define OBJ_KERNELSTATUS	(148)
+#define OBJ_TASKEXCEPTION	(149)
+#define OBJ_CPUEXCEPTION	(150)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _KERNEL_DEBUG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/linux_sigio.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/linux_sigio.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/linux_sigio.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: linux_sigio.h,v 1.10 2003/12/06 06:18:55 hiro Exp $
+ */
+
+/*
+ *  LINUXç¨ ãã³ãã­ãã­ã³ã°I/O ãµãã¼ãã¢ã¸ã¥ã¼ã«
+ *
+ *  ãã³ãã­ãã­ã³ã°I/O ãµãã¼ãã¢ã¸ã¥ã¼ã«ã¯ï¼SIGIO ã·ã°ãã«ã«ããï¼ã¦ã¼
+ *  ã¶ãç»é²ããã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãæ©è½ãæã¤ï¼
+ *
+ *  SIGIO ã·ã°ãã«ã«ããã³ã¼ã«ããã¯é¢æ°ãå®è¡ããããå ´åã«ã¯ï¼SIGIO 
+ *  éç¥ã¤ãã³ããã­ãã¯ãç¨æãï¼ãã® callback ãã£ã¼ã«ãã«ã³ã¼ã«ãã
+ *  ã¯é¢æ°ï¼arg ãã£ã¼ã«ãã«ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ°ãè¨­å®ãï¼
+ *  eneuque_sigioeb ãç¨ãã¦ SIGIO éç¥ã¤ãã³ãã­ã¥ã¼ã«ç»é²ããï¼
+ *
+ *  å¼ã³åºãããã³ã¼ã«ããã¯é¢æ°ã 0 ãè¿ãã¨ï¼é¢é£ãã SIGIO éç¥ã¤ã
+ *  ã³ããã­ãã¯ ã¯ã­ã¥ã¼ã«ç»é²ãããã¾ã¾ã¨ãªãï¼ç¶ã SIGIO ã·ã°ãã«ã§
+ *  åã³åãã³ã¼ ã«ããã¯é¢æ°ãå¼ã³åºãããï¼ã³ã¼ã«ããã¯é¢æ°ã 0 ä»¥å¤
+ *  ãè¿ãã¨ï¼SIGIO éç¥ã¤ãã³ããã­ãã¯ã¯ã­ã¥ã¼ããåé¤ããï¼ã³ã¼ã«ãã
+ *  ã¯é¢æ°ã¯ããä»¥éå¼ã³åºãããªããªãï¼
+ */
+
+#ifndef	_LINUX_SIGIO_H_
+#define	_LINUX_SIGIO_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  SIGIO éç¥ã¤ãã³ããã­ãã¯ã®å®ç¾©
+ */
+typedef BOOL	(*SIGIO_CBACK)(VP);	/* SIGIO ã³ã¼ã«ããã¯é¢æ°ã®å */
+
+typedef struct bsd_sigio_event_block {
+	VP		queue[2];	/* SIGIO éç¥ã¤ãã³ãã­ã¥ã¼ã¨ãªã¢ */
+	SIGIO_CBACK	callback;	/* SIGIO ã³ã¼ã«ããã¯é¢æ° */
+	VP		arg;		/* ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ° */
+} SIGIOEB;
+
+/*
+ *  SIGIO éç¥ã¤ãã³ããã­ãã¯ã®ç»é²
+ */
+extern ER	enqueue_sigioeb(SIGIOEB *sigioeb) throw();
+
+/*
+ *  ã·ã¹ãã èµ·åæç¨ SIGIO éç¥ã¤ãã³ããã­ãã¯ã®ç»é²
+ */
+extern ER	enqueue_sigioeb_initialize(SIGIOEB *sigioeb) throw();
+
+/*
+ *   ãã³ãã­ãã­ã³ã°I/O ã¢ã¸ã¥ã¼ã«èµ·åã«ã¼ãã³
+ */
+
+extern void linux_sigio_initialize(VP_INT exinf) throw();
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define	INHNO_SIGIO	SIGIO
+
+/*
+ *  SIGIOå²ãè¾¼ã¿ãã³ãã©
+ */
+
+extern void linux_sigio_handler() throw();
+    
+/*
+ * SIGIOã¿ã¹ã¯ã®è¨­å®
+ */
+#define LINUX_SIGIO_PRIORITY      2
+#define LINUX_SIGIO_STACK_SIZE 8192
+
+extern void linux_sigio_task(void) throw();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LINUX_SIGIO_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/logtask.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/logtask.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/logtask.h	(revision 26)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: logtask.h,v 1.10 2003/07/08 14:49:42 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°ã¿ã¹ã¯
+ */
+
+#ifndef _LOGTASK_H_
+#define _LOGTASK_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯é¢é£ã®å®ç¾©
+ */ 
+#ifndef LOGTASK_PRIORITY
+#define	LOGTASK_PRIORITY	3	/* ããã©ã«ãã®åæåªå
+åº¦ */
+#endif /* LOGTASK_PRIORITY */
+
+#ifndef LOGTASK_STACK_SIZE
+#define	LOGTASK_STACK_SIZE	1024	/* ã¹ã¿ãã¯é åã®ããã©ã«ããµã¤ãº */
+#endif /* LOGTASK_STACK_SIZE */
+
+#ifndef LOGTASK_INTERVAL
+#define	LOGTASK_INTERVAL	10	/* ããã©ã«ãã®åä½ééï¼ããªç§ï¼*/
+#endif /* LOGTASK_INTERVAL */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®æ¬ä½
+ */
+extern void	logtask(VP_INT exinf);
+
+#endif /* _LOGTASK_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/s_services.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/s_services.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/s_services.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: s_services.h,v 1.4 2003/06/18 12:46:54 hiro Exp $
+ */
+
+/*
+ *	ããã¤ã¹ãã©ã¤ãç¨ æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼ç´æ¥ãã¼ãã¦ã§ã¢ã«ã¢ã¯ã»ã¹ããããã¤ã¹
+ *  ãã©ã¤ãã®ã½ã¼ã¹ãã¡ã¤ã«ã§ã¤ã³ã¯ã«ã¼ãããã¹ãæ¨æºã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã§ããï¼ãã®ä¸­ã§ï¼sil.hï¼ããã«ããããï¼t_stddef.hï¼itron.hï¼
+ *  tool_defs.hï¼sys_defs.hï¼cpu_defs.hï¼t_syslog.hï¼ã¨ t_config.hï¼ã
+ *  ãã«ããããï¼sys_config.hï¼cpu_config.hï¼tool_config.hï¼ãã¤ã³ã¯
+ *  ã«ã¼ããã¦ããï¼
+ *
+ *  ã¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ããå¼ã°ããããã¤ã¹ãã©ã¤ãã®ã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã§ï¼ã¤ã³ã©ã¤ã³é¢æ°ãªã©ã§ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ãç¨ãã¦ã
+ *  ãå ´åã«ãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ */
+
+#ifndef _S_SERVICES_H_
+#define _S_SERVICES_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  SILãå¼ã³åºãããã«å¿
+è¦ãªã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <sil.h>
+
+/*
+ *  ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <t_config.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _S_SERVICES_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/serial.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/serial.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/serial.h	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: serial.h,v 1.7 2003/06/04 01:46:02 hiro Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+ */
+
+#ifndef _SERIAL_H_
+#define _SERIAL_H_
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ç¨ãããã±ãã
+ */
+typedef struct {
+		UINT	reacnt;		/* åä¿¡ãããã¡ä¸­ã®æå­æ° */
+		UINT	wricnt;		/* éä¿¡ãããã¡ä¸­ã®æå­æ° */
+	} T_SERIAL_RPOR;
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	serial_initialize(VP_INT exinf) throw();
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ãµã¼ãã¹ã³ã¼ã«
+ */
+extern ER	serial_opn_por(ID portid) throw();
+extern ER	serial_cls_por(ID portid) throw();
+extern ER_UINT	serial_rea_dat(ID portid, char *buf, UINT len) throw();
+extern ER_UINT	serial_wri_dat(ID portid, char *buf, UINT len) throw();
+extern ER	serial_ctl_por(ID portid, UINT ioctl) throw();
+extern ER	serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor) throw();
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®åä½å¶å¾¡ç¨ã®ããã®å®æ°
+ *
+ *  ä»¥ä¸ã®å®æ°ã¯ï¼ãããæ¯ã«è«çåãã¨ã£ã¦ç¨ããï¼
+ */
+#define	IOCTL_NULL	0u		/* æå®ãªã */
+#define	IOCTL_ECHO	0x0001u		/* åä¿¡ããæå­ãã¨ã³ã¼ããã¯ */
+#define	IOCTL_CRLF	0x0010u		/* LF ãéä¿¡ããåã« CR ãä»å  */
+#define	IOCTL_FCSND	0x0100u		/* éä¿¡ã«å¯¾ãã¦ãã­ã¼å¶å¾¡ãè¡ã */
+#define	IOCTL_FCANY	0x0200u		/* ã©ã®ãããªæå­ã§ãéä¿¡åé */
+#define	IOCTL_FCRCV	0x0400u		/* åä¿¡ã«å¯¾ãã¦ãã­ã¼å¶å¾¡ãè¡ã */
+
+#endif /* _SERIAL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/sil.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/sil.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/sil.h	(revision 26)
@@ -0,0 +1,326 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005,2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sil.h,v 1.9 2006/02/12 05:27:25 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼ã¿ã¼ã²ããå
+±éé¨ï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼s_services.hï¼
+ *  ã§ã¤ã³ã¯ã«ã¼ããããï¼ã¾ãï¼ã«ã¼ãã«ããå¼ã°ããããã¤ã¹ãã©ã¤ãã®
+ *  ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ï¼ã¤ã³ã©ã¤ã³é¢æ°ãªã©ã§ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹
+ *  ã¬ã¤ã¤ãç¨ãã¦ããå ´åã«ãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããããï¼ãã®
+ *  ä¾å¤ãé¤ãã¦ï¼ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ä¸­ã§ã¤ã³ã¯ã«ã¼ããã¦ãããã¡ã¤ã«ãé¤ãã¦ï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã«ä¾å­ãã¦ããªãï¼
+ */
+
+#ifndef _SIL_H_
+#define _SIL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ã«ã¼ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ å
+±éã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <t_stddef.h>
+
+/*
+ *  ITRONä»æ§å
+±éè¦å®ã®ãã¼ã¿åã»å®æ°ã»ãã¯ã­
+ */
+#include <itron.h>
+
+/*
+ *  ã·ã¹ãã ããã­ã»ããµã«ä¾å­ããå®ç¾©
+ */
+#include <sys_defs.h>
+#include <cpu_defs.h>
+
+/*
+ *  ã·ã¹ãã ã­ã°ãµã¼ãã¹ã®ããã®å®ç¾©
+ */
+#include <t_syslog.h>
+
+/*
+ *  ã¨ã³ãã£ã¢ã³å®æ°ã®å®ç¾©
+ */
+#define	SIL_ENDIAN_LITTLE	0	/* ãªãã«ã¨ã³ãã£ã¢ã³ */
+#define	SIL_ENDIAN_BIG		1	/* ããã°ã¨ã³ãã£ã¢ã³ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#ifndef SIL_PRE_LOC
+#include <kernel.h>
+#define	SIL_PRE_LOC	BOOL _sil_loc_ = sns_loc()
+#define	SIL_LOC_INT()	((void)(!(_sil_loc_) \
+				&& (sns_ctx() ? iloc_cpu() : loc_cpu())))
+#define	SIL_UNL_INT()	((void)(!(_sil_loc_) \
+				&& (sns_ctx() ? iunl_cpu() : unl_cpu())))
+#endif /* SIL_PRE_LOC */
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+extern void	sil_dly_nse(UINT dlytim) throw();
+
+/*
+ *  ã¨ã³ãã£ã¢ã³ã®åè»¢
+ */
+#ifndef SIL_REV_ENDIAN_H
+#define	SIL_REV_ENDIAN_H(data) \
+	((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+#ifndef SIL_REV_ENDIAN_W
+#define	SIL_REV_ENDIAN_W(data) \
+	((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
+		| (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))
+#endif /* SIL_REV_ENDIAN_H */
+
+/*
+ *  ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
+ */
+#ifndef OMIT_SIL_ACCESS
+
+/*
+ *  8ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+#ifdef _int8_
+
+Inline VB
+sil_reb_mem(VP mem)
+{
+	VB	data;
+
+	data = *((volatile VB *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrb_mem(VP mem, VB data)
+{
+	*((volatile VB *) mem) = data;
+}
+
+#endif /* _int8_ */
+
+/*
+ *  16ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+#ifdef _int16_
+
+Inline VH
+sil_reh_mem(VP mem)
+{
+	VH	data;
+
+	data = *((volatile VH *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrh_mem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = data;
+}
+
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+
+#define	sil_reh_bem(mem)	sil_reh_mem(mem)
+#define	sil_wrh_bem(mem, data)	sil_wrh_mem(mem, data)
+
+#ifndef OMIT_SIL_REH_LEM
+
+Inline VH
+sil_reh_lem(VP mem)
+{
+	VH	data;
+
+	data = *((volatile VH *) mem);
+	return(SIL_REV_ENDIAN_H(data));
+}
+
+#endif /* OMIT_SIL_REH_LEM */
+#ifndef OMIT_SIL_WRH_LEM
+
+Inline void
+sil_wrh_lem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = SIL_REV_ENDIAN_H(data);
+}
+
+#endif /* OMIT_SIL_WRH_LEM */
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG *//* ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+
+#define	sil_reh_lem(mem)	sil_reh_mem(mem)
+#define	sil_wrh_lem(mem, data)	sil_wrh_mem(mem, data)
+
+#ifndef OMIT_SIL_REH_BEM
+
+Inline VH
+sil_reh_bem(VP mem)
+{
+	VH	data;
+
+	data = *((volatile VH *) mem);
+	return(SIL_REV_ENDIAN_H(data));
+}
+
+#endif /* OMIT_SIL_REH_BEM */
+#ifndef OMIT_SIL_WRH_BEM
+
+Inline void
+sil_wrh_bem(VP mem, VH data)
+{
+	*((volatile VH *) mem) = SIL_REV_ENDIAN_H(data);
+}
+
+#endif /* OMIT_SIL_WRH_BEM */
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+#endif /* _int16_ */
+
+/*
+ *  32ãããåä½ã®èª­åºãï¼æ¸è¾¼ã¿
+ */
+
+Inline VW
+sil_rew_mem(VP mem)
+{
+	VW	data;
+
+	data = *((volatile VW *) mem);
+	return(data);
+}
+
+Inline void
+sil_wrw_mem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = data;
+}
+
+#if SIL_ENDIAN == SIL_ENDIAN_BIG	/* ããã°ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+
+#define	sil_rew_bem(mem)	sil_rew_mem(mem)
+#define	sil_wrw_bem(mem, data)	sil_wrw_mem(mem, data)
+
+#ifndef OMIT_SIL_REW_LEM
+
+Inline VW
+sil_rew_lem(VP mem)
+{
+	VW	data;
+
+	data = *((volatile VW *) mem);
+	return(SIL_REV_ENDIAN_W(data));
+}
+
+#endif /* OMIT_SIL_REW_LEM */
+#ifndef OMIT_SIL_WRW_LEM
+
+Inline void
+sil_wrw_lem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = SIL_REV_ENDIAN_W(data);
+}
+
+#endif /* OMIT_SIL_WRW_LEM */
+#else /* SIL_ENDIAN == SIL_ENDIAN_BIG *//* ãªãã«ã¨ã³ãã£ã¢ã³ãã­ã»ããµ */
+
+#define	sil_rew_lem(mem)	sil_rew_mem(mem)
+#define	sil_wrw_lem(mem, data)	sil_wrw_mem(mem, data)
+
+#ifndef OMIT_SIL_REW_BEM
+
+Inline VW
+sil_rew_bem(VP mem)
+{
+	VW	data;
+
+	data = *((volatile VW *) mem);
+	return(SIL_REV_ENDIAN_W(data));
+}
+
+#endif /* OMIT_SIL_REW_BEM */
+#ifndef OMIT_SIL_WRW_BEM
+
+Inline void
+sil_wrw_bem(VP mem, VW data)
+{
+	*((volatile VW *) mem) = SIL_REV_ENDIAN_W(data);
+}
+
+#endif /* OMIT_SIL_WRW_BEM */
+#endif /* SIL_ENDIAN == SIL_ENDIAN_BIG */
+#endif /* OMIT_SIL_ACCESS */
+
+#endif /* _MACRO_ONLY */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SIL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_config.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_config.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_config.h	(revision 26)
@@ -0,0 +1,103 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: t_config.h,v 1.4 2003/07/08 14:49:42 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼s_services.h 
+ *  ã¨ jsp_kernel.hï¼ã§ã¤ã³ã¯ã«ã¼ããããï¼ã¾ãï¼ã«ã¼ãã«ä¸ã§åä½ãã
+ *  ãã­ã°ã©ã ã§ï¼ã¿ã¼ã²ããä¾å­æ
+å ±ãåç
+§ãããå ´ã«ãï¼ãã®ãã¡ã¤ã«ã
+ *  ã¤ã³ã¯ã«ã¼ããããï¼ãã®ä¾å¤ãé¤ãã¦ï¼ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼
+ *  ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããåã«ï¼kernel.h ã sil.h ãã¤ã³ã¯ã«ã¼
+ *  ããã¦ãããã¨ãå¿
+è¦ã§ããï¼
+ */
+
+#ifndef _T_CONFIG_H_
+#define _T_CONFIG_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ã·ã¹ãã ä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <sys_config.h>
+
+/*
+ *  ãã­ã»ããµä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <cpu_config.h>
+
+/*
+ *  ãã¼ã«ä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <tool_config.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _T_CONFIG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_services.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_services.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_services.h	(revision 26)
@@ -0,0 +1,129 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005,2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: t_services.h,v 1.7 2006/01/13 00:34:58 hiro Exp $
+ */
+
+/*
+ *	ã¢ããªã±ã¼ã·ã§ã³ç¨ æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼ã«ã¼ãã«ä¸ã§åä½ãããã­ã°ã©ã ã®ã½ã¼ã¹
+ *  ãã¡ã¤ã«ã§ã¤ã³ã¯ã«ã¼ãããæ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ããï¼ãã®ä¸­ã§ï¼
+ *  kernel.hï¼ããã«ããããï¼t_stddef.hï¼itron.hï¼tool_defs.hï¼
+ *  sys_defs.hï¼cpu_defs.hï¼t_syslog.hï¼ã¨serial.hãã¤ã³ã¯ã«ã¼ããã¦ã
+ *  ãï¼ã¾ãï¼ã¢ããªã±ã¼ã·ã§ã³ã«æçã¨æãããå®ç¾©ãããã¤ãå«ãã§ããï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ */
+
+#ifndef _T_SERVICES_H_
+#define _T_SERVICES_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ã«ã¼ãã«ãå¼ã³åºãããã«å¿
+è¦ãªã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <kernel.h>
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¢ã¸ã¥ã¼ã«
+ */
+#include <serial.h>
+
+/*
+ *  ã«ã¼ãã«ã®çµäºå¦ç
+ */
+extern void	kernel_exit(void) throw();
+
+/*
+ *  syscallãã¯ã­ï¼_syscall ãã¯ã­ã®å®ç¾©
+ */
+
+extern void	t_perror(UINT prio, const char *file, int line,
+					const char *expr, ER ercd) throw();
+
+Inline ER
+_t_perror(const char *file, int line, const char *expr, ER ercd)
+{
+	if (ercd < 0) {
+		t_perror(LOG_ERROR, file, line, expr, ercd);
+	}
+	return(ercd);
+}
+
+Inline ER
+_t_panic(const char *file, int line, const char *expr, ER ercd)
+{
+	if (ercd < 0) {
+		t_perror(LOG_EMERG, file, line, expr, ercd);
+		kernel_abort();
+	}
+	return(ercd);
+}
+
+#define syscall(s)	_t_perror(__FILE__, __LINE__, #s, (s))
+#define _syscall(s)	_t_panic(__FILE__, __LINE__, #s, (s))
+
+#endif /* _MACRO_ONLY */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _T_SERVICES_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_stddef.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_stddef.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_stddef.h	(revision 26)
@@ -0,0 +1,114 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: t_stddef.h,v 1.7 2004/01/05 05:11:37 hiro Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ å
+±éã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã®å
+é ­ã§ã¤ã³ã¯ã«ã¼ã
+ *  ãããï¼ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ä¸­ã§ã¤ã³ã¯ã«ã¼ããã¦ãããã¡ã¤ã«ãé¤ãã¦ï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡
+ *  ã¤ã«ã«ä¾å­ãã¦ããªãï¼
+ */
+
+#ifndef _T_STDDEF_H_
+#define _T_STDDEF_H_
+
+/*
+ *  éçºç°å¢ã«ä¾å­ããå®ç¾©
+ */
+#include <tool_defs.h>
+
+/*
+ *  éçºç°å¢ã®æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼CHAR_BIT ã®å®ç¾©ãå¿
+è¦ï¼
+ *
+ *  C++/EC++ ã§ã¯ï¼æ¨æºä»æ§ä¸ã¯ limits.h ããµãã¼ãããã¦ããã¨ã¯éããª
+ *  ããï¼ã»ã¨ãã©ã®å¦çç³»ã§ãµãã¼ãããã¦ããï¼
+ */
+#ifndef _MACRO_ONLY
+#include <limits.h>
+#endif /* _MACRO_ONLY */
+
+/*
+ *  ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ */
+#ifndef Inline
+#define	Inline		static inline
+#endif /* Inline */
+
+/*
+ *  Cè¨èª/EC++ã§ throw() ã«å¯¾å¦
+ */
+#if !defined(__cplusplus) || defined(__embedded_cplusplus)
+#define throw()
+#endif
+
+/*
+ *  assertãã¯ã­ã®å®ç¾©
+ */
+#undef assert
+#ifndef NDEBUG
+#define assert(exp) \
+	((void)(!(exp) ? (_syslog_3(LOG_EMERG, LOG_TYPE_ASSERT,		\
+				(VP_INT)(__FILE__), (VP_INT)(__LINE__),	\
+				(VP_INT)(#exp)),			\
+				kernel_abort(), 0) : 0))
+#else /* NDEBUG */
+#define	assert(exp)	((void) 0)
+#endif /* NDEBUG */
+
+#endif /* _T_STDDEF_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_syslog.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_syslog.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/t_syslog.h	(revision 26)
@@ -0,0 +1,331 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: t_syslog.h,v 1.4 2004/01/05 05:15:01 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°æ©è½
+ *
+ *  ã·ã¹ãã ã­ã°ãµã¼ãã¹ã¯ï¼ã·ã¹ãã ã®ã­ã°æ
+å ±ãåºåããããã®ãµã¼ãã¹
+ *  ã§ããï¼ã«ã¼ãã«ããã®ã­ã°æ
+å ±ã®åºåã«ãç¨ããããï¼å
+é¨ã§å¾
+ã¡ç¶æ
+
+ *  ã«ã¯ãããã¨ã¯ãªãï¼
+ *
+ *  ã­ã°æ
+å ±ã¯ï¼ã«ã¼ãã«å
+ã®ã­ã°ãããã¡ã«æ¸ãè¾¼ããï¼ä½ã¬ãã«ã®æå­åº
+ *  åé¢æ°ãç¨ãã¦åºåããï¼ã©ã¡ããä½¿ããã¯ï¼æ¡å¼µãµã¼ãã¹ã³ã¼ã«ã§åã
+ *  æãããã¨ãã§ããï¼
+ *
+ *  ã­ã°ãããã¡é åããªã¼ããã­ã¼ããå ´åã«ã¯ï¼å¤ãã­ã°æ
+å ±ãæ¶ãã¦ä¸
+ *  æ¸ãããï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.h ã¨ sil.h ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ãããããã¨ã¯ãªãï¼
+ *
+ *  ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããåã«ï¼t_stddef.h ã¨ itron.h ãã¤ã³ã¯
+ *  ã«ã¼ããã¦ãããã¨ãå¿
+è¦ã§ããï¼
+ */
+
+#ifndef _T_SYSLOG_H_
+#define _T_SYSLOG_H_
+
+/*
+ *  ã­ã°æ
+å ±ã®ç¨®å¥ã®å®ç¾©
+ *
+ *  LOG_TYPE_CYCï¼LOG_TYPE_ASSERT ä»¥å¤ã¯ï¼ãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹ä»
+ *  æ§ã¨åè´ãã¦ããï¼
+ */
+#define LOG_TYPE_INH		0x01u	/* å²è¾¼ã¿ãã³ãã© */
+#define LOG_TYPE_ISR		0x02u	/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ */
+#define LOG_TYPE_CYC		0x03u	/* å¨æãã³ãã© */
+#define LOG_TYPE_EXC		0x04u	/* CPUä¾å¤ãã³ãã© */
+#define LOG_TYPE_TEX		0x05u	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+#define LOG_TYPE_TSKSTAT	0x06u	/* ã¿ã¹ã¯ç¶æ
+å¤å */
+#define LOG_TYPE_DSP		0x07u	/* ãã£ã¹ãããã£ */
+#define LOG_TYPE_SVC		0x08u	/* ãµã¼ãã¹ã³ã¼ã« */
+#define LOG_TYPE_COMMENT	0x09u	/* ã³ã¡ã³ã */
+#define LOG_TYPE_ASSERT		0x0au	/* ã¢ãµã¼ã·ã§ã³ã®å¤±æ */
+
+#define LOG_ENTER		0x00u	/* å
+¥å£ï¼éå§ */
+#define LOG_LEAVE		0x80u	/* åºå£ï¼çµäº */
+
+/*
+ *  ã­ã°æ
+å ±ã®éè¦åº¦ã®å®ç¾©
+ */
+#define LOG_EMERG	0u		/* ã·ã£ãããã¦ã³ã«å¤ããã¨ã©ã¼ */
+#define LOG_ALERT	1u
+#define LOG_CRIT	2u
+#define LOG_ERROR	3u		/* ã·ã¹ãã ã¨ã©ã¼ */
+#define LOG_WARNING	4u		/* è­¦åã¡ãã»ã¼ã¸ */
+#define LOG_NOTICE	5u
+#define LOG_INFO	6u
+#define LOG_DEBUG	7u		/* ãããã°ç¨ã¡ãã»ã¼ã¸ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã­ã°æ
+å ±ã®ãã¼ã¿æ§é 
+ */
+
+#define TMAX_LOGINFO	6
+
+typedef struct {
+		UINT	logtype;		/* ã­ã°æ
+å ±ã®ç¨®å¥ */
+		SYSTIM	logtim;			/* ã­ã°æå» */
+		VP_INT	loginfo[TMAX_LOGINFO];	/* ãã®ä»ã®ã­ã°æ
+å ± */
+	} SYSLOG;
+
+/*
+ *  ã­ã°æ
+å ±ã®éè¦åº¦ã®ãããããããä½ãããã®ãã¯ã­
+ */
+#define LOG_MASK(prio)	(1u << (prio))
+#define LOG_UPTO(prio)	((1u << ((prio) + 1)) - 1)
+
+#ifndef OMIT_SYSLOG
+
+/*
+ *  ã­ã°æ
+å ±ã®åºå
+ */
+extern ER	vwri_log(UINT prio, SYSLOG *p_log) throw();
+
+/*
+ *  ã­ã°ãããã¡ããã®ã­ã°æ
+å ±ã®èª­åºã
+ */
+extern ER_UINT	vrea_log(SYSLOG *p_log) throw();
+
+/* 
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ã®è¨­å®
+ */
+extern ER	vmsk_log(UINT logmask, UINT lowmask) throw();
+
+/*
+ *  ã­ã°æ
+å ±ãåºåããããã®ã©ã¤ãã©ãªé¢æ°
+ */
+
+Inline ER
+_syslog_0(UINT prio, UINT type)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_1(UINT prio, UINT type, VP_INT arg1)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_2(UINT prio, UINT type, VP_INT arg1, VP_INT arg2)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	log.loginfo[1] = arg2;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_3(UINT prio, UINT type, VP_INT arg1, VP_INT arg2, VP_INT arg3)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	log.loginfo[1] = arg2;
+	log.loginfo[2] = arg3;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_4(UINT prio, UINT type, VP_INT arg1, VP_INT arg2,
+				VP_INT arg3, VP_INT arg4)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	log.loginfo[1] = arg2;
+	log.loginfo[2] = arg3;
+	log.loginfo[3] = arg4;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_5(UINT prio, UINT type, VP_INT arg1, VP_INT arg2,
+				VP_INT arg3, VP_INT arg4, VP_INT arg5)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	log.loginfo[1] = arg2;
+	log.loginfo[2] = arg3;
+	log.loginfo[3] = arg4;
+	log.loginfo[4] = arg5;
+	return(vwri_log(prio, &log));
+}
+
+Inline ER
+_syslog_6(UINT prio, UINT type, VP_INT arg1, VP_INT arg2, VP_INT arg3,
+				VP_INT arg4, VP_INT arg5, VP_INT arg6)
+{
+	SYSLOG	log;
+
+	log.logtype = type;
+	log.loginfo[0] = arg1;
+	log.loginfo[1] = arg2;
+	log.loginfo[2] = arg3;
+	log.loginfo[3] = arg4;
+	log.loginfo[4] = arg5;
+	log.loginfo[5] = arg6;
+	return(vwri_log(prio, &log));
+}
+
+#else /* OMIT_SYSLOG */
+
+#define vwri_log(prio, p_log)		E_OK
+#define vrea_log(p_log)			E_OK
+#define vmsk_log(logmask, lowmask)	E_OK
+
+#define _syslog_0(prio, type)						E_OK
+#define _syslog_1(prio, type, arg1)					E_OK
+#define _syslog_2(prio, type, arg1, arg2)				E_OK
+#define _syslog_3(prio, type, arg1, arg2, arg3)				E_OK
+#define _syslog_4(prio, type, arg1, arg2, arg3, arg4)			E_OK
+#define _syslog_5(prio, type, arg1, arg2, arg3, arg4, arg5)		E_OK
+#define _syslog_6(prio, type, arg1, arg2, arg3, arg4, arg5, arg6)	E_OK
+
+#endif /* OMIT_SYSLOG */
+
+/*
+ *  ã­ã°æ
+å ±ï¼ã³ã¡ã³ãï¼ãåºåããããã®ãã¯ã­
+ *
+ *  format ããã³å¾ç¶ã®å¼æ°ããä½æããã¡ãã»ã¼ã¸ãï¼éå¤§åº¦ prio ã§
+ *  ã­ã°æ
+å ±ã¨ãã¦åºåããããã®ãã¯ã­ï¼arg1ãargn ã¯ VP_INTåã«ã­ã£
+ *  ã¹ãããããï¼VP_INTåã«åå¤æã§ããä»»æã®åã§ããï¼
+ */
+
+#define	syslog_0(prio, format) \
+		_syslog_1(prio, LOG_TYPE_COMMENT, (VP_INT) format)
+
+#define	syslog_1(prio, format, arg1) \
+		_syslog_2(prio, LOG_TYPE_COMMENT, (VP_INT) format, \
+							(VP_INT)(arg1))
+
+#define	syslog_2(prio, format, arg1, arg2) \
+		_syslog_3(prio, LOG_TYPE_COMMENT, (VP_INT) format, \
+					(VP_INT)(arg1), (VP_INT)(arg2))
+
+#define	syslog_3(prio, format, arg1, arg2, arg3) \
+		_syslog_4(prio, LOG_TYPE_COMMENT, (VP_INT) format, \
+			(VP_INT)(arg1), (VP_INT)(arg2), (VP_INT)(arg3))
+
+#define	syslog_4(prio, format, arg1, arg2, arg3, arg4) \
+		_syslog_5(prio, LOG_TYPE_COMMENT, (VP_INT) format, \
+			(VP_INT)(arg1), (VP_INT)(arg2), (VP_INT)(arg3), \
+							(VP_INT)(arg4))
+
+#define	syslog_5(prio, format, arg1, arg2, arg3, arg4, arg5) \
+		_syslog_6(prio, LOG_TYPE_COMMENT, (VP_INT) format, \
+			(VP_INT)(arg1), (VP_INT)(arg2), (VP_INT)(arg3), \
+					(VP_INT)(arg4), (VP_INT)(arg5))
+
+/*
+ *  ã­ã°æ
+å ±ï¼ã³ã¡ã³ãï¼ãåºåããããã®ã©ã¤ãã©ãªé¢æ°ï¼vasyslog.cï¼
+ */
+extern ER	syslog(UINT prio, const char *format, ...) throw();
+
+/* 
+ *  ã­ã°æ
+å ±ã®ãã©ã¼ãããåºåï¼log_output.cï¼
+ */
+extern void	syslog_printf(const char *format, VP_INT *args,
+						void (*putc)(char)) throw();
+extern void	syslog_print(SYSLOG *p_log, void (*putc)(char)) throw();
+extern void	syslog_output(void (*putc)(char)) throw();
+
+#endif /* _MACRO_ONLY */
+#endif /* _T_SYSLOG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/include/timer.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/include/timer.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/include/timer.h	(revision 26)
@@ -0,0 +1,82 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: timer.h,v 1.8 2003/07/01 13:32:34 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+ *
+ *  ãã¼ãã¦ã§ã¢ã¿ã¤ããç¨ãã¦å¨æçã«å²è¾¼ã¿ãçºçããï¼isig_tim ãå¼
+ *  ã³åºãã¦ã«ã¼ãã«ã«ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ããï¼
+ */
+
+#ifndef _TIMER_H_
+#define _TIMER_H_
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+extern void	timer_initialize(VP_INT exinf);
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ */
+extern void	timer_handler(void);
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+extern void	timer_terminate(VP_INT exinf);
+
+#endif /* _TIMER_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/Makefile.kernel
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/Makefile.kernel	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/Makefile.kernel	(revision 26)
@@ -0,0 +1,139 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.kernel,v 1.5 2003/07/01 13:32:03 hiro Exp $
+# 
+
+#
+#	ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+
+#
+#  ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼1ã¤ã®ã½ã¼ã¹ãã¡
+#  ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæãããã®ã®å®ç¾©
+#
+KERNEL_LCSRCS = task.c wait.c time_event.c syslog.c \
+		task_manage.c task_sync.c task_except.c \
+		semaphore.c eventflag.c dataqueue.c mailbox.c \
+		mempfix.c time_manage.c cyclic.c sys_manage.c \
+		interrupt.c exception.c
+
+#
+#  ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+KERNEL_LCOBJS = $(foreach file,$(KERNEL_LCSRCS),$($(file:.c=)))
+
+#
+#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+#
+task = tskini.o tsksched.o tskrun.o tsknrun.o \
+		tskdmt.o tskact.o tskext.o tskpri.o tskrot.o tsktex.o
+
+wait = waimake.o waicmp.o waitmo.o waitmook.o \
+		waican.o wairel.o wobjwai.o wobjwaitmo.o wobjpri.o
+
+time_event = tmeini.o tmeup.o tmedown.o tmeins.o tmedel.o isig_tim.o
+
+syslog = logini.o vwri_log.o vrea_log.o vmsk_log.o logter.o
+
+task_manage = act_tsk.o iact_tsk.o can_act.o ext_tsk.o ter_tsk.o \
+		chg_pri.o get_pri.o
+
+task_sync = slp_tsk.o tslp_tsk.o wup_tsk.o iwup_tsk.o can_wup.o \
+		rel_wai.o irel_wai.o sus_tsk.o rsm_tsk.o frsm_tsk.o dly_tsk.o
+
+task_except = ras_tex.o iras_tex.o dis_tex.o ena_tex.o sns_tex.o
+
+semaphore = semini.o sig_sem.o isig_sem.o wai_sem.o pol_sem.o twai_sem.o
+
+eventflag = flgini.o flgcnd.o set_flg.o iset_flg.o clr_flg.o \
+		wai_flg.o pol_flg.o twai_flg.o
+
+dataqueue = dtqini.o dtqenq.o dtqfenq.o dtqdeq.o dtqsnd.o dtqrcv.o \
+		snd_dtq.o psnd_dtq.o ipsnd_dtq.o tsnd_dtq.o \
+		fsnd_dtq.o ifsnd_dtq.o rcv_dtq.o prcv_dtq.o trcv_dtq.o
+
+mailbox = mbxini.o snd_mbx.o rcv_mbx.o prcv_mbx.o trcv_mbx.o
+
+mempfix = mpfini.o mpfget.o get_mpf.o pget_mpf.o tget_mpf.o rel_mpf.o
+
+time_manage = set_tim.o get_tim.o vxget_tim.o
+
+cyclic = cycini.o cycenq.o sta_cyc.o stp_cyc.o cyccal.o
+
+sys_manage = rot_rdq.o irot_rdq.o get_tid.o iget_tid.o \
+		loc_cpu.o iloc_cpu.o unl_cpu.o iunl_cpu.o \
+		dis_dsp.o ena_dsp.o sns_ctx.o sns_loc.o sns_dsp.o \
+		sns_dpn.o vsns_ini.o
+
+interrupt = inhini.o
+
+exception = excini.o vxsns_ctx.o vxsns_loc.o \
+		vxsns_dsp.o vxsns_dpn.o vxsns_tex.o
+
+#
+#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#
+$(task) $(task:.o=.s) $(task:.o=.d): task.c
+$(wait) $(wait:.o=.s) $(wait:.o=.d): wait.c
+$(time_event) $(time_event:.o=.s) $(time_event:.o=.d): time_event.c
+$(syslog) $(syslog:.o=.s) $(syslog:.o=.d): syslog.c
+$(task_manage) $(task_manage:.o=.s) $(task_manage:.o=.d): task_manage.c
+$(task_sync) $(task_sync:.o=.s) $(task_sync:.o=.d): task_sync.c
+$(task_except) $(task_except:.o=.s) $(task_except:.o=.d): task_except.c
+$(semaphore) $(semaphore:.o=.s) $(semaphore:.o=.d): semaphore.c
+$(eventflag) $(eventflag:.o=.s) $(eventflag:.o=.d): eventflag.c
+$(dataqueue) $(dataqueue:.o=.s) $(dataqueue:.o=.d): dataqueue.c
+$(mailbox) $(mailbox:.o=.s) $(mailbox:.o=.d): mailbox.c
+$(mempfix) $(mempfix:.o=.s) $(mempfix:.o=.d): mempfix.c
+$(time_manage) $(time_manage:.o=.s) $(time_manage:.o=.d): time_manage.c
+$(cyclic) $(cyclic:.o=.s) $(cyclic:.o=.d): cyclic.c
+$(sys_manage) $(sys_manage:.o=.s) $(sys_manage:.o=.d): sys_manage.c
+$(interrupt) $(interrupt:.o=.s) $(interrupt:.o=.d): interrupt.c
+$(exception) $(exception:.o=.s) $(exception:.o=.d): exception.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/banner.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/banner.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/banner.c	(revision 26)
@@ -0,0 +1,85 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: banner.c,v 1.11 2006/02/12 05:29:56 hiro Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸ã®åºå
+ */
+
+#include "jsp_kernel.h"
+
+#ifndef COPYRIGHT_CPU
+#define COPYRIGHT_CPU
+#endif /* COPYRIGHT_CPU */
+
+#ifndef COPYRIGHT_SYS
+#define COPYRIGHT_SYS
+#endif /* COPYRIGHT_SYS */
+
+static const char banner[] = "\n"
+"TOPPERS/JSP Kernel Release %d.%d (patchlevel = %d) for " TARGET_NAME
+" (" __DATE__ ", " __TIME__ ")\n"
+"Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory\n"
+"                            Toyohashi Univ. of Technology, JAPAN\n"
+"Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory\n"
+"            Graduate School of Information Science, Nagoya Univ., JAPAN\n"
+COPYRIGHT_CPU COPYRIGHT_SYS;
+
+void
+print_banner()
+{
+	syslog_3(LOG_NOTICE, banner,
+		(TKERNEL_PRVER >> 12) & 0x0f,
+		(TKERNEL_PRVER >> 4) & 0xff,
+		TKERNEL_PRVER & 0x0f);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/check.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/check.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/check.h	(revision 26)
@@ -0,0 +1,271 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: check.h,v 1.7 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã¨ã©ã¼ãã§ãã¯ç¨ãã¯ã­
+ */
+
+#ifndef _CHECK_H_
+#define _CHECK_H_
+
+/*
+ *  åªå
+åº¦ã®ç¯å²ã®å¤å®
+ */
+#define VALID_TPRI(tpri) \
+	(TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI)
+
+/*
+ *  ã¿ã¹ã¯åªå
+åº¦ã®ãã§ãã¯ï¼E_PARï¼
+ */
+#define CHECK_TPRI(tpri) {					\
+	if (!VALID_TPRI(tpri)) {				\
+		ercd = E_PAR;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_TPRI_INI(tpri) {					\
+	if (!(VALID_TPRI(tpri) || (tpri) == TPRI_INI)) {	\
+		ercd = E_PAR;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_TPRI_SELF(tpri) {					\
+	if (!(VALID_TPRI(tpri) || (tpri) == TPRI_SELF)) {	\
+		ercd = E_PAR;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ã¿ã¤ã ã¢ã¦ãæå®å¤ã®ãã§ãã¯ï¼E_PARï¼
+ */
+#define CHECK_TMOUT(tmout) {					\
+	if (!(TMO_FEVR <= (tmout))) {				\
+		ercd = E_PAR;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ãã®ä»ã®ãã©ã¡ã¼ã¿ã¨ã©ã¼ã®ãã§ãã¯ï¼E_PARï¼
+ */
+#define CHECK_PAR(exp) {					\
+	if (!(exp)) {						\
+		ercd = E_PAR;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ãªãã¸ã§ã¯ãIDã®ç¯å²ã®å¤å®
+ */
+#define VALID_TSKID(tskid) \
+	(TMIN_TSKID <= (tskid) && (tskid) <= tmax_tskid)
+
+#define VALID_SEMID(semid) \
+	(TMIN_SEMID <= (semid) && (semid) <= tmax_semid)
+
+#define VALID_FLGID(flgid) \
+	(TMIN_FLGID <= (flgid) && (flgid) <= tmax_flgid)
+
+#define VALID_DTQID(dtqid) \
+	(TMIN_DTQID <= (dtqid) && (dtqid) <= tmax_dtqid)
+
+#define VALID_MBXID(mbxid) \
+	(TMIN_MBXID <= (mbxid) && (mbxid) <= tmax_mbxid)
+
+#define VALID_MPFID(mpfid) \
+	(TMIN_MPFID <= (mpfid) && (mpfid) <= tmax_mpfid)
+
+#define VALID_CYCID(cycid) \
+	(TMIN_CYCID <= (cycid) && (cycid) <= tmax_cycid)
+
+/*
+ *  ãªãã¸ã§ã¯ãIDã®ãã§ãã¯ï¼E_IDï¼
+ */
+#define CHECK_TSKID(tskid) {					\
+	if (!VALID_TSKID(tskid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_TSKID_SELF(tskid) {				\
+	if (!(VALID_TSKID(tskid) || (tskid) == TSK_SELF)) {	\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_SEMID(semid) {					\
+	if (!VALID_SEMID(semid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_FLGID(flgid) {					\
+	if (!VALID_FLGID(flgid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_DTQID(dtqid) {					\
+	if (!VALID_DTQID(dtqid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_MBXID(mbxid) {					\
+	if (!VALID_MBXID(mbxid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_MPFID(mpfid) {					\
+	if (!VALID_MPFID(mpfid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_CYCID(cycid) {					\
+	if (!VALID_CYCID(cycid)) {				\
+		ercd = E_ID;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  å¼åºãã³ã³ãã­ã¹ãã®ãã§ãã¯ï¼E_CTXï¼
+ */
+#define CHECK_TSKCTX() {					\
+	if (sense_context()) {					\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_INTCTX() {					\
+	if (!sense_context()) {					\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  å¼åºãã³ã³ãã­ã¹ãã¨CPUã­ãã¯ç¶æ
+ã®ãã§ãã¯ï¼E_CTXï¼
+ */
+#define CHECK_TSKCTX_UNL() {					\
+	if (sense_context() || t_sense_lock()) {		\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+#define CHECK_INTCTX_UNL() {					\
+	if (!sense_context() || i_sense_lock()) {		\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ãã£ã¹ãããä¿çç¶æ
+ã§ãªããã®ãã§ãã¯ï¼E_CTXï¼
+ */
+#define CHECK_DISPATCH() {					\
+	if (sense_context() || t_sense_lock() || !(enadsp)) {	\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ãã®ä»ã®ã³ã³ãã­ã¹ãã¨ã©ã¼ã®ãã§ãã¯ï¼E_CTXï¼
+ */
+#define CHECK_CTX(exp) {					\
+	if (!(exp)) {						\
+		ercd = E_CTX;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  èªã¿ã¹ã¯ãæå®ãã¦ããªããã®ãã§ãã¯ï¼E_ILUSEï¼
+ */
+#define CHECK_NONSELF(tcb) {					\
+	if ((tcb) == runtsk) {					\
+		ercd = E_ILUSE;					\
+		goto exit;					\
+	}							\
+}
+
+/*
+ *  ãã®ä»ã®ä¸æ­£ä½¿ç¨ã¨ã©ã¼ã®ãã§ãã¯ï¼E_ILUSEï¼
+ */
+#define CHECK_ILUSE(exp) {					\
+	if (!(exp)) {						\
+		ercd = E_ILUSE;					\
+		goto exit;					\
+	}							\
+}
+
+#endif /* _CHECK_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.c	(revision 26)
@@ -0,0 +1,228 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cyclic.c,v 1.11 2006/02/12 05:29:32 hiro Exp $
+ */
+
+/*
+ *	å¨æãã³ãã©æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "cyclic.h"
+
+/*
+ *  å¨æãã³ãã©IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_cycid;
+
+/*
+ *  å¨æãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const CYCINIB	cycinib_table[];
+
+/*
+ *  å¨æãã³ãã©ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern CYCCB	cyccb_table[];
+
+/*
+ *  å¨æãã³ãã©ã®æ°
+ */
+#define TNUM_CYC	((UINT)(tmax_cycid - TMIN_CYCID + 1))
+
+/*
+ *  å¨æãã³ãã©IDããå¨æãã³ãã©ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_CYC(cycid)	((UINT)((cycid) - TMIN_CYCID))
+#define get_cyccb(cycid)	(&(cyccb_table[INDEX_CYC(cycid)]))
+
+/*
+ *  å¼æ°ã¾ã§å®ç¾©ããå¨æãã³ãã©ã®å
+ */
+typedef void	(*CYCHDR)(VP_INT exinf);
+
+/*
+ *  å¨æãã³ãã©æ©è½ã®åæå
+ */
+#ifdef __cycini
+
+void
+cyclic_initialize()
+{
+	UINT	i;
+	CYCCB	*cyccb;
+
+	for (cyccb = cyccb_table, i = 0; i < TNUM_CYC; cyccb++, i++) {
+		cyccb->cycinib = &(cycinib_table[i]);
+		if ((cyccb->cycinib->cycatr & TA_STA) != 0) {
+			cyccb->cycsta = TRUE;
+			tmevtb_enqueue_cyc(cyccb,
+					(EVTTIM)(cyccb->cycinib->cycphs));
+		}
+		else {
+			cyccb->cycsta = FALSE;
+		}
+	}
+}
+
+#endif /* __cycini */
+
+/*
+ *  å¨æãã³ãã©èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²
+ */
+#ifdef __cycenq
+
+void
+tmevtb_enqueue_cyc(CYCCB *cyccb, EVTTIM evttim)
+{
+	tmevtb_enqueue_evttim(&(cyccb->tmevtb), evttim,
+				(CBACK) call_cychdr, (VP) cyccb);
+	cyccb->evttim = evttim;
+}
+
+#endif /* __cycenq */
+
+/*
+ *  å¨æãã³ãã©ã®åä½éå§
+ */
+#ifdef __sta_cyc
+
+SYSCALL ER
+sta_cyc(ID cycid)
+{
+	CYCCB	*cyccb;
+	ER	ercd;
+
+	LOG_STA_CYC_ENTER(cycid);
+	CHECK_TSKCTX_UNL();
+	CHECK_CYCID(cycid);
+	cyccb = get_cyccb(cycid);
+
+	t_lock_cpu();
+	if (cyccb->cycsta) {
+		tmevtb_dequeue(&(cyccb->tmevtb));
+	}
+	else {
+		cyccb->cycsta = TRUE;
+	}
+	tmevtb_enqueue_cyc(cyccb, base_time + cyccb->cycinib->cyctim);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_STA_CYC_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __sta_cyc */
+
+/*
+ *  å¨æãã³ãã©ã®åä½åæ­¢
+ */
+#ifdef __stp_cyc
+
+SYSCALL ER
+stp_cyc(ID cycid)
+{
+	CYCCB	*cyccb;
+	ER	ercd;
+
+	LOG_STP_CYC_ENTER(cycid);
+	CHECK_TSKCTX_UNL();
+	CHECK_CYCID(cycid);
+	cyccb = get_cyccb(cycid);
+
+	t_lock_cpu();
+	if (cyccb->cycsta) {
+		cyccb->cycsta = FALSE;
+		tmevtb_dequeue(&(cyccb->tmevtb));
+	}
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_STP_CYC_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __stp_cyc */
+
+/*
+ *  å¨æãã³ãã©èµ·åã«ã¼ãã³
+ */
+#ifdef __cyccal
+
+void
+call_cychdr(CYCCB *cyccb)
+{
+	/*
+	 *  æ¬¡åã®èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ãç»é²ããï¼
+	 *
+	 *  åãã¿ã¤ã ãã£ãã¯ã§å¨æãã³ãã©ãååº¦èµ·åãã¹ãå ´åã«ã¯ï¼
+	 *  ãã®é¢æ°ãã isig_tim ã«æ»ã£ãå¾ã«ï¼ååº¦ãã®é¢æ°ãå¼ã°ãã
+	 *  ãã¨ã«ãªãï¼
+	 */
+	tmevtb_enqueue_cyc(cyccb, cyccb->evttim + cyccb->cycinib->cyctim);
+
+	/*
+	 *  å¨æãã³ãã©ãï¼CPUã­ãã¯è§£é¤ç¶æ
+ã§å¼ã³åºãï¼
+	 */
+	i_unlock_cpu();
+	LOG_CYC_ENTER(cyccb);
+	(*((CYCHDR)(cyccb->cycinib->cychdr)))(cyccb->cycinib->exinf);
+	LOG_CYC_LEAVE(cyccb);
+	i_lock_cpu();
+}
+
+#endif /* __cyccal */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/cyclic.h	(revision 26)
@@ -0,0 +1,101 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cyclic.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	å¨æãã³ãã©æ©è½
+ */
+
+#ifndef _CYCLIC_H_
+#define _CYCLIC_H_
+
+#include "queue.h"
+#include "time_event.h"
+
+/*
+ *  å¨æãã³ãã©åæåãã­ãã¯
+ */
+typedef struct cyclic_handler_initialization_block {
+	ATR	cycatr;		/* å¨æãã³ãã©å±æ§ */
+	VP_INT	exinf;		/* å¨æãã³ãã©ã®æ¡å¼µæ
+å ± */
+	FP	cychdr;		/* å¨æãã³ãã©ã®èµ·åçªå° */
+	RELTIM	cyctim;		/* å¨æãã³ãã©ã®èµ·åå¨æ */
+	RELTIM	cycphs;		/* å¨æãã³ãã©ã®èµ·åä½ç¸ */
+} CYCINIB;
+
+/*
+ *  å¨æãã³ãã©ç®¡çãã­ãã¯
+ */
+typedef struct cyclic_handler_control_block {
+	const CYCINIB *cycinib;	/* å¨æãã³ãã©åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	BOOL	cycsta;		/* å¨æãã³ãã©ã®åä½ç¶æ
+ */
+	EVTTIM	evttim;		/* æ¬¡ã«å¨æãã³ãã©ãèµ·åããæå» */
+	TMEVTB	tmevtb;		/* ã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+} CYCCB;
+
+/*
+ *  å¨æãã³ãã©æ©è½ã®åæå
+ */
+extern void	cyclic_initialize(void);
+
+/*
+ *  å¨æãã³ãã©èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²
+ */
+extern void	tmevtb_enqueue_cyc(CYCCB *cyccb, EVTTIM evttim);
+
+/*
+ *  å¨æãã³ãã©èµ·åã«ã¼ãã³
+ */
+extern void	call_cychdr(CYCCB *cyccb);
+
+#endif /* _CYCLIC_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.c	(revision 26)
@@ -0,0 +1,651 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: dataqueue.c,v 1.9 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ãã¼ã¿ã­ã¥ã¼æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+#include "dataqueue.h"
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_dtqid;
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const DTQINIB	dtqinib_table[];
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã®æ°
+ */
+#define TNUM_DTQ	((UINT)(tmax_dtqid - TMIN_DTQID + 1))
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern DTQCB	dtqcb_table[];
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼IDãããã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_DTQ(dtqid)	((UINT)((dtqid) - TMIN_DTQID))
+#define get_dtqcb(dtqid)	(&(dtqcb_table[INDEX_DTQ(dtqid)]))
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼å¾
+ã¡æ
+å ±ãã­ãã¯ã®å®ç¾©
+ *
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡å¾
+ã¡ã¨ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡å¾
+ã¡ã§ï¼åãå¾
+ã¡æ
+
+ *  å ±ãã­ãã¯ãä½¿ãï¼
+ */
+typedef struct dataqueue_waiting_information {
+	WINFO	winfo;		/* æ¨æºã®å¾
+ã¡æ
+å ±ãã­ãã¯ */
+	WOBJCB	*wobjcb;	/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+	VP_INT	data;		/* éåä¿¡ãã¼ã¿  */
+} WINFO_DTQ;
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ */
+#ifdef __dtqini
+
+void
+dataqueue_initialize(void)
+{
+	UINT	i;
+	DTQCB	*dtqcb;
+
+	for (dtqcb = dtqcb_table, i = 0; i < TNUM_DTQ; dtqcb++, i++) {
+		queue_initialize(&(dtqcb->swait_queue));
+		dtqcb->dtqinib = &(dtqinib_table[i]);
+		queue_initialize(&(dtqcb->rwait_queue));
+		dtqcb->count = 0;
+		dtqcb->head = 0;
+		dtqcb->tail = 0;
+	}
+}
+
+#endif /* __dtqini */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åã«ãã¼ã¿ãæ ¼ç´
+ */
+#ifdef __dtqenq
+
+BOOL
+enqueue_data(DTQCB *dtqcb, VP_INT data)
+{
+	if (dtqcb->count < dtqcb->dtqinib->dtqcnt) {
+		*((VP_INT *)(dtqcb->dtqinib->dtq) + dtqcb->tail) = data;
+		dtqcb->count++;
+		dtqcb->tail++;
+		if (dtqcb->tail >= dtqcb->dtqinib->dtqcnt) {
+			dtqcb->tail = 0;
+		}
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+#endif /* __dtqenq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åã«ãã¼ã¿ãå¼·å¶æ ¼ç´
+ */
+#ifdef __dtqfenq
+
+void
+force_enqueue_data(DTQCB *dtqcb, VP_INT data)
+{
+	*((VP_INT *)(dtqcb->dtqinib->dtq) + dtqcb->tail) = data;
+	dtqcb->tail++;
+	if (dtqcb->tail >= dtqcb->dtqinib->dtqcnt) {
+		dtqcb->tail = 0;
+	}
+	if (dtqcb->count < dtqcb->dtqinib->dtqcnt) {
+		dtqcb->count++;
+	}
+	else {
+		dtqcb->head = dtqcb->tail;
+	}
+}
+
+#endif /* __dtqfenq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åãããã¼ã¿ãååºã
+ */
+#ifdef __dtqdeq
+
+BOOL
+dequeue_data(DTQCB *dtqcb, VP_INT *p_data)
+{
+	if (dtqcb->count > 0) {
+		*p_data = *((VP_INT *)(dtqcb->dtqinib->dtq) + dtqcb->head);
+		dtqcb->count--;
+		dtqcb->head++;
+		if (dtqcb->head >= dtqcb->dtqinib->dtqcnt) {
+			dtqcb->head = 0;
+		}
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+#endif /* __dtqdeq */
+
+/*
+ *  åä¿¡å¾
+ã¡ã­ã¥ã¼ã®å
+é ­ã¿ã¹ã¯ã¸ã®ãã¼ã¿éä¿¡
+ */
+#ifdef __dtqsnd
+
+TCB *
+send_data_rwait(DTQCB *dtqcb, VP_INT data)
+{
+	TCB	*tcb;
+
+	if (!(queue_empty(&(dtqcb->rwait_queue)))) {
+		tcb = (TCB *) queue_delete_next(&(dtqcb->rwait_queue));
+		((WINFO_DTQ *)(tcb->winfo))->data = data;
+		return(tcb);
+	}
+	return(NULL);
+}
+
+#endif /* __dtqsnd */
+
+/*
+ *  éä¿¡å¾
+ã¡ã­ã¥ã¼ã®å
+é ­ã¿ã¹ã¯ããã®ãã¼ã¿åä¿¡
+ */
+#ifdef __dtqrcv
+
+TCB *
+receive_data_swait(DTQCB *dtqcb, VP_INT *p_data)
+{
+	TCB	*tcb;
+
+	if (!(queue_empty(&(dtqcb->swait_queue)))) {
+		tcb = (TCB *) queue_delete_next(&(dtqcb->swait_queue));
+		*p_data = ((WINFO_DTQ *)(tcb->winfo))->data;
+		return(tcb);
+	}
+	return(NULL);
+}
+
+#endif /* __dtqrcv */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+ */
+#ifdef __snd_dtq
+
+SYSCALL ER
+snd_dtq(ID dtqid, VP_INT data)
+{
+	DTQCB	*dtqcb;
+	WINFO_DTQ winfo;
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_SND_DTQ_ENTER(dtqid, data);
+	CHECK_DISPATCH();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (enqueue_data(dtqcb, data)) {
+		ercd = E_OK;
+	}
+	else {
+		winfo.data = data;
+		wobj_make_wait((WOBJCB *) dtqcb, (WINFO_WOBJ *) &winfo);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_SND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __snd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __psnd_dtq
+
+SYSCALL ER
+psnd_dtq(ID dtqid, VP_INT data)
+{
+	DTQCB	*dtqcb;
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_PSND_DTQ_ENTER(dtqid, data);
+	CHECK_TSKCTX_UNL();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (enqueue_data(dtqcb, data)) {
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_PSND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __psnd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ãã¼ãªã³ã°ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __ipsnd_dtq
+
+SYSCALL ER
+ipsnd_dtq(ID dtqid, VP_INT data)
+{
+	DTQCB	*dtqcb;
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_IPSND_DTQ_ENTER(dtqid, data);
+	CHECK_INTCTX_UNL();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+
+	i_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	else if (enqueue_data(dtqcb, data)) {
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_IPSND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ipsnd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __tsnd_dtq
+
+SYSCALL ER
+tsnd_dtq(ID dtqid, VP_INT data, TMO tmout)
+{
+	DTQCB	*dtqcb;
+	WINFO_DTQ winfo;
+	TMEVTB	tmevtb;
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_TSND_DTQ_ENTER(dtqid, data, tmout);
+	CHECK_DISPATCH();
+	CHECK_DTQID(dtqid);
+	CHECK_TMOUT(tmout);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (enqueue_data(dtqcb, data)) {
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		winfo.data = data;
+		wobj_make_wait_tmout((WOBJCB *) dtqcb, (WINFO_WOBJ *) &winfo,
+						&tmevtb, tmout);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TSND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __tsnd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®å¼·å¶éä¿¡
+ */
+#ifdef __fsnd_dtq
+
+SYSCALL ER
+fsnd_dtq(ID dtqid, VP_INT data)
+{
+	DTQCB	*dtqcb;	
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_FSND_DTQ_ENTER(dtqid, data);
+	CHECK_TSKCTX_UNL();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+	CHECK_ILUSE(dtqcb->dtqinib->dtqcnt > 0);
+
+	t_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+	}
+	else {
+		force_enqueue_data(dtqcb, data);
+	}
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_FSND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __fsnd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ã¸ã®å¼·å¶éä¿¡ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __ifsnd_dtq
+
+SYSCALL ER
+ifsnd_dtq(ID dtqid, VP_INT data)
+{
+	DTQCB	*dtqcb;
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_IFSND_DTQ_ENTER(dtqid, data);
+	CHECK_INTCTX_UNL();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+	CHECK_ILUSE(dtqcb->dtqinib->dtqcnt > 0);
+
+	i_lock_cpu();
+	if ((tcb = send_data_rwait(dtqcb, data)) != NULL) {
+		if (wait_complete(tcb)) {
+			reqflg = TRUE;
+		}
+	}
+	else {
+		force_enqueue_data(dtqcb, data);
+	}
+	ercd = E_OK;
+	i_unlock_cpu();
+
+    exit:
+	LOG_IFSND_DTQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ifsnd_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡
+ */
+#ifdef __rcv_dtq
+
+SYSCALL ER
+rcv_dtq(ID dtqid, VP_INT *p_data)
+{
+	DTQCB	*dtqcb;
+	WINFO_DTQ winfo;
+	TCB	*tcb;
+	VP_INT	data;
+	ER	ercd;
+
+	LOG_RCV_DTQ_ENTER(dtqid, p_data);
+	CHECK_DISPATCH();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if (dequeue_data(dtqcb, p_data)) {
+		if ((tcb = receive_data_swait(dtqcb, &data)) != NULL) {
+			enqueue_data(dtqcb, data);
+			if (wait_complete(tcb)) {
+				dispatch();
+			}
+		}
+		ercd = E_OK;
+	}
+	else if ((tcb = receive_data_swait(dtqcb, p_data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else {
+		runtsk->tstat = (TS_WAITING | TS_WAIT_WOBJ);
+		make_wait(&(winfo.winfo));
+		queue_insert_prev(&(dtqcb->rwait_queue),
+					&(runtsk->task_queue));
+		winfo.wobjcb = (WOBJCB *) dtqcb;
+		LOG_TSKSTAT(runtsk);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_data = winfo.data;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_RCV_DTQ_LEAVE(ercd, *p_data);
+	return(ercd);
+}
+
+#endif /* __rcv_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __prcv_dtq
+
+SYSCALL ER
+prcv_dtq(ID dtqid, VP_INT *p_data)
+{
+	DTQCB	*dtqcb;
+	TCB	*tcb;
+	VP_INT	data;
+	ER	ercd;
+
+	LOG_PRCV_DTQ_ENTER(dtqid, p_data);
+	CHECK_TSKCTX_UNL();
+	CHECK_DTQID(dtqid);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if (dequeue_data(dtqcb, p_data)) {
+		if ((tcb = receive_data_swait(dtqcb, &data)) != NULL) {
+			enqueue_data(dtqcb, data);
+			if (wait_complete(tcb)) {
+				dispatch();
+			}
+		}
+		ercd = E_OK;
+	}
+	else if ((tcb = receive_data_swait(dtqcb, p_data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_PRCV_DTQ_LEAVE(ercd, *p_data);
+	return(ercd);
+}
+
+#endif /* __prcv_dtq */
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __trcv_dtq
+
+SYSCALL ER
+trcv_dtq(ID dtqid, VP_INT *p_data, TMO tmout)
+{
+	DTQCB	*dtqcb;
+	WINFO_DTQ winfo;
+	TMEVTB	tmevtb;
+	TCB	*tcb;
+	VP_INT	data;
+	ER	ercd;
+
+	LOG_TRCV_DTQ_ENTER(dtqid, p_data, tmout);
+	CHECK_DISPATCH();
+	CHECK_DTQID(dtqid);
+	CHECK_TMOUT(tmout);
+	dtqcb = get_dtqcb(dtqid);
+
+	t_lock_cpu();
+	if (dequeue_data(dtqcb, p_data)) {
+		if ((tcb = receive_data_swait(dtqcb, &data)) != NULL) {
+			enqueue_data(dtqcb, data);
+			if (wait_complete(tcb)) {
+				dispatch();
+			}
+		}
+		ercd = E_OK;
+	}
+	else if ((tcb = receive_data_swait(dtqcb, p_data)) != NULL) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		runtsk->tstat = (TS_WAITING | TS_WAIT_WOBJ);
+		make_wait_tmout(&(winfo.winfo), &tmevtb, tmout);
+		queue_insert_prev(&(dtqcb->rwait_queue),
+					&(runtsk->task_queue));
+		winfo.wobjcb = (WOBJCB *) dtqcb;
+		LOG_TSKSTAT(runtsk);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_data = winfo.data;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TRCV_DTQ_LEAVE(ercd, *p_data);
+	return(ercd);
+}
+
+#endif /* __trcv_dtq */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/dataqueue.h	(revision 26)
@@ -0,0 +1,120 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: dataqueue.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ãã¼ã¿ã­ã¥ã¼æ©è½
+ */
+
+#ifndef _DATAQUEUE_H_
+#define _DATAQUEUE_H_
+
+#include "queue.h"
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯
+ */
+typedef struct dataqueue_initialization_block {
+	ATR	dtqatr;		/* ãã¼ã¿ã­ã¥ã¼å±æ§ */
+	UINT	dtqcnt;		/* ãã¼ã¿ã­ã¥ã¼é åã®å®¹é */
+	VP	dtq;		/* ãã¼ã¿ã­ã¥ã¼é åã®å
+é ­çªå° */
+} DTQINIB;
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯
+ */
+typedef struct dataqueue_control_block {
+	QUEUE	swait_queue;	/* ãã¼ã¿ã­ã¥ã¼éä¿¡å¾
+ã¡ã­ã¥ã¼ */
+	const DTQINIB *dtqinib;	/* ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	QUEUE	rwait_queue;	/* ãã¼ã¿ã­ã¥ã¼åä¿¡å¾
+ã¡ã­ã¥ã¼ */
+	UINT	count;		/* ãã¼ã¿ã­ã¥ã¼ä¸­ã®ãã¼ã¿ã®æ° */
+	UINT	head;		/* æåã®ãã¼ã¿ã®æ ¼ç´å ´æ */
+	UINT	tail;		/* æå¾ã®ãã¼ã¿ã®æ ¼ç´å ´æã®æ¬¡ */
+} DTQCB;
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ */
+extern void	dataqueue_initialize(void);
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åã«ãã¼ã¿ãæ ¼ç´
+ */
+extern BOOL	enqueue_data(DTQCB *dtqcb, VP_INT data);
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åã«ãã¼ã¿ãå¼·å¶æ ¼ç´
+ */
+extern void	force_enqueue_data(DTQCB *dtqcb, VP_INT data);
+
+/*
+ *  ãã¼ã¿ã­ã¥ã¼é åãããã¼ã¿ãååºã
+ */
+extern BOOL	dequeue_data(DTQCB *dtqcb, VP_INT *p_data);
+
+/*
+ *  åä¿¡å¾
+ã¡ã­ã¥ã¼ã®å
+é ­ã¿ã¹ã¯ã¸ã®ãã¼ã¿éä¿¡
+ */
+extern TCB	*send_data_rwait(DTQCB *dtqcb, VP_INT data);
+
+/*
+ *  éä¿¡å¾
+ã¡ã­ã¥ã¼ã®å
+é ­ã¿ã¹ã¯ããã®ãã¼ã¿åä¿¡
+ */
+extern TCB	*receive_data_swait(DTQCB *dtqcb, VP_INT *p_data);
+
+#endif /* _DATAQUEUE_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.c	(revision 26)
@@ -0,0 +1,397 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: eventflag.c,v 1.8 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã¤ãã³ããã©ã°æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+#include "eventflag.h"
+
+/*
+ *  ã¤ãã³ããã©ã°IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_flgid;
+
+/*
+ *  ã¤ãã³ããã©ã°åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const FLGINIB	flginib_table[];
+
+/*
+ *  ã¤ãã³ããã©ã°ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern FLGCB	flgcb_table[];
+
+/*
+ *  ã¤ãã³ããã©ã°ã®æ°
+ */
+#define TNUM_FLG	((UINT)(tmax_flgid - TMIN_FLGID + 1))
+
+/*
+ *  ã¤ãã³ããã©ã°IDããã¤ãã³ããã©ã°ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_FLG(flgid)	((UINT)((flgid) - TMIN_FLGID))
+#define get_flgcb(flgid)	(&(flgcb_table[INDEX_FLG(flgid)]))
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡æ
+å ±ãã­ãã¯ã®å®ç¾©
+ *
+ *  flgptn ã¯ï¼waiptn ããã³ wfmode ã¨åæã«ä½¿ããã¨ã¯ãªãããï¼union 
+ *  ãä½¿ãã°ã¡ã¢ãªãç¯ç´ãããã¨ãå¯è½ã§ããï¼
+ */
+typedef struct eventflag_waiting_information {
+	WINFO	winfo;		/* æ¨æºã®å¾
+ã¡æ
+å ±ãã­ãã¯ */
+	WOBJCB	*wobjcb;	/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+	FLGPTN	waiptn;		/* å¾
+ã¡ãã¿ã¼ã³ */
+	MODE	wfmode;		/* å¾
+ã¡ã¢ã¼ã */
+	FLGPTN	flgptn;		/* å¾
+ã¡è§£é¤æã®ãã¿ã¼ã³ */
+} WINFO_FLG;
+
+/*
+ *  ã¤ãã³ããã©ã°æ©è½ã®åæå
+ */
+#ifdef __flgini
+
+void
+eventflag_initialize(void)
+{
+	UINT	i;
+	FLGCB	*flgcb;
+
+	for (flgcb = flgcb_table, i = 0; i < TNUM_FLG; flgcb++, i++) {
+		queue_initialize(&(flgcb->wait_queue));
+		flgcb->flginib = &(flginib_table[i]);
+		flgcb->flgptn = flgcb->flginib->iflgptn;
+	}
+}
+
+#endif /* __flgini */
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡è§£é¤æ¡ä»¶ã®ãã§ãã¯
+ */
+#ifdef __flgcnd
+
+BOOL
+eventflag_cond(FLGCB *flgcb, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn)
+{
+	if ((wfmode & TWF_ORW) != 0 ? (flgcb->flgptn & waiptn) != 0
+				: (flgcb->flgptn & waiptn) == waiptn) {
+		*p_flgptn = flgcb->flgptn;
+		if ((flgcb->flginib->flgatr & TA_CLR) != 0) {
+			flgcb->flgptn = 0;
+		}
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+#endif /* __flgcnd */
+
+/*
+ *  ã¤ãã³ããã©ã°ã®ã»ãã
+ */
+#ifdef __set_flg
+
+SYSCALL ER
+set_flg(ID flgid, FLGPTN setptn)
+{
+	FLGCB	*flgcb;
+	TCB	*tcb;
+	WINFO_FLG *winfo;
+	ER	ercd;
+
+	LOG_SET_FLG_ENTER(flgid, setptn);
+	CHECK_TSKCTX_UNL();
+	CHECK_FLGID(flgid);
+	flgcb = get_flgcb(flgid);
+
+	t_lock_cpu();
+	flgcb->flgptn |= setptn;
+	if (!(queue_empty(&(flgcb->wait_queue)))) {
+		tcb = (TCB *)(flgcb->wait_queue.next);
+		winfo = (WINFO_FLG *)(tcb->winfo);
+		if (eventflag_cond(flgcb, winfo->waiptn,
+					winfo->wfmode, &(winfo->flgptn))) {
+			queue_delete(&(tcb->task_queue));
+			if (wait_complete(tcb)) {
+				dispatch();
+			}
+		}
+	}
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_SET_FLG_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __set_flg */
+
+/*
+ *  ã¤ãã³ããã©ã°ã®ã»ããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iset_flg
+
+SYSCALL ER
+iset_flg(ID flgid, FLGPTN setptn)
+{
+	FLGCB	*flgcb;
+	TCB	*tcb;
+	WINFO_FLG *winfo;
+	ER	ercd;
+
+	LOG_ISET_FLG_ENTER(flgid, setptn);
+	CHECK_INTCTX_UNL();
+	CHECK_FLGID(flgid);
+	flgcb = get_flgcb(flgid);
+
+	i_lock_cpu();
+	flgcb->flgptn |= setptn;
+	if (!(queue_empty(&(flgcb->wait_queue)))) {
+		tcb = (TCB *)(flgcb->wait_queue.next);
+		winfo = (WINFO_FLG *)(tcb->winfo);
+		if (eventflag_cond(flgcb, winfo->waiptn,
+					winfo->wfmode, &(winfo->flgptn))) {
+			queue_delete(&(tcb->task_queue));
+			if (wait_complete(tcb)) {
+				reqflg = TRUE;
+			}
+		}
+	}
+	ercd = E_OK;
+	i_unlock_cpu();
+
+    exit:
+	LOG_ISET_FLG_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iset_flg */
+
+/*
+ *  ã¤ãã³ããã©ã°ã®ã¯ãªã¢
+ */
+#ifdef __clr_flg
+
+SYSCALL ER
+clr_flg(ID flgid, FLGPTN clrptn)
+{
+	FLGCB	*flgcb;
+	ER	ercd;
+
+	LOG_CLR_FLG_ENTER(flgid, clrptn);
+	CHECK_TSKCTX_UNL();
+	CHECK_FLGID(flgid);
+	flgcb = get_flgcb(flgid);
+
+	t_lock_cpu();
+	flgcb->flgptn &= clrptn; 
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CLR_FLG_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __clr_flg */
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡
+ */
+#ifdef __wai_flg
+
+SYSCALL ER
+wai_flg(ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn)
+{
+	FLGCB	*flgcb;
+	WINFO_FLG winfo;
+	ER	ercd;
+
+	LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn);
+	CHECK_DISPATCH();
+	CHECK_FLGID(flgid);
+	CHECK_PAR(waiptn != 0);
+	CHECK_PAR((wfmode & ~TWF_ORW) == 0);
+	flgcb = get_flgcb(flgid);
+
+	t_lock_cpu();
+	if (!(queue_empty(&(flgcb->wait_queue)))) {
+		ercd = E_ILUSE;
+	}
+	else if (eventflag_cond(flgcb, waiptn, wfmode, p_flgptn)) {
+		ercd = E_OK;
+	}
+	else {
+		winfo.waiptn = waiptn;
+		winfo.wfmode = wfmode;
+		wobj_make_wait((WOBJCB *) flgcb, (WINFO_WOBJ *) &winfo);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_flgptn = winfo.flgptn;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_WAI_FLG_LEAVE(ercd, *p_flgptn);
+	return(ercd);
+}
+
+#endif /* __wai_flg */
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __pol_flg
+
+SYSCALL ER
+pol_flg(ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn)
+{
+	FLGCB	*flgcb;
+	ER	ercd;
+
+	LOG_POL_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn);
+	CHECK_TSKCTX_UNL();
+	CHECK_FLGID(flgid);
+	CHECK_PAR(waiptn != 0);
+	CHECK_PAR((wfmode & ~TWF_ORW) == 0);
+	flgcb = get_flgcb(flgid);
+
+	t_lock_cpu();
+	if (!(queue_empty(&(flgcb->wait_queue)))) {
+		ercd = E_ILUSE;
+	}
+	else if (eventflag_cond(flgcb, waiptn, wfmode, p_flgptn)) {
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_POL_FLG_LEAVE(ercd, *p_flgptn);
+	return(ercd);
+}
+
+#endif /* __pol_flg */
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __twai_flg
+
+SYSCALL ER
+twai_flg(ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn, TMO tmout)
+{
+	FLGCB	*flgcb;
+	WINFO_FLG winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+
+	LOG_TWAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn, tmout);
+	CHECK_DISPATCH();
+	CHECK_FLGID(flgid);
+	CHECK_PAR(waiptn != 0);
+	CHECK_PAR((wfmode & ~TWF_ORW) == 0);
+	CHECK_TMOUT(tmout);
+	flgcb = get_flgcb(flgid);
+
+	t_lock_cpu();
+	if (!(queue_empty(&(flgcb->wait_queue)))) {
+		ercd = E_ILUSE;
+	}
+	else if (eventflag_cond(flgcb, waiptn, wfmode, p_flgptn)) {
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		winfo.waiptn = waiptn;
+		winfo.wfmode = wfmode;
+		wobj_make_wait_tmout((WOBJCB *) flgcb, (WINFO_WOBJ *) &winfo,
+						&tmevtb, tmout);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_flgptn = winfo.flgptn;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TWAI_FLG_LEAVE(ercd, *p_flgptn);
+	return(ercd);
+}
+
+#endif /* __twai_flg */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/eventflag.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: eventflag.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã¤ãã³ããã©ã°æ©è½
+ */
+
+#ifndef _EVENTFLAG_H_
+#define _EVENTFLAG_H_
+
+#include "queue.h"
+
+/*
+ *  ã¤ãã³ããã©ã°åæåãã­ãã¯
+ */
+typedef struct eventflag_initialization_block {
+	ATR	flgatr;		/* ã¤ãã³ããã©ã°å±æ§ */
+	FLGPTN	iflgptn;	/* ã¤ãã³ããã©ã°ã®ããããã¿ã¼ã³ã®åæå¤ */
+} FLGINIB;
+
+/*
+ *  ã¤ãã³ããã©ã°ç®¡çãã­ãã¯
+ */
+typedef struct eventflag_control_block {
+	QUEUE	wait_queue;	/* ã¤ãã³ããã©ã°å¾
+ã¡ã­ã¥ã¼ */
+	const FLGINIB *flginib;	/* ã¤ãã³ããã©ã°åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	FLGPTN	flgptn;		/* ã¤ãã³ããã©ã°ç¾å¨ãã¿ã¼ã³ */
+} FLGCB;
+
+/*
+ *  ã¤ãã³ããã©ã°æ©è½ã®åæå
+ */
+extern void	eventflag_initialize(void);
+
+/*
+ *  ã¤ãã³ããã©ã°å¾
+ã¡è§£é¤æ¡ä»¶ã®ãã§ãã¯
+ */
+extern BOOL	eventflag_cond(FLGCB *flgcb, FLGPTN waiptn,
+					MODE wfmode, FLGPTN *p_flgptn);
+
+#endif /* _EVENTFLAG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.c	(revision 26)
@@ -0,0 +1,193 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: exception.c,v 1.9 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	CPUä¾å¤ç®¡çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+#include "exception.h"
+
+/*
+ *  CPUä¾å¤ãã³ãã©çªå·ã®æ°ï¼kernel_cfg.cï¼
+ */
+extern const UINT	tnum_excno;
+
+/*
+ *  CPUä¾å¤ãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const EXCINIB	excinib_table[];
+
+/* 
+ *  CPUä¾å¤ãã³ãã©ç®¡çæ©è½ã®åæå
+ */
+#ifdef __excini
+
+void
+exception_initialize()
+{
+	UINT		i;
+	const EXCINIB	*excinib;
+
+	for (excinib = excinib_table, i = 0; i < tnum_excno; excinib++, i++) {
+		define_exc(excinib->excno, excinib->exchdr);
+	}
+}
+
+#endif /* __excini */
+
+/*
+ *  CPUä¾å¤ã®çºçããã³ã³ãã­ã¹ãã®åç
+§
+ */
+#ifdef __vxsns_ctx
+
+SYSCALL BOOL
+vxsns_ctx(VP p_excinf)
+{
+	BOOL	state;
+
+	LOG_VXSNS_CTX_ENTER(p_excinf);
+	state = exc_sense_context(p_excinf) ? TRUE : FALSE;
+	LOG_VXSNS_CTX_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vxsns_ctx */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+#ifdef __vxsns_loc
+
+SYSCALL BOOL
+vxsns_loc(VP p_excinf)
+{
+	BOOL	state;
+
+	LOG_VXSNS_LOC_ENTER(p_excinf);
+	state = exc_sense_lock(p_excinf) ? TRUE : FALSE;
+	LOG_VXSNS_LOC_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vxsns_loc */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®åç
+§
+ *
+ *  sns_dsp ã¨åä¸ã®å¦çå
+å®¹ã¨ãªãï¼
+ */
+#ifdef __vxsns_dsp
+
+SYSCALL BOOL
+vxsns_dsp(VP p_excinf)
+{
+	BOOL	state;
+
+	LOG_VXSNS_DSP_ENTER(p_excinf);
+	state = !(enadsp) ? TRUE : FALSE;
+	LOG_VXSNS_DSP_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vxsns_dsp */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ãã£ã¹ãããä¿çç¶æ
+ã®åç
+§
+ */
+#ifdef __vxsns_dpn
+
+SYSCALL BOOL
+vxsns_dpn(VP p_excinf)
+{
+	BOOL	state;
+
+	LOG_VXSNS_DPN_ENTER(p_excinf);
+	state = (exc_sense_context(p_excinf) || exc_sense_lock(p_excinf)
+					|| !(enadsp)) ? TRUE : FALSE;
+	LOG_VXSNS_DPN_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vxsns_dpn */
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã®åç
+§
+ *
+ *  sns_tex ã¨åä¸ã®å¦çå
+å®¹ã¨ãªãï¼
+ */
+#ifdef __vxsns_tex
+
+SYSCALL BOOL
+vxsns_tex(VP p_excinf)
+{
+	BOOL	state;
+
+	LOG_VXSNS_TEX_ENTER(p_excinf);
+	state = (runtsk != NULL && runtsk->enatex) ? FALSE : TRUE;
+	LOG_VXSNS_TEX_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vxsns_tex */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/exception.h	(revision 26)
@@ -0,0 +1,74 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: exception.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	CPUä¾å¤ç®¡çæ©è½
+ */
+
+#ifndef _EXCEPTION_H_
+#define _EXCEPTION_H_
+
+/*
+ *  CPUä¾å¤ãã³ãã©åæåãã­ãã¯
+ */
+typedef struct cpu_exception_handler_initialization_block {
+	EXCNO	excno;		/* CPUä¾å¤ãã³ãã©çªå· */
+	ATR	excatr;		/* CPUä¾å¤ãã³ãã©å±æ§ */
+	FP	exchdr;		/* CPUä¾å¤ãã³ãã©ã®èµ·åçªå° */
+} EXCINIB;
+
+/*
+ *  CPUä¾å¤ãã³ãã©ç®¡çæ©è½ã®åæå
+ */
+extern void	exception_initialize(void);
+
+#endif /* _EXCEPTION_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.c	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: interrupt.c,v 1.8 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	å²è¾¼ã¿ç®¡çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "interrupt.h"
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©çªå·ã®æ°ï¼kernel_cfg.cï¼
+ */
+extern const UINT	tnum_inhno;
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const INHINIB	inhinib_table[];
+
+/* 
+ *  å²è¾¼ã¿ç®¡çæ©è½ã®åæå
+ */
+#ifdef __inhini
+
+void
+interrupt_initialize()
+{
+	UINT		i;
+	const INHINIB	*inhinib;
+
+	for (inhinib = inhinib_table, i = 0; i < tnum_inhno; inhinib++, i++) {
+		define_inh(inhinib->inhno, inhinib->inthdr);
+	}
+}
+
+#endif /* __inhini */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/interrupt.h	(revision 26)
@@ -0,0 +1,74 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: interrupt.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	å²è¾¼ã¿ç®¡çæ©è½
+ */
+
+#ifndef _INTERRUPT_H_
+#define _INTERRUPT_H_
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯
+ */
+typedef struct interrupt_handler_initialization_block {
+	INHNO	inhno;		/* å²è¾¼ã¿ãã³ãã©çªå· */
+	ATR	inhatr;		/* å²è¾¼ã¿ãã³ãã©å±æ§ */
+	FP	inthdr;		/* å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå° */
+} INHINIB;
+
+/*
+ *  å²è¾¼ã¿ç®¡çæ©è½ã®åæå
+ */
+extern void	interrupt_initialize(void);
+
+#endif /* _INTERRUPT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_kernel.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_kernel.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_kernel.h	(revision 26)
@@ -0,0 +1,147 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: jsp_kernel.h,v 1.10 2003/07/01 13:31:35 hiro Exp $
+ */
+
+/*
+ *	JSPã«ã¼ãã« æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼ã«ã¼ãã«ãæ§æãããã­ã°ã©ã ã®ã½ã¼ã¹ãã¡
+ *  ã¤ã«ã§å¿
+ãã¤ã³ã¯ã«ã¼ãããã¹ãæ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ããï¼
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
+ *  ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæã¯ï¼_MACRO_ONLY ãå®ç¾©ãã¦
+ *  ãããã¨ã§ï¼ãã¯ã­å®ç¾©ä»¥å¤ã®è¨è¿°ãé¤ããã¨ãã§ããï¼
+ */
+
+#ifndef _JSP_KERNEL_H_
+#define _JSP_KERNEL_H_
+
+/*
+ *  ã«ã¼ãã«ã®å
+é¨è­å¥åã®ãªãã¼ã 
+ */
+#include "jsp_rename.h"
+
+/*
+ *  ã¢ããªã±ã¼ã·ã§ã³ã¨å
+±éã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«
+ */
+#include <kernel.h>
+
+/*
+ *  ã¿ã¼ã²ããä¾å­æ
+å ±ã®å®ç¾©
+ */
+#include <t_config.h>
+
+/*
+ *  ãªãã¸ã§ã¯ãIDã®æå°å¤ã®å®ç¾©
+ */
+#define	TMIN_TSKID	1	/* ã¿ã¹ã¯IDã®æå°å¤ */
+#define	TMIN_SEMID	1	/* ã»ããã©IDã®æå°å¤ */
+#define	TMIN_FLGID	1	/* ãã©ã°IDã®æå°å¤ */
+#define	TMIN_DTQID	1	/* ãã¼ã¿ã­ã¥ã¼IDã®æå°å¤ */
+#define	TMIN_MBXID	1	/* ã¡ã¼ã«ããã¯ã¹IDã®æå°å¤ */
+#define	TMIN_MPFID	1	/* åºå®é·ã¡ã¢ãªãã¼ã«IDã®æå°å¤ */
+#define	TMIN_CYCID	1	/* å¨æãã³ãã©IDã®æå°å¤ */
+
+/*
+ *  åªå
+åº¦ã®æ®µéæ°ã®å®ç¾©
+ */
+#define	TNUM_TPRI	(TMAX_TPRI - TMIN_TPRI + 1)
+#define	TNUM_MPRI	(TMAX_MPRI - TMIN_MPRI + 1)
+
+/*
+ *  ã«ã¼ãã«å
+ã§ç¨ãããã¯ã­ã®å®ç¾©
+ */
+#define SYSCALL
+
+/*
+ *  ããããã¡ã¤ã«ãæããªãã¢ã¸ã¥ã¼ã«ã®é¢æ°ã»å¤æ°ã®å®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+/*
+ *  åã¢ã¸ã¥ã¼ã«ã®åæåï¼kernel_cfg.cï¼
+ */
+extern void	object_initialize(void);
+
+/*
+ *  åæåã«ã¼ãã³ã®å®è¡ï¼kernel_cfg.cï¼
+ */
+extern void	call_inirtn(void);
+
+/*
+ *  çµäºå¦çã«ã¼ãã³ã®å®è¡ï¼kernel_cfg.cï¼
+ */
+extern void	call_terrtn(void);
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®è¡¨ç¤ºï¼banner.cï¼
+ */
+extern void	print_banner(void);
+
+/*
+ *  ã«ã¼ãã«ã®çµäºå¦çï¼startup.cï¼
+ */
+extern void	kernel_exit(void);
+
+/*
+ *  ã«ã¼ãã«åä½ç¶æ
+ãã©ã°ï¼startup.cï¼
+ */
+extern BOOL	iniflg;
+
+#endif /* _MACRO_ONLY */
+#endif /* _JSP_KERNEL_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.def	(revision 26)
@@ -0,0 +1,132 @@
+# startup.c
+iniflg
+
+# banner.c
+print_banner
+
+# cpu_config.c, cpu_support.S, sys_config.c, sys_support.S
+dispatch
+exit_and_dispatch
+cpu_initialize
+cpu_terminate
+sys_initialize
+sys_exit
+sys_putc
+
+# task.c
+runtsk
+schedtsk
+reqflg
+enadsp
+ready_queue
+ready_primap
+task_initialize
+search_schedtsk
+make_runnable
+make_non_runnable
+make_dormant
+make_active
+exit_task
+change_priority
+rotate_ready_queue
+call_texrtn
+calltex
+
+# wait.c
+make_wait_tmout
+wait_complete
+wait_tmout
+wait_tmout_ok
+wait_cancel
+wait_release
+wobj_make_wait
+wobj_make_wait_tmout
+wobj_change_priority
+
+# time_event.c
+systim_offset
+current_time
+next_time
+next_subtime
+last_index
+tmevt_initialize
+tmevt_up
+tmevt_down
+tmevtb_insert
+tmevtb_delete
+
+# syslog.c
+syslog_buffer
+syslog_count
+syslog_head
+syslog_tail
+syslog_lost
+syslog_logmask
+syslog_lowmask
+syslog_initialize
+syslog_terminate
+
+# semaphore.c
+semaphore_initialize
+
+# eventflag.c
+eventflag_initialize
+eventflag_cond
+
+# dataqueue.c
+dataqueue_initialize
+enqueue_data
+force_enqueue_data
+dequeue_data
+send_data_rwait
+receive_data_swait
+
+# mailbox.c
+mailbox_initialize
+
+# mempfix.c
+mempfix_initialize
+mempfix_get_block
+
+# cyclic.c
+cyclic_initialize
+tmevtb_enqueue_cyc
+call_cychdr
+
+# interrupt.c
+interrupt_initialize
+
+# exception.c
+exception_initialize
+
+# kernel_cfg.c
+object_initialize
+call_inirtn
+call_terrtn
+tmax_tskid
+tinib_table
+torder_table
+tcb_table
+tmax_semid
+seminib_table
+semcb_table
+tmax_flgid
+flginib_table
+flgcb_table
+tmax_dtqid
+dtqcb_table
+dtqinib_table
+tmax_mbxid
+mbxcb_table
+mbxinib_table
+tmax_mpfid
+mpfinib_table
+mpfcb_table
+tmax_cycid
+cycinib_table
+cyccb_table
+tnum_inhno
+inhinib_table
+tnum_excno
+excinib_table
+tmevt_heap
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_rename.h	(revision 26)
@@ -0,0 +1,339 @@
+/* This file is generated from jsp_rename.def by genrename. */
+
+#ifndef _JSP_RENAME_H_
+#define _JSP_RENAME_H_
+
+/*
+ *  startup.c
+ */
+#define iniflg			_kernel_iniflg
+
+/*
+ *  banner.c
+ */
+#define print_banner		_kernel_print_banner
+
+/*
+ *  cpu_config.c, cpu_support.S, sys_config.c, sys_support.S
+ */
+#define dispatch		_kernel_dispatch
+#define exit_and_dispatch	_kernel_exit_and_dispatch
+#define cpu_initialize		_kernel_cpu_initialize
+#define cpu_terminate		_kernel_cpu_terminate
+#define sys_initialize		_kernel_sys_initialize
+#define sys_exit		_kernel_sys_exit
+#define sys_putc		_kernel_sys_putc
+
+/*
+ *  task.c
+ */
+#define runtsk			_kernel_runtsk
+#define schedtsk		_kernel_schedtsk
+#define reqflg			_kernel_reqflg
+#define enadsp			_kernel_enadsp
+#define ready_queue		_kernel_ready_queue
+#define ready_primap		_kernel_ready_primap
+#define task_initialize		_kernel_task_initialize
+#define search_schedtsk		_kernel_search_schedtsk
+#define make_runnable		_kernel_make_runnable
+#define make_non_runnable	_kernel_make_non_runnable
+#define make_dormant		_kernel_make_dormant
+#define make_active		_kernel_make_active
+#define exit_task		_kernel_exit_task
+#define change_priority		_kernel_change_priority
+#define rotate_ready_queue	_kernel_rotate_ready_queue
+#define call_texrtn		_kernel_call_texrtn
+#define calltex			_kernel_calltex
+
+/*
+ *  wait.c
+ */
+#define make_wait_tmout		_kernel_make_wait_tmout
+#define wait_complete		_kernel_wait_complete
+#define wait_tmout		_kernel_wait_tmout
+#define wait_tmout_ok		_kernel_wait_tmout_ok
+#define wait_cancel		_kernel_wait_cancel
+#define wait_release		_kernel_wait_release
+#define wobj_make_wait		_kernel_wobj_make_wait
+#define wobj_make_wait_tmout	_kernel_wobj_make_wait_tmout
+#define wobj_change_priority	_kernel_wobj_change_priority
+
+/*
+ *  time_event.c
+ */
+#define systim_offset		_kernel_systim_offset
+#define current_time		_kernel_current_time
+#define next_time		_kernel_next_time
+#define next_subtime		_kernel_next_subtime
+#define last_index		_kernel_last_index
+#define tmevt_initialize	_kernel_tmevt_initialize
+#define tmevt_up		_kernel_tmevt_up
+#define tmevt_down		_kernel_tmevt_down
+#define tmevtb_insert		_kernel_tmevtb_insert
+#define tmevtb_delete		_kernel_tmevtb_delete
+
+/*
+ *  syslog.c
+ */
+#define syslog_buffer		_kernel_syslog_buffer
+#define syslog_count		_kernel_syslog_count
+#define syslog_head		_kernel_syslog_head
+#define syslog_tail		_kernel_syslog_tail
+#define syslog_lost		_kernel_syslog_lost
+#define syslog_logmask		_kernel_syslog_logmask
+#define syslog_lowmask		_kernel_syslog_lowmask
+#define syslog_initialize	_kernel_syslog_initialize
+#define syslog_terminate	_kernel_syslog_terminate
+
+/*
+ *  semaphore.c
+ */
+#define semaphore_initialize	_kernel_semaphore_initialize
+
+/*
+ *  eventflag.c
+ */
+#define eventflag_initialize	_kernel_eventflag_initialize
+#define eventflag_cond		_kernel_eventflag_cond
+
+/*
+ *  dataqueue.c
+ */
+#define dataqueue_initialize	_kernel_dataqueue_initialize
+#define enqueue_data		_kernel_enqueue_data
+#define force_enqueue_data	_kernel_force_enqueue_data
+#define dequeue_data		_kernel_dequeue_data
+#define send_data_rwait		_kernel_send_data_rwait
+#define receive_data_swait	_kernel_receive_data_swait
+
+/*
+ *  mailbox.c
+ */
+#define mailbox_initialize	_kernel_mailbox_initialize
+
+/*
+ *  mempfix.c
+ */
+#define mempfix_initialize	_kernel_mempfix_initialize
+#define mempfix_get_block	_kernel_mempfix_get_block
+
+/*
+ *  cyclic.c
+ */
+#define cyclic_initialize	_kernel_cyclic_initialize
+#define tmevtb_enqueue_cyc	_kernel_tmevtb_enqueue_cyc
+#define call_cychdr		_kernel_call_cychdr
+
+/*
+ *  interrupt.c
+ */
+#define interrupt_initialize	_kernel_interrupt_initialize
+
+/*
+ *  exception.c
+ */
+#define exception_initialize	_kernel_exception_initialize
+
+/*
+ *  kernel_cfg.c
+ */
+#define object_initialize	_kernel_object_initialize
+#define call_inirtn		_kernel_call_inirtn
+#define call_terrtn		_kernel_call_terrtn
+#define tmax_tskid		_kernel_tmax_tskid
+#define tinib_table		_kernel_tinib_table
+#define torder_table		_kernel_torder_table
+#define tcb_table		_kernel_tcb_table
+#define tmax_semid		_kernel_tmax_semid
+#define seminib_table		_kernel_seminib_table
+#define semcb_table		_kernel_semcb_table
+#define tmax_flgid		_kernel_tmax_flgid
+#define flginib_table		_kernel_flginib_table
+#define flgcb_table		_kernel_flgcb_table
+#define tmax_dtqid		_kernel_tmax_dtqid
+#define dtqcb_table		_kernel_dtqcb_table
+#define dtqinib_table		_kernel_dtqinib_table
+#define tmax_mbxid		_kernel_tmax_mbxid
+#define mbxcb_table		_kernel_mbxcb_table
+#define mbxinib_table		_kernel_mbxinib_table
+#define tmax_mpfid		_kernel_tmax_mpfid
+#define mpfinib_table		_kernel_mpfinib_table
+#define mpfcb_table		_kernel_mpfcb_table
+#define tmax_cycid		_kernel_tmax_cycid
+#define cycinib_table		_kernel_cycinib_table
+#define cyccb_table		_kernel_cyccb_table
+#define tnum_inhno		_kernel_tnum_inhno
+#define inhinib_table		_kernel_inhinib_table
+#define tnum_excno		_kernel_tnum_excno
+#define excinib_table		_kernel_excinib_table
+#define tmevt_heap		_kernel_tmevt_heap
+
+#ifdef LABEL_ASM
+
+/*
+ *  startup.c
+ */
+#define _iniflg			__kernel_iniflg
+
+/*
+ *  banner.c
+ */
+#define _print_banner		__kernel_print_banner
+
+/*
+ *  cpu_config.c, cpu_support.S, sys_config.c, sys_support.S
+ */
+#define _dispatch		__kernel_dispatch
+#define _exit_and_dispatch	__kernel_exit_and_dispatch
+#define _cpu_initialize		__kernel_cpu_initialize
+#define _cpu_terminate		__kernel_cpu_terminate
+#define _sys_initialize		__kernel_sys_initialize
+#define _sys_exit		__kernel_sys_exit
+#define _sys_putc		__kernel_sys_putc
+
+/*
+ *  task.c
+ */
+#define _runtsk			__kernel_runtsk
+#define _schedtsk		__kernel_schedtsk
+#define _reqflg			__kernel_reqflg
+#define _enadsp			__kernel_enadsp
+#define _ready_queue		__kernel_ready_queue
+#define _ready_primap		__kernel_ready_primap
+#define _task_initialize	__kernel_task_initialize
+#define _search_schedtsk	__kernel_search_schedtsk
+#define _make_runnable		__kernel_make_runnable
+#define _make_non_runnable	__kernel_make_non_runnable
+#define _make_dormant		__kernel_make_dormant
+#define _make_active		__kernel_make_active
+#define _exit_task		__kernel_exit_task
+#define _change_priority	__kernel_change_priority
+#define _rotate_ready_queue	__kernel_rotate_ready_queue
+#define _call_texrtn		__kernel_call_texrtn
+#define _calltex		__kernel_calltex
+
+/*
+ *  wait.c
+ */
+#define _make_wait_tmout	__kernel_make_wait_tmout
+#define _wait_complete		__kernel_wait_complete
+#define _wait_tmout		__kernel_wait_tmout
+#define _wait_tmout_ok		__kernel_wait_tmout_ok
+#define _wait_cancel		__kernel_wait_cancel
+#define _wait_release		__kernel_wait_release
+#define _wobj_make_wait		__kernel_wobj_make_wait
+#define _wobj_make_wait_tmout	__kernel_wobj_make_wait_tmout
+#define _wobj_change_priority	__kernel_wobj_change_priority
+
+/*
+ *  time_event.c
+ */
+#define _systim_offset		__kernel_systim_offset
+#define _current_time		__kernel_current_time
+#define _next_time		__kernel_next_time
+#define _next_subtime		__kernel_next_subtime
+#define _last_index		__kernel_last_index
+#define _tmevt_initialize	__kernel_tmevt_initialize
+#define _tmevt_up		__kernel_tmevt_up
+#define _tmevt_down		__kernel_tmevt_down
+#define _tmevtb_insert		__kernel_tmevtb_insert
+#define _tmevtb_delete		__kernel_tmevtb_delete
+
+/*
+ *  syslog.c
+ */
+#define _syslog_buffer		__kernel_syslog_buffer
+#define _syslog_count		__kernel_syslog_count
+#define _syslog_head		__kernel_syslog_head
+#define _syslog_tail		__kernel_syslog_tail
+#define _syslog_lost		__kernel_syslog_lost
+#define _syslog_logmask		__kernel_syslog_logmask
+#define _syslog_lowmask		__kernel_syslog_lowmask
+#define _syslog_initialize	__kernel_syslog_initialize
+#define _syslog_terminate	__kernel_syslog_terminate
+
+/*
+ *  semaphore.c
+ */
+#define _semaphore_initialize	__kernel_semaphore_initialize
+
+/*
+ *  eventflag.c
+ */
+#define _eventflag_initialize	__kernel_eventflag_initialize
+#define _eventflag_cond		__kernel_eventflag_cond
+
+/*
+ *  dataqueue.c
+ */
+#define _dataqueue_initialize	__kernel_dataqueue_initialize
+#define _enqueue_data		__kernel_enqueue_data
+#define _force_enqueue_data	__kernel_force_enqueue_data
+#define _dequeue_data		__kernel_dequeue_data
+#define _send_data_rwait	__kernel_send_data_rwait
+#define _receive_data_swait	__kernel_receive_data_swait
+
+/*
+ *  mailbox.c
+ */
+#define _mailbox_initialize	__kernel_mailbox_initialize
+
+/*
+ *  mempfix.c
+ */
+#define _mempfix_initialize	__kernel_mempfix_initialize
+#define _mempfix_get_block	__kernel_mempfix_get_block
+
+/*
+ *  cyclic.c
+ */
+#define _cyclic_initialize	__kernel_cyclic_initialize
+#define _tmevtb_enqueue_cyc	__kernel_tmevtb_enqueue_cyc
+#define _call_cychdr		__kernel_call_cychdr
+
+/*
+ *  interrupt.c
+ */
+#define _interrupt_initialize	__kernel_interrupt_initialize
+
+/*
+ *  exception.c
+ */
+#define _exception_initialize	__kernel_exception_initialize
+
+/*
+ *  kernel_cfg.c
+ */
+#define _object_initialize	__kernel_object_initialize
+#define _call_inirtn		__kernel_call_inirtn
+#define _call_terrtn		__kernel_call_terrtn
+#define _tmax_tskid		__kernel_tmax_tskid
+#define _tinib_table		__kernel_tinib_table
+#define _torder_table		__kernel_torder_table
+#define _tcb_table		__kernel_tcb_table
+#define _tmax_semid		__kernel_tmax_semid
+#define _seminib_table		__kernel_seminib_table
+#define _semcb_table		__kernel_semcb_table
+#define _tmax_flgid		__kernel_tmax_flgid
+#define _flginib_table		__kernel_flginib_table
+#define _flgcb_table		__kernel_flgcb_table
+#define _tmax_dtqid		__kernel_tmax_dtqid
+#define _dtqcb_table		__kernel_dtqcb_table
+#define _dtqinib_table		__kernel_dtqinib_table
+#define _tmax_mbxid		__kernel_tmax_mbxid
+#define _mbxcb_table		__kernel_mbxcb_table
+#define _mbxinib_table		__kernel_mbxinib_table
+#define _tmax_mpfid		__kernel_tmax_mpfid
+#define _mpfinib_table		__kernel_mpfinib_table
+#define _mpfcb_table		__kernel_mpfcb_table
+#define _tmax_cycid		__kernel_tmax_cycid
+#define _cycinib_table		__kernel_cycinib_table
+#define _cyccb_table		__kernel_cyccb_table
+#define _tnum_inhno		__kernel_tnum_inhno
+#define _inhinib_table		__kernel_inhinib_table
+#define _tnum_excno		__kernel_tnum_excno
+#define _excinib_table		__kernel_excinib_table
+#define _tmevt_heap		__kernel_tmevt_heap
+
+#endif /* LABEL_ASM */
+#endif /* _JSP_RENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_unrename.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_unrename.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/jsp_unrename.h	(revision 26)
@@ -0,0 +1,339 @@
+/* This file is generated from jsp_rename.def by genrename. */
+
+#ifdef _JSP_UNRENAME_H_
+#undef _JSP_UNRENAME_H_
+
+/*
+ *  startup.c
+ */
+#undef iniflg
+
+/*
+ *  banner.c
+ */
+#undef print_banner
+
+/*
+ *  cpu_config.c, cpu_support.S, sys_config.c, sys_support.S
+ */
+#undef dispatch
+#undef exit_and_dispatch
+#undef cpu_initialize
+#undef cpu_terminate
+#undef sys_initialize
+#undef sys_exit
+#undef sys_putc
+
+/*
+ *  task.c
+ */
+#undef runtsk
+#undef schedtsk
+#undef reqflg
+#undef enadsp
+#undef ready_queue
+#undef ready_primap
+#undef task_initialize
+#undef search_schedtsk
+#undef make_runnable
+#undef make_non_runnable
+#undef make_dormant
+#undef make_active
+#undef exit_task
+#undef change_priority
+#undef rotate_ready_queue
+#undef call_texrtn
+#undef calltex
+
+/*
+ *  wait.c
+ */
+#undef make_wait_tmout
+#undef wait_complete
+#undef wait_tmout
+#undef wait_tmout_ok
+#undef wait_cancel
+#undef wait_release
+#undef wobj_make_wait
+#undef wobj_make_wait_tmout
+#undef wobj_change_priority
+
+/*
+ *  time_event.c
+ */
+#undef systim_offset
+#undef current_time
+#undef next_time
+#undef next_subtime
+#undef last_index
+#undef tmevt_initialize
+#undef tmevt_up
+#undef tmevt_down
+#undef tmevtb_insert
+#undef tmevtb_delete
+
+/*
+ *  syslog.c
+ */
+#undef syslog_buffer
+#undef syslog_count
+#undef syslog_head
+#undef syslog_tail
+#undef syslog_lost
+#undef syslog_logmask
+#undef syslog_lowmask
+#undef syslog_initialize
+#undef syslog_terminate
+
+/*
+ *  semaphore.c
+ */
+#undef semaphore_initialize
+
+/*
+ *  eventflag.c
+ */
+#undef eventflag_initialize
+#undef eventflag_cond
+
+/*
+ *  dataqueue.c
+ */
+#undef dataqueue_initialize
+#undef enqueue_data
+#undef force_enqueue_data
+#undef dequeue_data
+#undef send_data_rwait
+#undef receive_data_swait
+
+/*
+ *  mailbox.c
+ */
+#undef mailbox_initialize
+
+/*
+ *  mempfix.c
+ */
+#undef mempfix_initialize
+#undef mempfix_get_block
+
+/*
+ *  cyclic.c
+ */
+#undef cyclic_initialize
+#undef tmevtb_enqueue_cyc
+#undef call_cychdr
+
+/*
+ *  interrupt.c
+ */
+#undef interrupt_initialize
+
+/*
+ *  exception.c
+ */
+#undef exception_initialize
+
+/*
+ *  kernel_cfg.c
+ */
+#undef object_initialize
+#undef call_inirtn
+#undef call_terrtn
+#undef tmax_tskid
+#undef tinib_table
+#undef torder_table
+#undef tcb_table
+#undef tmax_semid
+#undef seminib_table
+#undef semcb_table
+#undef tmax_flgid
+#undef flginib_table
+#undef flgcb_table
+#undef tmax_dtqid
+#undef dtqcb_table
+#undef dtqinib_table
+#undef tmax_mbxid
+#undef mbxcb_table
+#undef mbxinib_table
+#undef tmax_mpfid
+#undef mpfinib_table
+#undef mpfcb_table
+#undef tmax_cycid
+#undef cycinib_table
+#undef cyccb_table
+#undef tnum_inhno
+#undef inhinib_table
+#undef tnum_excno
+#undef excinib_table
+#undef tmevt_heap
+
+#ifdef LABEL_ASM
+
+/*
+ *  startup.c
+ */
+#undef _iniflg
+
+/*
+ *  banner.c
+ */
+#undef _print_banner
+
+/*
+ *  cpu_config.c, cpu_support.S, sys_config.c, sys_support.S
+ */
+#undef _dispatch
+#undef _exit_and_dispatch
+#undef _cpu_initialize
+#undef _cpu_terminate
+#undef _sys_initialize
+#undef _sys_exit
+#undef _sys_putc
+
+/*
+ *  task.c
+ */
+#undef _runtsk
+#undef _schedtsk
+#undef _reqflg
+#undef _enadsp
+#undef _ready_queue
+#undef _ready_primap
+#undef _task_initialize
+#undef _search_schedtsk
+#undef _make_runnable
+#undef _make_non_runnable
+#undef _make_dormant
+#undef _make_active
+#undef _exit_task
+#undef _change_priority
+#undef _rotate_ready_queue
+#undef _call_texrtn
+#undef _calltex
+
+/*
+ *  wait.c
+ */
+#undef _make_wait_tmout
+#undef _wait_complete
+#undef _wait_tmout
+#undef _wait_tmout_ok
+#undef _wait_cancel
+#undef _wait_release
+#undef _wobj_make_wait
+#undef _wobj_make_wait_tmout
+#undef _wobj_change_priority
+
+/*
+ *  time_event.c
+ */
+#undef _systim_offset
+#undef _current_time
+#undef _next_time
+#undef _next_subtime
+#undef _last_index
+#undef _tmevt_initialize
+#undef _tmevt_up
+#undef _tmevt_down
+#undef _tmevtb_insert
+#undef _tmevtb_delete
+
+/*
+ *  syslog.c
+ */
+#undef _syslog_buffer
+#undef _syslog_count
+#undef _syslog_head
+#undef _syslog_tail
+#undef _syslog_lost
+#undef _syslog_logmask
+#undef _syslog_lowmask
+#undef _syslog_initialize
+#undef _syslog_terminate
+
+/*
+ *  semaphore.c
+ */
+#undef _semaphore_initialize
+
+/*
+ *  eventflag.c
+ */
+#undef _eventflag_initialize
+#undef _eventflag_cond
+
+/*
+ *  dataqueue.c
+ */
+#undef _dataqueue_initialize
+#undef _enqueue_data
+#undef _force_enqueue_data
+#undef _dequeue_data
+#undef _send_data_rwait
+#undef _receive_data_swait
+
+/*
+ *  mailbox.c
+ */
+#undef _mailbox_initialize
+
+/*
+ *  mempfix.c
+ */
+#undef _mempfix_initialize
+#undef _mempfix_get_block
+
+/*
+ *  cyclic.c
+ */
+#undef _cyclic_initialize
+#undef _tmevtb_enqueue_cyc
+#undef _call_cychdr
+
+/*
+ *  interrupt.c
+ */
+#undef _interrupt_initialize
+
+/*
+ *  exception.c
+ */
+#undef _exception_initialize
+
+/*
+ *  kernel_cfg.c
+ */
+#undef _object_initialize
+#undef _call_inirtn
+#undef _call_terrtn
+#undef _tmax_tskid
+#undef _tinib_table
+#undef _torder_table
+#undef _tcb_table
+#undef _tmax_semid
+#undef _seminib_table
+#undef _semcb_table
+#undef _tmax_flgid
+#undef _flginib_table
+#undef _flgcb_table
+#undef _tmax_dtqid
+#undef _dtqcb_table
+#undef _dtqinib_table
+#undef _tmax_mbxid
+#undef _mbxcb_table
+#undef _mbxinib_table
+#undef _tmax_mpfid
+#undef _mpfinib_table
+#undef _mpfcb_table
+#undef _tmax_cycid
+#undef _cycinib_table
+#undef _cyccb_table
+#undef _tnum_inhno
+#undef _inhinib_table
+#undef _tnum_excno
+#undef _excinib_table
+#undef _tmevt_heap
+
+#endif /* LABEL_ASM */
+#endif /* _JSP_UNRENAME_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.c	(revision 26)
@@ -0,0 +1,320 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mailbox.c,v 1.8 2003/07/01 13:31:08 hiro Exp $
+ */
+
+/*
+ *	ã¡ã¼ã«ããã¯ã¹æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+#include "mailbox.h"
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_mbxid;
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const MBXINIB	mbxinib_table[];
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern MBXCB	mbxcb_table[];
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ã®æ°
+ */
+#define TNUM_MBX	((UINT)(tmax_mbxid - TMIN_MBXID + 1))
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹IDããã¡ã¼ã«ããã¯ã¹ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_MBX(mbxid)	((UINT)((mbxid) - TMIN_MBXID))
+#define get_mbxcb(mbxid)	(&(mbxcb_table[INDEX_MBX(mbxid)]))
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹å¾
+ã¡æ
+å ±ãã­ãã¯ã®å®ç¾©
+ */
+typedef struct mailbox_waiting_information {
+	WINFO	winfo;		/* æ¨æºã®å¾
+ã¡æ
+å ±ãã­ãã¯ */
+	WOBJCB	*wobjcb;	/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+	T_MSG	*pk_msg;	/* åä¿¡ããã¡ãã»ã¼ã¸ */
+} WINFO_MBX;
+
+/* 
+ *  ã¡ã¼ã«ããã¯ã¹æ©è½ã®åæå
+ */
+#ifdef __mbxini
+
+void
+mailbox_initialize()
+{
+	UINT	i;
+	MBXCB	*mbxcb;
+
+	for (mbxcb = mbxcb_table, i = 0; i < TNUM_MBX; mbxcb++, i++) {
+		queue_initialize(&(mbxcb->wait_queue));
+		mbxcb->mbxinib = &(mbxinib_table[i]);
+		mbxcb->head = NULL;
+	}
+}
+
+#endif /* __mbxini */
+
+/*
+ *  ã¡ãã»ã¼ã¸åªå
+åº¦ã®ååºã
+ */
+#define	MSGPRI(pk_msg)	(((T_MSG_PRI *) pk_msg)->msgpri)
+
+/*
+ *  åªå
+åº¦é ã¡ãã»ã¼ã¸ã­ã¥ã¼ã¸ã®æ¿å
+¥
+ */
+Inline void
+enqueue_msg_pri(T_MSG **p_prevmsg_next, T_MSG *pk_msg)
+{
+	T_MSG	*pk_nextmsg;
+
+	while ((pk_nextmsg = *p_prevmsg_next) != NULL) {
+		if (MSGPRI(pk_nextmsg) > MSGPRI(pk_msg)) {
+			break;
+		}
+		p_prevmsg_next = &(pk_nextmsg->next);
+	}
+	pk_msg->next = pk_nextmsg;
+	*p_prevmsg_next = pk_msg;
+}
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ã¸ã®éä¿¡
+ */
+#ifdef __snd_mbx
+
+SYSCALL ER
+snd_mbx(ID mbxid, T_MSG *pk_msg)
+{
+	MBXCB	*mbxcb;
+	TCB	*tcb;
+	ER	ercd;
+    
+	LOG_SND_MBX_ENTER(mbxid, pk_msg);
+	CHECK_TSKCTX_UNL();
+	CHECK_MBXID(mbxid);
+	mbxcb = get_mbxcb(mbxid);
+	CHECK_PAR((mbxcb->mbxinib->mbxatr & TA_MPRI) == 0
+		|| (TMIN_MPRI <= MSGPRI(pk_msg)
+			&& MSGPRI(pk_msg) <= mbxcb->mbxinib->maxmpri));
+
+	t_lock_cpu();
+	if (!(queue_empty(&(mbxcb->wait_queue)))) {
+		tcb = (TCB *) queue_delete_next(&(mbxcb->wait_queue));
+		((WINFO_MBX *)(tcb->winfo))->pk_msg = pk_msg;
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if ((mbxcb->mbxinib->mbxatr & TA_MPRI) != 0) {
+		enqueue_msg_pri(&(mbxcb->head), pk_msg);
+		ercd = E_OK;
+	}
+	else {
+		pk_msg->next = NULL;
+		if (mbxcb->head != NULL) {
+			mbxcb->last->next = pk_msg;
+		}
+		else {
+			mbxcb->head = pk_msg;
+		}
+		mbxcb->last = pk_msg;
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_SND_MBX_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __snd_mbx */
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡
+ */
+#ifdef __rcv_mbx
+
+SYSCALL ER
+rcv_mbx(ID mbxid, T_MSG **ppk_msg)
+{
+	MBXCB	*mbxcb;
+	WINFO_MBX winfo;
+	ER	ercd;
+    
+	LOG_RCV_MBX_ENTER(mbxid, ppk_msg);
+	CHECK_DISPATCH();
+	CHECK_MBXID(mbxid);
+	mbxcb = get_mbxcb(mbxid);
+    
+	t_lock_cpu();
+	if (mbxcb->head != NULL) {
+		*ppk_msg = mbxcb->head;
+		mbxcb->head = (*ppk_msg)->next;
+		ercd = E_OK;
+	}
+	else {
+		wobj_make_wait((WOBJCB *) mbxcb, (WINFO_WOBJ *) &winfo);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*ppk_msg = winfo.pk_msg;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_RCV_MBX_LEAVE(ercd, *ppk_msg);
+	return(ercd);
+}
+
+#endif /* __rcv_mbx */
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __prcv_mbx
+
+SYSCALL ER
+prcv_mbx(ID mbxid, T_MSG **ppk_msg)
+{
+	MBXCB	*mbxcb;
+	ER	ercd;
+    
+	LOG_PRCV_MBX_ENTER(mbxid, ppk_msg);
+	CHECK_TSKCTX_UNL();
+	CHECK_MBXID(mbxid);
+	mbxcb = get_mbxcb(mbxid);
+    
+	t_lock_cpu();
+	if (mbxcb->head != NULL) {
+		*ppk_msg = mbxcb->head;
+		mbxcb->head = (*ppk_msg)->next;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_PRCV_MBX_LEAVE(ercd, *ppk_msg);
+	return(ercd);
+}
+
+#endif /* __prcv_mbx */
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __trcv_mbx
+
+SYSCALL ER
+trcv_mbx(ID mbxid, T_MSG **ppk_msg, TMO tmout)
+{
+	MBXCB	*mbxcb;
+	WINFO_MBX winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+    
+	LOG_TRCV_MBX_ENTER(mbxid, ppk_msg, tmout);
+	CHECK_DISPATCH();
+	CHECK_MBXID(mbxid);
+	CHECK_TMOUT(tmout);
+	mbxcb = get_mbxcb(mbxid);
+    
+	t_lock_cpu();
+	if (mbxcb->head != NULL) {
+		*ppk_msg = mbxcb->head;
+		mbxcb->head = (*ppk_msg)->next;
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		wobj_make_wait_tmout((WOBJCB *) mbxcb, (WINFO_WOBJ *) &winfo,
+						&tmevtb, tmout);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*ppk_msg = winfo.pk_msg;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TRCV_MBX_LEAVE(ercd, *ppk_msg);
+	return(ercd);
+}
+
+#endif /* __trcv_mbx */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mailbox.h	(revision 26)
@@ -0,0 +1,91 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mailbox.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã¡ã¼ã«ããã¯ã¹æ©è½
+ */
+
+#ifndef _MAILBOX_H_
+#define _MAILBOX_H_
+
+#include "queue.h"
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹åæåãã­ãã¯
+ */
+typedef struct mailbox_initialization_block {
+	ATR	mbxatr;		/* ã¡ã¼ã«ããã¯ã¹å±æ§ */
+	PRI	maxmpri;	/* ã¡ãã»ã¼ã¸åªå
+åº¦ã®æå¤§å¤ */
+} MBXINIB;
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹ç®¡çãã­ãã¯
+ *
+ *  ã¡ãã»ã¼ã¸ã­ã¥ã¼ãã¡ãã»ã¼ã¸ã®åªå
+åº¦é ã®å ´åã«ã¯ï¼last ã¯ä½¿ããªãï¼
+ */
+typedef struct mailbox_control_block {
+	QUEUE	wait_queue;	/* ã¡ã¼ã«ããã¯ã¹å¾
+ã¡ã­ã¥ã¼ */
+	const MBXINIB *mbxinib;	/* ã¡ã¼ã«ããã¯ã¹åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	T_MSG	*head;		/* å
+é ­ã®ã¡ãã»ã¼ã¸ */
+	T_MSG	*last;		/* æ«å°¾ã®ã¡ãã»ã¼ã¸ */
+} MBXCB;
+
+/*
+ *  ã¡ã¼ã«ããã¯ã¹æ©è½ã®åæå
+ */
+extern void	mailbox_initialize(void);
+
+#endif /* _MAILBOX_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.c	(revision 26)
@@ -0,0 +1,312 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mempfix.c,v 1.12 2005/11/12 14:55:23 hiro Exp $
+ */
+
+/*
+ *	åºå®é·ã¡ã¢ãªãã¼ã«æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+#include "mempfix.h"
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_mpfid;
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const MPFINIB	mpfinib_table[];
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern MPFCB	mpfcb_table[];
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«ã®æ°
+ */
+#define TNUM_MPF	((UINT)(tmax_mpfid - TMIN_MPFID + 1))
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«IDããåºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ãåãåºãã
+ *  ãã®ãã¯ã­
+ */
+#define INDEX_MPF(mpfid)	((UINT)((mpfid) - TMIN_MPFID))
+#define get_mpfcb(mpfid)	(&(mpfcb_table[INDEX_MPF(mpfid)]))
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«å¾
+ã¡æ
+å ±ãã­ãã¯ã®å®ç¾©
+ */
+typedef struct fixed_memorypool_waiting_information {
+	WINFO	winfo;		/* æ¨æºã®å¾
+ã¡æ
+å ±ãã­ãã¯ */
+	WOBJCB	*wobjcb;	/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+	VP	blk;		/* ç²å¾ããã¡ã¢ãªãã­ãã¯ */
+} WINFO_MPF;
+
+/* 
+ *  åºå®é·ã¡ã¢ãªãã¼ã«æ©è½ã®åæå
+ */
+#ifdef __mpfini
+
+void
+mempfix_initialize()
+{
+	UINT	i;
+	MPFCB	*mpfcb;
+
+	for (mpfcb = mpfcb_table, i = 0; i < TNUM_MPF; mpfcb++, i++) {
+		queue_initialize(&(mpfcb->wait_queue));
+		mpfcb->mpfinib = &(mpfinib_table[i]);
+		mpfcb->unused = mpfcb->mpfinib->mpf;
+		mpfcb->freelist = NULL;
+	}
+}
+
+#endif /* __mpfini */
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«ãããã­ãã¯ãç²å¾
+ */
+#ifdef __mpfget
+
+BOOL
+mempfix_get_block(MPFCB *mpfcb, VP *p_blk)
+{
+	FREEL	*free;
+
+	if (mpfcb->freelist != NULL) {
+		free = mpfcb->freelist;
+		mpfcb->freelist = free->next;
+		*p_blk = (VP) free;
+		return(TRUE);
+	}
+	else if (mpfcb->unused < mpfcb->mpfinib->limit) {
+		*p_blk = mpfcb->unused;
+		mpfcb->unused = (VP)((char *)(mpfcb->unused)
+						+ mpfcb->mpfinib->blksz);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+#endif /* __mpfget */
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾
+ */
+#ifdef __get_mpf
+
+SYSCALL ER
+get_mpf(ID mpfid, VP *p_blk)
+{
+	MPFCB	*mpfcb;
+	WINFO_MPF winfo;
+	ER	ercd;
+
+	LOG_GET_MPF_ENTER(mpfid, p_blk);
+	CHECK_DISPATCH();
+	CHECK_MPFID(mpfid);
+	mpfcb = get_mpfcb(mpfid);
+
+	t_lock_cpu();
+	if (mempfix_get_block(mpfcb, p_blk)) {
+		ercd = E_OK;
+	}
+	else {
+		wobj_make_wait((WOBJCB *) mpfcb, (WINFO_WOBJ *) &winfo);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_blk = winfo.blk;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_MPF_LEAVE(ercd, *p_blk);
+	return(ercd);
+}
+
+#endif /* __get_mpf */
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __pget_mpf
+
+SYSCALL ER
+pget_mpf(ID mpfid, VP *p_blk)
+{
+	MPFCB	*mpfcb;
+	ER	ercd;
+
+	LOG_PGET_MPF_ENTER(mpfid, p_blk);
+	CHECK_TSKCTX_UNL();
+	CHECK_MPFID(mpfid);
+	mpfcb = get_mpfcb(mpfid);
+
+	t_lock_cpu();
+	if (mempfix_get_block(mpfcb, p_blk)) {
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_PGET_MPF_LEAVE(ercd, *p_blk);
+	return(ercd);
+}
+
+#endif /* __pget_mpf */
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __tget_mpf
+
+SYSCALL ER
+tget_mpf(ID mpfid, VP *p_blk, TMO tmout)
+{
+	MPFCB	*mpfcb;
+	WINFO_MPF winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+
+	LOG_TGET_MPF_ENTER(mpfid, p_blk, tmout);
+	CHECK_DISPATCH();
+	CHECK_MPFID(mpfid);
+	CHECK_TMOUT(tmout);
+	mpfcb = get_mpfcb(mpfid);
+
+	t_lock_cpu();
+	if (mempfix_get_block(mpfcb, p_blk)) {
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		wobj_make_wait_tmout((WOBJCB *) mpfcb, (WINFO_WOBJ *) &winfo,
+						&tmevtb, tmout);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+		if (ercd == E_OK) {
+			*p_blk = winfo.blk;
+		}
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TGET_MPF_LEAVE(ercd, *p_blk);
+	return(ercd);
+}
+
+#endif /* __tget_mpf */
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®è¿å´
+ */
+#ifdef __rel_mpf
+
+SYSCALL ER
+rel_mpf(ID mpfid, VP blk)
+{
+	MPFCB	*mpfcb;
+	TCB	*tcb;
+	FREEL	*free;
+	ER	ercd;
+    
+	LOG_REL_MPF_ENTER(mpfid, blk);
+	CHECK_TSKCTX_UNL();
+	CHECK_MPFID(mpfid);
+	mpfcb = get_mpfcb(mpfid);
+	CHECK_PAR(mpfcb->mpfinib->mpf <= blk
+			&& blk < mpfcb->mpfinib->limit
+			&& ((char *)(blk) - (char *)(mpfcb->mpfinib->mpf))
+					% mpfcb->mpfinib->blksz == 0);
+
+	t_lock_cpu();
+	if (!(queue_empty(&(mpfcb->wait_queue)))) {
+		tcb = (TCB *) queue_delete_next(&(mpfcb->wait_queue));
+		((WINFO_MPF *)(tcb->winfo))->blk = blk;
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else {
+		free = (FREEL *) blk;
+		free->next = mpfcb->freelist;
+		mpfcb->freelist = free;
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_REL_MPF_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __rel_mpf */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/mempfix.h	(revision 26)
@@ -0,0 +1,102 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: mempfix.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	åºå®é·ã¡ã¢ãªãã¼ã«æ©è½
+ */
+
+#ifndef _MEMPFIX_H_
+#define _MEMPFIX_H_
+
+#include "queue.h"
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯
+ */
+typedef struct fixed_memorypool_initialization_block {
+	ATR	mpfatr;		/* åºå®é·ã¡ã¢ãªãã¼ã«å±æ§ */
+	UINT	blksz;		/* ã¡ã¢ãªãã­ãã¯ã®ãµã¤ãºï¼ä¸¸ããå¤ï¼ */
+	VP	mpf;		/* åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
+é ­çªå° */
+	VP	limit;		/* åºå®é·ã¡ã¢ãªãã¼ã«é åã®ä¸éçªå° */
+} MPFINIB;
+
+/*
+ *  ç©ºãã­ãã¯ãªã¹ãã®å®ç¾©
+ */
+typedef struct free_list {
+	struct free_list *next;
+} FREEL;
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯
+ */
+typedef struct fixed_memorypool_control_block {
+	QUEUE	wait_queue;	/* åºå®é·ã¡ã¢ãªãã¼ã«å¾
+ã¡ã­ã¥ã¼ */
+	const MPFINIB *mpfinib;	/* åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯ */
+	VP	unused;		/* æªä½¿ç¨é åã®å
+é ­çªå° */
+	FREEL	*freelist;	/* ç©ºããã­ãã¯ã®ãªã¹ã */
+} MPFCB;
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«æ©è½ã®åæå
+ */
+extern void	mempfix_initialize(void);
+
+/*
+ *  åºå®é·ã¡ã¢ãªãã¼ã«ãããã­ãã¯ãç²å¾
+ */
+extern BOOL	mempfix_get_block(MPFCB *mpfcb, VP *p_blk);
+
+#endif /* _MEMPFIX_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/queue.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/queue.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/queue.h	(revision 26)
@@ -0,0 +1,154 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: queue.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã­ã¥ã¼æä½ã©ã¤ãã©ãª
+ *
+ *  ãã®ã­ã¥ã¼æä½ã©ã¤ãã©ãªã§ã¯ï¼ã­ã¥ã¼ããããå«ããªã³ã°æ§é ã®ããã«
+ *  ãªã³ã¯ã­ã¥ã¼ãæ±ãï¼å
+·ä½çã«ã¯ï¼ã­ã¥ã¼ãããã®æ¬¡ã¨ã³ããªã¯ã­ã¥ã¼ã®
+ *  å
+é ­ã®ã¨ã³ããªï¼åã¨ã³ããªã¯ã­ã¥ã¼ã®æ«å°¾ã®ã¨ã³ããªã¨ããï¼ã¾ãï¼ã­
+ *  ã¥ã¼ã®å
+é ­ã®ã¨ã³ããªã®åã¨ã³ããªã¨ï¼ã­ã¥ã¼ã®æ«å°¾ã®ã¨ã³ããªã®æ¬¡ã¨ã³
+ *  ããªã¯ï¼ã­ã¥ã¼ãããã¨ããï¼ç©ºã®ã­ã¥ã¼ã¯ï¼æ¬¡ã¨ã³ããªï¼åã¨ã³ããªã¨
+ *  ãèªåèªèº«ãæãã­ã¥ã¼ãããã§ããããï¼
+ */
+
+#ifndef	_QUEUE_H_
+#define	_QUEUE_H_
+
+/*
+ *  ã­ã¥ã¼ã®ãã¼ã¿æ§é ã®å®ç¾©
+ */
+typedef struct queue {
+	struct queue *next;		/* æ¬¡ã¨ã³ããªã¸ã®ãã¤ã³ã¿ */
+	struct queue *prev;		/* åã¨ã³ããªã¸ã®ãã¤ã³ã¿ */
+} QUEUE;
+
+/*
+ *  ã­ã¥ã¼ã®åæå
+ *
+ *  queue ã«ã¯ã­ã¥ã¼ããããæå®ããï¼
+ */
+Inline void
+queue_initialize(QUEUE *queue)
+{
+	queue->prev = queue->next = queue;
+}
+
+/*
+ *  ã­ã¥ã¼ã®åã¨ã³ããªã¸ã®æ¿å
+¥
+ *
+ *  queue ã®åã« entry ãæ¿å
+¥ããï¼queue ã«ã­ã¥ã¼ããããæå®ããå ´å
+ *  ã«ã¯ï¼ã­ã¥ã¼ã®æ«å°¾ã« entry ãæ¿å
+¥ãããã¨ã«ãªãï¼
+ */
+Inline void
+queue_insert_prev(QUEUE *queue, QUEUE *entry)
+{
+	entry->prev = queue->prev;
+	entry->next = queue;
+	queue->prev->next = entry;
+	queue->prev = entry;
+}
+
+/*
+ *  ã¨ã³ããªã®åé¤
+ *
+ *  entry ãã­ã¥ã¼ããåé¤ããï¼
+ */
+Inline void
+queue_delete(QUEUE *entry)
+{
+	entry->prev->next = entry->next;
+	entry->next->prev = entry->prev;
+}
+
+/*
+ *  ã­ã¥ã¼ã®æ¬¡ã¨ã³ããªã®ååºã
+ *
+ *  queue ã®æ¬¡ã¨ã³ããªãã­ã¥ã¼ããåé¤ãï¼åé¤ããã¨ã³ããªãè¿ãï¼queue
+ *  ã«ã­ã¥ã¼ããããæå®ããå ´åã«ã¯ï¼ã­ã¥ã¼ã®å
+é ­ã®ã¨ã³ããªãåãåºã
+ *  ãã¨ã«ãªãï¼queue ã«ç©ºã®ã­ã¥ã¼ãæå®ãã¦å¼ã³åºãã¦ã¯ãªããªãï¼
+ */
+Inline QUEUE *
+queue_delete_next(QUEUE *queue)
+{
+	QUEUE	*entry;
+
+	assert(queue->next != queue);
+	entry = queue->next;
+	queue->next = entry->next;
+	entry->next->prev = queue;
+	return(entry);
+}
+
+/*
+ *  ã­ã¥ã¼ãç©ºãã©ããã®ãã§ãã¯
+ *
+ *  queue ã«ã¯ã­ã¥ã¼ããããæå®ããï¼
+ */
+Inline BOOL
+queue_empty(QUEUE *queue)
+{
+	if (queue->next == queue) {
+		assert(queue->prev == queue);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+#endif /* _QUEUE_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.c	(revision 26)
@@ -0,0 +1,299 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: semaphore.c,v 1.6 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã»ããã©æ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+#include "semaphore.h"
+
+/*
+ *  ã»ããã©IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_semid;
+
+/*
+ *  ã»ããã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const SEMINIB	seminib_table[];
+
+/*
+ *  ã»ããã©ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern SEMCB	semcb_table[];
+
+/*
+ *  ã»ããã©ã®æ°
+ */
+#define TNUM_SEM	((UINT)(tmax_semid - TMIN_SEMID + 1))
+
+/*
+ *  ã»ããã©IDããã»ããã©ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SEM(semid)	((UINT)((semid) - TMIN_SEMID))
+#define get_semcb(semid)	(&(semcb_table[INDEX_SEM(semid)]))
+
+/* 
+ *  ã»ããã©æ©è½ã®åæå
+ */
+#ifdef __semini
+
+void
+semaphore_initialize()
+{
+	UINT	i;
+	SEMCB	*semcb;
+
+	for (semcb = semcb_table, i = 0; i < TNUM_SEM; semcb++, i++) {
+		queue_initialize(&(semcb->wait_queue));
+		semcb->seminib = &(seminib_table[i]);
+		semcb->semcnt = semcb->seminib->isemcnt;
+	}
+}
+
+#endif /* __semini */
+
+/*
+ *  ã»ããã©è³æºã®è¿å´
+ */
+#ifdef __sig_sem
+
+SYSCALL ER
+sig_sem(ID semid)
+{
+	SEMCB	*semcb;
+	TCB	*tcb;
+	ER	ercd;
+    
+	LOG_SIG_SEM_ENTER(semid);
+	CHECK_TSKCTX_UNL();
+	CHECK_SEMID(semid);
+	semcb = get_semcb(semid);
+
+	t_lock_cpu();
+	if (!(queue_empty(&(semcb->wait_queue)))) {
+		tcb = (TCB *) queue_delete_next(&(semcb->wait_queue));
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (semcb->semcnt < semcb->seminib->maxsem) {
+		semcb->semcnt += 1;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_SIG_SEM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __sig_sem */
+
+/*
+ *  ã»ããã©è³æºã®è¿å´ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __isig_sem
+
+SYSCALL ER
+isig_sem(ID semid)
+{
+	SEMCB	*semcb;
+	TCB	*tcb;
+	ER	ercd;
+    
+	LOG_ISIG_SEM_ENTER(semid);
+	CHECK_INTCTX_UNL();
+	CHECK_SEMID(semid);
+	semcb = get_semcb(semid);
+
+	i_lock_cpu();
+	if (!queue_empty(&(semcb->wait_queue))) {
+		tcb = (TCB *) queue_delete_next(&(semcb->wait_queue));
+		if (wait_complete(tcb)) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	else if (semcb->semcnt < semcb->seminib->maxsem) {
+		semcb->semcnt += 1;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_ISIG_SEM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __isig_sem */
+
+/*
+ *  ã»ããã©è³æºã®ç²å¾
+ */
+#ifdef __wai_sem
+
+SYSCALL ER
+wai_sem(ID semid)
+{
+	SEMCB	*semcb;
+	WINFO_WOBJ winfo;
+	ER	ercd;
+
+	LOG_WAI_SEM_ENTER(semid);
+	CHECK_DISPATCH();
+	CHECK_SEMID(semid);
+	semcb = get_semcb(semid);
+
+	t_lock_cpu();
+	if (semcb->semcnt >= 1) {
+		semcb->semcnt -= 1;
+		ercd = E_OK;
+	}
+	else {
+		wobj_make_wait((WOBJCB *) semcb, &winfo);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_WAI_SEM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __wai_sem */
+
+/*
+ *  ã»ããã©è³æºã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+ */
+#ifdef __pol_sem
+
+SYSCALL ER
+pol_sem(ID semid)
+{
+	SEMCB	*semcb;
+	ER	ercd;
+
+	LOG_POL_SEM_ENTER(semid);
+	CHECK_TSKCTX_UNL();
+	CHECK_SEMID(semid);
+	semcb = get_semcb(semid);
+
+	t_lock_cpu();
+	if (semcb->semcnt >= 1) {
+		semcb->semcnt -= 1;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_TMOUT;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_POL_SEM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __pol_sem */
+
+/*
+ *  ã»ããã©è³æºã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __twai_sem
+
+SYSCALL ER
+twai_sem(ID semid, TMO tmout)
+{
+	SEMCB	*semcb;
+	WINFO_WOBJ winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+
+	LOG_TWAI_SEM_ENTER(semid, tmout);
+	CHECK_DISPATCH();
+	CHECK_SEMID(semid);
+	CHECK_TMOUT(tmout);
+	semcb = get_semcb(semid);
+
+	t_lock_cpu();
+	if (semcb->semcnt >= 1) {
+		semcb->semcnt -= 1;
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		wobj_make_wait_tmout((WOBJCB *) semcb, &winfo, &tmevtb, tmout);
+		dispatch();
+		ercd = winfo.winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TWAI_SEM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __twai_sem */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/semaphore.h	(revision 26)
@@ -0,0 +1,86 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: semaphore.h,v 1.5 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã»ããã©æ©è½
+ */
+
+#ifndef _SEMAPHORE_H_
+#define _SEMAPHORE_H_
+
+#include "queue.h"
+
+/*
+ *  ã»ããã©åæåãã­ãã¯
+ */
+typedef struct semaphore_initialization_block {
+	ATR	sematr;		/* ã»ããã©å±æ§ */
+	UINT	isemcnt;	/* ã»ããã©ã®è³æºæ°ã®åæå¤ */
+	UINT	maxsem;		/* ã»ããã©ã®æå¤§è³æºæ° */
+} SEMINIB;
+
+/*
+ *  ã»ããã©ç®¡çãã­ãã¯
+ */
+typedef struct semaphore_control_block {
+	QUEUE	wait_queue;	/* ã»ããã©å¾
+ã¡ã­ã¥ã¼ */
+	const SEMINIB *seminib;	/* ã»ããã©åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	UINT	semcnt;		/* ã»ããã©ç¾å¨ã«ã¦ã³ãå¤ */
+} SEMCB;
+
+/*
+ *  ã»ããã©æ©è½ã®åæå
+ */
+extern void	semaphore_initialize(void);
+
+#endif /* _SEMAPHORE_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/startup.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/startup.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/startup.c	(revision 26)
@@ -0,0 +1,152 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: startup.c,v 1.7 2003/12/13 05:09:54 hiro Exp $
+ */
+
+/*
+ *	ã«ã¼ãã«ã®åæåã¨çµäºå¦ç
+ */
+
+#include "jsp_kernel.h"
+#include "time_event.h"
+#include "syslog.h"
+
+/*
+ *  ã«ã¼ãã«åä½ç¶æ
+ãã©ã°
+ */
+BOOL	iniflg;
+
+/*
+ *  ã«ã¼ãã«ã®åæå
+ */
+void
+kernel_start()
+{
+	/*
+	 *  ã¿ã¼ã²ããä¾å­ã®åæå
+	 */
+	cpu_initialize();
+	sys_initialize();
+	tool_initialize();
+
+	/*
+	 *  ã·ã¹ãã ã­ã°æ©è½ã®åæå
+	 */
+	syslog_initialize();
+
+	/*
+	 *  èµ·åã¡ãã»ã¼ã¸ã®è¡¨ç¤º
+	 */
+	print_banner();
+
+	/*
+	 *  åã¢ã¸ã¥ã¼ã«ã®åæå
+	 *
+	 *  ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«ã¯ä»ã®ã¢ã¸ã¥ã¼ã«ããå
+ã«åæå
+	 *  ããå¿
+è¦ãããï¼
+	 */
+	tmevt_initialize();
+	object_initialize();
+
+	/*
+	 *  åæåã«ã¼ãã³ã®å®è¡
+	 */ 
+	call_inirtn();
+
+	/*
+	 *  ã«ã¼ãã«åä½ã®éå§
+	 */
+	iniflg = TRUE;
+	exit_and_dispatch();
+}
+
+/*
+ *  ã«ã¼ãã«ã®çµäºå¦ç
+ */
+void
+kernel_exit()
+{
+	/*
+	 *  å²è¾¼ã¿ãç¦æ­¢
+	 */
+	if (!sense_lock()) {
+		if (sense_context()) {
+			i_lock_cpu();
+		}
+		else  {
+			t_lock_cpu();
+		}
+	}
+	iniflg = FALSE;
+
+	/*
+	 *  çµäºå¦çã«ã¼ãã³ã®å®è¡
+	 */
+	call_terrtn();
+
+	/*
+	 *  atexit ã®å¦çã¨ãã¹ãã©ã¯ã¿ã®å®è¡
+	 */
+	call_atexit();
+
+	/*
+	 *  ã·ã¹ãã ã­ã°æ©è½ã®çµäºå¦ç
+	 */
+	syslog_terminate();
+
+	/*
+	 *  ã¿ã¼ã²ããä¾å­ã®çµäºå¦ç
+	 */
+	cpu_terminate();
+	sys_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/sys_manage.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/sys_manage.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/sys_manage.c	(revision 26)
@@ -0,0 +1,444 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sys_manage.c,v 1.8 2003/07/01 13:30:35 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ç¶æ
+ç®¡çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ã®åªå
+é ä½ã®åè»¢
+ */
+#ifdef __rot_rdq
+
+SYSCALL ER
+rot_rdq(PRI tskpri)
+{
+	UINT	pri;
+	ER	ercd;
+
+	LOG_ROT_RDQ_ENTER(tskpri);
+	CHECK_TSKCTX_UNL();
+	CHECK_TPRI_SELF(tskpri);
+
+	t_lock_cpu();
+	pri = (tskpri == TPRI_SELF) ? runtsk->priority : INT_PRIORITY(tskpri);
+	if (rotate_ready_queue(pri)) {
+		dispatch();
+	}
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_ROT_RDQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __rot_rdq */
+
+/*
+ *  ã¿ã¹ã¯ã®åªå
+é ä½ã®åè»¢ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __irot_rdq
+
+SYSCALL ER
+irot_rdq(PRI tskpri)
+{
+	ER	ercd;
+
+	LOG_IROT_RDQ_ENTER(tskpri);
+	CHECK_INTCTX_UNL();
+	CHECK_TPRI(tskpri);
+
+	i_lock_cpu();
+	if (rotate_ready_queue(INT_PRIORITY(tskpri))) {
+		reqflg = TRUE;
+	}
+	ercd = E_OK;
+	i_unlock_cpu();
+
+    exit:
+	LOG_IROT_RDQ_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __irot_rdq */
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯IDã®åç
+§
+ */
+#ifdef __get_tid
+
+SYSCALL ER
+get_tid(ID *p_tskid)
+{
+	ER	ercd;
+
+	LOG_GET_TID_ENTER(p_tskid);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_tskid = TSKID(runtsk);
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_TID_LEAVE(ercd, *p_tskid);
+	return(ercd);
+}
+
+#endif /* __get_tid */
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯IDã®åç
+§ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iget_tid
+
+SYSCALL ER
+iget_tid(ID *p_tskid)
+{
+	ER	ercd;
+
+	LOG_IGET_TID_ENTER(p_tskid);
+	CHECK_INTCTX_UNL();
+
+	i_lock_cpu();
+	*p_tskid = (runtsk == NULL) ? TSK_NONE : TSKID(runtsk);
+	ercd = E_OK;
+	i_unlock_cpu();
+
+    exit:
+	LOG_IGET_TID_LEAVE(ercd, *p_tskid);
+	return(ercd);
+}
+
+#endif /* __iget_tid */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã¸ã®ç§»è¡
+ */
+#ifdef __loc_cpu
+
+SYSCALL ER
+loc_cpu(void)
+{
+	ER	ercd;
+
+	LOG_LOC_CPU_ENTER();
+	CHECK_TSKCTX();
+
+	if (!(t_sense_lock())) {
+		t_lock_cpu();
+	}
+	ercd = E_OK;
+
+    exit:
+	LOG_LOC_CPU_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __loc_cpu */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã¸ã®ç§»è¡ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iloc_cpu
+
+SYSCALL ER
+iloc_cpu(void)
+{
+	ER	ercd;
+
+	LOG_ILOC_CPU_ENTER();
+	CHECK_INTCTX();
+
+	if (!(i_sense_lock())) {
+		i_lock_cpu();
+	}
+	ercd = E_OK;
+
+    exit:
+	LOG_ILOC_CPU_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iloc_cpu */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®è§£é¤
+ *
+ *  CPUã­ãã¯ä¸­ã¯ï¼ãã£ã¹ããããå¿
+è¦ã¨ãªããµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã
+ *  ã¨ã¯ã§ããªãããï¼CPUã­ãã¯ç¶æ
+ã®è§£é¤æã«ãã£ã¹ãããã£ãèµ·åãã
+ *  å¿
+è¦ã¯ãªãï¼
+ */
+#ifdef __unl_cpu
+
+SYSCALL ER
+unl_cpu(void)
+{
+	ER	ercd;
+
+	LOG_UNL_CPU_ENTER();
+	CHECK_TSKCTX();
+
+	if (t_sense_lock()) {
+		t_unlock_cpu();
+	}
+	ercd = E_OK;
+
+    exit:
+	LOG_UNL_CPU_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __unl_cpu */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ *
+ *  CPUã­ãã¯ä¸­ã¯ï¼ãã£ã¹ããããå¿
+è¦ã¨ãªããµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã
+ *  ã¨ã¯ã§ããªãããï¼CPUã­ãã¯ç¶æ
+ã®è§£é¤æã«ãã£ã¹ãããã£ã®èµ·åãè¦
+ *  æ±ããå¿
+è¦ã¯ãªãï¼
+ */
+#ifdef __iunl_cpu
+
+SYSCALL ER
+iunl_cpu(void)
+{
+	ER	ercd;
+
+	LOG_IUNL_CPU_ENTER();
+	CHECK_INTCTX();
+
+	if (i_sense_lock()) {
+		i_unlock_cpu();
+	}
+	ercd = E_OK;
+
+    exit:
+	LOG_IUNL_CPU_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iunl_cpu */
+
+/*
+ *  ãã£ã¹ãããã®ç¦æ­¢
+ */
+#ifdef __dis_dsp
+
+SYSCALL ER
+dis_dsp(void)
+{
+	ER	ercd;
+
+	LOG_DIS_DSP_ENTER();
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	enadsp = FALSE;
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_DIS_DSP_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __dis_dsp */
+
+/*
+ *  ãã£ã¹ãããã®è¨±å¯
+ */
+#ifdef __ena_dsp
+
+SYSCALL ER
+ena_dsp(void)
+{
+	ER	ercd;
+
+	LOG_ENA_DSP_ENTER();
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	enadsp = TRUE;
+	if (runtsk != schedtsk) {
+		dispatch();
+	}
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_ENA_DSP_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ena_dsp */
+
+/*
+ *  ã³ã³ãã­ã¹ãã®åç
+§
+ */
+#ifdef __sns_ctx
+
+SYSCALL BOOL
+sns_ctx(void)
+{
+	BOOL	state;
+
+	LOG_SNS_CTX_ENTER();
+	state = sense_context() ? TRUE : FALSE;
+	LOG_SNS_CTX_LEAVE(state);
+	return(state);
+}
+
+#endif /* __sns_ctx */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+#ifdef __sns_loc
+
+SYSCALL BOOL
+sns_loc(void)
+{
+	BOOL	state;
+
+	LOG_SNS_LOC_ENTER();
+	state = sense_lock() ? TRUE : FALSE;
+	LOG_SNS_LOC_LEAVE(state);
+	return(state);
+}
+
+#endif /* __sns_loc */
+
+/*
+ *  ãã£ã¹ãããç¦æ­¢ç¶æ
+ã®åç
+§
+ */
+#ifdef __sns_dsp
+
+SYSCALL BOOL
+sns_dsp(void)
+{
+	BOOL	state;
+
+	LOG_SNS_DSP_ENTER();
+	state = !(enadsp) ? TRUE : FALSE;
+	LOG_SNS_DSP_LEAVE(state);
+	return(state);
+}
+
+#endif /* __sns_dsp */
+
+/*
+ *  ãã£ã¹ãããä¿çç¶æ
+ã®åç
+§
+ */
+#ifdef __sns_dpn
+
+SYSCALL BOOL
+sns_dpn(void)
+{
+	BOOL	state;
+
+	LOG_SNS_DPN_ENTER();
+	state = (sense_context() || sense_lock() || !(enadsp)) ? TRUE : FALSE;
+	LOG_SNS_DPN_LEAVE(state);
+	return(state);
+}
+
+#endif /* __sns_dpn */
+
+/*
+ *  ã«ã¼ãã«åä½ç¶æ
+ã®åç
+§
+ */
+#ifdef __vsns_ini
+
+SYSCALL BOOL
+vsns_ini(void)
+{
+	BOOL	state;
+
+	LOG_VSNS_INI_ENTER();
+	state = !(iniflg) ? TRUE : FALSE;
+	LOG_VSNS_INI_LEAVE(state);
+	return(state);
+}
+
+#endif /* __vsns_ini */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.c	(revision 26)
@@ -0,0 +1,233 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: syslog.c,v 1.9 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°æ©è½
+ */
+
+#undef OMIT_SYSLOG
+#include "jsp_kernel.h"
+#include "time_event.h"
+#include "syslog.h"
+
+/*
+ *  ã³ã³ãã­ã¹ãã«ä¾ããªãCPUã­ãã¯ï¼ã­ãã¯è§£é¤
+ */
+#define	lock_cpu()	(sense_context() ? i_lock_cpu() : t_lock_cpu())
+#define	unlock_cpu()	(sense_context() ? i_unlock_cpu() : t_unlock_cpu())
+
+#ifdef __logini
+
+/*
+ *  ã­ã°ãããã¡ã¨ããã«ã¢ã¯ã»ã¹ããããã®ãã¤ã³ã¿
+ */
+SYSLOG	syslog_buffer[TCNT_SYSLOG_BUFFER];	/* ã­ã°ãããã¡ */
+UINT	syslog_count;			/* ã­ã°ãããã¡ä¸­ã®ã­ã°ã®æ° */
+UINT	syslog_head;			/* å
+é ­ã®ã­ã°ã®æ ¼ç´ä½ç½® */
+UINT	syslog_tail;			/* æ¬¡ã®ã­ã°ã®æ ¼ç´ä½ç½® */
+UINT	syslog_lost;			/* å¤±ãããã­ã°ã®æ° */
+
+/*
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ï¼ããããããï¼
+ */
+UINT	syslog_logmask;			/* ã­ã°ãããã¡ã«è¨é²ãã¹ãéè¦åº¦ */
+UINT	syslog_lowmask;			/* ä½ã¬ãã«åºåãã¹ãéè¦åº¦ */
+
+/*
+ *  ã·ã¹ãã ã­ã°æ©è½ã®åæå
+ */
+void
+syslog_initialize()
+{
+	syslog_count = 0;
+	syslog_head = syslog_tail = 0;
+	syslog_lost = 0;
+
+	syslog_logmask = 0;
+	syslog_lowmask = LOG_UPTO(LOG_NOTICE);
+}     
+
+#endif /* __logini */
+
+/* 
+ *  ã­ã°æ
+å ±ã®åºå
+ *
+ *  CPUã­ãã¯ç¶æ
+ãå®è¡ã³ã³ãã­ã¹ãã«ãããåä½ã§ããããã«å®è£
+ãã¦ããï¼
+ */
+#ifdef __vwri_log
+
+SYSCALL ER
+vwri_log(UINT prio, SYSLOG *p_log)
+{
+	BOOL	locked;
+
+	locked = sense_lock();
+	if (!locked) {
+		lock_cpu();
+	}
+
+	/*
+	 *  ã­ã°æå»ã®è¨­å®
+	 */
+	p_log->logtim = systim_offset + current_time;
+
+	/*
+	 *  ã­ã°ãããã¡ã«è¨é²
+	 */
+	if ((syslog_logmask & LOG_MASK(prio)) != 0) {
+		syslog_buffer[syslog_tail] = *p_log;
+		syslog_tail++;
+		if (syslog_tail >= TCNT_SYSLOG_BUFFER) {
+			syslog_tail = 0;
+		}
+		if (syslog_count < TCNT_SYSLOG_BUFFER) {
+			syslog_count++;
+		}
+		else {
+			syslog_head = syslog_tail;
+			syslog_lost++;
+		}
+	}
+
+	/*
+	 *  ä½ã¬ãã«åºå
+	 */
+	if ((syslog_lowmask & LOG_MASK(prio)) != 0) {
+		syslog_print(p_log, sys_putc);
+	}
+
+	if (!locked) {
+		unlock_cpu();
+	}
+	return(E_OK);
+}
+
+#endif /* __vwri_log */
+
+/*
+ *  ã­ã°ãããã¡ããã®èª­åºã
+ *
+ *  CPUã­ãã¯ç¶æ
+ãå®è¡ã³ã³ãã­ã¹ãã«ãããåä½ã§ããããã«å®è£
+ãã¦ããï¼
+ */
+#ifdef __vrea_log
+
+SYSCALL ER_UINT
+vrea_log(SYSLOG *p_log)
+{
+	BOOL	locked;
+	ER_UINT	ercd;
+
+	locked = sense_lock();
+	if (!locked) {
+		lock_cpu();
+	}
+	if (syslog_count > 0) {
+		*p_log = syslog_buffer[syslog_head];
+		syslog_count--;
+		syslog_head++;
+		if (syslog_head >= TCNT_SYSLOG_BUFFER) {
+			syslog_head = 0;
+		}
+		ercd = (ER_UINT) syslog_lost;
+		syslog_lost = 0;
+	}
+	else {
+		ercd = E_OBJ;
+	}
+	if (!locked) {
+		unlock_cpu();
+	}
+	return(ercd);
+}
+
+#endif /* __vrea_log */
+
+/* 
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ã®è¨­å®
+ */
+#ifdef __vmsk_log
+
+SYSCALL ER
+vmsk_log(UINT logmask, UINT lowmask)
+{
+	syslog_logmask = logmask;
+	syslog_lowmask = lowmask;
+	return(E_OK);
+}
+
+#endif /* __vmsk_log */
+
+/* 
+ *  ã·ã¹ãã ã­ã°æ©è½ã®çµäºå¦ç
+ *
+ *  ã­ã°ãããã¡ã«è¨é²ãããã­ã°æ
+å ±ãï¼ä½ã¬ãã«åºåæ©è½ãç¨ãã¦åºåã
+ *  ãï¼
+ */
+#ifdef __logter
+
+void
+syslog_terminate()
+{
+	syslog_printf("-- buffered messages --", NULL, sys_putc);
+	syslog_output(sys_putc);
+}
+
+#endif /* __logter */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/syslog.h	(revision 26)
@@ -0,0 +1,101 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: syslog.h,v 1.3 2003/07/08 14:44:19 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°æ©è½
+ */
+
+#ifndef _SYSLOG_H_
+#define _SYSLOG_H_
+
+#include <t_syslog.h>
+
+/*
+ *  ã­ã°ãããã¡ã¨ããã«ã¢ã¯ã»ã¹ããããã®ãã¤ã³ã¿
+ */
+#ifndef TCNT_SYSLOG_BUFFER
+#define TCNT_SYSLOG_BUFFER	32	/* ã­ã°ãããã¡ã®ãµã¤ãº */
+#endif /* TCNT_SYSLOG_BUFFER */
+
+extern SYSLOG	syslog_buffer[];	/* ã­ã°ãããã¡ */
+extern UINT	syslog_count;		/* ã­ã°ãããã¡ä¸­ã®ã­ã°ã®æ° */
+extern UINT	syslog_head;		/* å
+é ­ã®ã­ã°ã®æ ¼ç´ä½ç½® */
+extern UINT	syslog_tail;		/* æ¬¡ã®ã­ã°ã®æ ¼ç´ä½ç½® */
+extern UINT	syslog_lost;		/* å¤±ãããã­ã°ã®æ° */
+
+/*
+ *  åºåãã¹ãã­ã°æ
+å ±ã®éè¦åº¦ï¼ããããããï¼
+ */
+extern UINT	syslog_logmask;		/* ã­ã°ãããã¡ã«è¨é²ãã¹ãéè¦åº¦ */
+extern UINT	syslog_lowmask;		/* ä½ã¬ãã«åºåãã¹ãéè¦åº¦ */
+
+#ifndef OMIT_SYSLOG
+
+/*
+ *  ã·ã¹ãã ã­ã°æ©è½ã®åæå
+ */
+extern void	syslog_initialize(void);
+
+/*
+ *  ã·ã¹ãã ã­ã°æ©è½ã®çµäºå¦ç
+ */
+extern void	syslog_terminate(void);
+
+#else /* OMIT_SYSLOG */
+
+#define syslog_initialize()	((void) 0)
+#define syslog_terminate()	((void) 0)
+
+#endif /* OMIT_SYSLOG */
+#endif /* _SYSLOG_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.c	(revision 26)
@@ -0,0 +1,453 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005,2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: task.c,v 1.12 2006/02/12 05:29:32 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include "task.h"
+#include <cpu_context.h>
+
+#ifdef __tskini
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯
+ */
+TCB	*runtsk;
+
+/*
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯
+ */
+TCB	*schedtsk;
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·åè¦æ±ãã©ã°
+ */
+BOOL	reqflg;
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããè¨±å¯ç¶æ
+
+ */
+BOOL	enadsp;
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼
+ */
+QUEUE	ready_queue[TNUM_TPRI];
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããã
+ *
+ *  ããããããã UINT ã§å®ç¾©ãã¦ãããï¼ãããããããµã¼ãé¢æ°ã§åªå
+
+ *  åº¦ã16æ®µéä»¥ä¸ã§ãããã¨ãä»®å®ãã¦ããï¼
+ */
+UINT	ready_primap;
+
+/*
+ *  ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ */
+void
+task_initialize()
+{
+	UINT	i, j;
+	TCB	*tcb;
+
+	runtsk = schedtsk = NULL;
+	reqflg = FALSE;
+	enadsp = TRUE;
+
+	for (i = 0; i < TNUM_TPRI; i++) {
+		queue_initialize(&(ready_queue[i]));
+	}
+	ready_primap = 0;
+
+	for (i = 0; i < TNUM_TSK; i++) {
+		j = INDEX_TSK(torder_table[i]);
+		tcb = &(tcb_table[j]);
+		tcb->tinib = &(tinib_table[j]);
+		tcb->actcnt = FALSE;
+		make_dormant(tcb);
+		if ((tcb->tinib->tskatr & TA_ACT) != 0) {
+			make_active(tcb);
+		}
+	}
+}
+
+#endif /* __tskini */
+
+/*
+ *  ãããããããµã¼ãé¢æ°
+ *
+ *  bitmap å
+ã® 1 ã®ãããã®å
+ï¼æãä¸ä½ï¼å³ï¼ã®ãã®ããµã¼ããï¼ãã®ã
+ *  ããçªå·ãè¿ãï¼ãããçªå·ã¯ï¼æä¸ä½ãããã 0 ã¨ããï¼bitmap ã« 0
+ *  ãæå®ãã¦ã¯ãªããªãï¼ãã®é¢æ°ã§ã¯ï¼åªå
+åº¦ã16æ®µéä»¥ä¸ã§ãããã¨ã
+ *  ä»®å®ãï¼bitmap ã®ä¸ä½16ãããã®ã¿ããµã¼ãããï¼
+ *  ããããµã¼ãå½ä»¤ãæã¤ãã­ã»ããµã§ã¯ï¼ããããµã¼ãå½ä»¤ãä½¿ãããã«
+ *  æ¸ãç´ããæ¹ãå¹çãè¯ãã ããï¼ãã®ãããªå ´åã«ã¯ï¼cpu_insn.h ã§
+ *  ããããµã¼ãå½ä»¤ãä½¿ã£ã bitmap_search ãå®ç¾©ãï¼CPU_BITMAP_SEARCH 
+ *  ããã¯ã­å®ç¾©ããã°ããï¼ã¾ãï¼ããããµã¼ãå½ä»¤ã®ãµã¼ãæ¹åãéãªã©
+ *  ã®çç±ã§åªå
+åº¦ã¨ãããã¨ã®å¯¾å¿ãå¤æ´ãããå ´åã«ã¯ï¼PRIMAP_BIT ã
+ *  ãã¯ã­å®ç¾©ããã°ããï¼
+ *  ã¾ãï¼æ¨æºã©ã¤ãã©ãªã« ffs ããããªãï¼æ¬¡ã®ããã«å®ç¾©ãã¦æ¨æºã©ã¤
+ *  ãã©ãªãä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *	#define	bitmap_search(bitmap) (ffs(bitmap) - 1)
+ */
+#ifndef PRIMAP_BIT
+#define	PRIMAP_BIT(pri)		(1u << (pri))
+#endif /* PRIMAP_BIT */
+
+#ifndef CPU_BITMAP_SEARCH
+
+Inline UINT
+bitmap_search(UINT bitmap)
+{
+	static const unsigned char search_table[] = { 0, 1, 0, 2, 0, 1, 0,
+						3, 0, 1, 0, 2, 0, 1, 0 };
+	UINT	n = 0;
+
+	assert((bitmap & 0xffff) != 0);
+	if ((bitmap & 0x00ff) == 0) {
+		bitmap >>= 8;
+		n += 8;
+	}
+	if ((bitmap & 0x0f) == 0) {
+		bitmap >>= 4;
+		n += 4;
+	}
+	return(n + search_table[(bitmap & 0x0f) - 1]);
+}
+
+#endif /* CPU_BITMAP_SEARCH */
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã®ãµã¼ã
+ */
+#ifdef __tsksched
+
+TCB *
+search_schedtsk()
+{
+	UINT	schedpri;
+
+	schedpri = bitmap_search(ready_primap);
+	return((TCB *)(ready_queue[schedpri].next));
+}
+
+#endif /* __tsksched */
+
+/*
+ *  å®è¡ã§ããç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼å®è¡ã§ããã¿ã¹ã¯ããªãã£ãå ´å
+ *  ã¨ï¼tcb ã®åªå
+åº¦ãæé«åªå
+é ä½ã®ã¿ã¹ã¯ã®åªå
+åº¦ãããé«ãå ´åã§ããï¼
+ */
+#ifdef __tskrun
+
+BOOL
+make_runnable(TCB *tcb)
+{
+	UINT	pri = tcb->priority;
+
+	tcb->tstat = TS_RUNNABLE;
+	LOG_TSKSTAT(tcb);
+	queue_insert_prev(&(ready_queue[pri]), &(tcb->task_queue));
+	ready_primap |= PRIMAP_BIT(pri);
+
+	if (schedtsk == (TCB *) NULL || pri < schedtsk->priority) {
+		schedtsk = tcb;
+		return(enadsp);
+	}
+	return(FALSE);
+}
+
+#endif /* __tskrun */
+
+/*
+ *  å®è¡ã§ããç¶æ
+ããä»ã®ç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼tcb ãæé«åªå
+é ä½ã®ã¿ã¹ã¯ã§ãã£
+ *  ãå ´åã§ããï¼tcb ã¨åãåªå
+åº¦ã®ã¿ã¹ã¯ãä»ã«ããå ´åã¯ï¼tcb ã®æ¬¡ã®
+ *  ã¿ã¹ã¯ãæé«åªå
+é ä½ã«ãªãï¼ããã§ãªãå ´åã¯ï¼ã¬ãã£ã­ã¥ã¼ããµã¼ã
+ *  ããå¿
+è¦ãããï¼
+ */
+#ifdef __tsknrun
+
+BOOL
+make_non_runnable(TCB *tcb)
+{
+	UINT	pri = tcb->priority;
+	QUEUE	*queue = &(ready_queue[pri]);
+
+	queue_delete(&(tcb->task_queue));
+	if (queue_empty(queue)) {
+		ready_primap &= ~PRIMAP_BIT(pri);
+		if (schedtsk == tcb) {
+			schedtsk = (ready_primap == 0) ? (TCB * ) NULL
+						: search_schedtsk();
+			return(enadsp);
+		}
+	}
+	else {
+		if (schedtsk == tcb) {
+			schedtsk = (TCB *)(queue->next);
+			return(enadsp);
+		}
+	}
+	return(FALSE);
+}
+
+#endif /* __tsknrun */
+
+/*
+ *  ä¼æ­¢ç¶æ
+ã¸ã®ç§»è¡
+ */
+#ifdef __tskdmt
+
+void
+make_dormant(TCB *tcb)
+{
+	tcb->priority = tcb->tinib->ipriority;
+	tcb->tstat = TS_DORMANT;
+	tcb->wupcnt = FALSE;
+	tcb->enatex = FALSE;
+	tcb->texptn = 0;
+	create_context(tcb);
+	LOG_TSKSTAT(tcb);
+}
+
+#endif /* __tskdmt */
+
+/*
+ *  ä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã¸ã®ç§»è¡
+ */
+#ifdef __tskact
+
+BOOL
+make_active(TCB *tcb)
+{
+	activate_context(tcb);
+	return(make_runnable(tcb));
+}
+
+#endif /* __tskact */
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯ã®çµäº
+ */
+#ifdef __tskext
+
+void
+exit_task()
+{
+	make_non_runnable(runtsk);
+	make_dormant(runtsk);
+	if (runtsk->actcnt) {
+		runtsk->actcnt = FALSE;
+		make_active(runtsk);
+	}
+	exit_and_dispatch();
+}
+
+#endif /* __tskext */
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ä¸­ã®ã¿ã¹ã¯ã®åªå
+åº¦ã®å¤æ´
+ *
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼(1) tcb ãæé«åªå
+é ä½ã®ã¿ã¹ã¯
+ *  ã§ãã£ã¦ï¼ãã®åªå
+åº¦ãä¸ããå ´åï¼(2) tcb ãæé«åªå
+é ä½ã®ã¿ã¹ã¯ã§
+ *  ã¯ãªãï¼å¤æ´å¾ã®åªå
+åº¦ãæé«åªå
+é ä½ã®ã¿ã¹ã¯ã®åªå
+åº¦ãããé«ãå ´å
+ *  ã§ããï¼(1) ã®å ´åã«ã¯ï¼ã¬ãã£ã­ã¥ã¼ããµã¼ãããå¿
+è¦ãããï¼
+ */
+#ifdef __tskpri
+
+BOOL
+change_priority(TCB *tcb, UINT newpri)
+{
+	UINT	oldpri = tcb->priority;
+
+	tcb->priority = newpri;
+	queue_delete(&(tcb->task_queue));
+	if (queue_empty(&(ready_queue[oldpri]))) {
+		ready_primap &= ~PRIMAP_BIT(oldpri);
+	}
+	queue_insert_prev(&(ready_queue[newpri]), &(tcb->task_queue));
+	ready_primap |= PRIMAP_BIT(newpri);
+
+	if (schedtsk == tcb) {
+		if (newpri >= oldpri) {
+			schedtsk = search_schedtsk();
+			return(schedtsk != tcb && enadsp);
+		}
+	}
+	else {
+		if (newpri < schedtsk->priority) {
+			schedtsk = tcb;
+			return(enadsp);
+		}
+	}
+	return(FALSE);
+}
+
+#endif /* __tskpri */
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ã®åè»¢
+ *
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼æé«åªå
+é ä½ã®ã¿ã¹ã¯ãã¿ã¹ã¯ã­
+ *  ã¥ã¼ã®æ«å°¾ã«ç§»åããå ´åã§ããï¼
+ */
+#ifdef __tskrot
+
+BOOL
+rotate_ready_queue(UINT pri)
+{
+	QUEUE	*queue = &(ready_queue[pri]);
+	QUEUE	*entry;
+
+	if (!(queue_empty(queue)) && queue->next->next != queue) {
+		entry = queue_delete_next(queue);
+		queue_insert_prev(queue, entry);
+		if (schedtsk == (TCB *) entry) {
+			schedtsk = (TCB *)(queue->next);
+			return(enadsp);
+		}
+	}
+	return(FALSE);
+}
+
+#endif /* __tskrot */
+
+/*
+ *  å¼æ°ã¾ã§å®ç¾©ããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å
+ */
+typedef void	(*TEXRTN)(TEXPTN texptn, VP_INT exinf);
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã
+ */
+#ifdef __tsktex
+
+void
+call_texrtn()
+{
+	TEXPTN	texptn;
+
+	do {
+		texptn = runtsk->texptn;
+		runtsk->enatex = FALSE;
+		runtsk->texptn = 0;
+		t_unlock_cpu();
+		LOG_TEX_ENTER(texptn);
+		(*((TEXRTN)(runtsk->tinib->texrtn)))(texptn,
+						runtsk->tinib->exinf);
+		LOG_TEX_LEAVE(texptn);
+		if (!t_sense_lock()) {
+			t_lock_cpu();
+		}
+	} while (runtsk->texptn != 0);
+	runtsk->enatex = TRUE;
+}
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+ */
+#ifndef OMIT_CALLTEX
+
+void
+calltex()
+{
+	if (runtsk->enatex && runtsk->texptn != 0) {
+		call_texrtn();
+	}
+}
+
+#endif /* OMIT_CALLTEX */
+#endif /* __tsktex */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task.h	(revision 26)
@@ -0,0 +1,607 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005,2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: task.h,v 1.12 2007/03/26 06:14:05 honda Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TASK_H_
+#define _TASK_H_
+
+#include "queue.h"
+#include "time_event.h"
+
+/*
+ *  ã¿ã¹ã¯åªå
+åº¦ã®å
+é¨è¡¨ç¾ã»å¤é¨è¡¨ç¾å¤æãã¯ã­
+ */
+#define INT_PRIORITY(x)		((UINT)((x) - TMIN_TPRI))
+#define EXT_TSKPRI(x)		((PRI)(x) + TMIN_TPRI)
+
+/*
+ *  ã¿ã¹ã¯ç¶æ
+ã®å
+é¨è¡¨ç¾
+ *
+ *  TCB ä¸­ã®ã¿ã¹ã¯ç¶æ
+ã§ã¯ï¼å®è¡ç¶æ
+ï¼RUNNINGï¼ã¨å®è¡å¯è½ç¶æ
+ï¼READYï¼
+ *  ã¯åºå¥ããªãï¼ä¸¡ç¶æ
+ãç·ç§°ãã¦ï¼å®è¡ã§ããç¶æ
+ï¼RUNNABLEï¼ã¨å¼ã¶ï¼
+ *  äºéå¾
+ã¡ç¶æ
+ã¯ï¼(TS_WAITING | TS_SUSPENDED) ã§è¡¨ãï¼TS_WAIT_???? 
+ *  ã¯ï¼å¾
+ã¡ç¶æ
+ã«ä¼´ãä»å±ç¶æ
+ãè¡¨ãï¼å¾
+ã¡ç¶æ
+ï¼äºéå¾
+ã¡ç¶æ
+ãå«ãï¼ã®
+ *  å ´åã«ã®ã¿è¨­å®ãããï¼
+ */
+#define	TS_DORMANT	0x00u	/* ä¼æ­¢ç¶æ
+ */
+#define	TS_RUNNABLE	0x01u	/* å®è¡ã§ããç¶æ
+ */
+#define	TS_WAITING	0x02u	/* å¾
+ã¡ç¶æ
+ */
+#define	TS_SUSPENDED	0x04u	/* å¼·å¶å¾
+ã¡ç¶æ
+ */
+
+#define	TS_WAIT_SLEEP	0x08u	/* èµ·åºå¾
+ã¡ç¶æ
+ */
+#define	TS_WAIT_WOBJ	0x10u	/* åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
+ã¡ç¶æ
+ */
+#define	TS_WAIT_WOBJCB	0x20u	/* å
+±éé¨åã®å¾
+ã¡ã­ã¥ã¼ã«ã¤ãªãã£ã¦ãã */
+
+/*
+ *  ã¿ã¹ã¯ç¶æ
+å¤å¥ãã¯ã­
+ *
+ *  TSTAT_DORMANT ã¯ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ã§ãããã©ãããï¼TSTAT_RUNNABLE 
+ *  ã¯ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
+ã§ãããã©ãããå¤å¥ããï¼TSTAT_WAITING ã¯
+ *  å¾
+ã¡ç¶æ
+ã¨äºéå¾
+ã¡ç¶æ
+ã®ããããã§ãããã©ãããï¼TSTAT_SUSPENDED 
+ *  ã¯å¼·å¶å¾
+ã¡ç¶æ
+ã¨äºéå¾
+ã¡ç¶æ
+ã®ããããã§ãããã©ãããå¤å¥ããï¼
+ */
+#define TSTAT_DORMANT(tstat)	((tstat) == TS_DORMANT)
+#define TSTAT_RUNNABLE(tstat)	(((tstat) & TS_RUNNABLE) != 0)
+#define TSTAT_WAITING(tstat)	(((tstat) & TS_WAITING) != 0)
+#define TSTAT_SUSPENDED(tstat)	(((tstat) & TS_SUSPENDED) != 0)
+
+/*
+ *  å¾
+ã¡æ
+å ±ãã­ãã¯ï¼WINFOï¼ã®å®ç¾©
+ *
+ *  ã¿ã¹ã¯ãå¾
+ã¡ç¶æ
+ã®éã¯ï¼TCB ããã³ããããæããã WINFO ãæ¬¡ã®ã
+ *  ãã«è¨­å®ããªããã°ãªããªãï¼
+ *
+ *  (a) TCB ã®ã¿ã¹ã¯ç¶æ
+ãå¾
+ã¡ç¶æ
+ã«ããï¼ãã®éã«ï¼å¾
+ã¡ç¶æ
+ã«ä¼´ãä»å±
+ *  ç¶æ
+ï¼TS_WAIT_????ï¼ãè¨­å®ããï¼
+ *
+ *  (b) ã¿ã¤ã ã¢ã¦ããç£è¦ããããã«ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ãç»é²ããï¼
+ *  ç»é²ããã¿ã¤ã ã¤ãã³ããã­ãã¯ã¯ï¼å¾
+ã¡ã«å
+¥ããµã¼ãã¹ã³ã¼ã«å¦çé¢æ°
+ *  ã®ã­ã¼ã«ã«å¤æ°ã¨ãã¦ç¢ºä¿ãï¼ããã¸ã®ãã¤ã³ã¿ã WINFO ã® tmevtb ã«
+ *  è¨æ¶ããï¼ã¿ã¤ã ã¢ã¦ãã®ç£è¦ãå¿
+è¦ãªãå ´åï¼æ°¸ä¹
+å¾
+ã¡ã®å ´åï¼ã«ã¯ï¼
+ *  tmevtb ã NULL ã«ããï¼
+ *
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
+ã¡ç¶æ
+ã®å ´åã«ã¯ï¼æ¨æºã® WINFO ã« 
+ *  wobjcbãã£ã¼ã«ããè¿½å ããæ§é ä½ï¼WINFO_WOBJï¼wait.h ã§å®ç¾©ï¼ãä½¿
+ *  ãï¼ã¿ã¹ã¯ç¶æ
+ã« TS_WAIT_WOBJ ãè¨­å®ããï¼ã¾ãï¼ä»¥ä¸ã® (c)ã(e) ã®
+ *  è¨­å®ãè¡ãå¿
+è¦ãããï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã«é¢ä¿ããªãå¾
+ã¡ï¼èµ·åº
+ *  å¾
+ã¡ï¼æéçµéå¾
+ã¡ï¼ã®å ´åã«ã¯ï¼(c)ã(e) ã¯å¿
+è¦ãªãï¼
+ *
+ *  (c) TCB ãå¾
+ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
+ã¡ã­ã¥ã¼ã«ã¤ãªãï¼å¾
+
+ *  ã¡ã­ã¥ã¼ã«ã¤ãªãããã«ï¼task_queue ãä½¿ãï¼TCB ãåæã»éä¿¡ãªãã¸ã§
+ *  ã¯ãã®ç®¡çãã­ãã¯ã®å
+±éé¨åï¼WOBJCBï¼ã®å¾
+ã¡ã­ã¥ã¼ã«ã¤ãªãã å ´åã«
+ *  ã¯ï¼ã¿ã¹ã¯ç¶æ
+ã« TS_WAIT_WOBJCB ãè¨­å®ããï¼
+ *
+ *  (d) å¾
+ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã¸ã®ãã¤ã³ã¿ãï¼
+ *  WINFO_WOBJ ã® wobjcb ã«è¨æ¶ããï¼
+ *  JSPã«ã¼ãã«ã§ wobjcb ãä½¿ãã®ã¯ï¼åªå
+åº¦é ã®å¾
+ã¡ã­ã¥ã¼ã«ã¤ãªããã¦
+ *  ããã¿ã¹ã¯ã®åªå
+åº¦ãå¤æ´ãããå ´åã®ã¿ã§ãããï¼ãããã°æ
+å ±ãåã
+ *  åºããããããã«ï¼å¾
+ã¡ã­ã¥ã¼ãåªå
+åº¦é ã§ãªãå ´åã«ã wobjcb ãè¨­å®
+ *  ããï¼
+ *
+ *  (e) å¾
+ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã«ä¾å­ãã¦è¨æ¶ãããã¨ãå¿
+è¦ãª
+ *  æ
+å ±ãããå ´åã«ã¯ï¼WINFO_WOBJ ã«å¿
+è¦ãªæ
+å ±ã®ããã®ãã£ã¼ã«ããè¿½å 
+ *  ããæ§é ä½ãå®ç¾©ãï¼WINFO_WOBJ ã®ä»£ããã«ç¨ããï¼
+ *
+ *  å¾
+ã¡ç¶æ
+ãè§£é¤ããéã«ã¯ï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿å¤ã WINFO ã®
+ *  wercd ã«è¨­å®ããï¼wercd ãä½¿ãã®ã¯å¾
+ã¡è§£é¤ä»¥éã§ããã®ã«å¯¾ãã¦ï¼
+ *  tmevtb ã¯å¾
+ã¡è§£é¤å¾ã¯ä½¿ããªãããï¼ã¡ã¢ãªç¯ç´ã®ããã«å
+±ç¨ä½ï¼unionï¼
+ *  ãä½¿ã£ã¦ããï¼
+ */
+typedef union waiting_information {
+	ER	wercd;		/* å¾
+ã¡è§£é¤æã®ã¨ã©ã¼ã³ã¼ã */
+	TMEVTB	*tmevtb;	/* å¾
+ã¡ç¶æ
+ç¨ã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+} WINFO;
+
+/*
+ *  ã¿ã¹ã¯åæåãã­ãã¯
+ *
+ *  ã¿ã¹ã¯ã«é¢ããæ
+å ±ãï¼å¤ãå¤ãããªãããã«ROMã«ç½®ããé¨åï¼ã¿ã¹ã¯
+ *  åæåãã­ãã¯ï¼ã¨ï¼å¤ãå¤åããããã«RAMã«ç½®ããªããã°ãªããªãé¨
+ *  åï¼ã¿ã¹ã¯ç®¡çãã­ãã¯ï¼TCBï¼ã«åé¢ãï¼TCBå
+ã«å¯¾å¿ããã¿ã¹ã¯åæå
+ *  ãã­ãã¯ãæããã¤ã³ã¿ãå
+¥ããï¼ã¿ã¹ã¯åæåãã­ãã¯å
+ã«å¯¾å¿ãã
+ *  TCBãæããã¤ã³ã¿ãå
+¥ããæ¹æ³ã®æ¹ãï¼RAMã®ç¯ç´ã®è¦³ç¹ããã¯æã¾ãã
+ *  ãï¼å®è¡å¹çãæªããªãããã«æ¡ç¨ãã¦ããªãï¼ä»ã®ãªãã¸ã§ã¯ãã«ã¤ã
+ *  ã¦ãåæ§ã«æ±ãï¼
+ *  ã¿ã¹ã¯åæåãã­ãã¯ã«ã¯ï¼DEF_TEX ã§å®ç¾©ãããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
+ *  ã³ã«é¢ããæ
+å ±ãå«ãï¼
+ */
+typedef struct task_initialization_block {
+	ATR	tskatr;		/* ã¿ã¹ã¯å±æ§ */
+	VP_INT	exinf;		/* ã¿ã¹ã¯ã®æ¡å¼µæ
+å ± */
+	FP	task;		/* ã¿ã¹ã¯ã®èµ·åçªå° */
+	UINT	ipriority;	/* ã¿ã¹ã¯ã®èµ·åæåªå
+åº¦ï¼å
+é¨è¡¨ç¾ï¼ */
+	SIZE	stksz;		/* ã¹ã¿ãã¯é åã®ãµã¤ãºï¼ä¸¸ããå¤ï¼ */
+	VP	stk;		/* ã¹ã¿ãã¯é åã®å
+é ­çªå° */
+
+	ATR	texatr;		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å±æ§ */
+	FP	texrtn;		/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åçªå° */
+} TINIB;
+
+/*
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®ãããå¹
+ã®å®ç¾©
+ *
+ *  TCB ä¸­ã®ãã£ã¼ã«ãã®é
+ç½®ã¯ï¼æ§è½ã«å¤§ããå½±é¿ããã¨æãããããï¼ã¿ã¼
+ *  ã²ããä¾å­ã«ãã£ã¼ã«ãã®ãããå¹
+ãå¤æ´ãããã¨ãè¨±ãã¦ããï¼
+ */
+#ifndef TBIT_TCB_TSTAT
+#define	TBIT_TCB_TSTAT		6	/* tstat ãã£ã¼ã«ãã®ãããå¹
+ */
+#endif /* TBIT_TCB_TSTAT */
+
+#ifndef TBIT_TCB_PRIORITY
+#define	TBIT_TCB_PRIORITY	4	/* priority ãã£ã¼ã«ãã®ãããå¹
+ */
+#endif /* TBIT_TCB_PRIORITY */
+
+/*
+ *  ã¿ã¹ã¯ç®¡çãã­ãã¯ï¼TCBï¼
+ *
+ *  JSPã§ã¯ï¼ã¿ã¹ã¯ã®èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_ACTCNTï¼ã¨èµ·
+ *  åºè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_WUPCNTï¼ã¯ 1 ã«åºå®ããã¦ããã
+ *  ãï¼ã­ã¥ã¼ã¤ã³ã°ããã¦ãããã©ããã®çå½å¤ã§è¡¨ç¾ãããã¨ãã§ããï¼
+ *  ã¾ãï¼å¼·å¶å¾
+ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ï¼TMAX_SUSCNTï¼ã 1 ã«åºå®ããã¦
+ *  ããã®ã§ï¼å¼·å¶å¾
+ã¡è¦æ±ãã¹ãæ°ï¼suscntï¼ã¯å¿
+è¦ãªãï¼
+ */
+typedef struct task_control_block {
+	QUEUE	task_queue;	/* ã¿ã¹ã¯ã­ã¥ã¼ */
+	const TINIB *tinib;	/* ã¿ã¹ã¯åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+
+	unsigned int	tstat : TBIT_TCB_TSTAT;	/* ã¿ã¹ã¯ç¶æ
+ï¼å
+é¨è¡¨ç¾ï¼*/
+	unsigned int	priority : TBIT_TCB_PRIORITY;
+						/* ç¾å¨ã®åªå
+åº¦ï¼å
+é¨è¡¨ç¾ï¼*/
+	unsigned int	actcnt : 1;		/* èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã° */
+	unsigned int	wupcnt : 1;		/* èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã° */
+	unsigned int	enatex : 1;		/* ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ç¶æ
+ */
+
+	TEXPTN	texptn;		/* ä¿çä¾å¤è¦å  */
+	WINFO	*winfo;		/* å¾
+ã¡æ
+å ±ãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	CTXB	tskctxb;	/* ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ */
+} TCB;
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯
+ *
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯ï¼ï¼ãã­ã»ããµãã³ã³ãã­ã¹ããæã£ã¦ããã¿ã¹ã¯ï¼ã®
+ *  TCB ãæããã¤ã³ã¿ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ããªãå ´åã¯ NULL ã«ããï¼
+ *  ãµã¼ãã¹ã³ã¼ã«ã®å¦çä¸­ã§ï¼èªã¿ã¹ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¿ã¹
+ *  ã¯ï¼ã«é¢ããæ
+å ±ãåç
+§ããå ´åã¯ runtsk ãä½¿ãï¼runtsk ãæ¸ãæã
+ *  ãã®ã¯ï¼ãã£ã¹ãããã£ï¼ã¨åæåå¦çï¼ã®ã¿ã§ããï¼
+ */
+extern TCB	*runtsk;
+
+/*
+ *  æé«åªå
+é ä½ã®ã¿ã¹ã¯
+ *
+ *  å®è¡ã§ããã¿ã¹ã¯ã®ä¸­ã§æé«åªå
+é ä½ã®ã¿ã¹ã¯ã® TCB ãæããã¤ã³ã¿ï¼å®
+ *  è¡ã§ããã¿ã¹ã¯ããªãå ´åã¯ NULL ã«ããï¼
+ *  ãã£ã¹ãããç¦æ­¢ç¶æ
+ãªã©ï¼ãã£ã¹ããããä¿çããã¦ããéã¯ï¼runtsk
+ *  ã¨ä¸è´ãã¦ããã¨ã¯éããªãï¼
+ */
+extern TCB	*schedtsk;
+
+/*
+ *  ãã£ã¹ãããï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³èµ·åè¦æ±ãã©ã°
+ *
+ *  å²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£å¦çã«ï¼ãã£ã¹ãããã¾ãã¯
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åãè¦æ±ãããã¨ãç¤ºããã©ã°ï¼
+ */
+extern BOOL	reqflg;
+
+/*
+ *  ãã£ã¹ãããè¨±å¯ç¶æ
+
+ *
+ *  ãã£ã¹ãããè¨±å¯ç¶æ
+ã§ããï¼ããªãã¡ï¼ãã£ã¹ãããç¦æ­¢ç¶æ
+ã§ãªãï¼
+ *  ãã¨ãç¤ºããã©ã°ï¼
+ */
+extern BOOL	enadsp;
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼
+ *
+ *  ã¬ãã£ã­ã¥ã¼ã¯ï¼å®è¡ã§ããç¶æ
+ã®ã¿ã¹ã¯ãç®¡çããããã®ã­ã¥ã¼ã§ããï¼
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯ãç®¡çãã¦ããããï¼ã¬ãã£ï¼å®è¡å¯è½ï¼ã­ã¥ã¼ã¨ãã
+ *  åç§°ã¯æ­£ç¢ºã§ã¯ãªããï¼ã¬ãã£ã­ã¥ã¼ã¨ããåç§°ãå®çãã¦ããããï¼ã
+ *  ã®åç§°ã§å¼ã¶ãã¨ã«ããï¼
+ *
+ *  ã¬ãã£ã­ã¥ã¼ã¯ï¼åªå
+åº¦ãã¨ã®ã¿ã¹ã¯ã­ã¥ã¼ã§æ§æããã¦ããï¼ã¿ã¹ã¯ã®
+ *  TCBã¯ï¼è©²å½ããåªå
+åº¦ã®ã­ã¥ã¼ã«ç»é²ãããï¼
+ */
+extern QUEUE	ready_queue[TNUM_TPRI];
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããã
+ *
+ *  ã¬ãã£ã­ã¥ã¼ã®ãµã¼ããå¹çããè¡ãããã«ï¼åªå
+åº¦ãã¨ã®ã¿ã¹ã¯ã­ã¥ã¼
+ *  ã«ã¿ã¹ã¯ãå
+¥ã£ã¦ãããã©ãããç¤ºããããããããç¨æãã¦ããï¼ãã
+ *  ãããããä½¿ããã¨ã§ï¼ã¡ã¢ãªã¢ã¯ã»ã¹ã®åæ°ãæ¸ãããã¨ãã§ãããï¼
+ *  ãããæä½å½ä»¤ãå
+
+å®ãã¦ããªããã­ã»ããµã§ï¼åªå
+åº¦ã®æ®µéæ°ãå°ãªã
+ *  å ´åã«ã¯ï¼ããããããæä½ã®ãªã¼ãã¼ãããã®ããã«ï¼éã«å¹çãè½ã¡
+ *  ãå¯è½æ§ãããï¼
+ */
+extern UINT	ready_primap;
+
+/*
+ *  ã¿ã¹ã¯IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ */
+extern const ID	tmax_tskid;
+
+/*
+ *  ã¿ã¹ã¯åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern const TINIB	tinib_table[];
+
+/*
+ *  ã¿ã¹ã¯çæé åºãã¼ãã«ï¼kernel_cfg.cï¼
+ */
+extern const ID	torder_table[];
+
+/*
+ *  TCBã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ */
+extern TCB	tcb_table[];
+
+/*
+ *  ã¿ã¹ã¯ã®æ°
+ */
+#define TNUM_TSK	((UINT)(tmax_tskid - TMIN_TSKID + 1))
+
+/*
+ *  ã¿ã¹ã¯IDããTCBãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_TSK(tskid)	((UINT)((tskid) - TMIN_TSKID))
+#define get_tcb(tskid)		(&(tcb_table[INDEX_TSK(tskid)]))
+#define get_tcb_self(tskid)	((tskid) == TSK_SELF ? runtsk : get_tcb(tskid))
+
+/*
+ *  TCBããã¿ã¹ã¯IDãåãåºãããã®ãã¯ã­
+ */
+#define	TSKID(tcb)	((ID)(((tcb) - tcb_table) + TMIN_TSKID))
+
+/*
+ *  ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ */
+extern void	task_initialize(void);
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã®ãµã¼ã
+ *
+ *  ã¬ãã£ã­ã¥ã¼ä¸­ã®æé«åªå
+é ä½ã®ã¿ã¹ã¯ããµã¼ããï¼ãã®TCBã¸ã®ãã¤ã³ã¿
+ *  ãè¿ãï¼ã¬ãã£ã­ã¥ã¼ãç©ºã®å ´åã«ã¯ï¼ãã®é¢æ°ãå¼ã³åºãã¦ã¯ãªããªãï¼
+ */
+extern TCB	*search_schedtsk(void);
+
+/*
+ *  å®è¡ã§ããç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ã®ç¶æ
+ãå®è¡ã§ããç¶æ
+ã¨ãï¼ã¬ãã£ã­ã¥ã¼ã«æ¿
+ *  å
+¥ããï¼å®è¡ã§ããç¶æ
+ã«ãªã£ãã¿ã¹ã¯ã®åªå
+åº¦ãï¼æé«åªå
+é ä½ã®ã¿ã¹
+ *  ã¯ã®åªå
+åº¦ãããé«ãå ´åã¯ï¼æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ãï¼ãã£ã¹ãã
+ *  ãè¨±å¯ç¶æ
+ã§ããã° TRUE ãè¿ãï¼ããã§ãªãå ´åã¯ FALSE ãè¿ãï¼
+ */
+extern BOOL	make_runnable(TCB *tcb);
+
+/*
+ *  å®è¡ã§ããç¶æ
+ããä»ã®ç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ãã¬ãã£ã­ã¥ã¼ããåé¤ããï¼tcb ã§æå®ããã¿
+ *  ã¹ã¯ãæé«åªå
+é ä½ã®ã¿ã¹ã¯ã§ãã£ãå ´åã«ã¯ï¼æé«åªå
+é ä½ã®ã¿ã¹ã¯ã
+ *  è¨­å®ããªããï¼ãã£ã¹ãããè¨±å¯ç¶æ
+ã§ããã° TRUE ãè¿ãï¼ããã§ãªã
+ *  å ´åã¯ FALSE ãè¿ãï¼ã¿ã¹ã¯ã®ç¶æ
+ã¯æ´æ°ããªãï¼
+ */
+extern BOOL	make_non_runnable(TCB *tcb);
+
+/*
+ *  ä¼æ­¢ç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ã®ç¶æ
+ãä¼æ­¢ç¶æ
+ã¨ããï¼ã¾ãï¼ã¿ã¹ã¯ã®èµ·åæ
+ *  ã«åæåãã¹ãå¤æ°ã®åæåã¨ï¼ã¿ã¹ã¯èµ·åã®ããã®ã³ã³ãã­ã¹ããè¨­å®
+ *  ããï¼
+ */
+extern void	make_dormant(TCB *tcb);
+
+/*
+ *  ä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ã®ç¶æ
+ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã¨ããï¼å®
+ *  è¡ã§ããç¶æ
+ã«ç§»è¡ããã¿ã¹ã¯ã¸ã®ãã£ã¹ããããå¿
+è¦ãªå ´åã¯ TRUEï¼
+ *  ããã§ãªãå ´åã¯ FALSE ãè¿ãï¼
+ */
+extern BOOL	make_active(TCB *tcb);
+
+/*
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯ã®çµäº
+ *
+ *  exit_task ã ext_tsk ã«åãè¾¼ã¾ãã«å¥ã®é¢æ°ã«ãã¦ããã®ã¯ï¼
+ *  create_context ã¨ activate_context ãèªã¿ã¹ã¯ã®çµäºå¦çã§ä½¿ç¨ãã
+ *  ã¹ã¿ãã¯ãç ´å£ããªãããã«ããããã®å¯¾ç­ã®ä¸ç°ã§ããï¼ext_tsk ã¨ã¯
+ *  å¥é¢æ°ã«ãã¦ãããã¨ã§ï¼ã­ã¼ã«ã«å¤æ°ãå«ãã¦ï¼ä½¿ç¨ããã¹ã¿ãã¯é å
+ *  ãéãªããªãããã«ã§ããï¼ã¾ãï¼ã³ã³ãã¤ã©ãèªåçã«ã¤ã³ã©ã¤ã³å±é
+ *  ããã®ãé¿ããããã«ï¼ext_tsk ã¨ã¯å¥ã®ãã¡ã¤ã«ã«å
+¥ãã¦ããï¼
+ */
+extern void	exit_task(void);
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ä¸­ã®ã¿ã¹ã¯ã®åªå
+åº¦ã®å¤æ´
+ *
+ *  tcb ã§æå®ãããã¬ãã£ã­ã¥ã¼ä¸­ã®ã¿ã¹ã¯ã®åªå
+åº¦ã newpriï¼å
+é¨è¡¨ç¾ï¼
+ *  ã«å¤æ´ããï¼ã¾ãï¼å¿
+è¦ãªå ´åã«ã¯æé«åªå
+é ä½ã®ã¿ã¹ã¯ãæ´æ°ãï¼ãã£
+ *  ã¹ãããè¨±å¯ç¶æ
+ã§ããã° TRUE ãè¿ãï¼ããã§ãªãå ´åã¯ FALSE ãè¿
+ *  ãï¼
+ */
+extern BOOL	change_priority(TCB *tcb, UINT newpri);
+
+/*
+ *  ã¬ãã£ã­ã¥ã¼ã®åè»¢
+ *
+ *  ã¬ãã£ã­ã¥ã¼ä¸­ã®ï¼pri ã§æå®ãããåªå
+åº¦ã®ã¿ã¹ã¯ã­ã¥ã¼ãåè»¢ãããï¼
+ *  ã¾ãï¼å¿
+è¦ãªå ´åã«ã¯æé«åªå
+é ä½ã®ã¿ã¹ã¯ãå¤æ´ãï¼ãã£ã¹ããããä¿
+ *  çããã¦ããªããã° TRUE ãè¿ãï¼ããã§ãªãå ´åã¯ FALSE ãè¿ãï¼
+ */
+extern BOOL	rotate_ready_queue(UINT pri);
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¼åºã
+ *
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãï¼å¼ã³åºãåã«ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ã®
+ *  ä¿çä¾å¤è¦å ãã¯ãªã¢ãï¼ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã«ãï¼CPUã­ãã¯ãè§£
+ *  é¤ããï¼
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ããæ»ãã¨ï¼ã¾ãCPUã­ãã¯ç¶æ
+ã«æ»ãï¼ãã®é
+ *  ã«ä¿çä¾å¤è¦å ã 0 ã§ãªããªã£ã¦ããã°ï¼åã³ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ *  ãå¼ã³åºãï¼ä¿çä¾å¤è¦å ã 0 ã®å ´åã«ã¯ï¼ä¾å¤å¦çè¨±å¯ç¶æ
+ã«ãã¦é¢
+ *  æ°ãããªã¿ã¼ã³ããï¼
+ *  ãã®é¢æ°ã¯ï¼å®è¡ç¶æ
+ã®ã¿ã¹ã¯ãï¼ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ç¶æ
+ï¼enatex ã 
+ *  TRUEï¼ã§ï¼ä¿çä¾å¤è¦å ã 0 ã§ãªãï¼texptn ã 0 ã§ãªãï¼å ´åã«å¼ã³
+ *  åºããã¨ãæ³å®ãã¦ããï¼ãã®é¢æ°ã¯ï¼CPUã­ãã¯ç¶æ
+ã§å¼ã³åºããªãã
+ *  ã°ãªããªãï¼
+ */
+extern void	call_texrtn(void);
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+ *
+ *  å®è¡ç¶æ
+ã®ã¿ã¹ã¯ãã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·åæ¡ä»¶ãæºããã¦ããã°ï¼
+ *  ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãï¼CPUä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãæ
+ *  ã¯ï¼ä¸æçã«CPUã­ãã¯ãè§£é¤ããï¼
+ *  ãã®é¢æ°ã¯ï¼ãã£ã¹ãããã£ãå²è¾¼ã¿ãã³ãã©ï¼CPUä¾å¤ãã³ãã©ã®åºå£
+ *  å¦çããå¼ã³åºããããã¨ãæ³å®ãã¦ãããï¼åç­ã®å¦çãã¿ã¼ã²ããä¾
+ *  å­é¨ã§è¨è¿°ãã¦ãããï¼ãã®å ´åã«ã¯ï¼OMIT_CALLTEX ããã¯ã­å®ç¾©ãã
+ *  ã°ããï¼
+ */
+extern void	calltex(void);
+
+#endif /* _TASK_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_except.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_except.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_except.c	(revision 26)
@@ -0,0 +1,216 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: task_except.c,v 1.8 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ä¾å¤å¦çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã®è¦æ±
+ */
+#ifdef __ras_tex
+
+SYSCALL ER
+ras_tex(ID tskid, TEXPTN rasptn)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_RAS_TEX_ENTER(tskid, rasptn);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	CHECK_PAR(rasptn != 0);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat) || tcb->tinib->texrtn == NULL) {
+		ercd = E_OBJ;
+	}
+	else {
+		tcb->texptn |= rasptn;
+		if (tcb == runtsk && runtsk->enatex) {
+			call_texrtn();
+		}
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_RAS_TEX_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ras_tex */
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã®è¦æ±ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iras_tex
+
+SYSCALL ER
+iras_tex(ID tskid, TEXPTN rasptn)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_IRAS_TEX_ENTER(tskid, rasptn);
+	CHECK_INTCTX_UNL();
+	CHECK_TSKID(tskid);
+	CHECK_PAR(rasptn != 0);
+	tcb = get_tcb(tskid);
+
+	i_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat) || tcb->tinib->texrtn == NULL) {
+		ercd = E_OBJ;
+	}
+	else {
+		tcb->texptn |= rasptn;
+		if (tcb == runtsk && runtsk->enatex) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_IRAS_TEX_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iras_tex */
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã®ç¦æ­¢
+ */
+#ifdef __dis_tex
+
+SYSCALL ER
+dis_tex()
+{
+	ER	ercd;
+
+	LOG_DIS_TEX_ENTER();
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	if (runtsk->tinib->texrtn == NULL) {
+		ercd = E_OBJ;
+	}
+	else {
+		runtsk->enatex = FALSE;
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_DIS_TEX_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __dis_tex */
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çã®è¨±å¯
+ */
+#ifdef __ena_tex
+
+SYSCALL ER
+ena_tex()
+{
+	ER	ercd;
+
+	LOG_ENA_TEX_ENTER();
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	if (runtsk->tinib->texrtn == NULL) {
+		ercd = E_OBJ;
+	}
+	else {
+		runtsk->enatex = TRUE;
+		if (runtsk->texptn != 0) {
+			call_texrtn();
+		}
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_ENA_TEX_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ena_tex */
+
+/*
+ *  ã¿ã¹ã¯ä¾å¤å¦çç¦æ­¢ç¶æ
+ã®åç
+§
+ */
+#ifdef __sns_tex
+
+SYSCALL BOOL
+sns_tex()
+{
+	BOOL	state;
+
+	LOG_SNS_TEX_ENTER();
+	state = (runtsk != NULL && runtsk->enatex) ? FALSE : TRUE;
+	LOG_SNS_TEX_LEAVE(state);
+	return(state);
+}
+
+#endif /* __sns_tex */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_manage.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_manage.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_manage.c	(revision 26)
@@ -0,0 +1,360 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: task_manage.c,v 1.9 2007/04/22 18:04:06 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ç®¡çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·å
+ */
+#ifdef __act_tsk
+
+SYSCALL ER
+act_tsk(ID tskid)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_ACT_TSK_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat)) {
+		if (make_active(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (!(tcb->actcnt)) {
+		tcb->actcnt = TRUE;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_ACT_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __act_tsk */
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iact_tsk
+
+SYSCALL ER
+iact_tsk(ID tskid)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_IACT_TSK_ENTER(tskid);
+	CHECK_INTCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+
+	i_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat)) {
+		if (make_active(tcb)) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	else if (!(tcb->actcnt)) {
+		tcb->actcnt = TRUE;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_IACT_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iact_tsk */
+
+/*
+ *  ã¿ã¹ã¯èµ·åè¦æ±ã®ã­ã£ã³ã»ã«
+ */
+#ifdef __can_act
+
+SYSCALL ER_UINT
+can_act(ID tskid)
+{
+	TCB	*tcb;
+	ER_UINT	ercd;
+
+	LOG_CAN_ACT_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	ercd = tcb->actcnt ? 1 : 0;
+	tcb->actcnt = FALSE;
+	t_unlock_cpu();
+
+    exit:
+	LOG_CAN_ACT_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __can_act */
+
+/*
+ *  èªã¿ã¹ã¯ã®çµäº
+ */
+#ifdef __ext_tsk
+
+SYSCALL void
+ext_tsk(void)
+{
+	LOG_EXT_TSK_ENTER();
+
+#ifdef ACTIVATED_STACK_SIZE
+	/*
+	 *  create_context ã¨ activate_context ã§ï¼ä½¿ç¨ä¸­ã®ã¹ã¿ãã¯é 
+	 *  åãç ´å£ããªãããã«ï¼ã¹ã¿ãã¯ä¸ã«ããã¼é åãç¢ºä¿ããï¼
+	 */
+	(void) alloca(ACTIVATED_STACK_SIZE);
+#endif /* ACTIVATED_STACK_SIZE */
+
+	if (sense_context()) {
+		/*
+		 *  éã¿ã¹ã¯ã³ã³ãã­ã¹ããã ext_tsk ãå¼ã°ããå ´åï¼
+		 *  ã·ã¹ãã ã­ã°ã«ã¨ã©ã¼ãè¨é²ãï¼ãã®ã¾ã¾å®è¡ãç¶ãã
+		 *  ã, åä½ã¯ä¿è¨¼ãããªãï¼
+		 */
+		syslog_0(LOG_EMERG,
+			"ext_tsk is called from non-task contexts.");
+	}
+	if (sense_lock()) {
+		/*
+		 *  CPUã­ãã¯ç¶æ
+ã§ ext_tsk ãå¼ã°ããå ´åã¯ï¼CPUã­ãã¯
+		 *  ãè§£é¤ãã¦ããã¿ã¹ã¯ãçµäºããï¼å®è£
+ä¸ã¯ï¼ãµã¼ãã¹
+		 *  ã³ã¼ã«å
+ã§ã®CPUã­ãã¯ãçç¥ããã°ããã ãï¼
+		 */
+		syslog_0(LOG_WARNING,
+			"ext_tsk is called from CPU locked state.");
+	}
+	else {
+		if (sense_context()) {
+			i_lock_cpu();
+		}
+		else  {
+			t_lock_cpu();
+		}
+	}
+	if (!(enadsp)) {
+		/*
+		 *  ãã£ã¹ãããç¦æ­¢ç¶æ
+ã§ ext_tsk ãå¼ã°ããå ´åã¯ï¼
+		 *  ãã£ã¹ãããè¨±å¯ç¶æ
+ã«ãã¦ããã¿ã¹ã¯ãçµäºããï¼
+		 */
+		syslog_0(LOG_WARNING,
+			"ext_tsk is called from dispatch disabled state.");
+		enadsp = TRUE;
+	}
+	exit_task();
+}
+
+#endif /* __ext_tsk */
+
+/*
+ *  ã¿ã¹ã¯ã®å¼·å¶çµäº
+ */
+#ifdef __ter_tsk
+
+SYSCALL ER
+ter_tsk(ID tskid)
+{
+	TCB	*tcb;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_TER_TSK_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+	CHECK_NONSELF(tcb);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tstat = tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else {
+		if (TSTAT_RUNNABLE(tstat)) {
+			make_non_runnable(tcb);
+		}
+		else if (TSTAT_WAITING(tstat)) {
+			wait_cancel(tcb);
+		}
+		make_dormant(tcb);
+		if (tcb->actcnt) {
+			tcb->actcnt = FALSE;
+			if (make_active(tcb)) {
+				dispatch();
+			}
+		}
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TER_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __ter_tsk */
+
+/*
+ *  ã¿ã¹ã¯åªå
+åº¦ã®å¤æ´
+ */
+#ifdef __chg_pri
+
+SYSCALL ER
+chg_pri(ID tskid, PRI tskpri)
+{
+	TCB	*tcb;
+	UINT	newpri;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_CHG_PRI_ENTER(tskid, tskpri);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	CHECK_TPRI_INI(tskpri);
+	tcb = get_tcb_self(tskid);
+	newpri = (tskpri == TPRI_INI) ? tcb->tinib->ipriority
+					: INT_PRIORITY(tskpri);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tstat = tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else if (TSTAT_RUNNABLE(tstat)) {
+		if (change_priority(tcb, newpri)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else {
+		tcb->priority = newpri;
+		if ((tstat & TS_WAIT_WOBJCB) != 0) {
+			wobj_change_priority(((WINFO_WOBJ *)(tcb->winfo))
+							->wobjcb, tcb);
+		}
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_CHG_PRI_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __chg_pri */
+
+/*
+ *  ã¿ã¹ã¯åªå
+åº¦ã®åç
+§
+ */
+#ifdef __get_pri
+
+SYSCALL ER
+get_pri(ID tskid, PRI *p_tskpri)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_GET_PRI_ENTER(tskid, p_tskpri);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else {
+		*p_tskpri = EXT_TSKPRI(tcb->priority);
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_PRI_LEAVE(ercd, *p_tskpri);
+	return(ercd);
+}
+
+#endif /* __get_pri */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_sync.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_sync.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/task_sync.c	(revision 26)
@@ -0,0 +1,515 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: task_sync.c,v 1.7 2003/12/20 08:12:24 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¹ã¯ä»å±åææ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "task.h"
+#include "wait.h"
+
+/*
+ *  èµ·åºå¾
+ã¡
+ */
+#ifdef __slp_tsk
+
+SYSCALL ER
+slp_tsk()
+{
+	WINFO	winfo;
+	ER	ercd;
+
+	LOG_SLP_TSK_ENTER();
+	CHECK_DISPATCH();
+
+	t_lock_cpu();
+	if (runtsk->wupcnt) {
+		runtsk->wupcnt = FALSE;
+		ercd = E_OK;
+	}
+	else {
+		runtsk->tstat = (TS_WAITING | TS_WAIT_SLEEP);
+		make_wait(&winfo);
+		LOG_TSKSTAT(runtsk);
+		dispatch();
+		ercd = winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_SLP_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __slp_tsk */
+
+/*
+ *  èµ·åºå¾
+ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ */
+#ifdef __tslp_tsk
+
+SYSCALL ER
+tslp_tsk(TMO tmout)
+{
+	WINFO	winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+
+	LOG_TSLP_TSK_ENTER(tmout);
+	CHECK_DISPATCH();
+	CHECK_TMOUT(tmout);
+
+	t_lock_cpu();
+	if (runtsk->wupcnt) {
+		runtsk->wupcnt = FALSE;
+		ercd = E_OK;
+	}
+	else if (tmout == TMO_POL) {
+		ercd = E_TMOUT;
+	}
+	else {
+		runtsk->tstat = (TS_WAITING | TS_WAIT_SLEEP);
+		make_wait_tmout(&winfo, &tmevtb, tmout);
+		LOG_TSKSTAT(runtsk);
+		dispatch();
+		ercd = winfo.wercd;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_TSLP_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __tslp_tsk */
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åº
+ */
+#ifdef __wup_tsk
+
+SYSCALL ER
+wup_tsk(ID tskid)
+{
+	TCB	*tcb;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_WUP_TSK_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tstat = tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else if ((tstat & TS_WAIT_SLEEP) != 0) {
+		if (wait_complete(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (!(tcb->wupcnt)) {
+		tcb->wupcnt = TRUE;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_WUP_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __wup_tsk */
+
+/*
+ *  ã¿ã¹ã¯ã®èµ·åºï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __iwup_tsk
+
+SYSCALL ER
+iwup_tsk(ID tskid)
+{
+	TCB	*tcb;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_IWUP_TSK_ENTER(tskid);
+	CHECK_INTCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+
+	i_lock_cpu();
+	if (TSTAT_DORMANT(tstat = tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else if ((tstat & TS_WAIT_SLEEP) != 0) {
+		if (wait_complete(tcb)) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	else if (!(tcb->wupcnt)) {
+		tcb->wupcnt = TRUE;
+		ercd = E_OK;
+	}
+	else {
+		ercd = E_QOVR;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_IWUP_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __iwup_tsk */
+
+/*
+ *  ã¿ã¹ã¯èµ·åºè¦æ±ã®ã­ã£ã³ã»ã«
+ */
+#ifdef __can_wup
+
+SYSCALL ER_UINT
+can_wup(ID tskid)
+{
+	TCB	*tcb;
+	ER_UINT	ercd;
+
+	LOG_CAN_WUP_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (TSTAT_DORMANT(tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else {
+		ercd = tcb->wupcnt ? 1 : 0;
+		tcb->wupcnt = FALSE;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_CAN_WUP_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __can_wup */
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤
+ */
+#ifdef __rel_wai
+
+SYSCALL ER
+rel_wai(ID tskid)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_REL_WAI_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+
+	t_lock_cpu();
+	if (!(TSTAT_WAITING(tcb->tstat))) {
+		ercd = E_OBJ;
+	}
+	else {
+		if (wait_release(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_REL_WAI_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __rel_wai */
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ï¼
+ */
+#ifdef __irel_wai
+
+SYSCALL ER
+irel_wai(ID tskid)
+{
+	TCB	*tcb;
+	ER	ercd;
+
+	LOG_IREL_WAI_ENTER(tskid);
+	CHECK_INTCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+
+	i_lock_cpu();
+	if (!(TSTAT_WAITING(tcb->tstat))) {
+		ercd = E_OBJ;
+	}
+	else {
+		if (wait_release(tcb)) {
+			reqflg = TRUE;
+		}
+		ercd = E_OK;
+	}
+	i_unlock_cpu();
+
+    exit:
+	LOG_IREL_WAI_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __irel_wai */
+
+/*
+ *  å¼·å¶å¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡
+ */
+#ifdef __sus_tsk
+
+SYSCALL ER
+sus_tsk(ID tskid)
+{
+	TCB	*tcb;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_SUS_TSK_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID_SELF(tskid);
+	tcb = get_tcb_self(tskid);
+
+	t_lock_cpu();
+	if (tcb == runtsk && !(enadsp)) {
+		ercd = E_CTX;
+	}
+	else if (TSTAT_DORMANT(tstat = tcb->tstat)) {
+		ercd = E_OBJ;
+	}
+	else if (TSTAT_RUNNABLE(tstat)) {
+		/*
+		 *  å®è¡ã§ããç¶æ
+ããå¼·å¶å¾
+ã¡ç¶æ
+ã¸ã®é·ç§»
+		 */
+		tcb->tstat = TS_SUSPENDED;
+		LOG_TSKSTAT(tcb);
+		if (make_non_runnable(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else if (TSTAT_SUSPENDED(tstat)) {
+		ercd = E_QOVR;
+	}
+	else {
+		/*
+		 *  å¾
+ã¡ç¶æ
+ããäºéå¾
+ã¡ç¶æ
+ã¸ã®é·ç§»
+		 */
+		tcb->tstat |= TS_SUSPENDED;
+		LOG_TSKSTAT(tcb);
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_SUS_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __sus_tsk */
+
+/*
+ *  å¼·å¶å¾
+ã¡ç¶æ
+ããã®åé
+ */
+#ifdef __rsm_tsk
+
+SYSCALL ER
+rsm_tsk(ID tskid)
+{
+	TCB	*tcb;
+	UINT	tstat;
+	ER	ercd;
+
+	LOG_RSM_TSK_ENTER(tskid);
+	CHECK_TSKCTX_UNL();
+	CHECK_TSKID(tskid);
+	tcb = get_tcb(tskid);
+
+	t_lock_cpu();
+	if (!(TSTAT_SUSPENDED(tstat = tcb->tstat))) {
+		ercd = E_OBJ;
+	}
+	else if (!(TSTAT_WAITING(tstat))) {
+		/*
+		 *  å¼·å¶å¾
+ã¡ç¶æ
+ããå®è¡ã§ããç¶æ
+ã¸ã®é·ç§»
+		 */
+		if (make_runnable(tcb)) {
+			dispatch();
+		}
+		ercd = E_OK;
+	}
+	else {
+		/*
+		 *  äºéå¾
+ã¡ç¶æ
+ããå¾
+ã¡ç¶æ
+ã¸ã®é·ç§»
+		 */
+		tcb->tstat &= ~TS_SUSPENDED;
+		LOG_TSKSTAT(tcb);
+		ercd = E_OK;
+	}
+	t_unlock_cpu();
+
+    exit:
+	LOG_RSM_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __rsm_tsk */
+
+/*
+ *  å¼·å¶å¾
+ã¡ç¶æ
+ããã®å¼·å¶åé
+ *
+ *  JSPã«ã¼ãã«ã§ã¯ï¼frsm_tsk ã¨ rsm_tsk ã¯åä¸ã®å¦çã¨ãªãï¼frsm_tsk 
+ *  ãå¼ã°ããã¨ï¼frsm_tsk ã¨ rsm_tsk ã®ä¸¡æ¹ã®ãµã¼ãã¹ã³ã¼ã«ã®ãã¬ã¼ã¹
+ *  ã­ã°ãåºåãããï¼ã­ã°åå¾å¾ã« rsm_tsk ã®ãã¬ã¼ã¹ã­ã°ãåé¤ããã
+ *  ã¨ãå¿
+è¦ã§ããï¼rsm_tsk ã®ãã¬ã¼ã¹ã­ã°ãæ­£ããåé¤ããããã«ã¯ï¼ã¿
+ *  ã¹ã¯ãã£ã¹ãããã®ã­ã°ã¨ï¼ã¿ã¹ã¯ä¾å¤å¦çã®ã­ã°ãåå¾ãããã¨ãå¿
+è¦
+ *  ã¨ãªãã®ã§ï¼æ³¨æãå¿
+è¦ã§ããï¼
+ */
+#ifdef __frsm_tsk
+
+SYSCALL ER
+frsm_tsk(ID tskid)
+{
+	ER	ercd;
+
+	LOG_FRSM_TSK_ENTER(tskid);
+	ercd = rsm_tsk(tskid);
+	LOG_FRSM_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __frsm_tsk */
+
+/*
+ *  èªã¿ã¹ã¯ã®é
+å»¶
+ */
+#ifdef __dly_tsk
+
+SYSCALL ER
+dly_tsk(RELTIM dlytim)
+{
+	WINFO	winfo;
+	TMEVTB	tmevtb;
+	ER	ercd;
+
+	LOG_DLY_TSK_ENTER(dlytim);
+	CHECK_DISPATCH();
+	CHECK_PAR(dlytim <= TMAX_RELTIM);
+
+	t_lock_cpu();
+	runtsk->tstat = TS_WAITING;
+	make_non_runnable(runtsk);
+	runtsk->winfo = &winfo;
+	winfo.tmevtb = &tmevtb;
+	tmevtb_enqueue(&tmevtb, dlytim, (CBACK) wait_tmout_ok, (VP) runtsk);
+	LOG_TSKSTAT(runtsk);
+	dispatch();
+	ercd = winfo.wercd;
+	t_unlock_cpu();
+
+    exit:
+	LOG_DLY_TSK_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __dly_tsk */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.c	(revision 26)
@@ -0,0 +1,426 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: time_event.c,v 1.9 2006/02/12 05:28:07 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "time_event.h"
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãæä½ãã¯ã­
+ */
+#define	PARENT(index)	((index) >> 1)		/* è¦ªãã¼ããæ±ãã */
+#define	LCHILD(index)	((index) << 1)		/* å³ã®å­ãã¼ããæ±ãã */
+#define	TMEVT_NODE(index)	(tmevt_heap[(index) - 1])
+
+/*
+ *  ã¤ãã³ãçºçæå»æ¯è¼ãã¯ã­
+ *
+ *  ã¤ãã³ãçºçæå»ã¯ï¼current_time ããã®ç¸å¯¾å¤ã§æ¯è¼ããï¼ããªãã¡ï¼
+ *  current_time ãæå°å¤ï¼æãè¿ãæå»ï¼ï¼current_time - 1 ãæå¤§å¤
+ *  ï¼æãé ãæå»ï¼ã¨ã¿ãªãã¦æ¯è¼ããï¼
+ */
+#define	EVTTIM_LT(t1, t2) (((t1) - current_time) < ((t2) - current_time))
+#define	EVTTIM_LE(t1, t2) (((t1) - current_time) <= ((t2) - current_time))
+
+#ifdef __tmeini
+
+/*
+ *  ã·ã¹ãã æå»ã®ãªãã»ãã
+ */
+SYSTIM	systim_offset;
+
+/*
+ *  ç¾å¨ã®ã·ã¹ãã æå»ï¼åä½: ããªç§ï¼
+ *
+ *  å³å¯ã«ã¯ï¼åã®ã¿ã¤ã ãã£ãã¯ã®ã·ã¹ãã æå»ï¼
+ */
+SYSTIM	current_time;
+
+/*
+ *  æ¬¡ã®ã¿ã¤ã ãã£ãã¯ã®ã·ã¹ãã æå»ï¼åä½: 1ããªç§ï¼
+ */
+SYSTIM	next_time;
+
+/*
+ *  ã·ã¹ãã æå»ç©ç®ç¨å¤æ°ï¼åä½: 1/TIM_DENOããªç§ï¼
+ */
+#if TIC_DENO != 1
+UINT	next_subtime;
+#endif /* TIC_DENO != 1 */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãã®æå¾ã®ä½¿ç¨é åã®ã¤ã³ããã¯ã¹
+ */
+UINT	last_index;
+
+/*
+ *  ã¿ã¤ãã¢ã¸ã¥ã¼ã«ã®åæå
+ */
+void
+tmevt_initialize(void)
+{
+	systim_offset = 0;
+	current_time = 0;
+#if TIC_DENO == 1
+	next_time = current_time + TIC_NUME;
+#else /* TIC_DENO == 1 */
+	next_subtime += TIC_NUME;
+	next_time = current_time + next_subtime / TIC_DENO;
+	next_subtime %= TIC_DENO;
+#endif /* TIC_DENO == 1 */
+	last_index = 0;
+}
+
+#endif /* __tmeini */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
+¥ä½ç½®ãä¸åãã«æ¢ç´¢
+ *
+ *  æå» time ã«çºçããã¿ã¤ã ã¤ãã³ããæ¿å
+¥ãããã¼ããç©ºããããã«ï¼
+ *  ãã¼ãã®ä¸ã«åãã£ã¦ç©ºãã¼ããç§»åãããï¼ç§»ååã®ç©ºãã¼ãã®ä½ç½®ã 
+ *  index ã«æ¸¡ãã¨ï¼ç§»åå¾ã®ç©ºãã¼ãã®ä½ç½®ï¼ããªãã¡æ¿å
+¥ä½ç½®ï¼ãè¿ãï¼
+ */
+#ifdef __tmeup
+
+UINT
+tmevt_up(UINT index, EVTTIM time)
+{
+	UINT	parent;
+
+	while (index > 1) {
+		/*
+		 *  è¦ªãã¼ãã®ã¤ãã³ãçºçæå»ã®æ¹ãæ©ãï¼ã¾ãã¯åãï¼
+		 *  ãªãã°ï¼index ãæ¿å
+¥ä½ç½®ãªã®ã§ã«ã¼ããæããï¼
+		 */
+		parent = PARENT(index);
+		if (EVTTIM_LE(TMEVT_NODE(parent).time, time)) {
+			break;
+		}
+
+		/*
+		 *  è¦ªãã¼ãã index ã®ä½ç½®ã«ç§»åãããï¼
+		 */
+		TMEVT_NODE(index) = TMEVT_NODE(parent);
+		TMEVT_NODE(index).tmevtb->index = index;
+
+		/*
+		 *  index ãè¦ªãã¼ãã®ä½ç½®ã«æ´æ°ï¼
+		 */
+		index = parent;
+	}
+	return(index);
+}
+
+#endif /* __tmeup */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
+¥ä½ç½®ãä¸åãã«æ¢ç´¢
+ *
+ *  æå» time ã«çºçããã¿ã¤ã ã¤ãã³ããæ¿å
+¥ãããã¼ããç©ºããããã«ï¼
+ *  ãã¼ãã®ä¸ã«åãã£ã¦ç©ºãã¼ããç§»åãããï¼ç§»ååã®ç©ºãã¼ãã®ä½ç½®ã 
+ *  index ã«æ¸¡ãã¨ï¼ç§»åå¾ã®ç©ºãã¼ãã®ä½ç½®ï¼ããªãã¡æ¿å
+¥ä½ç½®ï¼ãè¿ãï¼
+ */
+#ifdef __tmedown
+
+UINT
+tmevt_down(UINT index, EVTTIM time)
+{
+	UINT	child;
+
+	while ((child = LCHILD(index)) <= last_index) {
+		/*
+		 *  å·¦å³ã®å­ãã¼ãã®ã¤ãã³ãçºçæå»ãæ¯è¼ãï¼æ©ãæ¹ã®
+		 *  å­ãã¼ãã®ä½ç½®ã child ã«è¨­å®ããï¼ä»¥ä¸ã®å­ãã¼ã
+		 *  ã¯ï¼ããã§é¸ã°ããæ¹ã®å­ãã¼ãã®ãã¨ï¼
+		 */
+		if (child + 1 <= last_index
+			&& EVTTIM_LT(TMEVT_NODE(child + 1).time,
+				  TMEVT_NODE(child).time)) {
+			child = child + 1;
+		}
+
+		/*
+		 *  å­ãã¼ãã®ã¤ãã³ãçºçæå»ã®æ¹ãé
+ãï¼ã¾ãã¯åãï¼
+		 *  ãªãã°ï¼index ãæ¿å
+¥ä½ç½®ãªã®ã§ã«ã¼ããæããï¼
+		 */
+		if (EVTTIM_LE(time, TMEVT_NODE(child).time)) {
+			break;
+		}
+
+		/*
+		 *  å­ãã¼ãã index ã®ä½ç½®ã«ç§»åãããï¼
+		 */
+		TMEVT_NODE(index) = TMEVT_NODE(child);
+		TMEVT_NODE(index).tmevtb->index = index;
+
+		/*
+		 *  index ãå­ãã¼ãã®ä½ç½®ã«æ´æ°ï¼
+		 */
+		index = child;
+	}
+	return(index);
+}
+
+#endif /* __tmedown */
+
+/*
+ * ã¿ã¤ã ã¤ãã³ããã¼ãã¸ã®ç»é²
+ *
+ *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ tmevtb ãï¼time ã§æå®ããæéãçµéå¾ã«ã¤
+ *  ãã³ããçºçããããã«ï¼ã¿ã¤ã ã¤ãã³ããã¼ãã«ç»é²ããï¼
+ */
+#ifdef __tmeins
+
+void
+tmevtb_insert(TMEVTB *tmevtb, EVTTIM time)
+{
+	UINT	index;
+
+	/*
+	 *  last_index ãã¤ã³ã¯ãªã¡ã³ããï¼ããããä¸ã«æ¿å
+¥ä½ç½®ãæ¢ãï¼
+	 */
+	index = tmevt_up(++last_index, time);
+
+	/*
+	 *  ã¿ã¤ã ã¤ãã³ãã index ã®ä½ç½®ã«æ¿å
+¥ããï¼
+	 */ 
+	TMEVT_NODE(index).time = time;
+	TMEVT_NODE(index).tmevtb = tmevtb;
+	tmevtb->index = index;
+}
+
+#endif /* __tmeins */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãããã®åé¤
+ */
+#ifdef __tmedel
+
+void
+tmevtb_delete(TMEVTB *tmevtb)
+{
+	UINT	index = tmevtb->index;
+	UINT	parent;
+	EVTTIM	event_time = TMEVT_NODE(last_index).time;
+
+	/*
+	 *  åé¤ã«ããã¿ã¤ã ã¤ãã³ããã¼ããç©ºã«ãªãå ´åã¯ä½ãããªãï¼
+	 */
+	if (--last_index == 0) {
+		return;
+	}
+
+	/*
+	 *  åé¤ãããã¼ãã®ä½ç½®ã«æå¾ã®ãã¼ãï¼last_index + 1 ã®ä½ç½®
+	 *  ã®ãã¼ãï¼ãæ¿å
+¥ãï¼ãããé©åãªä½ç½®ã¸ç§»åãããï¼å®éã«ã¯ï¼
+	 *  æå¾ã®ãã¼ããå®éã«æ¿å
+¥ããã®ã§ã¯ãªãï¼åé¤ãããã¼ãã®ä½
+	 *  ç½®ãç©ºãã¼ãã«ãªãã®ã§ï¼æå¾ã®ãã¼ããæ¿å
+¥ãã¹ãä½ç½®ã¸åã
+	 *  ã¦ç©ºãã¼ããç§»åãããï¼
+	 *  æå¾ã®ãã¼ãã®ã¤ãã³ãçºçæå»ãï¼åé¤ãããã¼ãã®è¦ªãã¼ã
+	 *  ã®ã¤ãã³ãçºçæå»ããåã®å ´åã«ã¯ï¼ä¸ã«åãã£ã¦æ¿å
+¥ä½ç½®ã
+	 *  æ¢ãï¼ããã§ãªãå ´åã«ã¯ï¼ä¸ã«åãã£ã¦æ¢ãï¼
+	 */
+	if (index > 1 && EVTTIM_LT(event_time,
+				TMEVT_NODE(parent = PARENT(index)).time)) {
+		/*
+		 *  è¦ªãã¼ãã index ã®ä½ç½®ã«ç§»åãããï¼
+		 */
+		TMEVT_NODE(index) = TMEVT_NODE(parent);
+		TMEVT_NODE(index).tmevtb->index = index;
+
+		/*
+		 *  åé¤ãããã¼ãã®è¦ªãã¼ãããä¸ã«åãã£ã¦æ¿å
+¥ä½ç½®ã
+		 *  æ¢ãï¼
+		 */
+		index = tmevt_up(parent, event_time);
+	}
+	else {
+		/*
+		 *  åé¤ãããã¼ãããä¸ã«åãã£ã¦æ¿å
+¥ä½ç½®ãæ¢ãï¼
+		 */
+		index = tmevt_down(index, event_time);
+	}
+
+	/*
+	 *  æå¾ã®ãã¼ãã index ã®ä½ç½®ã«æ¿å
+¥ããï¼
+	 */ 
+	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
+	TMEVT_NODE(index).tmevtb->index = index;
+}
+
+#endif /* __tmedel */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãã®å
+é ­ã®ãã¼ãã®åé¤
+ */
+Inline void
+tmevtb_delete_top(void)
+{
+	UINT	index;
+	EVTTIM	event_time = TMEVT_NODE(last_index).time;
+
+	/*
+	 *  åé¤ã«ããã¿ã¤ã ã¤ãã³ããã¼ããç©ºã«ãªãå ´åã¯ä½ãããªãï¼
+	 */
+	if (--last_index == 0) {
+		return;
+	}
+
+	/*
+	 *  ã«ã¼ããã¼ãã«æå¾ã®ãã¼ãï¼last_index + 1 ã®ä½ç½®ã®ãã¼ãï¼
+	 *  ãæ¿å
+¥ãï¼ãããé©åãªä½ç½®ã¸ç§»åãããï¼å®éã«ã¯ï¼æå¾ã®ãã¼
+	 *  ããå®éã«æ¿å
+¥ããã®ã§ã¯ãªãï¼ã«ã¼ããã¼ããç©ºãã¼ãã«ãªã
+	 *  ã®ã§ï¼æå¾ã®ãã¼ããæ¿å
+¥ãã¹ãä½ç½®ã¸åãã¦ç©ºãã¼ããç§»åã
+	 *  ããï¼
+	 */
+	index = tmevt_down(1, event_time);
+
+	/*
+	 *  æå¾ã®ãã¼ãã index ã®ä½ç½®ã«æ¿å
+¥ããï¼
+	 */ 
+	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
+	TMEVT_NODE(index).tmevtb->index = index;
+}
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦
+ *
+ *  TIC_NUME < TIC_DENO ã®æã¯ï¼é¤ç®ãä½¿ããã«æå»ã®æ´æ°ãã§ãããï¼ã½ã¼
+ *  ã¹ã³ã¼ããèª­ã¿ãããã«ããããã« #if ã®å¤ç¨ãé¿ãã¦ããï¼
+ */
+#ifdef __isig_tim
+
+SYSCALL ER
+isig_tim(void)
+{
+	TMEVTB	*tmevtb;
+	ER	ercd;
+
+	LOG_ISIG_TIM_ENTER();
+	CHECK_INTCTX_UNL();
+	i_lock_cpu();
+
+	/*
+	 *  next_time ããã¤ãã³ãçºçæå»ã®æ©ãï¼ã¾ãã¯åãï¼ã¿ã¤ã ã¤
+	 *  ãã³ããï¼ã¿ã¤ã ã¤ãã³ããã¼ãããåé¤ãï¼ã³ã¼ã«ããã¯é¢æ°
+	 *  ãå¼ã³åºãï¼
+	 */
+	while (last_index > 0 && EVTTIM_LE(TMEVT_NODE(1).time, next_time)) {
+		tmevtb = TMEVT_NODE(1).tmevtb;
+		tmevtb_delete_top();
+		(*(tmevtb->callback))(tmevtb->arg);
+
+		/*
+		 *  ããã§åªå
+åº¦ã®é«ãå²è¾¼ã¿ãåãä»ããï¼
+		 */
+		i_unlock_cpu();
+		i_lock_cpu();
+	}
+
+	/*
+	 *  current_time ãæ´æ°ããï¼
+	 */
+	current_time = next_time;
+
+	/*
+	 *  next_timeï¼next_subtime ãæ´æ°ããï¼
+	 */
+#if TIC_DENO == 1
+	next_time = current_time + TIC_NUME;
+#else /* TIC_DENO == 1 */
+	next_subtime += TIC_NUME % TIC_DENO;
+	next_time = current_time + TIC_NUME / TIC_DENO;
+	if (next_subtime >= TIC_DENO) {
+		next_subtime -= TIC_DENO;
+		next_time += 1u;
+	}
+#endif /* TIC_DENO == 1 */
+
+	ercd = E_OK;
+	i_unlock_cpu();
+
+    exit:
+	LOG_ISIG_TIM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __isig_tim */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_event.h	(revision 26)
@@ -0,0 +1,206 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: time_event.h,v 1.8 2003/06/18 12:48:24 hiro Exp $
+ */
+
+/*
+ *	ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _TIME_EVENT_H_
+#define _TIME_EVENT_H_
+
+/*
+ *  ã¤ãã³ãçºçæå»ã®ãã¼ã¿åã®å®ç¾©
+ *
+ *  EVTTIM ã¯ï¼RELTIM ã¨ãã¦æå®ã§ããç¯å²ãããåºãç¯å²ãè¡¨ç¾ã§ããå¿
+
+ *  è¦ãããï¼ã¹ã¿ã³ãã¼ããã­ãã¡ã¤ã«ã§ã¯ï¼RELTIM ã 16bit ä»¥ä¸ã§ãªã
+ *  ãã°ãªããªãããï¼EVTTIM ã¯ 17bit ä»¥ä¸ã§ãããã¨ãå¿
+è¦ã§ããï¼ãã®
+ *  ããï¼16bit ã®å ´åããã UINT ã§ã¯ãªãï¼UW ã«å®ç¾©ãã¦ããï¼
+ */
+typedef UW	EVTTIM;
+
+/*
+ *  ç¸å¯¾æéï¼RELTIMï¼ã«æå®ã§ããæå¤§å¤
+ */
+#define	TMAX_RELTIM	((((EVTTIM) 1) << (sizeof(EVTTIM) * CHAR_BIT - 1)) - 1)
+
+/* 
+ *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ãã¼ã¿åã®å®ç¾©
+ */
+typedef void	(*CBACK)(VP);	/* ã³ã¼ã«ããã¯é¢æ°ã®å */
+
+typedef struct time_event_block {
+	UINT	index;		/* ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã§ã®ä½ç½® */
+	CBACK	callback;	/* ã³ã¼ã«ããã¯é¢æ° */
+	VP	arg;		/* ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ° */
+} TMEVTB;
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã®ãã¼ãã®ãã¼ã¿åã®å®ç¾©
+ */
+typedef struct time_event_node {
+	EVTTIM	time;		/* ã¤ãã³ãçºçæå» */
+	TMEVTB	*tmevtb;	/* å¯¾å¿ããã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+} TMEVTN;
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãï¼kernel_cfg.cï¼
+ */
+extern TMEVTN	tmevt_heap[];
+
+/*
+ *  ã·ã¹ãã æå»ã®ãªãã»ãã
+ */
+extern SYSTIM	systim_offset;
+
+/*
+ *  ç¾å¨ã®ã·ã¹ãã æå»ï¼åä½: ããªç§ï¼
+ *
+ *  ã·ã¹ãã èµ·åæã« 0 ã«åæåããï¼ä»¥éï¼isig_tim ãå¼ã°ããåº¦ã«åèª¿
+ *  ã«å¢å ããï¼set_tim ã«ãã£ã¦å¤æ´ãããªãï¼
+ */
+extern SYSTIM	current_time;
+
+/*
+ *  æ¬¡ã®ã¿ã¤ã ãã£ãã¯ã®ã·ã¹ãã æå»ï¼åä½: 1ããªç§ï¼
+ */
+extern SYSTIM	next_time;
+
+/*
+ *  ã·ã¹ãã æå»ç©ç®ç¨å¤æ°ï¼åä½: 1/TIM_DENOããªç§ï¼
+ *
+ *  æ¬¡ã®ã¿ã¤ã ãã£ãã¯ã®ã·ã¹ãã æå»ã®ä¸ä½æ¡ãç¤ºãï¼ä¸ä½æ¡ã¯ next_timeï¼ï¼
+ *  TIC_DENO ã 1 ã®æã¯ï¼ä¸ä½æ¡ã¯å¸¸ã« 0 ã§ããããï¼ãã®å¤æ°ã¯å¿
+è¦ãªãï¼
+ */
+#if TIC_DENO != 1
+extern UINT	next_subtime;
+#endif /* TIC_DENO != 1 */
+
+/*
+ *  ç¸å¯¾æéã®ãã¼ã¹æå»ï¼åä½: 1ããªç§ï¼
+ *
+ *  æ¬¡ã®ã¿ã¤ã ãã£ãã¯ã®ã·ã¹ãã æå»ãåãä¸ããæå»ï¼TIC_DENO ã 1 ã®
+ *  æã¯ï¼next_time ã EVTTIM ã«å¤æãããã®ã«ä¸è´ããï¼
+ */
+#if TIC_DENO == 1
+#define	base_time	((EVTTIM) next_time)
+#else /* TIC_DENO == 1 */
+#define	base_time	((EVTTIM)(next_time + (next_subtime > 0 ? 1 : 0)))
+#endif /* TIC_DENO == 1 */
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãã®æå¾ã®ä½¿ç¨é åã®ã¤ã³ããã¯ã¹
+ *
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãã«ç»é²ããã¦ããã¿ã¤ã ã¤ãã³ãã®æ°ã«ä¸è´ããï¼
+ */
+extern UINT	last_index;
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ */
+extern void	tmevt_initialize(void);
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
+¥ä½ç½®ã®æ¢ç´¢
+ */
+extern UINT	tmevt_up(UINT index, EVTTIM time);
+extern UINT	tmevt_down(UINT index, EVTTIM time);
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã¼ãã¸ã®ç»é²ã¨åé¤
+ */
+extern void	tmevtb_insert(TMEVTB *tmevtb, EVTTIM time);
+extern void	tmevtb_delete(TMEVTB *tmevtb);
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²ï¼ç¸å¯¾æéæå®ï¼
+ *
+ *  time ã§æå®ããç¸å¯¾æéãçµéå¾ã«ï¼arg ãå¼æ°ã¨ãã¦ callback ãå¼
+ *  ã³åºãããããã«ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ tmevtb ãç»é²ããï¼
+ */
+Inline void
+tmevtb_enqueue(TMEVTB *tmevtb, RELTIM time, CBACK callback, VP arg)
+{
+	assert(time <= TMAX_RELTIM);
+
+	tmevtb->callback = callback;
+	tmevtb->arg = arg;
+	tmevtb_insert(tmevtb, base_time + time);
+}
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²ï¼ã¤ãã³ãçºçæå»æå®ï¼
+ *
+ *  time ã§æå®ããã¤ãã³ãçºçæå»ã«ï¼arg ãå¼æ°ã¨ãã¦ callback ãå¼
+ *  ã³åºãããããã«ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ tmevtb ãç»é²ããï¼
+ */
+Inline void
+tmevtb_enqueue_evttim(TMEVTB *tmevtb, EVTTIM time, CBACK callback, VP arg)
+{
+	tmevtb->callback = callback;
+	tmevtb->arg = arg;
+	tmevtb_insert(tmevtb, time);
+}
+
+/*
+ *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²è§£é¤
+ */
+Inline void
+tmevtb_dequeue(TMEVTB *tmevtb)
+{
+	tmevtb_delete(tmevtb);
+}
+
+#endif /* _TIME_EVENT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_manage.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_manage.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/time_manage.c	(revision 26)
@@ -0,0 +1,167 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: time_manage.c,v 1.11 2005/11/12 14:56:15 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã æå»ç®¡çæ©è½
+ */
+
+#include "jsp_kernel.h"
+#include "check.h"
+#include "time_event.h"
+
+/*
+ *  ã·ã¹ãã æå»ã®è¨­å®
+ */
+#ifdef __set_tim
+
+SYSCALL ER
+set_tim(const SYSTIM *p_systim)
+{
+	ER	ercd;
+
+	LOG_SET_TIM_ENTER(p_systim);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	systim_offset = *p_systim - current_time;
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_SET_TIM_LEAVE(ercd);
+	return(ercd);
+}
+
+#endif /* __set_tim */
+
+/*
+ *  ã·ã¹ãã æå»ã®åç
+§
+ */
+#ifdef __get_tim
+
+SYSCALL ER
+get_tim(SYSTIM *p_systim)
+{
+	ER	ercd;
+
+	LOG_GET_TIM_ENTER(p_systim);
+	CHECK_TSKCTX_UNL();
+
+	t_lock_cpu();
+	*p_systim = systim_offset + current_time;
+	ercd = E_OK;
+	t_unlock_cpu();
+
+    exit:
+	LOG_GET_TIM_LEAVE(ercd, *p_systim);
+	return(ercd);
+}
+
+#endif /* __get_tim */
+
+/*
+ *  æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§
+ */
+#ifdef __vxget_tim
+#ifdef SUPPORT_VXGET_TIM
+#include <hw_timer.h>
+
+SYSCALL ER
+vxget_tim(SYSUTIM *p_sysutim)
+{
+	SYSUTIM	utime;
+	SYSTIM	time;
+#if TIC_DENO != 1
+	INT	subtime;
+#endif /* TIC_DENO != 1 */
+	CLOCK	clock;
+	BOOL	ireq;
+	BOOL	locked;
+	ER	ercd;
+
+	LOG_VXGET_TIM_ENTER(p_sysutim);
+	CHECK_TSKCTX();
+
+	locked = sense_lock();
+	if (!(locked)) {
+		t_lock_cpu();
+	}
+	time = systim_offset + next_time;
+#if TIC_DENO != 1
+	subtime = (INT) next_subtime;
+#endif /* TIC_DENO != 1 */
+	clock = hw_timer_get_current();
+	ireq = hw_timer_fetch_interrupt();
+	if (!(locked)) {
+		t_unlock_cpu();
+	}
+
+	utime = ((SYSUTIM) time) * 1000;
+#if TIC_DENO != 1
+	utime += subtime * 1000 / TIC_DENO;
+#endif /* TIC_DENO != 1 */
+	if (!(ireq && !(BEFORE_IREQ(clock)))) {
+		utime -= TIC_NUME * 1000 / TIC_DENO;
+	}
+	utime += TO_USEC(clock);
+	*p_sysutim = utime;
+	ercd = E_OK;
+
+    exit:
+	LOG_VXGET_TIM_LEAVE(ercd, *p_sysutim);
+	return(ercd);
+}
+
+#endif /* SUPPORT_VXGET_TIM */
+#endif /* __vxget_tim */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.c	(revision 26)
@@ -0,0 +1,295 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: wait.c,v 1.6 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	å¾
+ã¡ç¶æ
+ç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#include "jsp_kernel.h"
+#include "wait.h"
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡ï¼ã¿ã¤ã ã¢ã¦ãæå®ï¼
+ *
+ */
+#ifdef __waimake
+
+void
+make_wait_tmout(WINFO *winfo, TMEVTB *tmevtb, TMO tmout)
+{
+	make_non_runnable(runtsk);
+	runtsk->winfo = winfo;
+	if (tmout > 0) {
+		winfo->tmevtb = tmevtb;
+		tmevtb_enqueue(tmevtb, (RELTIM) tmout,
+					(CBACK) wait_tmout, (VP) runtsk);
+	}
+	else {
+		assert(tmout == TMO_FEVR);
+		winfo->tmevtb = NULL;
+	}
+}
+
+#endif /* __waimake */
+
+/*
+ *  å¾
+ã¡è§£é¤ã®ããã®ã¿ã¹ã¯ç¶æ
+ã®æ´æ°
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ãï¼å¾
+ã¡è§£é¤ããããã¿ã¹ã¯ç¶æ
+ãæ´æ°ããï¼å¾
+
+ *  ã¡è§£é¤ããã¿ã¹ã¯ãå®è¡ã§ããç¶æ
+ã«ãªãå ´åã¯ï¼ã¬ãã£ã­ã¥ã¼ã«ã¤ãªãï¼
+ *  ã¾ãï¼ãã£ã¹ããããå¿
+è¦ãªå ´åã«ã¯ TRUE ãè¿ãï¼
+ */
+Inline BOOL
+make_non_wait(TCB *tcb)
+{
+	assert(TSTAT_WAITING(tcb->tstat));
+
+	if (!(TSTAT_SUSPENDED(tcb->tstat))) {
+		/*
+		 *  å¾
+ã¡ç¶æ
+ããå®è¡ã§ããç¶æ
+ã¸ã®é·ç§»
+		 */
+		return(make_runnable(tcb));
+	}
+	else {
+		/*
+		 *  äºéå¾
+ã¡ç¶æ
+ããå¼·å¶å¾
+ã¡ç¶æ
+ã¸ã®é·ç§»
+		 */
+		tcb->tstat = TS_SUSPENDED;
+		LOG_TSKSTAT(tcb);
+		return(FALSE);
+	}
+}
+
+/*
+ *  å¾
+ã¡è§£é¤
+ */
+#ifdef __waicmp
+
+BOOL
+wait_complete(TCB *tcb)
+{
+	if (tcb->winfo->tmevtb != NULL) {
+		tmevtb_dequeue(tcb->winfo->tmevtb);
+	}
+	tcb->winfo->wercd = E_OK;
+	return(make_non_wait(tcb));
+}
+
+#endif /* __waicmp */
+
+/*
+ *  ã¿ã¤ã ã¢ã¦ãã«ä¼´ãå¾
+ã¡è§£é¤
+ */
+#ifdef __waitmo
+
+void
+wait_tmout(TCB *tcb)
+{
+	if ((tcb->tstat & TS_WAIT_WOBJ) != 0) {
+		queue_delete(&(tcb->task_queue));
+	}
+	tcb->winfo->wercd = E_TMOUT;
+	if (make_non_wait(tcb)) {
+		reqflg = TRUE;
+	}
+}
+
+#endif /* __waitmo */
+#ifdef __waitmook
+
+void
+wait_tmout_ok(TCB *tcb)
+{
+	tcb->winfo->wercd = E_OK;
+	if (make_non_wait(tcb)) {
+		reqflg = TRUE;
+	}
+}
+
+#endif /* __waitmook */
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤
+ */
+#ifdef __waican
+
+void
+wait_cancel(TCB *tcb)
+{
+	if (tcb->winfo->tmevtb != NULL) {
+		tmevtb_dequeue(tcb->winfo->tmevtb);
+	}
+	if ((tcb->tstat & TS_WAIT_WOBJ) != 0) {
+		queue_delete(&(tcb->task_queue));
+	}
+}
+
+#endif /* __waican */
+#ifdef __wairel
+
+BOOL
+wait_release(TCB *tcb)
+{
+	wait_cancel(tcb);
+	tcb->winfo->wercd = E_RLWAI;
+	return(make_non_wait(tcb));
+}
+
+#endif /* __wairel */
+
+/*
+ *  ã¿ã¹ã¯ã®åªå
+åº¦é ã®å¾
+ã¡ã­ã¥ã¼ã¸ã®æ¿å
+¥
+ */
+Inline void
+queue_insert_tpri(TCB *tcb, QUEUE *queue)
+{
+	QUEUE	*entry;
+	UINT	priority = tcb->priority;
+
+	for (entry = queue->next; entry != queue; entry = entry->next) {
+		if (priority < ((TCB *) entry)->priority) {
+			break;
+		}
+	}
+	queue_insert_prev(entry, &(tcb->task_queue));
+}
+
+/*
+ *  å®è¡ä¸­ã®ã¿ã¹ã¯ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
+ã¡ã­ã¥ã¼ã¸ã®æ¿å
+¥
+ */
+Inline void
+wobj_queue_insert(WOBJCB *wobjcb)
+{
+	if ((wobjcb->wobjinib->wobjatr & TA_TPRI) != 0) {
+		queue_insert_tpri(runtsk, &(wobjcb->wait_queue));
+	}
+	else {
+		queue_insert_prev(&(wobjcb->wait_queue),
+					&(runtsk->task_queue));
+	}
+}
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡
+ */
+#ifdef __wobjwai
+
+void
+wobj_make_wait(WOBJCB *wobjcb, WINFO_WOBJ *winfo)
+{
+	runtsk->tstat = (TS_WAITING | TS_WAIT_WOBJ | TS_WAIT_WOBJCB);
+	make_wait(&(winfo->winfo));
+	wobj_queue_insert(wobjcb);
+	winfo->wobjcb = wobjcb;
+	LOG_TSKSTAT(runtsk);
+}
+
+#endif /* __wobjwai */
+#ifdef __wobjwaitmo
+
+void
+wobj_make_wait_tmout(WOBJCB *wobjcb, WINFO_WOBJ *winfo,
+					TMEVTB *tmevtb, TMO tmout)
+{
+	runtsk->tstat = (TS_WAITING | TS_WAIT_WOBJ | TS_WAIT_WOBJCB);
+	make_wait_tmout(&(winfo->winfo), tmevtb, tmout);
+	wobj_queue_insert(wobjcb);
+	winfo->wobjcb = wobjcb;
+	LOG_TSKSTAT(runtsk);
+}
+
+#endif /* __wobjwaitmo */
+/*
+ *  ã¿ã¹ã¯ã®åªå
+åº¦å¤æ´æã®å¦ç
+ */
+#ifdef __wobjpri
+
+void
+wobj_change_priority(WOBJCB *wobjcb, TCB *tcb)
+{
+	if ((wobjcb->wobjinib->wobjatr & TA_TPRI) != 0) {
+		queue_delete(&(tcb->task_queue));
+		queue_insert_tpri(tcb, &(wobjcb->wait_queue));
+	}
+}
+
+#endif /* __wobjpri */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/kernel/wait.h	(revision 26)
@@ -0,0 +1,251 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: wait.h,v 1.6 2003/06/04 01:46:16 hiro Exp $
+ */
+
+/*
+ *	å¾
+ã¡ç¶æ
+ç®¡çã¢ã¸ã¥ã¼ã«
+ */
+
+#ifndef _WAIT_H_
+#define _WAIT_H_
+
+#include "task.h"
+#include "time_event.h"
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  å®è¡ä¸­ã®ã¿ã¹ã¯ãå¾
+ã¡ç¶æ
+ã«ç§»è¡ãããï¼å
+·ä½çã«ã¯ï¼å®è¡ä¸­ã®ã¿ã¹ã¯ã
+ *  ã¬ãã£ã­ã¥ã¼ããåé¤ãï¼TCB ã® winfoãã£ã¼ã«ãï¼WINFO ã® tmevtbã
+ *  ã£ã¼ã«ããè¨­å®ããï¼
+ */
+Inline void
+make_wait(WINFO *winfo)
+{
+	make_non_runnable(runtsk);
+	runtsk->winfo = winfo;
+	winfo->tmevtb = NULL;
+}
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡ï¼ã¿ã¤ã ã¢ã¦ãæå®ï¼
+ *
+ *  å®è¡ä¸­ã®ã¿ã¹ã¯ãï¼ã¿ã¤ã ã¢ã¦ãæå®ä»ãã§å¾
+ã¡ç¶æ
+ã«ç§»è¡ãããï¼å
+·ä½
+ *  çã«ã¯ï¼å®è¡ä¸­ã®ã¿ã¹ã¯ãã¬ãã£ã­ã¥ã¼ããåé¤ãï¼TCB ã® winfoãã£ã¼
+ *  ã«ãï¼WINFO ã® tmevtbãã£ã¼ã«ããè¨­å®ããï¼ã¾ãï¼ã¿ã¤ã ã¤ãã³ãã
+ *  ã­ãã¯ãç»é²ããï¼
+ */
+extern void	make_wait_tmout(WINFO *winfo, TMEVTB *tmevtb, TMO tmout);
+
+/*
+ *  å¾
+ã¡è§£é¤
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ã®å¾
+ã¡ç¶æ
+ãè§£é¤ããï¼å
+·ä½çã«ã¯ï¼ã¿ã¤ã ã¤ã
+ *  ã³ããã­ãã¯ãç»é²ããã¦ããã°ï¼ãããç»é²è§£é¤ããï¼ã¾ãï¼ã¿ã¹ã¯ç¶
+ *  æ
+ãæ´æ°ãï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿å¤ã E_OK ã¨ããï¼å¾
+ã¡ã­ã¥ã¼
+ *  ããã®åé¤ã¯è¡ããªãï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ã¸ã®ãã£ã¹ããããå¿
+è¦ãªå ´
+ *  åã«ã¯ TRUE ãè¿ãï¼
+ */
+extern BOOL	wait_complete(TCB *tcb);
+
+/*
+ *  ã¿ã¤ã ã¢ã¦ãã«ä¼´ãå¾
+ã¡è§£é¤
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ãï¼å¾
+ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããã°å¾
+ã¡ã­ã¥ã¼ã
+ *  ãåé¤ãï¼ã¿ã¹ã¯ç¶æ
+ãæ´æ°ããï¼ã¾ãï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿å¤
+ *  ãï¼wait_tmoutã§ã¯ E_TMOUTï¼wait_tmout_ok ã§ã¯ E_OK ã¨ããï¼å¾
+ã¡è§£
+ *  é¤ããã¿ã¹ã¯ã¸ã®ãã£ã¹ããããå¿
+è¦ãªæã¯ï¼reqflg ã TRUE ã«ããï¼
+ *  wait_tmout_ok ã¯ï¼dly_tsk ã§ä½¿ãããã®ãã®ã§ï¼å¾
+ã¡ã­ã¥ã¼ããåé¤ã
+ *  ãå¦çãè¡ããªãï¼
+ *  ãããã®é¢æ°ãï¼ã¿ã¤ã ã¤ãã³ãã®ã³ã¼ã«ããã¯é¢æ°ã¨ãã¦ç¨ããããã®
+ *  ãã®ã§ï¼å²è¾¼ã¿ãã³ãã©ããå¼ã³åºããããã¨ãæ³å®ãã¦ããï¼
+ */
+extern void	wait_tmout(TCB *tcb);
+extern void	wait_tmout_ok(TCB *tcb);
+
+/*
+ *  å¾
+ã¡ç¶æ
+ã®å¼·å¶è§£é¤
+ *
+ *  tcb ã§æå®ãããã¿ã¹ã¯ã®å¾
+ã¡ç¶æ
+ãå¼·å¶çã«è§£é¤ããï¼å
+·ä½çã«ã¯ï¼ã¿
+ *  ã¹ã¯ãå¾
+ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããã°å¾
+ã¡ã­ã¥ã¼ããåé¤ãï¼ã¿ã¤ã ã¤ã
+ *  ã³ããã­ãã¯ãç»é²ããã¦ããã°ãããç»é²è§£é¤ããï¼
+ *  wait_cancel ã¯ï¼ã¿ã¹ã¯ã®ç¶æ
+ã¯æ´æ°ããªãï¼
+ *  wait_release ã¯ï¼ã¿ã¹ã¯ã®ç¶æ
+ãæ´æ°ãï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿
+ *  å¤ã E_RLWAI ã¨ããï¼ã¾ãï¼å¾
+ã¡è§£é¤ããã¿ã¹ã¯ã¸ã®ãã£ã¹ããããå¿
+
+ *  è¦ãªå ´åã«ã¯ TRUE ãè¿ãï¼
+ */
+extern void	wait_cancel(TCB *tcb);
+extern BOOL	wait_release(TCB *tcb);
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
+±éé¨åæä½ã«ã¼ãã³
+ *
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã¨ç®¡çãã­ãã¯ã®å
+é ­é¨åã¯å
+±
+ *  éã«ãªã£ã¦ããï¼ä»¥ä¸ã¯ï¼ãã®å
+±éé¨åãæ±ãããã®åããã³ã«ã¼ãã³ç¾¤
+ *  ã§ããï¼
+ *  è¤æ°ã®å¾
+ã¡ã­ã¥ã¼ãæã¤åæã»éä¿¡ãªãã¸ã§ã¯ãã®å ´åï¼å
+é ­ä»¥å¤ã®å¾
+ã¡
+ *  ã­ã¥ã¼ãæä½ããå ´åã«ã¯ï¼ãããã®ã«ã¼ãã³ã¯ä½¿ããªãï¼ã¾ãï¼ãªãã¸ã§
+ *  ã¯ãå±æ§ã® TA_TPRI ããããåç
+§ããã®ã§ï¼ãã®ããããä»ã®ç®çã«ä½¿ã£
+ *  ã¦ããå ´åãï¼ãããã®ã«ã¼ãã³ã¯ä½¿ããªãï¼
+ */
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
+±éé¨å
+ */
+typedef struct wait_object_initialization_block {
+	ATR	wobjatr;	/* ãªãã¸ã§ã¯ãå±æ§ */
+} WOBJINIB;
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
+±éé¨å
+ */
+typedef struct wait_object_control_block {
+	QUEUE		wait_queue;	/* å¾
+ã¡ã­ã¥ã¼ */
+	const WOBJINIB	*wobjinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+} WOBJCB;
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãå¾
+ã¡æ
+å ±ãã­ãã¯ã®å®ç¾©
+ */
+typedef struct wait_object_waiting_information {
+	WINFO	winfo;		/* æ¨æºã®å¾
+ã¡æ
+å ±ãã­ãã¯ */
+	WOBJCB	*wobjcb;	/* å¾
+ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+} WINFO_WOBJ;
+
+/*
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
+ã¡ç¶æ
+ã¸ã®ç§»è¡
+ *  
+ *  å®è¡ä¸­ã®ã¿ã¹ã¯ãå¾
+ã¡ç¶æ
+ã«ç§»è¡ããï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
+ã¡ã­ã¥ã¼
+ *  ã«ã¤ãªãï¼ã¾ãï¼å¾
+ã¡æ
+å ±ãã­ãã¯ï¼WINFOï¼ã® wobjcb ãè¨­å®ããï¼
+ *  wobj_make_wait_tmout ã¯ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²ãè¡ãï¼
+ */
+extern void	wobj_make_wait(WOBJCB *wobjcb, WINFO_WOBJ *winfo);
+extern void	wobj_make_wait_tmout(WOBJCB *wobjcb, WINFO_WOBJ *winfo,
+					TMEVTB *tmevtb, TMO tmout);
+
+/*
+ *  ã¿ã¹ã¯åªå
+åº¦å¤æ´æã®å¦ç
+ *
+ *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
+ã¡ç¶æ
+ã«ããã¿ã¹ã¯ã®åªå
+åº¦ãå¤æ´ã
+ *  ããå ´åã«ï¼å¾
+ã¡ã­ã¥ã¼ã®ä¸­ã§ã®ã¿ã¹ã¯ã®ä½ç½®ãä¿®æ­£ããï¼
+ */
+extern void	wobj_change_priority(WOBJCB *wobjcb, TCB *tcb);
+
+#endif /* _WAIT_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/library/log_output.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/library/log_output.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/library/log_output.c	(revision 26)
@@ -0,0 +1,231 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: log_output.c,v 1.11 2007/03/27 08:56:12 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°ã®ãã©ã¼ãããåºå
+ */
+
+#include <t_services.h>
+
+/*
+ *  ãã¤ã³ã¿ãæ ¼ç´ã§ããæ´æ°åã®ããã©ã«ãã®å®ç¾©
+ */
+#ifndef _intptr_
+#define _intptr_	long
+#endif /* _intptr_ */
+
+/*
+ *  æ°å¤ãæå­åã«å¤æ
+ */
+#define CONVERT_BUFLEN	((sizeof(_intptr_) * CHAR_BIT + 2) / 3)
+					/* _intptr_åã®æ°å¤ã®æå¤§æå­æ° */
+static void
+convert(unsigned _intptr_ val, unsigned int radix, const char *radchar,
+		int width, int minus, int padzero, void (*putc)(char))
+{
+	char	buf[CONVERT_BUFLEN];
+	int	i, j;
+
+	i = 0;
+	do {
+		buf[i++] = radchar[val % radix];
+		val /= radix;
+	} while (val != 0);
+
+	width -= minus;
+	if (minus > 0 && padzero > 0) {
+		(*putc)('-');
+	}
+	for (j = i; j < width; j++) {
+		(*putc)((char)(padzero > 0 ? '0' : ' '));
+	}
+	if (minus > 0 && padzero <= 0) {
+		(*putc)('-');
+	}
+	while (i > 0) {
+		(*putc)(buf[--i]);
+	}
+}
+
+/*
+ *  ã­ã°æ
+å ±ã®ãã©ã¼ãããåºå
+ */
+static const char raddec[] = "0123456789";
+static const char radhex[] = "0123456789abcdef";
+static const char radHEX[] = "0123456789ABCDEF";
+
+void
+syslog_printf(const char *format, VP_INT *args, void (*putc)(char))
+{
+	int		c;
+	int		width;
+	int		padzero;
+	_intptr_	val;
+	const char	*str;
+
+	while ((c = *format++) != '\0') {
+		if (c != '%') {
+			(*putc)((char) c);
+			continue;
+		}
+
+		width = padzero = 0;
+		if ((c = *format++) == '0') {
+			padzero = 1;
+			c = *format++;
+		}
+		while ('0' <= c && c <= '9') {
+			width = width * 10 + c - '0';
+			c = *format++;
+		}
+		if (c == 'l') {
+			c = *format++;
+		}
+		switch (c) {
+		case 'd':
+			val = (_intptr_)(*args++);
+			if (val >= 0) {
+				convert((unsigned _intptr_) val, 10, raddec,
+						width, 0, padzero, putc);
+			}
+			else {
+				convert((unsigned _intptr_)(-val), 10, raddec,
+						width, 1, padzero, putc);
+			}
+			break;
+		case 'u':
+			val = (_intptr_)(*args++);
+			convert((unsigned _intptr_) val, 10, raddec,
+						width, 0, padzero, putc);
+			break;
+		case 'x':
+		case 'p':
+			val = (_intptr_)(*args++);
+			convert((unsigned _intptr_) val, 16, radhex,
+						width, 0, padzero, putc);
+			break;
+		case 'X':
+			val = (_intptr_)(*args++);
+			convert((unsigned _intptr_) val, 16, radHEX,
+						width, 0, padzero, putc);
+			break;
+		case 'c':
+			(*putc)((char)(_intptr_)(*args++));
+			break;
+		case 's':
+			str = (const char *)(*args++);
+			while ((c = *str++) != '\0') {
+				(*putc)((char) c);
+			}
+			break;
+		case '%':
+			(*putc)('%');
+			break;
+		case '\0':
+			format--;
+			break;
+		default:
+			break;
+		}
+	}
+	(*putc)('\n');
+}
+
+void
+syslog_print(SYSLOG *p_log, void (*putc)(char))
+{
+	switch (p_log->logtype) {
+	case LOG_TYPE_COMMENT:
+		syslog_printf((const char *)(p_log->loginfo[0]),
+					&(p_log->loginfo[1]), putc);
+		break;
+	case LOG_TYPE_ASSERT:
+		syslog_printf("%s:%u: Assertion `%s' failed.",
+					&(p_log->loginfo[0]), putc);
+		break;
+	}
+}
+
+static void
+syslog_lostmsg(INT lost, void (*putc)(char))
+{
+	VP_INT	lostinfo[1];
+
+	lostinfo[0] = (VP_INT) lost;
+	syslog_printf("%d messages are lost.", lostinfo, putc);
+}
+
+void
+syslog_output(void (*putc)(char))
+{
+	SYSLOG	log;
+	INT	lostnum, n;
+
+	lostnum = 0;
+	while ((n = vrea_log(&log)) >= 0) {
+		lostnum += n;
+		if (log.logtype < LOG_TYPE_COMMENT) {
+			continue;
+		}
+		if (lostnum > 0) {
+			syslog_lostmsg(lostnum, putc);
+			lostnum = 0;
+		}
+		syslog_print(&log, putc);
+	}
+	if (lostnum > 0) {
+		syslog_lostmsg(lostnum, putc);
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/library/strerror.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/library/strerror.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/library/strerror.c	(revision 26)
@@ -0,0 +1,118 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: strerror.c,v 1.3 2003/06/04 01:47:08 hiro Exp $
+ */
+
+/*
+ *	ã¨ã©ã¼ã¡ãã»ã¼ã¸æå­åãè¿ãé¢æ°
+ */
+
+#include <t_services.h>
+
+const char *
+itron_strerror(ER ercd)
+{
+	switch (MERCD(ercd)) {
+	case E_OK:
+		return("E_OK");
+
+	case E_SYS:
+		return("E_SYS");
+	case E_NOSPT:
+		return("E_NOSPT");
+	case E_RSFN:
+		return("E_RSFN");
+	case E_RSATR:
+		return("E_RSATR");
+
+	case E_PAR:
+		return("E_PAR");
+	case E_ID:
+		return("E_ID");
+
+	case E_CTX:
+		return("E_CTX");
+	case E_MACV:
+		return("E_MACV");
+	case E_OACV:
+		return("E_OACV");
+	case E_ILUSE:
+		return("E_ILUSE");
+
+	case E_NOMEM:
+		return("E_NOMEM");
+	case E_NOID:
+		return("E_NOID");
+
+	case E_OBJ:
+		return("E_OBJ");
+	case E_NOEXS:
+		return("E_NOEXS");
+	case E_QOVR:
+		return("E_QOVR");
+
+	case E_RLWAI:
+		return("E_RLWAI");
+	case E_TMOUT:
+		return("E_TMOUT");
+	case E_DLT:
+		return("E_DLT");
+	case E_CLS:
+		return("E_CLS");
+
+	case E_WBLK:
+		return("E_WBLK");
+	case E_BOVR:
+		return("E_BOVR");
+
+	default:
+		return("unknown error");
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/library/t_perror.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/library/t_perror.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/library/t_perror.c	(revision 26)
@@ -0,0 +1,66 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: t_perror.c,v 1.3 2003/06/04 01:47:08 hiro Exp $
+ */
+
+/*
+ *	ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®åºå
+ */
+
+#include <t_services.h>
+
+extern const char	*itron_strerror(ER ercd);
+
+void
+t_perror(UINT prio, const char *file, int line, const char *expr, ER ercd)
+{
+	syslog_4(prio, "%s reported by `%s' in line %d of `%s'.",
+		itron_strerror(ercd), expr, line, file);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/library/vasyslog.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/library/vasyslog.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/library/vasyslog.c	(revision 26)
@@ -0,0 +1,121 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: vasyslog.c,v 1.7 2005/11/24 11:46:02 hiro Exp $
+ */
+
+/*
+ *	å¯å¤æ°å¼æ°ã®ã·ã¹ãã ã­ã°ã©ã¤ãã©ãª
+ */
+
+#include <t_services.h>
+#include <stdarg.h>
+
+ER
+syslog(UINT prio, const char *format, ...)
+{
+	SYSLOG	log;
+	va_list	ap;
+	int	i;
+	int	c;
+	BOOL	lflag;
+
+	log.logtype = LOG_TYPE_COMMENT;
+	log.loginfo[0] = (VP_INT) format;
+	i = 1;
+	va_start(ap, format);
+
+	while ((c = *format++) != '\0' && i < TMAX_LOGINFO) {
+		if (c != '%') {
+			continue;
+		}
+
+		lflag = FALSE;
+		c = *format++;
+		while ('0' <= c && c <= '9') {
+			c = *format++;
+		}
+		if (c == 'l') {
+			lflag = TRUE;
+			c = *format++;
+		}
+		switch (c) {
+		case 'd':
+			log.loginfo[i++] = lflag ?
+					(VP_INT) va_arg(ap, long) :
+					(VP_INT) va_arg(ap, int);
+			break;
+		case 'u':
+		case 'x':
+		case 'X':
+			log.loginfo[i++] = lflag ?
+					(VP_INT) va_arg(ap, unsigned long) :
+					(VP_INT) va_arg(ap, unsigned int);
+			break;
+		case 'p':
+			log.loginfo[i++] = (VP_INT) va_arg(ap, void *);
+			break;
+		case 'c':
+			log.loginfo[i++] = (VP_INT) va_arg(ap, int);
+			break;
+		case 's':
+			log.loginfo[i++] = (VP_INT) va_arg(ap, const char *);
+			break;
+		case '\0':
+			format--;
+			break;
+		default:
+			break;
+		}
+	}
+	va_end(ap);
+	return(vwri_log(prio, &log));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.c	(revision 26)
@@ -0,0 +1,422 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fdc37c935a.c,v 1.3 2005/11/12 15:00:43 honda Exp $
+ */
+
+/*
+ * ã¹ã¼ãI/O FDC37C935A ç¨ãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include <fdc37c935a.h>
+
+/*
+ *  åæå
+ */
+void
+smsc_init(void)
+{
+    /*
+     * Enter Config mode 
+     */
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0x55 << 8));
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0x55 << 8));
+
+    /*
+     * Init SCI0
+     */
+    /* Power on */
+    smsc_config_write(0x22, (smsc_config_read(0x22) | 0x10));
+    /* Select SCI0 */
+    smsc_config_write(0x07, 0x04);
+    /* Enable SCI0 */
+    smsc_config_write(0x30, 0x01);
+    /* Set SCI0 Base Address */
+    smsc_config_write(0x60, (SMSC_SCI0_BASE_ADDR & 0xff00) >> 8);
+    smsc_config_write(0x61, (SMSC_SCI0_BASE_ADDR & 0xff));    
+    /* IRQ4 */
+    smsc_config_write(0x70, 0x04);
+    
+
+    /*
+     *  Exit Config mode
+     */
+    sil_wrh_mem((VP)SMSC_CONFIG_PORT, (0xAA << 8));
+}
+
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+struct sio_port_control_block {
+    const SIOPINIB  *siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;      /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;           /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;           /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;           /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;           /* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {{}};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+smsc_sci0_getready(SIOPCB *siopcb)
+{
+    return(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x01) != 0);
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+smsc_sci0_putready(SIOPCB *siopcb)
+{
+	return(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x60) != 0);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline char
+smsc_sci0_getchar(SIOPCB *siopcb)
+{
+    return (sil_reh_mem((VP)SMSC_SCI0_RBR) >> 8);
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+smsc_sci0_putchar(SIOPCB *siopcb, char c)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_THR, c << 8);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+smsc_sci0_enable_send(SIOPCB *siopcb)
+{
+
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x02) << 8));   
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+smsc_sci0_disable_send(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x02) << 8));   
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+smsc_sci0_enable_rcv(SIOPCB *siopcb)
+{
+
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x01) << 8));   
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+smsc_sci0_disable_rcv(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x01) << 8));   
+}
+
+
+
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ *  1ãã¼ããããªãããï¼ãã¾ãæå³ã¯ãªã
+ */
+void
+smsc_sci0_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+/*
+ *  å²è¾¼ã¿ä»¥å¤ã®åæå
+ */
+void
+fdc37c935a_init(void)
+{
+    volatile UH dummy;
+    
+    /* BIT7 = 1 */
+    sil_wrh_mem((VP)SMSC_SCI0_LCR, 0x83 << 8);
+
+    /* Set BPS */
+    sil_wrh_mem((VP)SMSC_SCI0_DLL, ((SMSC_SCI0_BPS & 0x00ff) << 8));   
+    sil_wrh_mem((VP)SMSC_SCI0_DLM, ((SMSC_SCI0_BPS >> 8) << 8));
+
+    /* BIT7 = 0 Divisor Latch BIT6 = 0 No Break : BIT3 = 0 NoParity
+       : BIT2 = 0 1Stopbit : BIT1,0 = {1.1} 8bitData */    
+    sil_wrh_mem((VP)SMSC_SCI0_LCR, 0x03 << 8);
+
+    /* Do not use FIFO */
+    sil_wrh_mem((VP)SMSC_SCI0_FCR, 0x0000);
+
+    /* Clear Status */
+    dummy = sil_reh_mem((VP)SMSC_SCI0_RBR);
+    dummy = sil_reh_mem((VP)SMSC_SCI0_LSR);    
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+smsc_sci0_openflag(void)
+{
+    return(siopcb_table[0].openflag);
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+smsc_sci0_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+
+    fdc37c935a_init();
+        
+    /* Enable Receive Data Interrupt */
+    sil_wrh_mem((VP)SMSC_SCI0_IER, (0x01 << 8));
+    sil_wrh_mem((VP)SMSC_SCI0_MCR, 0x08 << 8);
+
+    /*
+     * MS7729RSE01ã§ã¯ï¼ä¸åº¦éä¿¡å²è¾¼ã¿ãçºçããã¦ãããªãã¨å²è¾¼ã¿
+     * ã¬ãã«16ã®å²è¾¼ã¿ãçºçãã¦ãã¾ãæ­£ããåä½ããªãï¼
+     */
+    /* éä¿¡å²ãè¾¼ã¿è¦æ±ãè¨±å¯ */
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) | 0x02) << 8));   
+    /* éä¿¡å²ãè¾¼ã¿è¦æ±ãç¦æ­¢ */        
+    sil_wrh_mem((VP)SMSC_SCI0_IER,
+                (((sil_reh_mem((VP)SMSC_SCI0_IER) >> 8) & ~0x02) << 8));   
+
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+smsc_sci0_cls_por(SIOPCB *siopcb)
+{
+    sil_wrh_mem((VP)SMSC_SCI0_IER, 0x00);      /* å²è¾¼ã¿ã®ç¦æ­¢ */
+    siopcb->openflag = FALSE;
+}
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+void
+fdc37c935a_pol_putc(char c)
+{
+    while(((sil_reh_mem((VP)SMSC_SCI0_LSR) >> 8) & 0x60) == 0)
+        ;
+
+    sil_wrh_mem((VP)SMSC_SCI0_THR, c << 8);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+smsc_sci0_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (smsc_sci0_putready(siopcb)){
+        smsc_sci0_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+smsc_sci0_rcv_chr(SIOPCB *siopcb)
+{
+    if (smsc_sci0_getready(siopcb)) {
+        return((INT)(UB) smsc_sci0_getchar(siopcb));
+    }
+    return(-1);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+smsc_sci0_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            smsc_sci0_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            smsc_sci0_enable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+smsc_sci0_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            smsc_sci0_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            smsc_sci0_disable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+smsc_sci0_isr_siop(SIOPCB *siopcb)
+{
+    if (smsc_sci0_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        smsc_sci0_ierdy_rcv(siopcb->exinf);
+    }
+    if (smsc_sci0_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        smsc_sci0_ierdy_snd(siopcb->exinf);
+    }
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+smsc_sci0_isr()
+{
+    smsc_sci0_isr_siop(&(siopcb_table[0]));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/fdc37c935a.h	(revision 26)
@@ -0,0 +1,211 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: fdc37c935a.h,v 1.1 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ * ã¹ã¼ãI/O FDC37C935A ç¨ãã©ã¤ã
+ */
+#ifndef _FDC37C935A_H_
+#define _FDC37C935A_H_
+
+#include <t_config.h>
+
+/*
+ * ãã¼ã¹ã¢ãã¬ã¹ 
+ */
+//#define SMSC_BASE_ADDR 0xB0400000
+
+#define SMSC_CONFIG_PORT (SMSC_BASE_ADDR + 0x7E0)  /* H */
+#define SMSC_INDEX_PORT  (SMSC_BASE_ADDR + 0x7E0)  /* H */
+#define SMSC_DATA_PORT   (SMSC_BASE_ADDR + 0x7E2)  /* H */
+
+
+#ifndef _MACRO_ONLY
+
+Inline void
+smsc_config_write(UH index, UH data)
+{
+    sil_wrh_mem((VP)SMSC_INDEX_PORT, (index << 8));
+    sil_wrh_mem((VP)SMSC_DATA_PORT, (data << 8));
+}
+
+Inline UH
+smsc_config_read(UH index)
+{
+    sil_wrh_mem((VP)SMSC_INDEX_PORT, (index << 8));
+    return(sil_reh_mem((VP)SMSC_DATA_PORT) >> 8);
+}
+
+/*
+ *  åæå
+ */
+extern void smsc_init(void);
+
+
+
+#endif /*  _MACRO_ONLY */
+
+
+/*
+ * SCI0
+ */
+#define SMSC_SCI0_BASE_ADDR  0x03f8
+
+#define SMSC_SCI0_RBR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_THR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_DLL (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x0)  /* H */
+#define SMSC_SCI0_IER (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x2)  /* H */
+#define SMSC_SCI0_DLM (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x2)  /* H */
+#define SMSC_SCI0_IIR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x4)  /* H */
+#define SMSC_SCI0_FCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x4)  /* H */
+#define SMSC_SCI0_LCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x6)  /* H */
+#define SMSC_SCI0_MCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0x8)  /* H */
+#define SMSC_SCI0_LSR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xA)  /* H */
+#define SMSC_SCI0_MSR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xC)  /* H */
+#define SMSC_SCI0_SCR (SMSC_BASE_ADDR + SMSC_SCI0_BASE_ADDR * 2 + 0xE)  /* H */
+
+/*
+ *  ã¹ã¼ãã¼I/O(FDC37C935A)ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  å²è¾¼ã¿ä»¥å¤ã®åæå
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void fdc37c935a_init(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block   SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void smsc_sci0_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL smsc_sci0_openflag(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *smsc_sci0_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void smsc_sci0_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL smsc_sci0_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  smsc_sci0_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void smsc_sci0_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void smsc_sci0_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void smsc_sci0_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void smsc_sci0_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void smsc_sci0_ierdy_rcv(VP_INT exinf);
+
+
+
+
+#endif /* _MACRO_ONLY */
+
+
+#endif /* _FDC37C935A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.c	(revision 26)
@@ -0,0 +1,649 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *   CQ-FRK-NXP-ARM UARTç¨ ç°¡æSIOãã©ã¤ã
+ *
+ *   ãã®ãã¡ã¤ã«ã¯ãTOPPERS/JSP 1.4.2ã® pdic/simple_sio/st16c2550.cã
+ *   ãªãã¼ã ããå
+é¨ã®è­å¥å­ãå¤æ´ãããã®ã§ããã
+ */
+#include <s_services.h>
+#include "lpc2388uart.h"
+
+/*
+ * 8250, 16450, 16550åã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã»ãªãã»ãããUART_RHRãåºç¹ã¨ããã
+ * ã·ã¹ãã ãã¨ã«ç°ãªãã®ã§UART_BOUNDARYã«ãã£ã¦ã¬ã¸ã¹ã¿ã®é
+ç½®å¢çãæå®ããã
+ * ãã¨ãã°ãã¹ã¦ã®ã¬ã¸ã¹ã¿ã8ãããå¢çã§é
+ç½®ããã¦ãããªããUART_BOUNDARYã¯1,
+ * 16bitå¢çãªã2, 32ãããå¢çãªã4ãæå®ããã
+ * UART_BOUNDARYã¯sys_config.hã§å®ç¾©ããã
+ */
+
+
+#define UART_RBR   (0x00 * UART_BOUNDARY)   /*  åä¿¡ãããã¡ã¬ã¸ã¹ã¿  */
+#define UART_THR   (0x00 * UART_BOUNDARY)   /*  éä¿¡ãã¼ã¿ã»ãã¼ã«ãã»ã¬ã¸ã¹ã¿ */
+#define UART_DLL   (0x00 * UART_BOUNDARY)   /*  åå¨ã¬ã¸ã¹ã¿ä¸ä½ãã¤ã       */
+#define UART_IER   (0x01 * UART_BOUNDARY)   /*  å²è¾¼ã¿ã¤ãã¼ãã«ã¬ã¸ã¹ã¿       */
+#define UART_DLM   (0x01 * UART_BOUNDARY)   /*  åå¨ã¬ã¸ã¹ã¿ä¸ä½ãã¤ã       */
+#define UART_IIR   (0x02 * UART_BOUNDARY)   /*  å²è¾¼ã¿è­å¥ã¬ã¸ã¹ã¿  */
+#define UART_FCR   (0x02 * UART_BOUNDARY)   /*  FIFOå¶å¾¡ã¬ã¸ã¹ã¿  */
+#define UART_LCR   (0x03 * UART_BOUNDARY)   /*  ã©ã¤ã³å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UART_MCR   (0x04 * UART_BOUNDARY)   /*  ã¢ãã å¶å¾¡ã¬ã¸ã¹ã¿ */
+#define UART_LSR   (0x05 * UART_BOUNDARY)   /*  ã©ã¤ã³ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define UART_MSR   (0x06 * UART_BOUNDARY)   /*  ã¢ãã ã»ã¹ãã¼ã¿ã¹ã»ã¬ã¸ã¹ã¿ */
+#define UART_SCR   (0x07 * UART_BOUNDARY)   /*  ã¹ã¯ã©ããã»ãããã»ã¬ã¸ã¹ã¿ */
+#define UART_GCTL  (0x09 * UART_BOUNDARY)	  /*  Blackfinã®ã¿ãã°ã­ã¼ãã«å¶å¾¡ã¬ã¸ã¹ã¿ */
+
+/*
+ * ã¬ã¸ã¹ã¿ã®ããããã¹ã¯ãç¹æ®æ©è½ãè¿½å ããªãéããæ¸ãæããªãã¦ããã
+ */
+
+#define ISR_TX            0x02       /* éä¿¡å²ãè¾¼ã¿çºç */
+#define IER_TX            0x02       /* éä¿¡å²ãè¾¼ã¿è¨±å¯ */
+#define ISR_RX            0x01       /* åä¿¡å²ãè¾¼ã¿çºç */
+#define IER_RX            0x01       /* åä¿¡å²ãè¾¼ã¿è¨±å¯ */
+
+#define LCR_DL_MODE       0x80       /* Divisor Enable */
+#define LCR_NP_8_1        0x03       /* 8bit,1stop,Noparity,No break */
+#define FCR_FIFO_DISABLE  0x00
+
+#define LSR_RX_DATA_READY 0x01
+#define LSR_TX_EMPTY      0x20
+
+#define MCR_INT_ENABLE    0x08
+
+#define GCTL_UCEN		  0x01		/* Blackfinã®ã¿ */
+
+
+/*
+ * TNUM_SIOP_UART, UART0_ADDRESS, UART0_DIVISOR ã¯sys_config.hã§å®ç¾©ããã
+ *	TNUM_SIOP_UART : PDICãç®¡çããUARTã®åæ°
+ *  ä»¥ä¸ãPDICãç®¡çããæåã®UARTã®æ
+å ±
+ *  	UART0_ADDRESS : 		THRã®ã¢ãã¬ã¹
+ *  	UART0_DIVISOR : 		DLM, DLLã®åæå¤(16bitè¡¨è¨)
+ *      UART0_14550_FIFO : 		14550äºæã®FIFOãæã¤ã¨ãã«ãã¯ã­ãå®£è¨ãã
+ *		UART0_BLACKFIN_UCEN : 	Blackfinå°ç¨ããã¯ã­ãå®£è¨ããã¨åæåã³ã¼ããUART_GCTLã®UCENã1ã«ããã
+ *	äºã¤ç®ä»¥éã®UARTããããªãä»¥ä¸ã®ããã«ç¶ããã
+ *  	UART1_ADDRESS : 		THRã®ã¢ãã¬ã¹
+ *  	UART1_DIVISOR : 		DLM, DLLã®åæå¤(16bitè¡¨è¨)
+ *      UART1_14550_FIFO : 		14550äºæã®FIFOãæã¤ã¨ãã«ãã¯ã­ãå®£è¨ãã
+ *		UART1_BLACKFIN_UCEN : 	Blackfinå°ç¨ããã¯ã­ãå®£è¨ããã¨åæåã³ã¼ããUART_GCTLã®UCENã1ã«ããã
+ *	...
+ */
+
+
+/******************************************************************************************
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+#if TNUM_SIOP_UART == 0 
+#error "If you don't use UART, please remove this file from your make file" 
+#endif
+
+#if TNUM_SIOP_UART > 3
+#error "Only TNUM_SIOP_UART < 4 is supported" 
+#endif /* TNUM_SIOP_UART >= 2 */    
+
+/* ãã£ãã¤ã¶è¨ç®ãã¯ã­ */
+#define DLM(divisor) (divisor/256)
+#define DLL(divisor) (divisor%256)
+
+const SIOPINIB siopinib_table[TNUM_SIOP_UART] = {
+/*-----------------------------------------------------------------
+ *			PDICãç®¡çããæåã®UARTã®åæåãã©ã¡ã¼ã¿ 
+ */
+    {UART0_ADDRESS,  DLM(UART0_DIVISOR), DLL(UART0_DIVISOR), 
+#ifdef UART0_BLACKFIN_UCEN
+		1	/* ãã¯ã­UART0_BLACKFIN_UCENãå®ç¾©ããã¦ããããGCTLã®UCENã1ã«ãã¦ã¯ã­ãã¯ãåãã */
+#else
+		0
+#endif
+	}
+
+/*-----------------------------------------------------------------
+ *			PDICãç®¡çãã2çªç®ã®UARTã®åæåãã©ã¡ã¼ã¿ 
+ */
+
+#if TNUM_SIOP_UART > 1
+    ,{UART1_ADDRESS,    DLM(UART1_DIVISOR), DLL(UART1_DIVISOR),	
+#ifdef UART1_BLACKFIN_UCEN
+		1	/* ãã¯ã­UART1_BLACKFIN_UCENãå®ç¾©ããã¦ããããGCTLã®UCENã1ã«ãã¦ã¯ã­ãã¯ãåãã */
+#else
+		0
+#endif
+
+
+	}
+#endif /* if TNUM_SIOP_UART > 1*/
+
+/*-----------------------------------------------------------------
+ *			PDICãç®¡çãã3çªç®ã®UARTã®åæåãã©ã¡ã¼ã¿ 
+ */
+#if TNUM_SIOP_UART > 2
+    ,{UART2_ADDRESS,    DLM(UART2_DIVISOR), DLL(UART2_DIVISOR),
+#ifdef UART2_BLACKFIN_UCEN
+		1	/* ãã¯ã­UART2_BLACKFIN_UCENãå®ç¾©ããã¦ããããGCTLã®UCENã1ã«ãã¦ã¯ã­ãã¯ãåãã */
+#else
+		0
+#endif
+
+
+	}
+#endif /* if TNUM_SIOP_UART > 2*/
+
+};
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ããã¾ã§ã
+ ******************************************************************************************/
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)  ((UINT)((siopid) - 1))
+#define get_siopinib(siopid)  (&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP_UART];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+Inline void
+uart_write(UW addr, UW offset, UB val)
+{
+#ifdef UART_IOP_ACCESS
+    sil_wrb_iop((VP)(addr + offset),val);
+#else
+    sil_wrb_mem((VP)(addr + offset),val);	
+#endif
+}
+
+Inline UB
+uart_read(UW addr, UW offset)
+{
+#ifdef UART_IOP_ACCESS
+    return(sil_reb_iop((VP)(addr + offset)));
+#else
+    return(sil_reb_mem((VP)(addr + offset)));
+#endif
+}
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+uart_getready(SIOPCB *siopcb)
+{
+    UH status;
+
+    status = uart_read(siopcb->siopinib->reg_base, UART_LSR);
+    
+    return((status & LSR_RX_DATA_READY));
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+uart_putready(SIOPCB *siopcb)
+{
+    UH status;
+
+    status = uart_read(siopcb->siopinib->reg_base, UART_LSR);
+    
+    return (status & LSR_TX_EMPTY);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+uart_getchar(SIOPCB *siopcb)
+{
+    return(uart_read(siopcb->siopinib->reg_base,UART_RBR));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+uart_putchar(SIOPCB *siopcb, UB c)
+{
+    uart_write(siopcb->siopinib->reg_base, UART_THR, c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_send(SIOPCB *siopcb)
+{
+    uart_write(siopcb->siopinib->reg_base, UART_IER,
+                (uart_read(siopcb->siopinib->reg_base,UART_IER) | IER_TX));
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_send(SIOPCB *siopcb)
+{
+    uart_write(siopcb->siopinib->reg_base, UART_IER,
+                (uart_read(siopcb->siopinib->reg_base, UART_IER) & ~IER_TX));
+                
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+uart_enable_rcv(SIOPCB *siopcb)
+{
+    uart_write(siopcb->siopinib->reg_base, UART_IER,
+                (uart_read(siopcb->siopinib->reg_base,UART_IER) | IER_RX));
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+uart_disable_rcv(SIOPCB *siopcb)
+{
+    uart_write(siopcb->siopinib->reg_base, UART_IER,
+                (uart_read(siopcb->siopinib->reg_base, UART_IER) & ~IER_RX));
+                
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+uart_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP_UART; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+    
+/*
+ *
+ */
+void
+uart_init_siopinib(const SIOPINIB *siopinib)
+{
+
+	/*
+	 *  Blackfin ADSP-BF531/2/3, BF534/6/7, BF561ã®å
+èµUARTã«åºæã®ä½æ¥­ã
+	 *  Power Downã¢ã¼ãã®è§£é¤ã
+	 */
+	if ( siopinib->set_ucen )
+		uart_write(siopinib->reg_base, UART_GCTL, 
+			   (uart_read(siopinib->reg_base, UART_GCTL) | GCTL_UCEN ));
+    /*
+     *  åå¨æ¯ã®è¨­å®
+     */
+    /* Divisor Enable */
+    uart_write(siopinib->reg_base, UART_LCR,
+                (uart_read(siopinib->reg_base, UART_LCR) | LCR_DL_MODE));
+    uart_write(siopinib->reg_base, UART_DLL, siopinib->dll_val);
+    uart_write(siopinib->reg_base, UART_DLM, siopinib->dlm_val);
+    /* Divisor Disable */
+    uart_write(siopinib->reg_base, UART_LCR,
+                (uart_read(siopinib->reg_base, UART_LCR) & ~LCR_DL_MODE));
+
+    /* ã¢ã¼ãè¨­å®, ããªãã£ç¡ã 8bit data, 1 stop bit */
+    uart_write(siopinib->reg_base, UART_LCR, LCR_NP_8_1);
+
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    uart_write(siopinib->reg_base, UART_IER, 0x00);
+}
+
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ããã¼åºåç¨ã®åæå
+ */
+void 
+uart_init(void)
+{
+    int i;
+	/*
+	 * ãã¹ã¦ã®uartãåæåãããid ã¯1ããTNUM_SIOP_UARTã¾ã§ã
+	 */
+	for ( i=1; i<=TNUM_SIOP_UART; i++ )
+	    uart_init_siopinib(get_siopinib(i));
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+uart_openflag(void)
+{
+	int i;
+	
+	/*
+	 * éãã¦ãããã¼ããããã°0ãè¿ãããªããã°0ãè¿ãã
+	 */
+	for ( i=0; i<TNUM_SIOP_UART; i++ )
+		if (siopcb_table[0].openflag)
+			return( 1 );
+	return( 0 );
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+uart_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+    
+    /*
+     * åæå
+     */
+    uart_init_siopinib(siopcb->siopinib);
+    
+    /* åä¿¡å²è¾¼ã¿è¨±å¯ */
+    uart_write(siopcb->siopinib->reg_base, UART_IER, IER_RX);
+    
+    /* å²è¾¼ã¿ç·ãã¤ãã¼ãã« */
+    uart_write(siopcb->siopinib->reg_base, UART_MCR, MCR_INT_ENABLE);
+
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+uart_cls_por(SIOPCB *siopcb)
+{
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    uart_write(siopcb->siopinib->reg_base, UART_IER, 0x00);   
+    siopcb->openflag = FALSE;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+void
+uart_pol_putc(char c, ID siopid)
+{
+    const SIOPINIB *siopinib;
+    
+    siopinib = get_siopinib(siopid);
+    
+    while((uart_read(siopinib->reg_base, UART_LSR) & LSR_TX_EMPTY)
+          != LSR_TX_EMPTY)
+        ;
+    uart_write(siopinib->reg_base, UART_THR, c);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+uart_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (uart_putready(siopcb)){
+        uart_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+uart_rcv_chr(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        return((INT)(UB) uart_getchar(siopcb));
+    }
+    return(-1);
+}
+
+
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_enable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            uart_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            uart_disable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+uart_rx_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_rcv(siopcb->exinf);
+    }
+}
+
+static void
+uart_tx_isr_siop(SIOPCB *siopcb)
+{
+    if (uart_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        uart_ierdy_snd(siopcb->exinf);
+    }
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ *	ADSP-BF533ã®å
+èµUARTã¯éåã«å¥ã
+ã®å²è¾¼ã¿è¦æ±ãåºãããã
+ *  ISRãåãã¦ãããã¾ããADSP-BF537ã®ããã«äºã¤ä»¥ä¸ã®
+ *  UARTãæã¤å ´åãèæ
+®ãã¦ãuart0ã®ããã«ãã¼ãçªå·ã
+ *  ååã«ãã¼ãã³ã¼ããã¦ããã
+ *  ãã ãããã®ãã¼ãçªå·ã¨ã¯ãSIOã®ãã¼ãçªå·ã§ãã£ã¦ã
+ *  ãã¼ãã¦ã§ã¢ã®UARTçªå·ã¨åãã ã¨ã¯éããªãã
+ */
+
+/*
+ ***** UART0
+ */
+void
+uart0_rx_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[0]));
+}
+
+void
+uart0_tx_isr()
+{
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[0]));
+}
+
+/*
+ ***** UART1
+ */
+void
+uart1_rx_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[1]));
+}
+
+void
+uart1_tx_isr()
+{
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[1]));
+}
+
+/*
+ ***** UART2
+ */
+void
+uart2_rx_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[2]));
+}
+
+void
+uart2_tx_isr()
+{
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[2]));
+}
+
+
+
+
+
+/*
+ * UARTã®éåã§å²è¾¼ã¿ãå
+±æããå ´åï¼ãã¡ãã®ã»ããä¸è¬çï¼ã¯ã
+ * ä¸ã®ã«ã¼ãã³ã§ã¯ãªããã¡ããå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã¨ãã¦ä½¿ãã
+ */
+void
+uart0_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[0]));
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[0]));
+}
+
+void
+uart1_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[1]));
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[1]));
+}
+
+void
+uart2_isr()
+{
+		/* ä¸ä½ã®åä¿¡å¦çãå¼ã¶ */
+    uart_rx_isr_siop(&(siopcb_table[2]));
+		/* ä¸ä½ã®éä¿¡å¦çãå¼ã¶ */
+    uart_tx_isr_siop(&(siopcb_table[2]));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/lpc2388uart.h	(revision 26)
@@ -0,0 +1,175 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+/*
+ *   CQ-FRK-NXP-ARM UARTç¨ ç°¡æSIOãã©ã¤ã
+ *
+ *   ãã®ãã¡ã¤ã«ã¯ãTOPPERS/JSP 1.4.2ã® pdic/simple_sio/st16c2550.hã
+ *   ãªãã¼ã ããå
+é¨ã®è­å¥å­ãå¤æ´ãããã®ã§ããã
+ */
+#ifndef _UART_H_
+#define _UART_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+    UW reg_base;    	/* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+    UB dlm_val;     	/* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤   */
+    UB dll_val;  	  	/* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤   */
+	UB set_ucen:1;		/* 1ã®ã¨ããGCTLã®UCENã1ã«ãã(ADSP-BF53xã®ã¿) */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+    const SIOPINIB  *siopinib; /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;     /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;          /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;          /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;          /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;          /* æå­ãéä¿¡ã§ããç¶æ
+ */
+}SIOPCB;
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void uart_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+extern void uart_pol_putc(char c, ID siopid);
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void uart_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL uart_openflag(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *uart_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void uart_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL uart_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  uart_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void uart_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void uart_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void uart0_tx_isr(void);
+extern void uart0_rx_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void uart_ierdy_rcv(VP_INT exinf);
+
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.c	(revision 26)
@@ -0,0 +1,452 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: st16c2550.c,v 1.4 2005/11/12 15:00:43 honda Exp $
+ */
+
+/*
+ *     ST16C2550 ç¨ ç°¡æSIOãã©ã¤ã
+ */
+#include <s_services.h>
+#include <st16c2550.h>
+ 
+/*
+ * åã¬ã¸ã¹ã¿ã®ãªãã»ãã
+ */
+#define ST16C_RHR   0x00   /* H  LCR bit7=0 Read  */
+#define ST16C_THR   0x00   /* H  LCR bit7=0 Write */
+#define ST16C_DLL   0x00   /* H  LCR bit7=1       */
+#define ST16C_IER   0x02   /* H  LCR bit7=0       */
+#define ST16C_DLM   0x02   /* H  LCR bit7=1       */
+#define ST16C_ISR   0x04   /* H  Read  */
+#define ST16C_FCR   0x04   /* H  Write */
+#define ST16C_LCR   0x06   /* H  */
+#define ST16C_MCR   0x08   /* H  */
+#define ST16C_LSR   0x0a   /* H  Read */
+#define ST16C_MSR   0x0c   /* H  Read */
+#define ST16C_SPR   0x0e   /* H  */
+
+#define ISR_TX            0x02       /* éä¿¡å²ãè¾¼ã¿çºç */
+#define IER_TX            0x02       /* éä¿¡å²ãè¾¼ã¿è¨±å¯ */
+#define ISR_RX            0x01       /* åä¿¡å²ãè¾¼ã¿çºç */
+#define IER_RX            0x01       /* åä¿¡å²ãè¾¼ã¿è¨±å¯ */
+
+#define LCR_DL_MODE       0x80       /* Divisor Enable */
+#define LCR_VAL           0x03       /* 8bit,1stop,Noparity,No break */
+#define FCR_FIFO_DISABLE  0x00
+
+#define LSR_RX_DATA_READY 0x01
+#define LSR_TX_EMPTY      0x20
+
+#define MCR_INT_ENABLE    0x08
+
+/*
+ *  115200bpsã«è¨­å®
+ *  4 = (7372800Hz)/(115200*16)
+ */
+#define DLM_VAL  0x00
+#define DLL_VAL  0x04
+
+
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+    {ST16C_CHB, LCR_VAL, DLM_VAL, DLL_VAL, PINTER_PINT7E},
+#if TNUM_SIOP > 2
+    {ST16C_CHA, LCR_VAL, DLM_VAL, DLL_VAL, PINTER_PINT6E},
+#endif /* TNUM_SIOP > 2 */    
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)  ((UINT)((siopid) - 1))
+#define get_siopinib(siopid)  (&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB  siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)  ((UINT)((siopid) - 1))
+#define get_siopcb(siopid)  (&(siopcb_table[INDEX_SIOP(siopid)]))
+
+Inline void
+st16c_write(UW addr, UW offset, UB val)
+{
+    sil_wrh_mem((VP)(addr + offset),val);
+}
+
+Inline UB
+st16c_read(UW addr, UW offset)
+{
+    return(sil_reh_mem((VP)(addr + offset)));
+}
+
+
+/*
+ * æå­ãåä¿¡ããã?
+ */ 
+Inline BOOL
+st16c_getready(SIOPCB *siopcb)
+{
+    UH status;
+
+    status = st16c_read(siopcb->siopinib->reg_base, ST16C_LSR);
+    
+    return((status & LSR_RX_DATA_READY));
+}
+
+/*
+ * æå­ãéä¿¡ã§ããã?
+ */
+Inline BOOL
+st16c_putready(SIOPCB *siopcb)
+{
+    UH status;
+
+    status = st16c_read(siopcb->siopinib->reg_base, ST16C_LSR);
+    
+    return (status & LSR_TX_EMPTY);
+}
+
+/*
+ *  åä¿¡ããæå­ã®åãåºã
+ */
+Inline UB
+st16c_getchar(SIOPCB *siopcb)
+{
+    return(st16c_read(siopcb->siopinib->reg_base,ST16C_RHR));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸ãè¾¼ã¿
+ */
+Inline void
+st16c_putchar(SIOPCB *siopcb, UB c)
+{
+    st16c_write(siopcb->siopinib->reg_base, ST16C_THR, c);
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+st16c_enable_send(SIOPCB *siopcb)
+{
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER,
+                (st16c_read(siopcb->siopinib->reg_base,ST16C_IER) | IER_TX));
+}
+
+/*
+ *  éä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+st16c_disable_send(SIOPCB *siopcb)
+{
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER,
+                (st16c_read(siopcb->siopinib->reg_base, ST16C_IER) & ~IER_TX));
+                
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿è¨±å¯
+ */
+Inline void
+st16c_enable_rcv(SIOPCB *siopcb)
+{
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER,
+                (st16c_read(siopcb->siopinib->reg_base,ST16C_IER) | IER_RX));
+}
+
+/*
+ *  åä¿¡å²è¾¼ã¿ç¦æ­¢
+ */
+Inline void
+st16c_disable_rcv(SIOPCB *siopcb)
+{
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER,
+                (st16c_read(siopcb->siopinib->reg_base, ST16C_IER) & ~IER_RX));
+                
+}
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+st16c2550_initialize()
+{
+    SIOPCB  *siopcb;
+    UINT    i;
+
+    /*
+     *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+     */
+    for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+        siopcb->siopinib = &(siopinib_table[i]);
+        siopcb->openflag = FALSE;
+        siopcb->sendflag = FALSE;
+    }
+}
+
+    
+/*
+ *
+ */
+void
+st16c2550_init_siopinib(const SIOPINIB *siopinib)
+{
+    /*
+     *  åå¨æ¯ã®è¨­å®
+     */
+    /* Divisor Enable */
+    st16c_write(siopinib->reg_base, ST16C_LCR,
+                (st16c_read(siopinib->reg_base, ST16C_LCR) | LCR_DL_MODE));
+    st16c_write(siopinib->reg_base, ST16C_DLL, siopinib->dll_val);
+    st16c_write(siopinib->reg_base, ST16C_DLM, siopinib->dlm_val);
+    /* Divisor Disable */
+    st16c_write(siopinib->reg_base, ST16C_LCR,
+                (st16c_read(siopinib->reg_base, ST16C_LCR) & ~LCR_DL_MODE));
+
+    /* ã¢ã¼ãè¨­å® */
+    st16c_write(siopinib->reg_base, ST16C_LCR, siopinib->lcr_val);
+
+    /* FIFO Disable */
+    st16c_write(siopinib->reg_base, ST16C_FCR, FCR_FIFO_DISABLE);
+
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    st16c_write(siopinib->reg_base, ST16C_IER, 0x00);
+}
+
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ãã¼ãã¼åºåç¨ã®åæå
+ */
+void
+st16c2550_init(void)
+{
+    
+    st16c2550_init_siopinib(get_siopinib(1));
+#if TNUM_SIOP > 2
+    st16c2550_init_siopinib(get_siopinib(2));    
+#endif /* TNUM_SIOP > 2 */        
+    
+}
+
+/*
+ * ãªã¼ãã³ãã¦ãããã¼ããããã
+ */
+BOOL
+st16c2550_openflag(void)
+{
+#if TNUM_SIOP < 2
+    return(siopcb_table[0].openflag);
+#else /* TNUM_SIOP < 2 */
+    return(siopcb_table[0].openflag || siopcb_table[1].openflag);
+#endif /* TNUM_SIOP < 2 */
+}
+
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+st16c2550_opn_por(ID siopid, VP_INT exinf)
+{
+    SIOPCB      *siopcb;
+    const SIOPINIB  *siopinib;
+
+    siopcb = get_siopcb(siopid);
+    siopinib = siopcb->siopinib;
+    
+    /*
+     * åæå
+     */
+    st16c2550_init_siopinib(siopcb->siopinib);
+    
+    /* åä¿¡å²è¾¼ã¿è¨±å¯ */
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER, IER_RX);
+    
+    /* å²è¾¼ã¿ç·ãã¤ãã¼ãã« */
+    st16c_write(siopcb->siopinib->reg_base, ST16C_MCR, MCR_INT_ENABLE);
+
+    siopcb->exinf = exinf;
+    siopcb->getready = siopcb->putready = FALSE;
+    siopcb->openflag = TRUE;
+
+    return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+st16c2550_cls_por(SIOPCB *siopcb)
+{
+    /* å²è¾¼ã¿ç¦æ­¢ */
+    st16c_write(siopcb->siopinib->reg_base, ST16C_IER, 0x00);   
+    siopcb->openflag = FALSE;
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+void
+st16c2550_pol_putc(char c, ID siopid)
+{
+    const SIOPINIB *siopinib;
+    
+    siopinib = get_siopinib(siopid);
+    
+    while((st16c_read(siopinib->reg_base, ST16C_LSR) & LSR_TX_EMPTY)
+          != LSR_TX_EMPTY)
+        ;
+    st16c_write(siopinib->reg_base, ST16C_THR, c);
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+st16c2550_snd_chr(SIOPCB *siopcb, char c)
+{
+    if (st16c_putready(siopcb)){
+        st16c_putchar(siopcb, c);
+        return(TRUE);
+    }
+    return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+st16c2550_rcv_chr(SIOPCB *siopcb)
+{
+    if (st16c_getready(siopcb)) {
+        return((INT)(UB) st16c_getchar(siopcb));
+    }
+    return(-1);
+}
+
+
+
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+st16c2550_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            st16c_enable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            st16c_enable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+st16c2550_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+    switch (cbrtn) {
+        case SIO_ERDY_SND:
+            st16c_disable_send(siopcb);
+            break;
+        case SIO_ERDY_RCV:
+            st16c_disable_rcv(siopcb);
+            break;
+    }
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+st16c2550_isr_siop(SIOPCB *siopcb)
+{
+    if (st16c_getready(siopcb)) {
+        /*
+         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        st16c2550_ierdy_rcv(siopcb->exinf);
+    }
+    if (st16c_putready(siopcb)) {
+        /*
+         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         */
+        st16c2550_ierdy_snd(siopcb->exinf);
+    }
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+st16c2550_isr()
+{
+    st16c2550_isr_siop(&(siopcb_table[0]));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/st16c2550.h	(revision 26)
@@ -0,0 +1,172 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: st16c2550.h,v 1.1 2003/12/11 06:47:39 honda Exp $
+ */
+
+/*
+ *   ST16C2550 ç¨ ç°¡æSIOãã©ã¤ã
+ */
+#ifndef _ST16C2550_H_
+#define _ST16C2550_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+typedef struct sio_port_initialization_block {
+    UW reg_base;    /* ã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ */
+    UB lcr_val;     /* ã¢ã¼ãã¬ã¸ã¹ã¿ã®è¨­å®å¤   */
+    UB dlm_val;     /* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤   */
+    UB dll_val;     /* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤   */
+    UW pinter_val;  /* å²è¾¼ã¿è¨±å¯ããã   */    
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct sio_port_control_block {
+    const SIOPINIB  *siopinib; /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+    VP_INT          exinf;     /* æ¡å¼µæ
+å ± */
+    BOOL    openflag;          /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+    BOOL    sendflag;          /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */
+    BOOL    getready;          /* æå­ãåä¿¡ããç¶æ
+ */
+    BOOL    putready;          /* æå­ãéä¿¡ã§ããç¶æ
+ */
+}SIOPCB;
+
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND    1u      /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV    2u      /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+
+/*
+ * ã«ã¼ãã«èµ·åæç¨ã®åæå(sys_putcãä½¿ç¨ãããã)
+ */
+extern void st16c2550_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+extern void st16c2550_pol_putc(char c, ID siopid);
+
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void st16c2550_initialize(void);
+
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL st16c2550_openflag(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB   *st16c2550_opn_por(ID siopid, VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void st16c2550_cls_por(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL st16c2550_snd_chr(SIOPCB *siopcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT  st16c2550_rcv_chr(SIOPCB *siopcb);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void st16c2550_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void st16c2550_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void st16c2550_isr(void);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void st16c2550_ierdy_snd(VP_INT exinf);
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void st16c2550_ierdy_rcv(VP_INT exinf);
+
+
+#endif /* _FDC37C935A_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.c	(revision 26)
@@ -0,0 +1,440 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#include <tl16pir552.h>
+
+/*
+ *	TL16PIR552(TI)ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	VP	channel_addr;	/* ã·ãªã¢ã«ãã¼ãã®éå§çªå° */
+
+	UB	lcr_def;	/* LCRè¨­å®å¤ b0-b6;
+				(éåä¿¡ãããæ°ãã¹ããããããï¼ããªãã£) */
+	UB	scr_def;	/* SCRè¨­å®å¤ï¼ããªã¹ã±ã¼ã©ï¼ï¼*/
+	UB	boud_hi_def;	/* DLMè¨­å®å¤ï¼ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ï¼ */
+	UB	boud_lo_def;	/* DLLè¨­å®å¤ï¼ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ï¼ */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	BOOL		getready;	/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL		putready;	/* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *    ID = 1 ããã¼ã1ï¼ID = 2 ããã¼ã2ã«å¯¾å¿ããã¦ããï¼
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ (VP)  UART_CH01,
+	  (UB)	WORD_LENGTH_8 | STOP_BITS_1 | PARITY_NON,
+	  (UB)	PRE_DIVISOR,
+	  (UB)	HI8(DIVISOR),
+	  (UB)	LO8(DIVISOR) },
+#if TNUM_SIOP >= 2
+	{ (VP)  UART_CH02,
+	  (UB)	WORD_LENGTH_8 | STOP_BITS_1 | PARITY_NON,
+	  (UB)	PRE_DIVISOR,
+	  (UB)	HI8(DIVISOR),
+	  (UB)	LO8(DIVISOR) },
+#endif /* TNUM_SIOP >= 2 */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®ååºã
+ */
+#define INDEX_SIOPINIB(siopid)	((UINT)((siopid) - 1))
+#define get_siopinib(siopid)	(&(siopinib_table[INDEX_SIOPINIB(siopid)]))
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOç¨ã¬ã¸ã¹ã¿æä½é¢æ°
+ */
+Inline void
+tl16pir552_orb( VP addr, UW reg, UB val )
+{
+	tl16pir552_wrb( addr, reg, tl16pir552_reb( addr, reg ) | val );
+}
+
+Inline void
+tl16pir552_andb( VP addr, UW reg, UB val )
+{
+	tl16pir552_wrb( addr, reg, tl16pir552_reb( addr, reg ) & val );
+}
+
+
+/*
+ *  ç¶æ
+ã®èª­åºãï¼IIRã®èª­åºãï¼
+ */
+static void
+tl16pir552_get_stat(SIOPCB *siopcb)
+{
+	UB	iir;
+
+	iir = tl16pir552_reb( siopcb->siopinib->channel_addr, IIR) & INT_MASK;
+
+	switch( iir ) {
+		case INT_TRANS_EMPTY :
+			siopcb->putready = TRUE;
+			break;
+		case INT_RECEIVE_DATA :
+		case INT_CHAR_TIME_OUT :
+			siopcb->getready = TRUE;
+			break;
+		default :
+			break;
+	}
+
+}
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+tl16pir552_getready(SIOPCB *siopcb)
+{
+	return(siopcb->getready);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+tl16pir552_putready(SIOPCB *siopcb)
+{
+	return(siopcb->putready);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+tl16pir552_getchar(SIOPCB *siopcb)
+{
+	siopcb->getready = FALSE;
+	return((char) tl16pir552_reb( siopcb->siopinib->channel_addr, RBR ));
+	/* 1byte åä½ã§ã®æå­ã®åãåºããè¡ã£ããããããtl16pir552_opn_porå
+ã®
+	   åä¿¡ãããã¡è¨­å®ãå¢ãããã¨ãã¦ãæ§è½ã®åä¸ã¯è¦ãããªãã
+	   æ§è½ã®åä¸ã«ã¯ããããã¡å
+¨ä½ã®ãã­ãã¯è»¢éãè¡ããªã©ã®ä¿®æ­£ãå¿
+è¦ã*/
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+tl16pir552_putchar(SIOPCB *siopcb, char c)
+{
+	siopcb->putready = FALSE;
+	tl16pir552_wrb( siopcb->siopinib->channel_addr, THR, c );
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+tl16pir552_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  SIOã¬ã¸ã¹ã¿åæåã«ã¼ãã³
+ */
+void
+tl16pir552_init_siopinib( const SIOPINIB  *siopinib )
+{
+	/*
+	 * SIOã¬ã¸ã¹ã¿ã®åæå
+	 */
+	/* åæå¦ç */
+	tl16pir552_wrb( siopinib->channel_addr, IER, DIS_INT );
+
+	tl16pir552_wrb( siopinib->channel_addr, MCR, ENABLE_EXT_INT );
+
+	/* ãã¼ã¬ã¼ãã®è¨­å® */
+	tl16pir552_wrb( siopinib->channel_addr, LCR, siopinib->lcr_def | DIVISOR_LATCH_ACC );
+
+	tl16pir552_wrb( siopinib->channel_addr, SCR, siopinib->scr_def );
+
+	tl16pir552_wrb( siopinib->channel_addr, DLL, siopinib->boud_lo_def );
+	tl16pir552_wrb( siopinib->channel_addr, DLM, siopinib->boud_hi_def );
+
+	/* ã¢ã¼ãã®è¨­å® */
+	tl16pir552_wrb( siopinib->channel_addr, LCR, siopinib->lcr_def );
+
+	/* FIFOã®è¨­å® */
+	tl16pir552_wrb( siopinib->channel_addr, FCR, FIFO_ENABLE );
+	tl16pir552_wrb( siopinib->channel_addr, FCR, FIFO_ENABLE | RECEIVE_FIFO_RESET | TRANS_FIFO_RESET | RECEIVE_TRIG_1_BYTE );
+	tl16pir552_wrb( siopinib->channel_addr, FCR, FIFO_ENABLE | RECEIVE_TRIG_1_BYTE );
+
+	/* çµäºå¦ç */
+	tl16pir552_wrb( siopinib->channel_addr, MCR, DTR | RTS | ENABLE_EXT_INT );
+
+	tl16pir552_wrb( siopinib->channel_addr, IER, RECEIVE_DATA_AVAILABLE);
+}
+
+/*
+ *  ã«ã¼ãã«èµ·åæã®ãã¼ãã¼åºåç¨ã®åæå
+ */
+void
+tl16pir552_init(void)
+{
+	tl16pir552_init_siopinib( get_siopinib(1) );
+#if TNUM_SIOP >= 2
+	tl16pir552_init_siopinib( get_siopinib(2) );
+#endif /* TNUM_SIOP >= 2 */
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+tl16pir552_openflag(void)
+{
+#if TNUM_SIOP < 2
+	return(siopcb_table[0].openflag);
+#else /* TNUM_SIOP < 2 */
+	return(siopcb_table[0].openflag || siopcb_table[1].openflag);
+#endif /* TNUM_SIOP < 2 */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+tl16pir552_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb = get_siopcb(siopid);
+	const SIOPINIB	*siopinib = siopcb->siopinib;
+
+	/* ã·ãªã¢ã«ã³ã³ãã­ã¼ã©ã®åæå */
+	tl16pir552_init_siopinib( siopinib );
+
+	/* å²è¾¼ã¿ã¬ãã«è¨­å®ãå²è¾¼ã¿è¦æ±ã¯ãªã¢ã¯ãsio_opn_por(hw_serial.h)ã§è¡ãã */
+
+	siopcb->exinf = exinf;
+	siopcb->getready = siopcb->putready = FALSE;
+	siopcb->openflag = TRUE;
+
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+tl16pir552_cls_por(SIOPCB *siopcb)
+{
+	tl16pir552_wrb( siopcb->siopinib->channel_addr, IER, DIS_INT );
+
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+tl16pir552_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (tl16pir552_putready(siopcb)) {
+		tl16pir552_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+tl16pir552_rcv_chr(SIOPCB *siopcb)
+{
+	if (tl16pir552_getready(siopcb)) {
+		return((INT)(UB) tl16pir552_getchar(siopcb));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+tl16pir552_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ier_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		ier_bit = TRANS_REG_EMPTY;
+		break;
+	case SIO_ERDY_RCV:
+		ier_bit = (RECEIVE_DATA_AVAILABLE | RECEIVE_LINE_STATUS);
+		break;
+	}
+
+	tl16pir552_orb( siopcb->siopinib->channel_addr, IER, ier_bit );
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+tl16pir552_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	ier_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		ier_bit = TRANS_REG_EMPTY;
+		break;
+	case SIO_ERDY_RCV:
+		ier_bit = (RECEIVE_DATA_AVAILABLE | RECEIVE_LINE_STATUS);
+		break;
+	}
+
+	tl16pir552_andb( siopcb->siopinib->channel_addr, IER, ~ier_bit );
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+tl16pir552_isr_siop(SIOPCB *siopcb)
+{
+	tl16pir552_get_stat(siopcb);
+
+	if ( tl16pir552_getready(siopcb) ) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		tl16pir552_ierdy_rcv(siopcb->exinf);
+	} else if ( tl16pir552_putready(siopcb) ) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		tl16pir552_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+tl16pir552_uart0_isr()
+{
+	if (siopcb_table[0].openflag) {
+		tl16pir552_isr_siop(&(siopcb_table[0]));
+	}
+}
+
+#if TNUM_SIOP >= 2
+void
+tl16pir552_uart1_isr()
+{
+	if (siopcb_table[1].openflag) {
+		tl16pir552_isr_siop(&(siopcb_table[1]));
+	}
+}
+#endif /* TNUM_SIOP >= 2 */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå
+ */
+void
+tl16pir552_putchar_pol( char val ) {
+
+	const SIOPINIB  *siopinib = get_siopinib( LOGTASK_PORTID );
+
+	/* éä¿¡é¨ã¨ã³ããã£ã«ãªãã¾ã§å¾
+ã¤ã */
+	while( (tl16pir552_reb( siopinib->channel_addr, LSR ) & (TEMT) ) == 0 );
+
+	tl16pir552_wrb( siopinib->channel_addr, THR, val );
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/tl16pir552.h	(revision 26)
@@ -0,0 +1,210 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2000-2003 by Industrial Technology Institute,
+ *                              Miyagi Prefectural Government, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#ifndef _TL16PIR552_H_
+#define _TL16PIR552_H_
+
+#include <s_services.h>		/* ããã¤ã¹ãã©ã¤ãç¨æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã« */
+
+/*
+ *  ã·ãªã¢ã«ï¼ãã©ã¬ã« I/O TL16PIR552(TI) é¢é£ã®å®ç¾©
+ */
+/* TL16PIR552ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ */
+#define RBR	0x00	/* Receiver Buffer (èª­ã¿åºã) */
+#define THR	0x00	/* Transmitter Holding Register (æ¸ãåºã) */
+#define DLL	0x00	/* Divisor Latch (LSB) */
+#define IER	0x10	/* Interrupt-Enable Register */
+#define DLM	0x10	/* Divisor Latch (MSB) */
+#define	IIR	0x20	/* Interrupt-Ident Register (èª­ã¿åºã) */
+#define	FCR	0x20	/* FIFO Control Register (æ¸ãåºã) */
+#define	LCR	0x30	/* Line-Control Register */
+#define	MCR	0x40	/* Modem-Control Register */
+#define	LSR	0x50	/* Line-Status Register */
+#define	MSR	0x60	/* Modem-Status Register */
+#define	SCR	0x70	/* Scratch Register */
+
+/* for LCR */
+#define	WORD_LENGTH_8		(BIT1 | BIT0)
+#define	STOP_BITS_1		0u		/* BIT2 */
+#define	PARITY_NON		0u		/* BIT3, 4 */
+/* BIT5,6 çç¥ */
+#define	DIVISOR_LATCH_ACC	BIT7
+
+/* for IER */
+#define	DIS_INT			0u
+#define	RECEIVE_DATA_AVAILABLE	BIT0
+#define	TRANS_REG_EMPTY		BIT1
+#define RECEIVE_LINE_STATUS	BIT2
+#define MODEM_STATUS		BIT3
+
+/* for MCR */
+#define	DTR			BIT0
+#define	RTS			BIT1
+#define	ENABLE_EXT_INT		BIT3
+#define	AUTOFLOW_CONTROL	BIT5
+
+/* for FCR */
+#define	FIFO_ENABLE		BIT0
+#define	RECEIVE_FIFO_RESET	BIT1
+#define	TRANS_FIFO_RESET	BIT2
+#define RECEIVE_TRIG_1_BYTE	0u		/* BIT6, 7 */
+#define RECEIVE_TRIG_4_BYTE	BIT6
+#define	RECEIVE_TRIG_8_BYTE	BIT7
+#define	RECEIVE_TRIG_14_BYTE	(BIT6 | BIT7)
+
+/* for IIR */
+#define	INT_MASK		0x0f
+#define	INT_RECEIVE_DATA	BIT2
+#define INT_CHAR_TIME_OUT	(BIT3 | BIT2)
+#define	INT_TRANS_EMPTY		BIT1
+
+/* for LSR */
+#define	THRE			BIT5
+#define TEMT			BIT6
+
+/* ãã¼ã¬ã¼ãå®ç¾©é¢ä¿ */
+#define	PRE_DIVISOR	4
+#define	DIVISOR		XIN_CLOCK / (8 * DEVIDE_RATIO * PRE_DIVISOR)
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+#endif /* _MACRO_ONLY */
+
+/*
+ *  SIOç¨ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ã¼
+ */
+/* x : ãã¼ãã®ãã¼ã¹ã¢ãã¬ã¹ãy : ã¬ã¸ã¹ã¿ãªãã»ãããz : ã¬ã¸ã¹ã¿å¤ */
+#define tl16pir552_wrb( x, y, z )	sil_wrb_mem( (VP)(x + y), z )
+#define tl16pir552_reb( x, y )		sil_reb_mem( (VP)(x + y) )
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+#ifndef _MACRO_ONLY
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	tl16pir552_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	tl16pir552_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*tl16pir552_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	tl16pir552_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	tl16pir552_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	tl16pir552_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	tl16pir552_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	tl16pir552_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	tl16pir552_uart0_isr(void);
+extern void	tl16pir552_uart1_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	tl16pir552_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	tl16pir552_ierdy_rcv(VP_INT exinf);
+
+/*
+ *  ã«ã¼ãã«èµ·åæç¨ã®åæå (sys_putcã§å©ç¨)
+ */
+extern void	tl16pir552_init(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ */
+extern void	tl16pir552_putchar_pol(char c);
+
+#endif /* _MACRO_ONLY */
+#endif /* _TL16PIR552_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.c	(revision 26)
@@ -0,0 +1,463 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: upd72001.c,v 1.4 2003/12/13 06:21:49 hiro Exp $
+ */
+
+/*
+ *	Î¼PD72001ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+#include <s_services.h>
+#include <upd72001.h>
+
+/*
+ *  ããã¤ã¹ã¬ã¸ã¹ã¿ã®ã¢ã¯ã»ã¹ééæéï¼nsecåä½ï¼
+ *
+ *  200ã¨ããå¤ã«ãã¾ãæ ¹æ ã¯ãªãï¼
+ */
+#define	UPD72001_DELAY	200
+
+/*
+ *  Î¼PD72001ã®ã¬ã¸ã¹ã¿ã®çªå·
+ */
+#define	UPD72001_CR0	0x00u		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ */
+#define	UPD72001_CR1	0x01u
+#define	UPD72001_CR2	0x02u
+#define	UPD72001_CR3	0x03u
+#define	UPD72001_CR4	0x04u
+#define	UPD72001_CR5	0x05u
+#define	UPD72001_CR10	0x0au
+#define	UPD72001_CR12	0x0cu
+#define	UPD72001_CR14	0x0eu
+#define	UPD72001_CR15	0x0fu
+
+#define	UPD72001_SR0	0x00u		/* ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ */
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®è¨­å®å¤
+ */
+#define CR_RESET	0x18u		/* ãã¼ããªã»ããã³ãã³ã */
+
+#define CR0_EOI		0x38u		/* EOIï¼End of Interruptï¼*/
+
+#define CR1_DOWN	0x00u		/* å
+¨å²è¾¼ã¿ãç¦æ­¢ */
+#define CR1_RECV	0x10u		/* åä¿¡å²è¾¼ã¿è¨±å¯ããã */
+#define CR1_SEND	0x02u		/* éä¿¡å²è¾¼ã¿è¨±å¯ããã */
+
+#define CR3_DEF		0xc1u		/* ãã¼ã¿ 8bitï¼åä¿¡ã¤ãã¼ãã« */
+#define CR4_DEF		0x44u		/* ã¹ãããããã 1bitï¼ããªãã£ãªã */
+#define CR5_DEF		0xeau		/* ãã¼ã¿ 8bitï¼éä¿¡ã¤ãã¼ãã« */
+
+#define CR10_DEF	0x00u		/* NRZ */
+#define CR14_DEF	0x07u		/* ãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ã¤ãã¼ãã« */
+#define CR15_DEF	0x56u		/* ãã¼ã¬ã¼ãã¸ã§ãã¬ã¼ã¿ä½¿ç¨ */
+
+#define SR0_RECV	0x01u		/* åä¿¡éç¥ããã */
+#define SR0_SEND	0x04u		/* éä¿¡å¯è½ããã */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	VP	data;		/* ãã¼ã¿ã¬ã¸ã¹ã¿ã®çªå° */
+	VP	ctrl;		/* ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿ã®çªå° */
+
+	UB	cr3_def;	/* CR3ã®è¨­å®å¤ï¼åä¿¡ãããæ°ï¼*/
+	UB	cr4_def;	/* CR4ã®è¨­å®å¤ï¼ã¹ããããããï¼ããªãã£ï¼*/
+	UB	cr5_def;	/* CR5ã®è¨­å®å¤ï¼éä¿¡ãããæ°ï¼*/
+	UB	brg1_def;	/* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ */
+	UB	brg2_def;	/* ãã¼ã¬ã¼ãä¸ä½ã®è¨­å®å¤ */
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB	*siopinib;	/* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	VP_INT		exinf;		/* æ¡å¼µæ
+å ± */
+	BOOL		openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	UB		cr1;		/* CR1ã®è¨­å®å¤ï¼å²è¾¼ã¿è¨±å¯ï¼*/
+	BOOL		getready;	/* æå­ãåä¿¡ããç¶æ
+ */
+	BOOL		putready;	/* æå­ãéä¿¡ã§ããç¶æ
+ */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ *
+ *  ID = 1 ããã¼ãBï¼ID = 2 ããã¼ãAã«å¯¾å¿ããã¦ããï¼
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{ (VP) TADR_UPD72001_DATAB, (VP) TADR_UPD72001_CTRLB,
+		CR3_DEF, CR4_DEF, CR5_DEF, BRG1_DEF, BRG2_DEF },
+#if TNUM_SIOP >= 2
+	{ (VP) TADR_UPD72001_DATAA, (VP) TADR_UPD72001_CTRLA,
+		CR3_DEF, CR4_DEF, CR5_DEF, BRG1_DEF, BRG2_DEF },
+#endif /* TNUM_SIOP >= 2 */
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((UINT)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  ããã¤ã¹ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹é¢æ°
+ */
+Inline UB
+upd72001_read_reg(VP addr)
+{
+	UB	val;
+
+	val = (UB) upd72001_reb_reg(addr);
+	sil_dly_nse(UPD72001_DELAY);
+	return(val);
+}
+
+Inline void
+upd72001_write_reg(VP addr, UB val)
+{
+	upd72001_wrb_reg(addr, (VB) val);
+	sil_dly_nse(UPD72001_DELAY);
+}
+
+Inline UB
+upd72001_read_ctrl(VP addr, UB reg)
+{
+	upd72001_write_reg(addr, reg);
+	return(upd72001_read_reg(addr));
+}
+
+Inline void
+upd72001_write_ctrl(VP addr, UB reg, UB val)
+{
+	upd72001_write_reg(addr, reg);
+	upd72001_write_reg(addr, val);
+}
+
+Inline void
+upd72001_write_brg(VP addr, UB reg, UB val, UB brg2, UB brg1)
+{
+	upd72001_write_reg(addr, reg);
+	upd72001_write_reg(addr, val);
+	upd72001_write_reg(addr, brg2);
+	upd72001_write_reg(addr, brg1);
+	(void) upd72001_read_reg(addr);		/* ããã¼ãªã¼ã */
+}
+
+/*
+ *  ç¶æ
+ã®èª­åºãï¼SR0ã®èª­åºãï¼
+ *
+ *  Î¼PD72001ã¯ï¼ç¶æ
+ï¼SR0ï¼ãä¸åº¦èª­ãã¨åä¿¡éç¥ããããè½ã¡ã¦ãã¾ãã
+ *  ãï¼ç¶æ
+ãèª­ã¿åºãé¢æ°ãè¨­ãï¼ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ä¸­ã®
+ *  getready ã«åä¿¡éç¥ç¶æ
+ï¼putready ã«éä¿¡å¯è½ç¶æ
+ãä¿å­ãã¦ããï¼é
+ *  ä¿¡å¯è½ç¶æ
+ã®ä¿å­ã¯ä¸è¦ãããããªãï¼ï¼
+ *  ç¶æ
+ã¬ã¸ã¹ã¿ãèª­ãã§ãåä¿¡éç¥ããããè½ã¡ãªãããã¤ã¹ï¼ãã¡ããæ®
+ *  éã¨æãããï¼ã§ã¯ï¼ãã®é¢æ°ã¯å¿
+è¦ãªãï¼
+ */
+static void
+upd72001_get_stat(SIOPCB *siopcb)
+{
+	UB	sr0;
+
+	sr0 = upd72001_read_ctrl(siopcb->siopinib->ctrl, UPD72001_SR0);
+	if ((sr0 & SR0_RECV) != 0) {
+		siopcb->getready = TRUE;
+	}
+	if ((sr0 & SR0_SEND) != 0) {
+		siopcb->putready = TRUE;
+	}
+}
+
+/*
+ *  æå­ãåä¿¡ã§ãããï¼
+ */
+Inline BOOL
+upd72001_getready(SIOPCB *siopcb)
+{
+	upd72001_get_stat(siopcb);
+	return(siopcb->getready);
+}
+
+/*
+ *  æå­ãéä¿¡ã§ãããï¼
+ */
+Inline BOOL
+upd72001_putready(SIOPCB *siopcb)
+{
+	upd72001_get_stat(siopcb);
+	return(siopcb->putready);
+}
+
+/*
+ *  åä¿¡ããæå­ã®ååºã
+ */
+Inline char
+upd72001_getchar(SIOPCB *siopcb)
+{
+	siopcb->getready = FALSE;
+	return((char) upd72001_read_reg(siopcb->siopinib->data));
+}
+
+/*
+ *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ */
+Inline void
+upd72001_putchar(SIOPCB *siopcb, char c)
+{
+	siopcb->putready = FALSE;
+	upd72001_write_reg(siopcb->siopinib->data, (UB) c);
+}
+
+/*
+ *  EOIï¼End Of Interruptï¼çºè¡
+ */
+Inline void
+upd72001_eoi()
+{
+	upd72001_write_ctrl((VP) TADR_UPD72001_CTRLA, UPD72001_CR0, CR0_EOI);
+}
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+upd72001_initialize()
+{
+	SIOPCB	*siopcb;
+	UINT	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (siopcb = siopcb_table, i = 0; i < TNUM_SIOP; siopcb++, i++) {
+		siopcb->siopinib = &(siopinib_table[i]);
+		siopcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+BOOL
+upd72001_openflag(void)
+{
+#if TNUM_SIOP < 2
+	return(siopcb_table[0].openflag);
+#else /* TNUM_SIOP < 2 */
+	return(siopcb_table[0].openflag || siopcb_table[1].openflag);
+#endif /* TNUM_SIOP < 2 */
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+upd72001_opn_por(ID siopid, VP_INT exinf)
+{
+	SIOPCB		*siopcb;
+	const SIOPINIB	*siopinib;
+
+	siopcb = get_siopcb(siopid);
+	siopinib = siopcb->siopinib;
+
+	upd72001_write_reg(siopinib->ctrl, CR_RESET);
+	if (!upd72001_openflag()) {
+		upd72001_write_ctrl((VP) TADR_UPD72001_CTRLA,
+						UPD72001_CR2, 0x18);
+		upd72001_write_ctrl((VP) TADR_UPD72001_CTRLB,
+						UPD72001_CR2, 0x00);
+	}
+	siopcb->cr1 = CR1_DOWN;
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR1, siopcb->cr1);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR4, siopinib->cr4_def);
+	upd72001_write_brg(siopinib->ctrl, UPD72001_CR12, 
+				0x01, siopinib->brg2_def, siopinib->brg1_def);
+	upd72001_write_brg(siopinib->ctrl, UPD72001_CR12,
+				0x02, siopinib->brg2_def, siopinib->brg1_def);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR15, CR15_DEF);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR14, CR14_DEF);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR10, CR10_DEF);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR3, siopinib->cr3_def);
+	upd72001_write_ctrl(siopinib->ctrl, UPD72001_CR5, siopinib->cr5_def);
+	siopcb->exinf = exinf;
+	siopcb->getready = siopcb->putready = FALSE;
+	siopcb->openflag = TRUE;
+	return(siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+upd72001_cls_por(SIOPCB *siopcb)
+{
+	upd72001_write_ctrl(siopcb->siopinib->ctrl, UPD72001_CR1, CR1_DOWN);
+	siopcb->openflag = FALSE;
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+BOOL
+upd72001_snd_chr(SIOPCB *siopcb, char c)
+{
+	if (upd72001_putready(siopcb)) {
+		upd72001_putchar(siopcb, c);
+		return(TRUE);
+	}
+	return(FALSE);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+INT
+upd72001_rcv_chr(SIOPCB *siopcb)
+{
+	if (upd72001_getready(siopcb)) {
+		return((INT)(UB) upd72001_getchar(siopcb));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+upd72001_ena_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	cr1_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		cr1_bit = CR1_SEND;
+		break;
+	case SIO_ERDY_RCV:
+		cr1_bit = CR1_RECV;
+		break;
+	}
+	siopcb->cr1 |= cr1_bit;
+	upd72001_write_ctrl(siopcb->siopinib->ctrl, UPD72001_CR1, siopcb->cr1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+upd72001_dis_cbr(SIOPCB *siopcb, UINT cbrtn)
+{
+	UB	cr1_bit = 0;
+
+	switch (cbrtn) {
+	case SIO_ERDY_SND:
+		cr1_bit = CR1_SEND;
+		break;
+	case SIO_ERDY_RCV:
+		cr1_bit = CR1_RECV;
+		break;
+	}
+	siopcb->cr1 &= ~cr1_bit;
+	upd72001_write_ctrl(siopcb->siopinib->ctrl, UPD72001_CR1, siopcb->cr1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã«å¯¾ããå²è¾¼ã¿å¦ç
+ */
+static void
+upd72001_isr_siop(SIOPCB *siopcb)
+{
+	if ((siopcb->cr1 & CR1_RECV) != 0 && upd72001_getready(siopcb)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		upd72001_ierdy_rcv(siopcb->exinf);
+	}
+	if ((siopcb->cr1 & CR1_SEND) != 0 && upd72001_putready(siopcb)) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		upd72001_ierdy_snd(siopcb->exinf);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+upd72001_isr()
+{
+	if (siopcb_table[0].openflag) {
+		upd72001_isr_siop(&(siopcb_table[0]));
+	}
+#if TNUM_SIOP >= 2
+	if (siopcb_table[1].openflag) {
+		upd72001_isr_siop(&(siopcb_table[1]));
+	}
+#endif /* TNUM_SIOP >= 2 */
+	upd72001_eoi();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/pdic/simple_sio/upd72001.h	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: upd72001.h,v 1.1 2003/06/04 05:41:58 hiro Exp $
+ */
+
+/*
+ *	Î¼PD72001ç¨ ç°¡æSIOãã©ã¤ã
+ */
+
+#ifndef _UPD72001_H_
+#define _UPD72001_H_
+
+#include <t_config.h>
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block	SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_ERDY_SND	1u		/* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_ERDY_RCV	2u		/* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  SIOãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+extern void	upd72001_initialize(void);
+
+/*
+ *  ãªã¼ãã³ãã¦ãããã¼ãããããï¼
+ */
+extern BOOL	upd72001_openflag(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB	*upd72001_opn_por(ID siopid, VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void	upd72001_cls_por(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern BOOL	upd72001_snd_chr(SIOPCB *siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern INT	upd72001_rcv_chr(SIOPCB *siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void	upd72001_ena_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void	upd72001_dis_cbr(SIOPCB *siopcb, UINT cbrtn);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void	upd72001_isr(void);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void	upd72001_ierdy_snd(VP_INT exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void	upd72001_ierdy_rcv(VP_INT exinf);
+
+#endif /* _UPD72001_H_ */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile	(revision 26)
@@ -0,0 +1,525 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile,v 1.34 2007/01/05 02:44:45 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = @(CPU)
+SYS = @(SYS)
+TOOL = @(TOOL)
+
+#
+#  ãã­ã°ã©ãã³ã°è¨èªã®å®ç¾©
+#
+PROGRAM_LANG = @(LANG)
+ifeq ($(PROGRAM_LANG),c++)
+    USE_CXX = true
+    CXXLIBS = -lstdc++ -lm -lc 
+    CXXRTS  = cxxrt.o newlibrt.o
+endif
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)/config
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = @(OBJEXT)
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©ï¼ã©ãã«ãè©²å½ããªãå ´åã¯ï¼ãã¹ã¦ã³ã¡ã³ãã¢ã¦ãããï¼
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+DBGENV := GDB_STUB
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+ifdef TOOL
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)-$(TOOL)/Makefile.config
+else
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)/Makefile.config
+endif
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS)
+CDEFS := $(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)/include $(INCLUDES)
+LDFLAGS := -nostdlib $(LDFLAGS)
+LIBS := $(LIBS) $(CXXLIBS) -lgcc
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)/library
+UTASK_ASMOBJS =
+ifdef USE_CXX
+    UTASK_CXXOBJS = $(UNAME).o @(UTASK)
+    UTASK_COBJS =
+else
+    UTASK_COBJS = $(UNAME).o @(UTASK)
+endif
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR := $(STASK_DIR):$(SRCDIR)/systask:$(SRCDIR)/library
+STASK_ASMOBJS := $(STASK_ASMOBJS)
+STASK_COBJS := $(STASK_COBJS) timer.o serial.o logtask.o \
+	      log_output.o vasyslog.o t_perror.o strerror.o \
+	      $(CXXRTS)
+STASK_CFLAGS := $(STASK_CFLAGS) -I$(SRCDIR)/systask
+STASK_LIBS := $(STASK_LIBS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)/kernel
+KERNEL_DIR := $(KERNEL_DIR):$(KERNEL)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := startup.o banner.o $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(KERNEL)
+ifdef OMIT_MAKEOFFSET
+    OFFSET_H =
+    KERNEL_AUX_COBJS = kernel_chk.o
+else
+    OFFSET_H = offset.h
+    KERNEL_AUX_COBJS = makeoffset.o kernel_chk.o
+endif
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+ifdef OBJEXT
+    OBJFILE = $(OBJNAME).$(OBJEXT)
+else
+    OBJFILE = $(OBJNAME)
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+all: $(OBJFILE)
+#all: $(OBJNAME).out
+#all: $(OBJNAME).bin
+#all: $(OBJNAME).srec
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG)
+	$(CC) -E $(INCLUDES) $(CDEFS) -x c-header $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)/cfg/cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	rm -f tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+    CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)/libkernel.a
+else
+    MAKE_KERNEL = libkernel.a
+    LIBKERNEL = $(MAKE_KERNEL)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+include $(KERNEL)/Makefile.kernel
+
+#
+#  $(OBJNAME).chk ã®çæè¦åï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ï¼
+#
+$(OBJNAME).chk: kernel_chk.s $(SRCDIR)/utils/gencheck
+	$(PERL) $(SRCDIR)/utils/gencheck kernel_chk.s > tmpfile2
+	mv tmpfile2 $(OBJNAME).chk
+
+#
+#  offset.h ã®çæè¦åï¼æ§é ä½å
+ã®ãªãã»ããå¤ã®ç®åºï¼
+#
+offset.h: makeoffset.s $(SRCDIR)/utils/genoffset
+	$(PERL) $(SRCDIR)/utils/genoffset makeoffset.s > tmpfile3
+	mv tmpfile3 offset.h
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.S $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS) $(UTASK_CXXOBJS)
+TASK_OBJS = $(UTASK_OBJS) $(STASK_OBJS) kernel_cfg.o
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+ALL_LIBS = $(UTASK_LIBS) $(STASK_LIBS) $(LIBKERNEL) $(LIBS)
+
+ifdef TEXT_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)
+endif
+ifdef DATA_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)
+endif
+ifdef LDSCRIPT
+    LDFLAGS := $(LDFLAGS) -T $(CONFIGDIR)/$(LDSCRIPT)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	rm -f libkernel.a
+	$(AR) -rcs libkernel.a $(KERNEL_LIB_OBJS)
+	$(RANLIB) libkernel.a
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) $(OBJNAME).chk
+	$(LINK) $(CFLAGS) $(LDFLAGS) -o $(OBJFILE) \
+			$(START_OBJS) $(TASK_OBJS) $(ALL_LIBS) $(END_OBJS)
+	$(NM) $(OBJFILE) > $(OBJNAME).syms
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+	$(OBJCOPY) -O ihex -S $(OBJFILE) $(OBJNAME).hex
+	$(SRCDIR)/cfg/chk -m $(OBJNAME).syms,$(OBJNAME).srec \
+			-obj -cs $(OBJNAME).chk -cpu $(CPU) -system $(SYS)
+
+#
+#  ãã¤ããªãã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).bin: $(OBJFILE)
+	$(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).srec: $(OBJFILE)
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	rm -f \#* *~ *.o tmpfile?
+	rm -f $(MAKE_KERNEL) $(OBJNAME)
+	rm -f $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).chk
+	rm -f $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	rm -f kernel_cfg.c kernel_chk.c kernel_chk.s kernel_id.h kernel_obj.dat
+	rm -f makeoffset.s offset.h
+
+cleankernel:
+	rm -rf $(KERNEL_LIB_OBJS)
+	rm -f makeoffset.s offset.h
+
+cleandep:
+	rm -f Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.o: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.s: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFG_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.o: $(filter-out banner.o,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -X \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $< >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.o=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.o=.d) $(KERNEL_ASMOBJS:.o=.d) \
+		$(KERNEL_COBJS:.o=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.o=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  éçºãã¼ã«ã®ã³ãã³ãåã®å®ç¾©
+#
+ifndef TOOL
+    #
+    #  GNUéçºç°å¢ç¨
+    #
+    ifdef TARGET
+        TARGET_PREFIX = $(TARGET)-
+    else
+        TARGET_PREFIX =
+    endif
+    CC = $(TARGET_PREFIX)gcc
+    CXX = $(TARGET_PREFIX)g++
+    AS = $(TARGET_PREFIX)as
+    LD = $(TARGET_PREFIX)ld
+    AR = $(TARGET_PREFIX)ar
+    NM = $(TARGET_PREFIX)nm
+    RANLIB = $(TARGET_PREFIX)ranlib
+    OBJCOPY = $(TARGET_PREFIX)objcopy
+    OBJDUMP = $(TARGET_PREFIX)objdump
+else
+    TARGET_PREFIX =
+endif
+
+ifdef USE_CXX
+    LINK = $(CXX)
+else
+    LINK = $(CC)
+endif
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ALL_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS): %.o:
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS:.o=.s): %.s:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(STASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(UTASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS): %.o: %.cpp
+	$(CXX) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS:.o=.s): %.s: %.cpp
+	$(CXX) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+$(KERNEL_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.o=)) \
+		$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCOBJS:.o=.d): %.d:
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T $*.o \
+		-O "-D__$(*F) $(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_CXXOBJS:.o=.d): %.d: %.cpp
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CXX) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.o: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $<
+
+%.o: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -c $(CFLAGS) $<
+
+%.s: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -S $(CFLAGS) $<
+
+%.o: %.S
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.linux
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.linux	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.linux	(revision 26)
@@ -0,0 +1,520 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.linux,v 1.23 2007/01/05 02:44:45 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = @(CPU)
+SYS = @(SYS)
+TOOL = @(TOOL)
+
+#
+#  ãã­ã°ã©ãã³ã°è¨èªã®å®ç¾©
+#
+PROGRAM_LANG = @(LANG)
+ifeq ($(PROGRAM_LANG),c++)
+    USE_CXX = true
+    CXXLIBS = -lstdc++ -lm -lc 
+endif
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)/config
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = @(OBJEXT)
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©ï¼ã©ãã«ãè©²å½ããªãå ´åã¯ï¼ãã¹ã¦ã³ã¡ã³ãã¢ã¦ãããï¼
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+DBGENV := GDB_STUB
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+ifdef TOOL
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)-$(TOOL)/Makefile.config
+else
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)/Makefile.config
+endif
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS)
+CDEFS := $(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)/include $(INCLUDES)
+LDFLAGS := $(LDFLAGS)
+LIBS := $(LIBS) $(CXXLIBS) -lgcc
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)/library
+UTASK_ASMOBJS =
+ifdef USE_CXX
+    UTASK_CXXOBJS = $(UNAME).o @(UTASK)
+    UTASK_COBJS =
+else
+    UTASK_COBJS = $(UNAME).o @(UTASK)
+endif
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR := $(STASK_DIR):$(SRCDIR)/systask:$(SRCDIR)/library
+STASK_ASMOBJS := $(STASK_ASMOBJS)
+STASK_COBJS := $(STASK_COBJS) timer.o linux_serial.o linux_sigio.o logtask.o \
+	      log_output.o vasyslog.o t_perror.o strerror.o
+STASK_CFLAGS := $(STASK_CFLAGS) -I$(SRCDIR)/systask
+STASK_LIBS := $(STASK_LIBS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)/kernel
+KERNEL_DIR := $(KERNEL_DIR):$(KERNEL)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := startup.o banner.o $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(KERNEL)
+ifdef OMIT_MAKEOFFSET
+    OFFSET_H =
+    KERNEL_AUX_COBJS = kernel_chk.o
+else
+    OFFSET_H = offset.h
+    KERNEL_AUX_COBJS = makeoffset.o kernel_chk.o
+endif
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+ifdef OBJEXT
+    OBJFILE = $(OBJNAME).$(OBJEXT)
+else
+    OBJFILE = $(OBJNAME)
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+all: $(OBJFILE)
+#all: $(OBJNAME).out
+#all: $(OBJNAME).bin
+#all: $(OBJNAME).srec
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG)
+	$(CC) -E $(INCLUDES) $(CDEFS) -x c-header $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)/cfg/cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	rm -f tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+    CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)/libkernel.a
+else
+    MAKE_KERNEL = libkernel.a
+    LIBKERNEL = $(MAKE_KERNEL)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+include $(KERNEL)/Makefile.kernel
+
+#
+#  $(OBJNAME).chk ã®çæè¦åï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ï¼
+#
+$(OBJNAME).chk: kernel_chk.s $(SRCDIR)/utils/gencheck
+	$(PERL) $(SRCDIR)/utils/gencheck kernel_chk.s > tmpfile2
+	mv tmpfile2 $(OBJNAME).chk
+
+#
+#  offset.h ã®çæè¦åï¼æ§é ä½å
+ã®ãªãã»ããå¤ã®ç®åºï¼
+#
+offset.h: makeoffset.s $(SRCDIR)/utils/genoffset
+	$(PERL) $(SRCDIR)/utils/genoffset makeoffset.s > tmpfile3
+	mv tmpfile3 offset.h
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.S $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS) $(UTASK_CXXOBJS)
+TASK_OBJS = $(UTASK_OBJS) $(STASK_OBJS) kernel_cfg.o
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+ALL_LIBS = $(UTASK_LIBS) $(STASK_LIBS) $(LIBKERNEL) $(LIBS)
+
+ifdef TEXT_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)
+endif
+ifdef DATA_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)
+endif
+ifdef LDSCRIPT
+    LDFLAGS := $(LDFLAGS) -T $(CONFIGDIR)/$(LDSCRIPT)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	rm -f libkernel.a
+	$(AR) -rcs libkernel.a $(KERNEL_LIB_OBJS)
+	$(RANLIB) libkernel.a
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) $(OBJNAME).chk
+	$(LINK) $(CFLAGS) $(LDFLAGS) -o $(OBJFILE) \
+			$(START_OBJS) $(TASK_OBJS) $(ALL_LIBS) $(END_OBJS)
+	$(NM) $(OBJFILE) > $(OBJNAME).syms
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+	$(SRCDIR)/cfg/chk -m $(OBJNAME).syms,$(OBJNAME).srec \
+			-obj -cs $(OBJNAME).chk -cpu $(CPU) -system $(SYS)
+
+#
+#  ãã¤ããªãã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).bin: $(OBJFILE)
+	$(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).srec: $(OBJFILE)
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	rm -f \#* *~ *.o tmpfile?
+	rm -f $(MAKE_KERNEL) $(OBJNAME)
+	rm -f $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).chk
+	rm -f $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	rm -f kernel_cfg.c kernel_chk.c kernel_chk.s kernel_id.h kernel_obj.dat
+	rm -f makeoffset.s offset.h
+
+cleankernel:
+	rm -rf $(KERNEL_LIB_OBJS)
+	rm -f makeoffset.s offset.h
+
+cleandep:
+	rm -f Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.o: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.s: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFG_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.o: $(filter-out banner.o,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -X \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $< >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.o=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.o=.d) $(KERNEL_ASMOBJS:.o=.d) \
+		$(KERNEL_COBJS:.o=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.o=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  éçºãã¼ã«ã®ã³ãã³ãåã®å®ç¾©
+#
+ifndef TOOL
+    #
+    #  GNUéçºç°å¢ç¨
+    #
+    ifdef TARGET
+        TARGET_PREFIX = $(TARGET)-
+    else
+        TARGET_PREFIX =
+    endif
+    CC = $(TARGET_PREFIX)gcc
+    CXX = $(TARGET_PREFIX)g++
+    AS = $(TARGET_PREFIX)as
+    LD = $(TARGET_PREFIX)ld
+    AR = $(TARGET_PREFIX)ar
+    NM = $(TARGET_PREFIX)nm
+    RANLIB = $(TARGET_PREFIX)ranlib
+    OBJCOPY = $(TARGET_PREFIX)objcopy
+    OBJDUMP = $(TARGET_PREFIX)objdump
+else
+    TARGET_PREFIX =
+endif
+
+ifdef USE_CXX
+    LINK = $(CXX)
+else
+    LINK = $(CC)
+endif
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ALL_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS): %.o:
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS:.o=.s): %.s:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(STASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(UTASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS): %.o: %.cpp
+	$(CXX) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS:.o=.s): %.s: %.cpp
+	$(CXX) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+$(KERNEL_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.o=)) \
+		$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCOBJS:.o=.d): %.d:
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T $*.o \
+		-O "-D__$(*F) $(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_CXXOBJS:.o=.d): %.d: %.cpp
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CXX) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.o: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $<
+
+%.o: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -c $(CFLAGS) $<
+
+%.s: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -S $(CFLAGS) $<
+
+%.o: %.S
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16	(revision 26)
@@ -0,0 +1,465 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.m16c-oaks16,v 1.2 2005/12/06 03:06:03 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = @(CPU)
+SYS = @(SYS)
+TOOL = @(TOOL)
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)/config
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = x30
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+MON = 0
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.libï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+ifdef TOOL
+    ifdef SYS
+        include $(SRCDIR)\config\$(CPU)-$(TOOL)\$(SYS)\Makefile.config
+    endif
+    include $(SRCDIR)\config\$(CPU)-$(TOOL)\Makefile.config
+else
+    ifdef SYS
+        include $(SRCDIR)\config\$(CPU)\$(SYS)\Makefile.config
+    endif
+    include $(SRCDIR)\config\$(CPU)\Makefile.config
+endif
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS)
+CDEFS := $(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)\include -I$(SRCDIR)\sample $(INCLUDES)
+LDFLAGS := $(LDFLAGS)
+LIBS := $(LIBS)
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)\library
+UTASK_ASMOBJS =
+UTASK_COBJS = $(UNAME).r30 @(UTASK)
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR := $(STASK_DIR):$(SRCDIR)\systask:$(SRCDIR)\library
+STASK_ASMOBJS := $(STASK_ASMOBJS)
+STASK_COBJS := $(STASK_COBJS) timer.r30 serial.r30 logtask.r30 \
+	      log_output.r30 vasyslog.r30 t_perror.r30 strerror.r30
+STASK_CFLAGS := $(STASK_CFLAGS) -I$(SRCDIR)\systask
+STASK_LIBS := $(STASK_LIBS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)\kernel
+KERNEL_DIR := $(KERNEL_DIR):$(KERNEL)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := startup.r30 banner.r30 $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(KERNEL)
+ifdef OMIT_MAKEOFFSET
+    OFFSET_H =
+    KERNEL_AUX_COBJS = kernel_chk.r30
+else
+    OFFSET_H = offset.inc
+    KERNEL_AUX_COBJS = makeoffset.r30 kernel_chk.r30
+endif
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+ifdef OBJEXT
+    OBJFILE = $(OBJNAME).$(OBJEXT)
+else
+    OBJFILE = $(OBJNAME)
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+#all: $(OBJFILE)
+all: $(OBJNAME).mot
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG)
+	$(CPP)   $(INCLUDES) $(CDEFS) $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)\cfg\cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	@-del tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+    CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)\libkernel.lib
+else
+    MAKE_KERNEL = libkernel.lib
+    LIBKERNEL = $(MAKE_KERNEL)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+ifdef TOOL
+	include $(SRCDIR)\config\$(CPU)-$(TOOL)\$(SYS)\Makefile.kernel
+else
+	include $(SRCDIR)\config\$(CPU)\$(SYS)\Makefile.kernel
+endif
+
+#
+#  $(OBJNAME).chk ã®çæè¦åï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ï¼
+#
+$(OBJNAME).chk: kernel_chk.a30 $(SRCDIR)\utils\gencheck.m16c
+	$(PERL) $(SRCDIR)\utils\m16c-renesas\gencheck.m16c kernel_chk.a30 > $(OBJNAME).chk
+
+#
+#  offset.inc ã®çæè¦åï¼æ§é ä½å
+ã®ãªãã»ããå¤ã®ç®åºï¼
+#
+offset.inc: makeoffset.a30
+	$(SRCDIR)\utils\m16c-renesas\m16coffset.exe
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.a30 $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS) $(UTASK_CXXOBJS)
+TASK_OBJS = $(UTASK_OBJS) $(STASK_OBJS) kernel_cfg.r30
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+ALL_LIBS = $(LIBKERNEL)
+ifdef LIBS
+	ALL_LIBS := $(ALL_LIBS),$(LIBS)
+endif
+ifdef STASK_LIBS
+	ALL_LIBS := $(STASK_LIBS),$(ALL_LIBS)
+endif
+ifdef UTASK_LIBS
+	ALL_LIBS := $(UTASK_LIBS),$(ALL_LIBS)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.lib: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	@-del libkernel.lib
+	$(AR) -. -c $@ $(KERNEL_LIB_OBJS)
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) # $(OBJNAME).chk
+	@echo $(LDFLAGS) > $(OBJNAME).cmd
+	@echo -O $(OBJFILE) >> $(OBJNAME).cmd
+	@echo -NOSTOP >> $(OBJNAME).cmd
+	@echo -ORDER data_NE=$(RAM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER data_NO >> $(OBJNAME).cmd
+	@echo -ORDER bss_NE >> $(OBJNAME).cmd
+	@echo -ORDER bss_NO >> $(OBJNAME).cmd
+	@echo -ORDER program=$(ROM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER rom_FE >> $(OBJNAME).cmd
+	@echo -ORDER rom_FO >> $(OBJNAME).cmd
+	@echo -ORDER data_NEI >> $(OBJNAME).cmd
+	@echo -ORDER data_NOI >> $(OBJNAME).cmd
+	@echo -ORDER vvector >> $(OBJNAME).cmd
+	@echo -ORDER fvector >> $(OBJNAME).cmd
+	@echo $(ALL_OBJS) >> $(OBJNAME).cmd
+	@echo -L $(ALL_LIBS) >> $(OBJNAME).cmd
+	$(LD) @$(OBJNAME).cmd
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).mot: $(OBJFILE)
+	$(OBJCOPY) -. -ID#00000000000000 $<
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	@-del \#* *~ *.r30 tmpfile?
+	@-del $(MAKE_KERNEL) $(OBJNAME)
+	@-del $(OBJNAME).syms $(OBJNAME).mot $(OBJNAME).chk
+	@-del $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	@-del $(OBJNAME).map $(OBJFILE)  $(OBJNAME).id $(OBJNAME).cmd
+	@-del kernel_cfg.c kernel_chk.c kernel_chk.a30 kernel_id.h kernel_obj.dat
+	@-del makeoffset.a30 offset.inc m16cvec.inc
+	@-del $(KERNEL_LCOBJS:.r30=.a30)
+cleankernel:
+	@-del $(KERNEL_LIB_OBJS)
+	@-del makeoffset.a30 offset.inc m16cvec.inc
+
+cleandep:
+	@-del Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.r30: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.a30: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\kernel -I$(SRCDIR)\systask" \
+		$(<D)\$(<F) >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.r30: $(filter-out banner.r30,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -s -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -s -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.r30=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.r30=.d) $(KERNEL_ASMOBJS:.r30=.d) \
+		$(KERNEL_COBJS:.r30=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.r30=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_ALL_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS): %.r30: %.a30
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS:.r30=.a30): %.a30:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+	ren $(<F:.c=.a30) $@
+
+$(KERNEL_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(KERNEL_ASMFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(STASK_ASMFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(UTASK_ASMFLAGS) $(<D)\$(<F)
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+# ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ãä¾å­ãããã¡ã¤ã«ã¯
+# ããããã®ã³ã³ãã¤ã«ã«ã¼ã«ã§æç¤ºãããã¨ã«ããããã§ã¯ä½ãããªã.
+#
+$(KERNEL_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.r30=)) \
+		$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_LCOBJS:.r30=.d): %.d:
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T $*.r30 \
+		-O "-D__$(*F) $(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(STASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\systask" $(<D)\$(<F) >> Makefile.depend
+
+$(STASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(UTASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+$(UTASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.r30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $(<D)\$(<F)
+
+%.a30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $(<D)\$(<F)
+
+%.r30: %.a30
+	@echo "*** Default compile rules should not be used."
+	$(AS) $(ASMFLAGS) $(<D)\$(<F)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16_mini
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16_mini	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m16c-oaks16_mini	(revision 26)
@@ -0,0 +1,464 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.m16c-oaks16_mini,v 1.2 2005/12/06 03:06:03 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = @(CPU)
+SYS = @(SYS)
+TOOL = @(TOOL)
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)/config
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = x30
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+MON = 0
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.libï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+ifdef TOOL
+    ifdef SYS
+        include $(SRCDIR)\config\$(CPU)-$(TOOL)\$(SYS)\Makefile.config
+    endif
+    include $(SRCDIR)\config\$(CPU)-$(TOOL)\Makefile.config
+else
+    ifdef SYS
+        include $(SRCDIR)\config\$(CPU)\$(SYS)\Makefile.config
+    endif
+    include $(SRCDIR)\config\$(CPU)\Makefile.config
+endif
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS)
+CDEFS := $(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)\include -I$(SRCDIR)\sample $(INCLUDES)
+LDFLAGS := $(LDFLAGS)
+LIBS := $(LIBS)
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)\library
+UTASK_ASMOBJS =
+UTASK_COBJS = $(UNAME).r30 @(UTASK)
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR := $(STASK_DIR):$(SRCDIR)\systask:$(SRCDIR)\library
+STASK_ASMOBJS := $(STASK_ASMOBJS)
+STASK_COBJS := $(STASK_COBJS) timer.r30 vasyslog.r30 t_perror.r30 strerror.r30
+STASK_CFLAGS := $(STASK_CFLAGS) -I$(SRCDIR)\systask
+STASK_LIBS := $(STASK_LIBS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)\kernel
+KERNEL_DIR := $(KERNEL_DIR):$(KERNEL)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := startup.r30 banner.r30 $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(KERNEL)
+ifdef OMIT_MAKEOFFSET
+    OFFSET_H =
+    KERNEL_AUX_COBJS = kernel_chk.r30
+else
+    OFFSET_H = offset.inc
+    KERNEL_AUX_COBJS = makeoffset.r30 kernel_chk.r30
+endif
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+ifdef OBJEXT
+    OBJFILE = $(OBJNAME).$(OBJEXT)
+else
+    OBJFILE = $(OBJNAME)
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+#all: $(OBJFILE)
+all: $(OBJNAME).mot
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG)
+	$(CPP)   $(INCLUDES) $(CDEFS) $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)\cfg\cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	@-del tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+    CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)\libkernel.lib
+else
+    MAKE_KERNEL = libkernel.lib
+    LIBKERNEL = $(MAKE_KERNEL)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+ifdef TOOL
+	include $(SRCDIR)\config\$(CPU)-$(TOOL)\$(SYS)\Makefile.kernel
+else
+	include $(SRCDIR)\config\$(CPU)\$(SYS)\Makefile.kernel
+endif
+
+#
+#  $(OBJNAME).chk ã®çæè¦åï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ï¼
+#
+$(OBJNAME).chk: kernel_chk.a30 $(SRCDIR)\utils\gencheck.m16c
+	$(PERL) $(SRCDIR)\utils\m16c-renesas\gencheck.m16c kernel_chk.a30 > $(OBJNAME).chk
+
+#
+#  offset.inc ã®çæè¦åï¼æ§é ä½å
+ã®ãªãã»ããå¤ã®ç®åºï¼
+#
+offset.inc: makeoffset.a30
+	$(SRCDIR)\utils\m16c-renesas\m16coffset.exe
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.a30 $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS) $(UTASK_CXXOBJS)
+TASK_OBJS = $(UTASK_OBJS) $(STASK_OBJS) kernel_cfg.r30
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+ALL_LIBS = $(LIBKERNEL)
+ifdef LIBS
+	ALL_LIBS := $(ALL_LIBS),$(LIBS)
+endif
+ifdef STASK_LIBS
+	ALL_LIBS := $(STASK_LIBS),$(ALL_LIBS)
+endif
+ifdef UTASK_LIBS
+	ALL_LIBS := $(UTASK_LIBS),$(ALL_LIBS)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.lib: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	@-del libkernel.lib
+	$(AR) -. -c $@ $(KERNEL_LIB_OBJS)
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) # $(OBJNAME).chk
+	@echo $(LDFLAGS) > $(OBJNAME).cmd
+	@echo -O $(OBJFILE) >> $(OBJNAME).cmd
+	@echo -NOSTOP >> $(OBJNAME).cmd
+	@echo -ORDER data_NE=$(RAM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER data_NO >> $(OBJNAME).cmd
+	@echo -ORDER bss_NE >> $(OBJNAME).cmd
+	@echo -ORDER bss_NO >> $(OBJNAME).cmd
+	@echo -ORDER program=$(ROM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER rom_FE >> $(OBJNAME).cmd
+	@echo -ORDER rom_FO >> $(OBJNAME).cmd
+	@echo -ORDER data_NEI >> $(OBJNAME).cmd
+	@echo -ORDER data_NOI >> $(OBJNAME).cmd
+	@echo -ORDER vector >> $(OBJNAME).cmd
+	@echo -ORDER fvector >> $(OBJNAME).cmd
+	@echo $(ALL_OBJS) >> $(OBJNAME).cmd
+	@echo -L $(ALL_LIBS) >> $(OBJNAME).cmd
+	$(LD) @$(OBJNAME).cmd
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).mot: $(OBJFILE)
+	$(OBJCOPY) -. -ID#00000000000000 $<
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	@-del \#* *~ *.r30 tmpfile?
+	@-del $(MAKE_KERNEL) $(OBJNAME)
+	@-del $(OBJNAME).syms $(OBJNAME).mot $(OBJNAME).chk
+	@-del $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	@-del $(OBJNAME).map $(OBJFILE)  $(OBJNAME).id $(OBJNAME).cmd
+	@-del kernel_cfg.c kernel_chk.c kernel_chk.a30 kernel_id.h kernel_obj.dat
+	@-del makeoffset.a30 offset.inc m16cvec.inc
+	@-del $(KERNEL_LCOBJS:.r30=.a30)
+cleankernel:
+	@-del $(KERNEL_LIB_OBJS)
+	@-del makeoffset.a30 offset.inc m16cvec.inc
+
+cleandep:
+	@-del Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.r30: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.a30: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\kernel -I$(SRCDIR)\systask" \
+		$(<D)\$(<F) >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.r30: $(filter-out banner.r30,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -s -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -s -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.r30=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.r30=.d) $(KERNEL_ASMOBJS:.r30=.d) \
+		$(KERNEL_COBJS:.r30=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.r30=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_ALL_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS): %.r30: %.a30
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS:.r30=.a30): %.a30:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+	ren $(<F:.c=.a30) $@
+
+$(KERNEL_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(KERNEL_ASMFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(STASK_ASMFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(UTASK_ASMFLAGS) $(<D)\$(<F)
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+# ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ãä¾å­ãããã¡ã¤ã«ã¯
+# ããããã®ã³ã³ãã¤ã«ã«ã¼ã«ã§æç¤ºãããã¨ã«ããããã§ã¯ä½ãããªã.
+#
+$(KERNEL_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.r30=)) \
+		$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_LCOBJS:.r30=.d): %.d:
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T $*.r30 \
+		-O "-D__$(*F) $(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(STASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\systask" $(<D)\$(<F) >> Makefile.depend
+
+$(STASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(UTASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+$(UTASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.r30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $(<D)\$(<F)
+
+%.a30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $(<D)\$(<F)
+
+%.r30: %.a30
+	@echo "*** Default compile rules should not be used."
+	$(AS) $(ASMFLAGS) $(<D)\$(<F)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m32c-oaks32
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m32c-oaks32	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.m32c-oaks32	(revision 26)
@@ -0,0 +1,515 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004, 2010 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.m32c-oaks32,v 1.2 2005/12/06 03:06:03 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = m32c
+SYS = oaks32
+TOOL = renesas
+
+#
+#	ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®å®ç¾©
+#
+
+#
+# ã¢ãã¬ã¹è¨­å®(æ«å°¾ã®"h"ã¯ä»ããªãã¦è¯ã)
+#
+# ISPã®åæå¤
+RAMEND = 07800
+# RAMã®å
+é ­çªå°(SFRã¯å«ã¾ãªã)
+RAM_START_ADR = 00400
+# ROMã®å
+é ­çªå°
+ROM_START_ADR = 0f80000
+
+#
+# ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
+ãã£ã¬ã¯ããª
+#
+TOOLDIR = C:\Hew\Tools\Renesas\nc308wa\v542r00
+
+#  ã¿ã¹ã¯ã¢ãã¿ãä½¿ç¨ãããï¼ããªãå ´åã¯0ã«ãä½¿ç¨ããå ´åã¯1ã«ï¼
+MON = 0
+
+#  KD3083ãä½¿ç¨ãããï¼ããªãå ´åã¯0ã«ãä½¿ç¨ããå ´åã¯1ã«ããï¼
+USE_KD3083 = 1
+
+# LB308ãä½¿ããã©ããï¼ä½¿ç¨ããªãå ´åã¯ã³ã¡ã³ãã¢ã¦ãããï¼
+#USE_LB308 = 1
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)\config
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.libï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#   configure ã§Makefileçææã« -L ãªãã·ã§ã³æå®ã§ãè¨­å®ã§ãã
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS = -dir . -silent -g	# -O2		## -O2ã¯ã¨ã³ããªã¼çã§ã¯æªãµãã¼ã
+ifndef USE_LB308
+	CDEFS = -DNEED_API
+endif
+INCLUDES = -I. -I$(SRCDIR)\include -I$(CONFIGDIR)\$(CPU)-$(TOOL) \
+			-I$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS)
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+LDFLAGS = -. -MSL -M82 -G
+LIBS = nc382lib
+ASMFLAGS = -O. -. -I. -M82
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)\library
+UTASK_ASMOBJS =
+UTASK_COBJS = $(UNAME).r30 @(UTASK)
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR = $(SRCDIR)\systask:$(SRCDIR)\library
+STASK_ASMOBJS =
+STASK_COBJS = timer.r30 serial.r30 logtask.r30 \
+	      log_output.r30 vasyslog.r30 t_perror.r30 strerror.r30 sfruart.r30
+STASK_CFLAGS = -I$(SRCDIR)\systask
+STASK_LIBS =
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)\kernel
+KERNEL_DIR = $(KERNEL):$(CONFIGDIR)\$(CPU)-$(TOOL):$(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS)
+
+KERNEL_ASMOBJS = cpu_support.r30
+KERNEL_COBJS = startup.r30 banner.r30 cpu_config.r30 sys_config.r30
+KERNEL_AUX_COBJS = kernel_chk.r30
+
+KERNEL_ASMFLAGS = -DRAMEND=$(RAMEND)h:MON=$(MON):USE_KD3083=$(USE_KD3083)
+KERNEL_CFLAGS = -I$(KERNEL)
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+OBJFILE = $(OBJNAME).x30
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+#all: $(OBJFILE)
+all: $(OBJNAME).mot
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG)
+	$(CPP)   $(INCLUDES) $(CDEFS) $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)\cfg\cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	@-del tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«é¢é£
+#
+START_OBJS = start.r30
+
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«(ä½ãããªã)
+$(START_OBJS:.r30=.d): %.d: %.a30
+
+# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+$(START_OBJS): %.r30: %.a30 m16cvec.inc
+	$(AS) $(ASMFLAGS) -DRAMEND=$(RAMEND)h:MON=$(MON) $(<D)\$(<F)
+
+#
+#	ãã¯ã¿ãã¼ãã«å®ç¾©ãã¡ã¤ã«ã®çæ
+#
+m16cvec.inc: kernel_cfg.c
+	$(CC) -E $(INCLUDES) $(<D)\$(<F) > kernel_cfg.i
+	$(SRCDIR)\utils\m16c-renesas\m16cvec.exe -M0 -F0ffffdch
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+
+# æ¢å­ã®ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ãããå ´å
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)\libkernel.lib
+else
+ifdef USE_LB308	# æ¢å­ã®ã«ã¼ãã«ã©ã¤ãã©ãªããªããã©ã¤ãã©ãªãä½ãå ´å
+    MAKE_KERNEL = libkernel.lib
+    LIBKERNEL = $(MAKE_KERNEL)
+else	# æ¢å­ã®ã«ã¼ãã«ã©ã¤ãã©ãªããªããã©ã¤ãã©ãªãä½ããªãå ´å
+    MAKE_KERNEL = $(KERNEL_LIB_OBJS)
+    LIBKERNEL =
+endif
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+include $(CONFIGDIR)\$(CPU)-$(TOOL)\$(SYS)\Makefile.kernel
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.a30 $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+vpath %.inc $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+
+#
+# ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ãããªãã¸ã§ã¯ããã¡ã¤ã«
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+
+# ãªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS)
+TASK_OBJS = $(UTASK_OBJS) $(STASK_OBJS) kernel_cfg.r30
+
+# ãªã³ã¯ããï¼ã©ã¤ãã©ãªã§ãªãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+# ä½¿ç¨ããã©ã¤ãã©ãª
+ALL_LIBS := $(UTASK_LIBS) $(STASK_LIBS) $(LIBKERNEL) $(LIBS)
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.lib: $(KERNEL_LIB_OBJS)
+	@-del libkernel.lib
+	$(AR) -. -c $@ $(KERNEL_LIB_OBJS)
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) # $(OBJNAME).chk
+	@echo $(LDFLAGS) > $(OBJNAME).cmd
+	@echo -O $(OBJFILE) >> $(OBJNAME).cmd
+	@echo -NOSTOP >> $(OBJNAME).cmd
+	@echo -ORDER data_NE=$(RAM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER data_NO >> $(OBJNAME).cmd
+	@echo -ORDER bss_NE >> $(OBJNAME).cmd
+	@echo -ORDER bss_NO >> $(OBJNAME).cmd
+	@echo -ORDER program=$(ROM_START_ADR) >> $(OBJNAME).cmd
+	@echo -ORDER rom_FE >> $(OBJNAME).cmd
+	@echo -ORDER rom_FO >> $(OBJNAME).cmd
+	@echo -ORDER data_NEI >> $(OBJNAME).cmd
+	@echo -ORDER data_NOI >> $(OBJNAME).cmd
+	@echo -ORDER vvector >> $(OBJNAME).cmd
+	@echo -ORDER fvector >> $(OBJNAME).cmd
+	@echo $(ALL_OBJS) >> $(OBJNAME).cmd
+ifndef USE_LB308
+	@echo $(wordlist 1,5,$(KERNEL_LIB_OBJS)) >> $(OBJNAME).cmd
+	@echo $(wordlist 6,10,$(KERNEL_LIB_OBJS)) >> $(OBJNAME).cmd
+	@echo $(wordlist 11,15,$(KERNEL_LIB_OBJS)) >> $(OBJNAME).cmd
+	@echo $(wordlist 16,20,$(KERNEL_LIB_OBJS)) >> $(OBJNAME).cmd
+	@echo $(wordlist 21,25,$(KERNEL_LIB_OBJS)) >> $(OBJNAME).cmd
+endif
+	@echo -L $(subst $(space),$(comma),$(strip $(ALL_LIBS))) >> $(OBJNAME).cmd
+	$(LD) @$(OBJNAME).cmd
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).mot: $(OBJFILE)
+	$(OBJCOPY) -. -ID#00000000000000 $<
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	@-del \#* *~ *.r30 tmpfile?
+	@-del $(MAKE_KERNEL) $(OBJNAME)
+	@-del $(OBJNAME).syms $(OBJNAME).mot $(OBJNAME).chk
+	@-del $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	@-del $(OBJNAME).map $(OBJFILE)  $(OBJNAME).id $(OBJNAME).cmd
+	@-del kernel_cfg.c kernel_chk.c kernel_chk.a30 kernel_id.h kernel_obj.dat
+	@-del m16cvec.inc
+cleankernel:
+	@-del $(KERNEL_LIB_OBJS)
+	@-del $(KERNEL_LCOBJS:.r30=.a30)
+	@-del m16cvec.inc
+
+cleandep:
+	@-del Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.r30: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.a30: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $(<D)\$(<F)
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\kernel -I$(SRCDIR)\systask" \
+		$(<D)\$(<F) >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.r30: $(filter-out banner.r30,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -s -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.r30=.d)
+else
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.r30=.d) $(KERNEL_ASMOBJS:.r30=.d) \
+		$(KERNEL_COBJS:.r30=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.r30=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  éçºãã¼ã«ã®ã³ãã³ãåã®å®ç¾©
+#
+CC = $(TOOLDIR)\bin\nc308
+AS = $(TOOLDIR)\bin\as308
+AR = $(TOOLDIR)\bin\lb308
+LD = $(TOOLDIR)\bin\ln308
+CPP = $(TOOLDIR)\lib308\cpp308
+OBJCOPY = $(TOOLDIR)\bin\lmc308
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_ALL_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+ifdef USE_LB308
+
+$(KERNEL_LCOBJS): %.r30: %.a30
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS:.r30=.a30): %.a30:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+	ren $(<F:.c=.a30) $@
+
+else
+
+$(KERNEL_LCOBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+$(KERNEL_LCOBJS:.r30=.a30): %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $(<D)\$(<F)
+
+endif
+
+$(KERNEL_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(KERNEL_ASMFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $(<D)\$(<F)
+
+$(STASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(STASK_ASMFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS): %.r30: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_COBJS:.r30=.a30): %.a30: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $(<D)\$(<F)
+
+$(UTASK_ASMOBJS): %.r30: %.a30
+	$(AS) $(ASMFLAGS) $(UTASK_ASMFLAGS) $(<D)\$(<F)
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+# ã¢ã»ã³ããªè¨èªãã¡ã¤ã«ãä¾å­ãããã¡ã¤ã«ã¯
+# ããããã®ã³ã³ãã¤ã«ã«ã¼ã«ã§æç¤ºãããã¨ã«ããããã§ã¯ä½ãããªã.
+#
+$(KERNEL_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+ifdef USE_LB308
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.r30=)) \
+		$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+$(KERNEL_LCOBJS:.r30=.d): %.d:
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) -T $*.r30 \
+		-O "-D__$(*F) $(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+else
+
+$(KERNEL_LCOBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(KERNEL)" $(<D)\$(<F) >> Makefile.depend
+
+endif
+
+
+$(KERNEL_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(STASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES) -I$(SRCDIR)\systask" $(<D)\$(<F) >> Makefile.depend
+
+$(STASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+$(UTASK_COBJS:.r30=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)\utils\m16c-renesas\makedep.m16c -C $(CPP) \
+		-O "$(INCLUDES)" $(<D)\$(<F) >> Makefile.depend
+
+$(UTASK_ASMOBJS:.r30=.d): %.d: %.a30
+
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.r30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $(<D)\$(<F)
+
+%.a30: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $(<D)\$(<F)
+
+%.r30: %.a30
+	@echo "*** Default compile rules should not be used."
+	$(AS) $(ASMFLAGS) $(<D)\$(<F)
+
+#
+# ç©ºç½ã§åºåãããæå­åã®ç©ºç½ãã«ã³ãã«å¤ããããã®å®ç¾©
+#
+comma= ,
+empty=
+space= $(empty) $(empty)
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.mware
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.mware	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/Makefile.mware	(revision 26)
@@ -0,0 +1,566 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile.mware,v 1.3 2007/01/05 02:44:45 honda Exp $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.config ã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããåã®å®ç¾©
+#
+CPU = @(CPU)
+SYS = @(SYS)
+TOOL = @(TOOL)
+
+#
+#  ãã­ã°ã©ãã³ã°è¨èªã®å®ç¾©
+#
+PROGRAM_LANG = @(LANG)
+ifeq ($(PROGRAM_LANG),c++)
+    USE_CXX = true
+    CXXLIBS = -lstdc++ -lm -lc 
+    CXXRTS  = cxxrt.o newlibrt.o
+endif
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+CONFIGDIR ?= $(SRCDIR)/config
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = @(OBJEXT)
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©ï¼ã©ãã«ãè©²å½ããªãå ´åã¯ï¼ãã¹ã¦ã³ã¡ã³ãã¢ã¦ãããï¼
+#		 ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+DBGENV := GDB_STUB
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make å¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+ifdef TOOL
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)-$(TOOL)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)-$(TOOL)/Makefile.config
+else
+    ifdef SYS
+        include $(CONFIGDIR)/$(CPU)/$(SYS)/Makefile.config
+    endif
+    include $(CONFIGDIR)/$(CPU)/Makefile.config
+endif
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS)
+CDEFS := $(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)/include $(INCLUDES)
+LDFLAGS := -nostdlib $(LDFLAGS)
+LIBS := $(LIBS) $(CXXLIBS) -lgcc
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+UNAME = @(UNAME)
+UTASK_CFG = $(UNAME).cfg
+
+UTASK_DIR = $(SRCDIR)/library
+UTASK_ASMOBJS =
+ifdef USE_CXX
+    UTASK_CXXOBJS = $(UNAME).o @(UTASK)
+    UTASK_COBJS =
+else
+    UTASK_COBJS = $(UNAME).o @(UTASK)
+endif
+UTASK_CFLAGS =
+UTASK_LIBS =
+
+#
+#  ããã«ã¦ã§ã¢ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã
+#
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+STASK_DIR := $(STASK_DIR):$(SRCDIR)/systask:$(SRCDIR)/library
+STASK_ASMOBJS := $(STASK_ASMOBJS)
+STASK_COBJS := $(STASK_COBJS) timer.o serial.o logtask.o \
+	      log_output.o vasyslog.o t_perror.o strerror.o \
+	      $(CXXRTS)
+STASK_CFLAGS := $(STASK_CFLAGS) -I$(SRCDIR)/systask
+STASK_LIBS := $(STASK_LIBS)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#		   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#		 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#		  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#		  æãããã®ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«
+#		  ï¼Makefile.kernel ã§å®ç¾©ï¼ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#		     ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ããã¡
+#		     ã¤ã«ï¼
+#
+KERNEL = $(SRCDIR)/kernel
+KERNEL_DIR := $(KERNEL_DIR):$(KERNEL)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := startup.o banner.o $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(KERNEL)
+ifdef OMIT_MAKEOFFSET
+    OFFSET_H =
+    KERNEL_AUX_COBJS = kernel_chk.o
+else
+    OFFSET_H = offset.h
+    KERNEL_AUX_COBJS = makeoffset.o kernel_chk.o
+endif
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = jsp
+ifdef OBJEXT
+    OBJFILE = $(OBJNAME).$(OBJEXT)
+else
+    OBJFILE = $(OBJNAME)
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+all: $(OBJFILE)
+#all: $(OBJNAME).out
+#all: $(OBJNAME).bin
+#all: $(OBJNAME).srec
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+kernel_cfg.c kernel_id.h kernel_chk.c: $(UTASK_CFG) $(MTASK_KERNEL_CFG)
+	$(CC) -E $(INCLUDES) $(CDEFS) -x c-header $(UTASK_CFG) > tmpfile1
+	$(SRCDIR)/cfg/cfg -s tmpfile1 -c -obj -cpu $(CPU) -system $(SYS)
+	rm -f tmpfile1
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+    CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªã«é¢é£ããå®ç¾©
+#
+ifdef KERNEL_LIB
+    MAKE_KERNEL =
+    LIBKERNEL = $(KERNEL_LIB)/libkernel.a
+else
+    MAKE_KERNEL = libkernel.a
+    LIBKERNEL = $(MAKE_KERNEL)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+include $(KERNEL)/Makefile.kernel
+
+#
+#  $(OBJNAME).chk ã®çæè¦åï¼éçAPIã®ãã©ã¡ã¼ã¿ãã§ãã¯ï¼
+#
+$(OBJNAME).chk: kernel_chk.s $(SRCDIR)/utils/gencheck
+	$(PERL) $(SRCDIR)/utils/gencheck kernel_chk.s > tmpfile2
+	mv tmpfile2 $(OBJNAME).chk
+
+#
+#  offset.h ã®çæè¦åï¼æ§é ä½å
+ã®ãªãã»ããå¤ã®ç®åºï¼
+#
+offset.h: makeoffset.s $(SRCDIR)/utils/genoffset
+	$(PERL) $(SRCDIR)/utils/genoffset makeoffset.s > tmpfile3
+	mv tmpfile3 offset.h
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(MTASK_DIR):$(UTASK_DIR)
+vpath %.S $(KERNEL_DIR):$(STASK_DIR):$(MTASK_DIR):$(UTASK_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)
+UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS) $(UTASK_CXXOBJS)
+MTASK_OBJS = $(MTASK_ASMOBJS) $(MTASK_COBJS) $(MTASK_CXXOBJS)
+TASK_OBJS = $(UTASK_OBJS) $(MTASK_OBJS) $(STASK_OBJS) kernel_cfg.o
+ALL_OBJS = $(START_OBJS) $(TASK_OBJS) $(END_OBJS)
+ALL_LIBS = $(UTASK_LIBS) $(MTASK_LIBS) $(STASK_LIBS) $(LIBKERNEL) $(LIBS)
+
+ifdef TEXT_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)
+endif
+ifdef DATA_START_ADDRESS
+    LDFLAGS := $(LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)
+endif
+ifdef LDSCRIPT
+    LDFLAGS := $(LDFLAGS) -T $(CONFIGDIR)/$(LDSCRIPT)
+endif
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	rm -f libkernel.a
+	$(AR) -rcs libkernel.a $(KERNEL_LIB_OBJS)
+	$(RANLIB) libkernel.a
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): Makefile.depend $(ALL_OBJS) $(MAKE_KERNEL) $(MAKE_MTASK) $(OBJNAME).chk
+	$(LINK) $(CFLAGS) $(LDFLAGS) -o $(OBJFILE) \
+			$(START_OBJS) $(TASK_OBJS) $(ALL_LIBS) $(END_OBJS)
+	$(NM) $(OBJFILE) > $(OBJNAME).syms
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+	$(SRCDIR)/cfg/chk -m $(OBJNAME).syms,$(OBJNAME).srec \
+			-obj -cs $(OBJNAME).chk -cpu $(CPU) -system $(SYS)
+
+#
+#  ãã¤ããªãã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).bin: $(OBJFILE)
+	$(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).srec: $(OBJFILE)
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	rm -f \#* *~ *.o tmpfile?
+	rm -f $(MAKE_KERNEL) $(OBJNAME)
+	rm -f $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).chk
+	rm -f $(OBJNAME).exe $(OBJNAME).bin $(OBJNAME).out
+	rm -f kernel_cfg.c kernel_chk.c kernel_chk.s kernel_id.h kernel_obj.dat
+	rm -f makeoffset.s offset.h
+	rm -f $(MTASK_CLEAN_FILES)
+
+cleankernel:
+	rm -rf $(KERNEL_LIB_OBJS)
+	rm -f makeoffset.s offset.h
+
+cleandep:
+	rm -f Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  kernel_cfg.c ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+#  kernel_cfg.c ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼ã·ã¹ãã ãµã¼ãã¹ç¨ï¼
+#  ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«ããï¼
+#
+KERNEL_CFG_CFLAGS = $(UTASK_CFLAGS) $(STASK_CFLAGS) $(KERNEL_CFLAGS)
+
+kernel_cfg.o: kernel_cfg.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.s: kernel_cfg.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
+
+kernel_cfg.d: kernel_cfg.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFG_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.o: $(filter-out banner.o,$(KERNEL_LIB_OBJS))
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+kernel_id.d: $(UTASK_CFG)
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -X \
+		-T "kernel_cfg.c kernel_id.h kernel_chk.c" \
+		-O "$(INCLUDES)" $< >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+kernel_chk.d: kernel_chk.c
+	@$(PERL) $(SRCDIR)/utils/makedep -s -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+gendepend:
+	@echo "Generating Makefile.depend."
+
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.c gendepend kernel_id.d \
+		kernel_chk.d $(ALL_OBJS:.o=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.c gendepend kernel_id.d \
+		$(KERNEL_AUX_COBJS:.o=.d) $(KERNEL_ASMOBJS:.o=.d) \
+		$(KERNEL_COBJS:.o=.d) $(KERNEL_LCSRCS:.c=.d) $(MTASK_LCSRCS:.c=.d) $(ALL_OBJS:.o=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  éçºãã¼ã«ã®ã³ãã³ãåã®å®ç¾©
+#
+ifndef TOOL
+    #
+    #  GNUéçºç°å¢ç¨
+    #
+    ifdef TARGET
+        TARGET_PREFIX = $(TARGET)-
+    else
+        TARGET_PREFIX =
+    endif
+    CC = $(TARGET_PREFIX)gcc
+    CXX = $(TARGET_PREFIX)g++
+    AS = $(TARGET_PREFIX)as
+    LD = $(TARGET_PREFIX)ld
+    AR = $(TARGET_PREFIX)ar
+    NM = $(TARGET_PREFIX)nm
+    RANLIB = $(TARGET_PREFIX)ranlib
+    OBJCOPY = $(TARGET_PREFIX)objcopy
+    OBJDUMP = $(TARGET_PREFIX)objdump
+else
+    TARGET_PREFIX =
+endif
+
+ifdef USE_CXX
+    LINK = $(CXX)
+else
+    LINK = $(CC)
+endif
+
+PERL = @(PERL)
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ALL_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS): %.o:
+	$(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS:.o=.s): %.s:
+	$(CC) -D__$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(STASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(STASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(STASK_CFLAGS) $<
+
+$(MTASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(MTASK_CFLAGS) $<
+
+$(MTASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(MTASK_CFLAGS) $<
+
+$(MTASK_CXXOBJS): %.o: %.cpp
+	$(CXX) -c $(CFLAGS) $(MTASK_CFLAGS) $<
+
+$(MTASK_CXXOBJS:.o=.s): %.s: %.cpp
+	$(CXX) -S $(CFLAGS) $(MTASK_CFLAGS) $<
+
+$(MTASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(MTASK_CFLAGS) $<
+
+$(UTASK_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS): %.o: %.cpp
+	$(CXX) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_CXXOBJS:.o=.s): %.s: %.cpp
+	$(CXX) -S $(CFLAGS) $(UTASK_CFLAGS) $<
+
+$(UTASK_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(UTASK_CFLAGS) $<
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+$(KERNEL_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T "$($*)" \
+		-O "$(foreach sym,$($*),-D__$(sym:.o=)) \
+		$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCOBJS:.o=.d): %.d:
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T $*.o \
+		-O "-D__$(*F) $(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(STASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(STASK_CFLAGS)" $< >> Makefile.depend
+
+$(MTASK_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T "$($*)" \
+		-O "$(CFLAGS) $(MTASK_CFLAGS)" $< >> Makefile.depend
+
+$(MTASK_LCOBJS:.o=.d): %.d:
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) -T $*.o \
+		-O "-D__$(*F) $(CFLAGS) $(MTASK_CFLAGS)" $< >> Makefile.depend
+
+$(MTASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(MTASK_CFLAGS)" $< >> Makefile.depend
+
+$(MTASK_CXXOBJS:.o=.d): %.d: %.cpp
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CXX) \
+		-O "$(CFLAGS) $(MTASK_CFLAGS)" $< >> Makefile.depend
+
+$(MTASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(MTASK_CFLAGS)" $< >> Makefile.depend
+
+
+$(UTASK_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_CXXOBJS:.o=.d): %.d: %.cpp
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CXX) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+$(UTASK_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
+		-O "$(CFLAGS) $(UTASK_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.o: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $<
+
+%.o: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -c $(CFLAGS) $<
+
+%.s: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -S $(CFLAGS) $<
+
+%.o: %.S
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cfg	(revision 26)
@@ -0,0 +1,29 @@
+/*
+ *  @(#) $Id: cxx_sample1.cfg,v 1.1 2003/12/05 12:54:42 honda Exp $
+ */
+
+/*
+ *  C++ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "cxx_sample1.h"
+
+INCLUDE("\"cxx_sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "@(SRCDIR)/systask/cxxrt.cfg"
+#include "@(SRCDIR)/systask/timer.cfg"
+#include "@(SRCDIR)/systask/serial.cfg"
+#include "@(SRCDIR)/systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.cpp	(revision 26)
@@ -0,0 +1,461 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 Takagi Nobuhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cxx_sample1.cpp,v 1.7 2007/03/27 08:55:29 hiro Exp $
+ */
+
+/* 
+ *  C++ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : CPUã­ãã¯ç¶æ
+ã§CPUä¾å¤ãçºçãããï¼ãã­ã°ã©ã ãçµäºããï¼ï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "cxx_sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+char	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	_toppers_cxxrt_reset_specific();
+
+	volatile UW	i;
+	INT	n = 0;
+	INT	tskno = (INT) exinf;
+	char	*graph[] = { "|", "  +", "    *" };
+	char	c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+		case 'Z':
+			loc_cpu();
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			unl_cpu();
+			break;
+#endif /* CPUEXC1 */
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
+							p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
+		vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	char	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", exinf);
+
+	syscall(serial_ctl_por(TASK_PORTID,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	for (i = 0; i < task_loop; i++);
+	get_tim(&stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		syscall(serial_rea_dat(TASK_PORTID, &c, 1));
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskno, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample1.h	(revision 26)
@@ -0,0 +1,196 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 Takagi Nobuhisa
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cxx_sample1.h,v 1.7 2005/07/06 01:16:44 honda Exp $
+ */
+
+/*
+ *  C++ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(IA32)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	2		/* SIOã¯ãã¼ã2ãç¨ãã */
+
+#elif defined(MIPS3) || defined(MIPS64)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(NIOS2)
+
+#define CPUEXC1		0		  /* æªå®è£
+å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	  Asm("div zero, zero, zero");
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+extern void _toppers_cxxrt_reset_specific(void) throw();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: cxx_sample2.cfg,v 1.1 2003/12/05 12:54:42 honda Exp $
+ */
+
+#define _MACRO_ONLY
+#include "cxx_sample2.h"
+
+INCLUDE("\"cxx_sample2.h\"");
+CRE_TSK(MAIN_TASK, { TA_HLNG | TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+CRE_TSK(1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(4, { TA_HLNG, (VP_INT) 4, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(5, { TA_HLNG, (VP_INT) 5, task, MID_PRIORITY, STACK_SIZE, NULL });
+
+CRE_SEM(1, { TA_TFIFO, 1, 1 });
+CRE_SEM(2, { TA_TFIFO, 1, 1 });
+CRE_SEM(3, { TA_TFIFO, 1, 1 });
+CRE_SEM(4, { TA_TFIFO, 1, 1 });
+CRE_SEM(5, { TA_TFIFO, 1, 1 });
+
+CRE_FLG(EVENT_FLAG1, { TA_TFIFO | TA_WSGL, 0 });
+
+#include "@(SRCDIR)/systask/cxxrt.cfg"
+#include "@(SRCDIR)/systask/timer.cfg"
+#include "@(SRCDIR)/systask/serial.cfg"
+#include "@(SRCDIR)/systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.cpp	(revision 26)
@@ -0,0 +1,289 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 Takagi Nobuhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cxx_sample2.cpp,v 1.4 2004/09/17 09:11:34 honda Exp $
+ */
+
+/*
+ *  C++ãµã³ãã«ãã­ã°ã©ã (2)ã®æ¬ä½
+ *
+ *  ãã®ãµã³ãã«ãã­ã°ã©ã ã¯ãå²å­¦è
+ã®é£äºãããã¼ã¹ã¨ãã¦ãC++ã®åæ©è½
+ *  ã®ãã¢ãè¡ã£ã¦ããã
+ *  5äººã®å²å­¦è
+ãå·¦å³ã®ãã©ã¼ã¯ãåãéãæ
+æã«ãããã­ãã¯ãçºçããã
+ *  ã¿ã¤ã ã¢ã¦ããæ¤åºããæç¹ã§C++ã®ä¾å¤ãéåºãã¦ããã
+ *
+ *  åä½ä¸­ã«'q'ãå
+¥åããã¨åä½ãåæ­¢ãããã¨ãã§ããrestart? [y|n]ã«å¯¾
+ *  ãã¦'y'ãå
+¥åããã°åèµ·åã'n'ãå
+¥åããã°çµäºããã
+ *  ã¾ããåä½ä¸­ã«'a'ãå
+¥åããã°ã¢ãã¼ãããã
+ */
+
+#include <t_services.h>
+#include <cstdlib>
+#include <new>
+#include "kernel_id.h"
+#include "cxx_sample2.h"
+
+//	éãã«ãã¿ã¹ã¯ãã¹ãã¯ã©ã¹
+//	éçãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¨ãã¹ãã©ã¯ã¿ã®åä½ãµã³ãã«
+class non_multitask_test
+{
+	int* x_;
+public:
+	non_multitask_test()
+		: x_(new int(12345))	// ã«ã¼ãã«éåä½ç¶æ
+ã§ã®newæ¼ç®å­
+	{
+	}
+	~non_multitask_test()
+	{
+		if (*x_== 12345)
+			syslog(LOG_NOTICE,"non-multitask test succeeded");
+		else
+			syslog(LOG_NOTICE,"non-multitask test failed");
+		delete x_;				// ã«ã¼ãã«éåä½ç¶æ
+ã§ã®deleteæ¼ç®å­
+		x_ = 0;
+	}
+} test;
+
+class timeout_error
+{
+};
+
+// æ¬ä¼¼ä¹±æ°
+int rnd()
+{
+	static unsigned int seed = 1;
+	loc_cpu();
+	seed = seed * 1566083941UL + 1;
+	unl_cpu();
+	return (seed >> 16) % 0x7fff;
+}
+
+//	ãã©ã¼ã¯ã¯ã©ã¹
+class fork
+{
+	ID semid_;
+	bool used_;
+public:
+	explicit fork(int semid)
+		: semid_(semid), used_(false)
+	{
+	}
+	~fork()
+	{
+		if (used_)
+			give();
+	}
+	ID id() const { return semid_; }
+	bool is_used() const { return used_; }
+	void take()
+	{
+		if (twai_sem(semid_, 500*5) == E_TMOUT)
+			throw timeout_error();
+		used_ = true;
+	}
+	void give()
+	{
+		used_ = false;
+		sig_sem(semid_);
+	}
+};
+
+fork* p_fork[5];
+
+//	å²å­¦è
+ã¯ã©ã¹
+class philosopher
+{
+	ID		tskid_;
+	fork* left_;
+	fork* right_;
+public:
+	explicit philosopher(int tskid, fork* left, fork* right)
+		: tskid_(tskid),
+			left_(left), right_(right)
+	{
+		syslog(LOG_NOTICE,"philosofer #%d", tskid);
+	}
+	void think()
+	{
+		syslog(LOG_NOTICE, "#%d thinking...", tskid_);
+		dly_tsk(100 * (rnd() % 5 + 1));
+	}
+	void eat()
+	{
+		syslog(LOG_NOTICE, "#%d eat up", tskid_);
+		dly_tsk(100 * (rnd() % 5 + 1));
+	}
+	void run()
+	{
+		for (;;)
+		{
+			try
+			{
+				//	æå³çã«ãããã­ãã¯ãçºçãããã
+				left_->take();
+				syslog(LOG_NOTICE, "#%d take left fork(%d)", tskid_, left_->id());
+
+				dly_tsk(100 * (rnd() % 5 + 1));
+
+				right_->take();
+				syslog(LOG_NOTICE, "#%d take right fork(%d)", tskid_, right_->id());
+
+				eat();
+
+				left_->give();
+				syslog(LOG_NOTICE, "#%d give left fork(%d)", tskid_, left_->id());
+				right_->give();
+				syslog(LOG_NOTICE, "#%d give right fork(%d)", tskid_, right_->id());
+				think();
+			}
+			catch (timeout_error&)
+			{
+				//	ã¿ã¤ã ã¢ã¦ãã«ãããããã­ãã¯ãæ¤åºããã¨ããã©ã¼ã¯ãæ¾ãã
+				syslog(LOG_NOTICE, "#%d !!!! timeout error !!!!", tskid_);
+				if (left_->is_used())
+				{
+					left_->give();
+					syslog(LOG_NOTICE, "#%d give left fork(%d)", tskid_, left_->id());
+				}
+				if (right_->is_used())
+				{
+					right_->give();
+					syslog(LOG_NOTICE, "#%d give right fork(%d)", tskid_, right_->id());
+				}
+				rot_rdq(TPRI_SELF);
+			}
+		}
+	}
+};
+
+void task(VP_INT exinf)
+{
+	_toppers_cxxrt_reset_specific();	// ã¿ã¹ã¯ã®åèµ·åãå¯è½ã«ããããã®åæåå¦ç
+	ID		tskid = ID(exinf);
+	fork* left	= p_fork[(tskid - 1) % 5];
+	fork* right = p_fork[(tskid - 1 + 4) % 5];
+	philosopher phil(tskid, left, right);
+	phil.run();
+}
+
+//	std::atexitã§ç»é²ããçµäºæé¢æ°
+void finish()
+{
+	syslog(LOG_NOTICE, "finish");
+}
+
+
+//	ã¡ã¤ã³ã¿ã¹ã¯
+void main_task(VP_INT exinf)
+{
+	serial_ctl_por(TASK_PORTID, (IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV));
+	syslog(LOG_NOTICE,"Sample program starts (exinf = %d)", exinf);
+
+	std::atexit(finish);
+
+	try
+	{
+		for (;;)
+		{
+			for (ID semid = 1; semid <= 5; semid++)
+				p_fork[semid - 1] = new fork(semid);
+
+			for (ID tskid = 1; tskid <= 5; tskid++)
+				act_tsk(tskid);
+
+			char c;
+			do
+			{
+				serial_rea_dat(TASK_PORTID, &c, 1);
+				if (c == 'a')
+					std::abort();
+			} while (c != 'q' && c != 'Q');
+
+			for (ID tskid = 1; tskid <= 5; tskid++)
+			{
+				ter_tsk(tskid);
+			}
+
+			for (ID semid = 1; semid <= 5; semid++)
+			{
+				delete p_fork[semid - 1];
+				p_fork[semid - 1] = 0;
+			}
+
+			do
+			{
+				syslog(LOG_NOTICE, "restart? [y|n] ");
+				serial_rea_dat(TASK_PORTID, &c, 1);
+			} while (c != 'y' && c != 'n');
+
+			if (c == 'n')
+				break;
+		}
+
+		syslog(LOG_NOTICE, "multitask test succeeded");
+	}
+	catch (std::bad_alloc&)
+	{
+		syslog(LOG_NOTICE, "multitask test failed");
+	}
+
+	std::exit(0);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/cxx_sample2.h	(revision 26)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 Takagi Nobuhisa
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: cxx_sample2.h,v 1.4 2005/07/06 01:16:44 honda Exp $
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(IA32)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	2		/* SIOã¯ãã¼ã2ãç¨ãã */
+
+#elif defined(MIPS3) || defined(MIPS64)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(NIOS2)
+
+#define CPUEXC1		0		  /* æªå®è£
+å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	  Asm("div zero, zero, zero");
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void main_task(VP_INT exinf);
+extern void task(VP_INT exinf);
+extern void _toppers_cxxrt_reset_specific(void) throw();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.c	(revision 26)
@@ -0,0 +1,460 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample1.c,v 1.23 2007/03/27 08:55:29 hiro Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : CPUã­ãã¯ç¶æ
+ã§CPUä¾å¤ãçºçãããï¼ãã­ã°ã©ã ãçµäºããï¼ï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+char	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	volatile UW	i;
+	INT		n = 0;
+	INT		tskno = (INT) exinf;
+	const char	*graph[] = { "|", "  +", "    *" };
+	char		c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+		case 'Z':
+			loc_cpu();
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			unl_cpu();
+			break;
+#endif /* CPUEXC1 */
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
+							p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
+		vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	char	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (INT) exinf);
+
+	syscall(serial_ctl_por(TASK_PORTID,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	for (i = 0; i < task_loop; i++);
+	get_tim(&stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		syscall(serial_rea_dat(TASK_PORTID, &c, 1));
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskno, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.7 2003/01/06 08:08:26 hiro Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "@(SRCDIR)/systask/timer.cfg"
+#include "@(SRCDIR)/systask/serial.cfg"
+#include "@(SRCDIR)/systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/sample/sample1.h	(revision 26)
@@ -0,0 +1,239 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h,v 1.36 2007/05/08 07:43:52 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(IA32)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	1		/* SIOã¯ãã¼ã1ãç¨ãã */
+
+#elif defined(MIPS3) || defined(MIPS64)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(M16C) && defined(OAKS16)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  512     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(M16C) && defined(OAKS16_MINI)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  384     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(M16C) && defined(M3029) 
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  512     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 1       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(NIOS2)
+
+#define CPUEXC1		0		  /* æªå®è£
+å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	  Asm("div zero, zero, zero");
+
+#elif defined(M32C)
+
+#define CPUEXC1 32 /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE 512 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 1 /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */ 
+
+#elif defined(M32R)
+
+#define CPUEXC1 EXC_TRAP00
+#define RAISE_CPU_EXCEPTION Asm("trap 0")
+
+#elif defined(TLCS_900) && defined(ZUP_F16_EX)
+
+#define CPUEXC1     3      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION Asm("   swi 2") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  512     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 1       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#define OMIT_VGET_TIM
+
+#elif defined(__lm32__)
+
+#define CPUEXC1              5 
+#define RAISE_CPU_EXCEPTION  syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define STACK_SIZE           512 
+#define LOOP_REF	         500000
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.2.tmp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.2.tmp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.2.tmp	(revision 26)
@@ -0,0 +1,4 @@
+
+-- ãã®è¡ä»¥ä¸ã¯ç¡è¦ããã¾ã --
+
+A    http://dev.toppers.jp/svn/contrib/anotherchoice
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.3.tmp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.3.tmp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.3.tmp	(revision 26)
@@ -0,0 +1,1 @@
+initial
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.tmp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.tmp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/svn-commit.tmp	(revision 26)
@@ -0,0 +1,4 @@
+
+-- ãã®è¡ä»¥ä¸ã¯ç¡è¦ããã¾ã --
+
+A    http://dev.toppers.jp/svn/contrib/anotherchoice
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.c	(revision 26)
@@ -0,0 +1,212 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Takagi Nobuhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cxxrt.c,v 1.3 2004/09/17 09:11:44 honda Exp $
+ */
+#include "../kernel/jsp_kernel.h"
+#include "../kernel/task.h"
+#include "kernel_id.h"
+
+typedef int _toppers_cxxrt_sync_t;
+typedef volatile char _toppers_cxxrt_once_t;
+
+static inline int _get_tid()
+{
+	return runtsk - tcb_table + TMIN_TSKID;
+}
+
+/*
+ *	For Syncronization
+ */
+int _toppers_cxxrt_lock(_toppers_cxxrt_sync_t *sync)
+{
+	if (iniflg)
+		dis_dsp();
+	return 0;
+}
+
+int _toppers_cxxrt_trylock(_toppers_cxxrt_sync_t *sync)
+{
+	return _toppers_cxxrt_lock(sync);
+}
+
+int _toppers_cxxrt_unlock(_toppers_cxxrt_sync_t *sync)
+{
+	if (iniflg)
+		ena_dsp();
+	return 0;
+}
+
+int _toppers_cxxrt_get_tskid(void)
+{
+	return iniflg ? _get_tid() : 0;
+}
+
+/*
+ *	For recursive semaphore lock
+ */
+static ID cxxrt_holder;
+static UINT cxxrt_counter;
+
+static inline void _toppers_cxxrt_recursive_semaphore_lock(ID semid)
+{
+	if (iniflg && !sns_dsp())
+	{
+		ID tskid;
+		tskid = _get_tid();
+
+		if (cxxrt_holder != tskid)
+		{
+			wai_sem(semid);
+			cxxrt_holder = tskid;
+		}
+		++cxxrt_counter;
+	}
+}
+
+static inline void _toppers_cxxrt_recursive_semaphore_unlock(ID semid)
+{
+	if (iniflg && !sns_dsp())
+	{
+		if (--cxxrt_counter == 0)
+		{
+			cxxrt_holder = 0;
+			sig_sem(semid);
+		}
+	}
+}
+
+
+/*
+ *	For function call once
+ */
+int _toppers_cxxrt_once(_toppers_cxxrt_once_t *once, void (*func)(void))
+{
+	if (!*once)
+	{
+		static _toppers_cxxrt_sync_t sync;
+
+		_toppers_cxxrt_recursive_semaphore_lock(_CXXRT_SEM);
+		if (!*once)
+		{
+			(*func)();
+			*once = 1;
+		}
+		_toppers_cxxrt_recursive_semaphore_unlock(_CXXRT_SEM);
+	}
+	return 0;
+}
+
+
+/*
+ *	For task-local storage
+ */
+#ifndef CXXRT_KEY_MAX
+#define CXXRT_KEY_MAX	2
+#endif
+
+struct _toppers_cxxrt_tls
+{
+	void **data;
+	void (*dtor)(void*);
+};
+
+extern const ID tmax_tskid;
+
+static void **tls_data[CXXRT_KEY_MAX];
+static struct _toppers_cxxrt_tls tls[CXXRT_KEY_MAX];
+
+int _toppers_cxxrt_key_create(struct _toppers_cxxrt_tls **key, void (*dtor)(void*))
+{
+	struct _toppers_cxxrt_tls *p;
+
+	for (p = &tls[0]; p < &tls[CXXRT_KEY_MAX]; p++)
+	{
+		if (p->data == NULL)
+		{
+			p->data = tls_data[p - &tls[0]];
+			p->dtor = dtor;
+			*key = p;
+			return 0;
+		}
+	}
+	return -1;
+}
+
+int _toppers_cxxrt_key_delete(struct _toppers_cxxrt_tls *key)
+{
+	int i;
+
+	for (i = 0; i <= tmax_tskid; i++)
+	{
+		if (key->dtor != 0)
+			(*key->dtor)(key->data[i]);
+	}
+	key->data = NULL;
+	key->dtor = 0;
+	return 0;
+}
+
+/* JSP 1.4ã¨ã®äºææ§ã®ããã«_toppers_cxxrt_reset_specificãæ®ãã¦ãã */
+void _toppers_cxxrt_reset_specific(void)
+{
+}
+
+void _toppers_cxxrt_init(void)
+{
+	int i, tmax = tmax_tskid + 1;
+	void **p = (void**)malloc(sizeof(void*) * CXXRT_KEY_MAX * tmax);
+
+	for (i = 0; i < CXXRT_KEY_MAX * tmax; i++)
+		p[i] = NULL;
+	for (i = 0; i < CXXRT_KEY_MAX; i++)
+		tls_data[i] = p + i * tmax;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/cxxrt.cfg	(revision 26)
@@ -0,0 +1,55 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003 by Takagi Nobuhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cxxrt.cfg,v 1.3 2003/12/18 06:38:42 honda Exp $
+ */
+
+CRE_SEM(_CXXRT_SEM,{TA_TPRI,1,1});
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.c	(revision 26)
@@ -0,0 +1,608 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: linux_serial.c,v 1.11 2003/12/11 00:36:49 honda Exp $
+ */
+
+#define _LINX_SERIAL_
+
+#include <t_services.h>
+#include <s_services.h>
+#include <signal.h>
+#include <termios.h>
+#include <fcntl.h>
+#include <errno.h>
+#undef __USE_MISC 
+#include <unistd.h>
+#include <linux_sigio.h>
+#include "kernel_id.h"
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ä½ã¬ãã«å®ç¾©
+ */
+
+typedef struct hardware_serial_port_descripter {
+	char   *path;		            /* UNIX ä¸ã§ã®ãã¡ã¤ã«å */
+	int	   fd;		                /* ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ */
+	struct termios	current_term;	/* ç«¯æ«å¶å¾¡æ
+å ± */
+	struct termios	saved_term;    
+} HWPORT;
+
+#define NUM_PORT	1
+
+#define RAWPORT1	{ 0 }
+
+/*
+ *  UNIX ã¬ãã«ã®ãã¼ãåæå/ã·ã£ãããã¦ã³å¦ç
+ *
+ *  ç¾å¨ã®å®è£
+ã§ã¯ï¼ç«¯æ«ãä½¿ãã±ã¼ã¹ããèãã¦ããªãï¼æ¬æ¥ã¯ï¼open ã
+ *  ãã®ãç«¯æ«ãã©ããã§å¦çãå¤ããã¹ãï¼
+ */
+
+Inline void
+hw_port_initialize(HWPORT *p)
+{
+	if (p->path) {
+		p->fd = open(p->path, O_RDWR|O_NDELAY);
+	}
+	else {
+		p->fd = 0;			/* æ¨æºå
+¥åºåãä½¿ã */
+	}
+	fcntl(p->fd, F_SETOWN, getpid());
+	fcntl(p->fd, F_SETFL, FASYNC|FNDELAY);
+    
+    
+    tcgetattr(p->fd, &(p->saved_term));
+    
+	p->current_term = p->saved_term;
+    p->current_term.c_lflag &= ~(ECHO);
+    p->current_term.c_lflag &= ~(ICANON);
+    p->current_term.c_cc[VMIN] = 1;
+    p->current_term.c_cc[VTIME] = 0;
+    
+    tcsetattr(p->fd, TCSAFLUSH, &(p->current_term));
+}
+
+Inline void
+hw_port_terminate(HWPORT *p)
+{
+    tcsetattr(p->fd, TCSAFLUSH, &(p->saved_term));
+	fcntl(p->fd, F_SETFL, 0);
+	if (p->path) {
+		close(p->fd);
+	}
+}
+
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãç¨ã® SIGIO éç¥ã¤ãã³ããã­ãã¯
+ */
+
+static SIGIOEB	serial_sigioeb;
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+
+typedef struct ioctl_descripter {
+	int	echo;
+	int	input;
+	int	newline;
+	int	flowc;
+} IOCTL;
+
+#define	SERIAL_BUFSZ	256	/* ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ç¨ãããã¡ã®ãµã¤ãº */
+
+#define	inc(x)		(((x)+1 < SERIAL_BUFSZ) ? (x)+1 : 0)
+#define	INC(x)		((x) = inc(x))
+
+
+typedef struct serial_port_control_block {
+	BOOL	init_flag;	/* åæåæ¸ãï¼ */
+	HWPORT	hwport;		/* ãã¼ãã¦ã§ã¢ä¾å­æ
+å ± */
+	ID	in_semid;	/* åä¿¡ãããã¡ç®¡çç¨ã»ããã©ã® ID */
+	ID	out_semid;	/* éä¿¡ãããã¡ç®¡çç¨ã»ããã©ã® ID */
+
+	int	in_read_ptr;	/* åä¿¡ãããã¡èª­ã¿åºããã¤ã³ã¿ */
+	int	in_write_ptr;	/* åä¿¡ãããã¡æ¸ãè¾¼ã¿ãã¤ã³ã¿ */
+	int	out_read_ptr;	/* éä¿¡ãããã¡èª­ã¿åºããã¤ã³ã¿ */
+	int	out_write_ptr;	/* éä¿¡ãããã¡æ¸ãè¾¼ã¿ãã¤ã³ã¿ */
+	UINT	ioctl;		/* ioctl ã«ããè¨­å®å
+å®¹ */
+	BOOL	send_enabled;	/* éä¿¡ãã¤ãã¼ãã«ãã¦ãããï¼ */
+	BOOL	ixon_stopped;	/* STOP ãåãåã£ãç¶æ
+ãï¼ */
+	BOOL	ixoff_stopped;	/* ç¸æã« STOP ãéã£ãç¶æ
+ãï¼ */
+	char	ixoff_send;	/* ç¸æã« START/STOP ãéããï¼ */
+
+	char	in_buffer[SERIAL_BUFSZ];	/* åä¿¡ãããã¡ã¨ãªã¢ */
+	char	out_buffer[SERIAL_BUFSZ];	/* åä¿¡ãããã¡ã¨ãªã¢ */
+} SPCB;
+
+
+#define	IN_BUFFER_EMPTY(spcb) \
+		((spcb)->in_read_ptr == (spcb)->in_write_ptr)
+#define	IN_BUFFER_FULL(spcb) \
+		((spcb)->in_read_ptr == inc((spcb)->in_write_ptr))
+#define	OUT_BUFFER_FULL(spcb) \
+		((spcb)->out_read_ptr == inc((spcb)->out_write_ptr))
+
+/*
+ *  ã¢ã¸ã¥ã¼ã«å
+ã§ä½¿ãé¢æ°
+ */
+static void	sigint_handler();
+static BOOL	serial_getc(SPCB *spcb, char *c);
+static BOOL	serial_putc(SPCB *spcb, char c);
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯ã®å®ç¾©ã¨åæå
+ */
+
+static SPCB spcb_table[NUM_PORT] = {
+    {0, RAWPORT1, SEM_SERIAL1_IN, SEM_SERIAL1_OUT }
+};
+
+#define get_spcb(portid)	(&(spcb_table[(portid)-1]))
+#define get_spcb_def(portid)	get_spcb((portid) ? (portid) : CONSOLE_PORTID)
+
+
+/*
+ *  ãã¼ãã®åæå
+ */
+int
+serial_opn_por(ID portid)
+{
+
+    SPCB	*spcb;
+	ER	ercd = E_OK;;
+
+	if (!(1 <= portid && portid <= NUM_PORT)) {
+		return(E_PAR);
+	}
+	spcb = get_spcb(portid);
+
+	/*
+	 *  è¤æ°ã®ã¿ã¹ã¯ãåæã« serial_open ãå¼ã¶ç¶æ³ã«ã¯å¯¾å¿ãã¦ã
+	 *  ãªãï¼
+	 */
+	if (spcb->init_flag) {		/* åæåæ¸ãã®ãã§ãã¯ */
+		return(E_OK);
+	}
+
+	/*
+	 *  å¤æ°ã®åæå
+	 */
+	spcb->in_read_ptr = spcb->in_write_ptr = 0;
+	spcb->out_read_ptr = spcb->out_write_ptr = 0;
+	spcb->ixon_stopped = spcb->ixoff_stopped = FALSE;
+	spcb->ixoff_send = 0;
+
+	/*
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã®åæå
+	 */
+	hw_port_initialize(&(spcb->hwport));
+        
+	/*
+ 	 *  ãã­ã»ã¹ãçµäºãããã·ã°ãã«ãæã¾ãã
+         *  sigaction()ã§æ¸ãç´ããæ¹ãããã®ã?
+	 */
+	signal(SIGHUP, sigint_handler);
+	signal(SIGINT, sigint_handler);
+	signal(SIGTERM, sigint_handler);
+        
+    spcb->init_flag = TRUE;
+	spcb->send_enabled = FALSE;
+	return(ercd);
+}
+
+/*
+ *  ãã¼ãã®ã·ã£ãããã¦ã³
+ */
+
+ER
+serial_cls_por(ID portid)
+{
+	SPCB	*spcb;
+
+	if (!(1 <= portid && portid <= NUM_PORT)) {
+		return(E_PAR);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb(portid);
+	if (!(spcb->init_flag)) {	/* åæåæ¸ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	/*
+	 *  ãã¼ãã¦ã§ã¢ä¾å­ã®ã·ã£ãããã¦ã³å¦ç
+	 */
+	syscall(loc_cpu());
+	hw_port_terminate(&(spcb->hwport));
+	syscall(unl_cpu());
+
+	spcb->init_flag = FALSE;
+	return(E_OK);
+}
+
+/*
+ *  ãã­ã»ã¹ãçµäºãããã·ã°ãã«ã«å¯¾ãããã³ãã©
+ */
+void
+sigint_handler()
+{
+	SPCB	*spcb;
+	int	i;
+
+	for (i = 1; i <= NUM_PORT; i++) {
+		spcb = get_spcb(i);
+		if (spcb->init_flag) {
+			hw_port_terminate(&(spcb->hwport));
+		}
+	}
+	exit(0);
+}
+
+/*
+ *  ãã­ã¼ã³ã³ãã­ã¼ã«é¢ä¿ã®å®ç¾©
+ */
+#define	STOP	'\023'		/* Control-S */
+#define	START	'\021'		/* Control-Q */
+
+#define	IXOFF_STOP	64	/* buffer area size to send STOP */
+#define	IXOFF_START	128	/* buffer area size to send START */
+
+#define	in_buf_area(p)							\
+		((spcb->in_read_ptr >= spcb->in_write_ptr) ?		\
+		 (spcb->in_read_ptr - spcb->in_write_ptr) :		\
+		 (spcb->in_read_ptr + SERIAL_BUFSZ - spcb->in_write_ptr))
+/*
+ *  ã¦ã¼ãã£ãªãã£ã«ã¼ãã³
+ */
+
+Inline BOOL
+read_char(SPCB *spcb, char *c)
+{
+	int	n;
+
+	if ((n = read(spcb->hwport.fd, c, 1)) == 1) {
+		return(1);
+	}
+	assert(n < 0 && errno == EWOULDBLOCK);
+	return(0);
+}
+
+Inline BOOL
+write_char(SPCB *spcb, char c)
+{
+	int	n;
+
+	if ((n = write(spcb->hwport.fd, &c, 1)) == 1) {
+		return(1);
+	}
+	assert(n < 0 && errno == EWOULDBLOCK);
+	return(0);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãããã®åä¿¡
+ */
+
+static BOOL
+serial_getc(SPCB *spcb, char *c)
+{
+	BOOL	buffer_empty;
+
+	syscall(loc_cpu());
+	*c = spcb->in_buffer[spcb->in_read_ptr];
+        if (inc(spcb->in_write_ptr) == spcb->in_read_ptr) {
+            /*
+             *  ãããã¡ãã«ç¶æ
+ãè§£é¤ãããããå²ãè¾¼ã¿ãå
+¥ã£ãã®ã¨
+             *  åãæ¯ãèãããããã
+             */
+            kill(getpid(), SIGIO);
+        }
+        
+	INC(spcb->in_read_ptr);
+
+	if (spcb->ixoff_stopped && (in_buf_area(spcb) > IXOFF_START)) {
+		if (!write_char(spcb, START)) {
+			spcb->ixoff_send = START;
+		}
+		spcb->ixoff_stopped = FALSE;
+	}
+	buffer_empty = IN_BUFFER_EMPTY(spcb);
+	syscall(unl_cpu());
+	return(buffer_empty);
+}
+
+ER_UINT
+serial_rea_dat(ID portid, char *buf, UINT len)
+{
+    	SPCB	*spcb;
+	BOOL	buffer_empty;
+	char	c;
+	int	i;
+
+
+	if (sns_dpn()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(0 <= portid && portid <= NUM_PORT)) {
+		return(E_PAR);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb_def(portid);
+	if (!(spcb->init_flag)) {	/* åæåæ¸ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+	if (len == 0) {
+		return(len);
+	}
+
+
+	syscall(wai_sem(spcb->in_semid));
+	buffer_empty = FALSE;
+	for (i = 0; i < len; i++) {
+		buffer_empty = serial_getc(spcb, &c);
+        if ((spcb->ioctl & IOCTL_ECHO) != 0) {
+			syscall(wai_sem(spcb->out_semid));
+			if (!serial_putc(spcb, c)) {
+				syscall(sig_sem(spcb->out_semid));
+			}
+		}
+		*buf++ = c;
+		if (buffer_empty && i < len - 1) {
+			syscall(wai_sem(spcb->in_semid));
+		}
+	}
+	if (!buffer_empty) {
+		syscall(sig_sem(spcb->in_semid));
+	}
+	return(len);
+}
+
+
+/*
+ * ã·ãªã¢ã«ãã¼ãã¸ã®éä¿¡
+ */
+
+static BOOL
+serial_putc(SPCB *spcb, char c)
+{
+	BOOL	buffer_full;
+
+    if (c == '\n' && (spcb->ioctl & IOCTL_CRLF) != 0) {
+		if (serial_putc(spcb, '\r')) {
+			syscall(wai_sem(spcb->out_semid));
+		}
+	}
+
+	syscall(loc_cpu());
+	if (!(spcb->ixon_stopped) && write_char(spcb, c)) {
+		buffer_full = FALSE;
+	}
+	else {
+		spcb->out_buffer[spcb->out_write_ptr] = c;
+		INC(spcb->out_write_ptr);
+		buffer_full = OUT_BUFFER_FULL(spcb);
+	}
+	syscall(unl_cpu());
+	return(buffer_full);
+}
+
+ER_UINT
+serial_wri_dat(ID portid, char *buf, UINT len)
+{
+	SPCB	*spcb;
+	BOOL	buffer_full;
+	int	i;
+
+	if (sns_dpn()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(0 <= portid && portid <= NUM_PORT)) {
+		return(E_PAR);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb_def(portid);
+	if (!(spcb->init_flag)) {	/* åæåæ¸ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	syscall(wai_sem(spcb->out_semid));
+	buffer_full = FALSE;
+	for (i = 0; i < len; i++) {
+		buffer_full = serial_putc(spcb, *buf++);
+		if (buffer_full && i < len - 1) {
+			syscall(wai_sem(spcb->out_semid));
+		}
+	}
+	if (!buffer_full) {
+		syscall(sig_sem(spcb->out_semid));
+	}
+	return(len);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡
+ */
+
+int
+serial_ctl_por(ID portid, UINT ioctl)
+{
+	SPCB	*spcb;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(0 <= portid && portid <= NUM_PORT)) {
+		return(E_PAR);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb_def(portid);
+	if (!(spcb->init_flag)) {	/* åæåæ¸ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+    spcb->ioctl = ioctl;
+    return(E_OK);
+}
+
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãå²è¾¼ã¿ãã³ãã©
+ */
+
+static BOOL
+serial_int_handler(ID portid)
+{
+	SPCB	*spcb;
+	BOOL	flag;
+	char	c;
+
+	spcb = get_spcb(portid);
+	flag = 0;
+
+	/*
+	 *  1æå­åä¿¡å¦ç
+	 *
+	 *  ã¾ãï¼ãããã¡ãã«ã§ãªãå ´åã«ï¼1æå­èª­ãã§ã¿ãï¼èª­ããã°ï¼
+	 *  ããã«å¿ããå¦çãè¡ãï¼
+	 */
+	if (inc(spcb->in_write_ptr) != spcb->in_read_ptr
+            && read_char(spcb, &c)) {
+		if ((spcb->ioctl & IOCTL_FCSND) != 0 && c == STOP) {
+			spcb->ixon_stopped = TRUE;
+		}
+        else if (((spcb->ioctl & IOCTL_FCSND) != 0 || spcb->ixon_stopped)
+                                 && (c == START || (spcb->ioctl & IOCTL_FCANY) != 0)) {
+			spcb->ixon_stopped = FALSE;
+		}
+		else {
+			spcb->in_buffer[spcb->in_write_ptr] = c;
+                        if(spcb->in_read_ptr == spcb->in_write_ptr){
+                            syscall(sig_sem(spcb->in_semid));
+                        }
+                        
+			INC(spcb->in_write_ptr);
+                        
+			if ((spcb->ioctl & IOCTL_FCRCV) != 0 && !(spcb->ixoff_stopped)
+					&& (in_buf_area(p) < IXOFF_STOP)) {
+				spcb->ixoff_stopped = TRUE;
+				spcb->ixoff_send = STOP;
+			}
+		}
+		flag = 1;
+	}
+
+	/*
+	 *  1æå­éä¿¡å¦ç
+	 */
+	if (spcb->ixoff_send) {
+		if (write_char(spcb, spcb->ixoff_send)) {
+			spcb->ixoff_send = 0;
+			flag = 1;
+		}
+	}
+	else if (!(spcb->ixon_stopped)
+                      && spcb->out_read_ptr != spcb->out_write_ptr) {
+		if (write_char(spcb, spcb->out_buffer[spcb->out_read_ptr])) {
+                    if(OUT_BUFFER_FULL(spcb)){
+			syscall(sig_sem(spcb->out_semid));
+                    }
+                    INC(spcb->out_read_ptr);                        
+                    flag = 1;
+		}
+	}
+	return(flag);
+}
+
+
+
+/*
+ *  SIGIO ã³ã¼ã«ããã¯ã«ã¼ãã³
+ */
+
+static BOOL
+serial_sigio_callback(VP arg)
+{
+	BOOL	flag;
+
+	do {
+//		syscall(loc_cpu());
+		flag = serial_int_handler(1);
+//		syscall(unl_cpu());
+	} while (flag);
+	return(0);
+}
+
+
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®èµ·å
+ */
+
+void
+serial_initialize(VP_INT exinf)
+{
+	serial_sigioeb.callback = serial_sigio_callback;
+	serial_sigioeb.arg = (VP) 0;
+	syscall(enqueue_sigioeb_initialize(&serial_sigioeb));
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_serial.cfg	(revision 26)
@@ -0,0 +1,13 @@
+/*
+ *  @(#) $Id: linux_serial.cfg,v 1.1 2000/11/14 16:27:57 honda Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"serial.h\"");
+ATT_INI({ TA_HLNG, CONSOLE_PORTID, serial_initialize }); 
+CRE_SEM(SEM_SERIAL1_IN, { TA_TPRI, 0, 1 });
+CRE_SEM(SEM_SERIAL1_OUT, { TA_TPRI, 1, 1 });
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.c	(revision 26)
@@ -0,0 +1,148 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: linux_sigio.c,v 1.7 2003/06/04 01:48:33 hiro Exp $
+ */
+
+
+#include <t_services.h>
+#include "../kernel/jsp_kernel.h"
+#include "../kernel/queue.h"
+#include "kernel_id.h"
+#include <signal.h>
+#include <linux_sigio.h>
+
+
+/*
+ *  SIGIOéç¥ã¤ãã³ãã­ã¥ã¼
+ */
+
+static QUEUE	sigio_queue;
+
+/*
+ *  SIGIOéç¥ãã³ãã©
+ *
+ *  SIGIOéç¥å¦çã¿ã¹ã¯ãèµ·åºããï¼
+ */
+void
+linux_sigio_handler()
+{
+	syscall(iwup_tsk(TSK_LINUX_SIGIO));
+}
+
+/*
+ *  ãã³ãã­ãã­ã³ã°I/O ã¢ã¸ã¥ã¼ã«èµ·åã«ã¼ãã³
+ *
+ *  SIGIOéç¥ã¤ãã³ãã­ã¥ã¼ãåæåï¼SIGIOéç¥å¦çã¿ã¹ã¯ã¨ã»ããã©ãç
+ *  æï¼SIGIOéç¥ãã³ãã©ãè¨­å®ï¼
+ */
+static int	initflag = 0;		/* åæåæ¸ãã©ã° */
+
+void
+linux_sigio_initialize(VP_INT exinf)
+{
+	if (!initflag) {
+		queue_initialize(&sigio_queue);
+		initflag = 1;
+	}
+}
+
+/*
+ *  SIGIOéç¥å¦çã¿ã¹ã¯æ¬ä½
+ */
+void
+linux_sigio_task(void)
+{
+	QUEUE	*q;
+	SIGIOEB	*event;
+
+	while (slp_tsk() == E_OK) {
+		/*
+		 *  SIGIOéç¥ã¤ãã³ãã­ã¥ã¼ä¸­ã®åã¤ãã³ããã­ãã¯ã®ã³ã¼
+		 *  ã«ããã¯ã«ã¼ãã³ãå¼ã³ã ãï¼ã³ã¼ã«ããã¯ã«ã¼ãã³ã
+		 *  0 ä»¥å¤ãè¿ããå ´åï¼ãã®ã¤ãã³ããã­ãã¯ãåé¤ããï¼
+		 */
+		syscall(wai_sem(SEM_LINUX_SIGIO));
+		q = sigio_queue.next;
+		while (q != &sigio_queue) {
+			event = ((SIGIOEB *) q);
+			q = q->next;
+			if ((*(event->callback))(event->arg)) {
+				queue_delete((QUEUE *) &(event->queue));
+			}
+		}
+		syscall(sig_sem(SEM_LINUX_SIGIO));
+	}
+	ext_tsk();
+}
+
+/*
+ *  SIGIOéç¥ã¤ãã³ããSIGIOéç¥ã¤ãã³ãã­ã¥ã¼ã¸æ¿å
+¥
+ */
+ER
+enqueue_sigioeb(SIGIOEB *event)
+{
+	syscall(wai_sem(SEM_LINUX_SIGIO));
+	queue_insert_prev(&sigio_queue , (QUEUE *) &(event->queue));
+	syscall(sig_sem(SEM_LINUX_SIGIO));
+	return(E_OK);
+}
+
+/*
+ *   ã·ã¹ãã èµ·åæç»é²ç¨
+ *   ã·ã¹ãã èµ·åæãåæåã«ã¼ãã³ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ããã
+ *   å¼ã°ããããenqueue_sigioeb()ã§ã»ããã©ãä½¿ç¨ã§ããªã
+ */
+ER
+enqueue_sigioeb_initialize(SIGIOEB *event)
+{
+	queue_insert_prev(&sigio_queue , (QUEUE *) &(event->queue));
+	return(E_OK);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/linux_sigio.cfg	(revision 26)
@@ -0,0 +1,15 @@
+/*
+ *  @(#) $Id: linux_sigio.cfg,v 1.2 2003/01/06 10:45:17 hiro Exp $
+ */
+
+/*
+ * Linuxç¨ ãã³ãã­ãã­ã³ã°I/O ãµãã¼ãã¢ã¸ã¥ã¼ã«ã®
+ * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"linux_sigio.h\"");
+ATT_INI({ TA_HLNG, 0, linux_sigio_initialize });
+CRE_SEM(SEM_LINUX_SIGIO, { TA_TPRI, 1, 1 });
+CRE_TSK(TSK_LINUX_SIGIO, { TA_HLNG|TA_ACT, 0, linux_sigio_task,
+		LINUX_SIGIO_PRIORITY, LINUX_SIGIO_STACK_SIZE, NULL });
+DEF_INH(INHNO_SIGIO, { TA_HLNG, linux_sigio_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.c	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: logtask.c,v 1.8 2003/06/04 01:48:33 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã­ã°ã¿ã¹ã¯
+ */
+
+#include <t_services.h>
+#include <logtask.h>
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®åºåå
+ã®ãã¼ãID
+ */
+static ID	logtask_portid;
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ã¸ã®1æå­åºå
+ */
+static void
+logtask_putc(char c)
+{
+	serial_wri_dat(logtask_portid, &c, 1);
+}
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®æ¬ä½
+ */
+void
+logtask(VP_INT exinf)
+{
+	logtask_portid = (ID) exinf;
+	serial_opn_por(logtask_portid);
+	vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+	syslog_1(LOG_NOTICE, "System logging task is started on port %d.",
+							logtask_portid);
+	for (;;) {
+		syslog_output(logtask_putc);
+		_syscall(dly_tsk(LOGTASK_INTERVAL));
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/logtask.cfg	(revision 26)
@@ -0,0 +1,11 @@
+/*
+ *  @(#) $Id: logtask.cfg,v 1.2 2003/01/06 08:05:10 hiro Exp $
+ */
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+INCLUDE("\"logtask.h\"");
+CRE_TSK(LOGTASK, { TA_HLNG|TA_ACT, (VP_INT) LOGTASK_PORTID, logtask,
+			LOGTASK_PRIORITY, LOGTASK_STACK_SIZE, NULL });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/newlibrt.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/newlibrt.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/newlibrt.c	(revision 26)
@@ -0,0 +1,188 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Takagi Nobuhisa
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: newlibrt.c,v 1.2 2004/09/17 09:11:44 honda Exp $
+ */
+#include <stddef.h>
+#include <reent.h>
+#include <errno.h>
+#include "../kernel/jsp_kernel.h"
+
+#ifndef	HEAP_TOP
+#define	HEAP_TOP		~0UL
+#endif
+
+/*
+ *	For malloc (Newlib)
+ */
+static int cxxrt_dis_dsp;
+
+void __malloc_lock(struct _reent *ptr)
+{
+	if (!iniflg || sns_dsp())
+		return;
+	dis_dsp();
+	cxxrt_dis_dsp = 1;
+}
+
+void __malloc_unlock(struct _reent *ptr)
+{
+	if (!cxxrt_dis_dsp)
+		return;
+	cxxrt_dis_dsp = 0;
+	ena_dsp();
+}
+
+void *_sbrk_r(struct _reent *ptr, ptrdiff_t nbyte)
+{
+	extern char end;
+	static char *heap_ptr = &end;
+	static char *heap_end = (char*)HEAP_TOP;
+	char *base;
+
+	if (!iniflg)
+	{
+		volatile char _auto;
+		if (&end < &_auto && &_auto < heap_end)
+			heap_end = (char*)&_auto;
+	}
+
+	if (heap_ptr + nbyte + 32 > heap_end)
+	{
+		ptr->_errno = errno = ENOMEM;
+		return (void*)-1;
+	}
+
+	base = heap_ptr;
+	heap_ptr += nbyte;
+	return base;
+}
+
+/*
+ *	For program termination
+ */
+#define	ATEXIT_MAX	(32 + 1)
+
+static void (*atexit_table[ATEXIT_MAX])(void);
+static int atexit_num;
+
+/*
+ * abortæã«æåã«å¼åºãããããã¯
+ * raise(SIGABRT)ãå¼åºãããã«ããã°ããã¹ãç°å¢ã¨ã®äºæãã¨ããã¨ãå¯è½ã«ãªãã
+ */
+void (*_atabort)(void) = 0;
+
+int atexit(void (*func)(void))
+{
+	int result = -1;
+	int sync = iniflg;
+
+	if (sync)
+		loc_cpu();
+
+	if (atexit_num < ATEXIT_MAX)
+	{
+		atexit_table[atexit_num++] = func;
+		result = 0;
+	}
+
+	if (sync)
+		unl_cpu();
+
+	return result;
+}
+
+void exit(int status)
+{
+	if (iniflg)
+		kernel_exit();
+	_exit(status);
+}
+
+void abort(void)
+{
+	if (_atabort != 0)
+		(*_atabort)();
+	if (iniflg)
+		kernel_abort();
+	_exit(3);
+}
+
+/*
+ *	For software hooks
+ */
+void software_init_hook(void)
+{
+	extern void _toppers_cxxrt_init(void);
+	_toppers_cxxrt_init();
+	{
+#ifdef	__ELF__
+		extern void _init(void);
+		extern void _fini(void);
+		atexit(_fini);
+		_init();
+#else
+		extern void __main(void);
+		__main();
+#endif
+	}
+}
+
+void software_term_hook(void)
+{
+	int i;
+
+	for (i = atexit_num - 1; i >= 0; i--)
+		(*atexit_table[i])();
+}
+
+/* ãªã³ã¯è§£æ±ºç¨ã®ããã¼ */
+int main() { return 0; }
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.c	(revision 26)
@@ -0,0 +1,565 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: serial.c,v 1.16 2006/02/12 05:26:42 hiro Exp $
+ */
+
+/*
+ *	ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
+ */
+
+#include <t_services.h>
+#include <serial.h>
+#include <hw_serial.h>
+#include "kernel_id.h"
+
+/*
+ *  ãããã¡ãµã¤ãºã¨ãã­ã¼å¶å¾¡ã«é¢é£ããå®æ°
+ */
+
+#define	SERIAL_BUFSZ	256		/* ãã©ã¤ãã®ãããã¡ãµã¤ãº */
+
+#define	FC_STOP		'\023'		/* ã³ã³ãã­ã¼ã«-S */
+#define	FC_START	'\021'		/* ã³ã³ãã­ã¼ã«-Q */
+
+#define	BUFCNT_STOP	(SERIAL_BUFSZ - 64)	/* STOPãéãåºæºæå­æ° */
+#define	BUFCNT_START	(SERIAL_BUFSZ - 128)	/* STARTãéãåºæºæå­æ° */
+
+/*
+ *  ã¯ã­ã¼ãºã®éã«éä¿¡ãå¾
+ã¤æå¤§æéï¼msecåä½ï¼
+ */
+#define	MAX_FLUSH_WAIT	1000
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãåæåãã­ãã¯
+ */
+typedef struct serial_port_initialization_block {
+	ID	rcv_semid;	/* åä¿¡ãããã¡ç®¡çç¨ã»ããã©ã®ID */
+	ID	snd_semid;	/* éä¿¡ãããã¡ç®¡çç¨ã»ããã©ã®ID */
+} SPINIB;
+
+static const SPINIB spinib_table[TNUM_PORT] = {
+	{ SERIAL_RCV_SEM1, SERIAL_SND_SEM1 }
+#if TNUM_PORT >= 2
+	,{ SERIAL_RCV_SEM2, SERIAL_SND_SEM2 }
+#endif
+#if TNUM_PORT >= 3
+	,{ SERIAL_RCV_SEM3, SERIAL_SND_SEM3 }
+#endif
+#if TNUM_PORT >= 4
+        ,{ SERIAL_RCV_SEM4, SERIAL_SND_SEM4 }
+#endif
+#if TNUM_PORT >= 5
+        ,{ SERIAL_RCV_SEM5, SERIAL_SND_SEM5 }
+#endif
+};
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯
+ */
+typedef struct serial_port_control_block {
+	const SPINIB *spinib;	/* ã·ãªã¢ã«ãã¼ãåæåãã­ãã¯ */
+	SIOPCB	*siopcb;	/* ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ */
+	BOOL	openflag;	/* ãªã¼ãã³æ¸ã¿ãã©ã° */
+	UINT	ioctl;		/* åä½å¶å¾¡ã®è¨­å®å¤ */
+
+	UINT	rcv_read_ptr;	/* åä¿¡ãããã¡èª­åºããã¤ã³ã¿ */
+	UINT	rcv_write_ptr;	/* åä¿¡ãããã¡æ¸è¾¼ã¿ãã¤ã³ã¿ */
+	UINT	rcv_count;	/* åä¿¡ãããã¡ä¸­ã®æå­æ° */
+	char	rcv_fc_chr;	/* éãã¹ã START/STOP */
+	BOOL	rcv_stopped;	/* STOP ãéã£ãç¶æ
+ãï¼ */
+
+	UINT	snd_read_ptr;	/* éä¿¡ãããã¡èª­åºããã¤ã³ã¿ */
+	UINT	snd_write_ptr;	/* éä¿¡ãããã¡æ¸è¾¼ã¿ãã¤ã³ã¿ */
+	UINT	snd_count;	/* éä¿¡ãããã¡ä¸­ã®æå­æ° */
+	BOOL	snd_stopped;	/* STOP ãåãåã£ãç¶æ
+ãï¼ */
+
+	char	rcv_buffer[SERIAL_BUFSZ];	/* åä¿¡ãããã¡ */
+	char	snd_buffer[SERIAL_BUFSZ];	/* éä¿¡ãããã¡ */
+} SPCB;
+
+static SPCB	spcb_table[TNUM_PORT];
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãIDããã·ãªã¢ã«ãã¼ãç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_PORT(portid)	((UINT)((portid) - 1))
+#define get_spcb(portid)	(&(spcb_table[INDEX_PORT(portid)]))
+
+/*
+ *  ãã¤ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã
+ */
+#define INC_PTR(ptr)		{ if (++ptr == SERIAL_BUFSZ) ptr = 0; }
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®åæåã«ã¼ãã³
+ */
+void
+serial_initialize(VP_INT exinf)
+{
+	SPCB	*spcb;
+	UINT	i;
+
+	sio_initialize();
+	for (spcb = spcb_table, i = 0; i < TNUM_PORT; spcb++, i++) {
+		spcb->spinib = &(spinib_table[i]);
+		spcb->openflag = FALSE;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ãªã¼ãã³
+ */
+ER
+serial_opn_por(ID portid)
+{
+	SPCB	*spcb;
+	ER	ercd;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+	spcb = get_spcb(portid);
+
+	_syscall(loc_cpu());
+	if (spcb->openflag) {		/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		ercd = E_OBJ;
+	}
+	else {
+		/*
+		 *  å¤æ°ã®åæå
+		 */
+		spcb->ioctl = (IOCTL_ECHO | IOCTL_CRLF
+					| IOCTL_FCSND | IOCTL_FCRCV);
+
+
+		spcb->rcv_read_ptr = spcb->rcv_write_ptr = 0;
+		spcb->rcv_count = 0;
+		spcb->rcv_fc_chr = '\0';
+		spcb->rcv_stopped = FALSE;
+
+		spcb->snd_read_ptr = spcb->snd_write_ptr = 0;
+		spcb->snd_count = 0;
+		spcb->snd_stopped = FALSE;
+
+		/*
+		 *  ãã¼ãã¦ã§ã¢ä¾å­ã®ãªã¼ãã³å¦ç
+		 */
+		spcb->siopcb = sio_opn_por(portid, (VP_INT) spcb);
+
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ãè¨±å¯ããï¼
+		 */
+		sio_ena_cbr(spcb->siopcb, SIO_ERDY_RCV);
+		spcb->openflag = TRUE;
+		ercd = E_OK;
+	}
+	_syscall(unl_cpu());
+	return(ercd);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®ã¯ã­ã¼ãº
+ */
+ER
+serial_cls_por(ID portid)
+{
+	SPCB	*spcb;
+	ER	ercd;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+	spcb = get_spcb(portid);
+
+	_syscall(loc_cpu());
+	if (!(spcb->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		ercd = E_OBJ;
+	}
+	else {
+		/*
+		 *  ãã¼ãã¦ã§ã¢ä¾å­ã®ã¯ã­ã¼ãºå¦ç
+		 */
+		sio_cls_por(spcb->siopcb);
+		spcb->openflag = FALSE;
+		ercd = E_OK;
+	}
+	_syscall(unl_cpu());
+	return(ercd);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã¸ã®æå­éä¿¡
+ */
+Inline BOOL
+serial_snd_chr(SPCB *spcb, char c)
+{
+	if (sio_snd_chr(spcb->siopcb, c)) {
+		return(TRUE);
+	}
+	else {
+		sio_ena_cbr(spcb->siopcb, SIO_ERDY_SND);
+		return(FALSE);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã¸ã®éä¿¡
+ */
+static BOOL
+serial_wri_chr(SPCB *spcb, char c)
+{
+	BOOL	buffer_full;
+
+	/*
+	 *  LF ã®åã« CR ãéä¿¡ããï¼
+	 */
+	if (c == '\n' && (spcb->ioctl & IOCTL_CRLF) != 0) {
+		if (serial_wri_chr(spcb, '\r')) {
+			_syscall(wai_sem(spcb->spinib->snd_semid));
+		}
+	}
+
+	_syscall(loc_cpu());
+	if (spcb->snd_count == 0 && !(spcb->snd_stopped)
+				&& serial_snd_chr(spcb, c)) {
+		/*
+		 *  ã·ãªã¢ã«I/Oããã¤ã¹ã®éä¿¡ã¬ã¸ã¹ã¿ã«æå­ãå
+¥ããã
+		 *  ã¨ã«æåããå ´åï¼
+		 */
+		buffer_full = FALSE;
+	}
+	else {
+		/*
+		 *  éä¿¡ãããã¡ã«æå­ãå
+¥ããï¼
+		 */
+		spcb->snd_buffer[spcb->snd_write_ptr] = c;
+		INC_PTR(spcb->snd_write_ptr);
+		spcb->snd_count++;
+		buffer_full = (spcb->snd_count == SERIAL_BUFSZ);
+	}
+	_syscall(unl_cpu());
+	return(buffer_full);
+}
+
+ER_UINT
+serial_wri_dat(ID portid, char *buf, UINT len)
+{
+	SPCB	*spcb;
+	BOOL	buffer_full;
+	UINT	i;
+
+	if (sns_dpn()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb(portid);
+	if (!(spcb->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	buffer_full = TRUE;		/* ã«ã¼ãã®1åãã¯ wai_sem ãã */
+	for (i = 0; i < len; i++) {
+		if (buffer_full) {
+			_syscall(wai_sem(spcb->spinib->snd_semid));
+		}
+		buffer_full = serial_wri_chr(spcb, *buf++);
+	}
+	if (!buffer_full) {
+		_syscall(sig_sem(spcb->spinib->snd_semid));
+	}
+	return((ER_UINT) len);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãããã®åä¿¡
+ */
+static BOOL
+serial_rea_chr(SPCB *spcb, char *c)
+{
+	BOOL	buffer_empty;
+
+	_syscall(loc_cpu());
+
+	/*
+	 *  åä¿¡ãããã¡ããæå­ãåãåºãï¼
+	 */
+	*c = spcb->rcv_buffer[spcb->rcv_read_ptr];
+	INC_PTR(spcb->rcv_read_ptr);
+	spcb->rcv_count--;
+	buffer_empty = (spcb->rcv_count == 0);
+
+	/*
+	 *  START ãéä¿¡ããï¼
+	 */
+	if (spcb->rcv_stopped && spcb->rcv_count <= BUFCNT_START) {
+		if (!serial_snd_chr(spcb, FC_START)) {
+			spcb->rcv_fc_chr = FC_START;
+		}
+		spcb->rcv_stopped = FALSE;
+	}
+	_syscall(unl_cpu());
+
+	/*
+	 *  ã¨ã³ã¼ããã¯å¦çï¼
+	 */
+	if ((spcb->ioctl & IOCTL_ECHO) != 0) {
+		_syscall(wai_sem(spcb->spinib->snd_semid));
+		if (!serial_wri_chr(spcb, *c)) {
+			_syscall(sig_sem(spcb->spinib->snd_semid));
+		}
+	}
+	return(buffer_empty);
+}
+
+ER_UINT
+serial_rea_dat(ID portid, char *buf, UINT len)
+{
+	SPCB	*spcb;
+	BOOL	buffer_empty;
+	UINT	i;
+
+	if (sns_dpn()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb(portid);
+	if (!(spcb->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	buffer_empty = TRUE;		/* ã«ã¼ãã®1åãã¯ wai_sem ãã */
+	for (i = 0; i < len; i++) {
+		if (buffer_empty) {
+			_syscall(wai_sem(spcb->spinib->rcv_semid));
+		}
+		buffer_empty = serial_rea_chr(spcb, buf++);
+	}
+	if (!buffer_empty) {
+		_syscall(sig_sem(spcb->spinib->rcv_semid));
+	}
+	return((ER_UINT) len);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãã®å¶å¾¡
+ */
+ER
+serial_ctl_por(ID portid, UINT ioctl)
+{
+	SPCB	*spcb;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb(portid);
+	if (!(spcb->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	spcb->ioctl = ioctl;
+	return(E_OK);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãç¶æ
+ã®åç
+§
+ */
+ER
+serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor)
+{
+	SPCB	*spcb;
+
+	if (sns_ctx()) {		/* ã³ã³ãã­ã¹ãã®ãã§ãã¯ */
+		return(E_CTX);
+	}
+	if (!(1 <= portid && portid <= TNUM_PORT)) {
+		return(E_ID);		/* ãã¼ãçªå·ã®ãã§ãã¯ */
+	}
+
+	spcb = get_spcb(portid);
+	if (!(spcb->openflag)) {	/* ãªã¼ãã³æ¸ã¿ãã®ãã§ãã¯ */
+		return(E_OBJ);
+	}
+
+	pk_rpor->reacnt = spcb->rcv_count;
+	pk_rpor->wricnt = spcb->snd_count;
+	return(E_OK);
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+void
+sio_ierdy_snd(VP_INT exinf)
+{
+	SPCB	*spcb;
+
+	spcb = (SPCB *) exinf;
+	if (spcb->rcv_fc_chr != '\0') {
+		/*
+		 *  START/STOP ãéä¿¡ããï¼
+		 */
+		(void) sio_snd_chr(spcb->siopcb, spcb->rcv_fc_chr);
+		spcb->rcv_fc_chr = '\0';
+	}
+	else if (!(spcb->snd_stopped) && spcb->snd_count > 0) {
+		/*
+		 *  éä¿¡ãããã¡ä¸­ããæå­ãåãåºãã¦éä¿¡ããï¼
+		 */
+		(void) sio_snd_chr(spcb->siopcb,
+				spcb->snd_buffer[spcb->snd_read_ptr]);
+		INC_PTR(spcb->snd_read_ptr);
+		if (spcb->snd_count == SERIAL_BUFSZ) {
+			_syscall(isig_sem(spcb->spinib->snd_semid));
+		}
+		spcb->snd_count--;
+	}
+	else {
+		/*
+		 *  éä¿¡ãã¹ãæå­ããªãå ´åã¯ï¼éä¿¡å¯è½ã³ã¼ã«ããã¯ã
+		 *  ç¦æ­¢ããï¼
+		 */
+		sio_dis_cbr(spcb->siopcb, SIO_ERDY_SND);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«ãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+void
+sio_ierdy_rcv(VP_INT exinf)
+{
+	SPCB	*spcb;
+	char	c;
+
+	spcb = (SPCB *) exinf;
+	c = (char) sio_rcv_chr(spcb->siopcb);
+	if ((spcb->ioctl & IOCTL_FCSND) != 0 && c == FC_STOP) {
+		/*
+		 *  éä¿¡ãä¸æåæ­¢ããï¼éä¿¡ä¸­ã®æå­ã¯ãã®ã¾ã¾éä¿¡ããï¼
+		 */
+		spcb->snd_stopped = TRUE;
+	}
+	else if (spcb->snd_stopped && (c == FC_START
+				|| (spcb->ioctl & IOCTL_FCANY) != 0)) {
+		/*
+		 *  éä¿¡ãåéããï¼
+		 */
+		spcb->snd_stopped = FALSE;
+		if (spcb->snd_count > 0) {
+			c = spcb->snd_buffer[spcb->snd_read_ptr];
+			if (serial_snd_chr(spcb, c)) {
+				INC_PTR(spcb->snd_read_ptr);
+				if (spcb->snd_count == SERIAL_BUFSZ) {
+					_syscall(isig_sem(spcb->spinib
+								->snd_semid));
+				}
+				spcb->snd_count--;
+			}
+		}
+	}
+	else if ((spcb->ioctl & IOCTL_FCSND) != 0 && c == FC_START) {
+		/*
+		 *  éä¿¡ã«å¯¾ãã¦ãã­ã¼å¶å¾¡ãã¦ããå ´åï¼START ã¯æ¨ã¦ãï¼
+		 */
+	}
+	else if (spcb->rcv_count == SERIAL_BUFSZ) {
+		/*
+		 *  ãããã¡ãã«ã®å ´åï¼åä¿¡ããæå­ãæ¨ã¦ãï¼
+		 */
+	}
+	else {
+		/*
+		 *  åä¿¡ããæå­ãåä¿¡ãããã¡ã«å
+¥ããï¼
+		 */
+		spcb->rcv_buffer[spcb->rcv_write_ptr] = c;
+		INC_PTR(spcb->rcv_write_ptr);
+		if (spcb->rcv_count == 0) {
+			_syscall(isig_sem(spcb->spinib->rcv_semid));
+		}
+		spcb->rcv_count++;
+
+		/*
+		 *  STOP ãéä¿¡ããï¼
+		 */
+		if ((spcb->ioctl & IOCTL_FCRCV) != 0 && !(spcb->rcv_stopped)
+					&& (spcb->rcv_count >= BUFCNT_STOP)) {
+			if (!serial_snd_chr(spcb, FC_STOP)) {
+				spcb->rcv_fc_chr = FC_STOP;
+			}
+			spcb->rcv_stopped = TRUE;
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/serial.cfg	(revision 26)
@@ -0,0 +1,53 @@
+/*
+ *  @(#) $Id: serial.cfg,v 1.8 2005/11/12 15:02:05 hiro Exp $
+ */
+
+/*
+ *  ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#ifndef _MACRO_ONLY
+#define _MACRO_ONLY 
+#endif
+
+#include <t_config.h>
+
+#ifdef LINUX
+
+/*
+ *  Linuxä¸ã§ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®å ´å
+ */
+#include "linux_sigio.cfg"
+#include "linux_serial.cfg"
+
+#else /* LINUX */
+
+/*
+ *  éå¸¸ã®ã¿ã¼ã²ããç°å¢ã®å ´å
+ */
+#include <hw_serial.cfg>
+
+INCLUDE("\"serial.h\"");
+ATT_INI({ TA_HLNG, 0, serial_initialize });
+
+CRE_SEM(SERIAL_RCV_SEM1, { TA_TPRI, 0, 1 });
+CRE_SEM(SERIAL_SND_SEM1, { TA_TPRI, 1, 1 });
+#if TNUM_PORT >= 2
+CRE_SEM(SERIAL_RCV_SEM2, { TA_TPRI, 0, 1 });
+CRE_SEM(SERIAL_SND_SEM2, { TA_TPRI, 1, 1 });
+#endif
+#if TNUM_PORT >= 3
+CRE_SEM(SERIAL_RCV_SEM3, { TA_TPRI, 0, 1 });
+CRE_SEM(SERIAL_SND_SEM3, { TA_TPRI, 1, 1 });
+#endif
+#if TNUM_PORT >= 4
+CRE_SEM(SERIAL_RCV_SEM4, { TA_TPRI, 0, 1 });
+CRE_SEM(SERIAL_SND_SEM4, { TA_TPRI, 1, 1 });
+#endif
+#if TNUM_PORT >= 5
+CRE_SEM(SERIAL_RCV_SEM5, { TA_TPRI, 0, 1 });
+CRE_SEM(SERIAL_SND_SEM5, { TA_TPRI, 1, 1 });
+#endif
+
+
+#endif /* LINUX */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.c	(revision 26)
@@ -0,0 +1,87 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: timer.c,v 1.8 2003/12/13 06:21:58 hiro Exp $
+ */
+
+/*
+ *	ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ã
+ */
+
+#include <t_services.h>
+#include <timer.h>
+#include <hw_timer.h>
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ */
+void
+timer_initialize(VP_INT exinf)
+{
+	hw_timer_initialize();
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ */
+void
+timer_handler()
+{
+	hw_timer_int_clear();		/* ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ */
+	_syscall(isig_tim());		/* ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦ */
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+void
+timer_terminate(VP_INT exinf)
+{
+	hw_timer_terminate();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/systask/timer.cfg	(revision 26)
@@ -0,0 +1,14 @@
+/*
+ *  @(#) $Id: timer.cfg,v 1.6 2005/11/12 15:19:59 honda Exp $
+ */
+
+/*
+ *  ã·ã¹ãã ã¯ã­ãã¯ãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include <hw_timer.h>
+INCLUDE("\"hw_timer.h\"");
+INCLUDE("\"timer.h\"");
+ATT_INI({ TA_HLNG, 0, timer_initialize });
+VATT_TER({ TA_HLNG, 0, timer_terminate });
+DEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/ccs_project/TOPPERS.pjt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/ccs_project/TOPPERS.pjt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/ccs_project/TOPPERS.pjt	(revision 26)
@@ -0,0 +1,71 @@
+; Code Composer Project File, Version 2.0 (do not modify or remove this line)
+
+[Project Settings]
+ProjectName="ccs_project"
+ProjectDir="C:\ti\myprojects\jsp\tools\C5402DSK\ccs_project\"
+ProjectType=Executable
+CPUFamily=TMS320C54XX
+Tool="Compiler"
+Tool="DspBiosBuilder"
+Tool="Linker"
+Config="Debug"
+Config="Release"
+
+[Source Files]
+Source="..\..\..\config\tms320c54x\c5402dsk\sys_config.c"
+Source="..\..\..\config\tms320c54x\c5402dsk\sys_support.S"
+Source="..\..\..\config\tms320c54x\c5402dsk\tl16c550cfn.c"
+Source="..\..\..\config\tms320c54x\cpu_config.c"
+Source="..\..\..\config\tms320c54x\cpu_support.S"
+Source="..\..\..\config\tms320c54x\start.S"
+Source="..\..\..\config\tms320c54x\vectors.S"
+Source="..\..\..\kernel\banner.c"
+Source="..\..\..\kernel\cyclic.c"
+Source="..\..\..\kernel\dataqueue.c"
+Source="..\..\..\kernel\eventflag.c"
+Source="..\..\..\kernel\exception.c"
+Source="..\..\..\kernel\interrupt.c"
+Source="..\..\..\kernel\mailbox.c"
+Source="..\..\..\kernel\mempfix.c"
+Source="..\..\..\kernel\semaphore.c"
+Source="..\..\..\kernel\startup.c"
+Source="..\..\..\kernel\sys_manage.c"
+Source="..\..\..\kernel\syslog.c"
+Source="..\..\..\kernel\task.c"
+Source="..\..\..\kernel\task_except.c"
+Source="..\..\..\kernel\task_manage.c"
+Source="..\..\..\kernel\task_sync.c"
+Source="..\..\..\kernel\time_event.c"
+Source="..\..\..\kernel\time_manage.c"
+Source="..\..\..\kernel\wait.c"
+Source="..\..\..\library\log_output.c"
+Source="..\..\..\library\strerror.c"
+Source="..\..\..\library\t_perror.c"
+Source="..\..\..\library\vasyslog.c"
+Source="..\..\..\systask\logtask.c"
+Source="..\..\..\systask\serial.c"
+Source="..\..\..\systask\timer.c"
+Source="..\kernel_cfg.c"
+Source="..\ldiv.asm"
+Source="..\lmpy.asm"
+Source="..\sample1.c"
+Source="..\udiv.asm"
+Source="..\..\..\config\tms320c54x\c5402dsk\c5402dsk.cmd"
+
+["Compiler" Settings: "Debug"]
+Options=-k -q -o2 -eas -eoo -fr"C:\ti\myprojects\jsp\tools\C5402dsk\ccs_project\Debug" -fs"C:\ti\myprojects\jsp\tools\C5402dsk\ccs_project\Debug" -i"C:\ti\myprojects\jsp\kernel" -i"C:\ti\myprojects\jsp\include" -i"C:\ti\myprojects\jsp\config\tms320c54x" -i"C:\ti\myprojects\jsp\tools\C5402DSK" -i"C:\ti\myprojects\jsp\config\tms320c54x\c5402dsk" -d"_DEBUG" -d"NDEBUG"
+
+["Compiler" Settings: "Release"]
+Options=-q -o2 -fr"C:\ti\myprojects\jsp\tools\C5402dsk\ccs_project\Release"
+
+["DspBiosBuilder" Settings: "Debug"]
+Options=-v54
+
+["DspBiosBuilder" Settings: "Release"]
+Options=-v54
+
+["Linker" Settings: "Debug"]
+Options=-q -a -c -e_start -mTOPPERS.map -o"..\TOPPERS.out" -x
+
+["Linker" Settings: "Release"]
+Options=-q -c -o".\Release\ccs_project.out" -x
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/configure.vbs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/configure.vbs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/C5402DSK/configure.vbs	(revision 26)
@@ -0,0 +1,42 @@
+Dim fs
+Dim InFile, OutFile
+Dim str
+Dim cmd
+Dim Ws
+Dim ccs
+
+Const ForReading = 1, ForWriting = 2, ForAppending = 3
+
+msgbox "TOPPERS/JSP ããã«ãããã®ã«å¿
+è¦ãªãã¡ã¤ã«ãä½æãã¾ãï¼"
+
+Set fs = CreateObject("Scripting.FileSystemObject")
+fs.copyfile "..\..\sample\sample1.c", ".\"
+fs.copyfile "..\..\sample\sample1.h", ".\"
+
+Set InFile = fs.OpenTextFile("..\..\sample\sample1.cfg", ForReading, False)
+
+Set OutFile = fs.OpenTextFile(".\sample1.cfg", ForWriting, True)
+
+While not InFile.AtEndOfStream
+	str = InFile.ReadLine
+	str = Replace(str,"@(SRCDIR)",  "../../")
+	OutFile.WriteLine str
+Wend
+
+InFile.Close
+OutFile.Close
+
+set Ws = WScript.CreateObject("WScript.Shell")
+path = "c:\ti\c5400\cgtools\"
+cmd = """" + path + "bin\ar500.exe"" -x """ + path + "lib\rts.src"" ldiv.asm udiv.asm lmpy.asm"
+Ws.run cmd, 0, true
+
+cmd = "cl /E /D_MACRO_ONLY /EP /I ""../../kernel"" /I ""../../include"" /I ""../../config/tms320c54x"" /I ""../../config/tms320c54x/c5402dsk"" sample1.cfg > sample1_i.cfg"
+Ws.run "cmd /c" & cmd, 0, true
+
+cmd = "..\..\cfg\cfg.exe -s sample1_i.cfg  -c -v -lj -obj --ZERO ""x y[1]"""
+Ws.run cmd, 0, true
+
+msgbox "æ­£å¸¸ã«çµäºãã¾ãã"
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/GHS_README.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/GHS_README.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/GHS_README.txt	(revision 26)
@@ -0,0 +1,192 @@
+
+        ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                    ï¼GHSãããã°ç°å¢ï¼
+
+        ï¼Release 1.4 å¯¾å¿ï¼æçµæ´æ°: 24-Dec-2003ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2003 by Advanced Data Controls, Corp
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+------------------------------------------------------------------------
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ãTOPPERS/JSPã®Green Hills Software(GHS)ç¤¾ãéçºããçµ±åéçºç°å¢MULTIã§ã®æ§ç¯ã«å¿
+è¦ãªãã¡ã¤ã«ã«ã¤ãã¦è§£èª¬ããã
+
+1. ãã£ã¬ã¯ããªã®æ§æ
+
+jsp
+  +--config
+  |     +---armv4-ghs
+  |     |      +---integrator
+  |     +---sh3-ghs
+  |            +---ms7727cp01
+  |            +---solution_engine
+  +--tools
+        +-----GHS
+               +---ghs_hook_bld
+               +---kernel_bld
+               +---sample
+
+
+2.å¯¾å¿ãã­ã»ããµ
+
+ã»SH3(solution engineã¨ms7727)
+ã»armv4(Integrator/APãã³ã¢ARM966ESã¨ARM920T)
+
+
+3.ããã£ã¬ã¯ããªã¨ãã¡ã¤ã«ã®èª¬æ
+
+GNUç°å¢ã§ã®å®è£
+ã¨ç°ãªããã¡ã¤ã«ãconfig/armv4-ghsã¾ãã¯config/sh3-ghsãã£ã¬ã¯ããªã«ç½®ããã¦ããã
+ã¾ããtools/GHSãã£ã¬ã¯ããªã«ã¯ã«ã¼ãã«ãªã©ããã«ãããããã®ãã¡ã¤ã«ãGHSéçºç°å¢ã«ä¾å­ãããã¡ã¤ã«ãç½®ããã¦ããã
+
+3.1 config/armv4-ghs
+
+a. armv4t-ghs.bld ---- armv4ä¾å­é¨ã¨integratorã®ãã«ããã¡ã¤ã«
+b. integrator/integrator.bld ---- integratorä¾å­é¨ã®ãã«ããã¡ã¤ã«
+c. ãã®ä» ---- armv4ä¾å­é¨ã®ã³ã¼ã
+armv4t-ghs.bldããintegrator.bldãã¤ã³ã¯ã«ã¼ãããã¦ãããarmv4t-ghs.bldããã­ã¸ã§ã¯ãã«ã¤ã³ã¯ã«ã¼ãããã°ãèªåçã«integrator.bldãã¤ã³ã¯ã«ã¼ããããã
+
+3.2 config/sh3-ghs
+
+a. sh3_ms7727-ghs.bld ---- sh3ã¨ms7727ä¾å­é¨ã®ãã«ããã¡ã¤ã«
+b. sh3_solution-ghs.bld ---- sh3ã¨solution_engineä¾å­é¨ã®ãã«ããã¡ã¤ã«
+c. ms7727cp01/ms7727cp01.bld ---- ms7727ä¾å­é¨ã®ãã«ããã¡ã¤ã«
+d. solution_engine/solution.bld ---- solution_engineä¾å­é¨ã®ãã«ããã¡ã¤ã«
+
+sh3_ms7727-ghs.bldããms7727cp01.bldãã¤ã³ã¯ã«ã¼ãããã¦ãããsh3_ms7727-ghs.bldããã­ã¸ã§ã¯ãã«ã¤ã³ã¯ã«ã¼ãããã°ãèªåçã«ms7727cp01.bldãã¤ã³ã¯ã«ã¼ãããããsh3_solution.bldãåæ§ã§ããã
+
+3.3 tools/GHS/kernel_bld
+
+ãã®ãã£ã¬ã¯ããªã¯ã«ã¼ãã«ãã·ã¹ã¿ã¹ã¯ãªã©ããã«ãããããã®ãã¡ã¤ã«ãç½®ããã¦ããã
+
+a. kernel.bld ---- ã«ã¼ãã«ãã©ã¤ãã©ãªã«ãã«ãããããã®ãã¡ã¤ã«ããã®ãã«ããã¡ã¤ã«ã«ã¯ä»¥ä¸ã®ãã«ããã¡ã¤ã«ãå«ã¾ãã¦ããã
+ ã» cyclic.bld 
+ ã» dataqueue.bld 
+ ã» eventflag.bld
+ ã» exception.bld
+ ã» interrupt.bld
+ ã» mailbox.bld
+ ã» mempfix.bld
+ ã» semaphore.bld
+ ã» sys_manage.bld
+ ã» syslog.bld
+ ã» task.bld
+ ã» task_except.bld
+ ã» task_manage.bld
+ ã» task_sync.bld
+ ã» time_event.bld
+ ã» time_manage.bld
+ ã» wait.bld
+
+kernel.bldããã­ã¸ã§ã¯ãã«ã¤ã³ã¯ã«ã¼ãããã°ãèªåçã«ã«ã¼ãã«ã®ã©ã¤ãã©ãªããã­ã¸ã§ã¯ãã«ã¤ã³ã¯ã«ã¼ãããããã­ã¸ã§ã¯ãããã«ãããã¨ã«ã¼ãã«ããã«ãããããkernel.bldã¯æ±ç¨æ§ã®ãããCPUãªãã·ã§ã³ãã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®ãµã¼ããã¼ã¹ãªã©ãè¨­å®ããã¦ããããåç¬ã§ã¯ãã«ãã§ããªããã«ã¼ãã«ã ãããã«ãããå ´åãkernel.bldã ããã¤ã³ã¯ã«ã¼ããã¦ããå¥ã®ãã«ããã¡ã¤ã«ãä½æãããã®ãã«ããã¡ã¤ã«ã«CPUãªãã·ã§ã³ããµã¼ããã¼ã¹ã®è¨­å®ãããã°è¯ãã
+
+b. library.bld ---- log_output.c, strerror.c, t_perror.c, vasyslog.cããªãã¸ã§ã¯ãã«ãã«ãããããã®ãã¡ã¤ã«ã§ããã
+
+c. systask.bld ---- serial.c, timer.c, logtask.c ããªãã¸ã§ã¯ããã¡ã¤ã«ã«ãã«ãããããã®ãã¡ã¤ã«ã§ããã
+
+
+
+3.4  tools/GHS/ghs_hook_bld
+
+ãã®ãã£ã¬ã¯ããªã¯ãã¬ã¼ã¹ã­ã°ãã¯ã­ãªã©ã®ã«ã¼ãã«ã®ãããã°æ
+å ±ãMULTIãããã¬ã§è¡¨ç¤ºãããããã®ã³ã¼ããç½®ããã¦ããã
+
+a. ghs_hook.bld ---- ãããã°æ
+å ±ãè¡¨ç¤ºãããããã®ã³ã¼ãã®ãã«ããã¡ã¤ã«
+b. ãã®ä» ---- ãããã°æ
+å ±ãè¡¨ç¤ºãããããã®ã³ã¼ã
+
+ãã¬ã¼ã¹ã­ã°ãã¯ã­æ©è½ãä½¿ç¨ãããªããã­ã¸ã§ã¯ãã®ãã«ããã¡ã¤ã«ã®ãã¡ã¤ã«ãªãã·ã§ã³ã§GHS_HOOKãå®ç¾©ããªããã°ãªããªããããã«ãGHS_HOOK=2ãæå®ããã¨ãã¬ã¼ã¹ãã¼ã¿ã¯ãå¿
+è¦ãªãã®ã ããé¸æãã¦åå¾ãããã¨ãã§ãã¾ããGHS_HOOK=1ãããã©ã«ãã§ãå
+¨ã¦ã®ãã¬ã¼ã¹ãã¼ã¿ãåå¾ãããã
+
+BUFF_SIZE=xxxãå®ç¾©ããã°ããã¬ã¼ã¹ã­ã°ãã¯ã­ç¨ã®ãããã¡ãµã¤ãºãæå®ã§ããããã ããBUFF_SIZE ã¯å¿
+ãã1024(1kbyte) , 2048(2kbyte) , 4096(4kbyte) , 8192(8kbyte) , 16384(16kbyte) ã®ä¸­ããæå®ãã¦ãã ãããBUFF_SIZEã®ããã©ã«ãå¤ã¯16kbyteã§ããã
+
+
+3.5 tools/GHS/sample
+
+ãã®ãã£ã¬ã¯ããªã¯ãµã³ãã«ãã­ã°ã©ã ã®ã³ã¼ãã®ãã«ããã¡ã¤ã«ãç½®ããã¦ããã
+
+a. arm920t.bld ---- Integrator/ARM920Tç¨ã®ãµã³ãã«ãã­ã°ã©ã ã®ãã«ããã¡ã¤ã«
+b. solution_engine.bld ---- SH3/Solution Engineç¨ã®ãµã³ãã«ãã­ã°ã©ã ã®ãã«ããã¡ã¤ã«
+c. linker_arm.lnk ---- ARMV4ã®ãªã³ã«ã¼ãã¡ã¤ã«
+d. linker_sh3.lnk ---- SH3ã®ãªã³ã«ã¼ãã¡ã¤ã«
+e. kernel.bld ---- 3.3ç¯ãåç
+§
+f. systask.bld ---- 3.3ç¯ãåç
+§
+g. library.bld ---- 3.3ç¯ãåç
+§
+h. armv4t-ghs.bldã¾ãã¯sh3_solution-ghs.bld ---- 3.1ç¯ã¾ãã¯3.2ç¯ãåç
+§
+i. user_program.bld --- ãµã³ãã«ãã­ã°ã©ã ã®ã³ã¼ãã®ãã«ããã¡ã¤ã«ã
+j. configuration.bld --- ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãå¦çããããã®ãã«ããã¡ã¤ã«
+k. ãã®ä» --- ãµã³ãã«ãã­ã°ã©ã ã®ã³ã¼ã
+
+arm920t.bldã¾ãã¯solution_engine.bldã®æ§æã¯ä»¥ä¸ã«ç¤ºãã
+
+arm920t.bld/solution_engine.bld
+    |-------kernel.bld
+    |-------systask.bld
+    |-------library.bld
+    |-------armv4t-ghs.bld/sh3_solution-ghs.bld
+    |-------ghs_hook.bld
+    |-------user_program.bld
+    |------------|---configuration.bld
+    |------------|---------|----sample1.cfg
+    |------------|----sample1.c
+    |------------|----sample1.h
+    |-------linker_arm.lnk/linker_sh3.lnk
+
+
+ç¬¬1ç¯ã«ç¤ºãããã£ã¬ã¯ããªæ§æã§ã¯ãarm920t.bldã¾ãã¯solution_engine.bldãä½ãå¤æ´ããªãã§ãã«ãã§ãããããã£ã¬ã¯ããªã®æ§æãç°ãªãå ´åããµã¼ããã¼ã¹ãå¤ããå¿
+è¦ãããã
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.bld	(revision 26)
@@ -0,0 +1,15 @@
+#!build
+default:
+	subproject
+	:sourcedirs=../../../systask
+	:defines=GHS_HOOK=2
+hook.c
+	C
+hook.h
+	include_file
+hook_data.c
+	C
+ghs_hook.h
+	include_file
+ghs_hook.c
+	C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.c	(revision 26)
@@ -0,0 +1,246 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ghs_hook.c,v 1.2 2003/12/19 11:48:37 honda Exp $
+ */
+#ifdef GHS_HOOK
+#include "jsp_kernel.h"
+#include "kernel.h"
+#include "time_event.h"
+#include "task.h"
+#include "ghs_hook.h"
+
+
+#define	THG_ALL	THG_SYS|THG_RET|THG_DSP|THG_STS|THG_INT
+#define	THF_ALL	THF_TSK|THF_TSKS|THF_TEX|THF_SEM|THF_FLG|THF_DTQ|THF_MBX|THF_MPF|THF_TIM
+#ifndef GRP
+#define	GRP	THG_ALL
+#endif
+#ifndef SEV
+#define	SEV	THF_ALL  
+#endif
+#ifndef TSK
+#define	TSK	TRACE_TNUM_TSKID
+#endif
+
+
+#define MAX_TSK  256
+
+T_ROS Ros_buf;
+
+struct GHS_TASKS {
+	B	sts;			
+	B	pri;			
+} ghs_tasks[MAX_TSK];
+
+ghs_tasks_initialize()
+{
+	INT	i;
+	TCB	*tcb;
+
+	for (tcb = tcb_table, i = 0; i < tmax_tskid; tcb++, i++) {
+		if(i > sizeof(ghs_tasks) / sizeof(ghs_tasks[0]))
+			return;
+		if(TSTAT_RUNNABLE(tcb->tstat)) ghs_tasks[i].sts = TTS_RDY;
+		else ghs_tasks[i].sts = TTS_DMT;
+		ghs_tasks[i].pri = EXT_TSKPRI(tcb->priority);
+	}
+}
+
+int SetEndian()
+{
+    union testme {
+        char    a[2];
+        short   b;
+    	} testme;
+
+    testme.b    = 0;
+    testme.a[0] = 1;
+    if (testme.b== 1)
+        return(0);
+    else
+        return(1);
+}
+
+void vinit_hook(void)
+{
+    int i;
+
+    Ros_buf.trace.bigendian = SetEndian();
+    Ros_buf.trace.dummy = 0;
+    Ros_buf.trace.size = BUFF_SIZE-1;
+    Ros_buf.trace.putp = 0;
+    Ros_buf.trace.getp = 0;
+    for(i = 0; i < TRACE_TNUM_TSKID-1; i++)
+        Ros_buf.hook.task_id[i] = 0;
+    for(i = 0; i < TRACE_TNUM_EVT-1; i++)
+        Ros_buf.hook.evtcode[i] = 0;
+    Ros_buf.hook.max_tid = tmax_tskid;
+    Ros_buf.hook.tnum_tskid = TRACE_TNUM_TSKID;
+    Ros_buf.hook.tnum_evt = TRACE_TNUM_EVT;
+
+    Ros_buf.hook.trc_grp = GRP;
+    Ros_buf.hook.sys_grp = SEV;
+    for(i = 0; i < TSK; i++)
+        Ros_buf.hook.task_id[i] = 1;    
+    
+}
+
+void ghs_hook4(int sts, int p1, int p2)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 4)
+        {
+	    Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+        putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 4;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.trace.putp = putp;
+}
+
+void ghs_hook5(int sts, int p1, int p2, int p3)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 5)
+        {   Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+	putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 5;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p3;
+        Ros_buf.trace.putp = putp;
+}
+
+void ghs_hook6(int sts, int p1, int p2, int p3, int p4)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 6)
+        {   Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+
+        putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 6;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p3;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p4;
+        Ros_buf.trace.putp = putp;
+}
+
+void ghs_hook7(int sts, int p1, int p2, int p3, int p4, int p5)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 7)
+        {   Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+
+        putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 7;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p3;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p4;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p5;
+        Ros_buf.trace.putp = putp;
+}
+
+void ghs_hook8(int sts, int p1, int p2, int p3, int p4, int p5, int p6)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 8)
+        {   Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+        putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 8;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p3;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p4;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p5;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p6;
+        Ros_buf.trace.putp = putp;
+}
+
+void ghs_hook9(int sts, int p1, int p2, int p3, int p4, int p5, int p6, int p7)
+{
+    int putp;
+
+        while(BUFF_SIZE-(Ros_buf.trace.putp-Ros_buf.trace.getp) < 9)
+        {   Ros_buf.trace.getp += Ros_buf.syscall[Ros_buf.trace.getp & Ros_buf.trace.size] & 0x0F;
+        }
+
+        putp = Ros_buf.trace.putp;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = (sts << 4) | 9;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = current_time;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p1;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p2;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p3;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p4;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p5;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p6;
+        Ros_buf.syscall[putp++ & Ros_buf.trace.size] = p7;
+        Ros_buf.trace.putp = putp;
+}
+
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/ghs_hook.h	(revision 26)
@@ -0,0 +1,116 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: ghs_hook.h,v 1.2 2003/12/19 11:48:37 honda Exp $
+ */
+
+#ifdef GHS_HOOK
+#include "hook.h"
+
+#define TRACE_TNUM_TSKID 16
+#define TRACE_TNUM_EVT 16
+
+#ifndef BUFF_SIZE
+#define BUFF_SIZE   0x4000	/* 0x400 | 0x800 | 0x1000 | 0x2000 | 0x4000 */
+#endif
+
+/* tskstat */
+
+#define S_DMT       0x00    /* DORMANT */
+#define S_RDY       0x10    /* RUN,READY */
+#define S_SLP       0x20    /* wait due to slp_tsk or tslp_tsk */
+#define S_DLY       0x30    /* wait due to dly_tsk */
+#define S_RDV       0x40    /* wait for rendezvous completion */
+#define S_FLG       0x50    /* wait due to wai_flg or twai_flg */
+#define S_SMB       0x60    /* wait due to snd_mbf or tsnd_mbf */
+#define S_CAL       0x70    /* wait for rendezvous call */
+#define S_ACP       0x80    /* wait for rendezvous accept */
+#define S_SEM       0x90    /* wait due to wai_sem or twai_sem */
+#define S_MBX       0xa0    /* wait due to rcv_msg or trcv_msg */
+#define S_MBF       0xb0    /* wait due to rcv_mbf or trcv_mbf */
+#define S_MPL       0xc0    /* wait due to get_blk or tget_blk */
+#define S_MPF       0xd0    /* wait due to get_blf or tget_blf */
+
+typedef struct
+{
+	short max_tid;
+    unsigned short trc_grp;
+    unsigned short sys_grp;
+    short tnum_tskid;
+    short tnum_evt;
+    unsigned char task_id[TRACE_TNUM_TSKID];
+    unsigned char evtcode[TRACE_TNUM_EVT];
+} T_HOOK;
+
+typedef struct
+{   char bigendian;
+    char dummy;
+    unsigned short size;
+    unsigned short putp;
+    unsigned short getp;
+} T_TRACE;
+
+typedef struct
+{
+    T_TRACE trace;
+    T_HOOK hook;
+    long syscall[BUFF_SIZE];
+} T_ROS;
+
+extern T_ROS Ros_buf;
+
+void ghs_hook4(int sts, int p1, int p2);
+void ghs_hook5(int sts, int p1, int p2, int p3);
+void ghs_hook6(int sts, int p1, int p2, int p3, int p4);
+void ghs_hook7(int sts, int p1, int p2, int p3, int p4, int p5);
+void ghs_hook8(int sts, int p1, int p2, int p3, int p4, int p5, int p6);
+void ghs_hook9(int sts, int p1, int p2, int p3, int p4, int p5, int p6, int p7);
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.c	(revision 26)
@@ -0,0 +1,247 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hook.c,v 1.2 2003/12/19 11:48:37 honda Exp $
+ */
+
+#ifdef GHS_HOOK
+#include "jsp_kernel.h"
+#include "kernel.h"
+#include "task.h"
+#include "ghs_hook.h"
+
+void sys_hook0(int grp, int code)
+{
+    ID tskid=TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook4(THG_SYS, tskid, code);
+    t_unlock_cpu();
+}
+
+void sys_hook0_i(int grp, int code)
+{
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (!(Ros_buf.hook.task_id[0]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook4(THG_SYS, 0, code);
+    t_unlock_cpu();
+}
+
+void sys_hook1(int grp, int code, int p1)
+{
+    ID tskid = TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+	return;
+#endif
+    t_lock_cpu();
+    ghs_hook5(THG_SYS, tskid, code, p1);
+    t_unlock_cpu();
+}
+
+void sys_hook1_i(int grp, int code, int p1)
+{
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (!(Ros_buf.hook.task_id[0]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook5(THG_SYS, 0, code, p1);
+    t_unlock_cpu();
+}
+
+void sys_hook2(int grp, int code, int p1, int p2)
+{
+    ID tskid = TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook6(THG_SYS, tskid, code, p1, p2);
+    t_unlock_cpu();
+}
+
+void sys_hook2_i(int grp, int code, int p1, int p2)
+{
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (!(Ros_buf.hook.task_id[0]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook6(THG_SYS, 0, code, p1, p2);
+    t_unlock_cpu();
+}
+
+void sys_hook3(int grp, int code, int p1, int p2, int p3)
+{
+    ID tskid = TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (!(Ros_buf.hook.task_id[tskid & (TRACE_TNUM_TSKID-1)]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook7(THG_SYS, tskid, code, p1, p2, p3);
+    t_unlock_cpu();
+}
+
+void sys_hook4(int grp, int code, int p1, int p2, int p3, int p4)
+{
+    ID tskid = TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+        return;
+#endif
+    t_lock_cpu();
+    ghs_hook8(THG_SYS, tskid, code, p1, p2, p3, p4);
+    t_unlock_cpu();
+}
+
+
+void trc_rtn_hook(int grp, int code, int ercd)
+{
+    ID	tskid = TSKID(runtsk);
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_RET))
+        return;
+    if (!(Ros_buf.hook.trc_grp & THG_SYS) || !(Ros_buf.hook.sys_grp & grp))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+	return;
+#endif
+    t_lock_cpu();
+    ghs_hook5(THG_RET, tskid, code, ercd);
+    t_unlock_cpu();
+}
+
+/*CPUã­ãã¯ç¶æ
+ã§å¼ã°ãããããCPUãã­ãã¯ããå¿
+è¦ã¯ãªã*/
+void sts_hook(ID tskid)
+{
+	TCB	*tcb;
+	int tstat;
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_STS))
+        return;
+    if (tskid > TRACE_TNUM_TSKID || !(Ros_buf.hook.task_id[tskid]))
+        return;
+#endif
+    tcb = get_tcb(tskid);
+	tstat = (int)(tcb->tstat);
+	if(TSTAT_DORMANT(tstat)) tstat = 0x1;	/* 0x1:Dormant */
+	else if(TSTAT_RUNNABLE(tstat)) tstat = 0x0;	/* 0x0:Ready */
+	else if(TSTAT_WAITING(tstat)) {
+		if((tstat & (TS_WAIT_SLEEP | TS_WAIT_WOBJ)) == 0) tstat = 0x09;  /* 0x9:Delay */
+		else {
+			if((tstat & TS_WAIT_SLEEP) != 0) tstat = 0x08;  /* 0x8:Sleep */
+			else tstat = 0x0a;  /* 0xa:Waiting */
+		}
+	if(TSTAT_SUSPENDED(tstat)) tstat |= 0x10;
+	}
+	else if(TSTAT_SUSPENDED(tstat)) tstat = 0x10;
+	ghs_hook4(THG_STS, tskid, tstat);
+}
+
+void dispatch_hook(TCB	*tcb)
+{
+    ID tskid;
+
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_DSP))
+        return;
+#endif
+    tskid = runtsk == NULL ? 0 : TSKID(runtsk);
+    t_lock_cpu();
+    ghs_hook4(THG_DSP, tskid, TSKID(tcb));
+}
+
+void exception_hook(int code, int addr)
+{
+    int i;
+    ID tskid;
+
+#if(GHS_HOOK != 1)
+    if (!(Ros_buf.hook.trc_grp & THG_INT))
+        return;
+#endif
+    for(i = 0; i < TRACE_TNUM_EVT; i++){
+        if(Ros_buf.hook.evtcode[i] == 0) return;
+        if(Ros_buf.hook.evtcode[i] == code){
+            tskid = runtsk == NULL ? 0 : TSKID(runtsk);
+            ghs_hook5(THG_INT, tskid, code, addr);
+            return;
+        }
+    }
+}
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook.h	(revision 26)
@@ -0,0 +1,103 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: hook.h,v 1.1 2003/12/19 11:28:13 honda Exp $
+ */
+
+#include <kernel_debug.h>
+
+/************************************/
+/* Hook-routine definitions         */
+/************************************/
+
+#define THF_TSK     0x0001
+#define THF_TSKS    0x0002
+#define THF_TEX     0x0004
+#define THF_SEM     0x0008
+#define THF_FLG     0x0010
+#define THF_DTQ     0x0020
+#define THF_MBX     0x0040
+#define THF_MPF     0x0080
+#define THF_TIM     0x1000
+#define THF_SYS     0x2000
+#define THF_INT     0x4000
+#define THF_OTH     0x8000
+
+#define THG_SYS     0x0001
+#define THG_RET     0x0002
+#define THG_DSP     0x0004
+#define THG_STS     0x0008
+#define THG_INT     0x0010
+
+
+/************************************/
+/* Hook-routine definitions         */
+/************************************/
+#ifdef GHS_HOOK
+void vinit_hook(void);
+void vinit_hook_data(void);
+void sys_hook0(int grp, int code);
+void sys_hook1(int grp, int code, int p1);
+void sys_hook2(int grp, int code, int p1, int p2);
+void sys_hook3(int grp, int code, int p1, int p2, int p3);
+void sys_hook4(int grp, int code, int p1, int p2, int p3, int p4);
+
+void sys_hook0_i(int grp, int code);
+void sys_hook1_i(int grp, int code, int p1);
+void sys_hook2_i(int grp, int code, int p1, int p2);
+
+void trc_rtn_hook(int grp, int code, int ercd);
+
+#define trc_rtn_hook_ok(a,b)	trc_rtn_hook(a,b,E_OK)
+
+void sts_hook(ID tskid);
+
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook_data.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook_data.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/ghs_hook_bld/hook_data.c	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *                2003      by Advanced Data Controls, Corp
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: hook_data.c,v 1.1 2003/12/19 11:28:13 honda Exp $
+ */
+
+#include "jsp_kernel.h"
+#include "kernel.h"
+#include "ghs_hook.h"
+
+
+
+typedef struct v4_t_rcfg{
+    ID tskid_max;
+    ID semid_max;
+    ID flgid_max;
+    ID mbxid_max;
+    ID dtqid_max;
+    ID mpfid_max;
+    ID cycno_max;
+} V4_T_RCFG;
+
+extern int _kernel_tmax_tskid;
+extern int _kernel_tmax_semid;
+extern int _kernel_tmax_flgid;
+extern int _kernel_tmax_mbxid;
+extern int _kernel_tmax_dtqid;
+extern int _kernel_tmax_mpfid;
+extern int _kernel_tmax_cycid;
+
+V4_T_RCFG CFG;
+
+
+void tool_initialize()
+{
+#ifdef GHS_HOOK
+    /*ãã¬ã¹ãã¯ã­ã®ããã®ãããã¡ãåæå*/
+    vinit_hook();
+#endif    
+
+    /*ã«ã¼ãã«è³æºãè¡¨ç¤ºããããã®æ§é ä½ãåæå*/
+    CFG.tskid_max=_kernel_tmax_tskid;
+    CFG.semid_max=_kernel_tmax_semid;
+    CFG.flgid_max=_kernel_tmax_flgid;
+    CFG.mbxid_max=_kernel_tmax_mbxid;
+    CFG.dtqid_max=_kernel_tmax_dtqid;
+    CFG.mpfid_max=_kernel_tmax_mpfid;
+    CFG.cycno_max=_kernel_tmax_cycid;
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/cyclic.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/cyclic.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/cyclic.bld	(revision 26)
@@ -0,0 +1,26 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+cyclic.h
+        include_file
+cyclic.c
+        C
+        :outputname=cycini.o
+        :defines=__cycini
+cyclic.c
+        C
+        :outputname=cycenq.o 
+        :defines=__cycenq
+cyclic.c
+        C
+        :outputname=sta_cyc.o
+        :defines=__sta_cyc
+cyclic.c
+        C
+        :outputname=stp_cyc.o
+        :defines=__stp_cyc
+cyclic.c
+        C
+        :outputname=cyccal.o
+        :defines=__cyccal
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/dataqueue.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/dataqueue.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/dataqueue.bld	(revision 26)
@@ -0,0 +1,66 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+dataqueue.h
+	include_file
+dataqueue.c
+	C
+	:outputname=dtqini.o
+	:defines=__dtqini
+dataqueue.c
+	C
+	:outputname=dtqenq.o
+	:defines=__dtqenq
+dataqueue.c
+	C
+	:outputname=dtqfenq.o
+	:defines=__dtqfenq
+dataqueue.c
+	C
+	:outputname=dtqeq.o
+	:defines=__dtqdeq
+dataqueue.c
+	C
+	:outputname=dtqsnd.o
+	:defines=__dtqsnd
+dataqueue.c
+	C
+	:outputname=dtqrcv.o
+	:defines=__dtqrcv
+dataqueue.c
+	C
+	:outputname=snd_dtq.o
+	:defines=__snd_dtq
+dataqueue.c
+	C
+	:outputname=psnd_dtq.o
+	:defines=__psnd_dtq
+dataqueue.c
+	C
+	:outputname=ipsnd_dtq.o
+	:defines=__ipsnd_dtq
+dataqueue.c
+	C
+	:outputname=tsnd_dtq.o
+	:defines=__tsnd_dtq
+dataqueue.c
+	C
+	:outputname=fsnd_dtq.o
+	:defines=__fsnd_dtq
+dataqueue.c
+	C
+	:outputname=ifsnd_dtq.o
+	:defines=__ifsnd_dtq
+dataqueue.c
+	C
+	:outputname=rcv_dtq.o
+	:defines=__rcv_dtq
+dataqueue.c
+	C
+	:outputname=prcv_dtq.o
+	:defines=__prcv_dtq
+dataqueue.c
+	C
+	:outputname=trcv_dtq.o
+	:defines=__trcv_dtq
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/eventflag.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/eventflag.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/eventflag.bld	(revision 26)
@@ -0,0 +1,38 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+eventflag.h
+        include_file
+eventflag.c
+        C
+        :outputname=flgini.o
+        :defines=__flgini
+eventflag.c
+        C
+        :outputname=flgcnd.o
+        :defines=__flgcnd
+eventflag.c
+        C
+        :outputname=set_flg.o
+        :defines=__set_flg
+eventflag.c
+        C
+        :outputname=iset_flg.o
+        :defines=__iset_flg
+eventflag.c
+        C
+        :outputname=clr_flg.o
+        :defines=__clr_flg
+eventflag.c
+        C
+        :outputname=wai_flg.o
+        :defines=__wai_flg
+eventflag.c
+        C
+        :outputname=pol_flg.o
+        :defines=__pol_flg
+eventflag.c
+        C
+        :outputname=twai_flg.o
+        :defines=__twai_flg
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/exception.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/exception.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/exception.bld	(revision 26)
@@ -0,0 +1,31 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+exception.h
+	include_file
+exception.c
+	C
+	:outputname=excini.o
+	:defines=__excini
+exception.c
+	C
+	:outputname=vxsns_ctx.o
+	:defines=__vxsns_ctx
+exception.c
+	C
+	:outputname=vxsns_loc.o
+	:defines=__vxsns_loc
+exception.c
+	C
+	:outputname=vxsns_dsp.o
+	:defines=__vxsns_dsp
+exception.c
+	C
+	:outputname=vxsns_dpn.o
+	:defines=__vxsns_dpn
+exception.c
+	C
+	:outputname=vxsns_tex.o
+	:defines=__vxsns_tex
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/interrupt.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/interrupt.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/interrupt.bld	(revision 26)
@@ -0,0 +1,10 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+interrupt.h
+	include_file
+interrupt.c
+	C
+	:outputname=inhini.o
+	:defines=__inhini
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/kernel.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/kernel.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/kernel.bld	(revision 26)
@@ -0,0 +1,48 @@
+#!build
+default:
+	library
+	:coverage=false
+	:auto_mvc=false
+	:compilation=assembly
+	:profilelevel=none
+	:sourcedirs=../../../kernel
+	:sourcedirs=../../../include
+	:defines=NDEBUG
+startup.c
+	C
+banner.c
+	C
+cyclic.bld
+	subproject
+dataqueue.bld
+	subproject
+eventflag.bld
+	subproject
+exception.bld
+	subproject
+interrupt.bld
+	subproject
+mailbox.bld
+	subproject
+mempfix.bld
+	subproject
+semaphore.bld
+	subproject
+sys_manage.bld
+	subproject
+syslog.bld
+	subproject
+task.bld
+	subproject
+task_except.bld
+	subproject
+task_manage.bld
+	subproject
+task_sync.bld
+	subproject
+time_event.bld
+	subproject
+time_manage.bld
+	subproject
+wait.bld
+	subproject
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/library.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/library.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/library.bld	(revision 26)
@@ -0,0 +1,12 @@
+#!build
+default:
+	subproject
+	:sourcedirs=../../../library
+log_output.c
+	C
+strerror.c
+	C
+t_perror.c
+	C
+vasyslog.c
+	C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mailbox.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mailbox.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mailbox.bld	(revision 26)
@@ -0,0 +1,32 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+check.h
+	include_file
+task.h
+	include_file
+wait.h
+	include_file
+mailbox.h
+	include_file
+mailbox.c
+	C
+	:outputname=mbxini.o
+	:defines=__mbxini
+mailbox.c
+	C
+	:outputname=snd_mbx.o
+	:defines=__snd_mbx
+mailbox.c
+	C
+	:outputname=rcv_mbx.o
+	:defines=__rcv_mbx
+mailbox.c
+	C
+	:outputname=prcv_mbx.o
+	:defines=__prcv_mbx
+mailbox.c
+	C
+	:outputname=trcv_mbx.o
+	:defines=__trcv_mbx
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mempfix.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mempfix.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/mempfix.bld	(revision 26)
@@ -0,0 +1,38 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+check.h
+	include_file
+task.h
+	include_file
+wait.h
+	include_file
+mempfix.h
+	include_file
+
+mempfix.c
+	C
+	:outputname=mpfini.o
+	:defines=__mpfini
+mempfix.c
+	C
+	:outputname=mpfget.o
+	:defines=__mpfget
+mempfix.c
+	C
+	:outputname=get_mpf.o
+	:defines=__get_mpf
+mempfix.c
+	C
+	:outputname=pget_mpf.o
+	:defines=__pget_mpf
+mempfix.c
+	C
+	:outputname=tget_mpf.o
+	:defines=__tget_mpf
+mempfix.c
+	C
+	:outputname=rel_mpf.o
+	:defines=__rel_mpf
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/semaphore.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/semaphore.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/semaphore.bld	(revision 26)
@@ -0,0 +1,37 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+check.h
+	include_file
+task.h
+	include_file
+wait.h
+	include_file
+semaphore.h
+	include_file
+
+semaphore.c
+	C
+	:outputname=semini.o
+	:defines=__semini
+semaphore.c
+	C
+	:outputname=sig_sem.o
+	:defines=__sig_sem
+semaphore.c
+	C
+	:outputname=isig_sem.o
+	:defines=__isig_sem
+semaphore.c
+	C
+	:outputname=wai_sem.o
+	:defines=__wai_sem
+semaphore.c
+	C
+	:outputname=pol_sem.o
+	:defines=__pol_sem
+semaphore.c
+	C
+	:outputname=twai_sem.o
+	:defines=__twai_sem
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/sys_manage.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/sys_manage.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/sys_manage.bld	(revision 26)
@@ -0,0 +1,69 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+check.h
+	include_file
+task.h
+	include_file
+sys_manage.c
+	C
+	:outputname=rot_rdq.o
+	:defines=__rot_rdq	
+sys_manage.c
+	C
+	:outputname=irot_rdq.o
+	:defines=__irot_rdq
+sys_manage.c
+	C
+	:outputname=get_tid.o
+	:defines=__get_tid
+sys_manage.c
+	C
+	:outputname=iget_tid.o
+	:defines=__iget_tid
+sys_manage.c
+	C
+	:outputname=loc_cpu.o
+	:defines=__loc_cpu
+sys_manage.c
+	C
+	:outputname=iloc_cpu.o
+	:defines=__iloc_cpu
+sys_manage.c
+	C
+	:outputname=unl_cpu.o
+	:defines=__unl_cpu
+sys_manage.c
+	C
+	:outputname=iunl_cpu.o
+	:defines=__iunl_cpu
+sys_manage.c
+	C
+	:outputname=dis_dsp.o
+	:defines=__dis_dsp
+sys_manage.c
+	C
+	:outputname=ena_dsp.o
+	:defines=__ena_dsp
+sys_manage.c
+	C
+	:outputname=sns_ctx.o
+	:defines=__sns_ctx
+sys_manage.c
+	C
+	:outputname=sns_loc.o
+	:defines=__sns_loc
+sys_manage.c
+	C
+	:outputname=sns_dsp.o
+	:defines=__sns_dsp
+sys_manage.c
+	C
+	:outputname=sns_dpn.o
+	:defines=__sns_dpn
+sys_manage.c
+	C
+	:outputname=vsns_ini.o
+	:defines=__vsns_ini
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/syslog.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/syslog.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/syslog.bld	(revision 26)
@@ -0,0 +1,30 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+time_event.h
+	include_file
+syslog.h
+	include_file
+
+syslog.c
+	C
+	:outputname=logini.o
+	:defines=__logini
+syslog.c
+	C
+	:outputname=vwri_log.o
+	:defines=__vwri_log
+syslog.c
+	C
+	:outputname=vrea_log.o
+	:defines=__vrea_log
+syslog.c
+	C
+	:outputname=vmsk_log.o
+	:defines=__vmsk_log
+syslog.c
+	C
+	:outputname=logter.o
+	:defines=__logter
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/systask.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/systask.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/systask.bld	(revision 26)
@@ -0,0 +1,10 @@
+#!build
+default:
+	subproject
+	:sourcedirs=../../../systask
+serial.c
+	C
+timer.c
+	C
+logtask.c
+	C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task.bld	(revision 26)
@@ -0,0 +1,46 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+task.h
+	include_file
+task.c
+	C
+	:outputname=tskini.o
+	:defines=__tskini
+task.c
+	C
+	:outputname=tsksched.o
+	:defines=__tsksched
+task.c
+	C
+	:outputname=tskrun.o
+	:defines=__tskrun
+task.c
+	C
+	:outputname=tsknrun.o
+	:defines=__tsknrun
+task.c
+	C
+	:outputname=tskact.o
+	:defines=__tskact
+task.c
+	C
+	:outputname=tskext.o
+	:defines=__tskext
+task.c
+	C
+	:outputname=tskpri.o
+	:defines=__tskpri
+task.c
+	C
+	:outputname=tskrot.o
+	:defines=__tskrot
+task.c
+	C
+	:outputname=tsktex.o
+	:defines=__tsktex
+task.c
+	C
+	:outputname=tskdmt.o
+	:defines=__tskdmt
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_except.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_except.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_except.bld	(revision 26)
@@ -0,0 +1,28 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+check.h
+	include_file
+task.h
+	include_file
+task_except.c
+	C
+	:outputname=ras_tex.o
+	:defines=__ras_tex
+task_except.c
+	C
+	:outputname=iras_tex.o
+	:defines=__iras_tex
+task_except.c
+	C
+	:outputname=dis_tex.o
+	:defines=__dis_tex
+task_except.c
+	C
+	:outputname=ena_tex.o
+	:defines=__ena_tex
+task_except.c
+	C
+	:outputname=sns_tex.o
+	:defines=__sns_tex
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_manage.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_manage.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_manage.bld	(revision 26)
@@ -0,0 +1,41 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+check.h
+	include_file
+task.h
+	include_file
+wait.h
+	include_file
+task_manage.c
+	C
+	:outputname=act_tsk.o
+	:defines=__act_tsk
+task_manage.c
+	C
+	:outputname=iact_tsk.o
+	:defines=__iact_tsk
+task_manage.c
+	C
+	:outputname=can_act.o
+	:defines=__can_act
+task_manage.c
+	C
+	:outputname=ext_tsk.o
+	:defines=__ext_tsk
+task_manage.c
+	C
+	:outputname=ter_tsk.o
+	:defines=__ter_tsk
+task_manage.c
+	C
+	:outputname=chg_pri.o
+	:defines=__chg_pri
+task_manage.c
+	C
+	:outputname=get_pri.o
+	:defines=__get_pri
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_sync.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_sync.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/task_sync.bld	(revision 26)
@@ -0,0 +1,51 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+task.h
+	include_file
+wait.h
+	include_file
+task_sync.c
+	C
+	:outputname=slp_tsk.o
+	:defines=__slp_tsk
+task_sync.c
+	C
+	:outputname=tslp_tsk.o
+	:defines=__tslp_tsk
+task_sync.c
+	C
+	:outputname=wup_tsk.o
+	:defines=__wup_tsk
+task_sync.c
+	C
+	:outputname=iwup_tsk.o
+	:defines=__iwup_tsk
+task_sync.c
+	C
+	:outputname=can_wup.o
+	:defines=__can_wup
+task_sync.c
+	C
+	:outputname=rel_wai.o
+	:defines=__rel_wai
+task_sync.c
+	C
+	:defines=__irel_wai
+task_sync.c
+	C
+	:outputname=sus_tsk.o
+	:defines=__sus_tsk
+task_sync.c
+	C
+	:outputname=rsm_tsk.o
+	:defines=__rsm_tsk
+task_sync.c
+	C
+	:outputname=frsm_tsk.o
+	:defines=__frsm_tsk
+task_sync.c
+	C
+	:outputname=dly_tsk.o
+	:defines=__dly_tsk
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_event.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_event.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_event.bld	(revision 26)
@@ -0,0 +1,34 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+time_event.h
+	include_file
+
+time_event.c
+	C
+	:outputname=tmeini.o
+	:defines=__tmeini
+time_event.c
+	C
+	:outputname=tmeup.o
+	:defines=__tmeup
+time_event.c
+	C
+	:outputname=tmedown.o
+	:defines=__tmedown
+time_event.c
+	C
+	:outputname=tmeins.o
+	:defines=__tmeins
+time_event.c
+	C
+	:outputname=tmedel.o
+	:defines=__tmedel
+time_event.c
+	C
+	:outputname=isig_tim.o
+	:defines=__isig_tim
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_manage.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_manage.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/time_manage.bld	(revision 26)
@@ -0,0 +1,20 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+time_event.h
+	include_file
+
+time_manage.c
+	C
+	:outputname=set_tim.o
+	:defines=__set_tim
+time_manage.c
+	C
+	:outputname=get_tim.o
+	:defines=__get_tim
+time_manage.c
+	C
+	:outputname=vxget_tim.o
+	:defines=__vxget_tim
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/wait.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/wait.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/kernel_bld/wait.bld	(revision 26)
@@ -0,0 +1,44 @@
+#!build
+default:
+	subproject
+	:auto_mvc=false
+
+wait.h
+	include_file
+
+wait.c
+	C
+	:outputname=waimake.o
+	:defines=__waimake
+wait.c
+	C
+	:outputname=waicmp.o
+	:defines=__waicmp
+wait.c
+	C
+	:outputname=waitmo.o
+	:defines=__waitmo
+wait.c
+	C
+	:outputname=waitmook.o
+	:defines=__waitmook
+wait.c
+	C
+	:outputname=waican.o
+	:defines=__waican
+wait.c
+	C
+	:outputname=wairel.o
+	:defines=__wairel
+wait.c
+	C
+	:outputname=wobjwai.o
+	:defines=__wobjwai
+wait.c
+	C
+	:outputname=wobjwaitmo.o
+	:defines=__wobjwaitmo
+wait.c
+	C
+	:outputname=wobjpri.o
+	:defines=__wobjpri
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/arm920t.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/arm920t.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/arm920t.bld	(revision 26)
@@ -0,0 +1,41 @@
+#!build
+default:
+	program
+	:oldc_option=unknownpragmawarn
+	:oldc_option=slashcomment
+	:oldc_option=noasmwarn
+	:ec_option=nono_slash_comment
+	:lx_option=rescan
+	:lx_map_option=map
+	:lx_map_option=crossreference
+	:auto_mvc=false
+	:arm_cputype=arm9
+	:asm_mode=silent
+	:unknown_pragma=warn
+	:compilation=assembly
+	:optimizestrategy=none
+	:sourcedirs=../kernel_bld/
+	:sourcedirs=../ghs_hook_bld
+	:sourcedirs=../../../config/armv4-ghs/
+	:sysincdirs=../../../include
+	:sysincdirs=../../../kernel
+	:sysincdirs=../../../config/armv4-ghs
+	:sysincdirs=../../../config/armv4-ghs/integrator
+	:sysincdirs=../../../config/armv4
+	:sysincdirs=../../../systask
+	:defines=LABEL_ASM
+	:defines=NDEBUG
+linker_arm.lnk
+	linker_file
+kernel.bld
+	library
+systask.bld
+	subproject
+library.bld
+	subproject
+armv4t-ghs.bld
+	subproject
+ghs_hook.bld
+	subproject
+user_program.bld
+	subproject
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/configuration.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/configuration.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/configuration.bld	(revision 26)
@@ -0,0 +1,9 @@
+#!build
+default:
+	nobuild
+	:stage=cppfile
+	:nodepends=sample1.cfg
+sample1.cfg
+	C
+	:outputname=sample1.i
+	:postexec=../../../cfg/cfg -s sample1.i -kernel_id kernel_id.h -kernel_cfg kernel_cfg.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_arm.lnk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_arm.lnk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_arm.lnk	(revision 26)
@@ -0,0 +1,23 @@
+-sec
+{
+    .vector     0x00000000		:
+    .vector_table 0x00000000            :
+    .text	0x00001000		:
+    .syscall				:
+    .secinfo				:
+    .fixaddr				:
+    .fixtype				:
+    .rodata	align(4)		:
+    .romdata    ROM(.data)		:
+    .romsdata   ROM(.sdata)		:
+    .sdabase 	0x010000		:
+ #       .sdabase 	0x04000000		:
+    .sbss				:
+    .sdata      			:
+    .rosdata				:
+    .data				:
+    .bss				:
+    .heap	align(0x1000) pad(0x4000)	:
+    .stacktop	align(0x1000)		:
+    .stack	align(4) pad(0x20000)	:
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_sh3.lnk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_sh3.lnk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/linker_sh3.lnk	(revision 26)
@@ -0,0 +1,19 @@
+-sec
+{
+    .text	0xac008000		:
+    .syscall				:
+    .secinfo				:
+    .fixaddr				:
+    .fixtype				:
+    .rodata	align(4)		:
+    .romdata    ROM(.data)		:
+    .romsdata   ROM(.sdata)		:
+    .sdabase 	align(4)		:
+    .sbss				:
+    .sdata      			:
+    .rosdata				:
+    .data				:
+    .bss				:
+    .heap	align(4) pad(0x1000)	:
+    .stack	align(4) pad(0x1000)	:
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.c	(revision 26)
@@ -0,0 +1,458 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample1.c,v 1.2 2003/12/24 08:39:40 honda Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : CPUã­ãã¯ç¶æ
+ã§CPUä¾å¤ãçºçãããï¼ãã­ã°ã©ã ãçµäºããï¼ï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+char	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	volatile UW	i;
+	INT	n = 0;
+	INT	tskno = (INT) exinf;
+	char	*graph[] = { "|", "  +", "    *" };
+	char	c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+		case 'Z':
+			loc_cpu();
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			unl_cpu();
+			break;
+#endif /* CPUEXC1 */
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
+							p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
+		vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	char	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", exinf);
+
+	syscall(serial_ctl_por(TASK_PORTID,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	for (i = 0; i < task_loop; i++);
+	get_tim(&stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		syscall(serial_rea_dat(TASK_PORTID, &c, 1));
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskid, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskid, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskid, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tsk(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tsk(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.1 2003/12/19 11:27:53 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../systask/timer.cfg"
+#include "../systask/serial.cfg"
+#include "../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/sample1.h	(revision 26)
@@ -0,0 +1,180 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h,v 1.2 2003/12/24 08:38:06 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(I386)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	2		/* SIOã¯ãã¼ã2ãç¨ãã */
+
+#elif defined(MIPS3)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/solution_engine.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/solution_engine.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/solution_engine.bld	(revision 26)
@@ -0,0 +1,43 @@
+#!build
+default:
+	program
+	:c_option=unknownpragmawarn
+	:c_option=slashcomment
+	:c_option=noasmwarn
+	:lx_option=rescan
+	:lx_map_option=map
+	:lx_map_option=crossreference
+	:sh_cputype=sh3
+	:sourcekanji=euc
+	:targetkanji=euc
+	:compilation=assembly
+	:optimizestrategy=none
+	:sourcedirs=../../../tools/GHS/kernel_bld
+	:sourcedirs=../../../tools/GHS/ghs_hook_bld
+	:sourcedirs=../../../config/sh3-ghs
+	:sysincdirs=../../../include
+	:sysincdirs=../../../kernel
+	:sysincdirs=../../../config/sh3-ghs
+	:sysincdirs=../../../config/sh3-ghs/solution_engine
+	:sysincdirs=../../../config/sh3
+	:sysincdirs=../../../config/sh3/solution_engine
+	:sysincdirs=../../../tools/GHS/ghs_hook_bld
+	:defines=LABEL_ASM
+	:defines=NDEBUG
+	:defines=MS7709ASE01
+	:defines=GHS_STUB
+kernel.bld
+	library
+	:outputname=kernel.a
+systask.bld
+	subproject
+library.bld
+	subproject
+sh3_solution-ghs.bld
+	subproject
+ghs_hook.bld
+	subproject
+user_program.bld
+	subproject
+linker_sh3.lnk
+	linker_file
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/user_program.bld
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/user_program.bld	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/GHS/sample/user_program.bld	(revision 26)
@@ -0,0 +1,13 @@
+#!build
+default:
+	subproject
+kernel_id.h
+	include_file
+sample1.h
+	include_file
+sample1.c
+	C
+kernel_cfg.c
+	C
+configuration.bld
+	nobuild
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.Hbp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.Hbp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.Hbp	(revision 26)
@@ -0,0 +1,4 @@
+[Setting]
+ToolChain=0
+[Section]
+WindowSize=397,327
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.hws
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.hws	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.hws	(revision 26)
@@ -0,0 +1,45 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"9.0" 
+[WORKSPACE_DETAILS]
+"H8-RENESAS" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\H8-RENESAS.hws" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" 
+[SHARED_WORKSPACE_CONTROL_STATUS]
+"" "" "" 
+"" "" "" 
+[PROJECTS]
+"configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\configuration.hwp" 4 
+"genoffset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset\genoffset.hwp" 0 
+"libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\libkernel.hwp" 4 
+"sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\sample.hwp" 4 
+[INFORMATION]
+"ã¯ã¼ã¯ã¹ãã¼ã¹æ
+å ±ãããã¾ãã" 
+[SCRAP]
+[PROJECT_DEPENDENCY]
+"libkernel" "genoffset" 
+"sample" "configuration" 
+"sample" "libkernel" 
+[WORKSPACE_PROPERTIES]
+[HELP_FILES]
+"c:\hew3\tools\renesas\h8\6_0_3\hew\Stdlib.hlp" "C/C++ Standard Library Help" 0 
+"c:\hew3\tools\renesas\h8\6_1_0\hew\Stdlib.hlp" "C/C++ Standard Library Help" 0 
+"c:\hew3\tools\renesas\h8\6_1_2\hew\Stdlib.hlp" "C/C++ Standard Library Help" 1 
+[GENERAL_DATA_PROJECT]
+[USERMENUTOOLS]
+[CUSTOMPLACEHOLDERS]
+[MAKEFILE_BUILD_INFO]
+"$(WORKSPDIR)\make\$(PROJECTNAME).mak" "" "$(WORKSPDIR)\make" 0 0 0 
+[VD_CONFIGURATION_OPTIONS]
+"ACTIVE_DESKTOP" "0" 
+[VD_CONFIGURATIONS]
+"0" "Default1" "0" 
+"1" "Default2" "0" 
+"2" "Default3" "0" 
+"3" "Default4" "0" 
+[OPTIONS_DEBUG_TAB]
+0 0 0 0 
+[VCS]
+"" "" "" 0 
+[VCS_PROJECT]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.tws
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.tws	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/H8-RENESAS.tws	(revision 26)
@@ -0,0 +1,11 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[CURRENT_PROJECT]
+"libkernel" 
+[GENERAL_DATA]
+[BREAKPOINTS]
+[OPEN_WORKSPACE_FILES]
+[WORKSPACE_FILE_STATES]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/Readme.txt	(revision 26)
@@ -0,0 +1,21 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	configuration
+PROJECT DIRECTORY :	C:\jsp\tools\H8-RENESAS\configuration
+CPU SERIES :	300H
+CPU TYPE :	3048F
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.0.3.0
+GENERATION FILES :
+    C:\jsp\tools\H8-RENESAS\configuration\dbsct.c
+        Setting of B,R Section
+START ADDRESS OF SECTION :
+    H'000000800	P,C,C$DSEC,C$BSEC,D
+    H'000FFEF10	B,R
+    H'000FFFD00	S
+
+* When the user program is executed,
+* the interrupt mask has been masked.
+* 
+* ****H8/3048f Advanced****
+
+DATE & TIME : 2005/03/16 14:27:48
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/call_configurator.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/call_configurator.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/call_configurator.bat	(revision 26)
@@ -0,0 +1,36 @@
+echo off
+rem ã·ã¹ãã ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¨ãã¯ã¿ãã¼ãã«ã®èªåçæ
+
+rem HEWã§ã¯ãç¸å¯¾ãã¹æå®ã§å¤é¨ãã¼ã«ãå¼ã³åºããªãããã
+rem ããããã¡ã¤ã«ãçµç±ãã¦ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¼ã³åºãã¦ãã
+rem
+rem ã·ã¹ãã ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ãããªãã­ã»ã¹ããã
+rem çµæã®ãã¡ã¤ã«åããå¼æ°%1ã¨ãã¦HEWãããã®ããããã¡ã¤ã«ã«æ¸¡ãããã
+
+rem ä»¥ä¸ã®é¨åã¯ç§»æ¤ã®éã«å¤æ´ããå¿
+è¦ããã
+rem ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªå
+rem cfg.exe -s %1 -c -obj -cpu h8 -system xxxxxxxx
+
+rem ãã¯ã¿ãã¼ãã«ã®ãµã¤ãº
+rem genvector.pl -s xxx
+
+rem ã·ã¹ãã ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+..\..\..\..\cfg\cfg.exe -s %1 -c -obj -cpu h8 -system hsb8f3048bf25
+if errorlevel 1 exit 1
+type kernel_cfg.c > debug_kernel_cfg.c
+type kernel_cfg.c > release_kernel_cfg.c
+del kernel_cfg.c
+
+rem ãã¯ã¿ãã¼ãã«ã®èªåçæ
+perl ..\..\..\..\utils\h8\grep_def_inh.pl %1 > tmp_script.pl
+if errorlevel 1 exit 1
+type ..\..\..\..\config\h8-renesas\vector_header.src > vector.src
+perl ..\..\..\..\utils\h8-renesas\genvector.pl -s 61 >> vector.src
+if errorlevel 1 exit 1
+perl ..\..\..\..\utils\h8-renesas\gen_intentry.pl >> vector.src
+if errorlevel 1 exit 1
+del tmp_script.pl
+type vector.src > debug_vector.src
+type vector.src > release_vector.src
+del vector.src
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.hwp	(revision 26)
@@ -0,0 +1,207 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\configuration.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Application" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.0.3.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+"configuration" 0 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C source file" "cfg" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+"configuration" "$(PROJDIR)\call_configurator.bat" "$(CONFIGDIR)" 0 0 1 
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[ENVIRONMENT_configuration]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 0 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 0 
+"Hitachi OptLinker" 0 
+"configuration" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "$(PROJDIR)\configuration.pgs" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.cfg" "User" "C source file" 2 
+[FOLDER]
+"C source file" "C source file" 
+[GENERAL_DATA_PROJECT]
+"MAKEGEN_GENERATE_MAKEFILE_FOR" "0" 
+"MAKEGEN_MAKEFILE_FORMAT" "0" 
+"MAKEGEN_SCAN_DEPENDENCIES_WHILST_BUILDING_MAKEFILE" "1" 
+"MAKEGEN_USE_STATIC_SUBCOMMAND_FILES" "0" 
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0a31567634a25c10" 4 
+"Linkage symbol file" "0a31567634a25c10" 4 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0f018594f1c16c10" 2 
+"C++ source file" "0f018594f1c16c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.cfg" "0f018594f1c16c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0203e75243a25c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "09fee2a842c16c10" 5 
+[OPTIONS_Debug_configuration]
+"Single Shot" "01da3981a3c16c10" 6 
+[OPTIONS_Debug]
+"" 0 
+"$(CONFIGDIR)\sample1.p" 6 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [B|SPEED|0] [S|MODE|BUILD/CHANGED] [S|CPU|300HA:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|ASSIGNC|LABEL_ASM=^" ^"|E10T=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [S|CPULNK|300HA:24 [I|SBR|0] [S|FORM|STYPE] [B|DEBUG|1] [S|ROM|(D,R)] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|P,C,C$DSEC,C$BSEC,D(0800)|B,R(0FFEF10)|S(0FFFD00)]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|DEFINE|E10T|LABEL_ASM] [S|NOMESSAGE|6|8|10] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).p^"] [B|DEBUG|1] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|OTHER|^"-nomessage=1400^"] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|DEFINE|E10T|LABEL_ASM] [S|NOMESSAGE|6|8|10] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).pp^"] [B|DEBUG|1] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|OTHER|^"-nomessage=1400^"] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 3 
+[DEPENDENCIES_Debug_configuration]
+"Single Shot" "$(CONFIGDIR)\sample1.p" "UnknownCustom" 
+[OUTPUT_FILES_Debug_configuration]
+"Single Shot" "$(CONFIGDIR)\debug_kernel_cfg.c" "UnknownCustom" 0 
+"Single Shot" "$(CONFIGDIR)\debug_kernel_id.h" "UnknownCustom" 0 
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0203e75243a25c10" 4 
+"Linkage symbol file" "0203e75243a25c10" 4 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0995e47ac1655c10" 2 
+"C++ source file" "0995e47ac1655c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.cfg" "0995e47ac1655c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0203e75243a25c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "09fee2a842c16c10" 5 
+[OPTIONS_Release_configuration]
+"Single Shot" "01da3981a3c16c10" 6 
+[OPTIONS_Release]
+"" 0 
+"$(CONFIGDIR)\sample1.p" 6 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [B|SPEED|0] [S|MODE|BUILD/CHANGED] [S|CPU|300HA:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [B|DEBUG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LIST|0] [B|CHGINCPATH|1] [B|ERRORPATH|1] [S|CPU|300HA:24]" 4 
+"[V|VERSION|6] [S|CPULNK|300HA:24 [I|SBR|0] [S|FORM|STYPE] [B|DEBUG|0] [S|ROM|(D,R)] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|P,C,C$DSEC,C$BSEC,D(0800)|B,R(0FFEF10)|S(0FFFD00)]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|DEFINE|LABEL_ASM] [S|NOMESSAGE|6|8|10] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).p^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|OTHER|^"-nomessamge=1400^"] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|DEFINE|LABEL_ASM] [S|NOMESSAGE|6|8|10] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).pp^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|OTHER|^"-nomessamge=1400^"] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 3 
+[DEPENDENCIES_Release_configuration]
+"Single Shot" "$(CONFIGDIR)\sample1.p" "UnknownCustom" 
+[OUTPUT_FILES_Release_configuration]
+"Single Shot" "$(PROJDIR)\work\kernel_id.h" "UnknownCustom" 0 
+"Single Shot" "$(WORKSPDIR)\work\kernel_cfg.c" "UnknownCustom" 0 
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "[V|VERSION|] [] [] [] [] Debug Options
+" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "[V|VERSION|] [] [] [] [] Debug Options
+" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.pgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.pgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.pgs	(revision 26)
@@ -0,0 +1,35 @@
+; Project Generator Setup Infomation
+
+[PGS Version]
+Version=1.0
+
+[Toolchain]
+Toolchain=Hitachi H8S,H8/300 Standard
+Toolchain Name=Hitachi H8S,H8/300 Standard Toolchain
+Toolchain Version=6.0.3.0
+
+[CPU]
+CPU Family=H8S,H8/300
+CPU Series=300H
+CPU Type=H8/3048F
+Operating Mode=Advanced
+Address Space=16M byte
+Multiple=Not Support
+Divide=Not Support
+
+[Project]
+Project Name=configuration
+Project Type=Application
+
+[Stack Settings]
+Stack Pointer Address=H'FFFF00
+Stack Size=
+Stack Section Name=S
+Stack Section Address=
+Source File Name=stacksct.h
+Description=
+Default Stack Pointer Address=H'FFFF00
+Default Stack Size=H'200
+
+[Initial Settings]
+Simulator I/O=disable
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/configuration.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/configuration/defaultsession.hsf	(revision 26)
@@ -0,0 +1,90 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 1 "0.33" 180 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|<<separator>>" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 782 219 9 0 "" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 228 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.08" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 228 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"[V|VERSION|] [] [] [] [] Debug Options
+" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"TRUE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/copy_files.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/copy_files.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/copy_files.bat	(revision 26)
@@ -0,0 +1,19 @@
+echo off
+rem æ³¨æãHEWã§ãã«ãããåã«ããã®ããããã¡ã¤ã«ãäºãå®è¡ãã¦ããã
+
+rem ä¾å­é¨ã¨éä¾å­é¨ã®ã½ã¼ã¹ãã¡ã¤ã«ã
+rem jsp\tools\H8-RENESAS\libkernel\kernel_sourceã«ã³ãã¼
+
+cd libkernel\kernel_source
+xcopy /Q /I /D /S ..\..\..\..\config\h8-renesas h8-renesas
+xcopy /Q /I /D ..\..\..\..\kernel kernel
+xcopy /Q /I /D ..\..\..\..\library library
+xcopy /Q /I /D ..\..\..\..\systask systask
+
+rem ã«ã¼ãã«ã½ã¼ã¹ãã¡ã¤ã«ã®ã³ãã¼
+rem é¢æ°åä½ã§ãªã³ã¯ãããããã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ãã«#defineæãè¿½å ãã¦
+rem ã³ãã¼ããã
+
+mkdir kernel_api
+perl ../../../../utils/h8-renesas/copy_kernel_source.pl ../../../../kernel kernel_api
+cd ..\..
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_copy_kernel_source.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_copy_kernel_source.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_copy_kernel_source.bat	(revision 26)
@@ -0,0 +1,10 @@
+echo off
+rem ã«ã¼ãã«ã½ã¼ã¹ãã¡ã¤ã«ã®ã³ãã¼
+
+rem é¢æ°åä½ã§ãªã³ã¯ãããããã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ãã«#defineæãè¿½å ãã¦
+rem ã³ãã¼ããã
+
+rem jsp\tools\H8S-RENESAS\libkernel\sourceããè¦ãç¸å¯¾ãã¹ã§æå®ããã
+
+perl ../../../../utils/h8-renesas/copy_kernel_source.pl ../../../../kernel .
+if errorlevel 1 exit 1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_genoffset.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_genoffset.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/call_genoffset.bat	(revision 26)
@@ -0,0 +1,15 @@
+echo off
+rem TCBæ§é ä½ã®ãªãã»ããç®åº
+
+rem HEWã§ã¯ãç¸å¯¾ãã¹æå®ã§å¤é¨ãã¼ã«ãå¼ã³åºããªãããã
+rem ããããã¡ã¤ã«ãçµç±ãã¦ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¼ã³åºãã¦ãã
+rem
+rem jsp/config/h8-renessas/makeoffset.cãã³ã³ãã¤ã«ããã
+rem çµæã®ãã¡ã¤ã«åããå¼æ°%1ã¨ãã¦HEWãããã®ããããã¡ã¤ã«ã«æ¸¡ãããã
+rem
+rem Perlã®å¼ã³åºãã«å¤±æããå ´åã¯ãã¹ãéããã¨ã
+
+echo on
+
+perl ..\..\..\..\utils\h8-renesas\genoffset %1 > offset.inc
+if errorlevel 1 exit 1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/debug/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/debug/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/debug/offset.inc	(revision 26)
@@ -0,0 +1,11 @@
+; This file is generated by genoffset.
+
+TCB_tinib:	.DEFINE	"8"
+TCB_sp:	.DEFINE	"22"
+TCB_pc:	.DEFINE	"26"
+TINIB_task:	.DEFINE	"6"
+TINIB_exinf:	.DEFINE	"2"
+TCB_texptn:	.DEFINE	"16"
+TCB_enatex:	.DEFINE	"14"
+TCB_enatex_bit:	.DEFINE	"5"
+TCB_enatex_mask:	.DEFINE	"H'20"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/defaultsession.hsf	(revision 26)
@@ -0,0 +1,73 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 221 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"FALSE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.hwp	(revision 26)
@@ -0,0 +1,204 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"genoffset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset\genoffset.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Empty Application" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.0.3.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset\release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+"copy_kernel_source" 0 
+"makeoffset" 0 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+"copy_kernel_source" "$(PROJDIR)\call_copy_kernel_source.bat" "$(WORKSPDIR)\libkernel\kernel_source" 0 0 0 
+"makeoffset" "$(PROJDIR)\call_genoffset.bat" "$(CONFIGDIR)" 0 0 0 
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[ENVIRONMENT_copy_kernel_source]
+[ENVIRONMENT_makeoffset]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 0 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 0 
+"Hitachi OptLinker" 0 
+"makeoffset" 1 
+"copy_kernel_source" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "$(PROJDIR)\genoffset.pgs" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\makeoffset.c" "User" "C source file" 2 
+[FOLDER]
+"C source file" "C source file" 
+[GENERAL_DATA_PROJECT]
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\genoffset\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0d4b1bd442c16c10" 3 
+"Linkage symbol file" "0d4b1bd442c16c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0d4b1bd442c16c10" 2 
+"C++ source file" "0d4b1bd442c16c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\makeoffset.c" "0ad6172c9cc26c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0d4b1bd442c16c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "0ad6172c9cc26c10" 4 
+[OPTIONS_Debug_copy_kernel_source]
+"Single Shot" "0286ed4e12157c10" 0 
+[OPTIONS_Debug_makeoffset]
+"Single Shot" "0ad6172c9cc26c10" 5 
+[OPTIONS_Debug]
+"" 0 
+"$(CONFIGDIR)\makeoffset.src" 5 
+"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [S|CPULNK|300HA:24 [I|SBR|0] [S|FORM|STYPE] [B|DEBUG|1] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [S|DEFINE|E10T|LABEL_ASM] [S|OUTPUT|ASMCODE] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).src^"] [B|DEBUG|1] [S|ASSEMBLY|^"[V|VERSION|1]] [B|DEBUG|1]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|300HA:24]] [I|SBR|0]]^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|MODE|NOTADD] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|NEW|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0]
+" 1 
+[DEPENDENCIES_Debug_copy_kernel_source]
+[DEPENDENCIES_Debug_makeoffset]
+[OUTPUT_FILES_Debug_copy_kernel_source]
+[OUTPUT_FILES_Debug_makeoffset]
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "09fee2a842c16c10" 3 
+"Linkage symbol file" "09fee2a842c16c10" 3 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "09fee2a842c16c10" 2 
+"C++ source file" "09fee2a842c16c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\makeoffset.c" "0ad6172c9cc26c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "09fee2a842c16c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "0ad6172c9cc26c10" 4 
+[OPTIONS_Release_copy_kernel_source]
+"Single Shot" "0286ed4e12157c10" 0 
+[OPTIONS_Release_makeoffset]
+"Single Shot" "0ad6172c9cc26c10" 5 
+[OPTIONS_Release]
+"" 0 
+"$(CONFIGDIR)\makeoffset.src" 5 
+"[V|VERSION|1] [B|DEBUG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LIST|0] [B|CHGINCPATH|1] [B|ERRORPATH|1] [S|CPU|300HA:24]" 3 
+"[V|VERSION|6] [S|CPULNK|300HA:24 [I|SBR|0] [S|FORM|STYPE] [B|DEBUG|0] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [S|OUTPUT|ASMCODE] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).src^"] [S|ASSEMBLY|^"[V|VERSION|1]] [B|DEBUG|0]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|300HA:24]] [I|SBR|0]]^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [B|LIST|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|MODE|NOTADD] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|NEW|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [S|BIT_ORDER|LEFT] [I|ALIGN|] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0]
+" 1 
+[DEPENDENCIES_Release_copy_kernel_source]
+[DEPENDENCIES_Release_makeoffset]
+[OUTPUT_FILES_Release_copy_kernel_source]
+[OUTPUT_FILES_Release_makeoffset]
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.pgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.pgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.pgs	(revision 26)
@@ -0,0 +1,35 @@
+; Project Generator Setup Infomation
+
+[PGS Version]
+Version=1.0
+
+[Toolchain]
+Toolchain=Hitachi H8S,H8/300 Standard
+Toolchain Name=Hitachi H8S,H8/300 Standard Toolchain
+Toolchain Version=6.0.3.0
+
+[CPU]
+CPU Family=H8S,H8/300
+CPU Series=300H
+CPU Type=H8/
+Operating Mode=Normal
+Address Space=Not Support
+Multiple=Not Support
+Divide=Not Support
+
+[Project]
+Project Name=genoffset
+Project Type=Empty Application
+
+[Stack Settings]
+Stack Pointer Address=
+Stack Size=
+Stack Section Name=
+Stack Section Address=
+Source File Name=
+Description=
+Default Stack Pointer Address=
+Default Stack Size=
+
+[Initial Settings]
+Simulator I/O=disable
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/genoffset.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/release/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/release/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/genoffset/release/offset.inc	(revision 26)
@@ -0,0 +1,11 @@
+; This file is generated by genoffset.
+
+TCB_tinib:	.DEFINE	"8"
+TCB_sp:	.DEFINE	"22"
+TCB_pc:	.DEFINE	"26"
+TINIB_task:	.DEFINE	"6"
+TINIB_exinf:	.DEFINE	"2"
+TCB_texptn:	.DEFINE	"16"
+TCB_enatex:	.DEFINE	"14"
+TCB_enatex_bit:	.DEFINE	"5"
+TCB_enatex_mask:	.DEFINE	"H'20"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Readme.txt	(revision 26)
@@ -0,0 +1,8 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	libkernel
+PROJECT DIRECTORY :	C:\jsp\tools\H8-RENESAS\libkernel
+CPU SERIES :	300H
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.0.3.0
+
+DATE & TIME : 2005/03/14 16:30:27
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/Upgrade.txt	(revision 26)
@@ -0,0 +1,8 @@
+Project name : libkernel
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/defaultsession.hsf	(revision 26)
@@ -0,0 +1,75 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 1 "0.25" 180 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|<<separator>>" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 782 219 9 0 "" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 221 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"TRUE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/kernel_source/clean.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/kernel_source/clean.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/kernel_source/clean.bat	(revision 26)
@@ -0,0 +1,8 @@
+echo off
+rem ä¸­éãã¡ã¤ã«ãåé¤ããããããã¡ã¤ã«
+rem
+remãããã®ã¹ã¯ãªããèªä½ã¯ãã«ãã«ã¯ä½¿ç¨ãããªãã
+remãããã®ãã¡ã¤ã«ãã¢ã¼ã«ã¤ãã«å«ãããã¨ã«ããã
+remããkernel_sourceãã£ã¬ã¯ããªã®ã¢ã¼ã«ã¤ãæ¼ããé²ãã
+
+del *.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.hwp	(revision 26)
@@ -0,0 +1,575 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\libkernel.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Library" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 0 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi OptLinker" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_config.c" "User" "config" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_support.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\h8_sil.c" "User" "config" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_config.c" "User" "config" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_support.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hw_serial.c" "User" "config" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\start.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\act_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_act.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_wup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\chg_pri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\clr_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cyccal.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dly_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqdeq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqfenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqrcv.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqsnd.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\excini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ext_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgcnd.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\frsm_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_pri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tid.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iact_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iget_tid.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iloc_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\inhini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iras_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irel_wai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irot_rdq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iset_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iunl_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iwup_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\loc_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logter.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mbxini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfget.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pget_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\psnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ras_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_wai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rot_rdq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rsm_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\semini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sig_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\slp_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_ctx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dpn.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_loc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sta_cyc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\stp_cyc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sus_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ter_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tget_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedel.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedown.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeins.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskact.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskdmt.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskext.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsknrun.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskpri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrot.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrun.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsksched.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsktex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tslp_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\unl_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vmsk_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vrea_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vsns_ini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vwri_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxget_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_loc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waican.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waicmp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waimake.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wairel.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmo.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmook.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjpri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wup_tsk.c" "User" "C source file" 2 
+[FOLDER]
+"Assembly source file" "Assembly source file" 
+"C source file" "C source file" 
+"Preprocessed C source file" "Preprocessed C source file" 
+"config" "config" 
+[GENERAL_DATA_PROJECT]
+"MAKEGEN_GENERATE_MAKEFILE_FOR" "0" 
+"MAKEGEN_MAKEFILE_FORMAT" "0" 
+"MAKEGEN_SCAN_DEPENDENCIES_WHILST_BUILDING_MAKEFILE" "1" 
+"MAKEGEN_USE_STATIC_SUBCOMMAND_FILES" "0" 
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "01f3a3dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_support.src" "01f3a3dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_support.src" "01f3a3dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\start.src" "01f3a3dda1157c10" 3 
+"Linkage symbol file" "01f3a3dda1157c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "025f73dda1157c10" 2 
+"C++ source file" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_config.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\h8_sil.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_config.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hw_serial.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\act_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_act.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_wup.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\chg_pri.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\clr_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cyccal.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycenq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_dsp.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dly_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqdeq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqenq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqfenq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqrcv.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqsnd.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_dsp.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\excini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ext_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgcnd.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\frsm_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_mpf.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_pri.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tid.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tim.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iact_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iget_tid.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iloc_cpu.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\inhini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iras_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irel_wai.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irot_rdq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iset_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_sem.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_tim.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iunl_cpu.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iwup_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\loc_cpu.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logter.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mbxini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfget.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pget_mpf.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_sem.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_mbx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\psnd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ras_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_mbx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_mpf.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_wai.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rot_rdq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rsm_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\semini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_tim.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sig_sem.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\slp_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_mbx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_ctx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dpn.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dsp.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_loc.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sta_cyc.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\stp_cyc.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sus_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ter_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tget_mpf.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedel.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedown.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeins.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeup.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_mbx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskact.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskdmt.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskext.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsknrun.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskpri.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrot.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrun.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsksched.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsktex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tslp_tsk.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_sem.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\unl_cpu.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vmsk_log.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vrea_log.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vsns_ini.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vwri_log.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxget_tim.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_loc.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_tex.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_flg.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_sem.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waican.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waicmp.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waimake.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wairel.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmo.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmook.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjpri.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwai.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "025f73dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wup_tsk.c" "025f73dda1157c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "025f73dda1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "01f3a3dda1157c10" 4 
+[OPTIONS_Debug]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|300HA:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\genoffset\$(CONFIGNAME)^"] [S|ASSIGNC|LABEL_ASM=^" ^"|E10T=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(PROJDIR)\kernel_source^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"] [S|DEFINE|E10T|LABEL_ASM] [S|NOMESSAGE|10|16] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [S|SHOW|OBJECT|NOSTATISTICS|EXPANSION] [B|OPTIMIZE|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [B|MISRA_REPORT|1] [S|MISRA_REPORT_PATH|^"$(CONFIGDIR)\$(FILELEAF).csv^"] [S|OTHER|^"-nomessage=1400^"] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "024853dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_support.src" "024853dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_support.src" "024853dda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\start.src" "024853dda1157c10" 3 
+"Linkage symbol file" "024853dda1157c10" 3 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "023133dda1157c10" 2 
+"C++ source file" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\cpu_config.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\h8_sil.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hsb8f3048bf25\sys_config.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8-renesas\hw_serial.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\act_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_act.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\can_wup.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\chg_pri.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\clr_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cyccal.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycenq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\cycini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_dsp.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dis_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dly_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqdeq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqenq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqfenq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqrcv.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\dtqsnd.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_dsp.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ena_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\excini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ext_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgcnd.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\flgini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\frsm_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_mpf.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_pri.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tid.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\get_tim.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iact_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iget_tid.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iloc_cpu.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\inhini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iras_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irel_wai.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\irot_rdq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iset_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_sem.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\isig_tim.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iunl_cpu.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\iwup_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\loc_cpu.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\logter.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mbxini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfget.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\mpfini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pget_mpf.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\pol_sem.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\prcv_mbx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\psnd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ras_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rcv_mbx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_mpf.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rel_wai.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rot_rdq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\rsm_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\semini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\set_tim.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sig_sem.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\slp_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\snd_mbx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_ctx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dpn.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_dsp.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_loc.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sns_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sta_cyc.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\stp_cyc.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\sus_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\ter_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tget_mpf.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedel.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmedown.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeins.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tmeup.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\trcv_mbx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskact.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskdmt.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskext.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsknrun.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskpri.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrot.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tskrun.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsksched.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsktex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tslp_tsk.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\twai_sem.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\unl_cpu.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vmsk_log.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vrea_log.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vsns_ini.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vwri_log.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxget_tim.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_loc.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\vxsns_tex.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_flg.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wai_sem.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waican.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waicmp.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waimake.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wairel.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmo.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\waitmook.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjpri.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwai.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "023133dda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\libkernel\kernel_source\wup_tsk.c" "023133dda1157c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "023133dda1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "025f73dda1157c10" 4 
+[OPTIONS_Release]
+"" 0 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\divide_files\release^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\genoffset\$(CONFIGNAME)^"] [B|DEBUG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|PRELINK|SKIP] [S|FORM|LIBRARY|U] [B|DEBUG|0] [S|ROM|(D,R)] [S|NOMESSAGE|4,0100,1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(PROJDIR)\kernel_source^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\\offset^"] [S|NOMESSAGE|10|16] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|NEW|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT]
+" 1 
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/libkernel/libkernel.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Readme.txt	(revision 26)
@@ -0,0 +1,23 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	sample
+PROJECT DIRECTORY :	C:\jsp\tools\H8-RENESAS\sample
+CPU SERIES :	300H
+CPU TYPE :	3048F
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.0.3.0
+GENERATION FILES :
+    C:\jsp\tools\H8-RENESAS\sample\dbsct.c
+        Setting of B,R Section
+START ADDRESS OF SECTION :
+    H'000000800	P,C,C$DSEC,C$BSEC,D
+    H'000FFEF10	B,R
+    H'000FFFD00	S
+
+* When the user program is executed,
+* the interrupt mask has been masked.
+* 
+* ****H8/3048f Advanced****
+
+SELECT TARGET :
+    H8/3048F-ONE E10T-USB SYSTEM ( CPU H8/300H )
+DATE & TIME : 2005/03/14 16:28:09
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/Upgrade.txt	(revision 26)
@@ -0,0 +1,8 @@
+Project name : sample
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/defaultsession.hsf	(revision 26)
@@ -0,0 +1,76 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 1 "0.25" 180 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|<<separator>>" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 0 0 596 241 9 0 "" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 239 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"[V|VERSION|] [] [] [] [] [] [] [] [] Debug Options
+" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"TRUE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.hwp	(revision 26)
@@ -0,0 +1,235 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\sample.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Application" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi OptLinker" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "$(PROJDIR)\sample.pgs" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "User" "kernel" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_kernel_cfg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_vector.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_kernel_cfg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_vector.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.c" "User" "C source file" 2 
+[FOLDER]
+"Assembly source file" "Assembly source file" 
+"C source file" "C source file" 
+"kernel" "kernel" 
+"library" "library" 
+"systask" "systask" 
+[GENERAL_DATA_PROJECT]
+"MAKEGEN_GENERATE_MAKEFILE_FOR" "0" 
+"MAKEGEN_MAKEFILE_FORMAT" "0" 
+"MAKEGEN_SCAN_DEPENDENCIES_WHILST_BUILDING_MAKEFILE" "1" 
+"MAKEGEN_USE_STATIC_SUBCOMMAND_FILES" "0" 
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\defaultsession.hsf" 0 
+"SessionH8_3048F-ONE_E10T-USB_SYST" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\sessionh8_3048f-one_e10t-usb_syst.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_SESSION_SessionH8_3048F-ONE_E10T-USB_SYST]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0498c5cda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_vector.src" "0498c5cda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_vector.src" "0498c5cda1157c10" 3 
+"Linkage symbol file" "0498c5cda1157c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0498c5cda1157c10" 2 
+"C++ source file" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_kernel_cfg.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_kernel_cfg.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.c" "0498c5cda1157c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0498c5cda1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "0498c5cda1157c10" 4 
+[OPTIONS_Debug]
+"" 0 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|ASSIGNC|LABEL_ASM=^" ^"|E10T=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|INPUTLIBRARY|^"$(WORKSPDIR)\libkernel\Debug\libkernel.lib^"] [S|FORM|STYPE] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|V,P,C,D(00)|B,R(0200000)] [I|CPUINFORMATIONCHECK|1] [S|;CHECKDEVICE|ROM,0x00000000,0x0001FFFF|RAM,0x00200000,0x0027FFFF|RAM,0x00FFEF10,0x00FFFF0F] [S|OTHER|^"-change_message=information=1200^"]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(FILEDIR)^"|^"$(WORKSPDIR)^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\configuration\$(CONFIGNAME)^"] [S|DEFINE|E10T|LABEL_ASM] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [B|MISRA_REPORT|1] [S|MISRA_REPORT_PATH|^"$(CONFIGDIR)\$(FILELEAF).csv^"] [S|OTHER|^"-nomessage=1400^"] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|NEW|1] [B|STDARG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|NOCPUEXPAND|1] [I|ALIGN|] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT]
+" 1 
+[EXCLUDED_FILES_Debug]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_kernel_cfg.c" 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_vector.src" 
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0498c5cda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_vector.src" "0498c5cda1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_vector.src" "0498c5cda1157c10" 3 
+"Linkage symbol file" "0498c5cda1157c10" 3 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0498c5cda1157c10" 2 
+"C++ source file" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_kernel_cfg.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\release\release_kernel_cfg.c" "0498c5cda1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample1.c" "0498c5cda1157c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0498c5cda1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "0498c5cda1157c10" 4 
+[OPTIONS_Release]
+"" 0 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"] [S|ASSIGNC|LABEL_ASM=^" ^"|E10T=^" ^"] [B|DEBUG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|300HA:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|INPUTLIBRARY|^"$(WORKSPDIR)\libkernel\Release\libkernel.lib^"] [B|ENTRY|1] [S|ENTRY|^"_start^"] [S|PRELINK|SKIP] [S|FORM|STYPE] [B|DEBUG|0] [S|ROM|(D,R)] [S|NOMESSAGE|1,3,4,0100,1200] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|V,P,C,D(00)|B,R(0200000)] [I|CPUINFORMATIONCHECK|1] [S|;CHECKDEVICE|ROM,0x00000000,0x0001FFFF|RAM,0x00200000,0x0027FFFF|RAM,0x00FFEF10,0x00FFFF0F]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(FILEDIR)^"|^"$(WORKSPDIR)^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)\..\..\config\h8-renesas\hsb8f3048bf25^"|^"$(WORKSPDIR)\..\..\config\h8-renesas^"|^"$(WORKSPDIR)\configuration\$(CONFIGNAME)^"] [S|DEFINE|E10T|LABEL_ASM] [S|NOMESSAGE|10|16] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [B|MISRA_REPORT|1] [S|MISRA_REPORT_PATH|^"$(CONFIGDIR)\$(FILELEAF).csv^"] [S|OTHER|^"-nomessage=1400,0016^"] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|NEW|1] [B|STDARG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=110] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|CPU|300HA:24] [I|SBR|0] [S|BIT_ORDER|LEFT]
+" 1 
+[EXCLUDED_FILES_Release]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_kernel_cfg.c" 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\configuration\debug\debug_vector.src" 
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionH8_3048F-ONE_E10T-USB_SYST]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionH8_3048F-ONE_E10T-USB_SYST]
+"MEMORY_MAPPING_OPTIONS" "Unknown Options" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_SessionH8_3048F-ONE_E10T-USB_SYST]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_SessionH8_3048F-ONE_E10T-USB_SYST]
+"MEMORY_MAPPING_OPTIONS" "Unknown Options" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.pgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.pgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.pgs	(revision 26)
@@ -0,0 +1,35 @@
+; Project Generator Setup Infomation
+
+[PGS Version]
+Version=1.0
+
+[Toolchain]
+Toolchain=Hitachi H8S,H8/300 Standard
+Toolchain Name=Hitachi H8S,H8/300 Standard Toolchain
+Toolchain Version=6.0.3.0
+
+[CPU]
+CPU Family=H8S,H8/300
+CPU Series=300H
+CPU Type=H8/3048F
+Operating Mode=Advanced
+Address Space=16M byte
+Multiple=Not Support
+Divide=Not Support
+
+[Project]
+Project Name=sample
+Project Type=Application
+
+[Stack Settings]
+Stack Pointer Address=H'FFFF00
+Stack Size=
+Stack Section Name=S
+Stack Section Address=
+Source File Name=stacksct.h
+Description=
+Default Stack Pointer Address=H'FFFF00
+Default Stack Size=H'200
+
+[Initial Settings]
+Simulator I/O=disable
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sample.tps	(revision 26)
@@ -0,0 +1,32 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+"SessionH8_3048F-ONE_E10T-USB_SYST" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+"SessionH8_3048F-ONE_E10T-USB_SYST" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+"SessionH8_3048F-ONE_E10T-USB_SYST" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_SessionH8_3048F-ONE_E10T-USB_SYST]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionH8_3048F-ONE_E10T-USB_SYST]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_SESSION_SessionH8_3048F-ONE_E10T-USB_SYST]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sessionh8_3048f-one_e10t-usb_syst.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sessionh8_3048f-one_e10t-usb_syst.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/sessionh8_3048f-one_e10t-usb_syst.hsf	(revision 26)
@@ -0,0 +1,351 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"FIRST_CONNECTION_TAG" "NO" 
+"MRULABELS_DATAMANAGER_KEY" "2001ff|200000|208090|20808C|002080ff|0020808C|000004|FF|000000" 
+"RESET_CPU_AFTER_DOWNLOAD_TAG" "VARIANT_FALSE_STORE_TAG" 
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}ECXLABEL_ADDDLG_ADDR" "" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileDir" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\debug" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileName" "" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlViews" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusCtrlViews" "1" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd0ColWidth0" "459" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd0ColWidth1" "306" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd0ScrollHorz" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd0ScrollVert" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd1ColWidth0" "323" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd1ColWidth1" "1241" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd1ScrollHorz" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd1ScrollVert" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd2ColWidth0" "250" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd2ColWidth1" "748" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd2ScrollHorz" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusWnd2ScrollVert" "0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_FLASHMEMORY_DOWNLOADOPTION" "0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_FLASH_MODE" "0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_GOOPTION" "0 0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_ROUND" "RM_NEAR" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_STEPOPTION" "0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_CONFIG_STEPOVEROPTION" "0" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_EVENT_BC1" "0,0,1,0,0,0,1,2,0,0," 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_EVENT_BC2" "0,0,1,0,0,0,0," 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_SESSION_IS_SAVED" "YES" 
+"{2BCC9541-5E4E-401A-916B-C1519D43EB9E}T_TRACE_TRACE_ACQUISITION" "" 
+"{30F726A1-F13D-4E21-9A4F-FD7FF70EDFDA}TraceCtrlSaveFileDir" "C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\debug" 
+"{30F726A1-F13D-4E21-9A4F-FD7FF70EDFDA}TraceCtrlSaveFileName" "" 
+"{30F726A1-F13D-4E21-9A4F-FD7FF70EDFDA}TraceCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_DEST_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SET_DEST_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryCtrlViews" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DataLength" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispAddressTopPane" "2097312" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispCode" "42208" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispColumnCount" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispCode" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispFloat" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispLabel" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispRegister" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsRegFollowEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0LabelWidth" "132" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0Radix" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegFollowRegTblIDTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegisterWidth" "72" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollEndAddress" "2097663" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollStartAddress" "2097152" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0StartUpSymbolTopPane" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewAInstanceKey0" "{WK_00000001_MEMORY}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DataLength" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispAddressTopPane" "2097152" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispCode" "42208" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispColumnCount" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispCode" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispFloat" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispLabel" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispRegister" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsRegFollowEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0LabelWidth" "72" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0Radix" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegFollowRegTblIDTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegisterWidth" "72" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollEndAddress" "2097663" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollStartAddress" "2097152" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0StartUpSymbolTopPane" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewBInstanceKey0" "{WK_00000001_MEMORY}sampleSessionH8_3048F-ONE_E10T-USB_SYSTViewB" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE" "00000000,00000000,0,0" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_ADDRESS_NAME" "" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_ADDRESS" ",,,," 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_BUFFER" ",,,," 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}WaveformCtrlViews" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegisterCtrlViews" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ColumnWidth" "42,185,36" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_COUNT" "18" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideFLAGs" "1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideRadix" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0LastFileName" "" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0RadixList" "16,16,16,16,16,16,16,16,16,2," 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndInstanceKey0" "{WK_00000001_REGISTERS}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ColumnWidth" "42,185,36" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_COUNT" "18" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideFLAGs" "1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideRadix" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0LastFileName" "" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0RadixList" "16,16,16,16,16,16,16,16,16,2," 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewBInstanceKey0" "{WK_00000001_REGISTERS}sampleSessionH8_3048F-ONE_E10T-USB_SYSTViewB" 
+"{9615CD20-79CF-11D5-8EB6-00004CC34E9D}LocaleCtrlViews" "0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_ADDRESS_NAME" "" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_BUFFER" "00000000,00000000,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COLOR" "0,0,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_ADDRESS" ",,,," 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_PALETTE" ",,,," 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_PALETTE_NAME" "" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_VIEW" "0,0,0,0,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ImageCtrlViews" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchCtrlViews" "4" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth0" "213" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth1" "245" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH" "_kernel_tcb_table,BIT_LABEL," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ECX_WATCH" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ECX_WATCH" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ECX_WATCH" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInstanceKey0" "{WK_00000001_WATCH}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchRecord" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchSave" "" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_EVAL_DENORMAL_MODE" "0" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_EVAL_ROUND_MODE" "0" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_0" "000000000000C927" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_1" "000000000002D4B8" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_2" "000000000000000C" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_3" "0000000000060016" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_4" "00000000002080B9" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_5" "0000000000000002" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_6" "00000000002040BE" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_7" "0000000000204098" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_8" "0000000000000944" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_9" "0000000000000029" 
+"{C088D861-776D-45F4-A70E-079CC28D82D5}C_REGISTER_REG_COUNT" "10" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}ElfDwarf2Objects" "1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_STATIC_MEM_EXPAND" "1" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventCtrlViews" "2" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ColWidth0" "40" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ColWidth1" "50" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ColWidth2" "280" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ColWidth3" "291" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ScrollHorz" "0" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd0ScrollVert" "0" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ColWidth0" "40" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ColWidth1" "50" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ColWidth2" "280" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ColWidth3" "291" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ScrollHorz" "0" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWnd1ScrollVert" "0" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWndInstanceKey0" "{WK_00000001_EVENT}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{D595F9C0-EF22-11D5-B7DB-0000E10B3DA9}EventWndInstanceKey1" "{WK_00000001_EVENT}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsCtrlViews" "1" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ColWidth0" "120" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ColWidth1" "150" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ColWidth2" "120" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ECX_LOCALS_RADIX" "16" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp0" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp1" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp10" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp11" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp2" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp3" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp4" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp5" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp6" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp7" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp8" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0Exp9" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ScrollHorz" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWnd0ScrollVert" "0" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsWndInstanceKey0" "{WK_00000001_LOCALS}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceCtrlViews" "0" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWnd0ColWidth0" "45" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWnd0ColWidth1" "175" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWnd0ColWidth2" "120" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWnd0ScrollHorz" "0" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWnd0ScrollVert" "0" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceWndInstanceKey0" "{WK_00000001_STACKTRACE}sampleSessionH8_3048F-ONE_E10T-USB_SYST" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlIOFile" "c:\hew3\tools\renesas\debugcomp\platform\e10t-usb\3048f_one\IOFiles\H83048f.io" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileDir" "$(CONFIGDIR)" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileName" "" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlViews" "1" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth0" "200" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth1" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth2" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth3" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp0" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp1" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp10" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp11" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp12" "1" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp13" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp14" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp15" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp16" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp17" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp18" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp19" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp2" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp20" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp21" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp22" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp23" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp24" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp25" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp26" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp27" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp28" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp29" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp3" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp30" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp31" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp32" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp33" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp34" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp35" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp36" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp37" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp38" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp39" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp4" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp40" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp41" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp42" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp43" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp44" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp45" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp46" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp47" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp48" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp49" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp5" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp50" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp51" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp52" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp53" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp54" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp55" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp6" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp7" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp8" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp9" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollHorz" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollVert" "10" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"Debug" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_00000001_CmdLine}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 0 "0.50" 180 0 0 100 100 18 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|<<separator>>" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.15" 158 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 0 0 596 241 10 0 "" "0.0" 
+"{WK_00000001_EVENT}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 6 "0.15" 158 0 0 350 200 17 0 "32774|32775|32777|<<separator>>|32780|<<separator>>" "0.0" 
+"{WK_00000001_IO}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 5 "0.08" 158 0 0 350 200 17 0 "32817" "0.0" 
+"{WK_00000001_LOCALS}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 1 "0.11" 158 0 0 350 200 18 0 "32772|32776|32777|32778|32779" "0.0" 
+"{WK_00000001_MAP}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 0 "0.33" 103 0 0 350 200 2065 0 "32773|<<separator>>|32787|32772|32796|32797" "0.0" 
+"{WK_00000001_MEMORY}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 3 "0.69" 158 0 0 350 200 17 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 158 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000001_REGISTERS}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59421 0 0 "1.00" 180 0 0 100 100 18 0 "" "0.0" 
+"{WK_00000001_STACKTRACE}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 0 "0.26" 180 0 0 100 100 2065 0 "" "0.0" 
+"{WK_00000001_STATUS}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59420 0 1 "0.33" 180 0 0 350 200 17 0 "" "0.0" 
+"{WK_00000001_WATCH}sampleSessionH8_3048F-ONE_E10T-USB_SYST" "WINDOW" 59422 0 4 "0.17" 158 0 0 350 200 18 0 "32781|32783|<<separator>>|32771|32772|32773|<<separator>>|32786" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000011_CPU}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 3 3 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 3 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8-RENESAS\sample\debug\éã¢ã»ã³ããª" 
+[TARGET_NAME]
+"H8/3048F-ONE E10T-USB SYSTEM ( CPU H8/300H )" 
+[DEBUGGER_OPTIONS]
+"[B|SIMIOF|1] [I|SIMIOADR|0x00000000] [S|ROM_MODE|^"^"] [S|MAP|^"^"] [S|RESOURCE|^"^"]" 
+[DOWNLOAD_MODULES]
+"$(CONFIGDIR)\$(PROJECTNAME).abs" 0 "Elf/Dwarf2" 0 0 1 0 
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+"$(PROJDIR)\set_sp.hdc" 
+"1" 
+[DEFAULT_DEBUG_FORMAT]
+"Elf/Dwarf2" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/set_sp.hdc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/set_sp.hdc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample/set_sp.hdc	(revision 26)
@@ -0,0 +1,1 @@
+rs sp H'ffff00
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.c	(revision 26)
@@ -0,0 +1,458 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample1.c,v 1.11 2007/04/02 03:14:01 honda Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : ãã­ã°ã©ã ãçµäºããï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+char	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	volatile UW	i;
+	INT		n = 0;
+	INT		tskno = (INT) exinf;
+	const char	*graph[] = { "|", "  +", "    *" };
+	char		c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+#endif /* CPUEXC1 */
+		case 'Z':
+			syslog(LOG_NOTICE, "Sample program ends with exception.");
+			kernel_exit();
+			break;
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
+							p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", (int)sns_loc(), (int)sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		(int)vxsns_loc(p_excinf), (int)vxsns_ctx(p_excinf),
+		(int)vxsns_dsp(p_excinf), (int)vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	char	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (int)exinf);
+	syscall(serial_ctl_por(TASK_PORTID,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	for (i = 0; i < task_loop; i++);
+	get_tim(&stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		syscall(serial_rea_dat(TASK_PORTID, &c, 1));
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskno, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.10 2007/03/26 07:08:55 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../systask/timer.cfg"
+#include "../../systask/serial.cfg"
+#include "../../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8-RENESAS/sample1.h	(revision 26)
@@ -0,0 +1,211 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h,v 1.10 2007/03/26 07:08:55 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+							
+#ifdef __RENESAS_VERSION__		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#define	TASK_PORTID	1
+#else /*  __RENESAS_VERSION__  */
+#ifdef __GNUC__
+#define	TASK_PORTID	2
+#endif /* __GNUC__ */
+#endif /*  __RENESAS_VERSION__  */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(IA32)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	2		/* SIOã¯ãã¼ã2ãç¨ãã */
+
+#elif defined(MIPS3)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(M16C) && defined(OAKS16)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  512     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(M16C) && defined(OAKS16_MINI)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  384     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(NIOS2)
+
+#define CPUEXC1		0		  /* æªå®è£
+å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	  Asm("div zero, zero, zero");
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.Hbp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.Hbp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.Hbp	(revision 26)
@@ -0,0 +1,4 @@
+[Setting]
+ToolChain=0
+[Section]
+WindowSize=397,327
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.hws
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.hws	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.hws	(revision 26)
@@ -0,0 +1,44 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"9.0" 
+[WORKSPACE_DETAILS]
+"H8S-RENESAS" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\H8S-RENESAS.hws" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" 
+[SHARED_WORKSPACE_CONTROL_STATUS]
+"" "" "" 
+"" "" "" 
+[PROJECTS]
+"configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\configuration.hwp" 4 
+"libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\libkernel.hwp" 4 
+"offset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset\offset.hwp" 4 
+"sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample\sample.hwp" 4 
+[INFORMATION]
+"ã¯ã¼ã¯ã¹ãã¼ã¹æ
+å ±ãããã¾ãã" 
+[SCRAP]
+[PROJECT_DEPENDENCY]
+"libkernel" "offset" 
+"sample" "configuration" 
+"sample" "libkernel" 
+[WORKSPACE_PROPERTIES]
+[HELP_FILES]
+"c:\hew3\tools\renesas\h8\6_1_0\hew\Stdlib.hlp" "C/C++ Standard Library Help" 0 
+"c:\hew3\tools\renesas\h8\6_1_2\hew\Stdlib.hlp" "C/C++ Standard Library Help" 1 
+[GENERAL_DATA_PROJECT]
+[USERMENUTOOLS]
+[CUSTOMPLACEHOLDERS]
+[MAKEFILE_BUILD_INFO]
+"$(WORKSPDIR)\make\$(WORKSPNAME).mak" "" "$(WORKSPDIR)\make" 0 0 0 
+[VD_CONFIGURATION_OPTIONS]
+"ACTIVE_DESKTOP" "0" 
+[VD_CONFIGURATIONS]
+"0" "Default1" "1" 
+"1" "Default2" "1" 
+"2" "Default3" "1" 
+"3" "Default4" "1" 
+[OPTIONS_DEBUG_TAB]
+0 0 0 0 
+[VCS]
+"" "" "" 0 
+[VCS_PROJECT]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.tws
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.tws	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/H8S-RENESAS.tws	(revision 26)
@@ -0,0 +1,11 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[CURRENT_PROJECT]
+"libkernel" 
+[GENERAL_DATA]
+[BREAKPOINTS]
+[OPEN_WORKSPACE_FILES]
+[WORKSPACE_FILE_STATES]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Readme.txt	(revision 26)
@@ -0,0 +1,8 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	configuration
+PROJECT DIRECTORY :	D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\configuration
+CPU SERIES :	2000
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.1.0.0
+
+DATE & TIME : 2005/12/06 15:19:04
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/Upgrade.txt	(revision 26)
@@ -0,0 +1,8 @@
+Project name : configuration
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/call_configurator.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/call_configurator.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/call_configurator.bat	(revision 26)
@@ -0,0 +1,43 @@
+echo off
+rem ã·ã¹ãã ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¨ãã¯ã¿ãã¼ãã«ã®èªåçæ
+
+rem HEWã§ã¯ãç¸å¯¾ãã¹æå®ã§å¤é¨ãã¼ã«ãå¼ã³åºããªãããã
+rem ããããã¡ã¤ã«ãçµç±ãã¦ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¼ã³åºãã¦ãã
+rem
+rem ã·ã¹ãã ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ãããªãã­ã»ã¹ããã
+rem çµæã®ãã¡ã¤ã«åããå¼æ°%1ã¨ãã¦HEWãããã®ããããã¡ã¤ã«ã«æ¸¡ãããã
+
+rem ä»¥ä¸ã®é¨åã¯ç§»æ¤ã®éã«å¤æ´ããå¿
+è¦ããã
+rem ã·ã¹ãã ä¾å­é¨ã®ãã£ã¬ã¯ããªå
+rem cfg.exe -s %1 -c -obj -cpu h8 -system xxxxxxxx
+
+rem ãã¯ã¿ãã¼ãã«ã®ãµã¤ãº
+rem genvector.pl -s xxx
+
+rem HEWã§ã¯ãåããã¡ã¤ã«åã§ãã¹ã®ã¿ç°ãªãã½ã¼ã¹ãã¡ã¤ã«ãã³ã³ãã£
+rem ã®ã¥ã¬ã¼ã·ã§ã³(Debug/Release)ã«ãã£ã¦ããã«ãå¯¾è±¡ãä½¿ãåãããã¨
+rem ãã§ããªãã
+rem ãããåé¿ãããããvector.srcãdebug_vector.srcã¨release_vector.
+rem srcã«ã³ãã¼ããä¸åº¦ãä¸¡æ¹ããã­ã¸ã§ã¯ãã«ç»é²ããã³ã³ãã£ã®ã¥ã¬ã¼
+rem ã·ã§ã³æ¯ã«ãããªããã¡ã¤ã«ããã«ãå¯¾è±¡ããé¤å¤ããã
+rem kernel_cfg.cã«ã¤ãã¦ãåæ§
+
+rem Perlã®å¼ã³åºãã«å¤±æããå ´åã¯ãã¹ãéããã¨ã
+
+echo on
+
+..\..\..\..\cfg\cfg.exe -s %1 -c -obj -cpu h8s -system minet_h8s_2339f
+type kernel_cfg.c > debug_kernel_cfg.c
+type kernel_cfg.c > release_kernel_cfg.c
+del kernel_cfg.c
+
+perl ..\..\..\..\utils\h8\grep_def_inh.pl %1 > tmp_script.pl
+type ..\..\..\..\config\h8s-renesas\vector_header.src > vector.src
+perl ..\..\..\..\utils\h8-renesas\genvector.pl -s 92 >> vector.src
+perl ..\..\..\..\utils\h8s-renesas\gen_intentry.pl >> vector.src
+del tmp_script.pl
+type vector.src > debug_vector.src
+type vector.src > release_vector.src
+del vector.src
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.hwp	(revision 26)
@@ -0,0 +1,199 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\configuration.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Library" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+"call_canfigurator" 0 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C source file" "cfg" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+"call_canfigurator" "$(PROJDIR)\call_configurator.bat" "$(CONFIGDIR)" 0 0 1 
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[ENVIRONMENT_call_canfigurator]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 0 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 0 
+"Hitachi OptLinker" 0 
+"call_canfigurator" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.cfg" "User" "" 2 
+[FOLDER]
+[GENERAL_DATA_PROJECT]
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0ff79135d1157c10" 4 
+"Linkage symbol file" "0ff79135d1157c10" 4 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0ff79135d1157c10" 3 
+"C++ source file" "0ff79135d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.cfg" "0ff79135d1157c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0ff79135d1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "0ff79135d1157c10" 5 
+[OPTIONS_Debug_call_canfigurator]
+"Single Shot" "0ff79135d1157c10" 6 
+[OPTIONS_Debug]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|DEFINE|^"RAM=^"^"0^"^"^"] [S|ASSIGNC|RAM=^" ^"|USE_DEBUGGER=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [I|SBR|0] [S|PRELINK|SKIP] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).p^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 3 
+"sample1.p" 6 
+[DEPENDENCIES_Debug_call_canfigurator]
+"Single Shot" "$(CONFIGDIR)\sample1.p" "UnknownCustom" 
+[OUTPUT_FILES_Debug_call_canfigurator]
+"Single Shot" "$(CONFIGDIR)\kernel_id.h" "UnknownCustom" 0 
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "0ff79135d1157c10" 4 
+"Linkage symbol file" "0ff79135d1157c10" 4 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0ff79135d1157c10" 3 
+"C++ source file" "0ff79135d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.cfg" "0ff79135d1157c10" 3 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "0ff79135d1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "0ff79135d1157c10" 5 
+[OPTIONS_Release_call_canfigurator]
+"Single Shot" "0ff79135d1157c10" 6 
+[OPTIONS_Release]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|ASSIGNC|RAM=^" ^"|USE_DEBUGGER=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [I|SBR|0] [S|PRELINK|SKIP] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|ALL] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUT|PREPROCESSOR] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).p^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 3 
+"sample1.p" 6 
+[DEPENDENCIES_Release_call_canfigurator]
+"Single Shot" "$(CONFIGDIR)\sample1.p" "UnknownCustom" 
+[OUTPUT_FILES_Release_call_canfigurator]
+"Single Shot" "$(CONFIGDIR)\kernel_id.h" "UnknownCustom" 0 
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/configuration.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/configuration/defaultsession.hsf	(revision 26)
@@ -0,0 +1,66 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.0" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.20" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+"D:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\readme.txt" 
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Readme.txt	(revision 26)
@@ -0,0 +1,8 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	libkernel
+PROJECT DIRECTORY :	D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\libkernel
+CPU SERIES :	2000
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.1.0.0
+
+DATE & TIME : 2005/12/03 15:59:31
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/Upgrade.txt	(revision 26)
@@ -0,0 +1,8 @@
+Project name : libkernel
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/defaultsession.hsf	(revision 26)
@@ -0,0 +1,73 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.08" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 221 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/kernel_source/clean.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/kernel_source/clean.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/kernel_source/clean.bat	(revision 26)
@@ -0,0 +1,8 @@
+echo off
+rem ä¸­éãã¡ã¤ã«ãåé¤ããããããã¡ã¤ã«
+rem
+remãããã®ã¹ã¯ãªããèªä½ã¯ãã«ãã«ã¯ä½¿ç¨ãããªãã
+remãããã®ãã¡ã¤ã«ãã¢ã¼ã«ã¤ãã«å«ãããã¨ã«ããã
+remããkernel_sourceãã£ã¬ã¯ããªã®ã¢ã¼ã«ã¤ãæ¼ããé²ãã
+
+del *.c
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.hwp	(revision 26)
@@ -0,0 +1,576 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\libkernel.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Library" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\Release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi OptLinker" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_config.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_support.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sci.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sil.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_config.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_support.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\start.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\act_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_act.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_wup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\chg_pri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\clr_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cyccal.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dly_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqdeq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqfenq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqrcv.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqsnd.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\excini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ext_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgcnd.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\frsm_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_pri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tid.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iact_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iget_tid.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iloc_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\inhini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iras_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irel_wai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irot_rdq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iset_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iunl_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iwup_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\loc_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logter.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mbxini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfget.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pget_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\psnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ras_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_wai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rot_rdq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rsm_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\semini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sig_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\slp_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_ctx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dpn.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_loc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sta_cyc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\stp_cyc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sus_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ter_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tget_mpf.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedel.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedown.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeins.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeup.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_mbx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskact.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskdmt.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskext.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsknrun.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskpri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrot.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrun.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsksched.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsktex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tslp_tsk.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\unl_cpu.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vmsk_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vrea_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vsns_ini.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vwri_log.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxget_tim.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_loc.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_tex.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_flg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_sem.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waican.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waicmp.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waimake.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wairel.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmo.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmook.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjpri.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwai.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wup_tsk.c" "User" "C source file" 2 
+[FOLDER]
+"Assembly source file" "Assembly source file" 
+"C source file" "C source file" 
+[GENERAL_DATA_PROJECT]
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "03055345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_support.src" "03055345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_support.src" "03055345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\start.src" "03055345d1157c10" 4 
+"Linkage symbol file" "03055345d1157c10" 5 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "03fd2345d1157c10" 2 
+"C++ source file" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_config.c" "03fd2345d1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sci.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sil.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_config.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\act_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_act.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_wup.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\chg_pri.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\clr_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cyccal.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycenq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_dsp.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dly_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqdeq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqenq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqfenq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqrcv.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqsnd.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_dsp.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\excini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ext_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgcnd.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\frsm_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_mpf.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_pri.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tid.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tim.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iact_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iget_tid.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iloc_cpu.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\inhini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iras_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irel_wai.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irot_rdq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iset_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_sem.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_tim.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iunl_cpu.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iwup_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\loc_cpu.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logter.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mbxini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfget.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pget_mpf.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_sem.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_mbx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\psnd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ras_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_mbx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_mpf.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_wai.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rot_rdq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rsm_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\semini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_tim.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sig_sem.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\slp_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_mbx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_ctx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dpn.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dsp.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_loc.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sta_cyc.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\stp_cyc.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sus_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ter_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tget_mpf.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedel.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedown.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeins.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeup.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_mbx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskact.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskdmt.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskext.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsknrun.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskpri.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrot.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrun.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsksched.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsktex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tslp_tsk.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_sem.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\unl_cpu.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vmsk_log.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vrea_log.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vsns_ini.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vwri_log.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxget_tim.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_loc.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_tex.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_flg.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_sem.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waican.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waicmp.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waimake.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wairel.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmo.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmook.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjpri.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwai.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "03fd2345d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wup_tsk.c" "03fd2345d1157c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "03fd2345d1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "02a97345d1157c10" 6 
+[OPTIONS_Debug]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(CONFIGDIR)^"] [S|DEFINE|^"RAM=^"^"0^"^"^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 5 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\offset\$(CONFIGNAME)^"] [S|DEFINE|^"RAM=^"^"0^"^"^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [I|SBR|0] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 6 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [S|ASSEMBLY|^"[V|VERSION|1]] [B|DEBUG|1]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|2000A:24]] [I|SBR|0]]^"] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 3 
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "03fd2345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_support.src" "03fd2345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_support.src" "03fd2345d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\start.src" "03fd2345d1157c10" 4 
+"Linkage symbol file" "03fd2345d1157c10" 5 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0453185d6dc57c10" 2 
+"C++ source file" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\cpu_config.c" "0453185d6dc57c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sci.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\h8s_sil.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\minet_h8s_2339f\sys_config.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\startup.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\act_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_act.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\can_wup.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\chg_pri.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\clr_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cyccal.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycenq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\cycini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_dsp.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dis_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dly_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqdeq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqenq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqfenq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqrcv.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\dtqsnd.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_dsp.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ena_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\excini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ext_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgcnd.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\flgini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\frsm_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\fsnd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_mpf.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_pri.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tid.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\get_tim.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iact_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ifsnd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iget_tid.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iloc_cpu.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\inhini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ipsnd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iras_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irel_wai.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\irot_rdq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iset_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_sem.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\isig_tim.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iunl_cpu.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\iwup_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\loc_cpu.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\logter.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mbxini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfget.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\mpfini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pget_mpf.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\pol_sem.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\prcv_mbx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\psnd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ras_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rcv_mbx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_mpf.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rel_wai.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rot_rdq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\rsm_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\semini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\set_tim.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sig_sem.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\slp_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\snd_mbx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_ctx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dpn.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_dsp.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_loc.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sns_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sta_cyc.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\stp_cyc.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\sus_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\ter_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tget_mpf.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedel.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmedown.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeins.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tmeup.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\trcv_mbx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskact.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskdmt.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskext.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsknrun.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskpri.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrot.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tskrun.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsksched.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsktex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tslp_tsk.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\tsnd_dtq.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\twai_sem.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\unl_cpu.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vmsk_log.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vrea_log.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vsns_ini.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vwri_log.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxget_tim.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_ctx.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dpn.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_dsp.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_loc.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\vxsns_tex.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_flg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wai_sem.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waican.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waicmp.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waimake.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wairel.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmo.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\waitmook.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjpri.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwai.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wobjwaitmo.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\libkernel\kernel_source\wup_tsk.c" "0453185d6dc57c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "03e60345d1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "03fd2345d1157c10" 6 
+[OPTIONS_Release]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(CONFIGDIR)^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 5 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\offset\$(CONFIGNAME)^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [I|SBR|0] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|ALL] [I|CACHESIZE|000000008] [I|CACHELINE|000000020]
+" 6 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [S|ASSEMBLY|^"[V|VERSION|1]] [B|DEBUG|1]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|2000A:24]] [I|SBR|0]]^"] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 3 
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/libkernel/libkernel.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Debug/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Debug/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Debug/offset.inc	(revision 26)
@@ -0,0 +1,11 @@
+; This file is generated by genoffset.
+
+TCB_tinib:	.DEFINE	"8"
+TCB_sp:	.DEFINE	"H'00000016"
+TCB_pc:	.DEFINE	"H'0000001A"
+TINIB_task:	.DEFINE	"6"
+TINIB_exinf:	.DEFINE	"2"
+TCB_texptn:	.DEFINE	"H'00000010"
+TCB_enatex:	.DEFINE	"14"
+TCB_enatex_bit:	.DEFINE	"5"
+TCB_enatex_mask:	.DEFINE	"H'20"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Readme.txt	(revision 26)
@@ -0,0 +1,8 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	offset
+PROJECT DIRECTORY :	D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\offset
+CPU SERIES :	2000
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.1.0.0
+
+DATE & TIME : 2005/12/06 13:24:40
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Release/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Release/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Release/offset.inc	(revision 26)
@@ -0,0 +1,11 @@
+; This file is generated by genoffset.
+
+TCB_tinib:	.DEFINE	"8"
+TCB_sp:	.DEFINE	"H'16"
+TCB_pc:	.DEFINE	"H'1A"
+TINIB_task:	.DEFINE	"6"
+TINIB_exinf:	.DEFINE	"2"
+TCB_texptn:	.DEFINE	"H'10"
+TCB_enatex:	.DEFINE	"14"
+TCB_enatex_bit:	.DEFINE	"5"
+TCB_enatex_mask:	.DEFINE	"H'20"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/Upgrade.txt	(revision 26)
@@ -0,0 +1,8 @@
+Project name : offset
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_copy_kernel_source.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_copy_kernel_source.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_copy_kernel_source.bat	(revision 26)
@@ -0,0 +1,10 @@
+echo off
+rem ã«ã¼ãã«ã½ã¼ã¹ãã¡ã¤ã«ã®ã³ãã¼
+
+rem é¢æ°åä½ã§ãªã³ã¯ãããããã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ãã«#defineæãè¿½å ãã¦
+rem ã³ãã¼ããã
+
+rem jsp\tools\H8S-RENESAS\libkernel\sourceããè¦ãç¸å¯¾ãã¹ã§æå®ããã
+
+perl ../../../../utils/h8-renesas/copy_kernel_source.pl ../../../../kernel .
+if errorlevel 1 exit 1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_genoffset.bat
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_genoffset.bat	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/call_genoffset.bat	(revision 26)
@@ -0,0 +1,14 @@
+echo off
+rem TCBæ§é ä½ã®ãªãã»ããç®åº
+
+rem HEWã§ã¯ãç¸å¯¾ãã¹æå®ã§å¤é¨ãã¼ã«ãå¼ã³åºããªãããã
+rem ããããã¡ã¤ã«ãçµç±ãã¦ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå¼ã³åºãã¦ãã
+rem
+rem jsp/config/h8s-renessas/makeoffset.cãã³ã³ãã¤ã«ããã
+rem çµæã®ãã¡ã¤ã«åããå¼æ°%1ã¨ãã¦HEWãããã®ããããã¡ã¤ã«ã«æ¸¡ãããã
+rem
+rem Perlã®å¼ã³åºãã«å¤±æããå ´åã¯ãã¹ãéããã¨ã
+
+echo on
+
+perl ..\..\..\..\utils\h8-renesas\genoffset %1 > offset.inc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/defaultsession.hsf	(revision 26)
@@ -0,0 +1,73 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.15" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.hwp	(revision 26)
@@ -0,0 +1,205 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"offset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset\offset.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Library" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset\Release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+"copy_kernel_source" 0 
+"makeoffset" 0 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+"copy_kernel_source" "$(PROJDIR)\call_copy_kernel_source.bat" "$(WORKSPDIR)\libkernel\kernel_source" 0 0 0 
+"makeoffset" "$(PROJDIR)\call_genoffset.bat" "$(CONFIGDIR)" 0 0 1 
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[ENVIRONMENT_copy_kernel_source]
+[ENVIRONMENT_makeoffset]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 0 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 0 
+"Hitachi OptLinker" 0 
+"makeoffset" 1 
+"copy_kernel_source" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\makeoffset.c" "User" "C source file" 2 
+[FOLDER]
+"C source file" "C source file" 
+[GENERAL_DATA_PROJECT]
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\offset\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "000cd735d1157c10" 3 
+"Linkage symbol file" "000cd735d1157c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "000cd735d1157c10" 2 
+"C++ source file" "000cd735d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\makeoffset.c" "000cd735d1157c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "000cd735d1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "000cd735d1157c10" 4 
+[OPTIONS_Debug_copy_kernel_source]
+"Single Shot" "000cd735d1157c10" 0 
+[OPTIONS_Debug_makeoffset]
+"Single Shot" "000cd735d1157c10" 5 
+[OPTIONS_Debug]
+"" 0 
+"$(CONFIGDIR)\makeoffset.src" 5 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|DEFINE|^"RAM=^"^"0^"^"^"] [S|ASSIGNC|RAM=^" ^"|USE_DEBUGGER=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|2000A:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|PRELINK|SKIP] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUT|ASMCODE] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).src^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [S|ASSEMBLY|^"[V|VERSION|1]] [S|DEFINE|^"^"RAM=^"^"^"^"0^"^"^"^"^"^"]] [S|ASSIGNC|RAM=^"^" ^"^"|USE_DEBUGGER=^"^" ^"^"]] [B|DEBUG|1]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|2000A:24]] [I|SBR|0]]^"] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+[DEPENDENCIES_Debug_copy_kernel_source]
+[DEPENDENCIES_Debug_makeoffset]
+[OUTPUT_FILES_Debug_copy_kernel_source]
+[OUTPUT_FILES_Debug_makeoffset]
+"Single Shot" "$(CONFIGDIR)\offset.inc" "UnknownCustom" 0 
+[EXCLUDED_FILES_Debug]
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "000cd735d1157c10" 3 
+"Linkage symbol file" "000cd735d1157c10" 3 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "000cd735d1157c10" 2 
+"C++ source file" "000cd735d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\config\h8s-renesas\makeoffset.c" "000cd735d1157c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "000cd735d1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "000cd735d1157c10" 4 
+[OPTIONS_Release_copy_kernel_source]
+"Single Shot" "000cd735d1157c10" 0 
+[OPTIONS_Release_makeoffset]
+"Single Shot" "000cd735d1157c10" 5 
+[OPTIONS_Release]
+"" 0 
+"$(CONFIGDIR)\makeoffset.src" 5 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [B|RUNTIME|1] [B|NEW|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|NOTADD] [B|SPEED|0] [S|CPU|2000A:24] [S|STACK|MEDIUM] [I|REGPARAM|2] [B|LONGREG|0] [B|STRUCTREG|0] [B|RTTI|0] [S|BIT_ORDER|LEFT] [B|PACK|0] [B|EXCEPTION|0]" 1 
+"[V|VERSION|1] [S|ASSIGNC|RAM=^" ^"|USE_DEBUGGER=^" ^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|CPU|2000A:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|PRELINK|SKIP] [S|FORM|LIBRARY|U] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).lbp^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|ALL] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 4 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUT|ASMCODE] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).src^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [S|ASSEMBLY|^"[V|VERSION|1]] [S|ASSIGNC|RAM=^"^" ^"^"|USE_DEBUGGER=^"^" ^"^"]] [B|DEBUG|1]] [S|OUTPUTPATH|^"^"$(CONFIGDIR)\$(FILELEAF).obj^"^"]] [B|OPTIMIZE|1]] [B|GOPTIMIZE|1]] [B|ERRORPATH|1]] [B|CHGINCPATH|1]] [S|CPU|2000A:24]] [I|SBR|0]]^"] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+[DEPENDENCIES_Release_copy_kernel_source]
+[DEPENDENCIES_Release_makeoffset]
+[OUTPUT_FILES_Release_copy_kernel_source]
+[OUTPUT_FILES_Release_makeoffset]
+"Single Shot" "$(CONFIGDIR)\offset.inc" "UnknownCustom" 0 
+[EXCLUDED_FILES_Release]
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/offset/offset.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Readme.txt	(revision 26)
@@ -0,0 +1,23 @@
+-------- PROJECT GENERATOR --------
+PROJECT NAME :	sample
+PROJECT DIRECTORY :	D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\sample
+CPU SERIES :	2000
+CPU TYPE :	2338F
+TOOLCHAIN NAME :	Hitachi H8S,H8/300 Standard Toolchain
+TOOLCHAIN VERSION :	6.1.0.0
+GENERATION FILES :
+    D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\sample\dbsct.c
+        Setting of B,R Section
+    D:\cygwin\home\Administrator\tmp\jsp-1.4.2.pre5\hew\jsp\tools\H8S-RENESAS\sample\typedefine.h
+        Aliases of Integer Type
+START ADDRESS OF SECTION :
+    H'000000800	P,C,C$DSEC,C$BSEC,D
+    H'000FFDC00	B,R
+    H'000FFF9F0	S
+
+* When the user program is executed,
+* the interrupt mask has been masked.
+* 
+* ****H8S/2338F Advanced****
+
+DATE & TIME : 2005/12/06 15:24:13
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Upgrade.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Upgrade.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/Upgrade.txt	(revision 26)
@@ -0,0 +1,12 @@
+Project name : sample
+
+
+
+Hitachi H8S,H8/300 Standard Toolchain was upgraded 6.1.0.0 -> 6.1.2.0.
+
+
+
+[Standard Library]/[Mode]/[Mode :] option is changed.
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/defaultsession.hsf
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/defaultsession.hsf	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/defaultsession.hsf	(revision 26)
@@ -0,0 +1,74 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.1" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{0CE21862-D122-40C7-8480-3B1EC1503AF0}ZipcCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+[LANGUAGE]
+"Japanese" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 0 0 300 180 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 0 0 300 180 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000010_TOOLS}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 3 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 3 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" 
+[DEBUGGER_OPTIONS]
+"[V|VERSION|] [] [] [] [] Debug Options
+" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.hwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.hwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.hwp	(revision 26)
@@ -0,0 +1,227 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample\sample.hwp" "H8S,H8/300" "Hitachi H8S,H8/300 Standard" "Application" "" "" 
+[INFORMATION]
+"ãã­ã¸ã§ã¯ãæ
+å ±ãããã¾ãã" 
+[TOOL_CHAIN]
+"Hitachi H8S,H8/300 Standard Toolchain" "6.1.2.0" 
+[CONFIGURATIONS]
+"Debug" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample\debug" 
+"Release" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample\Release" 
+[BUILD_PHASES]
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi OptLinker" 1 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LIS" 
+"Assembly source file" "ASM" 
+"Assembly source file" "MAR" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C list file" "LST" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ list file" "LPP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Expanded assembly source file" "EXP" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Profile file" "PRO" 
+"Relocatable file" "REL" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C list file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ list file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Expanded assembly source file" "TEXT" "EDITOR" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Profile file" "BIN" "NONE" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Hitachi H8S,H8/300 Assembler" 
+"Hitachi H8S,H8/300 C/C++ Compiler" 
+"Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Hitachi OptLinker" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[BUILD_ORDER]
+"Hitachi H8S,H8/300 C/C++ Library Generator" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+"Hitachi H8S,H8/300 Assembler" 1 
+"Hitachi OptLinker" 1 
+[BUILD_PHASE_DETAILS]
+"Hitachi H8S,H8/300 Assembler" "Assembly source file|Linkage symbol file" 1 
+"Hitachi H8S,H8/300 C/C++ Compiler" "C source file|C++ source file" 1 
+"Hitachi H8S,H8/300 C/C++ Library Generator" "" 0 
+"Hitachi OptLinker" "Object file|Library file|Relocatable file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Hitachi H8S,H8/300 C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Hitachi H8S,H8/300 Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "$(PROJDIR)\sample.pgs" 
+[MAPPINGS]
+"Assembly source file" "Hitachi H8S,H8/300 Assembler" "Hitachi H8S,H8/300 C/C++ Compiler" 
+"Library file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Library Generator" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 Assembler" 
+"Object file" "Hitachi OptLinker" "Hitachi H8S,H8/300 C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "User" "kernel" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "User" "library" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "User" "systask" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_kernel_cfg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_vector.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_kernel_cfg.c" "User" "C source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_vector.src" "User" "Assembly source file" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.c" "User" "C source file" 2 
+[FOLDER]
+"Assembly source file" "Assembly source file" 
+"C source file" "C source file" 
+"kernel" "kernel" 
+"library" "library" 
+"systask" "systask" 
+[GENERAL_DATA_PROJECT]
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample\defaultsession.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[OPTIONS_Debug_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "063efb15d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_vector.src" "063efb15d1157c10" 4 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_vector.src" "063efb15d1157c10" 4 
+"Linkage symbol file" "063efb15d1157c10" 3 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "063efb15d1157c10" 2 
+"C++ source file" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_kernel_cfg.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_kernel_cfg.c" "063efb15d1157c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.c" "063efb15d1157c10" 2 
+[OPTIONS_Debug_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "063efb15d1157c10" 1 
+[OPTIONS_Debug_Hitachi OptLinker]
+"Single Shot" "063efb15d1157c10" 5 
+[OPTIONS_Debug]
+"" 0 
+"[B|CTYPE|0] [B|MATH|0] [B|PACK|0] [B|EXCEPTION|0] [B|IOS|0] [B|NEW|1] [B|CPPSTRING|0] [S|STACK|MEDIUM] [B|STRUCTREG|0] [B|COMPLEX|0] [V|VERSION|1] [S|BIT_ORDER|LEFT] [B|SPEED|0] [I|REGPARAM|2] [B|STDIO|0] [B|LONGREG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|STDLIB|0] [B|STRING|0] [S|CPU|2000A:24] [B|RTTI|0] [B|MATHF|0] [B|STDARG|1] " 1 
+"[V|VERSION|1] [S|DEFINE|^"RAM=^"^"0^"^"^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 3 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"] [S|DEFINE|^"RAM=^"^"0^"^"^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|6] [I|SBR|0] [S|INPUTLIBRARY|^"$(WORKSPDIR)\libkernel\\$(CONFIGNAME)\libkernel.lib^"] [S|PRELINK|SKIP] [S|FORM|STYPE] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|V,P,C,D,B,R(00)] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)^"|^"$(WORKSPDIR)\configuration\$(CONFIGNAME)^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|OPTIMIZE|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+[EXCLUDED_FILES_Debug]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_kernel_cfg.c" 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_vector.src" 
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Release_Hitachi H8S,H8/300 Assembler]
+"Assembly source file" "063efb15d1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_vector.src" "063efb15d1157c10" 3 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_vector.src" "063efb15d1157c10" 3 
+"Linkage symbol file" "063efb15d1157c10" 4 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Compiler]
+"C source file" "0453185d6dc57c10" 2 
+"C++ source file" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\kernel\banner.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\log_output.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\strerror.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\t_perror.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\library\vasyslog.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\logtask.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\serial.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\systask\timer.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_kernel_cfg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Release\release_kernel_cfg.c" "0453185d6dc57c10" 2 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\sample1.c" "0453185d6dc57c10" 2 
+[OPTIONS_Release_Hitachi H8S,H8/300 C/C++ Library Generator]
+"Single Shot" "063efb15d1157c10" 1 
+[OPTIONS_Release_Hitachi OptLinker]
+"Single Shot" "063efb15d1157c10" 5 
+[OPTIONS_Release]
+"" 0 
+"[B|CTYPE|0] [B|MATH|0] [B|PACK|0] [B|EXCEPTION|0] [B|IOS|0] [B|NEW|1] [B|CPPSTRING|0] [S|STACK|MEDIUM] [B|STRUCTREG|0] [B|COMPLEX|0] [V|VERSION|1] [S|BIT_ORDER|LEFT] [B|SPEED|0] [I|REGPARAM|2] [B|STDIO|0] [B|LONGREG|0] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|STDLIB|0] [B|STRING|0] [S|CPU|2000A:24] [B|RTTI|0] [B|MATHF|0] [B|STDARG|1] " 1 
+"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 4 
+"[V|VERSION|1] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|OPTIMIZE|1] [B|GOPTIMIZE|1] [B|ERRORPATH|1] [B|CHGINCPATH|1] [S|OTHER|^"-DEF=RAM=^"^" ^"^" -DEF=USE_DEBUGGER=^"^" ^"^" ^"] [S|CPU|2000A:24] [I|SBR|0]
+" 3 
+"[V|VERSION|6] [I|SBR|0] [S|INPUTLIBRARY|^"$(WORKSPDIR)\libkernel\\$(CONFIGNAME)\libkernel.lib^"] [S|PRELINK|SKIP] [S|FORM|STYPE] [B|DEBUG|1] [S|ROM|(D,R)] [S|NOMESSAGE|1200] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|ALL] [I|CACHESIZE|000000008] [I|CACHELINE|000000020] [S|START|V,P,C,D(00)|B,R(0200000)] [S|OTHERVIA|^"-ch=Information=1200 ^"]
+" 5 
+"[V|VERSION|6] [S|INCLUDE|^"$(WORKSPDIR)\..\..\config\h8s-renesas\minet_h8s_2339f^"|^"$(WORKSPDIR)\..\..\config\h8s-renesas^"|^"$(WORKSPDIR)\..\..\kernel^"|^"$(WORKSPDIR)\..\..\include^"|^"$(WORKSPDIR)^"|^"$(WORKSPDIR)\configuration\$(CONFIGNAME)^"] [B|MESSAGE|1] [S|CHANGE_MESSAGE|WARNING|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|NOCPUEXPAND|1] [I|ALIGN|] [B|LIST|0] [B|SPEED|1] [S|SPEED|REGISTER|SWITCH|SHIFT|STRUCT|EXPRESSION|LOOP|INLINE=100] [S|INLINE|DEFAULT] [B|GOPTIMIZE|1] [S|OPT_RANGE|ALL] [I|MAX_UNROLL|1] [S|LIBRARY|FUNCTION] [S|MISRA_INSPECTION|ALL] [S|CPU|2000A:24] [I|SBR|0] [S|BIT_ORDER|LEFT] [B|CHGINCPATH|1]
+" 2 
+[EXCLUDED_FILES_Release]
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_kernel_cfg.c" 
+"C:\cygwin\home\Administrator\hew\jsp\tools\H8S-RENESAS\configuration\Debug\debug_vector.src" 
+[LINKAGE_ORDER_Release]
+[GENERAL_DATA_CONFIGURATION_Release]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "[V|VERSION|] [] [] [] [] Debug Options
+" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "[V|VERSION|] [] [] [] [] Debug Options
+" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.pgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.pgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.pgs	(revision 26)
@@ -0,0 +1,35 @@
+; Project Generator Setup Infomation
+
+[PGS Version]
+Version=1.0
+
+[Toolchain]
+Toolchain=Hitachi H8S,H8/300 Standard
+Toolchain Name=Hitachi H8S,H8/300 Standard Toolchain
+Toolchain Version=6.1.0.0
+
+[CPU]
+CPU Family=H8S,H8/300
+CPU Series=2000
+CPU Type=H8S/2338F
+Operating Mode=Advanced
+Address Space=16M byte
+Multiple=Not Support
+Divide=Not Support
+
+[Project]
+Project Name=sample
+Project Type=Application
+
+[Stack Settings]
+Stack Pointer Address=H'FFFBF0
+Stack Size=
+Stack Section Name=S
+Stack Section Address=
+Source File Name=stacksct.h
+Description=
+Default Stack Pointer Address=H'FFFBF0
+Default Stack Size=H'200
+
+[Initial Settings]
+Simulator I/O=disable
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.tps
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.tps	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample/sample.tps	(revision 26)
@@ -0,0 +1,26 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+[CONFIGURATIONS]
+"Debug" 
+"Release" 
+[CURRENT_CONFIGURATION]
+"Debug" 
+[CURRENT_SESSION]
+"DefaultSession" 
+[GENERAL_DATA_PROJECT]
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+[GENERAL_DATA_CONFIGURATION_Release]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Release]
+"DefaultSession" 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Release_DefaultSession]
+[END]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.c	(revision 26)
@@ -0,0 +1,472 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample1.c,v 1.6 2007/04/02 03:14:01 honda Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : ãã­ã°ã©ã ãçµäºããï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+char	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	volatile UW	i;
+	INT		n = 0;
+	INT		tskno = (INT) exinf;
+	const char	*graph[] = { "|", "  +", "    *" };
+	char		c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+#endif /* CPUEXC1 */
+		case 'Z':
+			syslog(LOG_NOTICE, "Sample program ends with exception.");
+			kernel_exit();
+			break;
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
+							p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", (int)sns_loc(), (int)sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		(int)vxsns_loc(p_excinf), (int)vxsns_ctx(p_excinf),
+		(int)vxsns_dsp(p_excinf), (int)vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+
+#define PORTID_SCI2	3
+#if PORTID_SCI2 == TASK_PORTID
+#error PORTID_SCI2 == TASK_PORTID is not allowed.
+#endif /*  PORTID_SCI2 == TASK_PORTID  */
+
+static const char output_text[] = "This is SCI2 output test.";
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	char	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (int)exinf);
+	syslog(LOG_NOTICE, "This program output low level log to port POL_PORTID");
+	syscall(serial_ctl_por(TASK_PORTID,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+
+	/*  SCI2ã¸ã®åºå  */
+	syscall(serial_opn_por(PORTID_SCI2));
+	syscall(serial_ctl_por(PORTID_SCI2,
+			(IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
+	syscall(serial_wri_dat(PORTID_SCI2, output_text, sizeof(output_text)));
+	
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	for (i = 0; i < task_loop; i++);
+	get_tim(&stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		syscall(serial_rea_dat(TASK_PORTID, &c, 1));
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskno, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (ercd >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskno, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.5 2007/03/26 07:09:57 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../systask/timer.cfg"
+#include "../../systask/serial.cfg"
+#include "../../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/H8S-RENESAS/sample1.h	(revision 26)
@@ -0,0 +1,214 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h,v 1.5 2007/03/26 07:09:57 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include <t_services.h>
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARMV4)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+
+							/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#ifndef __RENESAS_VERSION__
+#define	TASK_PORTID	2
+#endif /*  __RENESAS_VERSION__  */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+
+#ifdef __RENESAS__
+#define	STACK_SIZE	1024		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	100000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define	TASK_PORTID	2		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(IA32)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(XSTORMY16)
+
+#define CPUEXC1		0		/* ç¡å¹å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	__asm__( ".hword 0x0006" )
+#define OMIT_VGET_TIM			/* vxget_tim()ã¯éãµãã¼ã */
+#define LOOP_REF 	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#define STACK_SIZE	256		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID	2		/* SIOã¯ãã¼ã2ãç¨ãã */
+
+#elif defined(MIPS3)
+
+#define CPUEXC1     Bp      /* ãã¬ã¼ã¯ãã¤ã³ãä¾å¤ï¼ã¼ã­é¤ç®æã«çºçï¼ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(M16C) && defined(OAKS16)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  512     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(M16C) && defined(OAKS16_MINI)
+
+#define CPUEXC1     32      /* CPUä¾å¤ãã³ãã©çªå· */
+#define RAISE_CPU_EXCEPTION asm("   int #32") /* ã½ããã¦ã§ã¢å²è¾¼ã¿çºç */
+#define STACK_SIZE  384     /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define TASK_PORTID 2       /* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(NIOS2)
+
+#define CPUEXC1		0		  /* æªå®è£
+å½ä»¤ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	  Asm("div zero, zero, zero");
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.id
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.id	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.id	(revision 26)
@@ -0,0 +1,9 @@
+-ID#0
+FFFDF : 00
+FFFE3 : 00
+FFFEB : 00
+FFFEF : 00
+FFFF3 : 00
+FFFF7 : 00
+FFFFB : 00
+FFFFF : FF
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmi
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmi	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmi	(revision 26)
@@ -0,0 +1,23 @@
+[PROJECT]
+ProjectName=Jsp14sample1
+WorkingDirectory=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS
+OutputDirectory=.
+ProjectFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1.tmk
+ProjectInfoFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1.tmi
+TargetName=M16C Family
+Type=1
+GoalFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1.x30
+[NC]
+Name=NC30WA
+Version=V.5.45 Release 01
+[MEMBER]
+Count=0
+[DOCUMENTFILE]
+Count=0
+[ITEM]
+ActiveFactory=default
+FactoryName1=default
+ActiveTagName1=all
+Count=1
+[TOOL]
+ToolCount=0
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1.tmk	(revision 26)
@@ -0,0 +1,285 @@
+####################################################################
+# Makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+#
+#	Notice	:	Don't edit.
+#	Date	:	2010 12(December) 28(Tuesday) AM.10.16
+#	Project	:	Jsp14sample1
+####################################################################
+
+DELETE	=	@-del
+LNLIST	=	$(PROJECT).cmd
+LMC	=	LMC30
+CC	=	NC30
+AS	=	AS30
+OUTDIR	=	.
+MKDIR	=	@-mkdir
+CPP	=	C:\Hew\Tools\Renesas\nc30wa\v545r01\lib30\cpp30
+ABSFILE	=	$(PROJECT).x30
+ODINCMD	=	$(OUTDIR)
+TARGET	=	$(ABSFILE)
+LN	=	LN30
+ECHO	=	@-echo
+MKFILE	=	$(PROJECT).tmk
+@(SRCDIR)	=	..
+TYPE	=	@-type
+PROJECT	=	Jsp14sample1
+LFLAGS	=	-MS -L nc30lib -G -O $(OUTDIR)\$(TARGET) -ORDER data_NE=400,data_NO,bss_NE,bss_NO,program=0E0000,rom_FE,rom_FO,data_NEI,data_NOI
+CFLAGS	=	-c -I../../config/m16c-renesas -I../../config/m16c-renesas/oaks16 -I../../kernel -I../../include -I../../sample -I. -dir $(OUTDIR) -g -DNEED_API
+LMCFLAGS	=	-L
+AFLAGS	=	-LM -DRAMEND=02c00h:MON=0 -I. -O$(OUTDIR)
+.SUFFIXES: .a30 .r30 .c .x30 .lib
+.PHONY: all
+all: \
+		$(OUTDIR)\$(TARGET) \
+		$(OUTDIR)\Jsp14sample1.mot 
+.PHONY: clean
+clean: 
+	$(DELETE) $(OUTDIR)\$(TARGET)
+	$(DELETE) $(ODINCMD)\$(LNLIST)
+	$(DELETE) $(OUTDIR)\kernel_cfg.c
+	$(DELETE) $(OUTDIR)\kernel_id.h
+	$(DELETE) $(OUTDIR)\m16cvec.inc
+	$(DELETE) $(OUTDIR)\offset.inc
+	$(DELETE) $(OUTDIR)\start.r30
+	$(DELETE) $(OUTDIR)\sys_config.r30
+	$(DELETE) $(OUTDIR)\sfruart.r30
+	$(DELETE) $(OUTDIR)\cpu_config.r30
+	$(DELETE) $(OUTDIR)\cpu_support.r30
+	$(DELETE) $(OUTDIR)\startup.r30
+	$(DELETE) $(OUTDIR)\banner.r30
+	$(DELETE) $(OUTDIR)\exception.r30
+	$(DELETE) $(OUTDIR)\interrupt.r30
+	$(DELETE) $(OUTDIR)\sys_manage.r30
+	$(DELETE) $(OUTDIR)\task_manage.r30
+	$(DELETE) $(OUTDIR)\time_manage.r30
+	$(DELETE) $(OUTDIR)\task.r30
+	$(DELETE) $(OUTDIR)\wait.r30
+	$(DELETE) $(OUTDIR)\task_except.r30
+	$(DELETE) $(OUTDIR)\task_sync.r30
+	$(DELETE) $(OUTDIR)\time_event.r30
+	$(DELETE) $(OUTDIR)\cyclic.r30
+	$(DELETE) $(OUTDIR)\dataqueue.r30
+	$(DELETE) $(OUTDIR)\eventflag.r30
+	$(DELETE) $(OUTDIR)\mailbox.r30
+	$(DELETE) $(OUTDIR)\mempfix.r30
+	$(DELETE) $(OUTDIR)\semaphore.r30
+	$(DELETE) $(OUTDIR)\syslog.r30
+	$(DELETE) $(OUTDIR)\logtask.r30
+	$(DELETE) $(OUTDIR)\serial.r30
+	$(DELETE) $(OUTDIR)\timer.r30
+	$(DELETE) $(OUTDIR)\log_output.r30
+	$(DELETE) $(OUTDIR)\strerror.r30
+	$(DELETE) $(OUTDIR)\t_perror.r30
+	$(DELETE) $(OUTDIR)\vasyslog.r30
+	$(DELETE) $(OUTDIR)\kernel_cfg.r30
+	$(DELETE) $(OUTDIR)\sample1.r30
+	$(DELETE) $(OUTDIR)\sample1.cfg.i
+	$(DELETE) $(OUTDIR)\start.lst
+	$(DELETE) $(OUTDIR)\cpu_support.lst
+	$(DELETE) $(OUTDIR)\makeoffset.a30
+	$(DELETE) $(OUTDIR)\Jsp14sample1.map
+$(ODINCMD)\$(LNLIST): \
+		.\$(MKFILE) 
+	$(ECHO)\$(MRLFLAGS) $(LFLAGS) >	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\start.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sfruart.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_support.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\startup.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\banner.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\exception.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\interrupt.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\wait.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_except.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_sync.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_event.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cyclic.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\dataqueue.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\eventflag.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mailbox.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mempfix.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\semaphore.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\syslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\logtask.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\serial.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\timer.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\log_output.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\strerror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\t_perror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\vasyslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\kernel_cfg.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sample1.r30 >>	$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\Jsp14sample1.mot: \
+		$(OUTDIR)\$(TARGET) 
+	$(LMC) $<
+$(OUTDIR)\$(TARGET): \
+		$(ODINCMD)\$(LNLIST) \
+		$(OUTDIR)\kernel_cfg.c \
+		$(OUTDIR)\kernel_id.h \
+		$(OUTDIR)\m16cvec.inc \
+		$(OUTDIR)\offset.inc \
+		$(OUTDIR)\start.r30 \
+		$(OUTDIR)\sys_config.r30 \
+		$(OUTDIR)\sfruart.r30 \
+		$(OUTDIR)\cpu_config.r30 \
+		$(OUTDIR)\cpu_support.r30 \
+		$(OUTDIR)\startup.r30 \
+		$(OUTDIR)\banner.r30 \
+		$(OUTDIR)\exception.r30 \
+		$(OUTDIR)\interrupt.r30 \
+		$(OUTDIR)\sys_manage.r30 \
+		$(OUTDIR)\task_manage.r30 \
+		$(OUTDIR)\time_manage.r30 \
+		$(OUTDIR)\task.r30 \
+		$(OUTDIR)\wait.r30 \
+		$(OUTDIR)\task_except.r30 \
+		$(OUTDIR)\task_sync.r30 \
+		$(OUTDIR)\time_event.r30 \
+		$(OUTDIR)\cyclic.r30 \
+		$(OUTDIR)\dataqueue.r30 \
+		$(OUTDIR)\eventflag.r30 \
+		$(OUTDIR)\mailbox.r30 \
+		$(OUTDIR)\mempfix.r30 \
+		$(OUTDIR)\semaphore.r30 \
+		$(OUTDIR)\syslog.r30 \
+		$(OUTDIR)\logtask.r30 \
+		$(OUTDIR)\serial.r30 \
+		$(OUTDIR)\timer.r30 \
+		$(OUTDIR)\log_output.r30 \
+		$(OUTDIR)\strerror.r30 \
+		$(OUTDIR)\t_perror.r30 \
+		$(OUTDIR)\vasyslog.r30 \
+		$(OUTDIR)\kernel_cfg.r30 \
+		$(OUTDIR)\sample1.r30 
+	$(LN) @$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\banner.r30: \
+		..\..\kernel\banner.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\banner.c
+$(OUTDIR)\cpu_config.r30: \
+		..\..\config\m16c-renesas\cpu_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\cpu_config.c
+$(OUTDIR)\cpu_support.r30: \
+		..\..\config\m16c-renesas\cpu_support.a30 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\cpu_support.a30
+$(OUTDIR)\cyclic.r30: \
+		..\..\kernel\cyclic.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\cyclic.c
+$(OUTDIR)\dataqueue.r30: \
+		..\..\kernel\dataqueue.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\dataqueue.c
+$(OUTDIR)\eventflag.r30: \
+		..\..\kernel\eventflag.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\eventflag.c
+$(OUTDIR)\exception.r30: \
+		..\..\kernel\exception.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\exception.c
+$(OUTDIR)\interrupt.r30: \
+		..\..\kernel\interrupt.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\interrupt.c
+$(OUTDIR)\kernel_cfg.c: \
+		.\sample1.cfg 
+	$(CPP) -I../../config/m16c-renesas/oaks16 -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\kernel_cfg.r30: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) kernel_cfg.c
+$(OUTDIR)\kernel_id.h: \
+		.\sample1.cfg 
+	$(CPP) -I../../config/m16c-renesas/oaks16 -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\log_output.r30: \
+		..\..\library\log_output.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\log_output.c
+$(OUTDIR)\logtask.r30: \
+		..\..\systask\logtask.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\logtask.c
+$(OUTDIR)\m16cvec.inc: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CPP) -I../../config/m16c-renesas/oaks16 -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > kernel_cfg.i
+	..\..\utils\m16c-renesas\m16cvec.exe -M0
+$(OUTDIR)\mailbox.r30: \
+		..\..\kernel\mailbox.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mailbox.c
+$(OUTDIR)\mempfix.r30: \
+		..\..\kernel\mempfix.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mempfix.c
+$(OUTDIR)\offset.inc: \
+		..\..\config\m16c-renesas\makeoffset.c 
+	$(CC) -S $(MRCFLAGS) $(CFLAGS) $<
+	..\..\utils\m16c-renesas\m16coffset.exe
+$(OUTDIR)\sample1.r30: \
+		..\..\sample\sample1.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\sample\sample1.c
+$(OUTDIR)\semaphore.r30: \
+		..\..\kernel\semaphore.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\semaphore.c
+$(OUTDIR)\serial.r30: \
+		..\..\systask\serial.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\serial.c
+$(OUTDIR)\sfruart.r30: \
+		..\..\config\m16c-renesas\oaks16\sfruart.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\oaks16\sfruart.c
+$(OUTDIR)\start.r30: \
+		..\..\config\m16c-renesas\start.a30 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\start.a30
+$(OUTDIR)\startup.r30: \
+		..\..\kernel\startup.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\startup.c
+$(OUTDIR)\strerror.r30: \
+		..\..\library\strerror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\strerror.c
+$(OUTDIR)\sys_config.r30: \
+		..\..\config\m16c-renesas\oaks16\sys_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\oaks16\sys_config.c
+$(OUTDIR)\sys_manage.r30: \
+		..\..\kernel\sys_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\sys_manage.c
+$(OUTDIR)\syslog.r30: \
+		..\..\kernel\syslog.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\syslog.c
+$(OUTDIR)\t_perror.r30: \
+		..\..\library\t_perror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\t_perror.c
+$(OUTDIR)\task.r30: \
+		..\..\kernel\task.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task.c
+$(OUTDIR)\task_except.r30: \
+		..\..\kernel\task_except.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_except.c
+$(OUTDIR)\task_manage.r30: \
+		..\..\kernel\task_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_manage.c
+$(OUTDIR)\task_sync.r30: \
+		..\..\kernel\task_sync.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_sync.c
+$(OUTDIR)\time_event.r30: \
+		..\..\kernel\time_event.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_event.c
+$(OUTDIR)\time_manage.r30: \
+		..\..\kernel\time_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_manage.c
+$(OUTDIR)\timer.r30: \
+		..\..\systask\timer.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\timer.c
+$(OUTDIR)\vasyslog.r30: \
+		..\..\library\vasyslog.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\vasyslog.c
+$(OUTDIR)\wait.r30: \
+		..\..\kernel\wait.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\wait.c
+####################################################################
+# End of makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+####################################################################
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.id
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.id	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.id	(revision 26)
@@ -0,0 +1,9 @@
+-ID#0
+FFFDF : 00
+FFFE3 : 00
+FFFEB : 00
+FFFEF : 00
+FFFF3 : 00
+FFFF7 : 00
+FFFFB : 00
+FFFFF : FF
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmi
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmi	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmi	(revision 26)
@@ -0,0 +1,28 @@
+[PROJECT]
+ProjectName=Jsp14sample1_m3029
+WorkingDirectory=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS
+OutputDirectory=.
+ProjectFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1_m3029.tmk
+ProjectInfoFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1_m3029.tmi
+TargetName=M16C Family
+Type=1
+GoalFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1_m3029.x30
+[NC]
+Name=NC30WA
+Version=V.5.45 Release 01
+[MEMBER]
+Count=0
+[DOCUMENTFILE]
+Count=0
+[ITEM]
+ActiveFactory=default
+FactoryName1=default
+ActiveTagName1=all
+Count=1
+[TOOL]
+ToolCount=0
+[PD]
+Name=KD30
+Version=V.4.00 Release 1
+Path=C:\tools\rtool\NC30WA\V530R02\KD30\KD30.EXE
+Type=1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1_m3029.tmk	(revision 26)
@@ -0,0 +1,849 @@
+####################################################################
+# Makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+#
+#	Notice	:	Don't edit.
+#	Date	:	2010 12(December) 28(Tuesday) AM.10.18
+#	Project	:	Jsp14sample1_m3029
+####################################################################
+
+DELETE	=	@-del
+LNLIST	=	$(PROJECT).cmd
+INCLUDES	=	-I$(CONFIGDIR)/m16c-renesas -I$(CONFIGDIR)/m16c-renesas/$(TARGET_SYS) -I$(SRCDIR)/kernel -I$(SRCDIR)/include  -I../../sample -I.
+LMC	=	LMC30
+CC	=	NC30
+TARGET_SYS	=	m3029
+CONFIGDIR	=	$(SRCDIR)/config
+SRCDIR	=	../..
+AS	=	AS30
+OUTDIR	=	.
+MKDIR	=	@-mkdir
+CPP	=	C:\Hew\Tools\Renesas\nc30wa\v545r01\lib30\CPP30
+ABSFILE	=	$(PROJECT).x30
+ODINCMD	=	$(OUTDIR)
+LN	=	LN30
+TARGET	=	$(ABSFILE)
+ECHO	=	@-echo
+MKFILE	=	$(PROJECT).tmk
+PROJECT	=	Jsp14sample1_m3029
+TYPE	=	@-type
+LFLAGS	=	-MS -L nc30lib -G -O $(OUTDIR)\$(TARGET) -ORDER data_NE=400,data_NO,bss_NE,bss_NO,program=0E0000,rom_FE,rom_FO,data_NEI,data_NOI
+CFLAGS	=	-c $(INCLUDES) -dir $(OUTDIR) -g -DNEED_API
+LMCFLAGS	=	-ID\#0 -L
+AFLAGS	=	-LM -DRAMEND=03000h:MON=0:M3029=1 -I. -O$(OUTDIR)
+.SUFFIXES: .a30 .r30 .c .x30 .lib
+.PHONY: all
+all: \
+		$(OUTDIR)\$(TARGET) \
+		$(OUTDIR)\$(PROJECT).mot 
+.PHONY: LN30
+$(LN): 
+.PHONY: clean
+clean: 
+	$(DELETE) $(OUTDIR)\$(TARGET)
+	$(DELETE) $(ODINCMD)\$(LNLIST)
+	$(DELETE) $(OUTDIR)\kernel_cfg.c
+	$(DELETE) $(OUTDIR)\kernel_id.h
+	$(DELETE) $(OUTDIR)\m16cvec.inc
+	$(DELETE) $(OUTDIR)\offset.inc
+	$(DELETE) $(OUTDIR)\start.r30
+	$(DELETE) $(OUTDIR)\sys_config.r30
+	$(DELETE) $(OUTDIR)\sfruart.r30
+	$(DELETE) $(OUTDIR)\cpu_config.r30
+	$(DELETE) $(OUTDIR)\cpu_support.r30
+	$(DELETE) $(OUTDIR)\startup.r30
+	$(DELETE) $(OUTDIR)\banner.r30
+	$(DELETE) $(OUTDIR)\exception.r30
+	$(DELETE) $(OUTDIR)\interrupt.r30
+	$(DELETE) $(OUTDIR)\sys_manage.r30
+	$(DELETE) $(OUTDIR)\task_manage.r30
+	$(DELETE) $(OUTDIR)\time_manage.r30
+	$(DELETE) $(OUTDIR)\task.r30
+	$(DELETE) $(OUTDIR)\wait.r30
+	$(DELETE) $(OUTDIR)\task_except.r30
+	$(DELETE) $(OUTDIR)\task_sync.r30
+	$(DELETE) $(OUTDIR)\time_event.r30
+	$(DELETE) $(OUTDIR)\cyclic.r30
+	$(DELETE) $(OUTDIR)\dataqueue.r30
+	$(DELETE) $(OUTDIR)\eventflag.r30
+	$(DELETE) $(OUTDIR)\mailbox.r30
+	$(DELETE) $(OUTDIR)\mempfix.r30
+	$(DELETE) $(OUTDIR)\semaphore.r30
+	$(DELETE) $(OUTDIR)\syslog.r30
+	$(DELETE) $(OUTDIR)\logtask.r30
+	$(DELETE) $(OUTDIR)\serial.r30
+	$(DELETE) $(OUTDIR)\timer.r30
+	$(DELETE) $(OUTDIR)\log_output.r30
+	$(DELETE) $(OUTDIR)\strerror.r30
+	$(DELETE) $(OUTDIR)\t_perror.r30
+	$(DELETE) $(OUTDIR)\vasyslog.r30
+	$(DELETE) $(OUTDIR)\kernel_cfg.r30
+	$(DELETE) $(OUTDIR)\sample1.cfg.i
+	$(DELETE) $(OUTDIR)\start.lst
+	$(DELETE) $(OUTDIR)\cpu_support.lst
+	$(DELETE) $(OUTDIR)\makeoffset.a30
+	$(DELETE) $(OUTDIR)\$(PROJECT).map
+	$(DELETE) $(OUTDIR)\sample1.r30
+$(ODINCMD)\$(LNLIST): \
+		.\$(MKFILE) 
+	$(ECHO)\$(MRLFLAGS) $(LFLAGS) >	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\start.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sfruart.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_support.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\startup.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\banner.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\exception.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\interrupt.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\wait.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_except.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_sync.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_event.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cyclic.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\dataqueue.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\eventflag.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mailbox.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mempfix.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\semaphore.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\syslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\logtask.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\serial.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\timer.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\log_output.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\strerror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\t_perror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\vasyslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\kernel_cfg.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sample1.r30 >>	$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\$(PROJECT).mot: \
+		$(OUTDIR)\$(TARGET) 
+	$(LMC) $(LMCFLAGS) $<
+$(OUTDIR)\$(TARGET): \
+		$(ODINCMD)\$(LNLIST) \
+		$(OUTDIR)\kernel_cfg.c \
+		$(OUTDIR)\kernel_id.h \
+		$(OUTDIR)\m16cvec.inc \
+		$(OUTDIR)\offset.inc \
+		$(OUTDIR)\start.r30 \
+		$(OUTDIR)\sys_config.r30 \
+		$(OUTDIR)\sfruart.r30 \
+		$(OUTDIR)\cpu_config.r30 \
+		$(OUTDIR)\cpu_support.r30 \
+		$(OUTDIR)\startup.r30 \
+		$(OUTDIR)\banner.r30 \
+		$(OUTDIR)\exception.r30 \
+		$(OUTDIR)\interrupt.r30 \
+		$(OUTDIR)\sys_manage.r30 \
+		$(OUTDIR)\task_manage.r30 \
+		$(OUTDIR)\time_manage.r30 \
+		$(OUTDIR)\task.r30 \
+		$(OUTDIR)\wait.r30 \
+		$(OUTDIR)\task_except.r30 \
+		$(OUTDIR)\task_sync.r30 \
+		$(OUTDIR)\time_event.r30 \
+		$(OUTDIR)\cyclic.r30 \
+		$(OUTDIR)\dataqueue.r30 \
+		$(OUTDIR)\eventflag.r30 \
+		$(OUTDIR)\mailbox.r30 \
+		$(OUTDIR)\mempfix.r30 \
+		$(OUTDIR)\semaphore.r30 \
+		$(OUTDIR)\syslog.r30 \
+		$(OUTDIR)\logtask.r30 \
+		$(OUTDIR)\serial.r30 \
+		$(OUTDIR)\timer.r30 \
+		$(OUTDIR)\log_output.r30 \
+		$(OUTDIR)\strerror.r30 \
+		$(OUTDIR)\t_perror.r30 \
+		$(OUTDIR)\vasyslog.r30 \
+		$(OUTDIR)\kernel_cfg.r30 \
+		$(OUTDIR)\sample1.r30 
+	$(LN) @$(ODINCMD)\$(LNLIST) 
+$(OUTDIR)\banner.r30: \
+		..\..\kernel\banner.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\banner.c
+$(OUTDIR)\cpu_config.r30: \
+		..\..\config\m16c-renesas\cpu_config.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\cpu_config.c
+$(OUTDIR)\cpu_support.r30: \
+		..\..\config\m16c-renesas\cpu_support.a30 \
+		$(OUTDIR)\offset.inc 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\cpu_support.a30
+$(OUTDIR)\cyclic.r30: \
+		..\..\kernel\cyclic.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\cyclic.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\cyclic.c
+$(OUTDIR)\dataqueue.r30: \
+		..\..\kernel\dataqueue.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\dataqueue.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\dataqueue.c
+$(OUTDIR)\eventflag.r30: \
+		..\..\kernel\eventflag.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\eventflag.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\eventflag.c
+$(OUTDIR)\exception.r30: \
+		..\..\kernel\exception.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\exception.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\exception.c
+$(OUTDIR)\interrupt.r30: \
+		..\..\kernel\interrupt.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\interrupt.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\interrupt.c
+$(OUTDIR)\kernel_cfg.c: \
+		.\sample1.cfg 
+	$(CPP) $(INCLUDES)  $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\kernel_cfg.r30: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) kernel_cfg.c
+$(OUTDIR)\kernel_id.h: \
+		.\sample1.cfg 
+	$(CPP) $(INCLUDES)  $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\log_output.r30: \
+		..\..\library\log_output.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\log_output.c
+$(OUTDIR)\logtask.r30: \
+		..\..\systask\logtask.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h \
+		..\..\include\logtask.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\logtask.c
+$(OUTDIR)\m16cvec.inc: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CPP) $(INCLUDES)  $< > kernel_cfg.i
+	..\..\utils\m16c-renesas\m16cvec.exe -M0
+$(OUTDIR)\mailbox.r30: \
+		..\..\kernel\mailbox.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\mailbox.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mailbox.c
+$(OUTDIR)\mempfix.r30: \
+		..\..\kernel\mempfix.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\mempfix.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mempfix.c
+$(OUTDIR)\offset.inc: \
+		..\..\config\m16c-renesas\makeoffset.c 
+	$(CC) -S $(MRCFLAGS) $(CFLAGS) $<
+	..\..\utils\m16c-renesas\m16coffset.exe
+$(OUTDIR)\sample1.r30: \
+		..\..\sample\sample1.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\sample\sample1.c
+$(OUTDIR)\semaphore.r30: \
+		..\..\kernel\semaphore.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\semaphore.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\semaphore.c
+$(OUTDIR)\serial.r30: \
+		..\..\systask\serial.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h \
+		..\..\config\m16c-renesas\m3029\hw_serial.h \
+		..\..\include\s_services.h \
+		..\..\include\sil.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\config\m16c-renesas\m3029\sfruart.h \
+		$(OUTDIR)\kernel_id.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\serial.c
+$(OUTDIR)\sfruart.r30: \
+		..\..\config\m16c-renesas\$(TARGET_SYS)\sfruart.c \
+		..\..\include\s_services.h \
+		..\..\include\sil.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\kernel.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\config\m16c-renesas\m3029\m3029.h \
+		..\..\config\m16c-renesas\m3029\sfruart.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\$(TARGET_SYS)\sfruart.c
+$(OUTDIR)\start.r30: \
+		..\..\config\m16c-renesas\start.a30 \
+		$(OUTDIR)\m16cvec.inc 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\start.a30
+$(OUTDIR)\startup.r30: \
+		..\..\kernel\startup.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\syslog.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\startup.c
+$(OUTDIR)\strerror.r30: \
+		..\..\library\strerror.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\strerror.c
+$(OUTDIR)\sys_config.r30: \
+		..\..\config\m16c-renesas\$(TARGET_SYS)\sys_config.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\include\sil.h \
+		..\..\config\m16c-renesas\m3029\m3029.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\$(TARGET_SYS)\sys_config.c
+$(OUTDIR)\sys_manage.r30: \
+		..\..\kernel\sys_manage.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\sys_manage.c
+$(OUTDIR)\syslog.r30: \
+		..\..\kernel\syslog.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\syslog.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\syslog.c
+$(OUTDIR)\t_perror.r30: \
+		..\..\library\t_perror.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\t_perror.c
+$(OUTDIR)\task.r30: \
+		..\..\kernel\task.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\config\m16c-renesas\cpu_context.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task.c
+$(OUTDIR)\task_except.r30: \
+		..\..\kernel\task_except.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_except.c
+$(OUTDIR)\task_manage.r30: \
+		..\..\kernel\task_manage.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_manage.c
+$(OUTDIR)\task_sync.r30: \
+		..\..\kernel\task_sync.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h \
+		..\..\kernel\wait.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_sync.c
+$(OUTDIR)\time_event.r30: \
+		..\..\kernel\time_event.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_event.c
+$(OUTDIR)\time_manage.r30: \
+		..\..\kernel\time_manage.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\check.h \
+		..\..\kernel\time_event.h \
+		..\..\config\m16c-renesas\m3029\hw_timer.h \
+		..\..\include\s_services.h \
+		..\..\include\sil.h \
+		..\..\config\m16c-renesas\m3029\m3029.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_manage.c
+$(OUTDIR)\timer.r30: \
+		..\..\systask\timer.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h \
+		..\..\include\timer.h \
+		..\..\config\m16c-renesas\m3029\hw_timer.h \
+		..\..\include\s_services.h \
+		..\..\include\sil.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\config\m16c-renesas\m3029\m3029.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\timer.c
+$(OUTDIR)\vasyslog.r30: \
+		..\..\library\vasyslog.c \
+		..\..\include\t_services.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\serial.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\vasyslog.c
+$(OUTDIR)\wait.r30: \
+		..\..\kernel\wait.c \
+		..\..\kernel\jsp_kernel.h \
+		..\..\kernel\jsp_rename.h \
+		..\..\include\kernel.h \
+		..\..\include\t_stddef.h \
+		..\..\config\m16c-renesas\tool_defs.h \
+		..\..\include\itron.h \
+		..\..\config\m16c-renesas\m3029\sys_defs.h \
+		..\..\config\m16c-renesas\cpu_defs.h \
+		..\..\include\t_syslog.h \
+		..\..\include\t_config.h \
+		..\..\config\m16c-renesas\m3029\sys_config.h \
+		..\..\config\m16c-renesas\m3029\sys_rename.h \
+		..\..\config\m16c-renesas\cpu_config.h \
+		..\..\config\m16c-renesas\api.h \
+		..\..\config\m16c-renesas\cpu_rename.h \
+		..\..\config\m16c-renesas\cpu_insn.h \
+		..\..\config\m16c-renesas\tool_config.h \
+		..\..\kernel\wait.h \
+		..\..\kernel\task.h \
+		..\..\kernel\queue.h \
+		..\..\kernel\time_event.h 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\wait.c
+####################################################################
+# End of makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+####################################################################
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.id
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.id	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.id	(revision 26)
@@ -0,0 +1,9 @@
+-ID#0
+FFFDF : 00
+FFFE3 : 00
+FFFEB : 00
+FFFEF : 00
+FFFF3 : 00
+FFFF7 : 00
+FFFFB : 00
+FFFFF : FF
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmi
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmi	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmi	(revision 26)
@@ -0,0 +1,23 @@
+[PROJECT]
+ProjectName=Jsp14sample1m
+WorkingDirectory=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS
+OutputDirectory=.
+ProjectFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1m.tmk
+ProjectInfoFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1m.tmi
+TargetName=M16C Family
+Type=1
+GoalFile=C:\home\work\jsp-1.4.4\tools\M16C-RENESAS\Jsp14sample1m.x30
+[NC]
+Name=NC30WA
+Version=V.5.45 Release 01
+[MEMBER]
+Count=0
+[DOCUMENTFILE]
+Count=0
+[ITEM]
+ActiveFactory=default
+FactoryName1=default
+ActiveTagName1=all
+Count=1
+[TOOL]
+ToolCount=0
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/Jsp14sample1m.tmk	(revision 26)
@@ -0,0 +1,266 @@
+####################################################################
+# Makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+#
+#	Notice	:	Don't edit.
+#	Date	:	2010 12(December) 28(Tuesday) AM.09.37
+#	Project	:	Jsp14sample1m
+####################################################################
+
+DELETE	=	@-del
+LNLIST	=	$(PROJECT).cmd
+LMC	=	LMC30
+CC	=	NC30
+AS	=	AS30
+OUTDIR	=	.
+MKDIR	=	@-mkdir
+CPP	=	C:\Hew\Tools\Renesas\nc30wa\v545r01\lib30\CPP30
+ABSFILE	=	$(PROJECT).x30
+ODINCMD	=	$(OUTDIR)
+TARGET	=	$(ABSFILE)
+LN	=	LN30
+ECHO	=	@-echo
+MKFILE	=	$(PROJECT).tmk
+TYPE	=	@-type
+PROJECT	=	Jsp14sample1m
+LFLAGS	=	-MS -L nc30lib -G -O $(OUTDIR)\$(TARGET) -ORDER data_NE=400,data_NO,bss_NE,bss_NO,program=0F0000,rom_FE,rom_FO,data_NEI,data_NOI
+CFLAGS	=	-c -I../../config/m16c-renesas -I../../config/m16c-renesas/oaks16_mini -I../../kernel -I../../include -I../../sample -I. -dir $(OUTDIR) -g -DNEED_API
+LMCFLAGS	=	-L
+AFLAGS	=	-LM -DRAMEND=0c00h:MON=0 -I. -O$(OUTDIR)
+.SUFFIXES: .a30 .r30 .c .x30 .lib
+.PHONY: all
+all: \
+		$(OUTDIR)\$(TARGET) \
+		$(OUTDIR)\Jsp14sample1m.mot 
+.PHONY: clean
+clean: 
+	$(DELETE) $(OUTDIR)\$(TARGET)
+	$(DELETE) $(ODINCMD)\$(LNLIST)
+	$(DELETE) $(OUTDIR)\kernel_cfg.c
+	$(DELETE) $(OUTDIR)\kernel_id.h
+	$(DELETE) $(OUTDIR)\m16cvec.inc
+	$(DELETE) $(OUTDIR)\offset.inc
+	$(DELETE) $(OUTDIR)\start.r30
+	$(DELETE) $(OUTDIR)\sys_config.r30
+	$(DELETE) $(OUTDIR)\serial_mini.r30
+	$(DELETE) $(OUTDIR)\syslog_mini.r30
+	$(DELETE) $(OUTDIR)\cpu_config.r30
+	$(DELETE) $(OUTDIR)\cpu_support.r30
+	$(DELETE) $(OUTDIR)\startup.r30
+	$(DELETE) $(OUTDIR)\banner.r30
+	$(DELETE) $(OUTDIR)\exception.r30
+	$(DELETE) $(OUTDIR)\interrupt.r30
+	$(DELETE) $(OUTDIR)\sys_manage.r30
+	$(DELETE) $(OUTDIR)\task_manage.r30
+	$(DELETE) $(OUTDIR)\time_manage.r30
+	$(DELETE) $(OUTDIR)\task.r30
+	$(DELETE) $(OUTDIR)\wait.r30
+	$(DELETE) $(OUTDIR)\task_except.r30
+	$(DELETE) $(OUTDIR)\task_sync.r30
+	$(DELETE) $(OUTDIR)\time_event.r30
+	$(DELETE) $(OUTDIR)\cyclic.r30
+	$(DELETE) $(OUTDIR)\dataqueue.r30
+	$(DELETE) $(OUTDIR)\eventflag.r30
+	$(DELETE) $(OUTDIR)\mailbox.r30
+	$(DELETE) $(OUTDIR)\mempfix.r30
+	$(DELETE) $(OUTDIR)\semaphore.r30
+	$(DELETE) $(OUTDIR)\timer.r30
+	$(DELETE) $(OUTDIR)\strerror.r30
+	$(DELETE) $(OUTDIR)\t_perror.r30
+	$(DELETE) $(OUTDIR)\vasyslog.r30
+	$(DELETE) $(OUTDIR)\kernel_cfg.r30
+	$(DELETE) $(OUTDIR)\sample1.r30
+	$(DELETE) $(OUTDIR)\sample1m.cfg.i
+	$(DELETE) $(OUTDIR)\start.lst
+	$(DELETE) $(OUTDIR)\cpu_support.lst
+	$(DELETE) $(OUTDIR)\makeoffset.a30
+	$(DELETE) $(OUTDIR)\Jsp14sample1m.map
+$(ODINCMD)\$(LNLIST): \
+		.\$(MKFILE) 
+	$(ECHO)\$(MRLFLAGS) $(LFLAGS) >	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\start.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\serial_mini.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\syslog_mini.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_support.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\startup.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\banner.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\exception.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\interrupt.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\wait.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_except.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_sync.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_event.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cyclic.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\dataqueue.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\eventflag.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mailbox.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mempfix.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\semaphore.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\timer.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\strerror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\t_perror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\vasyslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\kernel_cfg.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sample1.r30 >>	$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\Jsp14sample1m.mot: \
+		$(OUTDIR)\$(TARGET) 
+	$(LMC) $<
+$(OUTDIR)\$(TARGET): \
+		$(ODINCMD)\$(LNLIST) \
+		$(OUTDIR)\kernel_cfg.c \
+		$(OUTDIR)\kernel_id.h \
+		$(OUTDIR)\m16cvec.inc \
+		$(OUTDIR)\offset.inc \
+		$(OUTDIR)\start.r30 \
+		$(OUTDIR)\sys_config.r30 \
+		$(OUTDIR)\serial_mini.r30 \
+		$(OUTDIR)\syslog_mini.r30 \
+		$(OUTDIR)\cpu_config.r30 \
+		$(OUTDIR)\cpu_support.r30 \
+		$(OUTDIR)\startup.r30 \
+		$(OUTDIR)\banner.r30 \
+		$(OUTDIR)\exception.r30 \
+		$(OUTDIR)\interrupt.r30 \
+		$(OUTDIR)\sys_manage.r30 \
+		$(OUTDIR)\task_manage.r30 \
+		$(OUTDIR)\time_manage.r30 \
+		$(OUTDIR)\task.r30 \
+		$(OUTDIR)\wait.r30 \
+		$(OUTDIR)\task_except.r30 \
+		$(OUTDIR)\task_sync.r30 \
+		$(OUTDIR)\time_event.r30 \
+		$(OUTDIR)\cyclic.r30 \
+		$(OUTDIR)\dataqueue.r30 \
+		$(OUTDIR)\eventflag.r30 \
+		$(OUTDIR)\mailbox.r30 \
+		$(OUTDIR)\mempfix.r30 \
+		$(OUTDIR)\semaphore.r30 \
+		$(OUTDIR)\timer.r30 \
+		$(OUTDIR)\strerror.r30 \
+		$(OUTDIR)\t_perror.r30 \
+		$(OUTDIR)\vasyslog.r30 \
+		$(OUTDIR)\kernel_cfg.r30 \
+		$(OUTDIR)\sample1.r30 
+	$(LN) @$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\banner.r30: \
+		..\..\kernel\banner.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\banner.c
+$(OUTDIR)\cpu_config.r30: \
+		..\..\config\m16c-renesas\cpu_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\cpu_config.c
+$(OUTDIR)\cpu_support.r30: \
+		..\..\config\m16c-renesas\cpu_support.a30 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\cpu_support.a30
+$(OUTDIR)\cyclic.r30: \
+		..\..\kernel\cyclic.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\cyclic.c
+$(OUTDIR)\dataqueue.r30: \
+		..\..\kernel\dataqueue.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\dataqueue.c
+$(OUTDIR)\eventflag.r30: \
+		..\..\kernel\eventflag.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\eventflag.c
+$(OUTDIR)\exception.r30: \
+		..\..\kernel\exception.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\exception.c
+$(OUTDIR)\interrupt.r30: \
+		..\..\kernel\interrupt.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\interrupt.c
+$(OUTDIR)\kernel_cfg.c: \
+		.\sample1m.cfg 
+	$(CPP) -I../../config/m16c-renesas/oaks16_mini -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > sample1m.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1m.cfg.i
+$(OUTDIR)\kernel_cfg.r30: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) kernel_cfg.c
+$(OUTDIR)\kernel_id.h: \
+		.\sample1m.cfg 
+	$(CPP) -I../../config/m16c-renesas/oaks16_mini -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > sample1m.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1m.cfg.i
+$(OUTDIR)\m16cvec.inc: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CPP) -I../../config/m16c-renesas/oaks16_mini -I../../config/m16c-renesas -I../../kernel -I../../include -I../../sample -I.  $< > kernel_cfg.i
+	..\..\utils\m16c-renesas\m16cvec.exe -M1
+$(OUTDIR)\mailbox.r30: \
+		..\..\kernel\mailbox.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mailbox.c
+$(OUTDIR)\mempfix.r30: \
+		..\..\kernel\mempfix.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mempfix.c
+$(OUTDIR)\offset.inc: \
+		..\..\config\m16c-renesas\makeoffset.c 
+	$(CC) -S $(MRCFLAGS) $(CFLAGS) $<
+	..\..\utils\m16c-renesas\m16coffset.exe
+$(OUTDIR)\sample1.r30: \
+		..\..\sample\sample1.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\sample\sample1.c
+$(OUTDIR)\semaphore.r30: \
+		..\..\kernel\semaphore.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\semaphore.c
+$(OUTDIR)\serial_mini.r30: \
+		..\..\config\m16c-renesas\oaks16_mini\serial_mini.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\oaks16_mini\serial_mini.c
+$(OUTDIR)\start.r30: \
+		..\..\config\m16c-renesas\start.a30 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m16c-renesas\start.a30
+$(OUTDIR)\startup.r30: \
+		..\..\kernel\startup.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\startup.c
+$(OUTDIR)\strerror.r30: \
+		..\..\library\strerror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\strerror.c
+$(OUTDIR)\sys_config.r30: \
+		..\..\config\m16c-renesas\oaks16_mini\sys_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\oaks16_mini\sys_config.c
+$(OUTDIR)\sys_manage.r30: \
+		..\..\kernel\sys_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\sys_manage.c
+$(OUTDIR)\syslog_mini.r30: \
+		..\..\config\m16c-renesas\oaks16_mini\syslog_mini.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m16c-renesas\oaks16_mini\syslog_mini.c
+$(OUTDIR)\t_perror.r30: \
+		..\..\library\t_perror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\t_perror.c
+$(OUTDIR)\task.r30: \
+		..\..\kernel\task.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task.c
+$(OUTDIR)\task_except.r30: \
+		..\..\kernel\task_except.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_except.c
+$(OUTDIR)\task_manage.r30: \
+		..\..\kernel\task_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_manage.c
+$(OUTDIR)\task_sync.r30: \
+		..\..\kernel\task_sync.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_sync.c
+$(OUTDIR)\time_event.r30: \
+		..\..\kernel\time_event.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_event.c
+$(OUTDIR)\time_manage.r30: \
+		..\..\kernel\time_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_manage.c
+$(OUTDIR)\timer.r30: \
+		..\..\systask\timer.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\timer.c
+$(OUTDIR)\vasyslog.r30: \
+		..\..\library\vasyslog.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\vasyslog.c
+$(OUTDIR)\wait.r30: \
+		..\..\kernel\wait.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\wait.c
+####################################################################
+# End of makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+####################################################################
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/README.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/README.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/README.txt	(revision 26)
@@ -0,0 +1,150 @@
+
+        ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
+                    ï¼m16c:TMéçºç°å¢ï¼
+
+        ï¼Release 1.4.4 å¯¾å¿ï¼æçµæ´æ°: 28-Dec-2010ï¼
+
+------------------------------------------------------------------------
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+ Copyright (C) 2003-2004 by Platform Development Center
+                                         RIOCH COMPANY,LTD. JAPAN
+ Copyright (C) 2006 by Embedded and Real-Time Systems Laboratory
+               Graduate School of Information Science, Nagoya Univ., JAPAN
+ Copyright (C) 2010 by Naoki Saito
+            Nagoya Municipal Industrial Research Institute, JAPAN
+
+ ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+     ã¨ï¼
+   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+       å ±åãããã¨ï¼
+ (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+
+ æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+------------------------------------------------------------------------
+
+ãã®ãã­ã¥ã¡ã³ãã§ã¯ãM16Cç¨ã®ã«ããµã¹ã¨ã¬ã¯ãã­ãã¯ã¹ç¤¾ã®éçºãã¼ã«ã
+ä½¿ç¨ãã¦ï¼TOPPERS/JSPã«ã¼ãã«ãæ§ç¯ããããã«å¿
+è¦ãªãã¡ã¤ã«ã«ã¤ãã¦è§£èª¬ããï¼
+
+1. ãã£ã¬ã¯ããªã®æ§æ
+
+jsp
+  +--config
+  |     +---m16c-renesas
+  |            +---oaks16
+  |            +---oaks16_mini
+  |            +---m3029
+  +--tools
+  |     +-----M16C-RENESAS
+  +--utils
+        +-----m16c-renesas
+
+
+2.ãã£ã¬ã¯ããªã¨ãã¡ã¤ã«ã®èª¬æ
+
+(1) config/m16c-renesas
+	M16C ä¾å­é¨ã®ãã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããªï¼
+(2) utils/m16c-renesas
+	ãã«ãã®éã«ä½¿ãããï¼ä»¥ä¸ã®ãã¼ã«ãç½®ããããã£ã¬ã¯ããªï¼
+		ã»å²è¾¼ã¿ã CPU ä¾å¤ã®ãã¯ã¿ãèªåçæãããã¼ã«(m16cvec.exe)
+		ã»TCB ã®ãªãã»ããå¤ãã¢ã»ã³ãã©ã½ã¼ã¹ã«è¨­å®ãããã¼ã«(m16coffset.exe)
+		(ä»¥ä¸ã¯ï¼make ãç¨ãã¦ãã«ãããæã®ã¿ä½¿ããã)
+		ã»ã½ã¼ã¹ã®ä¾å­é¢ä¿ãçæãã perl ã¹ã¯ãªãã(makedep.m16c)
+(3) tools/M16C-RENESAS
+	çµ±åéçºç°å¢ TM ãç¨ãã¦ TOPPERS/JSP ã«ã¼ãã«ãæ§ç¯ããããã®
+	ãã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããªï¼
+
+
+2.1 config/m16c-renesas
+
+a. Makefile.config
+    make ã³ãã³ããç¨ãã¦M16Cç¨ TOPPERS/JSP ãæ§ç¯ããå ´åã® make ãã¡ã¤ã«
+b. oaks16/Makefile.config 
+    make ã³ãã³ããç¨ãã¦ M16C-OAKS16ç¨ TOPPERS/JSP ãæ§ç¯ããå ´åã® make ãã¡ã¤ã«
+c. oaks16_mini/Makefile.config 
+    make ã³ãã³ããç¨ãã¦ M16C-OAKS16 MINIç¨ TOPPERS/JSP ãæ§ç¯ããå ´åã® make ãã¡ã¤ã«
+d. ãã®ä» ---- M16Cä¾å­é¨ã®ã³ã¼ã
+
+
+2.2 utils/m16c-renesas
+
+a. makedep.m16c
+    makeãç¨ãã¦éçºãå ´åãã½ã¼ã¹ã®ä¾å­é¢ä¿ãçæããPERLã¹ã¯ãªãã
+b: m16coffset.c
+    m16coffset ã³ãã³ãCè¨èªè¨è¿°
+c: m16cvec.c
+    m16cvec ã³ãã³ãCè¨èªè¨è¿°
+d: Makefile
+    MinGW ã®GCCãç¨ãã¦ m16coffset, m16cvec ã³ãã³ãããã«ãããéã«
+    ç¨ãããã¡ã¤ã«
+
+2.3 tools/M16C-RENESAS
+
+a.Jsp14sample1.tmi,Jsp14sample1.tmk 
+   TMãç¨ãã¦ OAKS16ç¨ã® TOPPERS/JSP ãæ§ç¯ããããã®ãã­ã¸ã§ã¯ããã¡ã¤ã«
+b.Jsp14sample1m.tmi,Jsp14samplem1.tmk
+   TMãç¨ãã¦ OAKS16 MINIç¨ã® TOPPERS/JSP ãæ§ç¯ããããã®ãã­ã¸ã§ã¯ããã¡ã¤ã«
+c.Jsp14sample1_m3029.tmi,Jsp14samplem1_m3029.tmk 
+   TMãç¨ãã¦ M3029ç¨ã® TOPPERS/JSP ãæ§ç¯ããããã®ãã­ã¸ã§ã¯ããã¡ã¤ã«
+d.Jsp14sample1.id 
+   çæãã MOT ãã¡ã¤ã«ãOAKS16 ãã¼ãã®ãã©ãã·ã¥ROMã®æ¸ãè¾¼ãæã«ä½¿ç¨ããIDãã¡ã¤ã«
+e.Jsp14sample1m.id 
+   çæãã MOT ãã¡ã¤ã«ãOAKS16 MINIãã¼ãã®ãã©ãã·ã¥ROMã®æ¸ãè¾¼ãæã«ä½¿ç¨ããIDãã¡ã¤ã«
+f.Jsp14sample1_m3029.id 
+   çæãã MOT ãã¡ã¤ã«ã M3029 ã®ãã©ãã·ã¥ROMã®æ¸ãè¾¼ãæã«ä½¿ç¨ããIDãã¡ã¤ã«
+g.sample1.cfg 
+   OAKS16, M3029ç¨ ã® TOPPERS/JSP ãæ§ç¯ããããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+h.sample1m.cfg 
+   OAKS16 MINIç¨ã® TOPPERS/JSP ãæ§ç¯ããããã®ã³ã³ãã£ã®ã¥ãã¡ã¤ã«
+
+
+2.4  sample
+
+a.Makefile.m16c-oaks16 
+   makeã³ãã³ããç¨ãã¦OAKS16ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®makeãã¡ã¤ã«
+
+
+3ï¼m16cvec, m16coffset ã³ãã³ãã®æ§ç¯æ¹æ³
+
+m16cvec åã³ m16coffset ã³ãã³ãã®æ§ç¯ã¯ MinGW ãç¨ãã¦ã³ã³ãã¤ã«ãè¡ãï¼
+ã³ã³ãã¤ã«ããéï¼utils/m16c-renesas ãã£ã¬ã¯ããªã¸ç§»åãï¼
+åã« make ã³ãã³ããå®è¡ããã°ããï¼
+åä½ç¢ºèªãã GCC ã®ãã¼ã¸ã§ã³ã¯ 4.5.0 ã§ããï¼
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.1 2004/05/27 12:09:38 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../systask/timer.cfg"
+#include "../../systask/serial.cfg"
+#include "../../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1m.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1m.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M16C-RENESAS/sample1m.cfg	(revision 26)
@@ -0,0 +1,27 @@
+/*
+ *  @(#) $Id: sample1m.cfg,v 1.1 2004/05/27 12:09:38 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../systask/timer.cfg"
+#include "../../systask/serial.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.cwp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.cwp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.cwp	(revision 26)
@@ -0,0 +1,4 @@
+[CWatch Window]
+num of points=2
+cwp0=_kernel_intnest
+cwp1=p
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.id
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.id	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.id	(revision 26)
@@ -0,0 +1,9 @@
+-ID#00000000000000
+FFFFDF : 00
+FFFFE3 : 00
+FFFFEB : 00
+FFFFEF : 00
+FFFFF3 : 00
+FFFFF7 : 00
+FFFFFB : 00
+FFFFFF : FF
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.mot
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.mot	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.mot	(revision 26)
@@ -0,0 +1,1941 @@
+S0030000FC
+S214F80000D52F007800D6F90A00120400120500D69B
+S214F80010F10A00D6F80A0012060014070020120D9E
+S214F8002000140C0012D6F00A00D52800BDFF996F10
+S214F800300000DA0FB0B18675F800B0F100040000E1
+S214F80040B083996F0000DA0FB0B18675F800B0F19A
+S214F8005000040000B083029D0004996FB011B80345
+S214F800609DB015996F2A02B803B0B1BE64F8008146
+S210F80070C3A0D100DA0390C1CC2007F83A
+S214F8007CEC0C8F20B2F1F4B00300004192FBF4F8CC
+S214F8008C38F830FC0198BBFCD8BB30FC0198BBFCAC
+S214F8009CD8B230FC92FBFCFDB2F1F4B003000009C8
+S214F800AC92FBFDF4B2F1F4C20300004192FBF4FDAE
+S214F800BC38FD30FE0198BBFED8B230FE0198BBFE78
+S214F800CCD8BB30FE92FBFEFDB2F1F4C20300000979
+S214F800DC92FBFDF4B2F1F46003000032FD99B3F430
+S214F800EC88910DC3E3F80992FBFDF8F2E5FD99B398
+S214F800FCF4889108C3E3F80992FBFDF834FD1099DF
+S214F8010CB3F488910CC3E3F80992FBFDF834FD3090
+S214F8011C99B3F4889109C3E3F80992FBFDF8F2E574
+S214F8012CFD99B3F488910DC3E3F80992FBFDF8F248
+S214F8013CEFFDB2F1F8E00300000992FBFDF8F2EFE0
+S214F8014CFDB2F1F8E20300000992FBFDF88E04FC10
+S214F8015CF9A19AFDDFDEEC088F0830FC76FC0A9ADB
+S214F8016C4634FD0DB2F1F86003000078F801988B70
+S214F8017C0D4D010030FE9A0E78F801988B0DD8B814
+S214F8018C78F8C22B0D78F801988B0DD881DAF778B9
+S214F8019CF8923BFD0A38FE9A0E78F801988B0DD833
+S214F801ACB078F8C22B0D92FBFCFEB2F1F8600300A7
+S214F801BC0078F801988B0D4D010030FD9A0E78F802
+S214F801CC01988B0DD8B878F8C22B0D78F801988B67
+S214F801DC0DD881DAF778F8923BFE0A38FD9A0E7845
+S213F801ECF801988B0DD8B078F8C22B0D8E10FC52
+S214F801FCEC0C8F28B2F1F4B015000033FCE3D1FC0C
+S214F8020CCA6939FC899F0900F92088B19A65F80003
+S214F8021C09C3E3F478F4F2200832FE0978F4998BE3
+S214F8022C02F920893FFF00C3E3F80992FBFEF83287
+S214F8023CFE0978F4998B04F920893FFF00C3E3F89C
+S214F8024C0992FBFEF878F492CB08FE78F441898B89
+S214F8025C070D00F920893FFF00C3E3F80992FBFE6F
+S214F8026CF882D1F409E3F1FCBB948E14FCDEEC0EA8
+S214F8027C8F0831FA39FAE9BF899F0900F92088B155
+S214F8028CB0150000C3E3F24193F3F2F60939F6071A
+S214F8029C0D00F920893FFF00C3E3FA4192FBFAFE02
+S214F802AC38FEF8204CFA30FF0939F6070D00F9201D
+S214F802BC893FFF00C3E3FA0992FBFFFA78F692CB74
+S214F802CC06FF0939F6070800F920893FFF00C3E353
+S214F802DCFA0992FBFFFA78F692CB07FF0939F6077C
+S214F802EC0C00F920893FFF00C3E3FA0992FBFFFAEA
+S214F802FC78F692CB08FF0939F6070900F920893FFA
+S214F8030CFF00C3E3FA0992FBFFFAF2E4FF78F699DA
+S214F8031C8B02F920893FFF00C3E3FA0992FBFFFA38
+S214F8032CF2E5FF78F6998B04F920893FFF00C3E3D2
+S214F8033CFA0992FBFFFA78F292CB08FF0939F6071E
+S214F8034C0D00F920893FFF00C3E3FA0992FBFFFA88
+S214F8035C0939F6070E00F920893FFF00C3E3FA4186
+S214F8036C92FBFAFF38FF0939F6070E00F920893F99
+S214F8037CFF00C3E3FA4192FBFAFF38FF33F677F641
+S214F8038CF401BA2478F241898B070D00F920893FDD
+S214F8039CFF00C3E3FA4192FBFAFF38FFF820D88146
+S214F803AC9A06E3F1F6BBD878F29333080499B3F2CD
+S214F803BC8E10FCDEEC0A8F284193F308F632FE78A2
+S214F803CCF6998B02F920893FFF00C3E3FA0992FBF2
+S214F803DCFEFA32FE78F6998B04F920893FFF00C3B3
+S214F803ECE3FA0992FBFEFA7808F22008780892CB22
+S214F803FC08FE0939F6070D00F920893FFF00C3E31C
+S214F8040CFA0992FBFEFA32FE0939F6070800F920CB
+S214F8041C893FFF00C3E3FA0992FBFEFA8E14FCDE62
+S214F8042CEC068F28780841898B070D00F920893F50
+S214F8043CFF00C3E3FA4192FBFAFE38FEF820D881A7
+S214F8044CDA2092FB0CFE780841898B070A00F92013
+S214F8045C893FFF00C3E3FA0992FBFEFAF9A18E1462
+S214F8046CFC038E14FCDEEC068F28780841898B0783
+S214F8047C0D00F920893FFF00C3E3FA4192FBFAFE20
+S214F8048C38FEF820D883DA1E780841898B070E00D8
+S214F8049CF920893FFF00C3E3FA4192FBFAFE38FED7
+S214F804ACF8208E14FCF9AF8E14FCEC068F28390C59
+S214F804BCE991DA07E992DA2EBB55780801988B0899
+S214F804CCD8B87808C22B08780892CB08FE7808417A
+S214F804DC898B070D00F920893FFF00C3E3FA0992D0
+S214F804ECFBFEFABB2A780801988B08D8BA7808C2AB
+S214F804FC2B08780892CB08FE780841898B070D00F4
+S214F8050CF920893FFF00C3E3FA0992FBFEFA8E1432
+S214F8051CFCDEEC068F28390CE991DA07E992DA2E2C
+S214F8052CBB55780801988B08D8B07808C22B087891
+S214F8053C0892CB08FE780841898B070D00F92089BC
+S214F8054C3FFF00C3E3FA0992FBFEFABB2A780801D0
+S214F8055C988B08D8B27808C22B08780892CB08FE85
+S214F8056C780841898B070D00F920893FFF00C3E313
+S214F8057CFA0992FBFEFA8E14FCDEEC048F08B2F144
+S214F8058CFCB015000078FC01988B08D882DA0C7849
+S214F8059CFCF0B4A001CD0A4FF8538E10FCDEEC0438
+S214F805AC8F08B2F1FCB015000078FC01988B08D8CF
+S214F805BC80DA0C78FCF0B4A001CD2C4EF8538E10E3
+S205F805CCFC35
+S214F805CEEC06F2EFFEB2F1FACB0300000992FBFE50
+S214F805DEFAF2EFFEB2F1FACE0300000992FBFEFA3B
+S214F805EEF2EFFEB2F1FACF0300000992FBFEFAF232
+S214F805FEEFFEB2F1FAD20300000992FBFEFAF2EF22
+S214F8060EFEB2F1FAD30300000992FBFEFA32FEB2FE
+S214F8061EF1FADC0300000992FBFEFAF6E1B915FCD6
+S205F8062EDFEF
+S214F806308FFFB1A3020400D31714B231184306F89B
+S214F8064000BB27988B0DD886DA0A998B0EDA05CD7B
+S214F806505C16F88EFFDFB9AFB92FC1A3D5AA400054
+S214F806608081D3EEF6A0B91500B1A306040087A3DF
+S214F80670020400DA07D30714820118D52F00780091
+S214F80680A68EB91500D1EEDEDEDEDED3EEB9AB0A05
+S214F806900400DAF2F7A00A0400B68EB91500BBCA51
+S214F806A0F7A00A0400B1A3020400B9AB0C0400DA00
+S214F806B01AB1E306040081E1DA1189A3DAACD3179C
+S214F806C014B23118CA06F800BBA0988B0DD886DA93
+S214F806D00A998B0EDA05CD5C16F88EFF9EE690B971
+S214F806E015009A06D52F007800A68EB91500C94EC3
+S214F806F0C9CED1EE9081D3EEB9EFB96FB68EB915F3
+S214F80700009A0ED9C7D5E8B9EB0A0400DA03BB910C
+S214F807108EFF9E0F0801CB02DF0F4200CBFCDF9E58
+S214F80720CDCE05F8CD7C00F8CD7A44F8CD7E07F826
+S214F80730CD4623F8CD8058F8CD5C58F8F7E100049C
+S214F80740CD6206F8DFDEEC0201D3DAFE39FE4D4064
+S214F8075000D9BAE9909A14E6D0B9158B04F9A14AEB
+S214F8076003E990DA04D3EE4BD3EE130004CD7458B5
+S212F80770F8CDEA45F8CD2E06F8CD5C01F8FC7B
+S214F8077EEC328F28B2D1F804B2D1F404B2D1F0012B
+S214F8078EB2F1EC1766F80035FC0900F3E5FE93FBBC
+S214F8079EFCCE93F3ECD493F3F0D893F3F4DC93F314
+S214F807AEF8E0D3DACEA08139FECD9044F8538E1405
+S205F807BEFC41
+S214F807C0EC08B2F1F8C46FF80033FCB3E69865F8B5
+S214F807D0FCCA0E4192FBF8FEF2F7F8E3F1FCBBEC2C
+S214F807E0FCDEEC02E6D1B9158B04F9A14A03E990D0
+S214F807F0D9B231FE39FEFCDEEC048F0893F308FC20
+S214F8080078FC01988B1C4D4000D9BAE990D9B231E2
+S214F80810FC39FC8E10FCEC02190C04D9BA31FE39FE
+S214F80820FEFCEC048F08E6D1B9158B04F9A14A034F
+S214F80830E9909A1993F308FC78FC01988B1C4D40C4
+S214F8084000D9BAE9909A06190C049A04F9A14A0351
+S214F8085031FC39FC8E10FCDEEC028F08580204DA04
+S214F808600B580204D2060DDA03034BF9A131FE3910
+S208F80870FE8E10FCEF
+S214F80874EC08B2F1F8AF6FF80033FCB3E69665F817
+S214F80884FCCA0E4192FBF8FEF2F7F8E3F1FCBBEC77
+S205F80894FC6A
+S214F80896EC068F0831FAE6D0B9158B04F9A14A03A7
+S214F808A6E9909A1001D3DAFE39FE4D4000D9BAE936
+S214F808B690DA0735FCE7FFBB40E3D1FAFA0777FA92
+S214F808C61000EB0B39FADA0735FCEFFFBB2BD3EE45
+S214F808D639FA9A0D580204998B0CC88B4D0F005BA3
+S214F808E639FAE9BF31FA39FACD4C15F8E990DA054E
+S214F808F6CD3006F833FCD1EE39FC8E10FCDEEC066D
+S214F8090631FAE6D0B9158B04F9A14A03E990DA105C
+S214F8091601D3DAFE39FE4D4000D9BAE990DA073542
+S214F80926FCE7FFBB28E3D1FAFA0777FA1000EB07DD
+S214F8093635FCEFFFBB17D3EE39FAE9BFCD4C15F801
+S214F80946E99097DF0A04010033FCD1EE39FCFCDEA9
+S214F80956EC048F70E6D0B9158B04F9A14A03E99032
+S214F809669A1001D3DAFE39FE4D4000D9BAE990DA84
+S214F809760735FCE7FFBB1CD3EEB9B3020498B19C67
+S214F80986080000B8D11C01A9DFF8B109310833FC14
+S214F80996D1EE39FC8E0EFCDEEC048F70E6D0B91577
+S214F809A68B04F9A14A03E990DA1001D3DAFE39FE88
+S214F809B64D4000D9BAE990DA0735FCE7FFBB25D3F0
+S214F809C6EEB9B302049A0403BB13B9B3020498B19A
+S214F809D69C080000B8D11C01A9DFF8B10931083324
+S214F809E6FCD1EE39FC8E0EFCEC04E6D0B9158B0479
+S214F809F6F9A14A03E990DA0735FCE7FFBB1401D3F9
+S214F80A06DAFE39FE4D4000D9BAE9909A03D3EE33AA
+S214F80A16FC39FCFCEC04E6D0B9158B04F9A14A03BC
+S214F80A26E9909A0735FCE7FFBB1401D3DAFE39FEE0
+S214F80A364D4000D9BAE9909A03D3EE33FC39FCFC5C
+S214F80A46EC04E6D0B9158B04F9A14A03E990DA075F
+S214F80A5635FCE7FFBB1401D3DAFE39FE4D4000D964
+S214F80A66BAE990DA03D1EE33FC39FCFCEC04E6D0AE
+S214F80A76B9158B04F9A14A03E9909A0735FCE7FFFE
+S214F80A86BB1401D3DAFE39FE4D4000D9BAE990DA3E
+S214F80A9603D1EE33FC39FCFCEC04E6D0B9158B042E
+S214F80AA6F9A14A03E9909A1001D3DAFE39FE4D40C9
+S214F80AB600D9BAE990DA0735FCE7FFBB0AD3EE1396
+S214F80AC60C0433FCD1EE39FCFCDEEC04E6D0B915A2
+S214F80AD68B04F9A14A03E9909A1001D3DAFE39FE97
+S214F80AE64D4000D9BAE990DA0735FCE7FFBB17D3CD
+S214F80AF6EEF7E10C04B7F106040204DA05CD300683
+S214F80B06F833FCD1EE39FCFCEC02E6D0B9158B04CA
+S214F80B16F9A14A03E990D9B231FE39FEFCDEEC04B7
+S214F80B2601D3DAFC39FC4D4000D9BAE990D9B2318E
+S214F80B36FE39FEFCEC02190C04D9BA31FE39FEFC75
+S214F80B46EC04E6D0B9158B04F9A14A03E9909A1590
+S214F80B5601D3DAFC39FC4D4000D9BAE9909A061961
+S211F80B660C049A04F9A14A0331FE39FEFC8E
+S214F80B74EC088F2831F8E6D0B9158B04F9A14A03A6
+S214F80B84E9909A1001D3DAFE39FE4D4000D9BAE955
+S214F80B9490DA0735FCE7FFBB68E3D1F8FA09B3E661
+S214F80BA4C664F8F8EB0B39F8DA0735FCEEFFBB51F8
+S214F80BB439F89A07B9B30204BB0F39F8E9BF898F35
+S214F80BC41C0088B19C080000C3E3F8D3EE78F899C3
+S214F80BD48B0C0DFF009A15A2C1F8CDA013F853E9B3
+S214F80BE490DA05CD3006F833FCBB1478F8D2040D49
+S214F80BF49A0978F8D23C0D33FC5B35FCD5FFD1EE78
+S214F80C0439FC8E14FCDEEC088F0831F8E6D0B915FA
+S214F80C148B04F9A14A03E990DA1001D3DAFE39FE17
+S214F80C244D4000D9BAE990DA0735FCE7FFBB5BE339
+S214F80C34D1F8FA09B3E6C664F8F8EB0735FCEEFF24
+S214F80C44BB4891BBF8E1BF818F1C0080B19C0800BB
+S214F80C540083E3F8D3EE78F8998B0C0DFF009A1519
+S214F80C64A2C1F8CDA013F853E99097DF0A0401005F
+S214F80C7433FCBB1478F8D2040D9A0978F8D23C0DF4
+S214F80C8433FC5B35FCD5FFD1EE39FC8E10FCEC0852
+S214F80C948F2831F8E6D0B9158B04F9A14A03E99000
+S214F80CA49A1001D3DAFE39FE4D4000D9BAE990DA43
+S214F80CB40735FCE7FFBB45E3D1F8FA09B3E6C664A3
+S214F80CC4F8F8EB0B39F8DA0735FCEEFFBB2E39F8F3
+S214F80CD49A07B9B30204BB0F39F8E9BF898F1C0029
+S214F80CE488B19C080000C3E3F8D3EE78F8D2040D74
+S214F80CF4D9B831FC78F8D2340DD1EE39FC8E14FC20
+S214F80D04EC648F28E6D0B9158B04F9A14A03E99068
+S214F80D14DA22B2F1F68168F80035FA090033FC9362
+S214F80D24FBFA9C93F3F6A2D3DA9CA08139FCCD9017
+S214F80D3444F85301D3DAFE39FE4D4000D9BAE990A7
+S214F80D44DA25B2F1F65868F80035FA0900F3E4FC47
+S214F80D5493FBFABA93F3F6C0D3DABAA08139FCCD8A
+S214F80D649044F853BB14E6D0B9158B04F9A14A039A
+S214F80D74E990DA04D3EE4BD3EE190C049A27B2F1C1
+S214F80D84F62868F80035FA0900F3E4FC93FBFAD879
+S214F80D9493F3F6DED3DAD8A08139FCCD9044F85331
+S214F80DA4F7E10C04CDFA13F88E14FCDEEC0A8F087F
+S214F80DB431F6E6D0B9158B04F9A14A03E9909A10EE
+S214F80DC401D3DAFC39FC4D4000D9BAE990DA083593
+S214F80DD4FAE7FFCE8C00E3D1F6FA09B3E6C664F870
+S214F80DE4F6EB0735FAEEFFBB7891BBF6E1BF818FD9
+S214F80DF41C0080B19C08000083E3F6B3F10204F605
+S214F80E049A0735FAE4FFBB59D3EE78F6998B0C4D6E
+S214F80E14FF0031FE9A0735FAD7FFBB43D2C0FEDA95
+S214F80E240BA2C1F6CDA212F853BB0ED2C1FEDA0954
+S214F80E34A2C1F6CDEE18F853A2C1F6CD6C13F8534A
+S214F80E4478F6D2040DDA1678F6D2340DA2C1F6CDB9
+S214F80E54A013F853E990DA05CD3006F833FAD1EE54
+S214F80E6439FA8E10FCDEEC0C8F2831F4E6D0B9157E
+S214F80E748B04F9A14A03E9909A1001D3DAFA39FAFD
+S214F80E844D4000D9BAE990DA0835F8E7FFCEB9004C
+S214F80E94E3D1F4FA09B3E6C664F8F4EB0C39F4DAF9
+S214F80EA40835F8EEFFCEA100E3D108FA0777081064
+S214F80EB400EB0C3908DA0835F8EFFFCE8B0039F476
+S214F80EC49A07B9B30204BB0F39F4E9BF898F1C003B
+S214F80ED488B19C080000C3E3F439089A0A78F491B8
+S214F80EE48308998B0A5B3908E9BF31FCD3EE78F4AA
+S214F80EF4998B0C4DFF0031FE9A0735F8D7FFBB46A1
+S214F80F04D2C0FEDA18C3CEFCA2C1F4CD2A14F86314
+S214F80F14E990DA05CD3006F833F8BB2A39FC78F4CC
+S214F80F24C82B4D000F833F0CFFF0C3250CD2C5FE2B
+S214F80F34DA12A2C1F478F4918310F0B4A001CD1AB1
+S214F80F441BF87333F8D1EE39F88E14FCEC088F28B6
+S214F80F5431F8E6D0B9158B04F9A14A03E9909A104A
+S214F80F6401D3DAFE39FE4D4000D9BAE990DA0735EE
+S214F80F74FCE7FFBB58E3D1F8FA09B3E6C664F8F819
+S214F80F84EB0B39F8DA0735FCEEFFBB4139F89A076C
+S214F80F94B9B30204BB0F39F8E9BF898F1C0088B1CE
+S214F80FA49C080000C3E3F8D3EE78F8998B0C0DFF91
+S214F80FB4009A0735FCD7FFBB1278F8998B0CC88BC8
+S214F80FC44D0F00E9B109310833FCD1EE39FC8E1423
+S205F80FD4FC23
+S214F80FD6EC048F20E6D0B9158B04F9A14A03E990FC
+S214F80FE69A1001D3DAFE39FE4D4000D9BAE990DAFE
+S214F80FF60735FCE7FFBB13D3EE4199B308B9B094AF
+S214F8100604C7E3900433FCD1EE39FC8E04FCEC04FA
+S214F810168F20E6D0B9158B04F9A14A03E9909A1001
+S214F8102601D3DAFE39FE4D4000D9BAE990DA07352B
+S214F81036FCE7FFBB13D3EEB9B39004B9B294040930
+S214F81046C3E30833FCD1EE39FC8E04FCEC128F7041
+S214F81056E6D0B9158B04F9A14A03E990DA0835F60D
+S214F81066E7FFCE890001D3DAF839F84D4000D9BA49
+S214F8107631FA9A03D3EEB9B39004B9B29804C3E337
+S214F81086EEB2F1F2460300004193FBF2FC39FC9906
+S214F81096EF2F75C9EAC3FBFCB2D1F26C4192FBF2AC
+S214F810A6FE38FEF8204D0800D9B231FE39FA9A0312
+S214F810B6D1EE99B3EE996FE803C97EC3E3F239FE2B
+S214F810C6DA0777FCCC748A0892F1F2E8030000395E
+S214F810D6FCF920996FE803C97EB8F130750000016F
+S214F810E6A9CFC3E2F20993F3F20833F639F68E0E71
+S205F810F6FC00
+S214F810F8EC088F78B89100C7E30604C7E302041330
+S214F811080A04F7E10C0433FC77FC1000CA2139FC12
+S214F81118E982F92088B10E040000C3E3F899B3F819
+S214F8112809C3E3F878F8C32304E3F1FCBBDB138EB2
+S214F811380433FCB3E6C664F8FCCA5C39FCF920C18B
+S214F81148A381A2B98B4A65F8E9BF31FE39FEF920C2
+S214F81158996F1C00C97E88B19C080000C3E3F8396B
+S214F81168FEF920996F1A00C97E88B1C864F8007825
+S214F81178F8C3230878F8D2340DA2C1F8CFE701539C
+S214F8118878F841998B08D881DA08A2C1F8CF0A020C
+S214F8119853E3F1FCBB9E8E1EFCDEEC328F08B3FBE5
+S214F811A88E04F833FA3DF8FFFF9A3EB2F1EC35694B
+S214F811B8F800B2F1F092000000B2F1F42E69F800E7
+S214F811C835FC0A0033FE93FBFCCE93F3F4D493F382
+S214F811D8F0D893F3ECDCD3DACEA08139FECD904480
+S214F811E8F853CD0000F8034A033CF8FF9A08E3CF13
+S214F811F8F837FA08003CF80F9A07E3CBF8E3F4FA5E
+S214F8120839F84D0F00E9BFF920C1A301B88B1F695B
+S214F81218F899B8FA31FE91BBFEE182A9830E048EDE
+S214F8122810FCEC0A8F6C7808998B0CC88B4D0F005D
+S214F8123831FE7808833F0C00FF832F0C010093F3E8
+S214F8124808FA39FEE982F92088B10E040000C3E3EB
+S214F81258F678F679FA934304040993F3F6FA78F6E7
+S214F81268099333FA0478F69333FA04987BFEF9A1CF
+S214F81278A9BEC7E58E04580604DA11580604998BF1
+S214F812880CC88B4D0F00C3E6FECA0C97F308060485
+S214F81298190C048E36FC038E36FCEC348F6C780802
+S214F812A8998B0CC88B4D0F0031FA39FAE982F92078
+S214F812B888B10E040000C3E3EA93F308EE78EE4923
+S214F812C89333EE0478EE0979EE9343040493F3EA3D
+S214F812D8EE0993F1EEEE9A4778EE9331EE04DA3BA0
+S214F812E8B2F1EE6D69F800B2D1F27FB2F1F6826922
+S214F812F8F80035FC0A0033FE93FBFCCC93F3F6D2E1
+S214F8130893F3F2D693F3EEDAD3DACCA08139FECD9E
+S214F813189044F853CD0000F8034A03F9A14A03E9C4
+S214F8132890DA2B987BFAF9A1A9BEA99EC7ED8E0488
+S214F8133897F10806049A2A198E049A05B891005A5D
+S214F81348CF59FEC7E30604190C048E36FC97F10845
+S214F8135806049A0D4197F3EA0604190C048E36FC2F
+S214F81368038E36FCEC008F087808918308998B0A68
+S214F813787808C82B4D000F833F0CFFF0C3250C7870
+S214F8138808833F0C00FF7808D2350D7808D2360D5A
+S214F813987808F3200E8E10FCEC088F0C93F308F8F8
+S214F813A878F891830891831079F891D30891920C7C
+S214F813B883E3FCF2FCFC78F89183080993C302FCF3
+S214F813C8F2FCFC09B2F1FC040DF800F2FCFC78F823
+S214F813D89183080993C306FC78F8B231185606F8CC
+S214F813E80078F89333FC14A2C108CF37FE538E3032
+S214F813F8FCDE8F08A6C10204CFA1FE53A6C10204DC
+S214F81408CF63FF53580204D2040DDA0F580204D2F9
+S214F81418340DA6C10204CF81FF53CD6206F88E10AC
+S214F81428DFDEEC308F6C7808998B0CC88B4D0F0084
+S214F8143831FA390C7808C82B4D000F833F0CFFF0AB
+S214F81448C3250C93F308EE78EE499333EE0478EE5A
+S214F814580979EE9343040439FAE982F92088B10E3B
+S214F81468040000C3E3EE0993F1EEEE9A4778EE939C
+S214F8147831EE04DA3BB2F1EE6D69F800B2D1F27FDC
+S214F81488B2F1F68269F80035FC0A0033FE93FBFCE5
+S214F81498D093F3F6D693F3F2DA93F3EEDED3DAD004
+S214F814A8A08139FECD9044F853CD0000F8034A03DE
+S214F814B8F9A14A03E990DA0E987BFAF9A1A9BEA928
+S214F814C89EC7ED8E0493F308F2390CE982F9208862
+S214F814D8B10E040000C3E3F678F679F293430404F1
+S214F814E80993F3F6F278F6099333F20478F6933319
+S214F814F8F204987B0CF9A1A9BEC7E58E0497F10803
+S214F8150806049A2193F6FA0C8A36CF8FFCC7E306B8
+S214F815180497F1080604DA09190C04DA04F9A14A5A
+S214F81528038E36FC580604998B0CC88B4D0F00C3EF
+S214F81538E60CCA0C97F3080604190C048E36FC0356
+S214F815488E36FCDEEC548F2C31F839F8E982F9201F
+S214F8155888B10E040000C3E3E893F3E8F80993F1BA
+S214F81568F8F89A4778F89331F804DA3BB2F1F86D58
+S214F8157869F800B2D1F47FB2F1F08269F80035FC68
+S214F815880A0033FE93FBFCCA93F3F0D093F3F4D433
+S214F8159893F3F8D8D3DACAA08139FECD9044F85335
+S214F815A8CD0000F8034A03F9A14A03E990DA04CE15
+S214F815B89F0078E8099131E89A04CE940093F3E806
+S214F815C8EC0993F1ECEC9A3BB2F1F08A69F800B2C0
+S214F815D8D1F46FB2F1F88269F80035FC0A0033FEE8
+S214F815E893FBFCAC93F3F8B293F3F4B693F3F0BA30
+S214F815F8D3DAACA08139FECD9044F853CD0000F884
+S214F81608034A034193F3ECF84993F3F8EC0978F8AE
+S214F816189333EC0499B3F8C3E3F893F3F8F093F339
+S214F81628E8F478F479F0934304040993F3F4F0783B
+S214F81638F4099333F00478F49333F00497F1F80642
+S214F81648049A0D4197F3E80604190C048E34FC0343
+S214F816588E34FCDEEC048F0858020493CB0EFC5844
+S214F816680204D2360D580204F3200ED1EE580204BE
+S214F81678918308ACA00139FC5802049183089201BA
+S214F81688165301D3DAFE39FE4D4000D9BAE9909AD6
+S214F8169803D3EE580204998B0E9ABE580204D23E2B
+S208F816A80D8E10FC9A
+S214F816ACEC2E8F68A6C10204CDA212F85358020489
+S214F816BC93330810E3D010EB3C0993F30C08B3F310
+S214F816CC0204F8B2F1F4D417F80093FB10FC93F379
+S214F816DC0CF0F9E078F09333F40278F09333F806DC
+S214F816EC39FCF920B9B29804A881A2C1F0CD92249D
+S214F816FCF873BB46E3DF10DA3BB2F1F0C069F800DA
+S214F8170CB2D1F43FB2F1F8B969F80035FC0A0033F7
+S214F8171CFE93FBFCD293F3F8D893F3F4DC93F3F044
+S214F8172CE0D3DAD2A08139FECD9044F853CD000040
+S214F8173CF8034A0309B2D108008E16FCEC328F284F
+S214F8174C780841918310DA1078084193C310ECA20C
+S214F8175CC1ECCDCE24F853780809F3201093F3088F
+S214F8176CEC78EC933E0C02009A3BB2F1F09F69F8D9
+S214F8177C00B2D1F450B2F1F8B969F80035FC0A00A9
+S214F8178C33FE93FBFCCE93F3F8D493F3F4D893F39D
+S214F8179CF0DCD3DACEA08139FECD9044F853CD00E8
+S214F817AC00F8034A0378EC933E0C04009A0BA2C19B
+S214F817BCECCD2A12F853BB0E78EC833F0C00FF8363
+S214F817CC2F0C0400038E14FCEC328F2C7808933E06
+S214F817DC0C1000DA1593F308EC78EC499333EC0418
+S214F817EC78EC0979EC93430404780809932F10CE17
+S214F817FCFF93F308EC78EC933E0C02009A3BB2F1AC
+S214F8180CF09F69F800B2D1F450B2F1F8B969F80063
+S214F8181C35FC0A0033FE93FBFCCE93F3F8D493F323
+S214F8182CF4D893F3F0DCD3DACEA08139FECD90441D
+S214F8183CF853CD0000F8034A0378EC933E0C0400FA
+S214F8184C9A0BA2C1ECCD2A12F853BB0E78EC833F58
+S214F8185C0C00FF832F0C040003E99097DF0A0401B1
+S214F8186C008E34FCEC328F28780809F3201093F3AA
+S214F8187C08EC78EC933E0C02009A3BB2F1F09F69B8
+S214F8188CF800B2D1F450B2F1F8B969F80035FC0AA0
+S214F8189C0033FE93FBFCCE93F3F8D493F3F4D8937F
+S214F818ACF3F0DCD3DACEA08139FECD9044F853CDE4
+S214F818BC0000F8034A0378EC933E0C04009A0BA24B
+S214F818CCC1ECCD2A12F853BB0E78EC833F0C00FF14
+S214F818DC832F0C040003E99097DF0A0401008E149A
+S214F818ECFCDEEC048F2C780841918310DA1078081B
+S214F818FC4193C310FCA2C1FCCDCE24F853780893C0
+S214F8190C3E0C1000DA1593F308FC78FC499333FC7C
+S214F8191C0478FC0979FC934304048E34FCDEEC3230
+S214F8192C8F28A2C108CFBCFF53780809932F10CF85
+S214F8193CFF93F308EC78EC933E0C02009A3BB2F16A
+S214F8194CF09F69F800B2D1F450B2F1F8B969F80022
+S214F8195C35FC0A0033FE93FBFCCE93F3F8D493F3E2
+S214F8196CF4D893F3F0DCD3DACEA08139FECD9044DC
+S214F8197CF853CD0000F8034A0378EC933E0C0400B9
+S214F8198C9A0BA2C1ECCD2A12F853BB0E78EC833F17
+S214F8199C0C00FF832F0C0400038E14FCEC128F2C17
+S214F819AC580204833F0C00FF832F0C320093F30C81
+S214F819BCEEA6C10204CDA212F8535802049333EEE5
+S214F819CC1009B2D1EE0093F308EE78EE41998B0835
+S214F819DCD880DA5B93F3EEF2B3F30204F678F69962
+S214F819EC8B0CC88B4D0F0031FE4193F3F2FA93F142
+S214F819FCF2FADA1778FA998B0CC88B4D0F00C3E607
+S214F81A0CFE8A084193F3FAFABBE593F3F6F293F3EE
+S214F81A1CFAF678F679F2934304040993F3F6F27827
+S214F81A2CF6099333F20478F69333F204BB24B3F343
+S214F81A3C0204F693F3EEF278F279F693430404097B
+S214F81A4C93F3F2F678F2099333F60478F29333F6C6
+S214F81A5C04780C933308048E34FCEC128F0C580272
+S214F81A6C04833F0C00FF832F0C3200C3CE14A2C1A4
+S214F81A7C10A2C10CCF2BFCB6030A93F308EE78EE43
+S214F81A8C41998B08D880DA5B93F3EEF2B3F3020441
+S214F81A9CF678F6998B0CC88B4D0F0031FE4193F304
+S214F81AACF2FA93F1F2FADA1778FA998B0CC88B4D9E
+S214F81ABC0F00C3E6FE8A084193F3FAFABBE593F3F4
+S214F81ACCF6F293F3FAF678F679F29343040409935C
+S214F81ADCF3F6F278F6099333F20478F69333F204C5
+S214F81AECBB24B3F30204F693F3EEF278F279F6939A
+S214F81AFC4304040993F3F2F678F2099333F6047870
+S214F81B0CF29333F604780C933308048E30FCEC0E10
+S214F81B1C8F0C780841998B08D880DA6C93F30CF212
+S214F81B2C78F2499333F20478F20979F29343040481
+S214F81B3C93F308F693F30CF278F2998B0CC88B4D5A
+S214F81B4C0F0031FE4193F3F6FA93F1F6FADA1778BA
+S214F81B5CFA998B0CC88B4D0F00C3E6FE8A08419396
+S214F81B6CF3FAFABBE593F3F2F693F3FAF278F27922
+S214F81B7CF6934304040993F3F2F678F2099333F6E2
+S20EF81B8C0478F29333F6048E30FC6A
+S214F81B96EC088F2C31F8E6D0B9158B04F9A14A0370
+S214F81BA6E9909A1001D3DAFE39FE4D4000D9BAE923
+S214F81BB690DA0735FCE7FFBB7DE3D1F8FA09B3E61A
+S214F81BC6C664F8F8EB0B39F8DA0735FCEEFFBB66B1
+S214F81BD639089A0735FCEFFFBB5C39F89A07B9B3AC
+S214F81BE60204BB0F39F8E9BF898F1C0088B19C0838
+S214F81BF60000C3E3F8D3EE78F8998B0C0DFF00DAFD
+S214F81C060B78F89183089183169A0735FCD7FFBBAD
+S214F81C162378F879F8998B0E99B508C36B0EB3F155
+S214F81C260204F89A0D580204D2060DDA05CD5C16AB
+S214F81C36F833FCD1EE39FC8E34FCEC088F0C31F810
+S214F81C46E6D0B9158B04F9A14A03E990DA1001D360
+S214F81C56DAFE39FE4D4000D9BAE990DA0735FCE7E0
+S214F81C66FFBB72E3D1F8FA09B3E6C664F8F8EB07F1
+S214F81C7635FCEEFFBB5F39089A0735FCEFFFBB5518
+S214F81C8691BBF8E1BF818F1C0080B19C08000083E9
+S214F81C96E3F8D3EE78F8998B0C0DFF00DA0B78F8A4
+S214F81CA69183089183169A0735FCD7FFBB2578F8F3
+S214F81CB679F8998B0E99B508C36B0EB3F10204F84A
+S214F81CC69A0F580204998B0CD80697DF0A04010077
+S214F81CD633FCD1EE39FC8E30FCDEEC048F08E6D009
+S214F81CE6B9158B04F9A14A03E9909A1001D3DAFEDE
+S214F81CF639FE4D4000D9BAE990DA0735FCE7FFBB5E
+S214F81D061DD3EE5802049183089183169A0635FC7D
+S214F81D16D7FF7B580204D2360D33FCD1EE39FC8E4B
+S214F81D2610FCEC048F08E6D0B9158B04F9A14A0323
+S214F81D36E9909A1001D3DAFE39FE4D4000D9BAE991
+S214F81D4690DA0735FCE7FFBB2AD3EE5802049183F0
+S214F81D56089183169A0735FCD7FFBB15580204D2A6
+S214F81D663E0D580204998B0EDA05CD5C16F833FC50
+S214F81D76D1EE39FC8E10FCDEEC028F08580204DA37
+S214F81D860B580204D2060DDA03034BF9A131FE39D5
+S208F81D96FE8E10FCB4
+S214F81D9AEC0C8F28E6D0B9158B04F9A14A03E9901A
+S214F81DAA9A1501D3DAFE39FE4D4000D9BAE9909A67
+S214F81DBA06190C049A0735FCE7FFBB47D3EE580218
+S214F81DCA04D2050DDA0B580204D2350D33FCBB31B2
+S214F81DDA580204833F0C00FF832F0C0A00D3D8F46A
+S214F81DEAC3E3F8A6C10204CDA212F8535802049324
+S214F81DFA33F81009B2D1F800CD3006F893FBF4FCA4
+S214F81E0AD1EE39FC8E14FCDEEC148F0831FAE6D0E3
+S214F81E1AB9158B04F9A14A03E9909A1501D3DAFEA3
+S214F81E2A39FE4D4000D9BAE9909A06190C049A0771
+S214F81E3A35FCE7FFBB55E3DFFABA0735FCEFFFBB1D
+S214F81E4A4AD3EE580204D2050DDA0B580204D235F4
+S214F81E5A0D33FCBB3439FA9A0735FCCEFFBB2A5841
+S214F81E6A0204833F0C00FF832F0C0A00C3CEFAD372
+S214F81E7ADAECA081D3DAF6A081CDAC16F8B6030A66
+S214F81E8ACD3006F893FBF6FCD1EE39FC8E10FCDE64
+S214F81E9AEC0A8F2831F6E6D0B9158B04F9A14A036D
+S214F81EAAE9909A1001D3DAFC39FC4D4000D9BAE920
+S214F81EBA90DA0735FAE7FFBB75E3D1F6FA09B3E61F
+S214F81ECAC664F8F6EB0B39F6DA0735FAEEFFBB5EB8
+S214F81EDA39F69A07B9B30204BB0F39F6E9BF898F00
+S214F81EEA1C0088B19C080000C3E3F6D3EE78F6998E
+S214F81EFA8B0C4DFF0031FE9A0735FAD7FFBB2DD269
+S214F81F0AC3FEDA15A2C1F6CD4817F853E990DA05F2
+S214F81F1ACD3006F833FABB1478F6D2050D9A097856
+S214F81F2AF6D23D0D33FA5B35FAD5FFD1EE39FA8E8D
+S214F81F3A14FCEC0A8F0831F6E6D0B9158B04F9A129
+S214F81F4A4A03E990DA1001D3DAFC39FC4D4000D995
+S214F81F5ABAE990DA0735FAE7FFBB68E3D1F6FA0981
+S214F81F6AB3E6C664F8F6EB0735FAEEFFBB5591BB4F
+S214F81F7AF6E1BF818F1C0080B19C08000083E3F667
+S214F81F8AD3EE78F6998B0C4DFF0031FE9A0735FAA0
+S214F81F9AD7FFBB2DD2C3FEDA15A2C1F6CD4817F87D
+S214F81FAA53E99097DF0A04010033FABB1478F6D29D
+S214F81FBA050D9A0978F6D23D0D33FA5B35FAD5FF50
+S214F81FCAD1EE39FA8E10FCDEEC088F2831F8E6D016
+S214F81FDAB9158B04F9A14A03E9909A1001D3DAFEE7
+S214F81FEA39FE4D4000D9BAE990DA0735FCE7FFBB67
+S214F81FFA55E3D1F8FA09B3E6C664F8F8EB0B39F8FC
+S214F8200ADA0735FCEEFFBB3E39F89A07B9B302048D
+S214F8201ABB0F39F8E9BF898F1C0088B19C08000005
+S214F8202AC3E3F8D3EE78F8998B0C0DFF009A0735C8
+S214F8203AFCD7FFBB0F78F8D2050DD9B831FC78F87B
+S214F8204AD2350DD1EE39FC8E14FCEC088F0831F82F
+S214F8205AE6D0B9158B04F9A14A03E9909A1001D388
+S214F8206ADAFE39FE4D4000D9BAE990DA0735FCE7C8
+S214F8207AFFBB4BE3D1F8FA09B3E6C664F8F8EB0700
+S214F8208A35FCEEFFBB3891BBF8E1BF818F1C0080A8
+S214F8209AB19C08000083E3F8D3EE78F8933E0C0276
+S214F820AA009A0735FCD7FFBB13A2C1F8CD2A19F850
+S214F820BA53E990DA05CD3006F833FCD1EE39FC8EC2
+S214F820CA10FCEC088F0831F8E6D0B9158B04F9A19C
+S214F820DA4A03E990DA1001D3DAFE39FE4D4000D900
+S214F820EABAE990DA0735FCE7FFBB4BE3D1F8FA0909
+S214F820FAB3E6C664F8F8EB0735FCEEFFBB3891BBD7
+S214F8210AF8E1BF818F1C0080B19C08000083E3F8D1
+S214F8211AD3EE78F8933E0C02009A0735FCD7FFBB45
+S214F8212A13A2C1F8CD2A19F853E99097DF0A0401E1
+S214F8213A0033FCD1EE39FC8E10FCEC0A8F2C31F603
+S214F8214AE6D0B9158B04F9A14A03E9909A1001D397
+S214F8215ADAFC39FC4D4000D9BAE990DA0835FAE7DC
+S214F8216AFFCE9B00E3D1F6FA09B3E6C664F8F6EBB7
+S214F8217A0C39F6DA0835FAEEFFCE830039F69A07FE
+S214F8218AB9B30204BB0F39F6E9BF898F1C0088B1C8
+S214F8219A9C080000C3E3F6D3EEB3F10204F69A0CF1
+S214F821AA190C049A0735FAE7FFBB5178F6998B0C9F
+S214F821BA4DFF0031FE9A0735FAD7FFBB3FD2C0FE6D
+S214F821CADA2178F6833F0C00FF832F0C0400A2C1AD
+S214F821DAF6CDA212F853E990DA05CD3006F833FAB6
+S214F821EABB1AD2C2FEDA0735FAD5FFBB0F78F679EC
+S214F821FAF6998B0CD8BAC36B0C33FAD1EE39FA8E39
+S214F8220A34FCEC0A8F0C31F6E6D0B9158B04F9A132
+S214F8221A4A03E9909A1001D3DAFC39FC4D4000D902
+S214F8222ABAE990DA0735FAE7FFBB65E3D1F6FA09B1
+S214F8223AB3E6C664F8F6EB0735FAEEFFBB5291BB7F
+S214F8224AF6E1BF818F1C0080B19C08000083E3F694
+S214F8225AD3EE78F6998B0C4DFF0031FED8829A07A2
+S214F8226A35FAD7FFBB28D2C1FE9A15A2C1F6CD2AEF
+S214F8227A12F853E990DA05CD3006F833FABB0F7838
+S214F8228AF679F6998B0CD8B2C36B0C33FAD1EE39C9
+S214F8229AFA8E30FCEC0231FE39FECF67FF31FE3992
+S214F822AAFEFCEC208F6C31EEE6D0B9158B04F9A15A
+S214F822BA4A03E9909A1501D3DAFC39FC4D4000D95D
+S214F822CABAE9909A06190C049A0735FAE7FFBB6832
+S214F822DAD3EE580204833F0C00FF832F0C0200A6A5
+S214F822EAC10204CDA212F853D3DAEA590204836378
+S214F822FA10D3DAE083E3EAB3F30204F6B2F1F27043
+S214F8230A18F80093FBEEFED3D8E0C3E3EEF9E078CC
+S214F8231AEE9333F20278EE9333F60639FEF920B9DD
+S214F8232AB29804A881A2C1EECD9224F873CD3006ED
+S210F8233AF893FBEAFAD1EE39FA8E36FC7E
+S214F823468F20B6D1900400B6D1940400B9B394049D
+S214F82356F8B1C7E39804139C048E04DFEC048F7C6C
+S214F8236631FCE3D1FC8B6C39FCE98831FE99B3086D
+S214F82376B9B094047FFEE9FFF960C1B380A103A95A
+S214F82386C36C08B9F09404C9E18B4839FCE9BFF97F
+S214F823962088A10388B16C0800007FFEE9FFF96083
+S214F823A6C1B380A10380B16C080000C1E3F964E903
+S214F823B650DA09814BACADB94E9AF939FCE9BFF952
+S214F823C620C1A380A10309953BFC700893FBFEFC8D
+S214F823D6BB9139FC8E3EFCDEEC048F7C31FC39FC76
+S214F823E6E98031FE519C048B04CE9C0039FEE9B197
+S214F823F6519C04CB2C39FEE9BFF920C1A380A10372
+S214F82406A9836C08B9B094047FFEF960C1B380A1BD
+S214F8241603A9C36C08B9F09404C9E1CA04E3F1FE4B
+S214F8242639FEE9BFF920C1A380A103A9836C08B9D0
+S214F82436B0940499F308B9F09404C9E18B4939FCC9
+S214F82446E9BFF92088A10388B16C0800007FFEE989
+S214F82456FFF960C1B380A10380B16C080000C1E340
+S214F82466F964E950DA09814BACADB94E9AF939FCFC
+S214F82476E9BFF920C1A380A10309953BFC70089330
+S214F82486FBFEFCCE5AFF39FC8E3EFCDEEC028F28AD
+S214F82496A2C10CE7F19C04199C04CFC1FE5331FE89
+S214F824A639FEE9BFF920C1A380A10395330C6C0861
+S214F824B639FEE9BFF920C1A380A103953308700851
+S214F824C60993FBFE088E14FCEC088F7C4193FB08F8
+S214F824D6FC199C04E9BFF920C1A380A103A3C36C29
+S214F824E608F8E7FF9C049A048E3EFCE3D1FC8B7151
+S214F824F639FCE98831FEE9BFF920C1A380A103A912
+S214F82506836C08B9B0940499F3F8B9F09404C9E161
+S214F82516CA4F39FCE9BFF92088A10388B16C0800D0
+S214F82526007FFEE9FFF960C1B380A10380B16C08AD
+S214F825360000C1E3F964E950DA09814BACADB94E4F
+S214F825469AF939FCE9BFF920C1A380A10309953B9E
+S214F82556FC7008A2C1F839FECF03FE5331FCBB0C5B
+S214F82566A2C1F839FCCF72FE5331FC39FCE9BFF943
+S214F825762088A10388B16C0800005F9C04F960C146
+S214F82586B380A10380B16C080000C1E3F964E95092
+S214F82596DA09814BACADB94E9AF939FCE9BFF920A0
+S214F825A6C1A380A10309953BFC70088E3EFCEC0E91
+S214F825B68F7CE6D0B9158B04F9A14A03E990DA10B0
+S214F825C601D3DAFC39FC4D4000D9BAE990DA083579
+S214F825D6FAE7FFCEAF00D3EEE7D09C04CB04CE9056
+S214F825E600B9B39804B9B09404B9F36C08B9F09482
+S214F825F604C9E1CB7BB3F37008F2199C04E9BFF97A
+S214F8260620C1A380A103A3C36C08F6E7FF9C04DAEF
+S214F826164CA2C1F6F9A1CFC1FD5331FE39FEE9BF8A
+S214F82626F92088A10388B16C0800005F9C04F9605D
+S214F82636C1B380A10380B16C080000C1E3F964E970
+S214F8264650DA09814BACADB94E9AF939FEE9BFF9BD
+S214F8265620C1A380A10309953BFE700878F2F0B670
+S214F82666A00178F292010253D1EED3EECE6BFFB705
+S214F82676F398049404B9B39404F8B1C7E39804330A
+S20CF82686FAD1EE39FA8E3EFC9B
+S214F8268EEC068F78B2F1FA9415000033FEB3E686B0
+S214F8269E65F8FECA4639FEF920996F0E00C97E888F
+S214F826AEB18865F80009C3E3FA78FA41898BD881C0
+S214F826BEDA1B78FAF321044199B3FAC1A3998B0C75
+S214F826CEF920A881A2C1FACF1600736A78FAF32019
+S214F826DE0482D1FA14E3F1FEBBB48E1EFCDEEC10C7
+S214F826EE8F2893F308FCB2F1F82E28F80093F30C23
+S214F826FEF499B30888910AC3E3F078F09333F802A6
+S214F8270E78F09333FC06A2C1F4A2C1F0CD9224F869
+S214F8271E73780893330C068E14FCEC0C8F2831F86D
+S214F8272EE6D0B9158B04F9A14A03E9909A1001D3AD
+S214F8273EDAFE39FE4D4000D9BAE990DA0735FCE7ED
+S214F8274EFFBB62E3D1F8FA09B3E68665F8F8EB074D
+S214F8275E35FCEEFFBB4F91BBF8E1BF818F140080BE
+S214F8276EB19415000083E3F4D3EE78F4998B04DA7B
+S214F8277E1399B3F488910AC3E3F8A2C1F8CDCE2420
+S214F8278EF8536A78F4F321044199B3F4C1A3998BFC
+S214F8279E0AF920B9B29804A881A2C1F4CF41FF7302
+S214F827AE33FCD1EE39FC8E14FCDEEC0C8F2831F8A7
+S214F827BEE6D0B9158B04F9A14A03E9909A1001D31D
+S214F827CEDAFE39FE4D4000D9BAE990DA0735FCE75D
+S214F827DEFFBB49E3D1F8FA09B3E68665F8F8EB07D6
+S214F827EE35FCEEFFBB3691BBF8E1BF818F14008047
+S214F827FEB19415000083E3F4D3EE78F4998B04DAEB
+S214F8280E1778F4F3200499B3F488910AC3E3F8A280
+S214F8281EC1F8CDCE24F85333FCD1EE39FC8E14FC29
+S214F8282EEC008F784199B308C1A3998B0AF92099D1
+S214F8283EF308C1B3998206A881A2C108CFA1FE7388
+S214F8284ED1EE097808ACA00109780892010653D3A0
+S208F8285EEE8E1EFCE3
+S214F82862EC0E8F28B2F1F25215000033FEB3E6688A
+S214F8287265F8FECA5093F3F2F699B3F609C3E3F68F
+S214F8288278F6C3230439FEF92088A10388B16A656D
+S214F82892F80078F2C3230899B3F288910CC3E3FAE6
+S214F828A299B3FA09C3E3FA78FAC3230478F2F32061
+S214F828B21478F2F3201678F2F3201882D1F21AE39B
+S214F828C2F1FEBBAA8E14FCDEEC008F2C78089183FE
+S214F828D208790893460214CA477808998B18F9209B
+S214F828E288A1027808918308C1E391C20491730C17
+S214F828F278087908998B14E9B1C36B1478087908C3
+S214F82902998B18E9B1C36B187808918308790893FC
+S214F829124602188A067808F32018F9A18E34FC03C2
+S214F829228E34FCDEEC008F2C7808998B18F9208808
+S214F82932A1027808918308C1E391C20491730C78D6
+S214F82942087908998B18E9B1C36B18780891830847
+S214F829527908934602188A067808F32018780891B8
+S214F829628308790893460214CA0E78087908998B70
+S214F8297214E9B1C36B147B78087908934B18168E52
+S214F8298234FCEC008F2C7808E310148B48780899FE
+S214F829928B16F92088A1027808918308C1E391C2C0
+S214F829A2040983D30C78087908998B14E9BFC36BAA
+S214F829B21478087908998B16E9B1C36B16780891DA
+S214F829C283087908934602168A067808F32016F9D9
+S214F829D2A18E34FC038E34FCEC508F0899B3088829
+S214F829E2910CC3E3F80993F1F8F89A4778F893311B
+S214F829F2F804DA3BB2F1F8606BF800B2D1F47FB2C1
+S214F82A02F1F0756BF80035FC0A0033FE93FBFCCE4A
+S214F82A1293F3F0D493F3F4D893F3F8DCD3DACEA0A6
+S214F82A228139FECD9044F853CD0000F8034A03F9F5
+S214F82A32A14A03E9909A7299B30888910CC3E3EC19
+S214F82A420993F1ECEC9A3BB2F1F07D6BF800B2D157
+S214F82A52F46FB2F1F8756BF80035FC0A0033FE93A2
+S214F82A62FBFCB093F3F8B693F3F4BA93F3F0BED351
+S214F82A72DAB0A08139FECD9044F853CD0000F803C1
+S214F82A824A034193F3ECF84993F3F8EC0978F89390
+S214F82A9233EC0499B3F8C3E3F878F89183109333D8
+S214F82AA20C0899B3F88E10FCB891008E10FCEC5016
+S214F82AB28F0893F308F80993F1F8F89A4778F89399
+S214F82AC231F804DA3BB2F1F8606BF800B2D1F47F71
+S214F82AD2B2F1F0756BF80035FC0A0033FE93FBFC96
+S214F82AE2CE93F3F0D493F3F4D893F3F8DCD3DACEA8
+S214F82AF2A08139FECD9044F853CD0000F8034A037E
+S214F82B02F9A14A03E9909A6E93F308EC0993F1EC6B
+S214F82B12EC9A3BB2F1F07D6BF800B2D1F46FB2F1F9
+S214F82B22F8756BF80035FC0A0033FE93FBFCB0939D
+S214F82B32F3F8B693F3F4BA93F3F0BED3DAB0A0810F
+S214F82B4239FECD9044F853CD0000F8034A0341937A
+S214F82B52F3ECF84993F3F8EC0978F89333EC049924
+S214F82B62B3F8C3E3F878F89183100993C3080C997D
+S214F82B72B3F88E10FCB891008E10FCDEEC188F2895
+S214F82B8231F8E6D0B9158B04F9A14A03E9909A15FB
+S214F82B9201D3DAFE39FE4D4000D9BAE9909A061901
+S214F82BA20C049A0735FCE7FFBB78E3D1F8FA09B3C9
+S214F82BB2E66865F8F8EB0735FCEEFFBB6591BBF8FF
+S214F82BC2E1BF818F1A0080B15215000083E3F4D377
+S214F82BD2EEA2C108A2C1F4CF00FE73C3E3F8DA1579
+S214F82BE2A2C1F8CD4817F853E990DA05CD3006F8C1
+S214F82BF233FCBB2CA2C108A2C1F4CFCDFC73E9907A
+S214F82C02DA0533FCBB1A93F308F0D3DAE8A081A20C
+S214F82C12C1F4CDA819F873CD3006F893FBE8FCD1C9
+S214F82C22EE39FC8E14FCEC0C8F2831F8E6D0B91588
+S214F82C328B04F9A14A03E9909A1001D3DAFE39FE19
+S214F82C424D4000D9BAE990DA0735FCE7FFBB60E3F6
+S214F82C52D1F8FA09B3E66865F8F8EB0735FCEEFF43
+S214F82C62BB4D91BBF8E1BF818F1A0080B1521500B7
+S214F82C720083E3F4D3EEA2C108A2C1F4CF5BFD73DE
+S214F82C82C3E3F8DA15A2C1F8CD4817F853E990DA93
+S214F82C9205CD3006F833FCBB14A2C108A2C1F4CFA6
+S214F82CA228FC73E99093FFFCCEFF0000D1EE39FCC6
+S214F82CB28E14FCDEEC0C8F2831F8E6D0B9158B04AE
+S214F82CC2F9A14A03E990DA1001D3DAFE39FE4D404B
+S214F82CD200D9BAE990DA0735FCE7FFBB60E3D1F82A
+S214F82CE2FA09B3E66865F8F8EB0735FCEEFFBB4D74
+S214F82CF291BBF8E1BF818F1A0080B15215000083AC
+S214F82D02E3F4D3EEA2C108A2C1F4CFCDFC73C3E3B9
+S214F82D12F8DA15A2C1F8CD4817F853E99097DF0A02
+S214F82D2204010033FCBB14A2C108A2C1F4CF9AFB7B
+S214F82D3273E99093FFFCCEFF0000D1EE39FC8E14B7
+S214F82D42FCDEEC228F2831F8E6D0B9158B04F9A10F
+S214F82D524A03E9909A1501D3DAFE39FE4D4000D9B6
+S214F82D62BAE9909A06190C049A0835FCE7FFCE9948
+S214F82D7200E3D1F8FA09B3E66865F8F8EB0835FC2B
+S214F82D82EEFFCE8500E3DF0CBA0735FCEFFFBB7922
+S214F82D9291BBF8E1BF818F1A0080B152150000830B
+S214F82DA2E3F4D3EEA2C108A2C1F4CF2DFC73C3E3B9
+S214F82DB2F8DA15A2C1F8CD4817F853E990DA05CD36
+S214F82DC23006F833FCBB40A2C108A2C1F4CFFAFA27
+S214F82DD273E990DA0533FCBB2E390C9A0735FCCE2C
+S214F82DE2FFBB2493F308E6C3CE0CD3DAEAA081D36A
+S214F82DF2DADEA081A2C1F4CD661AF8B6030ECD309B
+S214F82E0206F893FBDEFCD1EE39FC8E14FCDEEC0CF5
+S214F82E128F2831F8E6D0B9158B04F9A14A03E99060
+S214F82E229A1001D3DAFE39FE4D4000D9BAE990DAA3
+S214F82E320735FCE7FFBB67E3D1F8FA09B3E668653E
+S214F82E42F8F8EB0735FCEEFFBB5491BBF8E1BF810F
+S214F82E528F1A0080B15215000083E3F478F4918358
+S214F82E6208E31002CB0735FCE4FFBB32D3EEA2C16F
+S214F82E7208A2C1F4CF63FB73C3E3F8DA13A2C1F86E
+S214F82E82CD4817F853E990DA11CD3006F8BB0BA205
+S214F82E92C108A2C1F4CF8EFA7333FCD1EE39FC8E98
+S214F82EA214FCEC0C8F2831F8E6D0B9158B04F9A18E
+S214F82EB24A03E990DA1001D3DAFE39FE4D4000D91A
+S214F82EC2BAE990DA0735FCE7FFBB67E3D1F8FA0907
+S214F82ED2B3E66865F8F8EB0735FCEEFFBB5491BB32
+S214F82EE2F8E1BF818F1A0080B15215000083E3F42F
+S214F82EF278F4918308E31002CB0735FCE4FFBB3283
+S214F82F02D3EEA2C108A2C1F4CFCFFA73C3E3F8DABC
+S214F82F1213A2C1F8CD4817F853E990DA11F7E10A87
+S214F82F2204BB0BA2C108A2C1F4CFFAF97333FCD1E1
+S214F82F32EE39FC8E14FCEC248F2C31F8E6D0B91559
+S214F82F428B04F9A14A03E9909A1501D3DAFE39FE01
+S214F82F524D4000D9BAE9909A06190C049A0835FC3D
+S214F82F62E7FFCEF000E3D1F8FA09B3E66865F8F8B9
+S214F82F72EB0835FCEEFFCEDC0091BBF8E1BF818FA3
+S214F82F821A0080B15215000083E3E8D3EEA2C10816
+S214F82F92A2C1E8CFEEF973E990DA31D3DAECA08180
+S214F82FA2A2C1E8CF0AFB73C3E3F0DA1BA2C1ECA214
+S214F82FB2C1E8CF15F973A2C1F0CD4817F853E990D6
+S214F82FC2DA05CD3006F833FCCE8800A2C108A2C1D5
+S214F82FD2E8CFDCFA73C3E3F0DA15A2C1F0CD4817EE
+S214F82FE2F853E990DA05CD3006F833FCBB6458029C
+S214F82FF204833F0C00FF832F0C1200D3D8DCC3E304
+S214F83002F4A6C10204CDA212F8535802049333F47C
+S214F830121009B2D1F400B3F30204F899B3E8889130
+S214F830220CC3E3F478F479F8934304040993F3F4BD
+S214F83032F878F4099333F80478F49333F80493F3AE
+S214F83042E8E0CD3006F893FBDCFC9A060993F3E445
+S214F8305208D1EE39FC8E34FCEC108F2831F8E6D025
+S214F83062B9158B04F9A14A03E9909A1001D3DAFE4E
+S214F8307239FE4D4000D9BAE990DA0835FCE7FFCEBA
+S214F830828E00E3D1F8FA09B3E66865F8F8EB073587
+S214F83092FCEEFFBB7A91BBF8E1BF818F1A0080B1D4
+S214F830A25215000083E3F0D3EEA2C108A2C1F0CF16
+S214F830B2D2F873E990DA30D3DAF4A081A2C1F0CF6D
+S214F830C2EEF973C3E3F8DA1BA2C1F4A2C1F0CFF9A2
+S214F830D2F773A2C1F8CD4817F853E990DA05CD3060
+S214F830E206F833FCBB27A2C108A2C1F0CFC1F97318
+S214F830F2C3E3F8DA14A2C1F8CD4817F853E990DA20
+S214F8310205CD3006F833FC5B35FCCEFFD1EE39FC44
+S214F831128E14FCDEEC2E8F2C31F8E6D0B9158B0423
+S214F83122F9A14A03E9909A1501D3DAFE39FE4D4021
+S214F8313200D9BAE9909A06190C049A0835FCE7FF02
+S214F83142CEFF00E3D1F8FA09B3E66865F8F8EB08BB
+S214F8315235FCEEFFCEEB00E3DF0CBA0835FCEFFFEA
+S214F83162CEDF0091BBF8E1BF818F1A0080B152150D
+S214F83172000083E3E8D3EEA2C108A2C1E8CF04F8C0
+S214F8318273E990DA31D3DAECA081A2C1E8CF20F95C
+S214F8319273C3E3F0DA1BA2C1ECA2C1E8CF2BF77334
+S214F831A2A2C1F0CD4817F853E990DA05CD3006F803
+S214F831B233FCCE8B00A2C108A2C1E8CFF2F873C3E3
+S214F831C2E3F0DA15A2C1F0CD4817F853E990DA051C
+S214F831D2CD3006F833FCBB67390C9A0735FCCEFFC0
+S214F831E2BB5D580204833F0C00FF832F0C1200C30A
+S214F831F2CE0CD3DADEA081D3DAD2A081CDAC16F823
+S214F83202B6030AB3F30204F899B3E888910CC3E359
+S214F83212F478F479F8934304040993F3F4F878F419
+S214F83222099333F80478F49333F80493F3E8D6CD95
+S214F832323006F893FBD2FC9A060993F3DA08D1EE35
+S209F8324239FC8E34FC97
+S214F83248EC0A8F2CB2F1F64415000033FEB3E662AA
+S214F8325865F8FECA3793F3F6FA99B3FA09C3E3FAA8
+S214F8326878FAC3230439FEF92088A10288B1646580
+S214F83278F80078F6C3230878F691830879F6934B1E
+S214F83288020C82D1F60EE3F1FEBBC38E34FCEC00DA
+S214F832988F08D2C00EDA0D7808998B0C99BD0CD920
+S214F832A8B2BB0D7808998B0C99BD0C710CD9BAE994
+S214F832B890DA1C78080993CB0C10780841998B0893
+S214F832C8D882DA067808F3200CF9A18E10FC038E5B
+S214F832D810FCEC3C8F2C31F6E6D0B9158B04F9A126
+S214F832E84A03E9909A1001D3DAFC39FC4D4000D924
+S214F832F8BAE990DA0835FAE7FFCEE800E3D1F6FA45
+S214F8330809B3E66265F8F6EB0835FAEEFFCED400B0
+S214F8331891BBF6E1BF818F0E0080B144150000839B
+S214F83328E3E2D3EE78E279E2998B0C99B508C36BA9
+S214F833380C93F3E2EE0993F1EEEE9A4778EE9331B2
+S214F83348EE04DA3BB2F1EEB36BF800B2D1F27FB224
+S214F83358F1F6C86BF80035FE0A0033EA93FBFEC4AC
+S214F8336893F3F6CA93F3F2CE93F3EED2D3DAC4A075
+S214F833788139EACD9044F853CD0000F8034A03F9AA
+S214F83388A14A03E9909A584193F3E2E678E693C39C
+S214F8339810EA78EA80910CA08199B3EA88910AC174
+S214F833A8A3C10E99B3EA889108C1A3C10EA2C1E2D7
+S214F833B8CFDDFEB6030CE990DA2593F3E6EE78EE61
+S214F833C8499333EE0478EE0979EE93430404A2C1E0
+S214F833D8E6CD4817F853E990DA05CD3006F833FA0B
+S214F833E8D1EE39FA8E34FCDEEC3C8F2C31F6E6D08A
+S214F833F8B9158B04F9A14A03E990DA1001D3DAFC77
+S214F8340839FC4D4000D9BAE990DA0835FAE7FFCE24
+S214F83418E800E3D1F6FA09B3E66265F8F6EB08359C
+S214F83428FAEEFFCED40091BBF6E1BF818F0E00808E
+S214F83438B14415000083E3E2D3EE78E279E2998B9B
+S214F834480C99B508C36B0C93F3E2EE0993F1EEEE1C
+S214F834589A4778EE9331EE04DA3BB2F1EEB36BF8AE
+S214F8346800B2D1F27FB2F1F6C86BF80035FE0A0062
+S214F8347833EA93FBFEC493F3F6CA93F3F2CE93F3C8
+S214F83488EED2D3DAC4A08139EACD9044F853CD0009
+S214F8349800F8034A03F9A14A03E9909A584193F3C6
+S214F834A8E2E678E693C310EA78EA80910CA0819968
+S214F834B8B3EA88910AC1A3C10E99B3EA889108C1FC
+S214F834C8A3C10EA2C1E2CFC7FDB6030CE990DA2570
+S214F834D893F3E6EE78EE499333EE0478EE0979EE50
+S214F834E893430404A2C1E6CD4817F853E99097DF4A
+S214F834F80A04010033FAD1EE39FA8E34FCDEEC0809
+S214F835088F0C31F8E6D0B9158B04F9A14A03E9907F
+S214F835189A1001D3DAFE39FE4D4000D9BAE990DAA6
+S214F835280735FCE7FFBB39E3D1F8FA09B3E6626575
+S214F83538F8F8EB0735FCEEFFBB2691BBF8E1BF8140
+S214F835488F0E0080B14415000083E3F8D3EE78F8C0
+S214F8355879F8998B0C99BD08C36B0C33FCD1EE3906
+S214F83568FC8E30FCEC448F2831F4E6D0B9158B0481
+S214F83578F9A14A03E9909A1501D3DAFA39FA4D40CF
+S214F8358800D9BAE9909A06190C049A0835F8E7FFAC
+S214F83598CEDE00E3D1F4FA09B3E66265F8F4EB0890
+S214F835A835F8EEFFCECA0039089A0835F8EFFFCE98
+S214F835B8BF003D0AFEFFDA0835F8EFFFCEB20091F5
+S214F835C8BBF4E1BF818F0E0080B14415000083E399
+S214F835D8E8D3EE93F3E8EC0993F1ECEC9A4778EC39
+S214F835E89331EC04DA3BB2F1ECB36BF800B2D1F0F5
+S214F835F87FB2F1F4C86BF80035FC0A0033FE93FB8B
+S214F83608FCBC93F3F4C293F3F0C693F3ECCAD3DA9C
+S214F83618BCA08139FECD9044F853CD0000F8034A93
+S214F8362803F9A14A03E9909A0735F8E4FFBB3FA2E5
+S214F83638C10CC3CE0AC3CE08A2C1E8CF52FCB60363
+S214F836480CE990DA0533F8BB2593FB08E293FB0AF6
+S214F83658E4D3DADAA081A2C1E8CDA819F873CD3098
+S214F8366806F893FBDAF89A060993FBE60CD1EE39D6
+S214F83678F88E14FCEC368F2831F4E6D0B9158B049E
+S214F83688F9A14A03E9909A1001D3DAFA39FA4D40C3
+S214F8369800D9BAE990DA0835F8E7FFCEBB00E3D1E7
+S214F836A8F4FA09B3E66265F8F4EB0835F8EEFFCEF7
+S214F836B8A70039089A0835F8EFFFCE9C003D0AFEB1
+S214F836C8FFDA0835F8EFFFCE8F0091BBF4E1BF813B
+S214F836D88F0E0080B14415000083E3E8D3EE93F329
+S214F836E8E8EC0993F1ECEC9A4778EC9331EC04DAC9
+S214F836F83BB2F1ECB36BF800B2D1F07FB2F1F4C894
+S214F837086BF80035FC0A0033FE93FBFCCA93F3F417
+S214F83718D093F3F0D493F3ECD8D3DACAA08139FE71
+S214F83728CD9044F853CD0000F8034A03F9A14A03AC
+S214F83738E9909A0735F8E4FFBB1CA2C10CC3CE0A79
+S214F83748C3CE08A2C1E8CF47FBB6030CE99093FFAF
+S214F83758F8CEFF0000D1EE39F88E14FCEC4E8F2820
+S214F8376831F4E6D0B9158B04F9A14A03E9909A150D
+S214F8377801D3DAFA39FA4D4000D9BAE9909A061917
+S214F837880C049A0835F8E7FFCEFE00E3D1F4FA09F8
+S214F83798B3E66265F8F4EB0835F8EEFFCEEA0039DA
+S214F837A8089A0835F8EFFFCEDF003D0AFEFFDA087C
+S214F837B835F8EFFFCED200E3DF10BA0835F8EFFF9A
+S214F837C8CEC60091BBF4E1BF818F0E0080B14415D8
+S214F837D8000083E3E8D3EE93F3E8EC0993F1ECEC16
+S214F837E89A4778EC9331EC04DA3BB2F1ECB36BF821
+S214F837F800B2D1F07FB2F1F4C86BF80035FC0A00D5
+S214F8380833FE93FBFCB293F3F4B893F3F0BC93F35C
+S214F83818ECC0D3DAB2A08139FECD9044F853CD0087
+S214F8382800F8034A03F9A14A03E9909A0735F8E439
+S214F83838FFBB53A2C10CC3CE0AC3CE08A2C1E8CFB9
+S214F838484EFAB6030CE990DA0533F8BB3939109A0C
+S214F838580735F8CEFFBB2F93FB08D893FB0ADAC3D5
+S214F83868CE10D3DADEA081D3DAD0A081A2C1E8CD13
+S214F83878661AF8B6030ECD3006F893FBD0F89A0613
+S210F838880993FBDC0CD1EE39F88E14FC2A
+S214F83894EC0A8F28B2F1F66C15000033FEB3E67224
+S214F838A465F8FECA3293F3F6FA99B3FA09C3E3FA5B
+S214F838B478FAC3230439FEF92088A10288B174651E
+S214F838C4F80078F6C3230878F6B2110C0082D1F61D
+S214F838D414E3F1FEBBC88E14FCDEEC588F2C31F4DE
+S214F838E4E6D0B9158B04F9A14A03E9909A1001D3E6
+S214F838F4DAFA39FA4D4000D9BAE990DA0835F8E731
+S214F83904FFCE8101E3D1F4FA09B3E67265F8F4EB75
+S214F839140835F8EEFFCE6D0191BBF4E1BF818F1444
+S214F839240080B16C15000083E3E478E441998B08D1
+S214F83934D881DA1C7808E31104FA0E78E49183083F
+S214F83944790893460204EB0835F8EFFFCE3601D330
+S214F83954EE93F3E4F40993F1F4F49A4778F4933194
+S214F83964F404DA3BB2F1F4066CF800B2D1F07FB2A4
+S214F83974F1EC1B6CF80035FC0A0033FE93FBFCC62E
+S214F8398493F3ECCC93F3F0D093F3F4D4D3DAC6A051
+S214F839948139FECD9044F853CD0000F8034A03F974
+S214F839A4A14A03E9909A7B93F3E4E80993F1E8E8EB
+S214F839B49A3BB2F1EC236CF800B2D1F06FB2F1F4A2
+S214F839C41B6CF80035FC0A0033FE93FBFCA893F353
+S214F839D4F4AE93F3F0B293F3ECB6D3DAA8A0813945
+S214F839E4FECD9044F853CD0000F8034A034193F310
+S214F839F4E8F44993F3F4E80978F49333E80499B3CC
+S214F83A04F4C3E3F478F491831093330808A2C1F46A
+S214F83A14CD4817F853E990DA05CD3006F833F8BBF5
+S214F83A246178E441998B08D881DA3593F308F099EC
+S214F83A34B3E488910CC3E3F44199B3F4C3E3ECDA42
+S214F83A441178F079EC93460404AB0793F3ECF4BBE3
+S214F83A54E80993F3ECF00993F3F0F433F8BB23098D
+S214F83A64B2D1080078E491830CDA0978E409933340
+S214F83A7408106B78E49333080C78E493330810331F
+S214F83A84F8D1EE39F88E34FCEC148F0C31F8E6D015
+S214F83A94B9158B04F9A14A03E9909A1501D3DAFE0D
+S214F83AA439FE4D4000D9BAE9909A06190C049A07DB
+S214F83AB435FCE7FFBB60E3D1F8FA09B3E67265F8BC
+S214F83AC4F8EB0735FCEEFFBB4D91BBF8E1BF818FF1
+S214F83AD4140080B16C15000083E3F8D3EE78F891FF
+S214F83AE4830CDA1478F80993C30C08780879F84143
+S214F83AF483430C33FCBB1DD3DAECA081A2C1F8CD0A
+S214F83B04A819F873CD3006F893FBECFC9A060993DB
+S214F83B14F3F408D1EE39FC8E30FCEC088F0C31F84F
+S214F83B24E6D0B9158B04F9A14A03E9909A1001D3A3
+S214F83B34DAFE39FE4D4000D9BAE990DA0735FCE7E3
+S214F83B44FFBB47E3D1F8FA09B3E67265F8F8EB0772
+S214F83B5435FCEEFFBB3491BBF8E1BF818F140080CF
+S214F83B64B16C15000083E3F8D3EE78F891830CDA99
+S214F83B741378F80993C30C08780879F84183430C4A
+S214F83B8433FC5B35FCCEFFD1EE39FC8E30FCEC1EF4
+S214F83B948F0C31F8E6D0B9158B04F9A14A03E990ED
+S214F83BA49A1501D3DAFE39FE4D4000D9BAE9909A4F
+S214F83BB406190C049A0735FCE7FFBB7FE3D1F8FA3D
+S214F83BC409B3E67265F8F8EB0735FCEEFFBB6CE371
+S214F83BD4DF0CBA0735FCEFFFBB6191BBF8E1BF8198
+S214F83BE48F140080B16C15000083E3F8D3EE78F8F0
+S214F83BF491830CDA1478F80993C30C08780879F8E2
+S214F83C044183430C33FCBB31390C9A0735FCCEFFA1
+S214F83C14BB27C3CE0CD3DAEEA081D3DAE2A081A216
+S214F83C24C1F8CD661AF8B6030ECD3006F893FBE263
+S213F83C34FC9A060993F3EA08D1EE39FC8E30FCB9
+S214F83C44EC0A8F7CB2F1F68015000033FEB3E67802
+S214F83C5465F8FECA4093F3F6FA99B3FA09C3E3FA99
+S214F83C6478FAC3230439FEF920996F0C00C97E88C4
+S214F83C74B17A65F80078F6C3230878F6918308795C
+S214F83C84F69343040C78F6B211100082D1F614E3D6
+S214F83C94F1FEBBBA8E3EFCDEEC048F2C78089183DA
+S214F83CA410DA18780893C310FC7808419333FC109C
+S214F83CB40993F3FC0CF9A18E34FC780891830879FF
+S214F83CC4089341080CCA2178080993C30C0C7808A1
+S214F83CD4918308998B02F9207808790899820CC39D
+S214F83CE4630CF9A18E34FC038E34FCDEEC148F08D6
+S214F83CF431F8E6D0B9158B04F9A14A03E9909A1578
+S214F83D0401D3DAFE39FE4D4000D9BAE9909A06197D
+S214F83D140C049A0735FCE7FFBB58E3D1F8FA09B365
+S214F83D24E67865F8F8EB0735FCEEFFBB4591BBF88B
+S214F83D34E1BF818F140080B18015000083E3F8D3C7
+S214F83D44EEA2C108A2C1F8CF50FF73E990DA0533A2
+S214F83D54FCBB1DD3DAECA081A2C1F8CDA819F87380
+S214F83D64CD3006F893FBECFC9A060993F3F408D1E5
+S214F83D74EE39FC8E10FCEC088F0831F8E6D0B9154D
+S214F83D848B04F9A14A03E9909A1001D3DAFE39FEB6
+S214F83D944D4000D9BAE990DA0735FCE7FFBB3DE3B6
+S214F83DA4D1F8FA09B3E67865F8F8EB0735FCEEFFD0
+S214F83DB4BB2A91BBF8E1BF818F140080B18015004F
+S214F83DC40083E3F8D3EEA2C108A2C1F8CFCBFE7302
+S214F83DD4E99093FFFCCEFF0000D1EE39FC8E10FC80
+S214F83DE4EC1E8F0831F8E6D0B9158B04F9A14A030E
+S214F83DF4E9909A1501D3DAFE39FE4D4000D9BAE9AE
+S214F83E04909A06190C049A0735FCE7FFBB77E3D1BA
+S214F83E14F8FA09B3E67865F8F8EB0735FCEEFFBB75
+S214F83E2464E3DF0CBA0735FCEFFFBB5991BBF8E146
+S214F83E34BF818F140080B18015000083E3F8D3EEB9
+S214F83E44A2C108A2C1F8CF51FE73E990DA0533FC93
+S214F83E54BB31390C9A0735FCCEFFBB27C3CE0CD33F
+S214F83E64DAEEA081D3DAE2A081A2C1F8CD661AF818
+S214F83E74B6030ECD3006F893FBE2FC9A060993F3E4
+S214F83E84EA08D1EE39FC8E10FCDEEC588F7831F463
+S214F83E94E6D0B9158B04F9A14A03E9909A1001D330
+S214F83EA4DAFA39FA4D4000D9BAE990DA0835F8E77B
+S214F83EB4FFCE4C01E3D1F4FA09B3E67865F8F4EBEF
+S214F83EC40835F8EEFFCE380191BBF4E1BF818F14C4
+S214F83ED40080B18015000083E3E478E491830893C6
+S214F83EE4310804CB2C78E491830893C10808CA21D6
+S214F83EF478E491830899B30899800478E491830860
+S214F83F0499CB02F960A8C1CD0C64F853C9A3DA08B2
+S214F83F1435F8EFFFCEE900D3EE93F3E4F40993F122
+S214F83F24F4F49A4778F49331F404DA3BB2F1F4599A
+S214F83F346CF800B2D1F07FB2F1EC6E6CF80035FC98
+S214F83F440A0033FE93FBFCC693F3ECCC93F3F0D061
+S214F83F5493F3F4D4D3DAC6A08139FECD9044F8535B
+S214F83F64CD0000F8034A03F9A14A03E9909A7B9333
+S214F83F74F3E4E80993F1E8E89A3BB2F1EC766CF8E6
+S214F83F8400B2D1F06FB2F1F46E6CF80035FC0A00AA
+S214F83F9433FE93FBFCA893F3F4AE93F3F0B293F3E7
+S214F83FA4ECB6D3DAA8A08139FECD9044F853CD0008
+S214F83FB400F8034A034193F3E8F44993F3F4E80961
+S214F83FC478F49333E80499B3F4C3E3F478F4918378
+S214F83FD41093330808A2C1F4CD4817F853E990DAD9
+S214F83FE405CD3006F833F8BB1493F308F478E409EF
+S214F83FF493C310F478E49333F41033F8D1EE39F825
+S207F840048E1EFC14
+S214F84008EC0A8F7CB2F1F62815000033FEB3E654B6
+S214F8401865F8FECA3893F3F6FA99B3FA09C3E3FAD9
+S214F8402878FAC3230439FEF920F966C97E88B156AA
+S214F8403865F80078F6C3230878F691830879F69336
+S214F840484B020C82D1F60EE3F1FEBBC28E3EFCDEC6
+S214F84058EC588F2C31F4E6D0B9158B04F9A14A033D
+S214F84068E9909A1001D3DAFA39FA4D4000D9BAE944
+S214F8407890DA0835F8E7FFCE1301E3D1F4FA09B376
+S214F84088E65465F8F4EB0835F8EEFFCEFF0091BB7A
+S214F84098F4E1BF818F0E0080B12815000083E3E4B1
+S214F840A8D3EE93F3E4F40993F1F4F49A4778F49397
+S214F840B831F404DA3BB2F1F4AC6CF800B2D1F07F24
+S214F840C8B2F1ECC16CF80035FC0A0033FE93FBFC41
+S214F840D8C693F3ECCC93F3F0D093F3F4D4D3DAC6D0
+S214F840E8A08139FECD9044F853CD0000F8034A0372
+S214F840F8F9A14A03E9909A7293F3E4E80993F1E888
+S214F84108E89A3BB2F1ECC96CF800B2D1F06FB2F1AC
+S214F84118F4C16CF80035FC0A0033FE93FBFCA89350
+S214F84128F3F4AE93F3F0B293F3ECB6D3DAA8A0812F
+S214F8413839FECD9044F853CD0000F8034A0341936E
+S214F84148F3E8F44993F3F4E80978F49333E8049930
+S214F84158B3F4C3E3F4A2C1F4CD4817F853E990DAF8
+S214F8416805CD3006F833F8BB2178E491830879E46E
+S214F841789346040CCA1078E479E4998B0CE9B1C331
+S214F841886B0C33F85B35F8D5FFD1EE39F88E34FC7E
+S214F84198EC588F2C31F4E6D0B9158B04F9A14A03FC
+S214F841A8E990DA1001D3DAFA39FA4D4000D9BAE9C3
+S214F841B890DA0835F8E7FFCE1301E3D1F4FA09B335
+S214F841C8E65465F8F4EB0835F8EEFFCEFF0091BB39
+S214F841D8F4E1BF818F0E0080B12815000083E3E470
+S214F841E8D3EE93F3E4F40993F1F4F49A4778F49356
+S214F841F831F404DA3BB2F1F4AC6CF800B2D1F07FE3
+S214F84208B2F1ECC16CF80035FC0A0033FE93FBFCFF
+S214F84218C693F3ECCC93F3F0D093F3F4D4D3DAC68E
+S214F84228A08139FECD9044F853CD0000F8034A0330
+S214F84238F9A14A03E9909A7293F3E4E80993F1E846
+S214F84248E89A3BB2F1ECC96CF800B2D1F06FB2F16B
+S214F84258F4C16CF80035FC0A0033FE93FBFCA8930F
+S214F84268F3F4AE93F3F0B293F3ECB6D3DAA8A081EE
+S214F8427839FECD9044F853CD0000F8034A0341932D
+S214F84288F3E8F44993F3F4E80978F49333E80499EF
+S214F84298B3F4C3E3F4A2C1F4CD4817F853E99097FA
+S214F842A8DF0A04010033F8BB2178E491830879E43F
+S214F842B89346040CCA1078E479E4998B0CE9B1C3F0
+S214F842C86B0C33F85B35F8D5FFD1EE39F88E34FC3D
+S214F842D8EC108F0C31F8E6D0B9158B04F9A14A031F
+S214F842E8E9909A1501D3DAFE39FE4D4000D9BAE9B5
+S214F842F8909A06190C049A0735FCE7FFBB56E3D1E3
+S214F84308F8FA09B3E65465F8F8EB0735FCEEFFBBA0
+S214F843184391BBF8E1BF818F0E0080B128150000E5
+S214F8432883E3F8D3EE78F8E3110C8A1178F879F87D
+S214F84338998B0CE9BFC36B0C33FCBB16D3DAF0A029
+S214F8434881A2C1F8CDA819F873CD3006F893FBF01A
+S214F84358FCD1EE39FC8E30FCEC088F0C31F8E6D040
+S214F84368B9158B04F9A14A03E9909A1001D3DAFE35
+S214F8437839FE4D4000D9BAE990DA0735FCE7FFBBB5
+S214F8438844E3D1F8FA09B3E65465F8F8EB0735FCD0
+S214F84398EEFFBB3191BBF8E1BF818F0E0080B128E4
+S214F843A815000083E3F8D3EE78F8E3110C8A107852
+S214F843B8F879F8998B0CE9BFC36B0C33FC5B35FCC2
+S214F843C8CEFFD1EE39FC8E30FCDEEC1A8F0C31F8C5
+S214F843D8E6D0B9158B04F9A14A03E9909A1501D3E2
+S214F843E8DAFE39FE4D4000D9BAE9909A06190C0457
+S214F843F89A0735FCE7FFBB75E3D1F8FA09B3E65434
+S214F8440865F8F8EB0735FCEEFFBB62E3DF08BA079A
+S214F8441835FCEFFFBB5791BBF8E1BF818F0E0080E4
+S214F84428B12815000083E3F8D3EE78F8E3110C8A80
+S214F844381178F879F8998B0CE9BFC36B0C33FCBB89
+S214F844482A39089A0735FCCEFFBB20C3CE08D3DA3C
+S214F84458E6A081D3DAF0A081A2C1F8CD661AF8B63C
+S214F84468030ECD3006F893FBF0FCD1EE39FC8E300F
+S205F84478FC4A
+S214F8447A135E0803116208116008136408136608C5
+S214F8448A1568083F00DFEC068F7C31FA01D3DAFCB0
+S214F8449A39FC4D4000D9BA31FE9A14E6D0B9158BD4
+S214F844AA04F9A14A03E990DA04D3EE4BD3EEB9B38A
+S214F844BA9004B9B294047808C32302987BFAF9A14F
+S214F844CAA9BEB9BD6608DA49196208899F1E00F9B5
+S214F844DA2088B19E0400007808C1E3996F0F00E9B6
+S214F844EA50DA09814BACADB94E9AF9E7F16208573A
+S214F844FA620820008A04136208575E082000CA0772
+S214F8450AE7F15E08BB0BB7FB62086008E7F16408D8
+S214F8451A987BFAF9A1A9BEB9BD6808DA0FB653624C
+S214F8452A01F800A2C108CD6C54F87339FE9A14E65D
+S214F8453AD0B9158B04F9A14A03E990DA04D1EE4BFF
+S214F8454AD1EE038E3EFCEC068F3C01D3DAFA39FA42
+S214F8455A4D4000D9BA31FC9A14E6D0B9158B04F94D
+S214F8456AA14A03E990DA04D3EE4BD3EEE7D05E0815
+S214F8457A8B3F7908196008899F1E00F920C1A38025
+S214F8458AB19E040000996F0F00E950DA09814BAC26
+S214F8459AADB94E9AF9E7FF5E08E7F1600857600882
+S214F845AA20008A04136008B3FB6408FE1364085BE9
+S214F845BA35FED7FF39FC9A14E6D0B9158B04F9A15B
+S214F845CA4A03E990DA04D1EE4BD1EE39FE8E3CFC7A
+S214F845DAEC0231FE97FBFE660897FB08680803FCB0
+S214F845EAB6536201F800B65300000000B653DE6C04
+S214F845FAF800CD7A52F8B6030CB6536201F800CD35
+S209F8460AD854F853DF58
+S214F84610EC028F0830FEAF0100D3DAFEA081196AEB
+S214F8462008CD204AF8638E10FCDEEC2C8F2839086B
+S214F84630116A08196A08CDF846F8AF0100053F0078
+S214F84640CDDA45F843196A08C99E893FFF00C3E3E7
+S214F84650F6B2F1F23B6DF80035FA0900F3E5FC9393
+S214F84660FBFAD493F3F2DA93F3F6DED3DAD4A08136
+S214F8467039FCCD9044F853B6531046F800CDD854CC
+S214F84680F853050A00CDAC22F831FEB2F1F2216DEE
+S214F84690F80035FA4900B2F1F6176DF80039FE9BC6
+S214F846A019C3CEFEA2C1F2C3CEFAA2C1F603CD6AF2
+S211F846B056F8B6030CCD0000F839FEBBBB7B
+S214F846BEEC068F28CDFC01F8B2F1FABA15000033E5
+S214F846CEFEE3D1FECA2239FEE981F92088B1C2642A
+S214F846DEF80009C3E3FA78FAF3200882F1FA1D0215
+S214F846EE0000E3F1FEBBDB8E14FCEC148F6831F899
+S214F846FECD0E0BF8E990DA0705E7FF8E16FCE3D138
+S214F8470EF8FA06E3D1F8EB0705EEFF8E16FC39F845
+S214F8471EE9BF899F1D02F92088B1BA150000C3E3D8
+S214F8472EECCDEE09F831FCB2F1F4646EF80035FA19
+S214F8473EA100B2F1F05B6EF80039FC9B19C3CEFC03
+S214F8474EA2C1F4C3CEFAA2C1F003CD6A56F8B603E8
+S214F8475E0CCD0000F839FC78EC998B08DA0735FCA6
+S214F8476ED7FFBB5B78EC932F0A11050378ECC32BB7
+S214F8477E0E78ECC32B0C78ECF3201078ECF22012B3
+S214F8478E78ECF320130378ECC32B1778ECC32B15C1
+S214F8479E78ECF3201978ECF3201BA2C1EC39F8CD9F
+S214F847AE7A02F85378ECC32304AF020078ECF0B430
+S214F847BEA001CDB604F86378ECF3210833FCCD46A9
+S214F847CE0AF831FEB2F1F0516EF80035FAC200B2C0
+S214F847DEF1F45B6EF80039FE9B19C3CEFEA2C1F05B
+S214F847EEC3CEFAA2C1F403CD6A56F8B6030CCD00C2
+S214F847FE00F87FFE39FC8E16FCDEEC128F6831F66A
+S214F8480ECD0E0BF8E990DA0705E7FF8E16FCE3D126
+S214F8481EF6FA06E3D1F6EB0705EEFF8E16FC39F63A
+S214F8482EE9BF899F1D02F92088B1BA150000C3E3C7
+S214F8483EEECDEE09F831FCB2F1F6646EF80035FA04
+S214F8484ED700B2F1F25B6EF80039FC9B19C3CEFCBA
+S214F8485EA2C1F6C3CEFAA2C1F203CD6A56F8B603D3
+S214F8486E0CCD0000F839FC78EE998B089A0735FCD3
+S214F8487ED7FFBB1378EEF0B4A001CDC003F853788B
+S214F8488EEEF3200833FCCD460AF831FEB2F1F251BB
+S214F8489E6EF80035FAE300B2F1F65B6EF80039FE04
+S214F848AE9B19C3CEFEA2C1F2C3CEFAA2C1F603CDB1
+S214F848BE6A56F8B6030CCD0000F87FFE39FC8E1655
+S214F848CEFCDEEC0E8F6C760C0A9A537808998B0AE7
+S214F848DED884DA4AAE0DA2C108CFE8FF63E990DABB
+S214F848EE3D097808998B02CDD842F831FCB2F1F62C
+S214F848FE306EF80035FA0301B2F1F25B6EF8003955
+S214F8490EFC9B19C3CEFCA2C1F6C3CEFAA2C1F20323
+S214F8491ECD6A56F8B6030CCD0000F839FCCDEE0984
+S214F8492EF831FAB2F1F2646EF80035FC0701B2F11E
+S214F8493EF65B6EF80039FA9B19C3CEFAA2C1F2C32B
+S214F8494ECEFCA2C1F603CD6A56F8B6030CCD00001F
+S214F8495EF839FA7808998B199A3D7808998B1B9A34
+S214F8496E3692FB0CFE93F308F6C2CEFE78F6F0B44B
+S214F8497EA001CD2C04F863E990DA05F9A1BB10AFC7
+S214F8498E010078F6F0B4A001CDB604F86303E9900A
+S214F8499EDA0533FCBB427808998B17F9207808802D
+S214F849AEB11D010000C1A2903B0C7808998B17E94F
+S214F849BEB17808C32B174700019A067808F3201724
+S214F849CE78087908998B19E9B1C36B197808932E7C
+S214F849DE190001D9BA31FCCD460AF831FEB2F1F219
+S214F849EE516EF80035FA1901B2F1F65B6EF8003929
+S214F849FEFE9B19C3CEFEA2C1F2C3CEFAA2C1F6032F
+S214F84A0ECD6A56F8B6030CCD0000F87FFE39FC8E4C
+S214F84A1E36FCEC148F2831F4CD460BF8E990DA070D
+S214F84A2E05E7FF8E14FCE3D1F4FA06E3D1F4EB07B0
+S214F84A3E05EEFF8E14FC39F4E9BF899F1D02F920A6
+S214F84A4E88B1BA150000C3E3EC78EC998B089A0790
+S214F84A5E05D7FF8E14FCF3E1F833FA93F60CFACA80
+S214F84A6E5939F8DA3D0978EC998B02CDD842F831F7
+S214F84A7EFEB2F1F4306EF80035FC3301B2F1F05BAD
+S214F84A8E6EF80039FE9B19C3CEFEA2C1F4C3CEFC57
+S214F84A9EA2C1F003CD6A56F8B6030CCD0000F8396D
+S214F84AAEFE99B308F2F108C1A3C00EA2C1ECCF135B
+S214F84ABEFE6331F8E3F1FABBA339F89A3D0978ECC0
+S214F84ACE998B02CD5840F831FCB2F1F00F6EF80023
+S214F84ADE35FE3801B2F1F45B6EF80039FC9B19C35B
+S214F84AEECEFCA2C1F0C3CEFEA2C1F403CD6A56F830
+S214F84AFEB6030CCD0000F839FC390C8E14FCEC0E0F
+S214F84B0E8F6CCDEE09F831FCB2F1F6646EF800351E
+S214F84B1EFA4501B2F1F25B6EF80039FC9B19C3CE7A
+S214F84B2EFCA2C1F6C3CEFAA2C1F203CD6A56F8B607
+S214F84B3E030CCD0000F839FC7808998B0CF9207820
+S214F84B4E0880911DC1A20982CB0C7808998B0CE9C6
+S214F84B5EB17808C32B0C4700019A067808F3200C98
+S214F84B6E78087908998B10E9BFC36B107808998B7B
+S214F84B7E10D9BA31FC7808998B13DA457808932E43
+S214F84B8E108000CB3C34FE1193F308F6C2CEFE78B6
+S214F84B9EF6F0B4A001CD2C04F863E990DA05F9A185
+S214F84BAEBB10AF010078F6F0B4A001CDB604F863EA
+S214F84BBE03E9909A077808922F12117808F32013C3
+S214F84BCECD460AF831FEB2F1F2516EF80035FA58C3
+S214F84BDE01B2F1F65B6EF80039FE9B19C3CEFEA253
+S214F84BEEC1F2C3CEFAA2C1F603CD6A56F8B6030CD6
+S214F84BFECD0000F839FE7808998B0AD8809A04CE3C
+S214F84C0E8C00097808998B02CDD842F831FAB2F1B1
+S214F84C1EF2306EF80035FE5E01B2F1F65B6EF80015
+S214F84C2E39FA9B19C3CEFAA2C1F2C3CEFEA2C1F6CA
+S214F84C3E03CD6A56F8B6030CCD0000F87FFA99B392
+S214F84C4E0CC1A3C00EA2C108CF79FC63E9909A3DB9
+S214F84C5E097808998B02CD5840F831FAB2F1F20F6E
+S214F84C6E6EF80035FE6001B2F1F65B6EF80039FAB2
+S214F84C7E9B19C3CEFAA2C1F2C3CEFEA2C1F603CDDD
+S214F84C8E6A56F8B6030CCD0000F839FA39FC8E36AB
+S214F84C9EFCDEEC148F2831F4CD460BF8E990DA07E3
+S214F84CAE05E7FF8E14FCE3D1F4FA06E3D1F4EB072E
+S214F84CBE05EEFF8E14FC39F4E9BF899F1D02F92024
+S214F84CCE88B1BA150000C3E3EC78EC998B089A070E
+S214F84CDE05D7FF8E14FCF3E1F833FA93F60CFACAFE
+S214F84CEE5439F8DA3C78EC41898BCDD842F831FE57
+S214F84CFEB2F1F4EE6DF80035FC7C01B2F1F05B6EB5
+S214F84D0EF80039FE9B19C3CEFEA2C1F4C3CEFCA2A0
+S214F84D1EC1F003CD6A56F8B6030CCD0000F839FE8E
+S214F84D2EA2C108F2F108A2C1ECCFD4FD7331F8E3B4
+S214F84D3EF1FABBA839F89A3C78EC41898BCD5840F5
+S214F84D4EF831FCB2F1F0CD6DF80035FE8101B2F116
+S214F84D5EF45B6EF80039FC9B19C3CEFCA2C1F0C307
+S214F84D6ECEFEA2C1F403CD6A56F8B6030CCD0000FB
+S214F84D7EF839FC390C8E14FCEC048F2831FCCD0E69
+S214F84D8E0BF8E990DA0705E7FF8E14FCE3D1FCFA88
+S214F84D9E06E3D1FCEB0705EEFF8E14FC39FCE9BFF3
+S214F84DAE899F1D02F92088B1BA150000C3E3FC7876
+S214F84DBEFC998B089A0705D7FF8E14FC78FC933B64
+S214F84DCE080A038E14FCEC048F2C31FCCD0E0BF86F
+S214F84DDEE990DA0705E7FF8E34FCE3D1FCFA06E332
+S214F84DEED1FCEB0705EEFF8E34FC39FCE9BF899F44
+S214F84DFE1D02F92088B1BA150000C3E3FC78FC99B9
+S214F84E0E8B089A0705D7FF8E34FC78FC0993CB10DF
+S214F84E1E0878FC7908934B1902038E34FCDEEC10F6
+S214F84E2E8F7C93F308F078F0988B12DA1E99B3F01D
+S214F84E3E889112C1A3C00E78F0F0B4A001CD2C0460
+S214F84E4EF86378F0F22012CEB10078F0998B1BDA70
+S214F84E5E04CE990078F0E31019CB04CE8F0099B3F0
+S214F84E6EF0C1A3998B15F92099F3F088F11D01007E
+S214F84E7E00C9E2C1B3C00E78F0F0B4A001CD2C0490
+S214F84E8EF86378F0998B15E9B178F0C32B154700CF
+S214F84E9E019A0678F0F3201578F0932E1900019AF9
+S214F84EAE3D0978F0998B02CD9841F831FEB2F1F8BB
+S214F84EBEAB6DF80035FCCF01B2F1F45B6EF8003945
+S214F84ECEFE9B19C3CEFEA2C1F8C3CEFCA2C1F40354
+S214F84EDECD6A56F8B6030CCD0000F839FE78F079A0
+S214F84EEEF0998B19E9BFC36B19BB0FAF010078F0B9
+S214F84EFEF0B4A001CD1E05F8638E3EFCEC128F2C96
+S214F84F0E93F308EE78EEF0B4A001CD7204F85330B1
+S214F84F1EFE78EE998B0AD800DA0E76FE139A097892
+S214F84F2EEEF3211BCEC40178EE998B1B9A04CED4E1
+S214F84F3E0076FE11DA0D78EE998B0AD8019A04CE21
+S214F84F4EC30078EEF3201B78EEE31019CB04CE9A56
+S214F84F5E0178EE998B15F92078EE80B11D010000D8
+S214F84F6EC1A282CBFE92FBFEFC93F3EEF6C2CEFC0B
+S214F84F7E78F6F0B4A001CD2C04F863E990DA05F9CA
+S214F84F8EA1BB10AF010078F6F0B4A001CDB604F8C8
+S214F84F9E6303E9909A04CE520178EE998B15E9B12F
+S214F84FAE78EEC32B154700019A0678EEF32015789F
+S214F84FBEEE932E1900019A3D0978EE998B02CD984C
+S214F84FCE41F831FCB2F1F6886DF80035FAF901B20F
+S214F84FDEF1F25B6EF80039FC9B19C3CEFCA2C1F653
+S214F84FEEC3CEFAA2C1F203CD6A56F8B6030CCD00BC
+S214F84FFE00F839FC78EE79EE998B19E9BFC36B1980
+S214F8500ECEE80078EE998B0AD800DA0976FE119A71
+S214F8501E04CED70078EE932E1000019A04CECB006D
+S214F8502E78EE998B0EF92078EE80911DC1A2903B02
+S214F8503EFE78EE998B0EE9B178EEC32B0E4700018B
+S214F8504E9A0678EEF3200E78EE998B109A3C78EE58
+S214F8505E41898BCD9841F831FAB2F1F2666DF800C7
+S214F8506E35FC1002B2F1F65B6EF80039FA9B19C3EE
+S214F8507ECEFAA2C1F2C3CEFCA2C1F603CD6A56F89A
+S214F8508EB6030CCD0000F839FA78EE79EE998B1057
+S214F8509EE9B1C36B1078EE998B0AD802DA4C78EE33
+S214F850AE998B139A4578EE932E10C0008A3C34FCF2
+S214F850BE1393F3EEF6C2CEFC78F6F0B4A001CD2C30
+S214F850CE04F863E990DA05F9A1BB10AF010078F69B
+S214F850DEF0B4A001CDB604F86303E9909A0778EE1B
+S210F850EE922F121378EEF321138E34FC88
+S214F850FAEC08B2F1F8400300004192FBF8FE38FEDD
+S214F8510A30FF0198BBFFD8B030FF92FBFFFCB2F134
+S214F8511AF8400300000992FBFCF832FCB2F1F844B6
+S214F8512A0300000992FBFCF832FCB2F1F8560300C9
+S214F8513A000992FBFCF835FC2F75B2F1F846030025
+S214F8514A000993FBFCF8F2E5FCB2D1F86C0992FB7D
+S214F8515AFCF8B2F1F8400300004192FBF8FE38FE7C
+S214F8516A30FF0198BBFFD8B830FF92FBFFFCB2F1CC
+S214F8517AF8400300000992FBFCF8FCDEEC0C8F20E2
+S214F8518ACDB425F831FEB2F1F8766EF80035FC3F64
+S214F8519A00B2F1F46E6EF80039FE9B19C3CEFEA281
+S214F851AAC1F8C3CEFCA2C1F403CD6A56F8B6030C0E
+S214F851BACD0000F839FE8E04FCDEEC06B2F1FA40B1
+S214F851CA0300004192FBFAFE38FE30FE0198BBFE59
+S214F851DAD8B030FE92FBFEFFB2F1FA40030000099F
+S209F851EA92FBFFFAFC41
+S214F851F0EC108F7833F07FF0E3F1F0390CF920A853
+S214F852008199B308CD7864F853C1A391B20E888B10
+S214F85210A8D330F47F0CF96099B30801A9CFC3E39B
+S214F85220089AD493FA1412E3D014EB0BE3D016EBE7
+S214F8523006042D92C11893FBF0F293F612F2BA1503
+S214F85240E3D016EB050530005A05200092C118E3A6
+S214F85250F1F2BBE7E3D014EB0BE3D016AB06042D64
+S214F8526092C118E3D0F0EB0FE3FFF0C2D3F098BB8F
+S214F85270F492C118BBEE8E1EFCDEEC0E8F2899B3A6
+S214F8528008F2F108C1A301888B31FA9A04CED50149
+S214F8529077FA2500DA0838FA92C110BBE20331FC37
+S214F852A031FE99B308F2F108C1A301888B31FA47A9
+S214F852B030009A10F3E1FC99B308F2F108C1A301A3
+S214F852C082CBFA77FA3000FA2377FA3900AB1D3931
+S214F852D0FE899F0A0099B8FA0F300031FE99B30894
+S214F852E0F2F108C1A30182CBFABBD977FA6C009A1F
+S214F852F00D99B308F2F108C1A30182CBFA39FA473F
+S214F853006400DA434775009A04CE93004778009A0B
+S214F8531004CEB7004770009A04CEAF004758009AFC
+S214F8532004CED3004763009A04CEF7004773009A7A
+S214F8533004CEFF004725009A04CE1B01E9909A0494
+S214F85340CE1C01CE3AFF99B30CF2F40CC1A383C37A
+S214F85350F2DB22A2C110C3CEFCAF0000C3CEFEB66D
+S214F8536053816EF800AF0A00A2C1F2CF84FEB603EE
+S214F8537014CE0CFFA2C110C3CEFCAF0100C3CEFE04
+S214F85380B653816EF800AF0A0099B3F2A91EA9AF1A
+S214F85390B91EA881CF5BFEB60314CEE3FE99B30C14
+S214F853A0F2F40CC1A383C3F2A2C110C3CEFCAF00C3
+S214F853B000C3CEFEB653816EF800AF0A00A2C1F263
+S214F853C0CF2FFEB60314CEB7FE99B30CF2F40CC189
+S214F853D0A383C3F2A2C110C3CEFCAF0000C3CEFEB7
+S214F853E0B6538C6EF800AF1000A2C1F2CF03FEB62B
+S214F853F00314CE8BFE99B30CF2F40CC1A383C3F25C
+S214F85400A2C110C3CEFCAF0000C3CEFEB6539D6E4D
+S214F85410F800AF1000A2C1F2CFD7FDB60314CE5FE6
+S214F85420FE99B30CF2F40CC1A3888B92C110CE4F40
+S214F85430FE99B30CF2F40CC1A383C3F699B3F6F253
+S214F85440F1F6C1A301888B31FADA0838FA92C1105E
+S214F85450BBEBCE2BFE042592C110CE23FEF2FF083E
+S214F85460CE1DFE040A92C1108E14FCDEEC008F08E6
+S214F85470093908470900DA08470A00DA1BBB2EA2E2
+S214F85480C10C780880910AA0817808F0B6A001CF00
+S214F85490EAFDB6030CBB16A2C10C7808F0B6A081DC
+S214F854A0B653C46EF800CFD3FDB6030C8E10FCDEF0
+S214F854B0EC068F2831FE39FEC99E893FFF00C3E30C
+S214F854C0FAA2C108D3DAFAA081B653AE6EF800CFC6
+S214F854D0AAFDB6030C8E14FCEC228F0833FCD3DA44
+S214F854E0DEA081CD5045F85331FEDB2993F8FEFC5B
+S214F854F077DE09008AE9E3D0FCEB0CA2C10839FC98
+S214F85500CFAFFF5333FCA2C108D3DADEA081CF5D5C
+S214F85510FF73BBCBE3D0FCEB0AA2C10839FCCF91F2
+S209F85520FF538E10FC9D
+S214F85526EC0231FE38FEC89EE9909A04CEAC00E945
+S214F855369B9A04CEAB0047F7FF9A04CEA90047F627
+S214F85546FF9A04CEA70047F5FF9A04CEA50047EFC4
+S214F85556FF9A04CEA30047EEFF9A04CEA10047E7CB
+S214F85566FF9A04CE9F0047E6FF9A04CE9D0047E5CD
+S214F85576FF9A04CE9B0047E4FF9A04CE990047DFCD
+S214F85586FF9A04CE970047DEFF9A04CE950047D7D3
+S214F85596FF9A04CE930047D6FF9A04CE910047D5D5
+S214F855A6FF9A04CE8F0047CFFF9A04CE8D0047CEDB
+S214F855B6FF9A04CE8B0047CDFF9A04CE890047CCD7
+S214F855C6FF9A04CE870047C7FF9A04CE850047C6DB
+S214F855D6FF9A04CE8300CE8600D798826FF8FCD75B
+S214F855E6987C6FF8FCD798746FF8FCD7986D6FF8B8
+S214F855F6FCD798656FF8FCD7985F6FF8FCD7985A7B
+S214F856066FF8FCD798546FF8FCD7984D6FF8FCD718
+S214F8561698466FF8FCD7983E6FF8FCD798366FF82A
+S214F85626FCD7982F6FF8FCD798296FF8FCD79821EF
+S214F856366FF8FCD7981A6FF8FCD798126FF8FCD75D
+S214F85646980A6FF8FCD798046FF8FCD798FE6EF8A9
+S214F85656FCD798F76EF8FCD798F06EF8FCD798E271
+S207F856666EF8FCE2
+S214F8566AEC388F2831FA93F308F6390CC99E893F35
+S214F8567AFF00C3E3F293F30EEE3912CD2655F8C3BC
+S214F8568AE3EAB2F1E6876FF80035FC090093FBFA0D
+S214F8569AFE93FBFCC893F3E6CE93F3EAD293F3EEC3
+S214F856AAD693F3F2DA93F3F6DED3DAC8A08139FEA4
+S20CF856BACD9044F8538E14FC61
+S214F856C2EC288F7835D8090093F30ADEF3E1FAD39B
+S214F856D2DA0E83E3F699B30AF2F10AC1A301888BCC
+S214F856E231FC9A04CE2E01E3D6FAFA04CE260177D6
+S214F856F2FC25009AE133FE99B30AF2F10AC1A30136
+S214F8570282CBFC77FC3000FA1577FC3900AB0F99A0
+S214F85712B30AF2F10AC1A30182CBFCBBE777FC6CB1
+S214F85722009A10F3E1FE99B30AF2F10AC1A30182D4
+S214F85732CBFC39FC476400DA2F477500DA5947780C
+S214F8574200DA54475800DA4F477000DA79476300B0
+S214F857529A04CE88004773009A04CE9C00E9909A81
+S214F8576204CEAB00CE70FF39FEDA10F2F4F678F615
+S214F85772F0BC8983893FFF00BB10F2F2F678F6F0A8
+S214F85782BE898BC99E893FFF007FFAE3F1FAB8F328
+S214F85792C3E3DECE41FF39FEDA10F2F4F678F6F01D
+S214F857A2BC8983893FFF00BB10F2F2F678F6F0BEAA
+S214F857B2898BF920893FFF007FFAE3F1FAB8F3C341
+S214F857C2E3DECE12FFF2F4F639FAE3F1FA78F6F0FF
+S214F857D2BC8183B8B383E3DECEFCFEF2F2F639FA86
+S214F857E2E3F1FA78F6F0BE89CBC9DE897FFF00B816
+S214F857F2B3C3F3DECEE0FEF2F4F639FAE3F1FA7862
+S214F85802F6F0BC8183B8B383E3DECECAFEF2FF0AB3
+S214F85812CEC4FED3DAD8A0813908CD9044F8538E98
+S206F858221EFC6D
+S212F858248FFFD9D7B0B18651F800CCDD06F864
+S212F858328FFFD9D7B0B1AA05F800CCDD06F87E
+S212F858408FFFD9D7B0B18605F800CCDD06F894
+S212F8584E8FFFD9D7B0B1445BF800CCDD06F872
+S214F8585CB65300000000CDFA50F853B653000000CB
+S214F8586C00CDBE46F853DFDEB65300000000CDC4BC
+S214F8587C51F853DFCDF810F8CD0840F8CD8E26F851
+S20DF8588CCD7408F8CDC007F8DF6A
+S214F85896EC528F2C33E6390831E8B2F1AE8375F858
+S214F858A600B2F1B27F75F800B2F1B67975F800CDA8
+S214F858B6281DF8F9A19A04CE380239E8E9BFE98135
+S214F858C6F920D3DAAEC1E381E2A041E3F1E6C3CE2E
+S214F858D6E6C3CEE8B6535A75F800AF0500CDC256FD
+S214F858E6F8B6030EB2D1BA00B3F1A815BACA06F2DC
+S214F858F6F1BABBF591BBE8E1BFA2CBD717FE91BBD1
+S214F85906E8E1BFF420D71738FE4665DA324673DA8A
+S214F859164346539A04CE840046649A04CEC7004695
+S214F85926799A04CE0A0146599A04CE4A01467A9AD4
+S214F8593604CE8A01465A9A04CE9901CE77FFC3CE8C
+S214F85946E8B6534C75F800AF0600CDC256F873CDD8
+S214F85956040DF8C3CEE8B6533E75F800AF0600CD8C
+S214F85966C256F873CD9A1DF831ECB2F1C23475F812
+S214F859760035EA8B00B2F1BE2A75F80039EC9B16AC
+S214F85986C3CEECA2C1C2C3CEEAA2C1BEF9A3CD6A03
+S214F8599656F8B6030C39ECCE1BFFC3CEE8B653164C
+S214F859A675F800AF0600CDC256F873051027CD1267
+S214F859B61EF831F0B2F1CA0675F80035EE8F00B269
+S214F859C6F1C62A75F80039F09B16C3CEF0A2C1CAFE
+S214F859D6C3CEEEA2C1C6F9A3CD6A56F8B6030C39FD
+S214F859E6F0CED1FEC3CEE8B653F374F800AF060091
+S214F859F6CDC256F873051027CDAC22F831F4B2F1BD
+S214F85A06D2E474F80035F29300B2F1CE2A75F800AF
+S214F85A1639F49B16C3CEF4A2C1D2C3CEF2A2C1CE37
+S214F85A26F9A3CD6A56F8B6030C39F4CE87FEC3CE7C
+S214F85A36E8B653D674F800AF0600CDC256F873CD5E
+S214F85A46E01CF831F8B2F1DACC74F80035F69700BF
+S214F85A56B2F1D62A75F80039F89B16C3CEF8A2C165
+S214F85A66DAC3CEF6A2C1D6F9A3CD6A56F8B6030CB3
+S214F85A7639F8CE40FEC3CEE8B653BE74F800AF0685
+S214F85A8600CDC256F873CD281DF831FCB2F1E2B453
+S214F85A9674F80035FA9B00B2F1DE2A75F80039FC80
+S214F85AA69B16C3CEFCA2C1E2C3CEFAA2C1DEF9A308
+S214F85AB6CD6A56F8B6030C39FCCEF9FDC3CEE8B671
+S214F85AC6539C74F800AF0500CDC256F873BE80CE68
+S214F85AD6E3FDCDEE09F8C3CEE8B6539C74F800AFEE
+S214F85AE60500CDC256F873BE80CD460AF8CEC5FD7B
+S214F85AF68E34FCDEEC0831FC390831FEC3CEFCC326
+S214F85B06CEFEB6537974F800AF0500CDC256F8B691
+S214F85B16030AB2D1F800B3F1AC15F8CA06F2F1F8F2
+S214F85B26BBF5D2C7FDDA16C3CEFEB6534C75F800EB
+S214F85B36AF0600CDC256F873CD040DF8FCDEEC0EB3
+S214F85B468F68A2C108B6535074F800AF0500CDC2E8
+S214F85B5656F8B6030ACD0E0BF8E991DA0FB65320C7
+S214F85B6674F800AF0400CDC256F863CD460BF8E9D4
+S214F85B7691DA0FB653F073F800AF0400CDC256F8B4
+S214F85B8663CD3A0BF8C98ECD240BF8C98EB653D624
+S214F85B9673F800AF0700CDC256F8B6030AA2C108D6
+S214F85BA6CD2208F853C98EA2C108CD1608F853C9EF
+S214F85BB68EA2C108CDE207F853C98EA2C108CDF861
+S214F85BC607F853C98EB6539A73F800AF0700CDC2D6
+S214F85BD656F8B6030EA2C108CDF807F853E990DAD8
+S214F85BE604CE8200A2C108CDE207F853E9909A756A
+S214F85BF6D3DAFAA081CD9E09F85331FEB2F1F689CA
+S214F85C0673F80035FCDD00B2F1F22A75F80039FEB5
+S214F85C169B16C3CEFEA2C1F6C3CEFCA2C1F2F9A36A
+S214F85C26CD6A56F8B6030C7FFEAF008039FACD403B
+S214F85C361CF84331FCB2F1F27173F80035FEDE005B
+S214F85C46B2F1F62A75F80039FC9B16C3CEFCA2C14B
+S214F85C56F2C3CEFEA2C1F6F9A3CD6A56F8B6030C81
+S214F85C6639FCBB13B6534D73F800AF0500CDC256D4
+S214F85C76F863CD4607F88E16FCDE050900CD04094E
+S214F85C86F8050A00CD0409F8050B00CD0409F8DF77
+S214F85C96ECD08F78F3E1BCF3E1BEAF0100057F00E8
+S214F85CA6CDDA45F8433908C98EB6532973F800AFE6
+S214F85CB60500CDC256F873AF1005F9A1CD864DF896
+S214F85CC64331B4B4F134FFE372F80035B80901B4D9
+S214F85CD6F130FF2A75F80039B49B18C3CEB4A4C1C0
+S214F85CE634FFC3CEB8A4C130FFF9A3CD6A56F8B6CA
+S214F85CF6030C7FB4B6F1A81540420F00D5DA38FF84
+S214F85D06A081CD1410F853B4D13CFF00B5F1A81510
+S214F85D163CFFCA07F4F13CFFBBF3D5DA40FFA08197
+S214F85D26CD1410F853A9B340FFA9B038FFC9E3B8A5
+S214F85D36B10084D71701A9CFC7E3A815B9B3A81534
+S214F85D46B8D10501A9CFC7E3AC15F9A1CD740BF800
+S214F85D56F9A2CD740BF8F9A3CD740BF8AF0100D3FE
+S214F85D66DAFEA081F9A1CDA04CF86331C2B4F130C1
+S214F85D76FFC072F80035C02001B4F134FF2A75F872
+S214F85D860039C29B18C3CEC2A4C130FFC3CEC0A486
+S214F85D96C134FFF9A3CD6A56F8B6030C39C238FEF5
+S214F85DA646659A04CEDE0046739A04CED700465366
+S214F85DB69A04CED00046649A04CEC90046799A0468
+S214F85DC6CEC20046599A04CEBB00467A9A04CEB49A
+S214F85DD600465A9A04CEAD0046319A04CEB300462B
+S214F85DE6329A04CEB50046339A04CEB70046619A80
+S214F85DF604CEB90046419A04CEFF0046749A04CEFD
+S214F85E066901463E9A04CEAF01463D9A04CEC601CF
+S214F85E16463C9A04CEDD0146479A04CEF401467708
+S214F85E269A04CE630246579A04CEA902466C9A049A
+S214F85E36CE130346759A04CE5903466D9A04CE9D3C
+S214F85E4603464D9A04CEDF0346789A04CE210446D6
+S214F85E56589A04CE670446729A04CEAD0446639AF8
+S214F85E6604CECC0446439A04CECE0446569A04CEBE
+S214F85E76D00446769A04CE550546719A04CE5B0546
+S214F85E86CE630591BBBEE1BF943BFED717CE56054B
+S214F85E96F3E1BEF3E1BCCE4D05F3E2BEF3E2BCCECB
+S214F85EA64405F3E3BEF3E3BCCE3B05C3CEBEB6531A
+S214F85EB6B372F800AF0600CDC256F87339BCCD7487
+S214F85EC60BF831C6B4F148FFA472F80035C43A01A7
+S214F85ED6B4F144FF2A75F80039C69B18C3CEC6A493
+S214F85EE6C148FFC3CEC4A4C144FFF9A3CD6A56F889
+S214F85EF6B6030C39C6CEEE04C3CEBEB6539772F8C2
+S214F85F0600AF0600CDC256F87339BCCD920CF8C56C
+S214F85F16EB3CFF31CAB4F150FF8172F80035C83E43
+S214F85F2601B4F14CFF2A75F80039CA9B18C3CECAD5
+S214F85F36A4C150FFC3CEC8A4C14CFFF9A3CD6A5678
+S214F85F46F8B6030C39CAA9BB3CFF9B04CE9704C522
+S214F85F56CE3CFFC3CEBEB6536A72F800AF0500CD88
+S214F85F66C256F8B6030ACE7D04C3CEBEB6535D72E5
+S214F85F76F800AF0600CDC256F87339BCCDB00DF8AA
+S214F85F8631CEB4F158FF4E72F80035CC4601B4F16E
+S214F85F9654FF2A75F80039CE9B18C3CECEA4C1583E
+S214F85FA6FFC3CECCA4C154FFF9A3CD6A56F8B60300
+S214F85FB60C39CECE3004C3CEBEB6533272F800AF26
+S214F85FC60600CDC256F873AF090039BCCD6A0EF88E
+S214F85FD643CE1204C3CEBEB6531772F800AF060009
+S214F85FE6CDC256F873AF0A0039BCCD6A0EF843CE62
+S214F85FF6F403C3CEBEB653FC71F800AF0600CDC2A6
+S214F8600656F873AF0B0039BCCD6A0EF843CED603F6
+S214F86016C3CEBEB653E671F800AF0600CDC256F844
+S214F8602673D3DAD0A08139BCCD500FF853C5EB3C04
+S214F86036FF31D4B4F160FFC771F80035D25601B413
+S214F86046F15CFF2A75F80039D49B18C3CED4A4C1E0
+S214F8605660FFC3CED2A4C15CFFF9A3CD6A56F8B6E4
+S214F86066030C39D4A9BB3CFF9B04CE7903C3CED028
+S214F86076C3CEBEB653AD71F800AF0500CDC256F81E
+S214F86086B6030ACE6003C3CEBEB653A071F800AF09
+S214F860960600CDC256F87339BCCD9A1EF831D8B478
+S214F860A6F168FF9171F80035D65E01B4F164FF2AFF
+S214F860B675F80039D89B18C3CED8A4C168FFC3CEE6
+S214F860C6D6A4C164FFF9A3CD6A56F8B6030C39D838
+S214F860D6CE1303C3CEBEB6538471F800AF0600CD12
+S214F860E6C256F87339BCCDD21FF8C5EB3CFF31DC87
+S214F860F6B4F170FF6E71F80035DA6201B4F16CFF30
+S214F861062A75F80039DC9B18C3CEDCA4C170FFC329
+S214F86116CEDAA4C16CFFF9A3CD6A56F8B6030C39E5
+S214F86126DCA9BB3CFF9B04CEBC02C5CE3CFFC3CE67
+S214F86136BEB6535771F800AF0500CDC256F8B6038B
+S214F861460ACEA202C3CEBEB6534A71F800AF060010
+S214F86156CDC256F87339BCCD5420F831E0B4F17890
+S214F86166FF3B71F80035DE6A01B4F174FF2A75F85C
+S214F861760039E09B18C3CEE0A4C178FFC3CEDEA4F0
+S214F86186C174FFF9A3CD6A56F8B6030C39E0CE55B6
+S214F8619602C3CEBEB6532E71F800AF0600CDC25671
+S214F861A6F87339BCCD4421F831E4B2F1801F71F8A2
+S214F861B60035E26E01B4F17CFF2A75F80039E49BE7
+S214F861C617C3CEE4A2C180C3CEE2A4C17CFFF9A36E
+S214F861D6CD6A56F8B6030C39E4CE0A02C3CEBEB676
+S214F861E6531271F800AF0600CDC256F87339BCCD17
+S214F861F60C22F831E8B2F1880371F80035E6720138
+S214F86206B2F1842A75F80039E89B16C3CEE8A2C11F
+S214F8621688C3CEE6A2C184F9A3CD6A56F8B6030CAF
+S214F8622639E8CEC101C3CEBEB653F570F800AF0650
+S214F8623600CDC256F87339BCCD9E22F831ECB2F1D1
+S214F8624690E570F80035EA7601B2F18C2A75F80012
+S214F8625639EC9B16C3CEECA2C190C3CEEAA2C18C8B
+S214F86266F9A3CD6A56F8B6030C39ECCE7801C3CE48
+S214F86276BEB653D070F800AF0600CDC256F873AF68
+S214F86286010039BCCD961BF84331F0B2F198B970D7
+S214F86296F80035EE7A01B2F1942A75F80039F09BD3
+S214F862A616C3CEF0A2C198C3CEEEA2C194F9A3CD7A
+S214F862B66A56F8B6030C39F0CE2B01C3CEBEB653E3
+S214F862C6A470F800AF0600CDC256F873AF020039D0
+S214F862D6BCCD961BF84331F4B2F1A08D70F80035B4
+S214F862E6F27E01B2F19C2A75F80039F49B16C3CEF5
+S214F862F6F4A2C1A0C3CEF2A2C19CF9A3CD6A56F801
+S214F86306B6030C39F4CEDE00B6537270F800AF0654
+S214F8631600CDC256F863050900CD9608F8050A00BA
+S214F86326CD9608F8050B00CD9608F8CEB800F9A174
+S214F86336CD2827F8CEAF00F9A1CDB827F8CEA60017
+S214F86346D3DAA4A081CD5210F85331F8B2F1AC5F87
+S214F8635670F80035F68E01B2F1A82A75F80039F805
+S214F863669B16C3CEF8A2C1ACC3CEF6A2C1A8F9A3B3
+S214F86376CD6A56F8B6030C7FF8D3DAB0A081CD52BC
+S214F8638610F85331FCB2F1B84C70F80035FA8F01B4
+S214F86396B2F1B42A75F80039FC9B16C3CEFCA2C136
+S214F863A6B8C3CEFAA2C1B4F9A3CD6A56F8B6030CAA
+S214F863B67FFC39B0C98E39A4C98EB6533370F80047
+S214F863C6AF0500CDC256F8B6030ABB19AF010005ED
+S214F863D67F00CDDA45F843BB0CAF0100053F00CD8C
+S214F863E6DA45F843E2D3FEDA0976FE51DA04CE6DDC
+S214F863F6F9B6531E70F800AF0500CDC256F863CD51
+S20AF864064607F88E1EFCA6
+S214F8640C8F5CB9CF10B94F12C18B992E00808A07C2
+S214F8641CA91EA99EF8B1996E00808A07A95EA9DE16
+S214F8642CF8F1E9509A19E910DA0DC1EBC98BF92095
+S214F8643C89CEC96B89BB89CEC98BF920BB1FF1E015
+S214F8644CC9168B09A1CEE9C0B96E9BF5C9B0CA05B9
+S214F8645CC9B2D3E8E948A9EEB1CE9BF181BF00806A
+S20FF8646C9B07A99EA91EF8B18E3ADF28
+S214F864788F5CB9CF10B94F12F1E0E9509A17E910C6
+S214F86488DA0BC1EBC98BF92089CE89BB89CEC98BC3
+S214F86498F920BB1FDB0DC9168B09A1CEE9C0B96E6A
+S214F864A89BF5C9B0CA05C9B2D3E8E948A9EEB1CE92
+S209F864B89BF18E3ADFAF
+S208F864BE00000000DD
+S208F864C201000200D6
+S214F864C605000000010000009658F80009000002D2
+S214F864D60000280900000000FA5AF800000002003A
+S214F864E600009658F800090000020000280B000085
+S214F864F60000FA5AF8000000030000009658F80064
+S214F86506090000020000280D00000000FA5AF800FC
+S214F86516020000000000965CF80004000002000086
+S214F86526280F00000000000000000200010000002E
+S214F865362A46F800020000040000281100000000B1
+S214F865460000000001000200030004000500020037
+S214F865560100000001000100010001000000000033
+S214F865660000000000000000000000000000000028
+S214F865760000000000000000000000000000000018
+S214F865860100000000000000805CF800D00700005C
+S208F865960300010000
+S20DF8659A60039000720005103051
+S214F865A374696D655F6576656E742E680074696DDB
+S214F865B365203C3D20544D41585F52454C54494D57
+S214F865C30071756575652D3E70726576203D3D20C4
+S214F865D371756575650071756575652E68007175F5
+S214F865E36575652D3E6E65787420213D2071756559
+S207F865F3756500CE
+S214F865F674696D655F6576656E742E680074696D88
+S214F8660665203C3D20544D41585F52454C54494D03
+S205F866160086
+S214F866170A544F50504552532F4A5350204B6572E1
+S214F866276E656C2052656C656173652025642E254A
+S214F8663764202870617463686C6576656C203D2005
+S214F8664725642920666F72204F414B533332202832
+S214F8665744656320323820323031302C2031333AD3
+S214F8666731363A3135290A436F7079726967687433
+S214F866772028432920323030302D3230303320620C
+S214F866877920456D62656464656420616E6420529E
+S214F8669765616C2D54696D652053797374656D73F0
+S214F866A7204C61626F7261746F72790A202020201D
+S214F866B720202020202020202020202020202020D6
+S214F866C72020202020202020546F796F6861736877
+S214F866D76920556E69762E206F6620546563686E56
+S214F866E76F6C6F67792C204A4150414E0A436F709A
+S214F866F77972696768742028432920323030342D38
+S214F867073230303620627920456D62656464656498
+S214F8671720616E64205265616C2D54696D6520534F
+S214F86727797374656D73204C61626F7261746F72FA
+S214F86737790A202020202020202020202020477299
+S214F86747616475617465205363686F6F6C206F6654
+S214F8675720496E666F726D6174696F6E2053636950
+S214F86767656E63652C204E61676F796120556E6993
+S20FF86777762E2C204A4150414E0A00B6
+S214F8678274696D655F6576656E742E680074696DFA
+S214F8679265203C3D20544D41585F52454C54494D76
+S214F867A20071756575652D3E70726576203D3D20E3
+S214F867B271756575650071756575652E6800717514
+S214F867C26575652D3E6E65787420213D2071756578
+S207F867D2756500ED
+S214F867D574696D655F6576656E742E680074696DA7
+S214F867E565203C3D20544D41585F52454C54494D23
+S214F867F50071756575652D3E70726576203D3D2090
+S214F8680571756575650071756575652E68007175C0
+S214F868156575652D3E6E65787420213D2071756524
+S207F8682575650099
+S214F868286578745F74736B2069732063616C6C6544
+S214F86838642066726F6D206469737061746368208B
+S214F8684864697361626C65642073746174652E009C
+S214F868586578745F74736B2069732063616C6C6514
+S214F86868642066726F6D20435055206C6F636B65B5
+S214F86878642073746174652E006578745F74736B3E
+S214F868882069732063616C6C65642066726F6D208E
+S214F868986E6F6E2D7461736B20636F6E74657874A3
+S214F868A8732E0074696D655F6576656E742E68007C
+S214F868B874696D65203C3D20544D41585F52454CEF
+S214F868C854494D0071756575652D3E70726576206C
+S214F868D83D3D2071756575650071756575652E6839
+S214F868E80071756575652D3E6E65787420213D20B6
+S20AF868F871756575650078
+S214F868FE74696D655F6576656E742E680074696D7D
+S214F8690E65203C3D20544D41585F52454C54494DF8
+S205F8691E007B
+S214F8691F00010002000100030001000200010074EC
+S214F8692F61736B2E6300286269746D617020262080
+S214F8693F3078666666662920213D20300074696DCA
+S214F8694F655F6576656E742E680074696D65203CB4
+S214F8695F3D20544D41585F52454C54494D00717582
+S214F8696F6575652D3E70726576203D3D20717565AF
+S214F8697F75650071756575652E6800717565756551
+S214F8698F2D3E6E65787420213D207175657565000E
+S214F8699F54535441545F57414954494E47287463EA
+S214F869AF622D3E74737461742900776169742E636F
+S214F869BF00746D6F7574203D3D20544D4F5F4645FE
+S214F869CF56520074696D655F6576656E742E68004D
+S214F869DF74696D65203C3D20544D41585F52454CC7
+S214F869EF54494D0071756575652D3E707265762044
+S214F869FF3D3D2071756575650071756575652E6811
+S214F86A0F0071756575652D3E6E65787420213D208D
+S20AF86A1F7175657565004F
+S214F86A2574696D655F6576656E742E680074696D54
+S214F86A3565203C3D20544D41585F52454C54494DD0
+S214F86A450071756575652D3E70726576203D3D203D
+S214F86A5571756575650071756575652E680071756E
+S214F86A656575652D3E6E65787420213D20717565D2
+S207F86A7575650047
+S214F86A7874696D655F6576656E742E680074696D01
+S214F86A8865203C3D20544D41585F52454C54494D7D
+S214F86A980071756575652D3E70726576203D3D20EA
+S214F86AA871756575650071756575652E680071751B
+S214F86AB86575652D3E6E65787420213D207175657F
+S207F86AC8756500F4
+S214F86ACB74696D655F6576656E742E680074696DAE
+S214F86ADB65203C3D20544D41585F52454C54494D2A
+S205F86AEB00AD
+S214F86AEC74696D655F6576656E742E680074696D8D
+S214F86AFC65203C3D20544D41585F52454C54494D09
+S214F86B0C0071756575652D3E70726576203D3D2075
+S214F86B1C71756575650071756575652E68007175A6
+S214F86B2C6575652D3E6E65787420213D207175650A
+S207F86B3C7565007F
+S214F86B3F74696D655F6576656E742E680074696D39
+S214F86B4F65203C3D20544D41585F52454C54494DB5
+S214F86B5F0071756575652D3E70726576203D3D2022
+S214F86B6F71756575650071756575652E6800717553
+S214F86B7F6575652D3E6E65787420213D20717565B7
+S207F86B8F7565002C
+S214F86B9274696D655F6576656E742E680074696DE6
+S214F86BA265203C3D20544D41585F52454C54494D62
+S214F86BB20071756575652D3E70726576203D3D20CF
+S214F86BC271756575650071756575652E6800717500
+S214F86BD26575652D3E6E65787420213D2071756564
+S207F86BE2756500D9
+S214F86BE574696D655F6576656E742E680074696D93
+S214F86BF565203C3D20544D41585F52454C54494D0F
+S214F86C050071756575652D3E70726576203D3D207B
+S214F86C1571756575650071756575652E68007175AC
+S214F86C256575652D3E6E65787420213D2071756510
+S207F86C3575650085
+S214F86C3874696D655F6576656E742E680074696D3F
+S214F86C4865203C3D20544D41585F52454C54494DBB
+S214F86C580071756575652D3E70726576203D3D2028
+S214F86C6871756575650071756575652E6800717559
+S214F86C786575652D3E6E65787420213D20717565BD
+S207F86C8875650032
+S214F86C8B74696D655F6576656E742E680074696DEC
+S214F86C9B65203C3D20544D41585F52454C54494D68
+S214F86CAB0071756575652D3E70726576203D3D20D5
+S214F86CBB71756575650071756575652E6800717506
+S214F86CCB6575652D3E6E65787420213D207175656A
+S207F86CDB756500DF
+S214F86CDE2D2D206275666665726564206D65737314
+S214F86CEE61676573202D2D0074696D655F65766531
+S214F86CFE6E742E680074696D65203C3D20544D41C7
+S20DF86D0E585F52454C54494D00FB
+S214F86D176C6F677461736B2E6300646C795F74735A
+S214F86D276B284C4F475441534B5F494E5445525680
+S214F86D37414C290053797374656D206C6F676769E2
+S214F86D476E67207461736B2069732073746172744D
+S213F86D576564206F6E20706F72742025642E00AE
+S214F86D66697369675F73656D28737063622D3E7322
+S214F86D7670696E69622D3E7263765F73656D6964D7
+S214F86D862900697369675F73656D28737063622D8A
+S214F86D963E7370696E6962202D3E736E645F736526
+S214F86DA66D69642900697369675F73656D28737022
+S214F86DB663622D3E7370696E69622D3E736E645F0C
+S214F86DC673656D696429007369675F73656D287303
+S214F86DD67063622D3E7370696E69622D3E726376D5
+S214F86DE65F73656D696429007761695F73656D28F9
+S214F86DF6737063622D3E7370696E69622D3E7263B8
+S214F86E06765F73656D696429007369675F73656D88
+S214F86E1628737063622D3E7370696E69622D3E73D1
+S214F86E266E645F73656D696429007761695F73657B
+S214F86E366D28737063622D3E7370696E69622D3EB7
+S214F86E46736E645F73656D69642900756E6C5F634F
+S214F86E56707528290073657269616C2E63006C6F0D
+S20CF86E66635F637075282900CC
+S214F86E6E74696D65722E6300697369675F74696D10
+S207F86E7E282900C3
+S214F86E8130313233343536373839003031323334FD
+S214F86E9135363738396162636465660030313233C6
+S214F86EA1343536373839414243444546002564205F
+S214F86EB16D6573736167657320617265206C6F73B6
+S214F86EC1742E0025733A25753A20417373657274EA
+S214F86ED1696F6E2060257327206661696C65642E7C
+S205F86EE100B3
+S214F86EE2756E6B6E6F776E206572726F7200455FA5
+S214F86EF2424F565200455F57424C4B00455F434C53
+S214F86F025300455F444C5400455F544D4F5554006A
+S214F86F12455F524C57414900455F514F565200451E
+S214F86F225F4E4F45585300455F4F424A00455F4E05
+S214F86F324F494400455F4E4F4D454D00455F494C1D
+S214F86F4255534500455F4F41435600455F4D414313
+S214F86F525600455F43545800455F494400455F5024
+S214F86F62415200455F525341545200455F525346D0
+S214F86F724E00455F4E4F53505400455F53595300E9
+S209F86F82455F4F4B00CF
+S214F86F872573207265706F72746564206279206065
+S214F86F9725732720696E206C696E65202564206F37
+S20CF86FA76620602573272E0012
+S214F86FAF0C00002458F8001100003258F8001200B0
+S214F86FBF004058F8002000004E58F80074696D65C8
+S214F86FCF5F6576656E742E680074696D65203C3D56
+S214F86FDF20544D41585F52454C54494D00717565D4
+S214F86FEF75652D3E70726576203D3D207175657519
+S214F86FFF650071756575652E680071756575652D13
+S213F8700F3E6E65787420213D20717565756500B5
+S214F8701E53616D706C652070726F6772616D206566
+S214F8702E6E64732E007574696D6531203D20256487
+S214F8703E2C207574696D6532203D202564007678AF
+S214F8704E6765745F74696D28267574696D6532297F
+S214F8705E0076786765745F74696D28267574696D41
+S214F8706E6531290023726F745F72647128746872C2
+S214F8707E6565207072696F72697469657329007236
+S214F8708E61735F7465782874736B69642C20307836
+S214F8709E303030322900237261735F746578282594
+S214F870AE642C2030783030303229007261735F7479
+S214F870BE65782874736B69642C20307830303031EC
+S214F870CE2900237261735F7465782825642C203046
+S214F870DE783030303129006672736D5F74736B28B2
+S214F870EE74736B69642900236672736D5F74736BC1
+S214F870FE282564290072736D5F74736B2874736B2E
+S214F8710E696429002372736D5F74736B282564297E
+S214F8711E007375735F74736B2874736B69642900E8
+S214F8712E237375735F74736B282564290072656C08
+S214F8713E5F7761692874736B696429002372656CCE
+S214F8714E5F776169282564290063616E5F777570CD
+S214F8715E282564292072657475726E73202564006E
+S214F8716E65726364203D2063616E5F777570287470
+S214F8717E736B696429002363616E5F7775702825D3
+S214F8718E6429007775705F74736B2874736B696413
+S214F8719E2900237775705F74736B28256429007041
+S214F871AE72696F72697479206F66207461736B20DA
+S214F871BE25642069732025640065726364203D207B
+S214F871CE6765745F7072692874736B69642C202611
+S214F871DE74736B7072692900236765745F707269D1
+S214F871EE2825642C202674736B7072692900236325
+S214F871FE68675F7072692825642C204C4F575F506D
+S214F8720E52494F524954592900236368675F707282
+S214F8721E692825642C204D49445F5052494F5249EF
+S214F8722E54592900236368675F7072692825642CA1
+S214F8723E20484947485F5052494F524954592900F9
+S214F8724E7465725F74736B2874736B6964290023A4
+S214F8725E7465725F74736B282564290063616E5FBC
+S214F8726E616374282564292072657475726E7320AE
+S214F8727E25640065726364203D2063616E5F61630A
+S214F8728E742874736B696429002363616E5F616397
+S214F8729E7428256429006163745F74736B2874739D
+S214F872AE6B69642900236163745F74736B282564B5
+S214F872BE290073657269616C5F7265615F646174EB
+S214F872CE285441534B5F504F525449442C20266352
+S214F872DE2C2031290073657269616C5F63746C5F7C
+S214F872EE706F72285441534B5F504F525449442C8A
+S214F872FE2028494F43544C5F43524C46207C204935
+S214F8730E4F43544C5F4643534E44207C20494F43DC
+S214F8731E544C5F464352435629290053616D706CA0
+S214F8732E652070726F6772616D2073746172747314
+S214F8733E20286578696E66203D202564292E005330
+S214F8734E616D706C652070726F6772616D20656E18
+S214F8735E6473207769746820657863657074696FEE
+S214F8736E6E2E00697261735F7465782874736B6934
+S214F8737E642C203078383030302900696765745FB1
+S214F8738E746964282674736B696429007678736E4C
+S214F8739E735F6C6F63203D202564207678736E736A
+S214F873AE5F637478203D202564207678736E735F5D
+S214F873BE647370203D202564207678736E735F6450
+S214F873CE706E203D20256400736E735F6C6F6320BD
+S214F873DE3D20256420736E735F647370203D202500
+S214F873EE6400736E735F64706E2829206973206E5E
+S214F873FE6F74205452554520696E204350552065BB
+S214F8740E7863657074696F6E2068616E646C657209
+S214F8741E2E00736E735F6374782829206973206E56
+S214F8742E6F74205452554520696E2043505520658A
+S214F8743E7863657074696F6E2068616E646C6572D9
+S214F8744E2E0043505520657863657074696F6E200C
+S214F8745E68616E646C65722028705F657863696E15
+S214F8746E66203D2025303870292E007461736B2502
+S214F8747E64207265636569766573206578636570F2
+S214F8748E74696F6E203078253034782E20002325D8
+S214F8749E6423726169736520435055206578636579
+S214F874AE7074696F6E00656E615F74657828290072
+S214F874BE23256423656E615F7465782829006469F0
+S214F874CE735F746578282900232564236469735FCF
+S214F874DE746578282900646C795F74736B2831307C
+S214F874EE303030290023256423646C795F74736B0F
+S214F874FE283130303030290074736C705F74736BCB
+S214F8750E28313030303029002325642374736C709C
+S214F8751E5F74736B283130303030290073616D70BC
+S214F8752E6C65312E6300736C705F74736B2829006C
+S214F8753E23256423736C705F74736B2829002325D8
+S214F8754E64236578745F74736B2829007461736BA3
+S214F8755E25642069732072756E6E696E672028250D
+S214F8756E303364292E202020257300202020202A50
+S20BF8757E0020202B007C0022
+S214FFBD001F07F8001F07F8001F07F8001F07F800B7
+S214FFBD101F07F8001F07F8001F07F8001F07F800A7
+S214FFBD201F07F8001F07F8001F07F8001F07F80097
+S214FFBD302458F8001F07F8001F07F8001F07F80031
+S214FFBD401F07F8003258F8004058F8001F07F800A1
+S214FFBD501F07F8001F07F8001F07F8001F07F80067
+S214FFBD601F07F8001F07F8001F07F8001F07F80057
+S214FFBD701F07F8001F07F8001F07F8001F07F80047
+S214FFBD804E58F8001F07F8001F07F8001F07F800B7
+S214FFBD901F07F8001F07F8001F07F8001F07F80027
+S214FFBDA01F07F8001F07F8001F07F8001F07F80017
+S214FFBDB01F07F8001F07F8001F07F8001F07F80007
+S214FFBDC01F07F8001F07F8001F07F8001F07F800F7
+S214FFBDD01F07F8001F07F8001F07F8001F07F800E7
+S214FFBDE01F07F8001F07F8001F07F8001F07F800D7
+S214FFBDF01F07F8001F07F8001F07F8001F07F800C7
+S214FFFFDC1F07F8001F07F8001F07F8001F07F80099
+S214FFFFEC1F07F8001F07F8001F07F8001F07F80089
+S208FFFFFC0000F8FF06
+S804000000FB
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmi
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmi	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmi	(revision 26)
@@ -0,0 +1,28 @@
+[PROJECT]
+ProjectName=Jsp14sample1
+WorkingDirectory=C:\home\work\jsp-1.4.4\tools\M32C-RENESAS
+OutputDirectory=.
+ProjectFile=C:\home\work\jsp-1.4.4\tools\M32C-RENESAS\Jsp14sample1.tmk
+ProjectInfoFile=C:\home\work\jsp-1.4.4\tools\M32C-RENESAS\Jsp14sample1.tmi
+TargetName=M16C/80 Series
+Type=6
+GoalFile=C:\home\work\jsp-1.4.4\tools\M32C-RENESAS\Jsp14sample1.x30
+[NC]
+Name=NC308WA
+Version=V.5.42 Release 00
+[MEMBER]
+Count=0
+[DOCUMENTFILE]
+Count=0
+[ITEM]
+ActiveFactory=default
+FactoryName1=default
+ActiveTagName1=all
+Count=1
+[TOOL]
+ToolCount=0
+[PD]
+Name=KD3083
+Version=
+Path=C:\MTOOL\KD3083\KD3083.EXE
+Type=0
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/Jsp14sample1.tmk	(revision 26)
@@ -0,0 +1,288 @@
+####################################################################
+# Makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+#
+#	Notice	:	Don't edit.
+#	Date	:	2010 12(December) 28(Tuesday) PM.01.14
+#	Project	:	Jsp14sample1
+####################################################################
+
+DELETE	=	@-del
+LNLIST	=	$(PROJECT).cmd
+CC_USER	=	NC308
+LN_USER	=	LN308
+LMC	=	lmc308
+CC	=	nc308
+AR	=	lb308
+AS	=	as308
+OUTDIR	=	.
+MKDIR	=	@-mkdir
+LIBFLAGS	=	
+CPP	=	C:\Hew\Tools\Renesas\nc308wa\v542r00\LIB308\CPP308
+ABSFILE	=	$(PROJECT).x30
+LMC_USER	=	LMC308
+PRJDIR_USER	=	C:\usr\TOPPERS\jsp-1.4\tools\M32C-RENESAS
+ODINCMD	=	$(OUTDIR)
+LBFILE	=	$(PROJECT).lib
+AS_USER	=	AS308
+LN	=	ln308
+TARGET	=	$(ABSFILE)
+ECHO	=	@-echo
+MKFILE	=	$(PROJECT).tmk
+@(SRCDIR)	=	..
+TYPE	=	@-type
+PROJECT	=	Jsp14sample1
+LFLAGS	=	-MS -L nc308lib -. -G -M82 -NOSTOP -O $(OUTDIR)\$(TARGET) -ORDER data_NE=0400,data_NO,bss_NE,bss_NO,program=0f80000,rom_FE,rom_FO,data_NEI,data_NOI
+CFLAGS	=	-c -I../../config/m32c-renesas -I../../config/m32c-renesas/oaks32 -I../../kernel -I../../include -I../../sample -I. -silent -dir $(OUTDIR) -g -DNEED_API -M82
+LMCFLAGS	=	-L
+AFLAGS	=	-LM -. -DRAMEND=07800h:MON=0:USE_KD3083=1 -I. -M82 -O$(OUTDIR)
+.SUFFIXES: .a30 .r30 .c .x30 .lib
+.PHONY: all
+all: \
+		$(OUTDIR)\$(TARGET) \
+		$(OUTDIR)\Jsp14sample1.mot 
+.PHONY: clean
+clean: 
+	$(DELETE) $(OUTDIR)\$(TARGET)
+	$(DELETE) $(ODINCMD)\$(LNLIST)
+	$(DELETE) $(OUTDIR)\kernel_cfg.c
+	$(DELETE) $(OUTDIR)\kernel_id.h
+	$(DELETE) $(OUTDIR)\m16cvec.inc
+	$(DELETE) $(OUTDIR)\start.r30
+	$(DELETE) $(OUTDIR)\sys_config.r30
+	$(DELETE) $(OUTDIR)\sfruart.r30
+	$(DELETE) $(OUTDIR)\cpu_config.r30
+	$(DELETE) $(OUTDIR)\cpu_support.r30
+	$(DELETE) $(OUTDIR)\startup.r30
+	$(DELETE) $(OUTDIR)\banner.r30
+	$(DELETE) $(OUTDIR)\exception.r30
+	$(DELETE) $(OUTDIR)\interrupt.r30
+	$(DELETE) $(OUTDIR)\sys_manage.r30
+	$(DELETE) $(OUTDIR)\task_manage.r30
+	$(DELETE) $(OUTDIR)\time_manage.r30
+	$(DELETE) $(OUTDIR)\task.r30
+	$(DELETE) $(OUTDIR)\wait.r30
+	$(DELETE) $(OUTDIR)\task_except.r30
+	$(DELETE) $(OUTDIR)\task_sync.r30
+	$(DELETE) $(OUTDIR)\time_event.r30
+	$(DELETE) $(OUTDIR)\cyclic.r30
+	$(DELETE) $(OUTDIR)\dataqueue.r30
+	$(DELETE) $(OUTDIR)\eventflag.r30
+	$(DELETE) $(OUTDIR)\mailbox.r30
+	$(DELETE) $(OUTDIR)\mempfix.r30
+	$(DELETE) $(OUTDIR)\semaphore.r30
+	$(DELETE) $(OUTDIR)\syslog.r30
+	$(DELETE) $(OUTDIR)\logtask.r30
+	$(DELETE) $(OUTDIR)\serial.r30
+	$(DELETE) $(OUTDIR)\timer.r30
+	$(DELETE) $(OUTDIR)\log_output.r30
+	$(DELETE) $(OUTDIR)\strerror.r30
+	$(DELETE) $(OUTDIR)\t_perror.r30
+	$(DELETE) $(OUTDIR)\vasyslog.r30
+	$(DELETE) $(OUTDIR)\kernel_cfg.r30
+	$(DELETE) $(OUTDIR)\sample1.r30
+	$(DELETE) $(OUTDIR)\sample1.cfg.i
+	$(DELETE) $(OUTDIR)\start.lst
+	$(DELETE) $(OUTDIR)\cpu_support.lst
+	$(DELETE) $(OUTDIR)\makeoffset.a30
+	$(DELETE) $(OUTDIR)\Jsp14sample1.map
+$(ODINCMD)\$(LNLIST): \
+		.\$(MKFILE) 
+	$(ECHO)\$(MRLFLAGS) $(LFLAGS) >	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\start.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sfruart.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_config.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cpu_support.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\startup.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\banner.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\exception.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\interrupt.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sys_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_manage.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\wait.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_except.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\task_sync.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\time_event.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\cyclic.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\dataqueue.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\eventflag.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mailbox.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\mempfix.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\semaphore.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\syslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\logtask.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\serial.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\timer.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\log_output.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\strerror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\t_perror.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\vasyslog.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\kernel_cfg.r30 >>	$(ODINCMD)\$(LNLIST)
+	$(ECHO)\$(OUTDIR)\sample1.r30 >>	$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\Jsp14sample1.mot: \
+		$(OUTDIR)\$(TARGET) 
+	$(LMC) -. -ID#00000000000000 $<
+$(OUTDIR)\$(TARGET): \
+		$(ODINCMD)\$(LNLIST) \
+		$(OUTDIR)\kernel_cfg.c \
+		$(OUTDIR)\kernel_id.h \
+		$(OUTDIR)\m16cvec.inc \
+		$(OUTDIR)\start.r30 \
+		$(OUTDIR)\sys_config.r30 \
+		$(OUTDIR)\sfruart.r30 \
+		$(OUTDIR)\cpu_config.r30 \
+		$(OUTDIR)\cpu_support.r30 \
+		$(OUTDIR)\startup.r30 \
+		$(OUTDIR)\banner.r30 \
+		$(OUTDIR)\exception.r30 \
+		$(OUTDIR)\interrupt.r30 \
+		$(OUTDIR)\sys_manage.r30 \
+		$(OUTDIR)\task_manage.r30 \
+		$(OUTDIR)\time_manage.r30 \
+		$(OUTDIR)\task.r30 \
+		$(OUTDIR)\wait.r30 \
+		$(OUTDIR)\task_except.r30 \
+		$(OUTDIR)\task_sync.r30 \
+		$(OUTDIR)\time_event.r30 \
+		$(OUTDIR)\cyclic.r30 \
+		$(OUTDIR)\dataqueue.r30 \
+		$(OUTDIR)\eventflag.r30 \
+		$(OUTDIR)\mailbox.r30 \
+		$(OUTDIR)\mempfix.r30 \
+		$(OUTDIR)\semaphore.r30 \
+		$(OUTDIR)\syslog.r30 \
+		$(OUTDIR)\logtask.r30 \
+		$(OUTDIR)\serial.r30 \
+		$(OUTDIR)\timer.r30 \
+		$(OUTDIR)\log_output.r30 \
+		$(OUTDIR)\strerror.r30 \
+		$(OUTDIR)\t_perror.r30 \
+		$(OUTDIR)\vasyslog.r30 \
+		$(OUTDIR)\kernel_cfg.r30 \
+		$(OUTDIR)\sample1.r30 
+	$(LN) @$(ODINCMD)\$(LNLIST)
+$(OUTDIR)\banner.r30: \
+		..\..\kernel\banner.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\banner.c
+$(OUTDIR)\cpu_config.r30: \
+		..\..\config\m32c-renesas\cpu_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m32c-renesas\cpu_config.c
+$(OUTDIR)\cpu_support.r30: \
+		..\..\config\m32c-renesas\cpu_support.a30 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m32c-renesas\cpu_support.a30
+$(OUTDIR)\cyclic.r30: \
+		..\..\kernel\cyclic.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\cyclic.c
+$(OUTDIR)\dataqueue.r30: \
+		..\..\kernel\dataqueue.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\dataqueue.c
+$(OUTDIR)\eventflag.r30: \
+		..\..\kernel\eventflag.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\eventflag.c
+$(OUTDIR)\exception.r30: \
+		..\..\kernel\exception.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\exception.c
+$(OUTDIR)\interrupt.r30: \
+		..\..\kernel\interrupt.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\interrupt.c
+$(OUTDIR)\kernel_cfg.c: \
+		.\sample1.cfg 
+	$(CPP) -I../../config/m32c-renesas/oaks32 -I../../config/m32c-renesas -I../../kernel -I../../include -I../../sample -I. $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\kernel_cfg.r30: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) kernel_cfg.c
+$(OUTDIR)\kernel_id.h: \
+		.\sample1.cfg 
+	$(CPP) -I../../config/m32c-renesas/oaks32 -I../../config/m32c-renesas -I../../kernel -I../../include -I../../sample -I. $< > sample1.cfg.i
+	..\..\cfg\cfg -cpu $(CPU) -system $(SYS) -s sample1.cfg.i
+$(OUTDIR)\log_output.r30: \
+		..\..\library\log_output.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\log_output.c
+$(OUTDIR)\logtask.r30: \
+		..\..\systask\logtask.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\logtask.c
+$(OUTDIR)\m16cvec.inc: \
+		$(OUTDIR)\kernel_cfg.c 
+	$(CPP) -I../../config/m32c-renesas/oaks32 -I../../config/m32c-renesas -I../../kernel -I../../include -I../../sample -I. $< > kernel_cfg.i
+	..\..\utils\m16c-renesas\m16cvec.exe -M0 -F0ffffdch
+$(OUTDIR)\mailbox.r30: \
+		..\..\kernel\mailbox.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mailbox.c
+$(OUTDIR)\mempfix.r30: \
+		..\..\kernel\mempfix.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\mempfix.c
+$(OUTDIR)\sample1.r30: \
+		..\..\sample\sample1.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\sample\sample1.c
+$(OUTDIR)\semaphore.r30: \
+		..\..\kernel\semaphore.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\semaphore.c
+$(OUTDIR)\serial.r30: \
+		..\..\systask\serial.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\serial.c
+$(OUTDIR)\sfruart.r30: \
+		..\..\config\m32c-renesas\oaks32\sfruart.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m32c-renesas\oaks32\sfruart.c
+$(OUTDIR)\start.r30: \
+		..\..\config\m32c-renesas\start.a30 \
+		$(OUTDIR)\m16cvec.inc 
+	$(AS) $(MRAFLAGS) $(AFLAGS) ..\..\config\m32c-renesas\start.a30
+$(OUTDIR)\startup.r30: \
+		..\..\kernel\startup.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\startup.c
+$(OUTDIR)\strerror.r30: \
+		..\..\library\strerror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\strerror.c
+$(OUTDIR)\sys_config.r30: \
+		..\..\config\m32c-renesas\oaks32\sys_config.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\config\m32c-renesas\oaks32\sys_config.c
+$(OUTDIR)\sys_manage.r30: \
+		..\..\kernel\sys_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\sys_manage.c
+$(OUTDIR)\syslog.r30: \
+		..\..\kernel\syslog.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\syslog.c
+$(OUTDIR)\t_perror.r30: \
+		..\..\library\t_perror.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\t_perror.c
+$(OUTDIR)\task.r30: \
+		..\..\kernel\task.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task.c
+$(OUTDIR)\task_except.r30: \
+		..\..\kernel\task_except.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_except.c
+$(OUTDIR)\task_manage.r30: \
+		..\..\kernel\task_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_manage.c
+$(OUTDIR)\task_sync.r30: \
+		..\..\kernel\task_sync.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\task_sync.c
+$(OUTDIR)\time_event.r30: \
+		..\..\kernel\time_event.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_event.c
+$(OUTDIR)\time_manage.r30: \
+		..\..\kernel\time_manage.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\time_manage.c
+$(OUTDIR)\timer.r30: \
+		..\..\systask\timer.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\systask\timer.c
+$(OUTDIR)\vasyslog.r30: \
+		..\..\library\vasyslog.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\library\vasyslog.c
+$(OUTDIR)\wait.r30: \
+		..\..\kernel\wait.c 
+	$(CC) $(MRCFLAGS) $(CFLAGS) ..\..\kernel\wait.c
+####################################################################
+# End of makefile for TM V.3.20A
+# COPYRIGHT(C) 1998(1998-2003)
+# RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED
+# AND
+# RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
+####################################################################
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/M32C-RENESAS/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.1 2005/07/05 07:15:42 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../systask/timer.cfg"
+#include "../../systask/serial.cfg"
+#include "../../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.top
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.top	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.top	(revision 26)
@@ -0,0 +1,434 @@
+[Builder]
+ptn_Child1=DockState
+ptn_Child2=ToolBarMgr
+ptn_Child3=Frames
+[Builder.DockState]
+Bars=13
+ScreenCX=1600
+ScreenCY=1200
+ptn_Child1=Bar-0
+ptn_Child2=Bar-1
+ptn_Child3=Bar-2
+ptn_Child4=Bar-3
+ptn_Child5=Bar-4
+ptn_Child6=Bar-5
+ptn_Child7=Bar-6
+ptn_Child8=Bar-7
+ptn_Child9=Bar-8
+ptn_Child10=Bar-9
+ptn_Child11=Bar-10
+ptn_Child12=Bar-11
+ptn_Child13=Bar-12
+[Builder.DockState.Bar-0]
+BarID=59393
+Style=32768
+ExStyle=0
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=0
+MRUHorzDockCY=0
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=0
+TypeID=0
+ClassName=SECStatusBar
+WindowName=
+ResourceID=0
+[Builder.DockState.Bar-1]
+BarID=59419
+Bars=14
+Bar#0=0
+Bar#1=59392
+Bar#2=59397
+Bar#3=0
+Bar#4=59399
+Bar#5=0
+Bar#6=59400
+Bar#7=0
+Bar#8=59398
+Bar#9=0
+Bar#10=59402
+Bar#11=0
+Bar#12=59403
+Bar#13=0
+Style=0
+ExStyle=0
+PrevFloating=False
+MDIChild=False
+PctWidth=0
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=0
+MRUHorzDockCY=0
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=0
+TypeID=0
+ClassName=
+WindowName=
+ResourceID=0
+[Builder.DockState.Bar-2]
+BarID=59422
+Bars=3
+Bar#0=0
+Bar#1=256
+Bar#2=0
+Style=0
+ExStyle=0
+PrevFloating=False
+MDIChild=False
+PctWidth=0
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=0
+MRUHorzDockCY=0
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=0
+TypeID=0
+ClassName=
+WindowName=
+ResourceID=0
+[Builder.DockState.Bar-3]
+BarID=59420
+Bars=3
+Bar#0=0
+Bar#1=257
+Bar#2=0
+Style=0
+ExStyle=0
+PrevFloating=False
+MDIChild=False
+PctWidth=0
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=0
+MRUHorzDockCY=0
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=0
+TypeID=0
+ClassName=
+WindowName=
+ResourceID=0
+[Builder.DockState.Bar-4]
+BarID=59392
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=-1
+MRUDockRightPos=583
+MRUDockBottomPos=29
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=500000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=584
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Standard
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-4.ToolBarInfoEx]
+Title=Standard
+Buttons=AABOAAAAAABABOAAAAAADABOAAAAAABPCNAAAAAAAAAAAAAAAADCBOAAAAAACCBOAAAAAAFCBOAAAAAAAAAAAAAAAALCBOAAAAAAMCBOAAAAAAAAAAAAAAAABAOIAAAAAABAMIAAAAAAAAAAAAAAAAAANIAAAAAABBDNAAAACAELAANADNAAAAAAOADNAAAAAAAAAAAAAAAADEBOAAAAAA
+[Builder.DockState.Bar-5]
+BarID=59397
+XPos=666
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=666
+MRUDockTopPos=-1
+MRUDockRightPos=908
+MRUDockBottomPos=29
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=500000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=242
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Window
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-5.ToolBarInfoEx]
+Title=Window
+Buttons=CDBOAAAAAADDBOAAAAAAEDBOAAAAAAEPCNAAAAAAGBDNAAAAAAAAAAAAAAAANCJJAAAAAAFDBOAAAAAAAAAAAAAAAAECJJAAAAAADCJJAAAAAA
+[Builder.DockState.Bar-6]
+BarID=59399
+Visible=False
+YPos=33
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=33
+MRUDockRightPos=403
+MRUDockBottomPos=63
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=1163
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=404
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Browse
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-6.ToolBarInfoEx]
+Title=Browse
+Buttons=AJKJAAAACAIMAABJKJAAAAAAAAAAAAAAAALCKJAAAAAAMCKJAAAAAANCKJAAAAAAAAAAAAAAAAKOIJAAAAAAAAAAAAAAAADCJJAAAAAAECJJAAAAAA
+[Builder.DockState.Bar-7]
+BarID=59400
+Visible=False
+YPos=33
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=33
+MRUDockRightPos=110
+MRUDockBottomPos=63
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=1163
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=111
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Bookmark
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-7.ToolBarInfoEx]
+Title=Bookmark
+Buttons=DOPKAAAAAAEOPKAAAAAAFOPKAAAAAAGOPKAAAAAA
+[Builder.DockState.Bar-8]
+BarID=256
+XPos=1
+YPos=5
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=1
+MRUDockTopPos=5
+MRUDockRightPos=1600
+MRUDockBottomPos=347
+MRUFloatStyle=4
+MRUFloatXPos=-1
+MRUFloatYPos=1163
+Style=36756
+ExStyle=3888
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=300
+MRUFloatCY=180
+MRUHorzDockCX=1599
+MRUHorzDockCY=342
+MRUVertDockCX=300
+MRUVertDockCY=180
+MRUDockingState=0
+DockingStyle=61440
+TypeID=0
+ClassName=COutputDocking
+WindowName=ã¢ã¦ãããã
+ResourceID=0
+[Builder.DockState.Bar-9]
+BarID=257
+XPos=0
+YPos=-2
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=0
+MRUDockTopPos=-2
+MRUDockRightPos=200
+MRUDockBottomPos=700
+MRUFloatStyle=4
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=8084
+ExStyle=3888
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=300
+MRUFloatCY=180
+MRUHorzDockCX=300
+MRUHorzDockCY=180
+MRUVertDockCX=200
+MRUVertDockCY=702
+MRUDockingState=0
+DockingStyle=61440
+TypeID=0
+ClassName=CWorkspaceDocking
+WindowName=ã¯ã¼ã¯ã¹ãã¼ã¹
+ResourceID=0
+[Builder.DockState.Bar-10]
+BarID=59398
+Visible=False
+YPos=33
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=33
+MRUDockRightPos=225
+MRUDockBottomPos=63
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=226
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Debug
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-10.ToolBarInfoEx]
+Title=Debug
+Buttons=IFIJAAAAAALFIJAAAAAAMFIJAAAAAANFIJAAAAAAOFIJAAAAAAPFIJAAAAAACGIJAAAAAADAJJAAAAAAFGIJAAAAAA
+[Builder.DockState.Bar-11]
+BarID=59403
+YPos=29
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=29
+MRUDockRightPos=210
+MRUDockBottomPos=59
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=211
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Build
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-11.ToolBarInfoEx]
+Title=Build
+Buttons=EAPIAAAACAEGAABGPIAAAAAACGPIAAAAAAAGPIAAAAAANGPIAAAAAA
+[Builder.DockState.Bar-12]
+BarID=59402
+Visible=False
+YPos=33
+Docking=True
+MRUDockID=0
+MRUDockLeftPos=-1
+MRUDockTopPos=33
+MRUDockRightPos=118
+MRUDockBottomPos=63
+MRUFloatStyle=8196
+MRUFloatXPos=-1
+MRUFloatYPos=0
+Style=12212
+ExStyle=780
+PrevFloating=False
+MDIChild=False
+PctWidth=1000000
+MRUFloatCX=0
+MRUFloatCY=0
+MRUHorzDockCX=119
+MRUHorzDockCY=30
+MRUVertDockCX=0
+MRUVertDockCY=0
+MRUDockingState=0
+DockingStyle=61440
+TypeID=14946
+ClassName=CMySECCustomToolBar
+WindowName=Version Control
+ResourceID=0
+ptn_Child1=ToolBarInfoEx
+[Builder.DockState.Bar-12.ToolBarInfoEx]
+Title=Version Control
+Buttons=PGPIAAAAAAAHPIAAAAAABHPIAAAAAAAAAAAAAAAADHPIAAAAAA
+[Builder.ToolBarMgr]
+ToolTips=True
+CoolLook=True
+LargeButtons=False
+[Builder.Frames]
+ptn_Child1=MainFrame
+ptn_Child2=ChildFrames
+[Builder.Frames.MainFrame]
+WindowPlacement=MCAAAAAACAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAPPPPPPPPPPPPPPPPCEAAAAAAHFAAAAAACPEAAAAANKDAAAAA
+Title=TLCS900-TOSHIBA - TOSHIBA Integrated Development Environment
+[Builder.Frames.ChildFrames]
+ptn_Child1=Document-0
+[Format Version]
+Version=2.0
+[OpenProjectFolder]
+Zup-F16-ex\Zup-F16-ex.TBP=Source Files;Header Files;
+[OpenProjectExpand]
+Zup-F16-ex\Zup-F16-ex.TBP=1
+[DebugView]
+ProfileFolderExpand=1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.tws
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.tws	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/TLCS900-TOSHIBA.tws	(revision 26)
@@ -0,0 +1,12 @@
+[SIGNATURE]
+VERSION=0000
+TYPE=TIDE_WSP
+[Builder]
+LinkProject=1
+Composition=Debug
+LinkProject0=Zup-F16-ex.abs;
+LinkProject1=Zup-F16-ex.abs;
+[PROJECT]
+Zup-F16-ex=.\Zup-F16-ex
+[PRIMARY_PROJECT]
+NAME=Zup-F16-ex
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.TBP
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.TBP	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.TBP	(revision 26)
@@ -0,0 +1,391 @@
+###############################################
+##
+## TLCS-900 Project file
+##
+
+[PROJECT]
+Name=Zup-F16-ex
+Output=Zup-F16-ex.abs
+Folder=Source Files;Header Files;Resource Files
+CurrentTarget=Debug
+Target=Debug;Release;
+CPUFAMILY=TLCS-900
+CPU=TLCS-900
+CPUxx=900
+LCF=
+TARGET_CPU=TARGET_HOME
+SOURCECOUNT=0
+
+[Source Files]
+FILTER=c;asm;cpp;cxx;cc;src;cl;mac;app;eas
+SourceCount=34
+Source0=..\..\..\kernel\banner.c
+Source1=..\..\..\kernel\cyclic.c
+Source2=..\..\..\kernel\dataqueue.c
+Source3=..\..\..\kernel\eventflag.c
+Source4=..\..\..\kernel\exception.c
+Source5=..\..\..\kernel\interrupt.c
+Source6=..\..\..\kernel\mailbox.c
+Source7=..\..\..\kernel\mempfix.c
+Source8=..\..\..\kernel\semaphore.c
+Source9=..\..\..\kernel\startup.c
+Source10=..\..\..\kernel\sys_manage.c
+Source11=..\..\..\kernel\syslog.c
+Source12=..\..\..\kernel\task.c
+Source13=..\..\..\kernel\task_except.c
+Source14=..\..\..\kernel\task_manage.c
+Source15=..\..\..\kernel\task_sync.c
+Source16=..\..\..\kernel\time_event.c
+Source17=..\..\..\kernel\time_manage.c
+Source18=..\..\..\kernel\wait.c
+Source19=..\..\..\library\log_output.c
+Source20=..\..\..\library\strerror.c
+Source21=..\..\..\library\t_perror.c
+Source22=..\..\..\library\vasyslog.c
+Source23=..\..\..\systask\timer.c
+Source24=..\..\..\systask\logtask.c
+Source25=..\..\..\systask\serial.c
+Source26=..\..\..\config\tlcs900-toshiba\cpu_config.c
+Source27=..\..\..\config\tlcs900-toshiba\cpu_support.app
+Source28=..\..\..\config\tlcs900-toshiba\start.app
+Source29=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c
+Source30=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_support.app
+Source31=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.c
+Source32=kernel_cfg.c
+Source33=..\..\..\sample\sample1.c
+
+[Header Files]
+FILTER=h;inc
+SourceCount=52
+Source0=..\..\..\kernel\check.h
+Source1=..\..\..\kernel\cyclic.h
+Source2=..\..\..\kernel\dataqueue.h
+Source3=..\..\..\kernel\eventflag.h
+Source4=..\..\..\kernel\exception.h
+Source5=..\..\..\kernel\interrupt.h
+Source6=..\..\..\kernel\jsp_kernel.h
+Source7=..\..\..\kernel\jsp_rename.h
+Source8=..\..\..\kernel\jsp_unrename.h
+Source9=..\..\..\kernel\mailbox.h
+Source10=..\..\..\kernel\mempfix.h
+Source11=..\..\..\kernel\queue.h
+Source12=..\..\..\kernel\semaphore.h
+Source13=..\..\..\kernel\syslog.h
+Source14=..\..\..\kernel\task.h
+Source15=..\..\..\kernel\time_event.h
+Source16=..\..\..\kernel\wait.h
+Source17=..\..\..\include\itron.h
+Source18=..\..\..\include\kernel.h
+Source19=..\..\..\include\kernel_cfg.h
+Source20=..\..\..\include\kernel_debug.h
+Source21=..\..\..\include\logtask.h
+Source22=..\..\..\include\s_services.h
+Source23=..\..\..\include\serial.h
+Source24=..\..\..\include\sil.h
+Source25=..\..\..\include\t_config.h
+Source26=..\..\..\include\t_services.h
+Source27=..\..\..\include\t_stddef.h
+Source28=..\..\..\include\t_syslog.h
+Source29=..\..\..\include\timer.h
+Source30=..\..\..\config\tlcs900-toshiba\api.h
+Source31=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Source32=..\..\..\config\tlcs900-toshiba\cpu_context.h
+Source33=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Source34=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Source35=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Source36=..\..\..\config\tlcs900-toshiba\cpu_unrename.h
+Source37=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Source38=..\..\..\config\tlcs900-toshiba\tool_config.h
+Source39=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Source40=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Source41=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Source42=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Source43=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Source44=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Source45=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h
+Source46=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Source47=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Source48=..\..\..\sample\sample1.h
+Source49=kernel_id.h
+Source50=offset.inc
+Source51=tlcs900vec.inc
+
+[Resource Files]
+FILTER=
+SourceCount=11
+Source0=readme.txt
+Source1=..\..\..\systask\serial.cfg
+Source2=..\..\..\systask\timer.cfg
+Source3=..\..\..\systask\logtask.cfg
+Source4=..\..\..\kernel\jsp_rename.def
+Source5=..\..\..\config\tlcs900-toshiba\cpu_rename.def
+Source6=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg
+Source7=..\..\..\config\tlcs900-toshiba\zup_f16_ex\zup_f16_ex.lcf
+Source8=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.def
+Source9=sample1.cfg
+Source10=..\..\..\config\tlcs900-toshiba\makeoffset.c
+
+[PROJECT!MACRO!Debug]
+DefaultTEMP=.\debug
+DefaultOUTPUT=.\debug
+DefaultDEBUG=D:\jsp141_win\tools\TLCS900L1-TOSHIBA\Zup-F16-ex\debug\Zup-F16-ex.abs
+DefaultWORK=C:\Documents and Settings\admin\Local Settings\Temp
+
+TEMP=.\debug
+OUTPUT=.\debug
+DEBUG=D:\jsp141_win\tools\TLCS900L1-TOSHIBA\Zup-F16-ex\debug\Zup-F16-ex.abs
+WORK=C:\Documents and Settings\admin\Local Settings\Temp
+
+TARGET=Debug\Zup-F16-ex.abs
+TARGET_NAME=Zup-F16-ex.abs
+
+DefaultProjectDEBUGINFO=1
+ProjectDEBUGINFO=1
+
+DefaultCompile=-w1 -O0 -g -Xc -Xp2 -XS
+DefaultLink=-o.\debug\Zup-F16-ex.abs -la -w1 -ga c900ml.lib
+DefaultConvert=-Fs32
+ProjectConvert=-Fh20 -ra 0xFC0000,0x040000,0x010000,
+ProjectCompile=-w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I ../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS
+ProjectLink=-o.\debug\Zup-F16-ex.abs -la -w1 -ga c900ml.lib
+BlankCompileOption=0
+ProjectBeforeBuildTitle=ã³ã³ãã£ã°ã¬ã¼ã¿ã»ã¦ã¼ãã£ãªãã£ã®å®è¡
+ProjectBeforeBuildCommandCount=8
+ProjectBeforeBuildCommand-0=cp ./sample1.cfg ./sample1.cfg.c
+ProjectBeforeBuildCommand-1=$(CC) -P -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS sample1.cfg.c -o sample1.cfg.i
+ProjectBeforeBuildCommand-2=../../../cfg/cfg.exe -cpu tlcs900-toshiba -system zup_f16_ex -s sample1.cfg.i
+ProjectBeforeBuildCommand-3=rm ./sample1.cfg.c
+ProjectBeforeBuildCommand-4=$(CC) -P -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS kernel_cfg.c -o kernel_cfg.i
+ProjectBeforeBuildCommand-5=../../../utils/tlcs900-toshiba/tlcs900vec.exe -Rkernel_cfg.i -otlcs900vec.inc
+ProjectBeforeBuildCommand-6=$(CC) -S -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS ../../../config/tlcs900-toshiba/makeoffset.c -o makeoffset.asm
+ProjectBeforeBuildCommand-7=../../../utils/tlcs900-toshiba/tlcs900offset.exe -Rmakeoffset.asm -ooffset.inc
+ProjectBeforeBuildCommand-8=
+ProjectBeforeBuildCommand-9=
+
+[PROJECT!MACRO!Release]
+DefaultTEMP=.\release
+DefaultOUTPUT=.\release
+DefaultDEBUG=D:\jsp141_win\tools\TLCS900L1-TOSHIBA\Zup-F16-ex\release\Zup-F16-ex.abs
+DefaultWORK=C:\Documents and Settings\admin\Local Settings\Temp
+
+TEMP=.\release
+OUTPUT=.\release
+DEBUG=D:\jsp141_win\tools\TLCS900L1-TOSHIBA\Zup-F16-ex\release\Zup-F16-ex.abs
+WORK=C:\Documents and Settings\admin\Local Settings\Temp
+
+TARGET=.\release\Zup-F16-ex.abs
+TARGET_NAME=Zup-F16-ex.abs
+
+DefaultCompile=-w1 -O0 -g -Xc -Xp2 -XS
+DefaultLink=-o.\release\Zup-F16-ex.abs -la -w1 -ga c900ml.lib
+DefaultConvert=-Fs32
+ProjectConvert=-Fh20 -ra 0xFC0000,0x040000,0x010000,
+ProjectCompile=-w3 -O3 -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I ../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS
+ProjectLink=-o.\release\Zup-F16-ex.abs -la -w1 c900ml.lib
+BlankCompileOption=0
+ProjectDEBUGINFO=0
+ProjectBeforeBuildTitle=ã³ã³ãã£ã°ã¬ã¼ã¿ã»ã¦ã¼ãã£ãªãã£ã®å®è¡
+ProjectBeforeBuildCommandCount=8
+ProjectBeforeBuildCommand-0=cp ./sample1.cfg ./sample1.cfg.c
+ProjectBeforeBuildCommand-1=$(CC) -P -w3 -O3 -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS sample1.cfg.c -o sample1.cfg.i
+ProjectBeforeBuildCommand-2=../../../cfg/cfg.exe -cpu tlcs900-toshiba -system zup_f16_ex -s sample1.cfg.i
+ProjectBeforeBuildCommand-3=rm ./sample1.cfg.c
+ProjectBeforeBuildCommand-4=$(CC) -P -w3 -O3 -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS kernel_cfg.c -o kernel_cfg.i
+ProjectBeforeBuildCommand-5=../../../utils/tlcs900-toshiba/tlcs900vec.exe -Rkernel_cfg.i -otlcs900vec.inc
+ProjectBeforeBuildCommand-6=$(CC) -S -w3 -O3 -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS ../../../config/tlcs900-toshiba/makeoffset.c -o makeoffset.asm
+ProjectBeforeBuildCommand-7=../../../utils/tlcs900-toshiba/tlcs900offset.exe -Rmakeoffset.asm -ooffset.inc
+ProjectBeforeBuildCommand-8=
+ProjectBeforeBuildCommand-9=
+[Debug!..\..\..\config\tlcs900-toshiba\makeoffset.c]
+NoBuild=1
+[Debug!..\..\..\kernel\banner.c]
+[Debug!..\..\..\kernel\cyclic.c]
+[Debug!..\..\..\kernel\dataqueue.c]
+[Debug!..\..\..\kernel\eventflag.c]
+[Debug!..\..\..\kernel\exception.c]
+[Debug!..\..\..\kernel\interrupt.c]
+[Debug!..\..\..\kernel\mailbox.c]
+[Debug!..\..\..\kernel\mempfix.c]
+[Debug!..\..\..\kernel\semaphore.c]
+[Debug!..\..\..\kernel\startup.c]
+[Debug!..\..\..\kernel\sys_manage.c]
+[Debug!..\..\..\kernel\syslog.c]
+[Debug!..\..\..\kernel\task.c]
+[Debug!..\..\..\kernel\task_except.c]
+[Debug!..\..\..\kernel\task_manage.c]
+[Debug!..\..\..\kernel\task_sync.c]
+[Debug!..\..\..\kernel\time_event.c]
+[Debug!..\..\..\kernel\time_manage.c]
+[Debug!..\..\..\kernel\wait.c]
+[Debug!..\..\..\library\log_output.c]
+[Debug!..\..\..\library\strerror.c]
+[Debug!..\..\..\library\t_perror.c]
+[Debug!..\..\..\library\vasyslog.c]
+[Debug!..\..\..\systask\timer.c]
+[Debug!..\..\..\systask\logtask.c]
+[Debug!..\..\..\systask\serial.c]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_config.c]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_support.app]
+[Debug!..\..\..\config\tlcs900-toshiba\start.app]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_support.app]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.c]
+[Debug!..\..\..\kernel\check.h]
+[Debug!..\..\..\kernel\cyclic.h]
+[Debug!..\..\..\kernel\dataqueue.h]
+[Debug!..\..\..\kernel\eventflag.h]
+[Debug!..\..\..\kernel\exception.h]
+[Debug!..\..\..\kernel\interrupt.h]
+[Debug!..\..\..\kernel\jsp_kernel.h]
+[Debug!..\..\..\kernel\jsp_rename.h]
+[Debug!..\..\..\kernel\jsp_unrename.h]
+[Debug!..\..\..\kernel\mailbox.h]
+[Debug!..\..\..\kernel\mempfix.h]
+[Debug!..\..\..\kernel\queue.h]
+[Debug!..\..\..\kernel\semaphore.h]
+[Debug!..\..\..\kernel\syslog.h]
+[Debug!..\..\..\kernel\task.h]
+[Debug!..\..\..\kernel\time_event.h]
+[Debug!..\..\..\kernel\wait.h]
+[Debug!..\..\..\include\itron.h]
+[Debug!..\..\..\include\kernel.h]
+[Debug!..\..\..\include\kernel_cfg.h]
+[Debug!..\..\..\include\kernel_debug.h]
+[Debug!..\..\..\include\logtask.h]
+[Debug!..\..\..\include\s_services.h]
+[Debug!..\..\..\include\serial.h]
+[Debug!..\..\..\include\sil.h]
+[Debug!..\..\..\include\t_config.h]
+[Debug!..\..\..\include\t_services.h]
+[Debug!..\..\..\include\t_stddef.h]
+[Debug!..\..\..\include\t_syslog.h]
+[Debug!..\..\..\include\timer.h]
+[Debug!..\..\..\config\tlcs900-toshiba\api.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_config.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_context.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_defs.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_insn.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_rename.h]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_unrename.h]
+[Debug!..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h]
+[Debug!..\..\..\config\tlcs900-toshiba\tool_config.h]
+[Debug!..\..\..\config\tlcs900-toshiba\tool_defs.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h]
+[Debug!kernel_id.h]
+[Debug!offset.inc]
+[Debug!readme.txt]
+[Debug!..\..\..\systask\serial.cfg]
+[Debug!..\..\..\systask\timer.cfg]
+[Debug!..\..\..\systask\logtask.cfg]
+[Debug!..\..\..\kernel\jsp_rename.def]
+[Debug!..\..\..\config\tlcs900-toshiba\cpu_rename.def]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.def]
+[Debug!sample1.cfg]
+[Release!..\..\..\kernel\banner.c]
+[Release!..\..\..\kernel\cyclic.c]
+[Release!..\..\..\kernel\dataqueue.c]
+[Release!..\..\..\kernel\eventflag.c]
+[Release!..\..\..\kernel\exception.c]
+[Release!..\..\..\kernel\interrupt.c]
+[Release!..\..\..\kernel\mailbox.c]
+[Release!..\..\..\kernel\mempfix.c]
+[Release!..\..\..\kernel\semaphore.c]
+[Release!..\..\..\kernel\startup.c]
+[Release!..\..\..\kernel\sys_manage.c]
+[Release!..\..\..\kernel\syslog.c]
+[Release!..\..\..\kernel\task.c]
+[Release!..\..\..\kernel\task_except.c]
+[Release!..\..\..\kernel\task_manage.c]
+[Release!..\..\..\kernel\task_sync.c]
+[Release!..\..\..\kernel\time_event.c]
+[Release!..\..\..\kernel\time_manage.c]
+[Release!..\..\..\kernel\wait.c]
+[Release!..\..\..\library\log_output.c]
+[Release!..\..\..\library\strerror.c]
+[Release!..\..\..\library\t_perror.c]
+[Release!..\..\..\library\vasyslog.c]
+[Release!..\..\..\systask\timer.c]
+[Release!..\..\..\systask\logtask.c]
+[Release!..\..\..\systask\serial.c]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_config.c]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_support.app]
+[Release!..\..\..\config\tlcs900-toshiba\start.app]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_support.app]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.c]
+[Release!..\..\..\kernel\check.h]
+[Release!..\..\..\kernel\cyclic.h]
+[Release!..\..\..\kernel\dataqueue.h]
+[Release!..\..\..\kernel\eventflag.h]
+[Release!..\..\..\kernel\exception.h]
+[Release!..\..\..\kernel\interrupt.h]
+[Release!..\..\..\kernel\jsp_kernel.h]
+[Release!..\..\..\kernel\jsp_rename.h]
+[Release!..\..\..\kernel\jsp_unrename.h]
+[Release!..\..\..\kernel\mailbox.h]
+[Release!..\..\..\kernel\mempfix.h]
+[Release!..\..\..\kernel\queue.h]
+[Release!..\..\..\kernel\semaphore.h]
+[Release!..\..\..\kernel\syslog.h]
+[Release!..\..\..\kernel\task.h]
+[Release!..\..\..\kernel\time_event.h]
+[Release!..\..\..\kernel\wait.h]
+[Release!..\..\..\include\itron.h]
+[Release!..\..\..\include\kernel.h]
+[Release!..\..\..\include\kernel_cfg.h]
+[Release!..\..\..\include\kernel_debug.h]
+[Release!..\..\..\include\logtask.h]
+[Release!..\..\..\include\s_services.h]
+[Release!..\..\..\include\serial.h]
+[Release!..\..\..\include\sil.h]
+[Release!..\..\..\include\t_config.h]
+[Release!..\..\..\include\t_services.h]
+[Release!..\..\..\include\t_stddef.h]
+[Release!..\..\..\include\t_syslog.h]
+[Release!..\..\..\include\timer.h]
+[Release!..\..\..\config\tlcs900-toshiba\api.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_config.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_context.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_defs.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_insn.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_rename.h]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_unrename.h]
+[Release!..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h]
+[Release!..\..\..\config\tlcs900-toshiba\tool_config.h]
+[Release!..\..\..\config\tlcs900-toshiba\tool_defs.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h]
+[Release!kernel_id.h]
+[Release!offset.inc]
+[Release!readme.txt]
+[Release!..\..\..\systask\serial.cfg]
+[Release!..\..\..\systask\timer.cfg]
+[Release!..\..\..\systask\logtask.cfg]
+[Release!..\..\..\kernel\jsp_rename.def]
+[Release!..\..\..\config\tlcs900-toshiba\cpu_rename.def]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.def]
+[Release!sample1.cfg]
+[Release!..\..\..\config\tlcs900-toshiba\makeoffset.c]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h]
+[Debug!..\..\..\config\tlcs900-toshiba\zup_f16_ex\zup_f16_ex.lcf]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h]
+[Release!..\..\..\config\tlcs900-toshiba\zup_f16_ex\zup_f16_ex.lcf]
+[Debug!..\..\..\sample\sample1.h]
+[Debug!tlcs900vec.inc]
+[Release!..\..\..\sample\sample1.h]
+[Release!tlcs900vec.inc]
+[Release!..\..\..\sample\sample1.c]
+[Release!kernel_cfg.c]
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.plg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.plg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.plg	(revision 26)
@@ -0,0 +1,145 @@
+I-008-1000:ãã«ãã®æºåä¸­...
+I-008-1400:--------------------æ§æï¼[Zup-F16-ex.abs] - [Debug] --------------------
+ã³ã³ãã£ã°ã¬ã¼ã¿ã»ã¦ã¼ãã£ãªãã£ã®å®è¡
+cp ./sample1.cfg ./sample1.cfg.c
+cc900 -P -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS sample1.cfg.c -o sample1.cfg.i
+../../../cfg/cfg.exe -cpu tlcs900-toshiba -system zup_f16_ex -s sample1.cfg.i
+rm ./sample1.cfg.c
+cc900 -P -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS kernel_cfg.c -o kernel_cfg.i
+../../../utils/tlcs900-toshiba/tlcs900vec.exe -Rkernel_cfg.i -otlcs900vec.inc
+input file   = kernel_cfg.i
+output file  = tlcs900vec.inc
+timer_handler_entry
+serial_in_handler1_entry
+serial_out_handler1_entry
+cpuexc_handler_entry
+cc900 -S -w3 -O3 -g -Xub -Xuc -Xw -A -Xc -Xp2 -XF -DLABEL_ASM -I ../../../include -I ../../../kernel -I ../../../systask -I../../../sample -I ../../../config/tlcs900-toshiba -I ../../../config/tlcs900-toshiba/zup_f16_ex -I ./ -XS ../../../config/tlcs900-toshiba/makeoffset.c -o makeoffset.asm
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\../../../config/tlcs900-toshiba/makeoffset.c 140: THC1-Warning-582: No function prototype 'pc'
+../../../utils/tlcs900-toshiba/tlcs900offset.exe -Rmakeoffset.asm -ooffset.inc
+input file   = makeoffset.asm
+output file  = offset.inc
+TCB_texptn	equ	14
+TCB_sp		equ	20
+TCB_pc	equ	24
+TCB_enatex	equ	12
+TCB_enatex_mask	equ	0x4000
+TCB_enatex_bit	equ	14
+I-008-1500:ã³ã³ãã¤ã«ä¸­...
+I-008-1300:..\..\..\kernel\banner.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\banner.c 187: THC2-Warning-556: "log" used before set in '_kernel_print_banner'
+I-008-1300:..\..\..\kernel\cyclic.c
+I-008-1300:..\..\..\kernel\dataqueue.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 174: THC2-Warning-556: "log" used before set in '_kernel_send_data_rwait'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 174: THC2-Warning-556: "log" used before set in '_kernel_send_data_rwait'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 174: THC2-Warning-556: "log" used before set in '_kernel_receive_data_swait'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 174: THC2-Warning-556: "log" used before set in '_kernel_receive_data_swait'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 224: THC2-Warning-556: "winfo" used before set in 'snd_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 345: THC2-Warning-556: "winfo" used before set in 'tsnd_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 345: THC2-Warning-556: "tmevtb" used before set in 'tsnd_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 468: THC2-Warning-556: "winfo" used before set in 'rcv_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 468: THC2-Warning-556: "data" used before set in 'rcv_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 525: THC2-Warning-556: "data" used before set in 'prcv_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 571: THC2-Warning-556: "winfo" used before set in 'trcv_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 571: THC2-Warning-556: "tmevtb" used before set in 'trcv_dtq'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\dataqueue.c 571: THC2-Warning-556: "data" used before set in 'trcv_dtq'
+I-008-1300:..\..\..\kernel\eventflag.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 174: THC2-Warning-556: "log" used before set in 'set_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 174: THC2-Warning-556: "log" used before set in 'iset_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 247: THC2-Warning-556: "winfo" used before set in 'wai_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 174: THC2-Warning-556: "log" used before set in 'wai_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 174: THC2-Warning-556: "log" used before set in 'pol_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 329: THC2-Warning-556: "winfo" used before set in 'twai_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 329: THC2-Warning-556: "tmevtb" used before set in 'twai_flg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\eventflag.c 174: THC2-Warning-556: "log" used before set in 'twai_flg'
+I-008-1300:..\..\..\kernel\exception.c
+I-008-1300:..\..\..\kernel\interrupt.c
+I-008-1300:..\..\..\kernel\mailbox.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 121: THC1-Warning-550: Illegal pointer operation '=', type mismatch
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 174: THC2-Warning-556: "log" used before set in 'snd_mbx'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 174: THC2-Warning-556: "log" used before set in 'snd_mbx'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 187: THC2-Warning-556: "winfo" used before set in 'rcv_mbx'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 261: THC2-Warning-556: "winfo" used before set in 'trcv_mbx'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mailbox.c 261: THC2-Warning-556: "tmevtb" used before set in 'trcv_mbx'
+I-008-1300:..\..\..\kernel\mempfix.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mempfix.c 142: THC2-Warning-556: "winfo" used before set in 'get_mpf'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mempfix.c 212: THC2-Warning-556: "winfo" used before set in 'tget_mpf'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mempfix.c 212: THC2-Warning-556: "tmevtb" used before set in 'tget_mpf'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mempfix.c 174: THC2-Warning-556: "log" used before set in 'rel_mpf'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\mempfix.c 174: THC2-Warning-556: "log" used before set in 'rel_mpf'
+I-008-1300:..\..\..\kernel\semaphore.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 174: THC2-Warning-556: "log" used before set in 'sig_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 174: THC2-Warning-556: "log" used before set in 'sig_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 174: THC2-Warning-556: "log" used before set in 'isig_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 174: THC2-Warning-556: "log" used before set in 'isig_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 184: THC2-Warning-556: "winfo" used before set in 'wai_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 253: THC2-Warning-556: "winfo" used before set in 'twai_sem'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\semaphore.c 253: THC2-Warning-556: "tmevtb" used before set in 'twai_sem'
+I-008-1300:..\..\..\kernel\startup.c
+I-008-1300:..\..\..\kernel\sys_manage.c
+I-008-1300:..\..\..\kernel\syslog.c
+I-008-1300:..\..\..\kernel\task.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task.c 174: THC2-Warning-556: "log" used before set in '_kernel_make_non_runnable'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task.c 174: THC2-Warning-556: "log" used before set in '_kernel_change_priority'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task.c 174: THC2-Warning-556: "log" used before set in '_kernel_rotate_ready_queue'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task.c 174: THC2-Warning-556: "log" used before set in '_kernel_rotate_ready_queue'
+I-008-1300:..\..\..\kernel\task_except.c
+I-008-1300:..\..\..\kernel\task_manage.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_manage.c 153: THC2-Warning-556: "log" used before set in 'ext_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_manage.c 153: THC2-Warning-556: "log" used before set in 'ext_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_manage.c 153: THC2-Warning-556: "log" used before set in 'ext_tsk'
+I-008-1300:..\..\..\kernel\task_sync.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 453: THC1-Warning-543: Constant in conditional expression
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 453: THC1-Warning-543: Constant in conditional expression
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 55: THC2-Warning-556: "winfo" used before set in 'slp_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 90: THC2-Warning-556: "winfo" used before set in 'tslp_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 90: THC2-Warning-556: "tmevtb" used before set in 'tslp_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 446: THC2-Warning-556: "winfo" used before set in 'dly_tsk'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\task_sync.c 446: THC2-Warning-556: "tmevtb" used before set in 'dly_tsk'
+I-008-1300:..\..\..\kernel\time_event.c
+I-008-1300:..\..\..\kernel\time_manage.c
+I-008-1300:..\..\..\kernel\wait.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\wait.c 174: THC2-Warning-556: "log" used before set in '_kernel_make_wait_tmout'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\wait.c 174: THC2-Warning-556: "log" used before set in '_kernel_wait_complete'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\wait.c 174: THC2-Warning-556: "log" used before set in '_kernel_wait_tmout'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\wait.c 174: THC2-Warning-556: "log" used before set in '_kernel_wait_tmout_ok'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\kernel\wait.c 174: THC2-Warning-556: "log" used before set in '_kernel_wait_release'
+I-008-1300:..\..\..\library\log_output.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\library\log_output.c 62: THC2-Warning-556: "buf" used before set in 'convert'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\library\log_output.c 188: THC2-Warning-556: "lostinfo" used before set in 'syslog_lostmsg'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\library\log_output.c 197: THC2-Warning-556: "log" used before set in 'syslog_output'
+I-008-1300:..\..\..\library\strerror.c
+I-008-1300:..\..\..\library\t_perror.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\library\t_perror.c 201: THC2-Warning-556: "log" used before set in 't_perror'
+I-008-1300:..\..\..\library\vasyslog.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\library\vasyslog.c 50: THC2-Warning-556: "log" used before set in 'syslog'
+I-008-1300:..\..\..\systask\timer.c
+I-008-1300:..\..\..\systask\logtask.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\systask\logtask.c 66: THC1-Warning-653: Illegal pointer operation 'cast', pointer size mismatch
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\systask\logtask.c 163: THC2-Warning-556: "log" used before set in 'logtask'
+I-008-1300:..\..\..\systask\serial.c
+I-008-1300:..\..\..\config\tlcs900-toshiba\cpu_config.c
+I-008-1300:..\..\..\config\tlcs900-toshiba\cpu_support.app
+I-008-1300:..\..\..\config\tlcs900-toshiba\start.app
+I-008-1300:..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c 145: THC1-Warning-543: Constant in conditional expression
+I-008-1300:..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_support.app
+I-008-1300:..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.c
+I-008-1300:kernel_cfg.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\kernel_cfg.c 77: THC1-Warning-544: Const object '_kernel_flginib_table' should be initialized
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\kernel_cfg.c 87: THC1-Warning-544: Const object '_kernel_dtqinib_table' should be initialized
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\kernel_cfg.c 97: THC1-Warning-544: Const object '_kernel_mbxinib_table' should be initialized
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\kernel_cfg.c 107: THC1-Warning-544: Const object '_kernel_mpfinib_table' should be initialized
+I-008-1300:..\..\..\sample\sample1.c
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 122: THC1-Warning-653: Illegal pointer operation 'cast', pointer size mismatch
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 127: THC1-Warning-543: Constant in conditional expression
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 181: THC1-Warning-653: Illegal pointer operation 'cast', pointer size mismatch
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 262: THC1-Warning-653: Illegal pointer operation 'cast', pointer size mismatch
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 200: THC2-Warning-556: "tskid" used before set in 'cpuexc_handler'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 249: THC2-Warning-556: "c" used before set in 'main_task'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 249: THC2-Warning-556: "tskpri" used before set in 'main_task'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 249: THC2-Warning-556: "stime1" used before set in 'main_task'
+C:\Files\TLCS900\jsp144\tools\TLCS900-TOSHIBA\Zup-F16-ex\..\..\..\sample\sample1.c 249: THC2-Warning-556: "stime2" used before set in 'main_task'
+I-008-1600:ãªã³ã¯ä¸­...
+I-008-1700:ã³ã³ãã¼ãä¸­...
+ 
+I-008-1100:Zup-F16-ex.abs - ã¨ã©ã¼ 0ãè­¦å 81
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tde
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tde	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tde	(revision 26)
@@ -0,0 +1,2193 @@
+[..\..\..\kernel\banner.c]
+Debug=20
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debugstamp=2006-02-06 14:35:35
+Release=20
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\cyclic.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\cyclic.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\cyclic.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\dataqueue.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debug25=..\..\..\kernel\dataqueue.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Release25=..\..\..\kernel\dataqueue.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\eventflag.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debug25=..\..\..\kernel\eventflag.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Release25=..\..\..\kernel\eventflag.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\exception.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\task.h
+Debug21=..\..\..\kernel\queue.h
+Debug22=..\..\..\kernel\time_event.h
+Debug23=..\..\..\kernel\exception.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\task.h
+Release21=..\..\..\kernel\queue.h
+Release22=..\..\..\kernel\time_event.h
+Release23=..\..\..\kernel\exception.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\interrupt.c]
+Debug=21
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\interrupt.h
+Debugstamp=2006-02-06 14:35:35
+Release=21
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\interrupt.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\mailbox.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debug25=..\..\..\kernel\mailbox.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Release25=..\..\..\kernel\mailbox.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\mempfix.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debug25=..\..\..\kernel\mempfix.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Release25=..\..\..\kernel\mempfix.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\semaphore.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debug25=..\..\..\kernel\semaphore.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Release25=..\..\..\kernel\semaphore.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\startup.c]
+Debug=22
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\time_event.h
+Debug21=..\..\..\kernel\syslog.h
+Debugstamp=2006-02-06 14:35:35
+Release=22
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\time_event.h
+Release21=..\..\..\kernel\syslog.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\sys_manage.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\syslog.c]
+Debug=22
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\time_event.h
+Debug21=..\..\..\kernel\syslog.h
+Debugstamp=2006-02-06 14:35:35
+Release=22
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\time_event.h
+Release21=..\..\..\kernel\syslog.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\task.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\task.h
+Debug21=..\..\..\kernel\queue.h
+Debug22=..\..\..\kernel\time_event.h
+Debug23=..\..\..\config\tlcs900-toshiba\cpu_context.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\task.h
+Release21=..\..\..\kernel\queue.h
+Release22=..\..\..\kernel\time_event.h
+Release23=..\..\..\config\tlcs900-toshiba\cpu_context.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\task_except.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\task_manage.c]
+Debug=25
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debugstamp=2006-02-06 14:35:35
+Release=25
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\task_sync.c]
+Debug=25
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\wait.h
+Debugstamp=2006-02-06 14:35:35
+Release=25
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\wait.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\time_event.c]
+Debug=22
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=22
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\time_manage.c]
+Debug=26
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\time_event.h
+Debug22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Debug23=..\..\..\include\s_services.h
+Debug24=..\..\..\include\sil.h
+Debug25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\time_event.h
+Release22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Release23=..\..\..\include\s_services.h
+Release24=..\..\..\include\sil.h
+Release25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\wait.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\wait.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\wait.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\library\log_output.c]
+Debug=13
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debugstamp=2006-02-06 14:35:35
+Release=13
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\library\strerror.c]
+Debug=13
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debugstamp=2006-02-06 14:35:35
+Release=13
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\library\t_perror.c]
+Debug=13
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debugstamp=2006-02-06 14:35:35
+Release=13
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\library\vasyslog.c]
+Debug=14
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debug13=C:\Program Files\Toshiba\IDE\T900\include\stdarg.h
+Debugstamp=2006-02-06 14:35:35
+Release=14
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Release13=C:\Program Files\Toshiba\IDE\T900\include\stdarg.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\timer.c]
+Debug=25
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debug13=..\..\..\include\timer.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Debug15=..\..\..\include\s_services.h
+Debug16=..\..\..\include\sil.h
+Debug17=..\..\..\include\t_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug19=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug20=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug21=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug22=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug23=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debugstamp=2006-02-06 14:35:35
+Release=25
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Release13=..\..\..\include\timer.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Release15=..\..\..\include\s_services.h
+Release16=..\..\..\include\sil.h
+Release17=..\..\..\include\t_config.h
+Release18=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release19=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release20=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release21=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release22=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release23=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\logtask.c]
+Debug=21
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debug13=..\..\..\include\logtask.h
+Debug14=..\..\..\include\t_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debugstamp=2006-02-06 14:35:35
+Release=21
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Release13=..\..\..\include\logtask.h
+Release14=..\..\..\include\t_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\serial.c]
+Debug=26
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debug13=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug14=..\..\..\include\s_services.h
+Debug15=..\..\..\include\sil.h
+Debug16=..\..\..\include\t_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug19=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug20=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug21=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug22=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug23=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debug25=kernel_id.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Release13=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release14=..\..\..\include\s_services.h
+Release15=..\..\..\include\sil.h
+Release16=..\..\..\include\t_config.h
+Release17=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release18=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release19=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release20=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release21=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release22=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release23=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Release25=kernel_id.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_config.c]
+Debug=24
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\check.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:35
+Release=24
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\check.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_support.app]
+Debug=4
+Debug0=..\..\..\kernel\jsp_rename.h
+Debug1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug3=offset.inc
+Debugstamp=2006-02-06 14:35:35
+Release=4
+Release0=..\..\..\kernel\jsp_rename.h
+Release1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release3=offset.inc
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\start.app]
+Debug=4
+Debug0=..\..\..\kernel\jsp_rename.h
+Debug1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug3=tlcs900vec.inc
+Debugstamp=2006-02-06 14:35:35
+Release=4
+Release0=..\..\..\kernel\jsp_rename.h
+Release1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release3=tlcs900vec.inc
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.c]
+Debug=25
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\include\sil.h
+Debug21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug23=..\..\..\include\s_services.h
+Debug24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debugstamp=2006-02-06 14:35:35
+Release=25
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\include\sil.h
+Release21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release23=..\..\..\include\s_services.h
+Release24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_support.app]
+Debug=4
+Debug0=..\..\..\kernel\jsp_rename.h
+Debug1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug3=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debugstamp=2006-02-06 14:35:35
+Release=4
+Release0=..\..\..\kernel\jsp_rename.h
+Release1=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release3=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.c]
+Debug=22
+Debug0=..\..\..\include\s_services.h
+Debug1=..\..\..\include\sil.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\kernel.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debugstamp=2006-02-06 14:35:35
+Release=22
+Release0=..\..\..\include\s_services.h
+Release1=..\..\..\include\sil.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\kernel.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Releasestamp=2006-02-06 14:35:36
+[kernel_cfg.c]
+Debug=47
+Debug0=..\..\..\include\kernel_cfg.h
+Debug1=..\..\..\kernel\jsp_kernel.h
+Debug2=..\..\..\kernel\jsp_rename.h
+Debug3=..\..\..\include\kernel.h
+Debug4=..\..\..\include\t_stddef.h
+Debug5=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug6=..\..\..\config\tlcs900-toshiba\api.h
+Debug7=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug9=..\..\..\include\itron.h
+Debug10=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug11=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug12=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug13=..\..\..\include\t_syslog.h
+Debug14=..\..\..\include\t_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug21=..\..\..\kernel\task.h
+Debug22=..\..\..\kernel\queue.h
+Debug23=..\..\..\kernel\time_event.h
+Debug24=..\..\..\kernel\semaphore.h
+Debug25=..\..\..\kernel\eventflag.h
+Debug26=..\..\..\kernel\dataqueue.h
+Debug27=..\..\..\kernel\mailbox.h
+Debug28=..\..\..\kernel\mempfix.h
+Debug29=..\..\..\kernel\cyclic.h
+Debug30=..\..\..\kernel\interrupt.h
+Debug31=..\..\..\kernel\exception.h
+Debug32=..\..\..\kernel\jsp_unrename.h
+Debug33=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h
+Debug34=..\..\..\config\tlcs900-toshiba\cpu_unrename.h
+Debug35=kernel_id.h
+Debug36=..\..\..\sample\sample1.h
+Debug37=..\..\..\include\t_services.h
+Debug38=..\..\..\include\serial.h
+Debug39=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Debug40=..\..\..\include\s_services.h
+Debug41=..\..\..\include\sil.h
+Debug42=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug43=..\..\..\include\timer.h
+Debug44=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug45=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debug46=..\..\..\include\logtask.h
+Debugstamp=2006-02-06 14:41:12
+Release=47
+Release0=..\..\..\include\kernel_cfg.h
+Release1=..\..\..\kernel\jsp_kernel.h
+Release2=..\..\..\kernel\jsp_rename.h
+Release3=..\..\..\include\kernel.h
+Release4=..\..\..\include\t_stddef.h
+Release5=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release6=..\..\..\config\tlcs900-toshiba\api.h
+Release7=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release9=..\..\..\include\itron.h
+Release10=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release11=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release12=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release13=..\..\..\include\t_syslog.h
+Release14=..\..\..\include\t_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release21=..\..\..\kernel\task.h
+Release22=..\..\..\kernel\queue.h
+Release23=..\..\..\kernel\time_event.h
+Release24=..\..\..\kernel\semaphore.h
+Release25=..\..\..\kernel\eventflag.h
+Release26=..\..\..\kernel\dataqueue.h
+Release27=..\..\..\kernel\mailbox.h
+Release28=..\..\..\kernel\mempfix.h
+Release29=..\..\..\kernel\cyclic.h
+Release30=..\..\..\kernel\interrupt.h
+Release31=..\..\..\kernel\exception.h
+Release32=..\..\..\kernel\jsp_unrename.h
+Release33=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h
+Release34=..\..\..\config\tlcs900-toshiba\cpu_unrename.h
+Release35=kernel_id.h
+Release36=..\..\..\sample\sample1.h
+Release37=..\..\..\include\t_services.h
+Release38=..\..\..\include\serial.h
+Release39=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Release40=..\..\..\include\s_services.h
+Release41=..\..\..\include\sil.h
+Release42=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release43=..\..\..\include\timer.h
+Release44=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release45=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Release46=..\..\..\include\logtask.h
+Releasestamp=2006-02-06 14:41:12
+[..\..\..\sample\sample1.c]
+Debug=15
+Debug0=..\..\..\include\t_services.h
+Debug1=..\..\..\include\kernel.h
+Debug2=..\..\..\include\t_stddef.h
+Debug3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug4=..\..\..\config\tlcs900-toshiba\api.h
+Debug5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug7=..\..\..\include\itron.h
+Debug8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug11=..\..\..\include\t_syslog.h
+Debug12=..\..\..\include\serial.h
+Debug13=kernel_id.h
+Debug14=..\..\..\sample\sample1.h
+Debugstamp=2006-02-06 14:41:10
+Release=15
+Release0=..\..\..\include\t_services.h
+Release1=..\..\..\include\kernel.h
+Release2=..\..\..\include\t_stddef.h
+Release3=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release4=..\..\..\config\tlcs900-toshiba\api.h
+Release5=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release6=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release7=..\..\..\include\itron.h
+Release8=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release10=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release11=..\..\..\include\t_syslog.h
+Release12=..\..\..\include\serial.h
+Release13=kernel_id.h
+Release14=..\..\..\sample\sample1.h
+Releasestamp=2006-02-06 14:41:10
+[..\..\..\kernel\check.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\cyclic.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\dataqueue.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\eventflag.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\exception.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\interrupt.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\jsp_kernel.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\jsp_rename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\jsp_unrename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\mailbox.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\mempfix.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\queue.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\semaphore.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\syslog.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\task.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\time_event.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\wait.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\itron.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\kernel.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\kernel_cfg.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\kernel_debug.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\logtask.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\s_services.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\serial.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\sil.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\t_config.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\t_services.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\t_stddef.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\t_syslog.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\include\timer.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\api.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_config.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_context.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_defs.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_insn.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_rename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_unrename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\tool_config.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\tool_defs.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_unrename.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\sample\sample1.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[kernel_id.h]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[offset.inc]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[tlcs900vec.inc]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[readme.txt]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\serial.cfg]
+Debug=26
+Debug0=..\..\..\include\t_config.h
+Debug1=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug3=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug4=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug5=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug6=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug7=..\..\..\systask\linux_sigio.cfg
+Debug8=..\..\..\systask\linux_serial.cfg
+Debug9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug11=..\..\..\include\s_services.h
+Debug12=..\..\..\include\sil.h
+Debug13=..\..\..\include\t_stddef.h
+Debug14=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug15=..\..\..\config\tlcs900-toshiba\api.h
+Debug16=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug17=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug18=..\..\..\include\itron.h
+Debug19=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug21=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug22=..\..\..\include\t_syslog.h
+Debug23=..\..\..\include\kernel.h
+Debug24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debugstamp=2006-02-06 14:35:35
+Release=26
+Release0=..\..\..\include\t_config.h
+Release1=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release2=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release3=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release4=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release5=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release6=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release7=..\..\..\systask\linux_sigio.cfg
+Release8=..\..\..\systask\linux_serial.cfg
+Release9=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release11=..\..\..\include\s_services.h
+Release12=..\..\..\include\sil.h
+Release13=..\..\..\include\t_stddef.h
+Release14=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release15=..\..\..\config\tlcs900-toshiba\api.h
+Release16=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release17=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release18=..\..\..\include\itron.h
+Release19=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release21=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release22=..\..\..\include\t_syslog.h
+Release23=..\..\..\include\kernel.h
+Release24=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\timer.cfg]
+Debug=22
+Debug0=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Debug1=..\..\..\include\s_services.h
+Debug2=..\..\..\include\sil.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\kernel.h
+Debug14=..\..\..\include\t_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debugstamp=2006-02-06 14:35:35
+Release=22
+Release0=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Release1=..\..\..\include\s_services.h
+Release2=..\..\..\include\sil.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\kernel.h
+Release14=..\..\..\include\t_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\systask\logtask.cfg]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\kernel\jsp_rename.def]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\cpu_rename.def]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg]
+Debug=23
+Debug0=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug1=..\..\..\include\s_services.h
+Debug2=..\..\..\include\sil.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\kernel.h
+Debug14=..\..\..\include\t_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debugstamp=2006-02-06 14:35:35
+Release=23
+Release0=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release1=..\..\..\include\s_services.h
+Release2=..\..\..\include\sil.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\kernel.h
+Release14=..\..\..\include\t_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release16=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release19=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release20=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release21=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release22=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\zup_f16_ex.lcf]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.def]
+Debug=0
+Debugstamp=2006-02-06 14:35:35
+Release=0
+Releasestamp=2006-02-06 14:35:36
+[sample1.cfg]
+Debug=33
+Debug0=..\..\..\sample\sample1.h
+Debug1=..\..\..\include\t_services.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\serial.h
+Debug14=..\..\..\systask\timer.cfg
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Debug16=..\..\..\include\s_services.h
+Debug17=..\..\..\include\sil.h
+Debug18=..\..\..\include\t_config.h
+Debug19=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug21=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug22=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug23=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug24=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Debug26=..\..\..\systask\serial.cfg
+Debug27=..\..\..\systask\linux_sigio.cfg
+Debug28=..\..\..\systask\linux_serial.cfg
+Debug29=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg
+Debug30=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Debug31=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Debug32=..\..\..\systask\logtask.cfg
+Debugstamp=2006-02-06 14:35:36
+Release=33
+Release0=..\..\..\sample\sample1.h
+Release1=..\..\..\include\t_services.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\serial.h
+Release14=..\..\..\systask\timer.cfg
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_timer.h
+Release16=..\..\..\include\s_services.h
+Release17=..\..\..\include\sil.h
+Release18=..\..\..\include\t_config.h
+Release19=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release20=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release21=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release22=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release23=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release24=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release25=..\..\..\config\tlcs900-toshiba\zup_f16_ex\tmp91cy22.h
+Release26=..\..\..\systask\serial.cfg
+Release27=..\..\..\systask\linux_sigio.cfg
+Release28=..\..\..\systask\linux_serial.cfg
+Release29=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.cfg
+Release30=..\..\..\config\tlcs900-toshiba\zup_f16_ex\hw_serial.h
+Release31=..\..\..\config\tlcs900-toshiba\zup_f16_ex\uart.h
+Release32=..\..\..\systask\logtask.cfg
+Releasestamp=2006-02-06 14:35:36
+[..\..\..\config\tlcs900-toshiba\makeoffset.c]
+Debug=23
+Debug0=..\..\..\kernel\jsp_kernel.h
+Debug1=..\..\..\kernel\jsp_rename.h
+Debug2=..\..\..\include\kernel.h
+Debug3=..\..\..\include\t_stddef.h
+Debug4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Debug5=..\..\..\config\tlcs900-toshiba\api.h
+Debug6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Debug7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Debug8=..\..\..\include\itron.h
+Debug9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Debug10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Debug11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Debug12=..\..\..\include\t_syslog.h
+Debug13=..\..\..\include\t_config.h
+Debug14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Debug15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Debug16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Debug17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Debug18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Debug19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Debug20=..\..\..\kernel\task.h
+Debug21=..\..\..\kernel\queue.h
+Debug22=..\..\..\kernel\time_event.h
+Debugstamp=2006-02-06 14:35:36
+Release=23
+Release0=..\..\..\kernel\jsp_kernel.h
+Release1=..\..\..\kernel\jsp_rename.h
+Release2=..\..\..\include\kernel.h
+Release3=..\..\..\include\t_stddef.h
+Release4=..\..\..\config\tlcs900-toshiba\tool_defs.h
+Release5=..\..\..\config\tlcs900-toshiba\api.h
+Release6=..\..\..\config\tlcs900-toshiba\kernel_inline_defs.h
+Release7=C:\Program Files\Toshiba\IDE\T900\include\limits.h
+Release8=..\..\..\include\itron.h
+Release9=C:\Program Files\Toshiba\IDE\T900\include\stddef.h
+Release10=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_defs.h
+Release11=..\..\..\config\tlcs900-toshiba\cpu_defs.h
+Release12=..\..\..\include\t_syslog.h
+Release13=..\..\..\include\t_config.h
+Release14=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_config.h
+Release15=..\..\..\config\tlcs900-toshiba\zup_f16_ex\sys_rename.h
+Release16=..\..\..\config\tlcs900-toshiba\cpu_config.h
+Release17=..\..\..\config\tlcs900-toshiba\cpu_rename.h
+Release18=..\..\..\config\tlcs900-toshiba\cpu_insn.h
+Release19=..\..\..\config\tlcs900-toshiba\tool_config.h
+Release20=..\..\..\kernel\task.h
+Release21=..\..\..\kernel\queue.h
+Release22=..\..\..\kernel\time_event.h
+Releasestamp=2006-02-06 14:35:36
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tpr
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tpr	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/Zup-F16-ex.tpr	(revision 26)
@@ -0,0 +1,7 @@
+[SIGNATURE]
+VERSION=0000
+TYPE=TIDE_PRJ
+[PROFILE]
+TYPE=TBP
+[PROFILE.TBP]
+Zup-F16-ex.TBP=.
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_cfg.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_cfg.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_cfg.c	(revision 26)
@@ -0,0 +1,181 @@
+/* Configured with [-cpu tlcs900-toshiba -system zup_f16_ex -s sample1.cfg.i ] */
+
+#include "kernel_cfg.h"
+#include "kernel_id.h"
+
+#if TKERNEL_PRVER >= 0x1040
+#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)
+#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)
+#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)
+#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)
+#else
+#error "This configuration file has no compatibility with TOPPERS/JSP rel 1.3 or earlier."
+#endif
+
+#ifndef __EMPTY_LABEL
+#define __EMPTY_LABEL(x,y) x y[0]
+#endif
+
+#if TKERNEL_PRID != 0x0001u /* TOPPERS/JSP */
+#error "You can not use this configuration file without TOPPERS/JSP"
+#endif
+
+	/* User specified include files*/
+#include "sample1.h"
+#include "hw_timer.h"
+#include "timer.h"
+#include <hw_serial.h>
+#include "serial.h"
+#include "logtask.h"
+
+
+	/* Object initializer [task] */
+
+#define TNUM_TSKID 5
+
+const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);
+
+static __STK_UNIT __stack_TASK1[__TCOUNT_STK_UNIT(512)];
+static __STK_UNIT __stack_TASK2[__TCOUNT_STK_UNIT(512)];
+static __STK_UNIT __stack_TASK3[__TCOUNT_STK_UNIT(512)];
+static __STK_UNIT __stack_MAIN_TASK[__TCOUNT_STK_UNIT(512)];
+static __STK_UNIT __stack_LOGTASK[__TCOUNT_STK_UNIT(LOGTASK_STACK_SIZE)];
+
+const TINIB _kernel_tinib_table[TNUM_TSKID] = {
+	{0, (VP_INT)(( VP_INT ) 1), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(512), __stack_TASK1, 0, (FP)(tex_routine)},
+	{0, (VP_INT)(( VP_INT ) 2), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(512), __stack_TASK2, 0, (FP)(tex_routine)},
+	{0, (VP_INT)(( VP_INT ) 3), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(512), __stack_TASK3, 0, (FP)(tex_routine)},
+	{0x00u | 0x02u, (VP_INT)(0), (FP)(main_task), INT_PRIORITY(5), __TROUND_STK_UNIT(512), __stack_MAIN_TASK, TA_NULL, (FP)(NULL)},
+	{0x00u | 0x02u, (VP_INT)(( VP_INT ) 1), (FP)(logtask), INT_PRIORITY(LOGTASK_PRIORITY), __TROUND_STK_UNIT(LOGTASK_STACK_SIZE), __stack_LOGTASK, TA_NULL, (FP)(NULL)}
+};
+
+const ID _kernel_torder_table[TNUM_TSKID] = {1,2,3,4,5};
+
+TCB _kernel_tcb_table[TNUM_TSKID];
+
+
+	/* Object initializer [semaphore] */
+
+#define TNUM_SEMID 2
+
+const ID _kernel_tmax_semid = (TMIN_SEMID + TNUM_SEMID - 1);
+
+const SEMINIB _kernel_seminib_table[TNUM_SEMID] = {
+	{1, 0, 1},
+	{1, 1, 1}
+};
+
+SEMCB _kernel_semcb_table[TNUM_SEMID];
+
+
+	/* Object initializer [eventflag] */
+
+#define TNUM_FLGID 0
+
+const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);
+
+__EMPTY_LABEL(const FLGINIB, _kernel_flginib_table);
+__EMPTY_LABEL(FLGCB, _kernel_flgcb_table);
+
+
+	/* Object initializer [dataqueue] */
+
+#define TNUM_DTQID 0
+
+const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);
+
+__EMPTY_LABEL(const DTQINIB, _kernel_dtqinib_table);
+__EMPTY_LABEL(DTQCB, _kernel_dtqcb_table);
+
+
+	/* Object initializer [mailbox] */
+
+#define TNUM_MBXID 0
+
+const ID _kernel_tmax_mbxid = (TMIN_MBXID + TNUM_MBXID - 1);
+
+__EMPTY_LABEL(const MBXINIB, _kernel_mbxinib_table);
+__EMPTY_LABEL(MBXCB, _kernel_mbxcb_table);
+
+
+	/* Object initializer [mempfix] */
+
+#define TNUM_MPFID 0
+
+const ID _kernel_tmax_mpfid = (TMIN_MPFID + TNUM_MPFID - 1);
+
+__EMPTY_LABEL(const MPFINIB, _kernel_mpfinib_table);
+__EMPTY_LABEL(MPFCB, _kernel_mpfcb_table);
+
+
+	/* Object initializer [cyclic] */
+
+#define TNUM_CYCID 1
+
+const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);
+
+const CYCINIB _kernel_cycinib_table[TNUM_CYCID] = {
+	{0,0,(FP)(cyclic_handler),2000,0}
+};
+
+CYCCB _kernel_cyccb_table[TNUM_CYCID];
+
+
+	/* Object initializer [interrupt] */
+
+#define TNUM_INHNO 3
+
+const UINT _kernel_tnum_inhno = TNUM_INHNO;
+
+CFG_INTHDR_ENTRY(timer_handler);
+CFG_INTHDR_ENTRY(serial_in_handler1);
+CFG_INTHDR_ENTRY(serial_out_handler1);
+
+const INHINIB _kernel_inhinib_table[TNUM_INHNO] = {
+	{20,0,(FP)CFG_INT_ENTRY(timer_handler)},
+	{36,0,(FP)CFG_INT_ENTRY(serial_in_handler1)},
+	{37,0,(FP)CFG_INT_ENTRY(serial_out_handler1)}
+};
+
+
+	/* Object initializer [exception] */
+
+#define TNUM_EXCNO 1
+
+const UINT _kernel_tnum_excno = TNUM_EXCNO;
+
+CFG_EXCHDR_ENTRY(cpuexc_handler);
+
+const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {
+	{3,0,(FP)CFG_EXC_ENTRY(cpuexc_handler)}
+};
+
+	/* Initialization handler */
+
+void
+_kernel_call_inirtn(void)
+{
+	timer_initialize( (VP_INT)(0) );
+	serial_initialize( (VP_INT)(0) );
+}
+
+void
+_kernel_call_terrtn(void)
+{
+	timer_terminate( (VP_INT)(0) );
+}
+
+	/* Object initialization routine */
+
+void
+_kernel_object_initialize(void)
+{
+	_kernel_task_initialize();
+	_kernel_semaphore_initialize();
+	_kernel_cyclic_initialize();
+	_kernel_interrupt_initialize();
+	_kernel_exception_initialize();
+}
+
+TMEVTN   _kernel_tmevt_heap[TNUM_TSKID + TNUM_CYCID];
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_id.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_id.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/kernel_id.h	(revision 26)
@@ -0,0 +1,16 @@
+#ifndef KERNEL_ID_H
+#define KERNEL_ID_H
+
+	/* object identifier deifnition */
+
+#define CYCHDR1              1
+#define LOGTASK              5
+#define MAIN_TASK            4
+#define SERIAL_RCV_SEM1      1
+#define SERIAL_SND_SEM1      2
+#define TASK1                1
+#define TASK2                2
+#define TASK3                3
+
+#endif /* KERNEL_ID_H */
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/offset.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/offset.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/offset.inc	(revision 26)
@@ -0,0 +1,6 @@
+TCB_texptn		equ	14
+TCB_sp			equ	20
+TCB_pc			equ	24
+TCB_enatex		equ	12
+TCB_enatex_mask	equ	0x4000
+TCB_enatex_bit	equ	14
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/readme.txt	(revision 26)
@@ -0,0 +1,6 @@
+========================================================================================
+                ãã­ã¸ã§ã¯ãçæå±¥æ­´
+========================================================================================
+
+ã¦ã£ã¶ã¼ãã¯ä»¥ä¸ã®ãã¤ã³ã³ç¨ãã­ã¸ã§ã¯ã Sample ãçæãã¾ããã
+            ï¼£ï¼°ï¼µãã¡ããªã¼    ï¼TLCS-900ãã¡ããªã¼
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/sample1.cfg	(revision 26)
@@ -0,0 +1,28 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.4 2007/04/17 05:08:07 honda Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#define _MACRO_ONLY
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../../../systask/timer.cfg"
+#include "../../../systask/serial.cfg"
+#include "../../../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/tlcs900vec.inc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/tlcs900vec.inc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/TLCS900-TOSHIBA/Zup-F16-ex/tlcs900vec.inc	(revision 26)
@@ -0,0 +1,73 @@
+
+	extern large _start
+	extern large _timer_handler_entry
+	extern large _serial_in_handler1_entry
+	extern large _serial_out_handler1_entry
+	extern large _cpuexc_handler_entry
+	extern large unused_interrupt
+
+f_vecter section code large align=4
+	dl	_start	; 01  0xffff00
+	dl	unused_interrupt	; 02 0xffff04
+	dl	_cpuexc_handler_entry	; 03 0xffff08
+	dl	unused_interrupt	; 04 0xffff0c
+	dl	unused_interrupt	; 05 0xffff10
+	dl	unused_interrupt	; 06 0xffff14
+	dl	unused_interrupt	; 07 0xffff18
+	dl	unused_interrupt	; 08 0xffff1c
+	dl	unused_interrupt	; 09 0xffff20
+	dl	unused_interrupt	; 10 0xffff24
+	dl	unused_interrupt	; 11 0xffff28
+	dl	unused_interrupt	; 12 0xffff2c
+	dl	unused_interrupt	; 13 0xffff30
+	dl	unused_interrupt	; 14 0xffff34
+	dl	unused_interrupt	; 15 0xffff38
+	dl	unused_interrupt	; 16 0xffff3c
+	dl	unused_interrupt	; 17 0xffff40
+	dl	unused_interrupt	; 18 0xffff44
+	dl	unused_interrupt	; 19 0xffff48
+	dl	_timer_handler_entry	; 20 0xffff4c
+	dl	unused_interrupt	; 21 0xffff50
+	dl	unused_interrupt	; 22 0xffff54
+	dl	unused_interrupt	; 23 0xffff58
+	dl	unused_interrupt	; 24 0xffff5c
+	dl	unused_interrupt	; 25 0xffff60
+	dl	unused_interrupt	; 26 0xffff64
+	dl	unused_interrupt	; 27 0xffff68
+	dl	unused_interrupt	; 28 0xffff6c
+	dl	unused_interrupt	; 29 0xffff70
+	dl	unused_interrupt	; 30 0xffff74
+	dl	unused_interrupt	; 31 0xffff78
+	dl	unused_interrupt	; 32 0xffff7c
+	dl	unused_interrupt	; 33 0xffff80
+	dl	unused_interrupt	; 34 0xffff84
+	dl	unused_interrupt	; 35 0xffff88
+	dl	_serial_in_handler1_entry	; 36 0xffff8c
+	dl	_serial_out_handler1_entry	; 37 0xffff90
+	dl	unused_interrupt	; 38 0xffff94
+	dl	unused_interrupt	; 39 0xffff98
+	dl	unused_interrupt	; 40 0xffff9c
+	dl	unused_interrupt	; 41 0xffffa0
+	dl	unused_interrupt	; 42 0xffffa4
+	dl	unused_interrupt	; 43 0xffffa8
+	dl	unused_interrupt	; 44 0xffffac
+	dl	unused_interrupt	; 45 0xffffb0
+	dl	unused_interrupt	; 46 0xffffb4
+	dl	unused_interrupt	; 47 0xffffb8
+	dl	unused_interrupt	; 48 0xffffbc
+	dl	unused_interrupt	; 49 0xffffc0
+	dl	unused_interrupt	; 50 0xffffc4
+	dl	unused_interrupt	; 51 0xffffc8
+	dl	unused_interrupt	; 52 0xffffcc
+	dl	unused_interrupt	; 53 0xffffd0
+	dl	unused_interrupt	; 54 0xffffd4
+	dl	unused_interrupt	; 55 0xffffd8
+	dl	unused_interrupt	; 56 0xffffdc
+	dl	unused_interrupt	; 57 0xffffe0
+	dl	unused_interrupt	; 58 0xffffe4
+	dl	unused_interrupt	; 59 0xffffe8
+	dl	unused_interrupt	; 60 0xffffec
+	dl	unused_interrupt	; 61 0xfffff0
+	dl	unused_interrupt	; 62 0xfffff4
+	dl	unused_interrupt	; 63 0xfffff8
+	dl	unused_interrupt	; 64 0xfffffc
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/configure.vbs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/configure.vbs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/configure.vbs	(revision 26)
@@ -0,0 +1,82 @@
+'
+'   TOPPERS/JSP Kernel
+'       Toyohashi Open Platform for Embedded Real-Time Systems/
+'       Just Standard Profile Kernel
+'  
+'   Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+'                               Toyohashi Univ. of Technology, JAPAN
+'  
+'   ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+'   ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+'   è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+'   ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+'   å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+'   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+'       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+'       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+'   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'       ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+'       è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+'       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'       ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+'       ã¨ï¼
+'     (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+'         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'     (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+'         å ±åãããã¨ï¼
+'   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+'       å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+'  
+'   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+'   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+'   å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+'   æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+'
+'   @(#) $Id: configure.vbs,v 1.9 2007/04/19 07:11:32 honda Exp $
+'
+
+	'----------------------------------------------------------'
+	' ãã®ã¹ã¯ãªããã¯ï¼WScript.WshShell.Runãä½¿ç¨ãã¦ããã®ã§ '
+	'  å¸è²©ã®ã¦ã£ã«ã¹ãã§ãã«ãå
+¥ã£ã¦ããã¨æªè³ªã¨å¤æ­ããã¾ã  '
+	'----------------------------------------------------------'
+
+dim ws
+dim msdev
+dim rootdir
+
+rootdir = left(Wscript.ScriptFullName, len(Wscript.scriptfullname) - len(wscript.scriptname))
+
+set ws = WScript.CreateObject("WScript.Shell")
+
+msgbox "TOPPERS/JSP Windows ãä½¿ç¨ããã®ã«å¿
+è¦ãªãã­ã°ã©ã ãä½æãã¾ãï¼"
+
+ws.run "..\..\cfg\vc_project\make.vbs",1,true
+ws.run "..\..\windev\make.vbs",1,true
+set ws = nothing
+
+msgbox "å¦çã¯æ­£å¸¸ã«çµäºãã¾ãã"
+
+if msgbox("Visual C++ ãèµ·åãã¾ãã?",vbokcancel) = vbok then
+	set msdev = CreateObject("MSDev.Application")
+	msdev.visible = true
+	msdev.documents.open rootdir + "vc_project\toppers.dsw"
+	msdev.documents.open rootdir + "..\..\doc\windows.txt", "text", true
+	set msdev = nothing
+end if
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.c	(revision 26)
@@ -0,0 +1,462 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample1.c,v 1.9 2003/12/24 08:23:58 takayuki Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®æ¬ä½
+ *
+ *  JSPã«ã¼ãã«ã®åºæ¬çãªåä½ãç¢ºèªããããã®ãµã³ãã«ãã­ã°ã©ã ï¼
+ *
+ *  ãã­ã°ã©ã ã®æ¦è¦:
+ *
+ *  ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼
+ *  åªå
+åº¦: MAIN_PRIORITYï¼ã¨ï¼ä¸ã¤ã®ä¸¦åå®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID:
+ *  TASK1ãTASK3ï¼åæåªå
+åº¦: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨
+ *  æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼
+ *
+ *  ä¸¦åå®è¡ãããã¿ã¹ã¯ã¯ï¼task_loop åç©ºã«ã¼ããå®è¡ããåº¦ã«ï¼ã¿ã¹ã¯
+ *  ãå®è¡ä¸­ã§ãããã¨ãããããã¡ãã»ã¼ã¸ãè¡¨ç¤ºããï¼
+ *
+ *  å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼
+ *  LOW_PRIORITYï¼ã®ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼ãã­ã°ã©ã ã®èµ·åç´å¾ã¯ï¼
+ *  å¨æãã³ãã©ã¯åæ­¢ç¶æ
+ã«ãªã£ã¦ããï¼
+ *
+ *  ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æå­å
+¥åãè¡ãï¼æå­å
+¥åã
+ *  å¾
+ã£ã¦ããéã¯ï¼ä¸¦åå®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å
+¥åããã
+ *  æå­ã«å¯¾å¿ããå¦çãå®è¡ããï¼å
+¥åãããæå­ã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼
+ *  Control-C ã¾ãã¯ 'Q' ãå
+¥åãããã¨ï¼ãã­ã°ã©ã ãçµäºããï¼
+ *
+ *  '1' : ä»¥éã®ã³ãã³ãã¯ TASK1 ã«å¯¾ãã¦è¡ãï¼
+ *  '2' : ä»¥éã®ã³ãã³ãã¯ TASK2 ã«å¯¾ãã¦è¡ãï¼
+ *  '3' : ä»¥éã®ã³ãã³ãã¯ TASK3 ã«å¯¾ãã¦è¡ãï¼
+ *  'a' : ã¿ã¹ã¯ã act_tsk ã«ããèµ·åããï¼
+ *  'A' : ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ã can_act ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'e' : ã¿ã¹ã¯ã« ext_tsk ãå¼ã³åºããï¼çµäºãããï¼
+ *  't' : ã¿ã¹ã¯ã ter_tsk ã«ããå¼·å¶çµäºããï¼
+ *  '>' : ã¿ã¹ã¯ã®åªå
+åº¦ã HIGH_PRIORITY ã«ããï¼
+ *  '=' : ã¿ã¹ã¯ã®åªå
+åº¦ã MID_PRIORITY ã«ããï¼
+ *  '<' : ã¿ã¹ã¯ã®åªå
+åº¦ã LOW_PRIORITY ã«ããï¼
+ *  'G' : ã¿ã¹ã¯ã®åªå
+åº¦ã get_pri ã§èª­ã¿åºãï¼
+ *  's' : ã¿ã¹ã¯ã« slp_tsk ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'S' : ã¿ã¹ã¯ã« tslp_tsk(10ç§) ãå¼ã³åºããï¼èµ·åºå¾
+ã¡ã«ãããï¼
+ *  'w' : ã¿ã¹ã¯ã wup_tsk ã«ããèµ·åºããï¼
+ *  'W' : ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ã can_wup ã«ããã­ã£ã³ã»ã«ããï¼
+ *  'l' : ã¿ã¹ã¯ã rel_wai ã«ããå¼·å¶çã«å¾
+ã¡è§£é¤ã«ããï¼
+ *  'u' : ã¿ã¹ã¯ã sus_tsk ã«ããå¼·å¶å¾
+ã¡ç¶æ
+ã«ããï¼
+ *  'm' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã rsm_tsk ã«ããè§£é¤ããï¼
+ *  'M' : ã¿ã¹ã¯ã®å¼·å¶å¾
+ã¡ç¶æ
+ã frsm_tsk ã«ããå¼·å¶è§£é¤ããï¼
+ *  'd' : ã¿ã¹ã¯ã« dly_tsk(10ç§) ãå¼ã³åºããï¼æéçµéå¾
+ã¡ã«ãããï¼
+ *  'x' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0001 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'X' : ã¿ã¹ã¯ã«ãã¿ã¼ã³ 0x0002 ã®ä¾å¤å¦çãè¦æ±ããï¼
+ *  'y' : ã¿ã¹ã¯ã« dis_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ­¢ããï¼
+ *  'Y' : ã¿ã¹ã¯ã« ena_tex ãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãè¨±å¯ããï¼
+ *  'r' : ä¸ã¤ã®åªå
+åº¦ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®
+ *        ã¬ãã£ã­ã¥ã¼ãåè»¢ãããï¼
+ *  'c' : å¨æãã³ãã©ãåä½ãããï¼
+ *  'C' : å¨æãã³ãã©ãåæ­¢ãããï¼
+ *  'z' : CPUä¾å¤ãçºçãããï¼
+ *  'Z' : CPUã­ãã¯ç¶æ
+ã§CPUä¾å¤ãçºçãããï¼ãã­ã°ã©ã ãçµäºããï¼ï¼
+ *  'V' : vxget_tim ã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèª­ãï¼
+ *  'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããï¼ããã©ã«ãï¼ï¼
+ *  'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ãè¡¨ç¤ºããªãï¼
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample1.h"
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å
+ */
+UB	message[3];
+
+/*
+ *  ã«ã¼ãåæ°
+ */
+UW	task_loop;		/* ã¿ã¹ã¯å
+ã§ã®ã«ã¼ãåæ° */
+UW	tex_loop;		/* ä¾å¤å¦çã«ã¼ãã³å
+ã§ã®ã«ã¼ãåæ° */
+
+/*
+ *  ä¸¦è¡å®è¡ãããã¿ã¹ã¯
+ */
+void task(VP_INT exinf)
+{
+	volatile UW	i;
+	INT	n = 0;
+	INT	tskno = (INT) exinf;
+	UB	*graph[] = { "|", "  +", "    *" };
+	UB	c;
+
+	ena_tex();
+	while (1) {
+		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
+					tskno, ++n, graph[tskno-1]);
+		for (i = 0; i < task_loop; i++);
+		c = message[tskno-1];
+		message[tskno-1] = 0;
+		switch (c) {
+		case 'e':
+			syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+			ext_tsk();
+		case 's':
+			syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
+			syscall(slp_tsk());
+			break;
+		case 'S':
+			syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
+			syscall(tslp_tsk(10000));
+			break;
+		case 'd':
+			syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
+			syscall(dly_tsk(10000));
+			break;
+		case 'y':
+			syslog(LOG_INFO, "#%d#dis_tex()", tskno);
+			syscall(dis_tex());
+			break;
+		case 'Y':
+			syslog(LOG_INFO, "#%d#ena_tex()", tskno);
+			syscall(ena_tex());
+			break;
+#ifdef CPUEXC1
+		case 'z':
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			break;
+		case 'Z':
+			loc_cpu();
+			syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
+			RAISE_CPU_EXCEPTION;
+			unl_cpu();
+			break;
+#endif /* CPUEXC1 */
+		default:
+			break;
+		}
+	}
+}
+
+/*
+ *  ä¸¦è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³
+ */
+void tex_routine(TEXPTN texptn, VP_INT exinf)
+{
+	volatile UW	i;
+	INT	tskno = (INT) exinf;
+
+	syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
+					tskno, texptn);
+	for (i = 0; i < tex_loop; i++);
+
+	if (texptn & 0x8000) {
+		syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
+		ext_tsk();
+	}
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©
+ */
+#ifdef CPUEXC1
+
+void
+cpuexc_handler(VP p_excinf)
+{
+	ID	tskid;
+
+	syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08x).",
+							 p_excinf);
+	if (sns_ctx() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_ctx() is not TRUE in CPU exception handler.");
+	}
+	if (sns_dpn() != TRUE) {
+		syslog(LOG_WARNING,
+			"sns_dpn() is not TRUE in CPU exception handler.");
+	}
+	syslog(LOG_DEBUG,
+		"sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
+	syslog(LOG_DEBUG,
+		"vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
+		vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
+		vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
+
+	if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
+		syscall(iget_tid(&tskid));
+		syscall(iras_tex(tskid, 0x8000));
+	}
+	else {
+		syslog(LOG_NOTICE, "Sample program ends with exception.");
+		kernel_exit();
+	}
+}
+
+#endif /* CPUEXC1 */
+
+/*
+ *  å¨æãã³ãã©
+ *
+ *  HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå
+åº¦ã®ã¬ãã£ã­ã¥ã¼
+ *  ãåè»¢ãããï¼
+ */
+void cyclic_handler(VP_INT exinf)
+{
+	irot_rdq(HIGH_PRIORITY);
+	irot_rdq(MID_PRIORITY);
+	irot_rdq(LOW_PRIORITY);
+}
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(VP_INT exinf)
+{
+	UB	c;
+	ID	tskid = TASK1;
+	volatile UW	i;
+	INT count;
+	INT	tskno = 1;
+	ER_UINT	ercd;	
+	PRI	tskpri;
+	SYSTIM	stime1, stime2;
+#ifndef OMIT_VGET_TIM
+	SYSUTIM	utime1, utime2;
+#endif /* OMIT_VGET_TIM */
+
+	vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+	syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", exinf);
+
+	serial_ctl_por(TASK_PORTID, (IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV));
+
+	/*
+ 	 *  ã«ã¼ãåæ°ã®è¨­å®
+	 */
+	count = 0;
+	task_loop = LOOP_REF;
+	get_tim(&stime1);
+	do {
+		++ count;
+		for (i = 0; i < task_loop; i++);
+		get_tim(&stime2);
+	}while(stime1 == stime2);
+	task_loop = LOOP_REF * 400 / (stime2 - stime1);
+	tex_loop = task_loop / 5;
+
+	/*
+ 	 *  ã¿ã¹ã¯ã®èµ·å
+	 */
+	act_tsk(TASK1);
+	act_tsk(TASK2);
+	act_tsk(TASK3);
+
+	/*
+ 	 *  ã¡ã¤ã³ã«ã¼ã
+	 */
+	do {
+		serial_rea_dat(TASK_PORTID, &c, 1);
+		switch (c) {
+		case 'e':
+		case 's':
+		case 'S':
+		case 'd':
+		case 'y':
+		case 'Y':
+		case 'z':
+		case 'Z':
+			message[tskno-1] = c;
+			break;
+		case '1':
+			tskno = 1;
+			tskid = TASK1;
+			break;
+		case '2':
+			tskno = 2;
+			tskid = TASK2;
+			break;
+		case '3':
+			tskno = 3;
+			tskid = TASK3;
+			break;
+		case 'a':
+			syslog(LOG_INFO, "#act_tsk(%d)", tskno);
+			syscall(act_tsk(tskid));
+			break;
+		case 'A':
+			syslog(LOG_INFO, "#can_act(%d)", tskno);
+			syscall(ercd = can_act(tskid));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "can_act(%d) returns %d",
+						tskid, ercd);
+			}
+			break;
+		case 't':
+			syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
+			syscall(ter_tsk(tskid));
+			break;
+		case '>':
+			syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
+			chg_pri(tskid, HIGH_PRIORITY);
+			break;
+		case '=':
+			syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
+			chg_pri(tskid, MID_PRIORITY);
+			break;
+		case '<':
+			syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
+			chg_pri(tskid, LOW_PRIORITY);
+			break;
+		case 'G':
+			syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
+			syscall(ercd = get_pri(tskid, &tskpri));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "priority of task %d is %d",
+						tskid, tskpri);
+			}
+			break;
+		case 'w':
+			syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
+			syscall(wup_tsk(tskid));
+			break;
+		case 'W':
+			syslog(LOG_INFO, "#can_wup(%d)", tskno);
+			syscall(ercd = can_wup(tskid));
+			if (MERCD(ercd) >= 0) {
+				syslog(LOG_NOTICE, "can_wup(%d) returns %d",
+						tskid, ercd);
+			}
+			break;
+		case 'l':
+			syslog(LOG_INFO, "#rel_wai(%d)", tskno);
+			syscall(rel_wai(tskid));
+			break;
+		case 'u':
+			syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
+			syscall(sus_tsk(tskid));
+			break;
+		case 'm':
+			syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
+			syscall(rsm_tsk(tskid));
+			break;
+		case 'M':
+			syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
+			syscall(frsm_tsk(tskid));
+			break;
+		case 'x':
+			syslog(LOG_INFO, "#ras_tsk(%d, 0x0001)", tskno);
+			syscall(ras_tex(tskid, 0x0001));
+			break;
+		case 'X':
+			syslog(LOG_INFO, "#ras_tsk(%d, 0x0002)", tskno);
+			syscall(ras_tex(tskid, 0x0002));
+			break;
+		case 'r':
+			syslog(LOG_INFO, "#rot_rdq(three priorities)");
+			rot_rdq(HIGH_PRIORITY);
+			rot_rdq(MID_PRIORITY);
+			rot_rdq(LOW_PRIORITY);
+			break;
+		case 'c':
+			sta_cyc(CYCHDR1);
+			break;
+		case 'C':
+			stp_cyc(CYCHDR1);
+			break;
+#ifndef OMIT_VGET_TIM
+		case 'V':
+			syscall(vxget_tim(&utime1));
+			syscall(vxget_tim(&utime2));
+			syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
+						(UINT) utime1, (UINT) utime2);
+			break;
+#endif /* OMIT_VGET_TIM */
+		case 'v':
+			vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
+			break;
+		case 'q':
+			vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
+			break;
+		default:
+			break;
+		}
+	} while (c != '\003' && c != 'Q');
+
+	syslog(LOG_NOTICE, "Sample program ends.");
+	kernel_exit();
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.cfg	(revision 26)
@@ -0,0 +1,31 @@
+/*
+ *  @(#) $Id: sample1.cfg,v 1.6 2003/09/25 05:49:51 takayuki Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#ifndef _MACRO_ONLY
+#define _MACRO_ONLY
+#endif
+
+#include "sample1.h"
+
+INCLUDE("\"sample1.h\"");
+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
+#ifdef CPUEXC1
+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
+#endif /* CPUEXC1 */
+
+#include "../systask/timer.cfg"
+#include "../systask/serial.cfg"
+#include "../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample1.h	(revision 26)
@@ -0,0 +1,169 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h,v 1.6 2003/12/20 09:13:29 takayuki Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+#include "cpu_defs.h"
+#include "sys_defs.h"
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ï¼CPUä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼
+ */
+
+#ifdef M68K
+
+#define CPUEXC1		5		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+
+#elif defined(SH3)
+
+#define CPUEXC1		224		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(SH1)
+
+#define CPUEXC1		9		/* CPUã¢ãã¬ã¹ã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+#ifdef TOKIWA_SH1
+#define	STACK_SIZE	512		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* TOKIWA_SH1 */
+
+#elif defined(ARM7TDMI)
+
+#define CPUEXC1		4		/* ã­ã¼ãã¨ã©ã¼ä¾å¤ */
+#define RAISE_CPU_EXCEPTION	(*((volatile int *) 0xFFFFFEC1))
+
+#elif defined(V850)
+
+#elif defined(H8)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+
+#elif defined(H8S)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define LOOP_REF	4000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(MICROBLAZE)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	2048		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+
+#elif defined(I386)
+
+#define CPUEXC1		0		/* ã¼ã­é¤ç®ä¾å¤ */
+#define RAISE_CPU_EXCEPTION   syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
+#define OMIT_VGET_TIM
+
+#elif defined(TMS320C54X)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define STACK_SIZE	320		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#define LOOP_REF	500000L		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(LINUX)
+
+#undef CPUEXC1				/* CPUä¾å¤ãã³ãã©ããµãã¼ãããªã */
+#define OMIT_VGET_TIM
+#define LOOP_REF	4000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#elif defined(WINDOWS)
+
+#define LOOP_REF	5000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+
+#endif
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+#ifndef LOOP_REF
+#define LOOP_REF	1000000		/* éåº¦è¨æ¸¬ç¨ã®ã«ã¼ãåæ° */
+#endif /* LOOP_REF */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef _MACRO_ONLY
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
+extern void	tex_routine(TEXPTN texptn, VP_INT tskno);
+extern void	cyclic_handler(VP_INT exinf);
+extern void	cpuexc_handler(VP p_excinf);
+
+#endif /* _MACRO_ONLY */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.c	(revision 26)
@@ -0,0 +1,127 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample2.c,v 1.11 2003/12/24 08:23:58 takayuki Exp $
+ */
+
+
+/*
+ * TOPPERS/JSP ãµã³ãã«ãã­ã°ã©ã   - 5äººã®å²å­¦è
+ã«ããå²å­¦è
+åé¡ -
+ *    ããã¤ã¹ã¨ãã¥ã¬ã¼ã·ã§ã³ ãã¢
+ *         Last update : 23rd, February, 2001
+ */
+
+#include <t_services.h>
+#include "kernel_id.h"
+#include "sample2.h"
+#include "device.h"
+#include "debugout.h"
+
+void task(VP_INT exinf)
+{
+	ID tskid = (ID)exinf ;
+
+	while(1==1)
+	{
+		set_flg(1,0x10 | (tskid-1));	/* ç©ºè
+¹ */
+		if(pol_sem(tskid) == E_OK)
+		{
+			if(pol_sem( 1 + (tskid + 4 - 1) % 5 ) == E_OK)
+			{
+				set_flg(1,0x20 | (tskid-1));	/* é£äº */
+				dly_tsk(1000 * tskid);
+
+				set_flg(1,0x40 | (tskid-1));	/* æºè
+¹ */
+				sig_sem( 1 + (tskid + 4 - 1) % 5 );
+				sig_sem(tskid);
+				dly_tsk(1000 * tskid);
+				continue;
+			}else
+				sig_sem(tskid);
+		}
+		dly_tsk(1000 * tskid);
+	}
+}
+
+void main_task(VP_INT exinf)
+{
+	char patternchar[5] = {'.','-','O','.','z'};
+	FLGPTN ptn;
+	char buffer[6] = "-----";
+
+
+	serial_ctl_por(TASK_PORTID, (IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV));
+	syslog_1(LOG_NOTICE,"Sample program starts (exinf = %d)", exinf);
+	
+	act_tsk(1);
+	act_tsk(2);
+	act_tsk(3);
+	act_tsk(4);
+	act_tsk(5);
+
+	do{
+		wai_flg(1, 0xf0, TWF_ORW, &ptn);
+		if((ptn & 0xf) >= 5)
+			continue;
+
+		OnDevice DeviceWrite(100,4,&ptn);
+
+		if( buffer[ptn & 0xf] != patternchar[(ptn >> 4) & 0xf] )
+		{
+			buffer[ptn & 0xf] = patternchar[(ptn >> 4) & 0xf];
+			syslog_5(LOG_NOTICE,"%c%c%c%c%c",buffer[0],buffer[1],buffer[2],buffer[3],buffer[4]);
+			DebugOut(buffer);
+			DebugOut("\n");
+		}
+	}while(1==1);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.cfg
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.cfg	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.cfg	(revision 26)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample2.cfg,v 1.5 2003/12/20 09:30:16 takayuki Exp $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#ifndef _MACRO_ONLY
+#define _MACRO_ONLY
+#endif
+
+INCLUDE("\"sample2.h\"");
+CRE_TSK(1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(4, { TA_HLNG, (VP_INT) 4, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(5, { TA_HLNG, (VP_INT) 5, task, MID_PRIORITY, STACK_SIZE, NULL });
+CRE_TSK(MAIN_TASK, { TA_HLNG | TA_ACT, 0, main_task, MAIN_PRIORITY,
+			STACK_SIZE, NULL });
+
+CRE_SEM(1, { TA_TFIFO, 1, 1 });
+CRE_SEM(2, { TA_TFIFO, 1, 1 });
+CRE_SEM(3, { TA_TFIFO, 1, 1 });
+CRE_SEM(4, { TA_TFIFO, 1, 1 });
+CRE_SEM(5, { TA_TFIFO, 1, 1 });
+
+CRE_FLG(1, { TA_TFIFO | TA_CLR, 0x0 } );
+
+#include "../systask/timer.cfg"
+#include "../systask/serial.cfg"
+#include "../systask/logtask.cfg"
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/sample2.h	(revision 26)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: sample2.h,v 1.5 2003/12/20 09:13:29 takayuki Exp $
+ */
+
+/* 
+ *  ãµã³ãã«ãã­ã°ã©ã (2)ã®ããããã¡ã¤ã«
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+					/* HIGH_PRIORITY ããé«ããããã¨ */
+
+#define HIGH_PRIORITY	9		/* ä¸¦åã«å®è¡ãããã¿ã¹ã¯ã®åªå
+åº¦ */
+#define MID_PRIORITY	10
+#define LOW_PRIORITY	11
+
+/*
+ *  ã¿ã¼ã²ããã«ä¾å­ããå¯è½æ§ã®ããå®æ°ã®å®ç¾©
+ */
+
+#ifndef TASK_PORTID
+#define	TASK_PORTID	1		/* æå­å
+¥åããã·ãªã¢ã«ãã¼ãID */
+#endif /* TASK_PORTID */
+
+#ifndef STACK_SIZE
+#define	STACK_SIZE	8192		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+extern void	task(VP_INT tskno);
+extern void	main_task(VP_INT exinf);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsp	(revision 26)
@@ -0,0 +1,585 @@
+# Microsoft Developer Studio Project File - Name="Toppers" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=Toppers - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "Toppers.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "Toppers.mak" CFG="Toppers - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "Toppers - Win32 Release" ("Win32 (x86) Application" ç¨)
+!MESSAGE "Toppers - Win32 Debug" ("Win32 (x86) Application" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "Toppers - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /Ot /Ow /Oi /Ob1 /I "../../../kernel" /I "../../../include" /I "../../../config/windows" /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
+# SUBTRACT CPP /Og
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=cd ..	..\..\cfg\chk.exe -m toppers.exe -cs windows.chk -obj -v -lj
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "Toppers - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../kernel" /I "../../../include" /I "../../../config/windows" /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FAcs /FR /FD /GZ /c
+# SUBTRACT CPP /X /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /incremental:no /map /debug /debugtype:both /machine:I386 /out:"../Toppers.exe" /pdbtype:sept
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=cd ..	..\..\cfg\chk.exe -m toppers.exe -cs windows.chk -obj -v -lj
+# End Special Build Tool
+
+!ENDIF 
+
+# Begin Target
+
+# Name "Toppers - Win32 Release"
+# Name "Toppers - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\kernel_cfg.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sample1.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\sample2.c
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\kernel_id.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\sample1.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\sample2.h
+# End Source File
+# End Group
+# Begin Group "configuration"
+
+# PROP Default_Filter "cfg"
+# Begin Source File
+
+SOURCE=..\sample1.cfg
+
+!IF  "$(CFG)" == "Toppers - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputDir=\Temporary\Archives\jsp\jsp\tools\WINDOWS
+InputPath=..\sample1.cfg
+InputName=sample1
+
+BuildCmds= \
+	cd $(InputDir) \
+	cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" $(InputName).cfg | ..\..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows -system msvc \
+	
+
+"kernel_cfg.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+
+"kernel_id.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "Toppers - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputDir=\Temporary\Archives\jsp\jsp\tools\WINDOWS
+InputPath=..\sample1.cfg
+InputName=sample1
+
+BuildCmds= \
+	cd $(InputDir) \
+	cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" $(InputName).cfg | ..\..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows -system msvc \
+	
+
+"kernel_cfg.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+
+"kernel_id.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+# End Custom Build
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\sample2.cfg
+# End Source File
+# End Group
+# Begin Group "TOPPERS/JSP"
+
+# PROP Default_Filter ""
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hal_resource.rc
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\icon1.ico
+# End Source File
+# End Group
+# Begin Group "kernel"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\kernel\banner.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\check.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\cyclic.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\cyclic.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\dataqueue.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\dataqueue.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\eventflag.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\eventflag.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\exception.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\exception.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\interrupt.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\interrupt.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\jsp_kernel.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\jsp_rename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\jsp_unrename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\mailbox.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\mailbox.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\mempfix.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\mempfix.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\queue.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\semaphore.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\semaphore.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\startup.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\sys_manage.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\syslog.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\syslog.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\task.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\task.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\task_except.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\task_manage.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\task_sync.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\time_event.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\time_event.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\time_manage.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\wait.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\kernel\wait.h
+# End Source File
+# End Group
+# Begin Group "include"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\include\itron.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\kernel.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\kernel_cfg.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\kernel_debug.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\linux_sigio.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\logtask.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\s_services.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\serial.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\sil.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\t_config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\t_services.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\t_stddef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\t_syslog.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\timer.h
+# End Source File
+# End Group
+# Begin Group "systask"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\systask\logtask.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\systask\serial.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\systask\timer.c
+# End Source File
+# End Group
+# Begin Group "win32"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\api.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\com_support.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\com_support.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\constants.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_config.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_context.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_defs.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_rename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\cpu_unrename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\debugout.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\debugout.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\device.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\eventlog.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\eventlog.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hal_msg.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hw_serial.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hw_serial.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hw_timer.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\hw_timer.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\messages.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\primary_thread.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\sys_config.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\sys_config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\sys_defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\sys_rename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\sys_unrename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\tool_config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\tool_defs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\vitron.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\config\windows\vwindows.h
+# End Source File
+# End Group
+# Begin Group "library"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\library\log_output.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\library\strerror.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\library\t_perror.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\library\vasyslog.c
+# End Source File
+# End Group
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/vc_project/toppers.dsw	(revision 26)
@@ -0,0 +1,58 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+
+
+
+###############################################################################
+
+
+
+Project: "Toppers"=".\Toppers.dsp" - Package Owner=<4>
+
+
+
+Package=<5>
+
+{{{
+
+}}}
+
+
+
+Package=<4>
+
+{{{
+
+}}}
+
+
+
+###############################################################################
+
+
+
+Global:
+
+
+
+Package=<5>
+
+{{{
+
+}}}
+
+
+
+Package=<3>
+
+{{{
+
+}}}
+
+
+
+###############################################################################
+
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/windows.chk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/windows.chk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/tools/WINDOWS/windows.chk	(revision 26)
@@ -0,0 +1,69 @@
+sTMAX_TPRI,16,0
+sTMIN_TPRI,1,0
+sTMAX_RELTIM,2147483647,0
+squeue::next,4,0
+squeue::prev,4,4
+dtask_5,LOGTASK
+dtask_4,MAIN_TASK
+dtask_1,TASK1
+dtask_2,TASK2
+dtask_3,TASK3
+s_kernel_tmax_tskid,4,0
+s_kernel_tinib_table,32,0
+stask_initialization_block::tskatr,4,0
+stask_initialization_block::exinf,4,4
+stask_initialization_block::task,4,8
+stask_initialization_block::ipriority,4,12
+stask_initialization_block::stksz,4,16
+stask_initialization_block::stk,4,20
+stask_initialization_block::texatr,4,24
+stask_initialization_block::texrtn,4,28
+dsemaphore_1,SEM_SERIAL1_IN
+dsemaphore_2,SEM_SERIAL1_OUT
+dsemaphore_3,SEM_SERIAL2_IN
+dsemaphore_4,SEM_SERIAL2_OUT
+s_kernel_tmax_semid,4,0
+s_kernel_seminib_table,12,0
+ssemaphore_initialization_block::sematr,4,0
+ssemaphore_initialization_block::isemcnt,4,4
+ssemaphore_initialization_block::maxsem,4,8
+s_kernel_tmax_flgid,4,0
+s_kernel_flginib_table,8,0
+seventflag_initialization_block::flgatr,4,0
+seventflag_initialization_block::iflgptn,4,4
+s_kernel_tmax_dtqid,4,0
+s_kernel_dtqinib_table,12,0
+sdataqueue_initialization_block::dtqatr,4,0
+sdataqueue_initialization_block::dtqcnt,4,4
+sdataqueue_initialization_block::dtq,4,8
+s_kernel_tmax_mbxid,4,0
+s_kernel_mbxinib_table,8,0
+smailbox_initialization_block::mbxatr,4,0
+smailbox_initialization_block::maxmpri,4,4
+s_kernel_tmax_mpfid,4,0
+s_kernel_mpfinib_table,16,0
+sfixed_memorypool_initialization_block::mpfatr,4,0
+sfixed_memorypool_initialization_block::blksz,4,4
+sfixed_memorypool_initialization_block::mpf,4,8
+sfixed_memorypool_initialization_block::limit,4,12
+dcyclic_1,CYCHDR1
+s_kernel_tmax_cycid,4,0
+s_kernel_cycinib_table,20,0
+scyclic_handler_initialization_block::cycatr,4,0
+scyclic_handler_initialization_block::exinf,4,4
+scyclic_handler_initialization_block::cychdr,4,8
+scyclic_handler_initialization_block::cyctim,4,12
+scyclic_handler_initialization_block::cycphs,4,16
+dinterrupt_0,INHNO_SERIAL
+dinterrupt_1,INHNO_TIMER
+s_kernel_tnum_inhno,4,0
+s_kernel_inhinib_table,12,0
+sinterrupt_handler_initialization_block::inhno,4,0
+sinterrupt_handler_initialization_block::inhatr,4,4
+sinterrupt_handler_initialization_block::inthdr,4,8
+dexception_0,224
+s_kernel_tnum_excno,4,0
+s_kernel_excinib_table,12,0
+scpu_exception_handler_initialization_block::excno,4,0
+scpu_exception_handler_initialization_block::excatr,4,4
+scpu_exception_handler_initialization_block::exchdr,4,8
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/gencheck
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/gencheck	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/gencheck	(revision 26)
@@ -0,0 +1,64 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2001-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: gencheck,v 1.5 2003/12/04 14:14:39 honda Exp $
+# 
+
+while ($line = <>) {
+	chomp $line;
+	$line =~ s/[\r\n]//g;
+
+	next unless ($line =~ /\@$/);
+
+	$line =~ s/[@ \t]//g;
+	$line =~ s/\([^0-9]*([0-9]*)\)/$1/g;
+
+	print $line,"\n";
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genoffset
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genoffset	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genoffset	(revision 26)
@@ -0,0 +1,276 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genoffset,v 1.18 2005/11/12 15:00:36 hiro Exp $
+# 
+
+#
+#  åæå
+#
+$infile = $ARGV[0];
+
+#
+#  ããããµã¼ã
+#
+sub search_bit {
+	my($val) = @_;
+	my($val_bit);
+
+	return(-1) if ($val == 0);
+
+	$val_bit = 0;
+	while (($val & 1) == 0) {
+		$val >>= 1;
+		$val_bit++;
+	}
+	return($val_bit);
+}
+
+#
+#  ãªãã»ããå¤ã®åºå
+#
+sub parse_offset {
+	if ($line =~ /OFFSET_DEF ([^ \t]+) = [#\$]?([^ \t]+)/) {
+		printf "#define %s\t%d\n",$1,$2;
+	}
+}
+
+#
+#  è§£éã§ãããã£ã¬ã¯ãã£ãã®ãã¼ãã«
+#
+%directives = (
+	"long", "",
+	"dword", "",
+	"word", "",
+	"hword", "",
+	"int", "",
+	"short", "",
+	"half", "",
+	"byte", "",
+	"value", "",
+	"uaword", "",
+	"uashort", "",
+	"data32", 4,
+	"data16", 2,
+	"data8", 1,
+	"zero", -1,
+	"space", -1,
+	"globl", 0,
+	"global", 0,
+	"align", 0,
+	"p2align", 0,
+	"even", 0,
+	"data", 0,
+	"stabs", 0,
+	"type", 0,
+	"size", 0,
+	"section", 0,
+	"sdata", 0,
+	"code", 0,
+);
+
+#
+#  ãããä½ç½®ã®åºå
+#
+sub parse_bit {
+	my($endian, $size) = @_;
+	my($offset, $dir, $val, $val_bit);
+
+	return unless ($line =~ /BIT_([BL])([BHW])_([^ \t]+):/);
+	$label = $3;
+
+	$offset = 0;
+	while ($line = <INFILE>) {
+		chomp $line;
+		next if ($line =~ /^[ \t]*[#;].*$/);
+
+		if ($line =~ /[ \t]*\.([a-zA-Z0-9]+)[ \t]*([^ \t]*)[ \t]*/
+				&& defined($dir = $directives{$1})) {
+			$val = $2;
+
+			# 16é²æ°ã¨8é²æ°ã®æ°å¤ã¸ã®å¤æå¦ç
+			if ($val =~ /^0x(.+)$/) {
+				$val = hex($1);
+			}
+			elsif ($val =~ /^0(.+)$/) {
+				$val = oct($1);
+			}
+
+			if ($dir eq "") {
+				# ãµã¤ãºãç¥ããªããã£ã¬ã¯ãã£ã
+				print STDERR "genoffset: unknown directive: ",
+						"$line\n";
+				$error = 1;
+			}
+			elsif ($dir == 0) {
+				# èª­ã¿é£ã°ãã¹ããã£ã¬ã¯ãã£ã
+				next;
+			}
+			elsif ($dir == -1) {
+				# .zero ãã£ã¬ã¯ãã£ãã®å¦ç
+				$offset += $val;
+				next;
+			}
+			elsif ($val == 0) {
+				# å¤ã 0 ã®ãã£ã¼ã«ãã®å¦ç
+				$offset += $dir;
+				next;
+			}
+
+			# ãããä½ç½®ãæ¢ã
+			$val_bit = do search_bit($val);
+
+			# ãã¤ãåä½ã«æç®ãã
+			if ($endian eq "B") {
+				$offset += $dir - 1;
+				$offset -= $val_bit >> 3;
+			}
+			else {
+				$offset += $val_bit >> 3;
+			}
+			$val_bit &= 0x07;
+
+			# åºååä½ã«æç®ãã
+			if ($size eq "W") {
+				if ($endian eq "B") {
+					$val_bit += 24;
+					$val_bit -= ($offset & 0x03) << 3;
+				}
+				else {
+					$val_bit += ($offset & 0x03) << 3;
+				}
+				$offset &= ~0x03;
+			}
+			elsif ($size eq "H") {
+				if ($endian eq "B") {
+					$val_bit += 8;
+					$val_bit -= ($offset & 0x01) << 3;
+				}
+				else {
+					$val_bit += ($offset & 0x01) << 3;
+				}
+				$offset &= ~0x01;
+			}
+			last;
+		}
+		else {
+			# è§£æã§ããªãè¡
+			print STDERR "genoffset: cannot parse: $line\n";
+			$error = 1;
+		}
+	}
+
+	# å®ç¾©ã®åºå
+	$label =~ s/^_//;
+	printf "#define %s\t%d\n",$label,$offset;
+	printf "#define %s_bit\t%d\n",$label,$val_bit;
+	printf "#define %s_mask\t0x%x\n",$label,(1 << $val_bit);
+}
+
+#
+#  ãã£ã¬ã¯ãã£ãã®èª­ã¿åã
+#
+sub ref_bit {
+	my($size, $dir, $directive);
+
+	return unless ($line =~ /BIT_REF_([0-9]+):/);
+	$size = $1;
+
+	while ($line = <INFILE>) {
+		chomp $line;
+		next if ($line =~ /^[ \t]*[#;].*$/);
+
+		if ($line =~ /[ \t]*\.([a-zA-Z0-9]+)[ \t]*([^ \t]*)[ \t]*/
+				&& defined($dir = $directives{$1})) {
+			$directive = $1;
+			if ($dir eq "") {
+				# ç»é²ãã¹ããã£ã¬ã¯ãã£ã
+				$directives{$directive} = $size;
+			}
+			last;
+		}
+		else {
+			# è§£æã§ããªãè¡
+			print STDERR "genoffset: cannot parse: $line\n";
+			$error = 1;
+		}
+	}
+}
+
+#
+#  ã¡ã¤ã³ã«ã¼ãã³
+#
+print "/* This file is generated by genoffset. */\n";
+print "\n";
+
+$error = 0;
+open(INFILE, $infile) || die "Cannot open $infile";
+while ($line = <INFILE>) {
+	chomp $line;
+
+	if ($line =~ /^[ \t]*OFFSET_DEF/) {
+		do parse_offset();
+	}
+	elsif ($line =~ /^[ \t]*_?BIT_REF/) {
+		do ref_bit();
+	}
+}
+seek(INFILE, 0, SEEK_SET);
+while ($line = <INFILE>) {
+	chomp $line;
+
+	if ($line =~ /^[ \t]*_?BIT_([BL])([BHW])/) {
+		do parse_bit($1, $2);
+	}
+}
+close(INFILE);
+exit($error);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genrename
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genrename	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/genrename	(revision 26)
@@ -0,0 +1,216 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genrename,v 1.4 2005/06/08 05:33:46 hiro Exp $
+# 
+
+#
+#  ãªãã¼ã å®ç¾©ãçæãã
+#
+sub generate_define
+{
+	local($sym, $prefix) = @_;
+
+	print FILE "#define ",$prefix,$sym;
+	print FILE "\t" if (length($prefix.$sym) < 8);
+	print FILE "\t" if (length($prefix.$sym) < 16);
+	print FILE "\t",$prefix,"_kernel_",$sym,"\n";
+}
+
+#
+#  ãªãã¼ã è§£é¤ãçæãã
+#
+sub generate_undef
+{
+	local($sym, $prefix) = @_;
+
+	print FILE "#undef ",$prefix,$sym,"\n";
+}
+
+#
+#  ã¨ã©ã¼ãã§ãã¯
+#
+if ($#ARGV != 0) {
+	die "Usage: genrename <prefix>\n";
+}
+
+#
+#  åæå
+#
+@syms = ();
+$name = $ARGV[0];
+$NAME = $name; $NAME =~ y/a-z/A-Z/;
+
+$infile = $name."_rename.def";
+$defsym_rename = "_".$NAME."_RENAME_H_";
+$defsym_unrename = "_".$NAME."_UNRENAME_H_";
+
+#
+#  ã·ã³ãã«ãªã¹ããèª­ã¿è¾¼ã
+#
+open(INFILE, $infile) || die "Cannot open $infile";
+while ($line = <INFILE>) {
+	chomp $line;
+#	$line =~ s/\s+//g;
+	@syms = (@syms, $line);
+}
+close(INFILE);
+
+#
+#  ???_rename.h ãçæãã
+#
+$file = $name."_rename.h";
+open(FILE, "> ".$file);
+
+print FILE <<END;
+/* This file is generated from $infile by genrename. */
+
+#ifndef $defsym_rename
+#define $defsym_rename
+
+END
+
+foreach $sym (@syms) {
+	if ($sym =~ /^#(.*)$/) {
+		print FILE "/*\n";
+		print FILE " * ",$1,"\n";
+		print FILE " */\n";
+	}
+	elsif ($sym ne "") {
+		do generate_define($sym, "");
+	}
+	else {
+		print FILE "\n";
+	}
+}
+
+print FILE <<END;
+
+#ifdef LABEL_ASM
+
+END
+
+foreach $sym (@syms) {
+	if ($sym =~ /^#(.*)$/) {
+		print FILE "/*\n";
+		print FILE " * ",$1,"\n";
+		print FILE " */\n";
+	}
+	elsif ($sym ne "") {
+		do generate_define($sym, "_");
+	}
+	else {
+		print FILE "\n";
+	}
+}
+
+print FILE <<END;
+
+#endif /* LABEL_ASM */
+#endif /* $defsym_rename */
+END
+
+#
+#  ???_unrename.h ãçæãã
+#
+$file = $name."_unrename.h";
+open(FILE, "> ".$file);
+
+print FILE <<END;
+/* This file is generated from $infile by genrename. */
+
+#ifdef $defsym_unrename
+#undef $defsym_unrename
+
+END
+
+foreach $sym (@syms) {
+	if ($sym =~ /^#(.*)$/) {
+		print FILE "/*\n";
+		print FILE " * ",$1,"\n";
+		print FILE " */\n";
+	}
+	elsif ($sym ne "") {
+		do generate_undef($sym, "");
+	}
+	else {
+		print FILE "\n";
+	}
+}
+
+print FILE <<END;
+
+#ifdef LABEL_ASM
+
+END
+
+foreach $sym (@syms) {
+	if ($sym =~ /^#(.*)$/) {
+		print FILE "/*\n";
+		print FILE " * ",$1,"\n";
+		print FILE " */\n";
+	}
+	elsif ($sym ne "") {
+		do generate_undef($sym, "_");
+	}
+	else {
+		print FILE "\n";
+	}
+}
+
+print FILE <<END;
+
+#endif /* LABEL_ASM */
+#endif /* $defsym_unrename */
+END
+
+close(FILE);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/copy_kernel_source.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/copy_kernel_source.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/copy_kernel_source.pl	(revision 26)
@@ -0,0 +1,146 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+
+#ãå¦çå
+å®¹
+#  ãã»jsp/kernelã«ããã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼ããã
+#  ããï¼é¢æ°åä½ã§ãªã³ã¯ã§ããããã«ããï¼
+#  ãã»ã³ãã¼ããéã«ããã¡ã¤ã«å
+é ­ã«#define __tskiniãªã©ã®ãã¯ã­å®ç¾©ãè¿½å ããã
+#  ã
+#  ä½¿ãæ¹
+#  ããperl copy_kernel_source.pl src_path dst_path
+#  ãããå¼æ°
+#  ããããsrc_pathï¼jsp/kernelã¸ã®ç¸å¯¾ãã¹
+#  ããããdst_pathï¼ãã¡ã¤ã«ã®ã³ãã¼å
+ã¸ã®ç¸å¯¾ãã¹
+
+
+$src_path = $ARGV[0];
+$dst_path = $ARGV[1];
+
+# å
+ã«ãªãã½ã¼ã¹ãã¡ã¤ã«åã¨è¿½å ãããã¯ã­åã®å®ç¾©
+%hash_array = (
+ "task.c"
+	=> [qw(tskini tsksched tskrun tsknrun tskdmt tskact tskext tskpri tskrot tsktex)],
+ "wait.c"
+	=> [qw(waimake waicmp waitmo waitmook waican wairel wobjwai wobjwaitmo wobjpri)],
+ "time_event.c"
+	=> [qw(tmeini tmeup tmedown tmeins tmedel isig_tim)],
+ "syslog.c"
+	=> [qw(logini vwri_log vrea_log vmsk_log logter)],
+ "task_manage.c"
+	=> [qw(act_tsk iact_tsk can_act ext_tsk ter_tsk chg_pri get_pri)],
+ "task_sync.c"
+	=> [qw(slp_tsk tslp_tsk wup_tsk iwup_tsk can_wup rel_wai irel_wai sus_tsk rsm_tsk frsm_tsk dly_tsk)],
+ "task_except.c"
+	=> [qw(ras_tex iras_tex dis_tex ena_tex sns_tex)],
+ "semaphore.c"
+	=> [qw(semini sig_sem isig_sem wai_sem pol_sem twai_sem)],
+ "eventflag.c"
+	=> [qw(flgini flgcnd set_flg iset_flg clr_flg wai_flg pol_flg twai_flg)],
+ "dataqueue.c"
+	=> [qw(dtqini dtqenq dtqfenq dtqdeq dtqsnd dtqrcv snd_dtq psnd_dtq ipsnd_dtq tsnd_dtq fsnd_dtq ifsnd_dtq rcv_dtq prcv_dtq trcv_dtq)],
+ "mailbox.c"
+	=> [qw(mbxini snd_mbx rcv_mbx prcv_mbx trcv_mbx)],
+ "mempfix.c"
+	=> [qw(mpfini mpfget get_mpf pget_mpf tget_mpf rel_mpf)],
+ "time_manage.c"
+	=> [qw(set_tim get_tim vxget_tim)],
+ "cyclic.c"
+	=> [qw(cycini cycenq sta_cyc stp_cyc cyccal)],
+ "sys_manage.c"
+	=> [qw(rot_rdq irot_rdq get_tid iget_tid loc_cpu iloc_cpu unl_cpu iunl_cpu dis_dsp ena_dsp sns_ctx sns_loc sns_dsp sns_dpn vsns_ini)],
+ "interrupt.c"
+	=> [qw(inhini)],
+ "exception.c"
+	=> [qw(excini vxsns_ctx vxsns_loc vxsns_dsp vxsns_dpn vxsns_tex)]
+);
+
+#
+#ãã¡ã¤ã³ã®å¦ç
+#
+foreach $file (keys(%hash_array)) {
+	@array = @{$hash_array{$file}};
+	foreach $api (@array) {
+		&copy_file($file, $api);
+	}
+}
+
+
+#
+#ãç¬¬1å¼æ°ï¼å
+ã«ãªãã½ã¼ã¹ã³ã¼ãã®ãã¡ã¤ã«åï¼ãã¹ãå«ã¾ãï¼
+#ãç¬¬2å¼æ°ï¼æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã¯ã­å®ç¾©ãè¿½å ããAPIãé¢æ°å
+#ããããããâåºåãããã¡ã¤ã«åãå
+¼ã­ã¦ããã
+#
+sub copy_file {
+	my($filename, $api) = @_;
+	open(OUTFILE, ">$dst_path/$api.c") || die "Cannot open $dst_path/$api.c";
+	
+	# APIæ¯ã®ãã¯ã­å®ç¾©ãè¿½å 
+	print OUTFILE "#define __$api\n";
+	
+	# jsp/kernelãããã¡ã¤ã«ãã³ãã¼
+	open(INFILE, "$src_path/$filename") || die "Cannot open $src_path/$filename";
+	while ($line = <INFILE>) {
+		print OUTFILE $line;
+	}
+	
+	close(INFILE);
+	close(OUTFILE);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/gen_intentry.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/gen_intentry.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/gen_intentry.pl	(revision 26)
@@ -0,0 +1,116 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: gen_intentry.pl,v 1.1 2007/03/23 07:25:47 honda Exp $
+# 
+
+
+#
+#  å²è¾¼ã¿ã®å
+¥å£å¦ççæã¹ã¯ãªãã
+#  ãç´åã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦å®è¡ã§ããããã«ãªãã
+#
+#ããããã ãH8Sçã¨å¦çãç°ãªããããåé¢ãã¦ããã
+#
+
+
+#
+#  tmp_script.plå
+ããå¼ã°ããé¢æ°ã®å®ç¾©
+#ãã å²è¾¼ã¿ã®å
+¥å£å¦çãåºåããã
+#
+sub define_inh {
+	my($inhno, $handler) = @_;
+	
+	printf " INTHDR_ENTRY %s, %s_intmask\n", $handler , $handler;
+}	
+
+#
+# å²è¾¼ã¿ã®å
+¥å£å¦çã®åºå
+#
+print <<INTENTRY
+
+;
+;  å²è¾¼ã¿ã®å
+¥å£å¦çã®å®ç¾©
+;    ãã®ãã¡ã¤ã«ã«ã¯ã¦ã¼ã¶ã¼å®ç¾©ã®å²è¾¼ã¿ãã³ãã©ï¼Cè¨èªã«ã¼ãã³ï¼åã
+;    è¨è¿°ãã
+;
+        .SECTION P, CODE, ALIGN=2
+
+;
+;    å²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®ä½¿ãæ¹
+;      ï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+;
+;    ãã¯ã­INTHDR_ENTRY C_ROUTINE, INTMASK
+;      ãã©ã¡ã¼ã¿
+;          C_ROUTINEï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+;          INTMASKï¼  å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+;                      IPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨
+;                      èªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ããããã
+;                      IPMã«ã¯ï¼ã¤ä¸ã®ã¬ãã«ãè¨­å®ããã
+;
+
+INTENTRY
+;
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿ã¨å®è¡
+require "./tmp_script.pl";
+
+print "\n .END\n";
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genoffset
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genoffset	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genoffset	(revision 26)
@@ -0,0 +1,223 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genoffset,v 1.8 2007/03/23 07:25:47 honda Exp $
+# 
+
+#
+#  makeoffset.cã®ã¢ã»ã³ãã«çµæããæ§é ä½å
+ã®ãªãã»ãããæ±ãã
+#ããã«ããµã¹è£½ã³ã³ãã¤ã© H8Cå°ç¨
+#
+#ããä½¿ãæ¹
+#ãããperl genoffset makeoffset.src
+#
+
+
+#
+#  åæå
+#
+$infile = $ARGV[0];
+
+#
+#  ããããµã¼ã
+#
+sub search_bit {
+	my($val) = @_;
+	my($val_bit);
+
+	return(-1) if ($val == 0);
+
+	$val_bit = 0;
+	while (($val & 1) == 0) {
+		$val >>= 1;
+		$val_bit++;
+	}
+	return($val_bit);
+}
+
+#
+#  ãªãã»ããå¤ã®åºå
+#
+#ããå¯¾è±¡ãã¿ã¼ã³ã®ä¾ï¼
+#ããããMOV.L       #22,ER0
+#ããããMOV.L       #H'00000010,ER0
+#ããããMOV.W       #4,R0
+#ããããMOV.W       #H'0010,R0
+#ããããMOV.B       #8,R0L
+#ããããMOV.B       #8:8,R0L
+#ããããMOV.B       #H'1A:8,R0L
+#
+sub parse_offset {
+	my($label) = @_;
+	my($offset);
+
+	while ($line = <INFILE>) {
+		chomp $line;
+							# 10é²æ°4ãã¤ãã®å ´å
+		if ($line =~ /MOV\.L +#([\d]+)(:32)* *, *ER0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 10é²æ°2ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.W +#([\d]+)(:16)* *, *R0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 10é²æ°1ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.B +#([\d]+)(:8)* *, *R0L/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°4ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.L +#H\'([0-9a-fA-F]+)(:32)* *, *ER0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°2ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.W +#H\'([0-9a-fA-F]+)(:16)* *, *R0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°1ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.B +#H\'([0-9a-fA-F]+)(:8)* *, *R0L/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+
+		elsif ($line =~ /^ *RTS$/) {	# rtså½ä»¤ã®å ´å
+			print "#error Parse error: $label by genoffset script\n";
+			close(INFILE);
+			print STDERR "Error: parse error $label by genoffset script\n";
+			exit(1);
+		}
+	}
+}
+
+#
+#  ããããã£ã¼ã«ãã®è§£æ
+#
+sub parse_bit {
+	my($label) = @_;
+	my($data, $zero, $ptn, $len, $offset, $bit);
+	$data = "";
+
+	while ($line = <INFILE>) {
+		chomp $line;
+		if ($line =~ s/\.DATA\.[LW]//) {
+			$line =~ s/[^0-9a-fA-F]//g;
+			$data .= $line;
+		} else {
+			last;
+		}
+	}
+	
+	$data =~ /(0+)([^0])/;
+	$zero = $1;
+	$ptn = $2;
+	
+	$len = length($zero);
+	$offset = int($len / 2);
+	$bit = search_bit($ptn);
+	if (($len % 2) eq 0) {
+		$bit += 4;
+	}
+
+	# å®ç¾©ã®åºå
+	printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+	printf "%s_bit:\t.DEFINE\t\"%s\"\n", $label, $bit;
+	printf "%s_mask:\t.DEFINE\t\"H\'%x\"\n", $label, (1 << $bit);
+}
+
+
+#
+#  ã¡ã¤ã³ã«ã¼ãã³
+#
+print "; This file is generated by genoffset.\n";
+print "\n";
+
+$error = 0;
+open(INFILE, $infile) || die "Cannot open $infile";
+
+while ($line = <INFILE>) {
+	chomp $line;
+	
+	if ($line =~ /^_OFFSET_DEF_([^ \t]+):/) {
+		do parse_offset($1);
+	}
+	elsif ($line =~ /^_BIT_FIELD_OFFSET_([^ \t]+):/) {
+		do parse_bit($1);
+	}
+}
+
+close(INFILE);
+exit($error);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genvector.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genvector.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8-renesas/genvector.pl	(revision 26)
@@ -0,0 +1,131 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genvector.pl,v 1.5 2007/03/23 07:25:47 honda Exp $
+# 
+
+
+#
+#  ãã¯ã¿ãã¼ãã«çæã¹ã¯ãªãã
+#  ãç´åã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦å®è¡ã§ããããã«ãªãã
+#
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -s <vector size>	ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+
+#
+#  tmp_script.plå
+ããå¼ã°ããé¢æ°ã®å®ç¾©
+#  ãå²è¾¼ã¿ãã³ãã©ããã¯ã¿ãã¼ãã«ã«ç»é²ããã
+#
+sub define_inh {
+	my($inhno, $inthdr) = @_;
+	
+	if ($inhno == 0) {
+		print STDERR <<ERRMESSAGE
+In generating vector.src
+Error in DEF_INH($inhno, {TA_HLNG, $inthdr});
+\t Macro of interrupt handler number $inhno isn't defined.
+\t If you define macro $inhno in header files,
+\t it's necessary to use "#include" directive in configuration files
+\t to genarate vector.src. 
+\t (And it's also necessary to use static API "INCLUDE()" 
+\t in configuration files to genarate kernel_cfg.c. )
+\t Check configuration files and header files.
+
+ERRMESSAGE
+		;
+		exit(1);
+	}
+	else {
+		# ãã¯ã¿ãã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ãç»é²
+		#ãã å²è¾¼ã¿ãã³ãã©åã®åå¾ã«"__kernel_"ã¨"_entry"ãä»å 
+		$vector_table[$inhno] = "__kernel_" . $inthdr . "_entry";
+	}
+}	
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+do Getopt("s");
+
+if ($opt_s == 0) {
+	print STDERR "genvector.pl:\n";
+	print STDERR "\t -s option(vector size) is necessary.\n";
+	print STDERR "\t check jsp/tools/\$(CPU)/configuration/call_configurator.bat.\n";
+	print STDERR "\t \$(CPU) is H8-RENESAS or H8S-RENESAS.\n";
+	exit(1);
+}
+
+$vector_size = $opt_s;
+
+# ãã¹ã¦ã®ãã¯ã¿ããæªç»é²ãã¨ãã¦åæå
+for ($i=0; $i<$vector_size; $i++) {
+	$vector_table[$i] = "_no_reg_exception";
+}
+
+# ãªã»ãããã¯ã¿ã®å®ç¾©
+$vector_table[0] = "_start";
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿ã¨å®è¡
+require "./tmp_script.pl";
+
+# ãã¯ã¿ãã¼ãã«ã®åºå
+for ($i=0; $i<$vector_size; $i++) {
+	printf "\t.DATA.L %s\t;  %d, 0x%02x\n", $vector_table[$i] , $i, $i;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/cat.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/cat.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/cat.pl	(revision 26)
@@ -0,0 +1,67 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: cat.pl,v 1.4 2007/03/23 07:19:00 honda Exp $
+# 
+
+
+#
+#  ãã¡ã¤ã«ã®çµå
+#  ãã»PizzFactoryã®ã³ãã³ãã©ã¤ã³ã§catã³ãã³ããä½¿ç¨ã§ããªããããèªä½
+#
+
+while($line = <>) {
+	print $line;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/genvector.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/genvector.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/genvector.pl	(revision 26)
@@ -0,0 +1,146 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genvector.pl,v 1.5 2007/03/23 07:19:00 honda Exp $
+# 
+
+
+#
+#  ãã¯ã¿ãã¼ãã«çæã¹ã¯ãªãã
+#  ãmake dependæã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦
+#  ãå®è¡ã§ããããã«ãªã
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -s <vector size>	ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+#  -z 		ç»é²ããã¦ããªãå²è¾¼ã¿ãã¯ã¿ã«ã¯0ãæ¸ãè¾¼ã
+#		-zãªãã·ã§ã³ãæå®ããªãå ´åã¯ã_no_reg_expretionã
+#		æ¸ãè¾¼ã
+#		å®è¡ç°å¢ï¼Makefileã§å®ç¾©ãã¦ããDBGENVãã¯ã­ã®å¤ï¼ã
+#		ã¢ãã¿ã®ä»æ§ã«ãããå¿
+è¦ã«å¿ãã¦ç¨ãã
+
+
+require "getopt.pl";
+
+
+#
+#  å²è¾¼ã¿ãã³ãã©ããã¯ã¿ãã¼ãã«ã«ç»é²
+#ãã tmp_script.plå
+ããå¼ã°ããã
+
+sub define_inh {
+	my($inhno, $inthdr) = @_;
+	
+	if ($inhno == 0) {
+		print STDERR <<ERRMESSAGE
+In generating vector.S
+Error in DEF_INH($inhno, {TA_HLNG, $inthdr});
+\t Macro of interrupt handler number $inhno isn't defined.
+\t If you define macro $inhno in header files,
+\t it's necessary to use "#include" directive in configuration files
+\t to genarate vector.S. 
+\t (And it's also necessary to use static API "INCLUDE()" 
+\t in configuration files to genarate kernel_cfg.c. )
+\t Check configuration files and header files.
+
+ERRMESSAGE
+		;
+		exit(1);
+	}
+	else {
+		# ãã¯ã¿ãã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ãç»é²
+		#ãã å²è¾¼ã¿ãã³ãã©åã®åå¾ã«"__kernel_"ã¨"_entry"ãä»å 
+		$vector_table[$inhno] = "__kernel_" . $inthdr . "_entry";
+	}
+}	
+
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+do Getopt("s");
+
+if ($opt_s == 0) {
+	print STDERR "genvector.pl:\n";
+	print STDERR "\t -s option(vector size) is necessary.\n";
+	print STDERR "\t check jsp/config/h8/\$(SYS)/Makefile.config\n";
+	exit(1);
+}
+	
+$vector_size = $opt_s;
+
+# å®è¡ç°å¢ã«ãã£ã¦ãæªç»é²ã®å²è¾¼ã¿å¦çã®è¨è¿°ãåãåãã
+if ($opt_z) {
+	$no_reg_exception = "0";
+}
+else {
+	$no_reg_exception = "_no_reg_exception";
+}
+
+for ($i=0; $i<$vector_size; $i++) {
+	$vector_table[$i]=$no_reg_exception;
+}
+
+# ãªã»ãããã¯ã¿ã®å®ç¾©
+$vector_table[0] = "_start";
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿
+require "./tmp_script.pl";
+
+# ãã¯ã¿ãã¼ãã«ã®åºå
+for ($i=0; $i<$vector_size; $i++) {
+	printf "\t.long %s\t\t/* %d(0x%02x) */\n", $vector_table[$i], $i, $i;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/grep_def_inh.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/grep_def_inh.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8/grep_def_inh.pl	(revision 26)
@@ -0,0 +1,133 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: grep_def_inh.pl,v 1.1 2007/03/23 07:19:00 honda Exp $
+# 
+
+
+#
+#  ãã¯ã¿ãã¼ãã«çæç¨ãã£ã«ã¿
+#  ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®ããªãã­ã»ã¹çµæã
+#ãããã¯ã¿ãã¼ãã«çæã¹ã¯ãªãã(perl)ã«å¤æããã
+#ããçæãããã¹ã¯ãªããã¯genvector.plããå¼ã³åºãããã
+#
+#
+#ãä½¿ãæ¹
+#ããgrep_def_inh.pl file_name
+#ãããå¼æ°file_nameï¼å
+¥åãã¼ã¿ãã¡ã¤ã«
+#ãããããããããããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®ããªãã­ã»ã¹
+#ãããããããããããçµæãæ¸¡ããããã¨ãæ³å®ãã¦ããã
+
+#ãå¦çå
+å®¹
+#  ãã»DEF_INHæã&define_inh(xx, "*******");ã®å½¢ã«å¤æãã¦åºåããã
+#  ã
+#  ãåè
+#  ãã»ç¬¬2å¼æ°ï¼å²è¾¼ã¿ãã³ãã©å±æ§ï¼ã«TA_HLNGãæå®ããã¦ããã¨ä»®å®ãã¦ãã
+#  ãããã»ç¬¬2å¼æ°ã¯ãã§ãã¯ãè¡ã£ã¦ããªã
+#  ãããã»TA_HLNGã®å¤ï¼0x00uï¼ãæå­åç½®æã®æ­£è¦è¡¨ç¾ã«ç¨ãã¦ãã
+
+#
+#ãDEF_INHæã®éä¸­ã§æ¹è¡ããã¦ãæ­£ããå¦çããããã
+#ãä¸åº¦ããã¹ã¦ã®è¡ãé£çµãã¦ããã;ã§åºåãç´ãã
+#
+#ãåºæ¬çã«å¥ã®ç°å¢ã§ä½ã£ãå
+¥åãã¼ã¿ãèª­ã¿è¾¼ããã¨ã¯èæ
+®ãã¦ããªãã
+#ãã¤ã¾ããæ¹è¡ã³ã¼ãã®éãã§ãä¸è¨ã®whileæã§ä¸è¡ãã¤èª­ã¿è¾¼ãã¤ããã§
+#ããã¹ã¦ã®è¡ã1åº¦ã«èª­ã¿è¾¼ã¾ãã¦ãã¾ãå¯è½æ§ã¯ç¡è¦ãã¦ããã
+#
+$text = "";
+while($line = <>) {
+	#ã#ã§å§ã¾ãè¡ã¯ããªãã­ã»ããµã«ããã³ã¡ã³ããªã®ã§ãã¹ã­ãããã
+	if ($line !~ /^#/) {
+		$text .= $line;
+	}
+}
+
+#ãç°å¢ã«ä¾å­ããªãæ¹è¡ã³ã¼ãã®ç½®æ
+#ããã»æ­£è¦è¡¨ç¾ã(\x0D?\x0A?)ã¨ããªãã®ã¯ãç©ºæå­ã«ããããããªããã
+$text =~ s/(\x0D\x0A)|\x0D|\x0A//g;
+
+$text =~ s/(\s)+//g;		#ãç©ºç½æå­ãåé¤
+@list = split(/;/, $text);	#ã;æ¯ã«åºåã
+
+#
+#  &define_inh(xx, "*******");ã®å½¢ã§åºåããã
+#
+#ãããã§ãã©ãã«åã®åå¾ã«__kernel_ã¨_entryãä»å ããªãã®ã¯
+#ãgccçã¨HEWçã§å
+±éã«ä½¿ããããã«ããããã
+#ãHEWçã§ã¯ãtmp_script.plãä»¥ä¸ã®ï¼ã¤ã®ç®çã§ä½¿ç¨ãããã
+#ããã»ãã¯ã¿ãã¼ãã«ã®çæ
+#ããã»å²è¾¼ã¿ã®åºå
+¥å£å¦çã®çæ
+#
+foreach $line (@list) {
+	if ($line =~ s/^DEF_INH\(/\&define_inh\(/) {
+		
+		# TA_HLNGã®å¤ã0x00uã§ãããã¨ãä»®å®ãã¦ãã
+		$line =~ s/,{0x00u,/\,"/;
+		$line =~ s/}\)/"\)/g;
+		
+		#  å²è¾¼ã¿çªå·ã®æ«å°¾ã«u,ulãä»ãã¦ããå ´åã¯åé¤ãã
+		$line =~ s/((ul)|(lu)|(u)|(l))\,/\,/i;
+		printf "\t%s;\n", $line;
+	}
+}
+
+# ã©ã¤ãã©ãªã¨ãã¦å¼ã³åºããããã«æ»ãå¤ãï¼ã«ããã
+print "1;\n";
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8s-renesas/gen_intentry.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8s-renesas/gen_intentry.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/h8s-renesas/gen_intentry.pl	(revision 26)
@@ -0,0 +1,111 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: gen_intentry.pl,v 1.1 2007/03/23 07:30:14 honda Exp $
+# 
+
+
+#
+#  å²è¾¼ã¿ã®å
+¥å£å¦ççæã¹ã¯ãªãã
+#  ãç´åã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦å®è¡ã§ããããã«ãªãã
+#
+#ããããã ãH8çã¨å¦çãç°ãªããããåé¢ãã¦ããã
+#
+
+#
+#  tmp_script.plå
+ããå¼ã°ããé¢æ°ã®å®ç¾©
+#ãã å²è¾¼ã¿ã®å
+¥å£å¦çãåºåããã
+#
+sub define_inh {
+	my($inhno, $handler) = @_;
+	
+	printf " INTHDR_ENTRY %s\n", $handler;
+}	
+
+#
+# å²è¾¼ã¿ã®å
+¥å£å¦çã®åºå
+#
+print <<INTENTRY
+
+;
+;  å²è¾¼ã¿ã®å
+¥å£å¦çã®å®ç¾©
+;    ãã®ãã¡ã¤ã«ã«ã¯ã¦ã¼ã¶ã¼å®ç¾©ã®å²è¾¼ã¿ãã³ãã©ï¼Cè¨èªã«ã¼ãã³ï¼åã
+;    è¨è¿°ãã
+;
+        .SECTION P, CODE, ALIGN=2
+
+;
+;    å²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®ä½¿ãæ¹
+;      ï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+;
+;    ãã¯ã­INTHDR_ENTRY C_ROUTINE
+;      ãã©ã¡ã¼ã¿
+;         C_ROUTINEï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+;
+
+INTENTRY
+;
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿ã¨å®è¡
+require "./tmp_script.pl";
+
+print "\n .END\n";
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/copy_kernel_source.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/copy_kernel_source.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/copy_kernel_source.pl	(revision 26)
@@ -0,0 +1,146 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+
+#ãå¦çå
+å®¹
+#  ãã»jsp/kernelã«ããã½ã¼ã¹ã³ã¼ããAPIæ¯ã«ã³ãã¼ããã
+#  ããï¼é¢æ°åä½ã§ãªã³ã¯ã§ããããã«ããï¼
+#  ãã»ã³ãã¼ããéã«ããã¡ã¤ã«å
+é ­ã«#define __tskiniãªã©ã®ãã¯ã­å®ç¾©ãè¿½å ããã
+#  ã
+#  ä½¿ãæ¹
+#  ããperl copy_kernel_source.pl src_path dst_path
+#  ãããå¼æ°
+#  ããããsrc_pathï¼jsp/kernelã¸ã®ç¸å¯¾ãã¹
+#  ããããdst_pathï¼ãã¡ã¤ã«ã®ã³ãã¼å
+ã¸ã®ç¸å¯¾ãã¹
+
+
+$src_path = $ARGV[0];
+$dst_path = $ARGV[1];
+
+# å
+ã«ãªãã½ã¼ã¹ãã¡ã¤ã«åã¨è¿½å ãããã¯ã­åã®å®ç¾©
+%hash_array = (
+ "task.c"
+	=> [qw(tskini tsksched tskrun tsknrun tskdmt tskact tskext tskpri tskrot tsktex)],
+ "wait.c"
+	=> [qw(waimake waicmp waitmo waitmook waican wairel wobjwai wobjwaitmo wobjpri)],
+ "time_event.c"
+	=> [qw(tmeini tmeup tmedown tmeins tmedel isig_tim)],
+ "syslog.c"
+	=> [qw(logini vwri_log vrea_log vmsk_log logter)],
+ "task_manage.c"
+	=> [qw(act_tsk iact_tsk can_act ext_tsk ter_tsk chg_pri get_pri)],
+ "task_sync.c"
+	=> [qw(slp_tsk tslp_tsk wup_tsk iwup_tsk can_wup rel_wai irel_wai sus_tsk rsm_tsk frsm_tsk dly_tsk)],
+ "task_except.c"
+	=> [qw(ras_tex iras_tex dis_tex ena_tex sns_tex)],
+ "semaphore.c"
+	=> [qw(semini sig_sem isig_sem wai_sem pol_sem twai_sem)],
+ "eventflag.c"
+	=> [qw(flgini flgcnd set_flg iset_flg clr_flg wai_flg pol_flg twai_flg)],
+ "dataqueue.c"
+	=> [qw(dtqini dtqenq dtqfenq dtqdeq dtqsnd dtqrcv snd_dtq psnd_dtq ipsnd_dtq tsnd_dtq fsnd_dtq ifsnd_dtq rcv_dtq prcv_dtq trcv_dtq)],
+ "mailbox.c"
+	=> [qw(mbxini snd_mbx rcv_mbx prcv_mbx trcv_mbx)],
+ "mempfix.c"
+	=> [qw(mpfini mpfget get_mpf pget_mpf tget_mpf rel_mpf)],
+ "time_manage.c"
+	=> [qw(set_tim get_tim vxget_tim)],
+ "cyclic.c"
+	=> [qw(cycini cycenq sta_cyc stp_cyc cyccal)],
+ "sys_manage.c"
+	=> [qw(rot_rdq irot_rdq get_tid iget_tid loc_cpu iloc_cpu unl_cpu iunl_cpu dis_dsp ena_dsp sns_ctx sns_loc sns_dsp sns_dpn vsns_ini)],
+ "interrupt.c"
+	=> [qw(inhini)],
+ "exception.c"
+	=> [qw(excini vxsns_ctx vxsns_loc vxsns_dsp vxsns_dpn vxsns_tex)]
+);
+
+#
+#ãã¡ã¤ã³ã®å¦ç
+#
+foreach $file (keys(%hash_array)) {
+	@array = @{$hash_array{$file}};
+	foreach $api (@array) {
+		&copy_file($file, $api);
+	}
+}
+
+
+#
+#ãç¬¬1å¼æ°ï¼å
+ã«ãªãã½ã¼ã¹ã³ã¼ãã®ãã¡ã¤ã«åï¼ãã¹ãå«ã¾ãï¼
+#ãç¬¬2å¼æ°ï¼æ¡ä»¶ã³ã³ãã¤ã«ç¨ã®ãã¯ã­å®ç¾©ãè¿½å ããAPIãé¢æ°å
+#ããããããâåºåãããã¡ã¤ã«åãå
+¼ã­ã¦ããã
+#
+sub copy_file {
+	my($filename, $api) = @_;
+	open(OUTFILE, ">$dst_path/$api.c") || die "Cannot open $dst_path/$api.c";
+	
+	# APIæ¯ã®ãã¯ã­å®ç¾©ãè¿½å 
+	print OUTFILE "#define __$api\n";
+	
+	# jsp/kernelãããã¡ã¤ã«ãã³ãã¼
+	open(INFILE, "$src_path/$filename") || die "Cannot open $src_path/$filename";
+	while ($line = <INFILE>) {
+		print OUTFILE $line;
+	}
+	
+	close(INFILE);
+	close(OUTFILE);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/gen_intentry.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/gen_intentry.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/gen_intentry.pl	(revision 26)
@@ -0,0 +1,116 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: gen_intentry.pl,v 1.1 2007/03/23 07:25:47 honda Exp $
+# 
+
+
+#
+#  å²è¾¼ã¿ã®å
+¥å£å¦ççæã¹ã¯ãªãã
+#  ãç´åã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦å®è¡ã§ããããã«ãªãã
+#
+#ããããã ãH8Sçã¨å¦çãç°ãªããããåé¢ãã¦ããã
+#
+
+
+#
+#  tmp_script.plå
+ããå¼ã°ããé¢æ°ã®å®ç¾©
+#ãã å²è¾¼ã¿ã®å
+¥å£å¦çãåºåããã
+#
+sub define_inh {
+	my($inhno, $handler) = @_;
+	
+	printf " INTHDR_ENTRY %s, %s_intmask\n", $handler , $handler;
+}	
+
+#
+# å²è¾¼ã¿ã®å
+¥å£å¦çã®åºå
+#
+print <<INTENTRY
+
+;
+;  å²è¾¼ã¿ã®å
+¥å£å¦çã®å®ç¾©
+;    ãã®ãã¡ã¤ã«ã«ã¯ã¦ã¼ã¶ã¼å®ç¾©ã®å²è¾¼ã¿ãã³ãã©ï¼Cè¨èªã«ã¼ãã³ï¼åã
+;    è¨è¿°ãã
+;
+        .SECTION P, CODE, ALIGN=2
+
+;
+;    å²è¾¼ã¿ã®å
+¥å£å¦çãçæãããã¯ã­ã®ä½¿ãæ¹
+;      ï¼å²è¾¼ã¿è¦å æ¯ã«ç°ãªãé¨åï¼
+;
+;    ãã¯ã­INTHDR_ENTRY C_ROUTINE, INTMASK
+;      ãã©ã¡ã¼ã¿
+;          C_ROUTINEï¼Cè¨èªã«ã¼ãã³ã®é¢æ°åï¼å
+é ­ã®'_'ã¯ä»ããªãï¼
+;          INTMASKï¼  å²è¾¼ã¿è¨±å¯æã«å²è¾¼ã¿ãã¹ã¯ã«è¨­å®ããå¤
+;                      IPM_LEVEL1ãIPM_LEVEL2ã®ããããã«ãããã¨
+;                      èªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ããããã
+;                      IPMã«ã¯ï¼ã¤ä¸ã®ã¬ãã«ãè¨­å®ããã
+;
+
+INTENTRY
+;
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿ã¨å®è¡
+require "./tmp_script.pl";
+
+print "\n .END\n";
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genoffset.exe
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genoffset.exe	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genoffset.exe	(revision 26)
@@ -0,0 +1,223 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genoffset,v 1.8 2007/03/23 07:25:47 honda Exp $
+# 
+
+#
+#  makeoffset.cã®ã¢ã»ã³ãã«çµæããæ§é ä½å
+ã®ãªãã»ãããæ±ãã
+#ããã«ããµã¹è£½ã³ã³ãã¤ã© H8Cå°ç¨
+#
+#ããä½¿ãæ¹
+#ãããperl genoffset makeoffset.src
+#
+
+
+#
+#  åæå
+#
+$infile = $ARGV[0];
+
+#
+#  ããããµã¼ã
+#
+sub search_bit {
+	my($val) = @_;
+	my($val_bit);
+
+	return(-1) if ($val == 0);
+
+	$val_bit = 0;
+	while (($val & 1) == 0) {
+		$val >>= 1;
+		$val_bit++;
+	}
+	return($val_bit);
+}
+
+#
+#  ãªãã»ããå¤ã®åºå
+#
+#ããå¯¾è±¡ãã¿ã¼ã³ã®ä¾ï¼
+#ããããMOV.L       #22,ER0
+#ããããMOV.L       #H'00000010,ER0
+#ããããMOV.W       #4,R0
+#ããããMOV.W       #H'0010,R0
+#ããããMOV.B       #8,R0L
+#ããããMOV.B       #8:8,R0L
+#ããããMOV.B       #H'1A:8,R0L
+#
+sub parse_offset {
+	my($label) = @_;
+	my($offset);
+
+	while ($line = <INFILE>) {
+		chomp $line;
+							# 10é²æ°4ãã¤ãã®å ´å
+		if ($line =~ /MOV\.L +#([\d]+)(:32)* *, *ER0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 10é²æ°2ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.W +#([\d]+)(:16)* *, *R0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 10é²æ°1ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.B +#([\d]+)(:8)* *, *R0L/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°4ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.L +#H\'([0-9a-fA-F]+)(:32)* *, *ER0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°2ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.W +#H\'([0-9a-fA-F]+)(:16)* *, *R0/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+							# 16é²æ°1ãã¤ãã®å ´å
+		elsif ($line =~ /MOV\.B +#H\'([0-9a-fA-F]+)(:8)* *, *R0L/) {
+			$offset = $1;
+			
+			# å®ç¾©ã®åºå
+			printf "%s:\t.DEFINE\t\"H\'%s\"\n", $label, $offset;
+			last;
+		}
+
+		elsif ($line =~ /^ *RTS$/) {	# rtså½ä»¤ã®å ´å
+			print "#error Parse error: $label by genoffset script\n";
+			close(INFILE);
+			print STDERR "Error: parse error $label by genoffset script\n";
+			exit(1);
+		}
+	}
+}
+
+#
+#  ããããã£ã¼ã«ãã®è§£æ
+#
+sub parse_bit {
+	my($label) = @_;
+	my($data, $zero, $ptn, $len, $offset, $bit);
+	$data = "";
+
+	while ($line = <INFILE>) {
+		chomp $line;
+		if ($line =~ s/\.DATA\.[LW]//) {
+			$line =~ s/[^0-9a-fA-F]//g;
+			$data .= $line;
+		} else {
+			last;
+		}
+	}
+	
+	$data =~ /(0+)([^0])/;
+	$zero = $1;
+	$ptn = $2;
+	
+	$len = length($zero);
+	$offset = int($len / 2);
+	$bit = search_bit($ptn);
+	if (($len % 2) eq 0) {
+		$bit += 4;
+	}
+
+	# å®ç¾©ã®åºå
+	printf "%s:\t.DEFINE\t\"%s\"\n", $label, $offset;
+	printf "%s_bit:\t.DEFINE\t\"%s\"\n", $label, $bit;
+	printf "%s_mask:\t.DEFINE\t\"H\'%x\"\n", $label, (1 << $bit);
+}
+
+
+#
+#  ã¡ã¤ã³ã«ã¼ãã³
+#
+print "; This file is generated by genoffset.\n";
+print "\n";
+
+$error = 0;
+open(INFILE, $infile) || die "Cannot open $infile";
+
+while ($line = <INFILE>) {
+	chomp $line;
+	
+	if ($line =~ /^_OFFSET_DEF_([^ \t]+):/) {
+		do parse_offset($1);
+	}
+	elsif ($line =~ /^_BIT_FIELD_OFFSET_([^ \t]+):/) {
+		do parse_bit($1);
+	}
+}
+
+close(INFILE);
+exit($error);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genvector.pl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genvector.pl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/hew-renesas/genvector.pl	(revision 26)
@@ -0,0 +1,131 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+#  Copyright (C) 2005-2007 by Industrial Technology Institute,
+#                              Miyagi Prefectural Government, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: genvector.pl,v 1.5 2007/03/23 07:25:47 honda Exp $
+# 
+
+
+#
+#  ãã¯ã¿ãã¼ãã«çæã¹ã¯ãªãã
+#  ãç´åã«çæãããtmp_script.plãèª­ã¿è¾¼ããã¨ã«ãã£ã¦å®è¡ã§ããããã«ãªãã
+#
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -s <vector size>	ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
+
+#
+#  tmp_script.plå
+ããå¼ã°ããé¢æ°ã®å®ç¾©
+#  ãå²è¾¼ã¿ãã³ãã©ããã¯ã¿ãã¼ãã«ã«ç»é²ããã
+#
+sub define_inh {
+	my($inhno, $inthdr) = @_;
+	
+	if ($inhno == 0) {
+		print STDERR <<ERRMESSAGE
+In generating vector.src
+Error in DEF_INH($inhno, {TA_HLNG, $inthdr});
+\t Macro of interrupt handler number $inhno isn't defined.
+\t If you define macro $inhno in header files,
+\t it's necessary to use "#include" directive in configuration files
+\t to genarate vector.src. 
+\t (And it's also necessary to use static API "INCLUDE()" 
+\t in configuration files to genarate kernel_cfg.c. )
+\t Check configuration files and header files.
+
+ERRMESSAGE
+		;
+		exit(1);
+	}
+	else {
+		# ãã¯ã¿ãã¼ãã«ã«å²è¾¼ã¿ãã³ãã©ãç»é²
+		#ãã å²è¾¼ã¿ãã³ãã©åã®åå¾ã«"__kernel_"ã¨"_entry"ãä»å 
+		$vector_table[$inhno] = "__kernel_" . $inthdr . "_entry";
+	}
+}	
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+do Getopt("s");
+
+if ($opt_s == 0) {
+	print STDERR "genvector.pl:\n";
+	print STDERR "\t -s option(vector size) is necessary.\n";
+	print STDERR "\t check jsp/tools/\$(CPU)/configuration/call_configurator.bat.\n";
+	print STDERR "\t \$(CPU) is H8-RENESAS or H8S-RENESAS.\n";
+	exit(1);
+}
+
+$vector_size = $opt_s;
+
+# ãã¹ã¦ã®ãã¯ã¿ããæªç»é²ãã¨ãã¦åæå
+for ($i=0; $i<$vector_size; $i++) {
+	$vector_table[$i] = "_no_reg_exception";
+}
+
+# ãªã»ãããã¯ã¿ã®å®ç¾©
+$vector_table[0] = "_start";
+
+# èªåçæãããã¹ã¯ãªããã®èª­ã¿è¾¼ã¿ã¨å®è¡
+require "./tmp_script.pl";
+
+# ãã¯ã¿ãã¼ãã«ã®åºå
+for ($i=0; $i<$vector_size; $i++) {
+	printf "\t.DATA.L %s\t;  %d, 0x%02x\n", $vector_table[$i] , $i, $i;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/Makefile
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/Makefile	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/Makefile	(revision 26)
@@ -0,0 +1,136 @@
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004 by Platform Development Center
+#                                          RIOCH COMPANY,LTD. JAPAN
+#  Copyright (C) 2010 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: Makefile,v 1.3 2004/10/07 07:30:37 honda Exp $
+# 
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+CFLAGS = -g -O2 -Wall
+INCLUDES = -I.
+
+#
+#  ãªã³ã¯æã«è¿½å ããã©ã¤ãã©ãª
+#
+LIBS =
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+COMMON_OBJS = 
+OFF_OBJS = m16coffset.o $(COMMON_OBJS)
+VEC_OBJS = m16cvec.o  $(COMMON_OBJS)
+
+VPATH = .
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«
+#
+all: m16coffset m16cvec
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(VPATH)
+
+#
+#  m16coffset ã®ãªã³ã¯
+#
+m16coffset: $(OFF_OBJS)
+	$(CC) $(CFLAGS) -o m16coffset $(OFF_OBJS) $(LIBS)
+
+#
+#  m16cvec ã®ãªã³ã¯
+#
+m16cvec: $(VEC_OBJS)
+	$(CC) $(CFLAGS) -o m16cvec $(VEC_OBJS) $(LIBS)
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+clean:
+	rm -f *.o
+	rm -f m16coffset.exe m16cvec.exe
+
+cleandep:
+	rm -f Makefile.depend
+
+realclean: cleandep clean
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+depend: cleandep $(OFF_OBJS:.o=.d) $(VEC_OBJS:.o=.d)
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  ã³ã³ãã¤ã©ãã©ã¤ãã®å®ç¾©
+#
+CC = gcc
+
+#
+#  ããã©ã«ãã®ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+%.o: %.c
+	$(CC) -c $(CFLAGS) $(INCLUDES) $<
+
+#
+#  ããã©ã«ãã®ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+%.d: %.c
+	$(CC) -M $(CFLAGS) $(INCLUDES) $< >> Makefile.depend
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/configure.m16c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/configure.m16c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/configure.m16c	(revision 26)
@@ -0,0 +1,269 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2001-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004,2010 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: configure.m16c,v 1.5 2007/03/23 08:25:47 honda Exp $
+# 
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -C <cpu>		ãã­ã»ããµå
+#  -S <sys>		ã·ã¹ãã å
+#  -T <tool>		éçºç°å¢å
+#  -A <uname>		ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã å
+#  -U <utask>		ä»ã®ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ãã¡ã¤ã«
+#			ï¼.r30 ãã¡ã¤ã«åã§æå®ï¼è¤æ°æå®å¯ï¼
+#  -L <kernel_lib>	ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.libï¼ã®ãã£ã¬ã¯ããªå
+#			ï¼çç¥ããå ´åï¼ã«ã¼ãã«ã©ã¤ãã©ãªã make ããï¼
+#  -D <srcdir>		ã«ã¼ãã«ç­ã®ã½ã¼ã¹ã®ç½®ããã¦ãããã£ã¬ã¯ããª
+#  -P <prefix>		éçºç°å¢ã¤ã³ã¹ãã¼ã«æã® PREFIX
+#			ï¼ç¾å¨ã¯ PREFIX ãä½¿ã£ã¦ãããã¡ã¤ã«ã¯ãªãï¼
+#  -p <perl>		perl ã®ãã¹åï¼æç¤ºçã«æå®ããå ´åï¼
+#  -l <lang>		ãã­ã°ã©ãã³ã°è¨èªï¼ç¾æç¹ã§ã¯C++ã®ã¿ãµãã¼ãï¼
+#  -d <dir>		ãã³ãã¬ã¼ããã£ã¬ã¯ããªãæå®ï¼ããã©ã«ãã¯sampleï¼
+
+#  ä½¿ç¨ä¾(1)
+#
+#  % ..\utils\m16c-renesas\configure -C m16c -S oaks16 -T renesas -D .. -A test1 -U test_support.r30 -L .
+#
+#  ä½¿ç¨ä¾(2)
+#
+#  % ../configure -C linux
+#	ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã¯ sample1 ã«ãªãï¼
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+Getopt("CSTAULDPpld");
+
+$cpu = $opt_C ? $opt_C : "m16c";
+$sys = $opt_S ? $opt_S : "oaks16";
+$tool = $opt_T ? $opt_T : "renesas";
+$uname = $opt_A ? $opt_A : "sample1";
+$utask = $opt_U ? $opt_U : "";
+$kernel_lib = $opt_L ? $opt_L : "";
+$prefix = $opt_P ? $opt_P : "\\mtool";
+$perl = $opt_p ? $opt_p : get_path("perl.exe", ("\\perl\\bin"));
+$lang = $opt_l ? $opt_l : "";
+$templatedir = $opt_d ? $opt_d : "sample";
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ãè¿ã
+#
+sub get_objext {
+	local(@uname);
+
+	use POSIX;
+	@uname = uname();
+	if ($uname[0] =~ /^cygwin/i) {
+		return("exe");
+	}
+	else {
+		return("");
+	}
+}
+
+#
+#  ãã­ã°ã©ã ã®å ´æãæ¤ç´¢ãã
+#
+sub get_path {
+	local($progname, @pathlist) = @_;
+	local($path);
+
+	foreach $path (@pathlist) {
+		if (-x $path."\\".$progname) {
+			return($path."\\".$progname);
+		}
+	}
+	return("");
+}
+
+#
+#  ãã¡ã¤ã«ãå¤æãã
+#
+sub convert {
+	local($infile, $outfile) = @_;
+	local($line, $varname, $varval);
+
+	print STDERR "configure: Generating $outfile from $infile.\n";
+	if (-f $outfile) {
+		print STDERR "configure: $outfile exists.",
+				"  Save as $outfile.bak.\n";
+		rename($outfile, $outfile.".bak");
+	}
+	unless (open(INFILE, $infile)) {
+		print STDERR "configure: can't open $infile\n";
+		exit(1);
+	}
+	unless (open(OUTFILE, "> ".$outfile)) {
+		print STDERR "configure: can't open $outfile\n";
+		exit(1);
+	}
+
+	while ($line = <INFILE>) {
+		chop $line;
+		while ($line =~ /^(.*)\@\(([A-Za-z_]+)\)(.*)$/) {
+			$line = $1.$vartable{$2}.$3;
+		}
+		print OUTFILE $line,"\n";
+	}
+
+	close(INFILE);
+	close(OUTFILE);
+}
+
+#
+#  ãµã³ãã«ãè¦ã¤ãã¦ãã¡ã¤ã«ãçæãã
+#
+sub generate {
+	local($file, $mandatory) = @_;
+	local($path);
+
+	if ($sys) {
+		$path = $sampledir.$file.".".$cpu."-".$sys;
+		if (-f $path) {
+			convert($path, $file);
+			return;
+		}
+
+		$path = $sampledir.$file.".".$sys;
+		if (-f $path) {
+			convert($path, $file);
+			return;
+		}
+	}	
+
+	$path = $sampledir.$file.".".$cpu;
+	if (-f $path) {
+		convert($path, $file);
+		return;
+	}	
+
+	$path = $sampledir.$file;
+	if ($mandatory || -f $path) {
+		convert($path, $file);
+	}	
+}
+
+#
+#  å¤æ°ã®åæå
+#
+
+#
+#  ã½ã¼ã¹ãã£ã¬ã¯ããªåãåãåºã
+#
+$pwd = `chdir`; chop $pwd;
+if ($opt_D) {
+	$srcabsdir = $srcdir = $opt_D;
+}
+elsif ($0 =~ /(.*)\\utils\\$cpu-$tool\\configure\.m16c/) {
+	$srcdir = $1;
+	if ($srcdir =~ /^([a-zA-Z]:)*\\/) {
+		$srcabsdir = $srcdir;
+	}
+	else {
+		$srcabsdir = $pwd."\\".$srcdir;
+	}
+}
+else {
+	$srcabsdir = $srcdir = $pwd;
+}
+$sampledir = $srcdir."\\".$templatedir."\\";
+
+#
+#  å¤æ°ãã¼ãã«ã®ä½æ
+#
+%vartable = ();
+$vartable{"CPU"} = $cpu;
+$vartable{"SYS"} = $sys;
+$vartable{"TOOL"} = $tool;
+$vartable{"UNAME"} = $uname;
+$vartable{"UTASK"} = $utask;
+$vartable{"KERNEL_LIB"} = $kernel_lib;
+$vartable{"SRCDIR"} = $srcdir;
+$vartable{"SRCABSDIR"} = $srcabsdir;
+$vartable{"PREFIX"} = $prefix;
+$vartable{"OBJEXT"} = get_objext();
+$vartable{"PERL"} = $perl;
+$vartable{"LANG"} = $lang;
+
+#
+#  ãã£ã¬ã¯ããªã®ãã§ãã¯
+#
+
+if (! $tool && ! $sys && ! -d $srcdir."\\config\\".$cpu) {
+	print STDERR "configure: $srcdir/config/$cpu not exist\n";
+	exit(1);
+}
+if (! $tool && $sys && ! -d $srcdir."\\config\\".$cpu."\\".$sys) {
+	print STDERR "configure: $srcdir/config/$cpu/$sys not exist\n";
+	exit(1);
+}
+if ($tool && ! $sys && ! -d $srcdir."\\config\\".$cpu."-".$tool) {
+	print STDERR "configure: $srcdir/config/$cpu-$tool not exist\n";
+	exit(1);
+}
+if ($tool && $sys && ! -d $srcdir."\\config\\".$cpu."-".$tool."\\".$sys) {
+	print STDERR "configure: $srcdir/config/$cpu-$tool/$sys not exist\n";
+	exit(1);
+}
+
+#
+#  Makefile ã¨ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+
+generate("Makefile", 1);
+generate($uname.".c", 0);
+generate($uname.".cpp", 0);
+generate($uname.".h", 0);
+generate($uname.".cfg", 0);
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16coffset.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16coffset.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16coffset.c	(revision 26)
@@ -0,0 +1,273 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RIOCH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2007, 2010 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m16coffset.cpp,v 1.2 2007/03/23 07:12:10 honda Exp $
+ */
+// m16coffset.c : ã³ã³ã½ã¼ã« ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¨ã³ããª ãã¤ã³ãã®å®ç¾©
+//    2010/12/28 å¤æ´ç¹ï¼ ãã¡ã¤ã«æ¡å¼µå­ã .cpp ãã .c ã¨ããï¼
+//                        bool åãæ±ããã stdbool.h ãã¤ã³ã¯ã«ã¼ãããï¼
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdbool.h>
+
+#define	BUF_SIZE		512
+#define	STR_SIZE		128
+
+#define	NORMAL_STATE	0
+#define	CHECK_STATE		1
+
+struct OFF {
+	int		bit;
+	int		offset;
+	int 	check_type; /* OFF=0 or BIT=1 */
+	char	label[STR_SIZE];
+	char	mask[STR_SIZE];
+};
+
+static char const version[] = "02.00";
+static char const default_input_file[] = "makeoffset.a30";
+static char const default_output_file[] = "offset.inc";
+
+static char input_file[STR_SIZE];
+static char output_file[STR_SIZE];
+static int  num_offset = 0;
+static int  offset_state = NORMAL_STATE;
+static struct OFF off_table[20];
+
+static bool test_string(char** s, char const * t);
+static bool skip_space(char** s);
+
+int main(int argc, char* argv[])
+{
+	FILE* pfo;
+	FILE* pfi;
+	struct OFF *v = NULL;
+	char* s;
+	char* p;
+	char  buf[BUF_SIZE];
+	char  c;
+	int i;
+	int val;
+	int ofs = 0;
+	char ct[4]; /* "BIT" or "OFF" */
+
+	strcpy(input_file, default_input_file);
+	strcpy(output_file, default_output_file);
+
+	for(i = 1 ; i < argc ; i++){
+		s = argv[i];
+		if(*s++ == '-'){
+			c = *s;
+			while(*s != 0){
+				if(*s == ':')
+					break;
+				s++;
+			}
+			if(*s++ == ':'){
+				switch(c){
+				case 'O':		// ã¢ã¦ãããããã¡ã¤ã«ã®è¨­å®
+				case 'o':
+					strcpy(output_file, s);
+					break;
+				case 'R':		// ã¤ã³ããããã¡ã¤ã«ã®è¨­å®
+				case 'r':
+					strcpy(input_file, s);
+					break;
+				default:
+					printf("m16coffset -R:input_file -O:output_file\n");
+					break;
+				}
+			}
+		}
+	}
+	printf("version      = %s\n", version);
+	printf("input file   = %s\n", input_file);
+	printf("output file  = %s\n", output_file);
+
+	if((pfi = fopen(input_file, "r")) == NULL){
+		fprintf(stderr, "can't open input file!");
+		exit(1);
+	}
+	if((pfo = fopen(output_file, "w")) == NULL){
+		fclose(pfi);
+		fprintf(stderr, "can't open output file!");
+		exit(1);
+	}
+
+	/* ä¸è¡å
+¥å â è§£æ */
+	for(;;){
+		if((fgets(buf, BUF_SIZE, pfi)) == NULL)	break;
+		s = buf;
+
+		switch(offset_state){
+		  case CHECK_STATE:
+			if(skip_space(&s)) /* è¡é ­ã®ç©ºç½ãé¤ã */
+				continue;
+
+			/* ãªãã»ãã */
+			if(test_string(&s, ".word")){
+				ofs = 2;
+			}
+			else if(test_string(&s, ".lword")){
+				ofs = 4;
+			}
+			else if(test_string(&s, ".byte")){
+				ofs = 1;
+			}
+			else if(test_string(&s, ".addr")){
+				ofs = 3;
+			}
+			else {
+				continue;
+			}
+
+			if(skip_space(&s))
+				continue;
+
+			sscanf(s, "%x", &val);
+			if(val){
+				offset_state = NORMAL_STATE;
+				if(v->check_type) {
+					sprintf(v->mask, "%xH", val);
+					for(v->bit=0; val>1; v->bit++) {
+						val /= 2;
+					}
+				}
+				continue;
+			}
+			v->offset += ofs;
+			break;
+		  default:
+			if(!test_string(&s, "_____BEGIN_")) {
+				continue;
+			}
+			v = &off_table[num_offset++];
+
+			for(i = 0, p = ct; i < 4 && isalpha(*s) && *s != '_'; i++){
+				*p++ = *s++;
+			}
+			*p++ = 0, *s++;
+			if(strncmp(ct, "BIT", sizeof("BIT")) == 0) {
+				v->check_type = 1;
+			}
+
+			p = v->label;
+			while(*s > ':')
+				*p++ = *s++;
+			*p++ = 0;
+			offset_state = CHECK_STATE;
+			break;
+		}
+	}
+
+	/* åºå */
+	for(i = 0 ; i < num_offset ; i++){
+		v = &off_table[i];
+		fprintf(pfo, "%s\t.equ\t%d\n", v->label, v->offset);
+		printf("%s\t.equ\t%d\n", v->label, v->offset);
+		if(v->check_type) {
+			fprintf(pfo, "%s_bit\t.equ\t%d\n", v->label, v->bit);
+			fprintf(pfo, "%s_mask\t.equ\t%s\n", v->label, v->mask);
+			printf("%s_bit\t.equ\t%d\n", v->label, v->bit);
+			printf("%s_mask\t.equ\t%s\n", v->label, v->mask);
+		}
+	}
+	fclose(pfi);
+	fclose(pfo);
+
+	return 0;
+}
+
+/*
+ * æå­åãæ¯è¼ãã¦åä¸ãªãã°TURE
+ */
+static bool test_string(char** s, char const *t)
+{
+	char*  p;
+	char   c;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			return false;
+		p++;
+	}
+	while((c = *p++) != 0){
+		if(c != *t++)
+			break;
+		if(*t == 0){
+			*s = p;
+			return true;
+		}
+	}
+	return false;
+}
+
+/*
+ * ã¹ãã¼ã¹ã¾ãã¯ã¿ããã¹ã­ãããã
+ */
+static bool skip_space(char** s)
+{
+	char* p;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	*s = p;
+	if(*p)
+		return false;
+	else
+		return true;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16cvec.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16cvec.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/m16cvec.c	(revision 26)
@@ -0,0 +1,717 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RIOCH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2010 by Naoki Saito
+ *             Nagoya Municipal Industrial Research Institute, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼Free Software Foundation ã«ãã£ã¦å
+¬è¡¨ããã¦ãã 
+ *  GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
+ *  ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
+ *  ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªã­ã±ã¼ã¿ãã«ãªã
+ *      ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
+ *      ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼
+ *      ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
+ *      ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) å©ç¨ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) å©ç¨ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è
+ã«å ±åãã
+ *        ãã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ãå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã¯ï¼
+ *  æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
+ *  ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
+ *  ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: m16cvec.cpp,v 1.3 2004/09/03 17:33:49 honda Exp $
+ */
+// m16cvec.c : ã³ã³ã½ã¼ã« ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¨ã³ããª ãã¤ã³ãã®å®ç¾©
+//
+//------------------------------------------------------------------------------
+// å¤æ´å±¥æ­´
+//version yyyy/mm/dd æ¦è¦
+//---------- -------------------------------------------------------------------
+// 01.00   2004/01/02 åç
+// 01.01   2004/08/06 FIX VECTOR ãåºå®å¤ã§æã£ãã®ããã©ã¡ã¿ã«ã¦å¤æ´å¯è½ã¨ãã
+//                    EXCINIB ã®é
+åãï¼ã®å ´åã®åé¡ä¿®æ­£ã                      
+//                    M30262F8FGã®çææãå²ãè¾¼ã¿ãã¯ã¿ã1è¡å¤ãä¸å
+·åä¿®æ­£ã
+//                    M30620FCAFPã®JSP1.3ç¨ãã¯ã¿çæã³ã¼ããæ¡ä»¶ã³ã³ãã¤ã«åã
+// 02.01   2010/12/28 Cè¨èªãã¡ã¤ã«ã¨ããï¼
+//                    bool åãæ±ããã stdbool.h ãã¤ã³ã¯ã«ã¼ãããï¼
+//----------------------------------------------------------------------------- 
+
+//#include "stdafx.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define	MAX_INCLUDE		8
+#define	MAX_INT			64
+#define	MAX_EXC			9
+#define	MAX_VEC			MAX_INT
+#define	BUF_SIZE		512
+#define	STR_SIZE		128
+
+#define	INT_STATE		0
+#define	EXC_STATE		1
+#define	NORMAL_STATE	2
+
+struct VEC {
+	int		no;
+	char	no_name[STR_SIZE];
+	char	no_label[STR_SIZE];
+};
+
+static char const version[] = "01.01";
+static char const default_input_file[] = "kernel_cfg.i";
+static char const default_output_file[] = "m16cvec.inc";
+static char const default_unused_int[] = "unused_interrupt";
+static char const in_portid[] = "serial_in_portid";
+static char const out_portid[] = "serial_out_portid";
+static char const in_handler[] = "serial_in_handler_xyzx";
+static char const out_handler[] = "serial_out_handler_xyzx";
+static char const comment[] = ";************************************************";
+static char const int_vec[] = ";* interrupt vectors                            *";
+static char const exc_vec[] = ";* exception vectors                            *";
+static char const func01[] = "\t.section bss_NE,DATA,ALIGN";
+static char const func02[] = "\t.blkw\t1";
+static char const func03[] = "\t.section program, code, align";
+static char const lf[] = "\n";
+static char const default_fvector[] = "0fffdch";
+
+static int  board_mode = 0;
+static char input_file[STR_SIZE];
+static char output_file[STR_SIZE];
+static char include_file[MAX_INCLUDE][STR_SIZE];
+static int  num_include = 0;
+static int  num_vec[2] = {0, 0};
+static int  max_int    = 47; 
+static int  num_nodec = 0;
+static int  vec_state = NORMAL_STATE;
+static struct VEC vec_table[2][MAX_VEC];
+static char unused_vec[2][STR_SIZE];
+
+static void set_M30620FCAFP(FILE* pfo, int no, int m);
+static void set_M30262F8FG(FILE* pfo, int no, int m);
+static void set_global(FILE* pfo, char const * t);
+static void set_comment(FILE* pfo, char const * t);
+static void set_org(FILE* pfo, char const * t);
+static void set_vector(FILE* pfo, int kind, int no);
+static void set_vector2(FILE* pfo, int kind, int no);
+static bool test_string(char** s, char const * t);
+static bool skip_space(char** s);
+static bool skip_char(char** s, char const c);
+static char fvector[STR_SIZE];
+
+int main(int argc, char* argv[])
+{
+	FILE* pfi;
+	FILE* pfo;
+	FILE* pfw;
+	char  buf[BUF_SIZE];
+	struct VEC *v;
+	int   i, j, k;
+	bool  cnv, dec;
+	char* s;
+	char* p;
+	char* q;
+	char  c;
+
+	strcpy(input_file, default_input_file);
+	strcpy(output_file, default_output_file);
+	strcpy(unused_vec[0], default_unused_int);
+	strcpy(unused_vec[1], default_unused_int);
+	strcpy(fvector,default_fvector);
+
+	for(i = 1 ; i < argc ; i++){
+		s = argv[i];
+		if(*s++ == '-'){
+			c = *s++;
+			skip_space(&s);
+			switch(c){
+			case 'I':		// ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®è¨­å®
+			case 'i':
+				if(num_include < MAX_INCLUDE){
+					strcpy(include_file[num_include], s);
+					num_include++;
+				}
+				break;
+			case 'F':		// ãã£ãã¯ã¹ãã¯ã¿ã®å®ç¾©
+			case 'f':
+				strcpy(fvector, s);
+				break;
+			case 'O':		// ã¢ã¦ãããããã¡ã¤ã«ã®è¨­å®
+			case 'o':
+				strcpy(output_file, s);
+				break;
+			case 'R':		// ã¤ã³ããããã¡ã¤ã«ã®è¨­å®
+			case 'r':
+				strcpy(input_file, s);
+				break;
+			case 'M':		// ãã¼ãã¢ã¼ã
+			case 'm':
+				board_mode = atoi(s);
+				break;
+			default:
+				printf("m16cvec -R<input_file> -O<output_file> -I<include_file> -M<mode> -F<fixvector>\n");
+				break;
+			}
+		}
+	}
+	printf("version      = %s\n", version);
+	printf("input file   = %s\n", input_file);
+	printf("output file  = %s\n", output_file);
+	printf("Fix Vector   = %s\n", fvector);
+	printf("board mode   = %d : ", board_mode);
+	if(board_mode == 1)
+		printf("M30262F8FG(OAKS16 MINI)\n");
+	else
+		printf("M30620FCAFP(OAKS16)\n");
+	if((pfi = fopen(input_file, "r")) == NULL){
+		fprintf(stderr, "can't open input file !");
+		exit(1);
+	}
+	if((pfo = fopen(output_file, "w")) == NULL){
+		fclose(pfi);
+		fprintf(stderr, "can't open output file !");
+		exit(1);
+	}
+	for(i = 0 ; i < num_include ; i++){
+		printf("include file = %s\n", include_file[i]);
+	}
+	for(;;){
+		if((fgets(buf, BUF_SIZE, pfi)) == NULL)
+			break;
+		s = buf;
+		switch(vec_state){
+		case INT_STATE:
+		case EXC_STATE:
+			if(test_string(&s, ";"))
+				vec_state = NORMAL_STATE;
+			else if(test_string(&s, "{")){
+				v = &vec_table[vec_state][num_vec[vec_state]];
+				p = &v->no_name[0];
+				if(skip_space(&s))
+					continue;
+				dec = true;
+				while(*s != ','){
+					if(*s == 0)
+						continue;
+					if(*s == '(' || *s == ')' || *s <= ' '){
+						s++;
+						continue;
+					}
+					if(*s < '0' || *s > '9')
+						dec = false;
+					*p++ = *s++;
+				}
+				s++;
+				*p++ = 0;
+				if(dec)
+					v->no = atoi(v->no_name);
+				else{
+					v->no = -1;
+					num_nodec++;
+				}
+				p = &v->no_label[0];
+				if(skip_char(&s, ','))
+					continue;
+				test_string(&s, "INT_ENTRY(");
+				test_string(&s, "EXC_ENTRY(");
+				test_string(&s, "CFG_INT_ENTRY(");
+				test_string(&s, "CFG_EXC_ENTRY(");
+				test_string(&s, "(FP)");
+				if(skip_space(&s))
+					continue;
+				while(*s != ')' && *s != ',' && *s > ' '){
+					*p++ = *s++;
+				}
+				*p++ = 0;
+				num_vec[vec_state]++;
+			}
+			else
+				continue;
+			break;
+		default:
+			if(!test_string(&s, "const"))
+				continue;
+			if(test_string(&s, "INHINIB"))
+				vec_state = INT_STATE;
+			else if(test_string(&s, "EXCINIB"))
+				vec_state = EXC_STATE;
+			break;
+		}
+	}
+	do{
+		cnv = false;
+		for(i = 0 ; i < num_include ; i++){
+			if((pfw = fopen(include_file[i], "r")) != NULL){
+				for(;;){
+					if((fgets(buf, BUF_SIZE, pfw)) == NULL)
+						break;
+					s = buf;
+					if(!test_string(&s, "#define"))
+						continue;
+					if(skip_space(&s))
+						continue;
+					for(k = 0 ; k < 2 ; k++){
+						for(j = 0 ; j < num_vec[k] ; j++){
+							v = &vec_table[k][j];
+							if(v->no < 0){
+								p = s;
+								dec = true;
+								if(test_string(&p, v->no_name)){
+									q = &v->no_name[0];
+									if(!skip_space(&p)){
+										while(*p > ' '){
+											if(*p == '(' || *p == ')'){
+												p++;
+												continue;
+											}
+											if(*p < '0' || *p > '9')
+												dec = false;
+											*q++ = *p++;
+										}
+									}
+									*q++ = 0;
+								}
+								else
+									dec = false;
+								if(dec){
+									v->no = atoi(v->no_name);
+									num_nodec--;
+								}
+							}
+						}
+					}
+				}
+				fclose(pfw);
+			}
+			else
+				printf("open error %s !!\n", include_file[i]);
+		}
+	}while(cnv);
+
+	for(i = 0 ; i < num_vec[EXC_STATE] ; i++){
+		v = &vec_table[EXC_STATE][i];
+		if(v->no >= 32 && v->no < MAX_INT){
+			vec_table[INT_STATE][num_vec[INT_STATE]] = vec_table[EXC_STATE][i];
+			num_vec[INT_STATE]++;
+			for(j = i ; j < (num_vec[EXC_STATE]-1) ; j++)
+				vec_table[EXC_STATE][j] = vec_table[EXC_STATE][j+1];
+			num_vec[EXC_STATE]--;
+		}
+	}
+	for(j = 0 ; j < num_vec[INT_STATE] ; j++){
+		v = &vec_table[INT_STATE][j];
+		if(v->no >= MAX_INT)
+			strcpy(unused_vec[INT_STATE], v->no_label);
+		else if(max_int < v->no)
+			max_int = v->no;
+		printf("int %d:%d,%s,%s\n", j, v->no, v->no_name, v->no_label);
+	}
+	for(j = 0 ; j < num_vec[EXC_STATE] ; j++){
+		v = &vec_table[EXC_STATE][j];
+		if((v->no >= MAX_EXC && v->no < 32) || v->no >= MAX_INT)
+			strcpy(unused_vec[EXC_STATE], v->no_label);
+		printf("exc %d:%d,%s,%s\n", j, v->no, v->no_name, v->no_label);
+	}
+	if(num_nodec > 0)
+		printf("%dã®ã¨ã¯ã»ãã·ã§ã³çªå·ãç¹å®ã§ãã¾ããï¼\n", num_nodec);
+	else{
+		fputs(lf, pfo);
+		for(i = 0 ; i < 2 ; i++){
+			for(j = 0 ; j < num_vec[i] ; j++)
+				set_global(pfo, vec_table[i][j].no_label);
+		}
+		if(!strcmp(default_unused_int, unused_vec[0]))
+			set_global(pfo, unused_vec[0]);
+		else if(!strcmp(default_unused_int, unused_vec[1]))
+			set_global(pfo, unused_vec[1]);
+
+		switch(board_mode){
+		case 1:				// M30262F8FG(OAKS16 MINI)
+			set_M30262F8FG(pfo, board_mode, max_int);
+			break;
+		default:			// M30620FCAFP(OAKS16)
+			set_M30620FCAFP(pfo, board_mode, max_int);
+			break;
+		}
+
+		set_comment(pfo, exc_vec);
+		fputs("\t.section\tfvector", pfo);
+		fputs(lf, pfo);
+		set_org(pfo, fvector);
+
+		for(i = 0 ; i < (MAX_EXC-1) ; i++)
+			set_vector(pfo, EXC_STATE, i);
+		fputs("\t.lword\t_hardware_start\t\t\t; RESET", pfo);
+		fputs(lf, pfo);
+	}
+	fclose(pfi);
+	fclose(pfo);
+	return 0;
+}
+
+/*
+ * set_M30620FCAFP(OAKS16)ç¨ã®ãã¯ãã«ãè¨­å®ãã
+ */
+static void set_M30620FCAFP(FILE* pfo, int no, int m)
+{
+#ifdef OAKS16_JSP13
+	struct VEC *v;
+	int x;
+#endif /* OAKS16_JSP13 */
+	int i;
+
+#ifdef OAKS16_JSP13
+	if(no == 2){
+		set_global(pfo, in_portid);
+		set_global(pfo, out_portid);
+		fputs(lf, pfo);
+		fputs(func01, pfo);
+		fputs(lf, pfo);
+		fputs("_", pfo);
+		fputs(in_portid, pfo);
+		fputs(":", pfo);
+		fputs(lf, pfo);
+		fputs(func02, pfo);
+		fputs(lf, pfo);
+		fputs("_", pfo);
+		fputs(out_portid, pfo);
+		fputs(":", pfo);
+		fputs(lf, pfo);
+		fputs(func02, pfo);
+		fputs(lf, pfo);
+		fputs(lf, pfo);
+		v = &vec_table[0][0];
+		for(i = x = 0 ; i < num_vec[0] ; i++, v++){
+			if(v->no >= 17 && v->no < 21){
+				x = 1;
+				break;
+			}
+		}
+		if(x){
+			fputs(func03, pfo);
+			fputs(lf, pfo);
+			v = &vec_table[0][0];
+			for(i = x = 0 ; i < num_vec[0] ; i++, v++){
+				if(v->no == 17 || v->no == 19){
+					fputs(out_handler, pfo);
+					fputs("1:", pfo);
+					fputs(lf, pfo);
+					fputs("\tmov.w\t#1, _", pfo);
+					fputs(out_portid, pfo);
+					fputs(lf, pfo);
+					fputs("\tjmp\t_", pfo);
+					fputs(v->no_label, pfo);
+					fputs(lf, pfo);
+					fputs(out_handler, pfo);
+					fputs("2:", pfo);
+					fputs(lf, pfo);
+					fputs("\tmov.w\t#2, _", pfo);
+					fputs(out_portid, pfo);
+					fputs(lf, pfo);
+					fputs("\tjmp\t_", pfo);
+					fputs(v->no_label, pfo);
+					fputs(lf, pfo);
+					break;
+				}
+			}
+			v = &vec_table[0][0];
+			for(i = x = 0 ; i < num_vec[0] ; i++, v++){
+				if(v->no == 18 || v->no == 20){
+					fputs(in_handler, pfo);
+					fputs("1:", pfo);
+					fputs(lf, pfo);
+					fputs("\tmov.w\t#1, _", pfo);
+					fputs(in_portid, pfo);
+					fputs(lf, pfo);
+					fputs("\tjmp\t_", pfo);
+					fputs(v->no_label, pfo);
+					fputs(lf, pfo);
+					fputs(in_handler, pfo);
+					fputs("2:", pfo);
+					fputs(lf, pfo);
+					fputs("\tmov.w\t#2, _", pfo);
+					fputs(in_portid, pfo);
+					fputs(lf, pfo);
+					fputs("\tjmp\t_", pfo);
+					fputs(v->no_label, pfo);
+					fputs(lf, pfo);
+					break;
+				}
+			}
+		}
+	}
+#endif /* OAKS16_JSP13 */
+
+	set_comment(pfo, int_vec);
+	fputs("\t.section\tvvector", pfo);
+	fputs(lf, pfo);
+	set_org(pfo, "VECTOR_ADR");
+	for(i = 0 ; i < MAX_INT ; i++){
+		if(no == 2){
+			if(i >= 17 && i < 21)
+				set_vector2(pfo, INT_STATE, i);
+			else
+				set_vector(pfo, INT_STATE, i);
+		}
+		else
+			set_vector(pfo, INT_STATE, i);
+	}
+}
+
+/*
+ * M30262F8FG(OAKS16 MINI)ã®ãã¯ãã«ãè¨­å®ãã
+ */
+static void set_M30262F8FG(FILE* pfo, int no, int m)
+{
+	int i;
+
+	set_comment(pfo, int_vec);
+	fputs("\t.section\tvector", pfo);
+	fputs(lf, pfo);
+	set_org(pfo, "VECTOR_ADR");
+	fputs(";", pfo);
+	fputs(lf, pfo);
+	set_vector(pfo, INT_STATE, 0);
+	set_org(pfo, "(VECTOR_ADR+44)");
+	fputs(lf, pfo);
+	for(i = 11 ; i < 15 ; i++)
+		set_vector(pfo, INT_STATE, i);
+	set_org(pfo, "(VECTOR_ADR+68)");
+	fputs(lf, pfo);
+	if(m < MAX_INT)
+		m = MAX_INT;
+	for(i = 17 ; i < m ; i++)
+		set_vector(pfo, INT_STATE, i);
+}
+
+/*
+ * ã°ã­ã¼ãã«å®£è¨ãè¨­å®ãã
+ */
+static void set_global(FILE* pfo, char const * t)
+{
+	fputs("\t.glb\t_", pfo);
+	fputs(t, pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * ã³ã¡ã³ããè¨­å®ãã
+ */
+static void set_comment(FILE* pfo, char const * t)
+{
+	fputs(";", pfo);
+	fputs(lf, pfo);
+	fputs(comment, pfo);
+	fputs(lf, pfo);
+	fputs(int_vec, pfo);
+	fputs(lf, pfo);
+	fputs(comment, pfo);
+	fputs(lf, pfo);
+	fputs(";", pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * ãªãªã¸ã³ãè¨­å®ãã
+ */
+static void set_org(FILE* pfo, char const * t)
+{
+	fputs("\t.org\t", pfo);
+	fputs(t, pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * ãã¯ãã«ãè¨­å®ãã
+ */
+static void set_vector(FILE* pfo, int kind, int no)
+{
+	struct VEC* v = &vec_table[kind][0];
+	char s[6];
+	int  i;
+
+	fputs("\t.lword\t_", pfo);
+	s[0] = '\t';
+	s[1] = ';';
+	s[2] = ' ';
+	s[3] = (no/10)+'0';
+	s[4] = (no%10)+'0';
+	s[5] = 0;
+	for(i = 0 ; i < num_vec[kind] ; i++, v++){
+		if(v->no == no){
+			fputs(v->no_label, pfo);
+			fputs(s, pfo);
+			fputs(lf, pfo);
+			return;
+		}
+	}
+	fputs(unused_vec[kind], pfo);
+	fputs(s, pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * ãã¯ãã«ãè¨­å®ãã(ç¹å¥ç)
+ */
+static void set_vector2(FILE* pfo, int kind, int no)
+{
+	struct VEC* v = &vec_table[kind][0];
+	char s[8];
+	int  i;
+
+	s[1] = '\t';
+	s[2] = ';';
+	s[3] = ' ';
+	s[4] = (no/10)+'0';
+	s[5] = (no%10)+'0';
+	s[6] = 0;
+	for(i = 0 ; i < num_vec[kind] ; i++, v++){
+		switch(no){
+		case 17:
+			s[0] = '1';
+			if(v->no == 17 || v->no == 19){
+				fputs("\t.lword\t", pfo);
+				fputs(out_handler, pfo);
+				fputs(s, pfo);
+				fputs(lf, pfo);
+				return;
+			}
+			break;
+		case 18:
+			s[0] = '1';
+			if(v->no == 18 || v->no == 20){
+				fputs("\t.lword\t", pfo);
+				fputs(in_handler, pfo);
+				fputs(s, pfo);
+				fputs(lf, pfo);
+				return;
+			}
+			break;
+		case 19:
+			s[0] = '2';
+			if(v->no == 17 || v->no == 19){
+				fputs("\t.lword\t", pfo);
+				fputs(out_handler, pfo);
+				fputs(s, pfo);
+				fputs(lf, pfo);
+				return;
+			}
+			break;
+		case 20:
+			s[0] = '2';
+			if(v->no == 18 || v->no == 20){
+				fputs("\t.lword\t", pfo);
+				fputs(in_handler, pfo);
+				fputs(s, pfo);
+				fputs(lf, pfo);
+				return;
+			}
+			break;
+		default:
+			break;
+		}
+	}
+	fputs("\t.lword\t_", pfo);
+	fputs(unused_vec[kind], pfo);
+	fputs(s, pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * æå­åãæ¯è¼ãã¦åä¸ãªãã°TURE
+ */
+static bool test_string(char** s, char const *t)
+{
+	char*  p;
+	char   c;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			return false;
+		p++;
+	}
+	while((c = *p++) != 0){
+		if(c != *t++)
+			break;
+		if(*t == 0){
+			*s = p;
+			return true;
+		}
+	}
+	return false;
+}
+
+/*
+ * æå®ã®ã­ã£ã©ã¯ã¿ã¾ã§ã¹ã­ãã
+ */
+static bool skip_char(char** s, char const c)
+{
+	char* p;
+
+	p = *s;
+	while(*p != c){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	if(*p){
+		p++;
+		*s = p;
+		return false;
+	}
+	else{
+		*s = p;
+		return true;
+	}
+}
+
+/*
+ * ã¹ãã¼ã¹ã¾ãã¯ã¿ããã¹ã­ãããã
+ */
+static bool skip_space(char** s)
+{
+	char* p;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	*s = p;
+	if(*p)
+		return false;
+	else
+		return true;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/makedep.m16c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/makedep.m16c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/m16c-renesas/makedep.m16c	(revision 26)
@@ -0,0 +1,169 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2003-2004, 2010 by Naoki Saito
+#             Nagoya Municipal Industrial Research Institute, JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: makedep.m16c,v 1.3 2004/10/07 07:30:37 honda Exp $
+# 
+
+#  ä»¥ä¸ã®ç¹ãGNUéçºç°å¢ã®å ´åã¨ç°ãªããã, makedep ãM16Cç¨ã«ä¿®æ­£.
+#  1. ã¢ã»ã³ããªè¨èªãã¡ã¤ã«, ãªãã¸ã§ã¯ãã¢ã¸ã¥ã¼ã«ã®æ¡å¼µå­
+#  2. DOSã·ã§ã«ã®ãã¹ã®åºåãæå­
+#  3. Cããªãã­ã»ããµã®åºåè¡ã®å½¢å¼
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -C <cc_path>	Cã³ã³ãã¤ã©ã®ã³ãã³ãå(å®éã«ä½¿ç¨ããã®ã¯CPP30ãæ³å®)
+#  -O <cc_opts>	Cã³ã³ãã¤ã©/CPPã«æ¸¡ããªãã·ã§ã³
+#
+#  -X		ã½ã¼ã¹ãã¡ã¤ã«ãå¼·å¶çã«Cããããã¡ã¤ã«ã¨è¦ãªã(ãã®ãªãã·ã§ã³ã¯ç¡å¹)
+#
+#  -T <target>	ã¿ã¼ã²ããã®ãã¡ã¤ã«å
+#  -D <t_dir>	ã¿ã¼ã²ããã®ãã£ã¬ã¯ããªåãæå®ãã
+#  -d		ã¿ã¼ã²ããã®ãã£ã¬ã¯ããªé¨ãä¿æãã
+#  -s		ã¿ã¼ã²ããã®ãµãã£ãã¯ã¹ã ".a30 ã«ããï¼ããã©ã«ãã¯ ".r30"ï¼
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+Getopt("COTD");
+
+$cc_path = $opt_C;
+$cc_opts = $opt_O;
+
+$suffix = $opt_s ? "a30" : "r30";
+if ($opt_T) {
+	$target_file = $opt_T;
+}
+elsif ($opt_D) {
+	$target_dir = $opt_D;
+}
+elsif (!$opt_d) {
+	$target_dir = "";
+}
+
+#
+#  %dependlist ã«ä½ãããä¾å­é¢ä¿ãåºåãã
+#
+sub output_dependlist {
+	local($file) = @_;
+	local($target, $column, $len);
+
+	if ($target_file) {
+		$target = $target_file;
+	}
+	else {
+		$target = $file;
+		# æ¡å¼µå­ã1æå­ã§ãªãå ´åã«ãå¯¾å¿
+		$target =~ s/(.*)\.(.)+/$1.$suffix/;
+	}	
+	if (defined($target_dir)) {
+		$target =~ s/^.*\\([^\\]+)$/$1/;
+		if ($target_dir) {
+			$target = $target_dir."\\".$target;
+		}
+	}
+	print $target, ": ";
+	$column = length($target) + 2;
+    
+	foreach $file (keys(%dependlist)) {
+		$len = length($file) + 1;
+		if ($column > 8 && $column + $len >= 70) {
+			print "\\\n\t";
+			$column = 8;
+		}
+		$column += $len;
+		print "$file ";
+	}
+	print "\n";
+}
+
+#
+#  $file ã®ä¾å­é¢ä¿ã %dependlist ã«ä½ã
+#
+sub makedepend_one {
+	local($file) = @_;
+	local($command, $input, $dir, $filename);
+
+	$command = "$cc_path $cc_opts";
+#	if ($opt_X) {
+#		$command .= " -x c-header";
+#	}
+	unless (open(INPUT, "$command $file |")) {
+		print STDERR "makedep: can't open $file\n";
+		exit(1);
+	}
+	while ($line = <INPUT>) {
+		#  ä¸è±ã®ã³ã³ãã¤ã©ä»å±ã®ããªãã­ã»ããµ cpp30 ã
+		#  "#line" ã§å§ã¾ãè¡ãåºåããã®ã«å¯¾å¿
+		$line =~ s/\//\\/g;
+		if ($line =~ /^\#\s*line\s*([0-9]+)\s*\"([^\"]+)\"/) {
+			$filename = $2;
+			if ($filename !~ /^\<.*\>$/) {
+				$dependlist{$filename} = 1;
+			}
+		}
+	}
+	unless (close(INPUT)) {
+		print STDERR "makedep: can't execute $command\n";
+		exit(1);
+	}
+}
+
+#
+#  ã¡ã¤ã³ã«ã¼ãã³
+#
+foreach $file (@ARGV) {
+	%dependlist = ();
+	makedepend_one($file);
+	output_dependlist($file) if (%dependlist);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/makedep
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/makedep	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/makedep	(revision 26)
@@ -0,0 +1,161 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: makedep,v 1.11 2005/11/24 11:44:31 hiro Exp $
+# 
+
+require "getopt.pl";
+
+#  ãªãã·ã§ã³ã®å®ç¾©
+#
+#  -C <cc_path>	Cã³ã³ãã¤ã©ã®ã³ãã³ãå
+#  -O <cc_opts>	Cã³ã³ãã¤ã©/CPPã«æ¸¡ããªãã·ã§ã³
+#
+#  -X		ã½ã¼ã¹ãã¡ã¤ã«ãå¼·å¶çã«Cããããã¡ã¤ã«ã¨è¦ãªã
+#
+#  -T <target>	ã¿ã¼ã²ããã®ãã¡ã¤ã«å
+#  -D <t_dir>	ã¿ã¼ã²ããã®ãã£ã¬ã¯ããªåãæå®ãã
+#  -d		ã¿ã¼ã²ããã®ãã£ã¬ã¯ããªé¨ãä¿æãã
+#  -s		ã¿ã¼ã²ããã®ãµãã£ãã¯ã¹ã ".s" ã«ããï¼ããã©ã«ãã¯ ".o"ï¼
+
+#
+#  ãªãã·ã§ã³ã®å¦ç
+#
+do Getopt("COTD");
+
+$cc_path = $opt_C;
+$cc_opts = $opt_O;
+
+$suffix = $opt_s ? "s" : "o";
+if ($opt_T) {
+	$target_file = $opt_T;
+}
+elsif ($opt_D) {
+	$target_dir = $opt_D;
+}
+elsif (!$opt_d) {
+	$target_dir = "";
+}
+
+#
+#  %dependlist ã«ä½ãããä¾å­é¢ä¿ãåºåãã
+#
+sub output_dependlist {
+	local($file) = @_;
+	local($target, $column, $len);
+
+	if ($target_file) {
+		$target = $target_file;
+	}
+	else {
+		$target = $file;
+		$target =~ s/(.*)\.(.)/$1.$suffix/;
+	}	
+	if (defined($target_dir)) {
+		$target =~ s/^.*\/([^\/]+)$/$1/;
+		if ($target_dir) {
+			$target = $target_dir."/".$target;
+		}
+	}
+	print $target, ": ";
+	$column = length($target) + 2;
+    
+	foreach $file (keys(%dependlist)) {
+		$len = length($file) + 1;
+		if ($column > 8 && $column + $len >= 70) {
+			print "\\\n\t";
+			$column = 8;
+		}
+		$column += $len;
+		print "$file ";
+	}
+	print "\n";
+}
+
+#
+#  $file ã®ä¾å­é¢ä¿ã %dependlist ã«ä½ã
+#
+sub makedepend_one {
+	local($file) = @_;
+	local($command, $input, $dir, $filename);
+
+	$command = "$cc_path -E $cc_opts";
+	if ($opt_X) {
+		$command .= " -x c-header";
+	}
+	unless (open(INPUT, "$command $file |")) {
+		print STDERR "makedep: can't open $file\n";
+		exit(1);
+	}
+	while ($line = <INPUT>) {
+		if ($line =~ /^\#\s*([0-9]+)\s*\"([^\"]+)\"/) {
+			$filename = $2;
+			$filename =~ s/ /\\ /;
+			if ($filename !~ /^\<.*\>$/ && $filename !~ /\/$/) {
+				$dependlist{$filename} = 1;
+			}
+		}
+	}
+	unless (close(INPUT)) {
+		print STDERR "makedep: can't execute $command\n";
+		exit(1);
+	}
+}
+
+#
+#  ã¡ã¤ã³ã«ã¼ãã³
+#
+foreach $file (@ARGV) {
+	%dependlist = ();
+	do makedepend_one($file);
+	do output_dependlist($file) if (%dependlist);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/rename
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/rename	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/rename	(revision 26)
@@ -0,0 +1,125 @@
+#! /usr/bin/perl
+#
+#  TOPPERS/JSP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Just Standard Profile Kernel
+# 
+#  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+#  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+#  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+#  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+#  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+#  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+#  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+# 
+#  @(#) $Id: rename,v 1.3 2005/08/02 01:40:15 hiro Exp $
+# 
+
+#
+#  ãã¡ã¤ã«ã«ãªãã¼ã ãé©ç¨ãã
+#
+sub rename
+{
+	local($infile) = @_;
+	local($outfile) = $infile.".new";
+	local($line);
+
+	open(INFILE, "< ".$infile) || die;
+	open(OUTFILE, "> ".$outfile) || die;
+
+	while ($line = <INFILE>) {
+		$line =~ s/\b(_?)($syms)\b/$1_kernel_$2/gc;
+		print OUTFILE $line;
+	}
+
+	close(INFILE);
+	close(OUTFILE);
+
+	if (`diff $infile $outfile`) {
+		rename($infile, $infile.".bak");
+		rename($outfile, $infile);
+		print STDERR "Modified: ",$infile,"\n";
+	}
+	else {
+		unlink($outfile);
+	}
+}
+
+#
+#  ã¨ã©ã¼ãã§ãã¯
+#
+if ($#ARGV < 1) {
+	die "Usage: rename <prefix> <filelist>\n";
+}
+
+#
+#  åæå
+#
+@syms = ();
+$name = $ARGV[0];
+
+#
+#  ã·ã³ãã«ãªã¹ããèª­ã¿è¾¼ã
+#
+$deffile = $name."_rename.def";
+open(INFILE, $deffile) || die "Cannot open $deffile";
+while ($line = <INFILE>) {
+	chomp $line;
+	if ($line ne "" && $line !~ /^#/) {
+		@syms = (@syms, $line)
+	}
+	
+}
+close(INFILE);
+
+$syms = join("|", @syms);
+print STDERR $all_syms;
+
+#
+#  ãã¡ã¤ã«ã«ãªãã¼ã ãé©ç¨ãã
+#
+shift @ARGV;
+foreach $infile (@ARGV) {
+	# ãã¡ã¤ã«ã§ãªããã°ã¹ã­ãã
+	next unless (-f $infile);
+
+	do rename($infile) if ($infile ne $deffile);
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/readme.txt
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/readme.txt	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/readme.txt	(revision 26)
@@ -0,0 +1,33 @@
+ã¦ã¼ãã£ãªãã£ãã¼ã«ã®æ¦è¦ãä»¥ä¸ã«ç¤ºãï¼
+
+ã»ãã¯ã¿ãã¼ãã«çæãã¼ã«
+ï¼æ¦è¦ï¼
+ã³ã³ãã£ã°ã¬ã¼ã¿ãåºåããkernel_cfg.cå
+ã®ï¼å²è¾¼ã¿ãã³ãã©åæåæ
+å ±ã¨
+CPUä¾å¤ãã³ãã©åæåæ
+å ±ãèµ°æ»ãï¼ãã¯ã¿ãã¼ãã«ãçæããï¼
+ãªãï¼æ¬ãã¼ã«ã«å
+¥åãããã¡ã¤ã«ã¯ï¼kernel_cfg.cãããªã³ã³ãã¤ã«ãã
+kernel_cfg.iãæ³å®ãã¦ããï¼
+ï¼ã³ãã³ãï¼
+tlcs900vec.exe
+ï¼ãªãã·ã§ã³ï¼
+-R	å
+¥åãã¡ã¤ã«æå®ãããã©ã«ãã¯ãkernel_cfg.iã
+-o	åºåãã¡ã¤ã«æå®ãããã©ã«ãã¯ãotlcs900vec.incã
+
+
+ã»TCBæ§é ä½ã®ã¢ã»ã³ãã©ãªãã»ãããã¯ã­çæãã¼ã«
+ï¼æ¦è¦ï¼
+Cè¨èªã§å®ç¾©ãããTCBæ§é ä½ã¸ã®ã¢ã»ã³ãã©ãªãã»ãããã¯ã­ãçæããï¼
+TCBæ§é ä½ã¸ã®ã¢ã¯ã»ã¹å¦çãè¨è¼ãããmakeoffset.cãã¡ã¤ã«ãã¢ã»ã³ãã«
+ããmakeoffset.asmãæ¬ãã¼ã«ã®å
+¥åãã¡ã¤ã«ã¨ããï¼
+ï¼ã³ãã³ãï¼
+tlcs900offset.exe
+ï¼ãªãã·ã§ã³ï¼
+-R	å
+¥åãã¡ã¤ã«æå®ãããã©ã«ãã¯ãmakeoffset.asmã
+-o	åºåãã¡ã¤ã«æå®ãããã©ã«ãã¯ãoffset.incã
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900_toshiba.sln
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900_toshiba.sln	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900_toshiba.sln	(revision 26)
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tlcs900offset", "tlcs900offset\tlcs900offset.vcxproj", "{5BA3EF6B-A0C7-8475-7C5F-D4F97B1A11D1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tlcs900vec", "tlcs900vec\tlcs900vec.vcxproj", "{BFC25B1D-6D2B-F1C7-162B-877554D08DBC}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{5BA3EF6B-A0C7-8475-7C5F-D4F97B1A11D1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{5BA3EF6B-A0C7-8475-7C5F-D4F97B1A11D1}.Debug|Win32.Build.0 = Debug|Win32
+		{5BA3EF6B-A0C7-8475-7C5F-D4F97B1A11D1}.Release|Win32.ActiveCfg = Release|Win32
+		{5BA3EF6B-A0C7-8475-7C5F-D4F97B1A11D1}.Release|Win32.Build.0 = Release|Win32
+		{BFC25B1D-6D2B-F1C7-162B-877554D08DBC}.Debug|Win32.ActiveCfg = Debug|Win32
+		{BFC25B1D-6D2B-F1C7-162B-877554D08DBC}.Debug|Win32.Build.0 = Debug|Win32
+		{BFC25B1D-6D2B-F1C7-162B-877554D08DBC}.Release|Win32.ActiveCfg = Release|Win32
+		{BFC25B1D-6D2B-F1C7-162B-877554D08DBC}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/makeoffset.asm
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/makeoffset.asm	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/makeoffset.asm	(revision 26)
@@ -0,0 +1,1102 @@
+; TLCS-900 C Compiler - Code Generator (32) Version 1.8n.05.45
+; Copyright(C) TOSHIBA CORPORATION 1989-2003  All rights reserved
+	$MAXIMUM
+	module _______config_tlcs900l1_toshiba_makeoffset_c
+	symbol_a "1.8n",54,411,4
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/makeoffset.c",0,0,0
+	symbol_a "_C900_VERSION",16,0,1
+	symbol_a "470",16,0,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\jsp_kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\jsp_rename.h",0,0,0
+	symbol_a "iniflg",16,1,1
+	symbol_a "_kernel_iniflg",16,1,2
+	symbol_a "print_banner",16,2,1
+	symbol_a "_kernel_print_banner",16,2,2
+	symbol_a "dispatch",16,3,1
+	symbol_a "_kernel_dispatch",16,3,2
+	symbol_a "exit_and_dispatch",16,4,1
+	symbol_a "_kernel_exit_and_dispatch",16,4,2
+	symbol_a "cpu_initialize",16,5,1
+	symbol_a "_kernel_cpu_initialize",16,5,2
+	symbol_a "cpu_terminate",16,6,1
+	symbol_a "_kernel_cpu_terminate",16,6,2
+	symbol_a "sys_initialize",16,7,1
+	symbol_a "_kernel_sys_initialize",16,7,2
+	symbol_a "sys_exit",16,8,1
+	symbol_a "_kernel_sys_exit",16,8,2
+	symbol_a "sys_putc",16,9,1
+	symbol_a "_kernel_sys_putc",16,9,2
+	symbol_a "runtsk",16,10,1
+	symbol_a "_kernel_runtsk",16,10,2
+	symbol_a "schedtsk",16,11,1
+	symbol_a "_kernel_schedtsk",16,11,2
+	symbol_a "reqflg",16,12,1
+	symbol_a "_kernel_reqflg",16,12,2
+	symbol_a "enadsp",16,13,1
+	symbol_a "_kernel_enadsp",16,13,2
+	symbol_a "ready_queue",16,14,1
+	symbol_a "_kernel_ready_queue",16,14,2
+	symbol_a "ready_primap",16,15,1
+	symbol_a "_kernel_ready_primap",16,15,2
+	symbol_a "task_initialize",16,16,1
+	symbol_a "_kernel_task_initialize",16,16,2
+	symbol_a "search_schedtsk",16,17,1
+	symbol_a "_kernel_search_schedtsk",16,17,2
+	symbol_a "make_runnable",16,18,1
+	symbol_a "_kernel_make_runnable",16,18,2
+	symbol_a "make_non_runnable",16,19,1
+	symbol_a "_kernel_make_non_runnable",16,19,2
+	symbol_a "make_dormant",16,20,1
+	symbol_a "_kernel_make_dormant",16,20,2
+	symbol_a "make_active",16,21,1
+	symbol_a "_kernel_make_active",16,21,2
+	symbol_a "exit_task",16,22,1
+	symbol_a "_kernel_exit_task",16,22,2
+	symbol_a "change_priority",16,23,1
+	symbol_a "_kernel_change_priority",16,23,2
+	symbol_a "rotate_ready_queue",16,24,1
+	symbol_a "_kernel_rotate_ready_queue",16,24,2
+	symbol_a "call_texrtn",16,25,1
+	symbol_a "_kernel_call_texrtn",16,25,2
+	symbol_a "calltex",16,26,1
+	symbol_a "_kernel_calltex",16,26,2
+	symbol_a "make_wait_tmout",16,27,1
+	symbol_a "_kernel_make_wait_tmout",16,27,2
+	symbol_a "wait_complete",16,28,1
+	symbol_a "_kernel_wait_complete",16,28,2
+	symbol_a "wait_tmout",16,29,1
+	symbol_a "_kernel_wait_tmout",16,29,2
+	symbol_a "wait_tmout_ok",16,30,1
+	symbol_a "_kernel_wait_tmout_ok",16,30,2
+	symbol_a "wait_cancel",16,31,1
+	symbol_a "_kernel_wait_cancel",16,31,2
+	symbol_a "wait_release",16,32,1
+	symbol_a "_kernel_wait_release",16,32,2
+	symbol_a "wobj_make_wait",16,33,1
+	symbol_a "_kernel_wobj_make_wait",16,33,2
+	symbol_a "wobj_make_wait_tmout",16,34,1
+	symbol_a "_kernel_wobj_make_wait_tmout",16,34,2
+	symbol_a "wobj_change_priority",16,35,1
+	symbol_a "_kernel_wobj_change_priority",16,35,2
+	symbol_a "systim_offset",16,36,1
+	symbol_a "_kernel_systim_offset",16,36,2
+	symbol_a "current_time",16,37,1
+	symbol_a "_kernel_current_time",16,37,2
+	symbol_a "next_time",16,38,1
+	symbol_a "_kernel_next_time",16,38,2
+	symbol_a "next_subtime",16,39,1
+	symbol_a "_kernel_next_subtime",16,39,2
+	symbol_a "last_index",16,40,1
+	symbol_a "_kernel_last_index",16,40,2
+	symbol_a "tmevt_initialize",16,41,1
+	symbol_a "_kernel_tmevt_initialize",16,41,2
+	symbol_a "tmevt_up",16,42,1
+	symbol_a "_kernel_tmevt_up",16,42,2
+	symbol_a "tmevt_down",16,43,1
+	symbol_a "_kernel_tmevt_down",16,43,2
+	symbol_a "tmevtb_insert",16,44,1
+	symbol_a "_kernel_tmevtb_insert",16,44,2
+	symbol_a "tmevtb_delete",16,45,1
+	symbol_a "_kernel_tmevtb_delete",16,45,2
+	symbol_a "syslog_buffer",16,46,1
+	symbol_a "_kernel_syslog_buffer",16,46,2
+	symbol_a "syslog_count",16,47,1
+	symbol_a "_kernel_syslog_count",16,47,2
+	symbol_a "syslog_head",16,48,1
+	symbol_a "_kernel_syslog_head",16,48,2
+	symbol_a "syslog_tail",16,49,1
+	symbol_a "_kernel_syslog_tail",16,49,2
+	symbol_a "syslog_lost",16,50,1
+	symbol_a "_kernel_syslog_lost",16,50,2
+	symbol_a "syslog_logmask",16,51,1
+	symbol_a "_kernel_syslog_logmask",16,51,2
+	symbol_a "syslog_lowmask",16,52,1
+	symbol_a "_kernel_syslog_lowmask",16,52,2
+	symbol_a "syslog_initialize",16,53,1
+	symbol_a "_kernel_syslog_initialize",16,53,2
+	symbol_a "syslog_terminate",16,54,1
+	symbol_a "_kernel_syslog_terminate",16,54,2
+	symbol_a "semaphore_initialize",16,55,1
+	symbol_a "_kernel_semaphore_initialize",16,55,2
+	symbol_a "eventflag_initialize",16,56,1
+	symbol_a "_kernel_eventflag_initialize",16,56,2
+	symbol_a "eventflag_cond",16,57,1
+	symbol_a "_kernel_eventflag_cond",16,57,2
+	symbol_a "dataqueue_initialize",16,58,1
+	symbol_a "_kernel_dataqueue_initialize",16,58,2
+	symbol_a "enqueue_data",16,59,1
+	symbol_a "_kernel_enqueue_data",16,59,2
+	symbol_a "force_enqueue_data",16,60,1
+	symbol_a "_kernel_force_enqueue_data",16,60,2
+	symbol_a "dequeue_data",16,61,1
+	symbol_a "_kernel_dequeue_data",16,61,2
+	symbol_a "send_data_rwait",16,62,1
+	symbol_a "_kernel_send_data_rwait",16,62,2
+	symbol_a "receive_data_swait",16,63,1
+	symbol_a "_kernel_receive_data_swait",16,63,2
+	symbol_a "mailbox_initialize",16,64,1
+	symbol_a "_kernel_mailbox_initialize",16,64,2
+	symbol_a "mempfix_initialize",16,65,1
+	symbol_a "_kernel_mempfix_initialize",16,65,2
+	symbol_a "mempfix_get_block",16,66,1
+	symbol_a "_kernel_mempfix_get_block",16,66,2
+	symbol_a "cyclic_initialize",16,67,1
+	symbol_a "_kernel_cyclic_initialize",16,67,2
+	symbol_a "tmevtb_enqueue_cyc",16,68,1
+	symbol_a "_kernel_tmevtb_enqueue_cyc",16,68,2
+	symbol_a "call_cychdr",16,69,1
+	symbol_a "_kernel_call_cychdr",16,69,2
+	symbol_a "interrupt_initialize",16,70,1
+	symbol_a "_kernel_interrupt_initialize",16,70,2
+	symbol_a "exception_initialize",16,71,1
+	symbol_a "_kernel_exception_initialize",16,71,2
+	symbol_a "object_initialize",16,72,1
+	symbol_a "_kernel_object_initialize",16,72,2
+	symbol_a "call_inirtn",16,73,1
+	symbol_a "_kernel_call_inirtn",16,73,2
+	symbol_a "call_terrtn",16,74,1
+	symbol_a "_kernel_call_terrtn",16,74,2
+	symbol_a "tmax_tskid",16,75,1
+	symbol_a "_kernel_tmax_tskid",16,75,2
+	symbol_a "tinib_table",16,76,1
+	symbol_a "_kernel_tinib_table",16,76,2
+	symbol_a "torder_table",16,77,1
+	symbol_a "_kernel_torder_table",16,77,2
+	symbol_a "tcb_table",16,78,1
+	symbol_a "_kernel_tcb_table",16,78,2
+	symbol_a "tmax_semid",16,79,1
+	symbol_a "_kernel_tmax_semid",16,79,2
+	symbol_a "seminib_table",16,80,1
+	symbol_a "_kernel_seminib_table",16,80,2
+	symbol_a "semcb_table",16,81,1
+	symbol_a "_kernel_semcb_table",16,81,2
+	symbol_a "tmax_flgid",16,82,1
+	symbol_a "_kernel_tmax_flgid",16,82,2
+	symbol_a "flginib_table",16,83,1
+	symbol_a "_kernel_flginib_table",16,83,2
+	symbol_a "flgcb_table",16,84,1
+	symbol_a "_kernel_flgcb_table",16,84,2
+	symbol_a "tmax_dtqid",16,85,1
+	symbol_a "_kernel_tmax_dtqid",16,85,2
+	symbol_a "dtqcb_table",16,86,1
+	symbol_a "_kernel_dtqcb_table",16,86,2
+	symbol_a "dtqinib_table",16,87,1
+	symbol_a "_kernel_dtqinib_table",16,87,2
+	symbol_a "tmax_mbxid",16,88,1
+	symbol_a "_kernel_tmax_mbxid",16,88,2
+	symbol_a "mbxcb_table",16,89,1
+	symbol_a "_kernel_mbxcb_table",16,89,2
+	symbol_a "mbxinib_table",16,90,1
+	symbol_a "_kernel_mbxinib_table",16,90,2
+	symbol_a "tmax_mpfid",16,91,1
+	symbol_a "_kernel_tmax_mpfid",16,91,2
+	symbol_a "mpfinib_table",16,92,1
+	symbol_a "_kernel_mpfinib_table",16,92,2
+	symbol_a "mpfcb_table",16,93,1
+	symbol_a "_kernel_mpfcb_table",16,93,2
+	symbol_a "tmax_cycid",16,94,1
+	symbol_a "_kernel_tmax_cycid",16,94,2
+	symbol_a "cycinib_table",16,95,1
+	symbol_a "_kernel_cycinib_table",16,95,2
+	symbol_a "cyccb_table",16,96,1
+	symbol_a "_kernel_cyccb_table",16,96,2
+	symbol_a "tnum_inhno",16,97,1
+	symbol_a "_kernel_tnum_inhno",16,97,2
+	symbol_a "inhinib_table",16,98,1
+	symbol_a "_kernel_inhinib_table",16,98,2
+	symbol_a "tnum_excno",16,99,1
+	symbol_a "_kernel_tnum_excno",16,99,2
+	symbol_a "excinib_table",16,100,1
+	symbol_a "_kernel_excinib_table",16,100,2
+	symbol_a "tmevt_heap",16,101,1
+	symbol_a "_kernel_tmevt_heap",16,101,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\jsp_kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_stddef.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\tool_defs.h",0,0,0
+	symbol_a "_int8_",16,102,1
+	symbol_a "char",16,102,2
+	symbol_a "_int16_",16,103,1
+	symbol_a "int",16,103,2
+	symbol_a "_int32_",16,104,1
+	symbol_a "long",16,104,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\api.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\tool_defs.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\kernel_inline_defs.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\tool_defs.h",0,0,0
+	symbol_a "asm",16,105,1
+	symbol_a "__asm",16,105,2
+	symbol_a "Asm",16,106,1
+	symbol_a "__ASM",16,106,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_stddef.h",0,0,0
+	file "C:\Program Files\Toshiba\IDE\T900\include\limits.h",0,0,0
+	symbol_a "CHAR_BIT",16,107,1
+	symbol_a "8",16,107,2
+	symbol_a "SCHAR_MAX",16,108,1
+	symbol_a "127",16,108,2
+	symbol_a "SCHAR_MIN",16,109,1
+	symbol_a "(-127)",16,109,2
+	symbol_a "SHRT_MAX",16,110,1
+	symbol_a "32767",16,110,2
+	symbol_a "SHRT_MIN",16,111,1
+	symbol_a "(-32767)",16,111,2
+	symbol_a "LONG_MAX",16,112,1
+	symbol_a "(2147483647)",16,112,2
+	symbol_a "LONG_MIN",16,113,1
+	symbol_a "(-2147483647)",16,113,2
+	symbol_a "UCHAR_MAX",16,114,1
+	symbol_a "255U",16,114,2
+	symbol_a "UCHAR_MIN",16,115,1
+	symbol_a "0",16,115,2
+	symbol_a "USHRT_MAX",16,116,1
+	symbol_a "65535U",16,116,2
+	symbol_a "ULONG_MAX",16,117,1
+	symbol_a "4294967295U",16,117,2
+	symbol_a "USHRT_MIN",16,118,1
+	symbol_a "0",16,118,2
+	symbol_a "ULONG_MIN",16,119,1
+	symbol_a "0",16,119,2
+	symbol_a "MB_LEN_MAX",16,120,1
+	symbol_a "4",16,120,2
+	symbol_a "CHAR_MAX",16,121,1
+	symbol_a "UCHAR_MAX",16,121,2
+	symbol_a "CHAR_MIN",16,122,1
+	symbol_a "UCHAR_MIN",16,122,2
+	symbol_a "INT_MAX",16,123,1
+	symbol_a "SHRT_MAX",16,123,2
+	symbol_a "INT_MIN",16,124,1
+	symbol_a "SHRT_MIN",16,124,2
+	symbol_a "UINT_MAX",16,125,1
+	symbol_a "USHRT_MAX",16,125,2
+	symbol_a "UINT_MIN",16,126,1
+	symbol_a "USHRT_MIN",16,126,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_stddef.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\itron.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\tool_defs.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\itron.h",0,0,0
+	file "C:\Program Files\Toshiba\IDE\T900\include\stddef.h",0,0,0
+	symbol_t 64,T,"ptrdiff_t",8,0
+	symbol_t 65,T,"size_t",7,0
+	symbol_t 66,T,"wchar_t",6,0
+	symbol_a "NULL",16,127,1
+	symbol_a "((void *)0)",16,127,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\itron.h",0,0,0
+	symbol_a "_bool_",16,128,1
+	symbol_a "int",16,128,2
+	symbol_t 67,T,"B",2,0
+	symbol_t 68,T,"UB",3,0
+	symbol_t 69,T,"VB",3,0
+	symbol_t 70,T,"H",6,0
+	symbol_t 71,T,"UH",7,0
+	symbol_t 72,T,"VH",6,0
+	symbol_t 73,T,"W",8,0
+	symbol_t 74,T,"UW",9,0
+	symbol_t 75,T,"VW",8,0
+	symbol_t 76,T,"VP",17,0
+	symbol_t 78,xc,"",1,-1
+	symbol_t 79,P,78,1
+	symbol_t 77,T,"FP",79,0
+	symbol_t 80,T,"INT",6,0
+	symbol_t 81,T,"UINT",7,0
+	symbol_t 82,T,"BOOL",6,0
+	symbol_t 83,T,"FN",80,0
+	symbol_t 84,T,"ER",80,0
+	symbol_t 85,T,"ID",80,0
+	symbol_t 86,T,"ATR",81,0
+	symbol_t 87,T,"STAT",81,0
+	symbol_t 88,T,"MODE",81,0
+	symbol_t 89,T,"PRI",80,0
+	symbol_t 90,T,"SIZE",65,0
+	symbol_t 91,T,"TMO",80,0
+	symbol_t 92,T,"RELTIM",81,0
+	symbol_t 93,T,"SYSTIM",74,0
+	symbol_t 94,T,"VP_INT",76,0
+	symbol_t 95,T,"ER_BOOL",80,0
+	symbol_t 96,T,"ER_ID",80,0
+	symbol_t 97,T,"ER_UINT",80,0
+	symbol_a "TRUE",16,129,1
+	symbol_a "1",16,129,2
+	symbol_a "FALSE",16,130,1
+	symbol_a "0",16,130,2
+	symbol_a "E_OK",16,131,1
+	symbol_a "0",16,131,2
+	symbol_a "E_SYS",16,132,1
+	symbol_a "(-5)",16,132,2
+	symbol_a "E_NOSPT",16,133,1
+	symbol_a "(-9)",16,133,2
+	symbol_a "E_RSFN",16,134,1
+	symbol_a "(-10)",16,134,2
+	symbol_a "E_RSATR",16,135,1
+	symbol_a "(-11)",16,135,2
+	symbol_a "E_PAR",16,136,1
+	symbol_a "(-17)",16,136,2
+	symbol_a "E_ID",16,137,1
+	symbol_a "(-18)",16,137,2
+	symbol_a "E_CTX",16,138,1
+	symbol_a "(-25)",16,138,2
+	symbol_a "E_MACV",16,139,1
+	symbol_a "(-26)",16,139,2
+	symbol_a "E_OACV",16,140,1
+	symbol_a "(-27)",16,140,2
+	symbol_a "E_ILUSE",16,141,1
+	symbol_a "(-28)",16,141,2
+	symbol_a "E_NOMEM",16,142,1
+	symbol_a "(-33)",16,142,2
+	symbol_a "E_NOID",16,143,1
+	symbol_a "(-34)",16,143,2
+	symbol_a "E_OBJ",16,144,1
+	symbol_a "(-41)",16,144,2
+	symbol_a "E_NOEXS",16,145,1
+	symbol_a "(-42)",16,145,2
+	symbol_a "E_QOVR",16,146,1
+	symbol_a "(-43)",16,146,2
+	symbol_a "E_RLWAI",16,147,1
+	symbol_a "(-49)",16,147,2
+	symbol_a "E_TMOUT",16,148,1
+	symbol_a "(-50)",16,148,2
+	symbol_a "E_DLT",16,149,1
+	symbol_a "(-51)",16,149,2
+	symbol_a "E_CLS",16,150,1
+	symbol_a "(-52)",16,150,2
+	symbol_a "E_WBLK",16,151,1
+	symbol_a "(-57)",16,151,2
+	symbol_a "E_BOVR",16,152,1
+	symbol_a "(-58)",16,152,2
+	symbol_a "TA_NULL",16,153,1
+	symbol_a "0u",16,153,2
+	symbol_a "TMO_POL",16,154,1
+	symbol_a "0",16,154,2
+	symbol_a "TMO_FEVR",16,155,1
+	symbol_a "(-1)",16,155,2
+	symbol_a "TMO_NBLK",16,156,1
+	symbol_a "(-2)",16,156,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/toshiba_ide\sys_defs.h",0,0,0
+	symbol_t 98,T,"SYSUTIM",9,0
+	symbol_a "TIC_NUME",16,157,1
+	symbol_a "1u",16,157,2
+	symbol_a "TIC_DENO",16,158,1
+	symbol_a "1u",16,158,2
+	symbol_t 99,xc,"",1,-1
+	symbol_t 100,P,99,1
+	symbol_n "start",99,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_defs.h",0,0,0
+	symbol_t 102,T,"INHNO",81,0
+	symbol_t 103,T,"EXCNO",81,0
+	symbol_t 104,T,"IPM",81,0
+	symbol_t 106,P,104,1
+	symbol_t 105,xc,"",84,-1
+	symbol_t 107,P,105,1
+	symbol_n "chg_ipm",105,6,0
+	symbol_t 108,P,106,1
+	symbol_t 109,xc,"",84,-1
+	symbol_t 110,P,109,1
+	symbol_n "get_ipm",109,6,0
+	symbol_a "SIL_ENDIAN",16,159,1
+	symbol_a "SIL_ENDIAN_LITTLE",16,159,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_syslog.h",0,0,0
+	symbol_a "LOG_TYPE_INH",16,160,1
+	symbol_a "0x01u",16,160,2
+	symbol_a "LOG_TYPE_ISR",16,161,1
+	symbol_a "0x02u",16,161,2
+	symbol_a "LOG_TYPE_CYC",16,162,1
+	symbol_a "0x03u",16,162,2
+	symbol_a "LOG_TYPE_EXC",16,163,1
+	symbol_a "0x04u",16,163,2
+	symbol_a "LOG_TYPE_TEX",16,164,1
+	symbol_a "0x05u",16,164,2
+	symbol_a "LOG_TYPE_TSKSTAT",16,165,1
+	symbol_a "0x06u",16,165,2
+	symbol_a "LOG_TYPE_DSP",16,166,1
+	symbol_a "0x07u",16,166,2
+	symbol_a "LOG_TYPE_SVC",16,167,1
+	symbol_a "0x08u",16,167,2
+	symbol_a "LOG_TYPE_COMMENT",16,168,1
+	symbol_a "0x09u",16,168,2
+	symbol_a "LOG_TYPE_ASSERT",16,169,1
+	symbol_a "0x0au",16,169,2
+	symbol_a "LOG_ENTER",16,170,1
+	symbol_a "0x00u",16,170,2
+	symbol_a "LOG_LEAVE",16,171,1
+	symbol_a "0x80u",16,171,2
+	symbol_a "LOG_EMERG",16,172,1
+	symbol_a "0u",16,172,2
+	symbol_a "LOG_ALERT",16,173,1
+	symbol_a "1u",16,173,2
+	symbol_a "LOG_CRIT",16,174,1
+	symbol_a "2u",16,174,2
+	symbol_a "LOG_ERROR",16,175,1
+	symbol_a "3u",16,175,2
+	symbol_a "LOG_WARNING",16,176,1
+	symbol_a "4u",16,176,2
+	symbol_a "LOG_NOTICE",16,177,1
+	symbol_a "5u",16,177,2
+	symbol_a "LOG_INFO",16,178,1
+	symbol_a "6u",16,178,2
+	symbol_a "LOG_DEBUG",16,179,1
+	symbol_a "7u",16,179,2
+	symbol_a "TMAX_LOGINFO",16,180,1
+	symbol_a "6",16,180,2
+	symbol_t 112,Z,"",94,1,"",6,0
+	symbol_t 113,P,112,1
+	symbol_t 114,P,94,1
+	symbol_t 115,P,81,1
+	symbol_t 116,P,93,1
+	symbol_t 111,S,"",30,3,"logtype",81,0,"logtim",93,2,"loginfo",112,6
+	symbol_t 117,P,111,1
+	symbol_t 118,T,"SYSLOG",111,0
+	symbol_t 119,P,118,1
+	symbol_t 121,P,119,1
+	symbol_t 120,xc,"",84,-1
+	symbol_t 122,P,120,1
+	symbol_n "vwri_log",120,6,0
+	symbol_t 123,xc,"",97,-1
+	symbol_t 124,P,123,1
+	symbol_n "vrea_log",123,6,0
+	symbol_t 125,xc,"",84,-1
+	symbol_t 126,P,125,1
+	symbol_n "vmsk_log",125,6,0
+	symbol_t 127,xc,"",84,-1
+	symbol_t 128,P,127,1
+	symbol_t 131,P,17,1
+	symbol_t 130,xc,"",84,-1
+	symbol_t 132,P,130,1
+	symbol_t 134,xc,"",84,-1
+	symbol_t 135,P,134,1
+	symbol_t 137,xc,"",84,-1
+	symbol_t 138,P,137,1
+	symbol_t 140,xc,"",84,-1
+	symbol_t 141,P,140,1
+	symbol_t 143,xc,"",84,-1
+	symbol_t 144,P,143,1
+	symbol_t 146,xc,"",84,-1
+	symbol_t 147,P,146,1
+	symbol_t 149,nc,3,0
+	symbol_t 150,P,149,1
+	symbol_t 152,P,150,1
+	symbol_t 151,xc,"",84,-1
+	symbol_t 153,P,151,1
+	symbol_n "syslog",151,6,0
+	symbol_t 154,xc,"",1,-1
+	symbol_t 155,P,154,1
+	symbol_t 157,P,114,1
+	symbol_t 158,P,155,1
+	symbol_t 156,xc,"",1,-1
+	symbol_t 159,P,156,1
+	symbol_n "syslog_printf",156,6,0
+	symbol_t 160,xc,"",1,-1
+	symbol_t 161,P,160,1
+	symbol_n "syslog_print",160,6,0
+	symbol_t 162,xc,"",1,-1
+	symbol_t 163,P,162,1
+	symbol_n "syslog_output",162,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\kernel.h",0,0,0
+	symbol_t 164,T,"TEXPTN",81,0
+	symbol_t 165,T,"FLGPTN",81,0
+	symbol_t 166,S,"t_msg",4,1,"next",167,0
+	symbol_t 167,P,166,1
+	symbol_t 168,P,167,1
+	symbol_t 169,T,"T_MSG",166,0
+	symbol_t 171,P,169,1
+	symbol_t 172,P,89,1
+	symbol_t 170,S,"t_msg_pri",6,2,"msgque",169,0,"msgpri",89,4
+	symbol_t 173,P,170,1
+	symbol_t 174,T,"T_MSG_PRI",170,0
+	symbol_t 175,P,85,1
+	symbol_t 176,xc,"",84,-1
+	symbol_t 177,P,176,1
+	symbol_n "act_tsk",176,6,0
+	symbol_t 178,xc,"",84,-1
+	symbol_t 179,P,178,1
+	symbol_n "iact_tsk",178,6,0
+	symbol_t 180,xc,"",97,-1
+	symbol_t 181,P,180,1
+	symbol_n "can_act",180,6,0
+	symbol_n "ext_tsk",99,6,0
+	symbol_t 182,xc,"",84,-1
+	symbol_t 183,P,182,1
+	symbol_n "ter_tsk",182,6,0
+	symbol_t 184,xc,"",84,-1
+	symbol_t 185,P,184,1
+	symbol_n "chg_pri",184,6,0
+	symbol_t 187,P,172,1
+	symbol_t 186,xc,"",84,-1
+	symbol_t 188,P,186,1
+	symbol_n "get_pri",186,6,0
+	symbol_t 189,xc,"",84,-1
+	symbol_t 190,P,189,1
+	symbol_n "slp_tsk",189,6,0
+	symbol_t 191,P,91,1
+	symbol_t 192,xc,"",84,-1
+	symbol_t 193,P,192,1
+	symbol_n "tslp_tsk",192,6,0
+	symbol_t 194,xc,"",84,-1
+	symbol_t 195,P,194,1
+	symbol_n "wup_tsk",194,6,0
+	symbol_t 196,xc,"",84,-1
+	symbol_t 197,P,196,1
+	symbol_n "iwup_tsk",196,6,0
+	symbol_t 198,xc,"",97,-1
+	symbol_t 199,P,198,1
+	symbol_n "can_wup",198,6,0
+	symbol_t 200,xc,"",84,-1
+	symbol_t 201,P,200,1
+	symbol_n "rel_wai",200,6,0
+	symbol_t 202,xc,"",84,-1
+	symbol_t 203,P,202,1
+	symbol_n "irel_wai",202,6,0
+	symbol_t 204,xc,"",84,-1
+	symbol_t 205,P,204,1
+	symbol_n "sus_tsk",204,6,0
+	symbol_t 206,xc,"",84,-1
+	symbol_t 207,P,206,1
+	symbol_n "rsm_tsk",206,6,0
+	symbol_t 208,xc,"",84,-1
+	symbol_t 209,P,208,1
+	symbol_n "frsm_tsk",208,6,0
+	symbol_t 210,P,92,1
+	symbol_t 211,xc,"",84,-1
+	symbol_t 212,P,211,1
+	symbol_n "dly_tsk",211,6,0
+	symbol_t 214,P,164,1
+	symbol_t 213,xc,"",84,-1
+	symbol_t 215,P,213,1
+	symbol_n "ras_tex",213,6,0
+	symbol_t 216,xc,"",84,-1
+	symbol_t 217,P,216,1
+	symbol_n "iras_tex",216,6,0
+	symbol_n "dis_tex",189,6,0
+	symbol_n "ena_tex",189,6,0
+	symbol_t 218,xc,"",82,-1
+	symbol_t 219,P,218,1
+	symbol_n "sns_tex",218,6,0
+	symbol_t 220,xc,"",84,-1
+	symbol_t 221,P,220,1
+	symbol_n "sig_sem",220,6,0
+	symbol_t 222,xc,"",84,-1
+	symbol_t 223,P,222,1
+	symbol_n "isig_sem",222,6,0
+	symbol_t 224,xc,"",84,-1
+	symbol_t 225,P,224,1
+	symbol_n "wai_sem",224,6,0
+	symbol_t 226,xc,"",84,-1
+	symbol_t 227,P,226,1
+	symbol_n "pol_sem",226,6,0
+	symbol_t 228,xc,"",84,-1
+	symbol_t 229,P,228,1
+	symbol_n "twai_sem",228,6,0
+	symbol_t 231,P,165,1
+	symbol_t 230,xc,"",84,-1
+	symbol_t 232,P,230,1
+	symbol_n "set_flg",230,6,0
+	symbol_t 233,xc,"",84,-1
+	symbol_t 234,P,233,1
+	symbol_n "iset_flg",233,6,0
+	symbol_t 235,xc,"",84,-1
+	symbol_t 236,P,235,1
+	symbol_n "clr_flg",235,6,0
+	symbol_t 238,P,88,1
+	symbol_t 239,P,231,1
+	symbol_t 237,xc,"",84,-1
+	symbol_t 240,P,237,1
+	symbol_n "wai_flg",237,6,0
+	symbol_t 241,xc,"",84,-1
+	symbol_t 242,P,241,1
+	symbol_n "pol_flg",241,6,0
+	symbol_t 243,xc,"",84,-1
+	symbol_t 244,P,243,1
+	symbol_n "twai_flg",243,6,0
+	symbol_t 245,xc,"",84,-1
+	symbol_t 246,P,245,1
+	symbol_n "snd_dtq",245,6,0
+	symbol_t 247,xc,"",84,-1
+	symbol_t 248,P,247,1
+	symbol_n "psnd_dtq",247,6,0
+	symbol_t 249,xc,"",84,-1
+	symbol_t 250,P,249,1
+	symbol_n "ipsnd_dtq",249,6,0
+	symbol_t 251,xc,"",84,-1
+	symbol_t 252,P,251,1
+	symbol_n "tsnd_dtq",251,6,0
+	symbol_t 253,xc,"",84,-1
+	symbol_t 254,P,253,1
+	symbol_n "fsnd_dtq",253,6,0
+	symbol_t 255,xc,"",84,-1
+	symbol_t 256,P,255,1
+	symbol_n "ifsnd_dtq",255,6,0
+	symbol_t 257,xc,"",84,-1
+	symbol_t 258,P,257,1
+	symbol_n "rcv_dtq",257,6,0
+	symbol_t 259,xc,"",84,-1
+	symbol_t 260,P,259,1
+	symbol_n "prcv_dtq",259,6,0
+	symbol_t 261,xc,"",84,-1
+	symbol_t 262,P,261,1
+	symbol_n "trcv_dtq",261,6,0
+	symbol_t 264,P,171,1
+	symbol_t 263,xc,"",84,-1
+	symbol_t 265,P,263,1
+	symbol_n "snd_mbx",263,6,0
+	symbol_t 267,P,264,1
+	symbol_t 266,xc,"",84,-1
+	symbol_t 268,P,266,1
+	symbol_n "rcv_mbx",266,6,0
+	symbol_t 269,xc,"",84,-1
+	symbol_t 270,P,269,1
+	symbol_n "prcv_mbx",269,6,0
+	symbol_t 271,xc,"",84,-1
+	symbol_t 272,P,271,1
+	symbol_n "trcv_mbx",271,6,0
+	symbol_t 273,P,76,1
+	symbol_t 275,P,273,1
+	symbol_t 274,xc,"",84,-1
+	symbol_t 276,P,274,1
+	symbol_n "get_mpf",274,6,0
+	symbol_t 277,xc,"",84,-1
+	symbol_t 278,P,277,1
+	symbol_n "pget_mpf",277,6,0
+	symbol_t 279,xc,"",84,-1
+	symbol_t 280,P,279,1
+	symbol_n "tget_mpf",279,6,0
+	symbol_t 281,xc,"",84,-1
+	symbol_t 282,P,281,1
+	symbol_n "rel_mpf",281,6,0
+	symbol_t 283,nc,93,0
+	symbol_t 284,P,283,1
+	symbol_t 285,P,284,1
+	symbol_t 286,xc,"",84,-1
+	symbol_t 287,P,286,1
+	symbol_n "set_tim",286,6,0
+	symbol_t 288,P,116,1
+	symbol_t 289,xc,"",84,-1
+	symbol_t 290,P,289,1
+	symbol_n "get_tim",289,6,0
+	symbol_n "isig_tim",189,6,0
+	symbol_t 291,xc,"",84,-1
+	symbol_t 292,P,291,1
+	symbol_n "sta_cyc",291,6,0
+	symbol_t 293,xc,"",84,-1
+	symbol_t 294,P,293,1
+	symbol_n "stp_cyc",293,6,0
+	symbol_t 295,xc,"",84,-1
+	symbol_t 296,P,295,1
+	symbol_n "rot_rdq",295,6,0
+	symbol_t 297,xc,"",84,-1
+	symbol_t 298,P,297,1
+	symbol_n "irot_rdq",297,6,0
+	symbol_t 299,P,175,1
+	symbol_t 300,xc,"",84,-1
+	symbol_t 301,P,300,1
+	symbol_n "get_tid",300,6,0
+	symbol_n "iget_tid",300,6,0
+	symbol_n "loc_cpu",189,6,0
+	symbol_n "iloc_cpu",189,6,0
+	symbol_n "unl_cpu",189,6,0
+	symbol_n "iunl_cpu",189,6,0
+	symbol_n "dis_dsp",189,6,0
+	symbol_n "ena_dsp",189,6,0
+	symbol_n "sns_ctx",218,6,0
+	symbol_n "sns_loc",218,6,0
+	symbol_n "sns_dsp",218,6,0
+	symbol_n "sns_dpn",218,6,0
+	symbol_t 302,xc,"",82,-1
+	symbol_t 303,P,302,1
+	symbol_n "vxsns_ctx",302,6,0
+	symbol_t 304,xc,"",82,-1
+	symbol_t 305,P,304,1
+	symbol_n "vxsns_loc",304,6,0
+	symbol_t 306,xc,"",82,-1
+	symbol_t 307,P,306,1
+	symbol_n "vxsns_dsp",306,6,0
+	symbol_t 308,xc,"",82,-1
+	symbol_t 309,P,308,1
+	symbol_n "vxsns_dpn",308,6,0
+	symbol_t 310,xc,"",82,-1
+	symbol_t 311,P,310,1
+	symbol_n "vxsns_tex",310,6,0
+	symbol_n "vsns_ini",218,6,0
+	symbol_a "TA_HLNG",16,181,1
+	symbol_a "0x00u",16,181,2
+	symbol_a "TA_ASM",16,182,1
+	symbol_a "0x01u",16,182,2
+	symbol_a "TA_TFIFO",16,183,1
+	symbol_a "0x00u",16,183,2
+	symbol_a "TA_TPRI",16,184,1
+	symbol_a "0x01u",16,184,2
+	symbol_a "TA_MFIFO",16,185,1
+	symbol_a "0x00u",16,185,2
+	symbol_a "TA_MPRI",16,186,1
+	symbol_a "0x02u",16,186,2
+	symbol_a "TA_ACT",16,187,1
+	symbol_a "0x02u",16,187,2
+	symbol_a "TA_WSGL",16,188,1
+	symbol_a "0x00u",16,188,2
+	symbol_a "TA_CLR",16,189,1
+	symbol_a "0x04u",16,189,2
+	symbol_a "TA_STA",16,190,1
+	symbol_a "0x02u",16,190,2
+	symbol_a "TWF_ANDW",16,191,1
+	symbol_a "0x00u",16,191,2
+	symbol_a "TWF_ORW",16,192,1
+	symbol_a "0x01u",16,192,2
+	symbol_a "TSK_SELF",16,193,1
+	symbol_a "0",16,193,2
+	symbol_a "TSK_NONE",16,194,1
+	symbol_a "0",16,194,2
+	symbol_a "TPRI_SELF",16,195,1
+	symbol_a "0",16,195,2
+	symbol_a "TPRI_INI",16,196,1
+	symbol_a "0",16,196,2
+	symbol_a "TMIN_TPRI",16,197,1
+	symbol_a "1",16,197,2
+	symbol_a "TMAX_TPRI",16,198,1
+	symbol_a "16",16,198,2
+	symbol_a "TMIN_MPRI",16,199,1
+	symbol_a "1",16,199,2
+	symbol_a "TMAX_MPRI",16,200,1
+	symbol_a "16",16,200,2
+	symbol_a "TKERNEL_MAKER",16,201,1
+	symbol_a "0x0118u",16,201,2
+	symbol_a "TKERNEL_PRID",16,202,1
+	symbol_a "0x0001u",16,202,2
+	symbol_a "TKERNEL_SPVER",16,203,1
+	symbol_a "0x5402u",16,203,2
+	symbol_a "TKERNEL_PRVER",16,204,1
+	symbol_a "0x1041u",16,204,2
+	symbol_a "TMAX_ACTCNT",16,205,1
+	symbol_a "1",16,205,2
+	symbol_a "TMAX_WUPCNT",16,206,1
+	symbol_a "1",16,206,2
+	symbol_a "TMAX_SUSCNT",16,207,1
+	symbol_a "1",16,207,2
+	symbol_a "TBIT_TEXPTN",16,208,1
+	symbol_a "(sizeof(TEXPTN) * CHAR_BIT)",16,208,2
+	symbol_a "TBIT_FLGPTN",16,209,1
+	symbol_a "(sizeof(FLGPTN) * CHAR_BIT)",16,209,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\jsp_kernel.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/toshiba_ide\sys_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/toshiba_ide\sys_rename.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/toshiba_ide\sys_config.h",0,0,0
+	symbol_a "TNUM_PORT",16,210,1
+	symbol_a "1",16,210,2
+	symbol_a "TNUM_SIOP",16,211,1
+	symbol_a "1",16,211,2
+	symbol_a "LOGTASK_PORTID",16,212,1
+	symbol_a "1",16,212,2
+	symbol_a "CONSOLE_PORTID",16,213,1
+	symbol_a "1",16,213,2
+	symbol_n "_kernel_sys_initialize",99,6,0
+	symbol_n "_kernel_sys_exit",99,6,0
+	symbol_n "_kernel_sys_putc",154,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_rename.h",0,0,0
+	symbol_a "activate_r",16,214,1
+	symbol_a "_kernel_activate_r",16,214,2
+	symbol_a "ret_int",16,215,1
+	symbol_a "_kernel_ret_int",16,215,2
+	symbol_a "interrupt",16,216,1
+	symbol_a "_kernel_interrupt",16,216,2
+	symbol_a "task_intmask",16,217,1
+	symbol_a "_kernel_task_intmask",16,217,2
+	symbol_a "int_intmask",16,218,1
+	symbol_a "_kernel_int_intmask",16,218,2
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_insn.h",0,0,0
+	symbol_t 312,xc,"",71,-1
+	symbol_t 313,P,312,1
+	symbol_t 315,P,71,1
+	symbol_t 316,xc,"",1,-1
+	symbol_t 317,P,316,1
+	symbol_t 321,xc,"",81,-1
+	symbol_t 322,P,321,1
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\cpu_config.h",0,0,0
+	symbol_a "TBIT_TCB_TSTAT",16,219,1
+	symbol_a "8",16,219,2
+	symbol_a "TBIT_TCB_PRIORITY",16,220,1
+	symbol_a "4",16,220,2
+	symbol_t 325,P,77,1
+	symbol_t 324,S,"task_context_block",8,2,"xsp",76,0,"pc",77,4
+	symbol_t 326,P,324,1
+	symbol_t 327,T,"CTXB",324,0
+	symbol_n "intcnt",81,6,0
+	symbol_t 329,xc,"",1,-1
+	symbol_t 330,P,329,1
+	symbol_a "t_sense_lock",16,221,1
+	symbol_a "sense_lock",16,221,2
+	symbol_a "i_sense_lock",16,222,1
+	symbol_a "sense_lock",16,222,2
+	symbol_n "_kernel_task_intmask",71,6,0
+	symbol_n "_kernel_int_intmask",71,6,0
+	symbol_n "_kernel_dispatch",99,6,0
+	symbol_n "_kernel_exit_and_dispatch",99,6,0
+	symbol_t 338,P,102,1
+	symbol_t 340,P,79,1
+	symbol_t 339,xc,"",1,-1
+	symbol_t 341,P,339,1
+	symbol_t 343,P,103,1
+	symbol_t 344,xc,"",1,-1
+	symbol_t 345,P,344,1
+	symbol_t 347,xc,"",82,-1
+	symbol_t 348,P,347,1
+	symbol_t 350,xc,"",82,-1
+	symbol_t 351,P,350,1
+	symbol_n "_kernel_cpu_initialize",99,6,0
+	symbol_n "_kernel_cpu_terminate",99,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba\tool_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../include\t_config.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\jsp_kernel.h",0,0,0
+	symbol_a "TMIN_TSKID",16,223,1
+	symbol_a "1",16,223,2
+	symbol_a "TMIN_SEMID",16,224,1
+	symbol_a "1",16,224,2
+	symbol_a "TMIN_FLGID",16,225,1
+	symbol_a "1",16,225,2
+	symbol_a "TMIN_DTQID",16,226,1
+	symbol_a "1",16,226,2
+	symbol_a "TMIN_MBXID",16,227,1
+	symbol_a "1",16,227,2
+	symbol_a "TMIN_MPFID",16,228,1
+	symbol_a "1",16,228,2
+	symbol_a "TMIN_CYCID",16,229,1
+	symbol_a "1",16,229,2
+	symbol_a "TNUM_TPRI",16,230,1
+	symbol_a "(TMAX_TPRI - TMIN_TPRI + 1)",16,230,2
+	symbol_a "TNUM_MPRI",16,231,1
+	symbol_a "(TMAX_MPRI - TMIN_MPRI + 1)",16,231,2
+	symbol_n "_kernel_object_initialize",99,6,0
+	symbol_n "_kernel_call_inirtn",99,6,0
+	symbol_n "_kernel_call_terrtn",99,6,0
+	symbol_n "_kernel_print_banner",99,6,0
+	symbol_n "kernel_exit",99,6,0
+	symbol_n "_kernel_iniflg",82,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/makeoffset.c",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\task.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\queue.h",0,0,0
+	symbol_t 354,S,"queue",8,2,"next",355,0,"prev",355,4
+	symbol_t 355,P,354,1
+	symbol_t 356,P,355,1
+	symbol_t 357,T,"QUEUE",354,0
+	symbol_t 358,P,357,1
+	symbol_t 359,P,358,1
+	symbol_t 360,xc,"",1,-1
+	symbol_t 361,P,360,1
+	symbol_t 363,xc,"",1,-1
+	symbol_t 364,P,363,1
+	symbol_t 367,xc,"",358,-1
+	symbol_t 368,P,367,1
+	symbol_t 370,xc,"",82,-1
+	symbol_t 371,P,370,1
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\task.h",0,0,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\time_event.h",0,0,0
+	symbol_t 373,T,"EVTTIM",74,0
+	symbol_a "TMAX_RELTIM",16,232,1
+	symbol_a "((((EVTTIM) 1) << (sizeof(EVTTIM) * CHAR_BIT - 1)) - 1)",16,232,2
+	symbol_t 375,xc,"",1,-1
+	symbol_t 376,P,375,1
+	symbol_t 374,T,"CBACK",376,0
+	symbol_t 378,P,374,1
+	symbol_t 377,S,"time_event_block",10,3,"index",81,0,"callback",374,2,"arg",76,6
+	symbol_t 379,P,377,1
+	symbol_t 380,T,"TMEVTB",377,0
+	symbol_t 382,P,380,1
+	symbol_t 383,P,373,1
+	symbol_t 384,P,382,1
+	symbol_t 381,S,"time_event_node",8,2,"time",373,0,"tmevtb",382,4
+	symbol_t 385,P,381,1
+	symbol_t 386,T,"TMEVTN",381,0
+	symbol_t 387,Z,"",386,1,"",-1,0
+	symbol_t 388,P,387,1
+	symbol_t 389,P,386,1
+	symbol_n "_kernel_tmevt_heap",387,6,0
+	symbol_n "_kernel_systim_offset",93,6,0
+	symbol_n "_kernel_current_time",93,6,0
+	symbol_n "_kernel_next_time",93,6,0
+	symbol_a "base_time",16,233,1
+	symbol_a "((EVTTIM) next_time)",16,233,2
+	symbol_n "_kernel_last_index",81,6,0
+	symbol_n "_kernel_tmevt_initialize",99,6,0
+	symbol_t 390,xc,"",81,-1
+	symbol_t 391,P,390,1
+	symbol_n "_kernel_tmevt_up",390,6,0
+	symbol_t 392,xc,"",81,-1
+	symbol_t 393,P,392,1
+	symbol_n "_kernel_tmevt_down",392,6,0
+	symbol_t 394,xc,"",1,-1
+	symbol_t 395,P,394,1
+	symbol_n "_kernel_tmevtb_insert",394,6,0
+	symbol_t 396,xc,"",1,-1
+	symbol_t 397,P,396,1
+	symbol_n "_kernel_tmevtb_delete",396,6,0
+	symbol_t 399,P,376,1
+	symbol_t 398,xc,"",1,-1
+	symbol_t 400,P,398,1
+	symbol_t 402,xc,"",1,-1
+	symbol_t 403,P,402,1
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../kernel\task.h",0,0,0
+	symbol_a "TS_DORMANT",16,234,1
+	symbol_a "0x00u",16,234,2
+	symbol_a "TS_RUNNABLE",16,235,1
+	symbol_a "0x01u",16,235,2
+	symbol_a "TS_WAITING",16,236,1
+	symbol_a "0x02u",16,236,2
+	symbol_a "TS_SUSPENDED",16,237,1
+	symbol_a "0x04u",16,237,2
+	symbol_a "TS_WAIT_SLEEP",16,238,1
+	symbol_a "0x08u",16,238,2
+	symbol_a "TS_WAIT_WOBJ",16,239,1
+	symbol_a "0x10u",16,239,2
+	symbol_a "TS_WAIT_WOBJCB",16,240,1
+	symbol_a "0x20u",16,240,2
+	symbol_t 407,P,84,1
+	symbol_t 406,U,"waiting_information",4,2,"wercd",84,0,"tmevtb",382,0
+	symbol_t 408,P,406,1
+	symbol_t 409,T,"WINFO",406,0
+	symbol_t 411,P,86,1
+	symbol_t 412,P,90,1
+	symbol_t 410,S,"task_initialization_block",24,8,"tskatr",86,0,"exinf",94,2,"task",77,6,"ipriority",81,10,"stksz",90,12,"stk",76,14,"texatr",86,18,"texrtn",77,20
+	symbol_t 413,P,410,1
+	symbol_t 414,T,"TINIB",410,0
+	symbol_t 416,nc,414,0
+	symbol_t 417,P,416,1
+	symbol_t 418,nc,86,0
+	symbol_t 419,P,418,1
+	symbol_t 420,nc,94,0
+	symbol_t 421,P,420,1
+	symbol_t 422,nc,77,0
+	symbol_t 423,P,422,1
+	symbol_t 424,nc,81,0
+	symbol_t 425,P,424,1
+	symbol_t 426,nc,90,0
+	symbol_t 427,P,426,1
+	symbol_t 428,nc,76,0
+	symbol_t 429,P,428,1
+	symbol_t 430,P,409,1
+	symbol_t 431,P,417,1
+	symbol_t 432,gu,8,8
+	symbol_t 433,P,432,1
+	symbol_t 434,gu,4,4
+	symbol_t 435,P,434,1
+	symbol_t 436,gu,3,1
+	symbol_t 437,P,436,1
+	symbol_t 438,gu,2,1
+	symbol_t 439,P,438,1
+	symbol_t 440,gu,1,1
+	symbol_t 441,P,440,1
+	symbol_t 442,P,430,1
+	symbol_t 443,P,327,1
+	symbol_t 415,S,"task_control_block",28,10,"task_queue",357,0,"tinib",417,8,"tstat",432,96,"priority",434,104,"actcnt",436,108,"wupcnt",438,109,"enatex",440,110,"texptn",164,14,"winfo",430,16,"tskctxb",327,20
+	symbol_t 444,P,415,1
+	symbol_t 445,T,"TCB",415,0
+	symbol_t 446,P,445,1
+	symbol_t 447,P,446,1
+	symbol_n "_kernel_runtsk",446,6,0
+	symbol_n "_kernel_schedtsk",446,6,0
+	symbol_n "_kernel_reqflg",82,6,0
+	symbol_n "_kernel_enadsp",82,6,0
+	symbol_t 448,Z,"",357,1,"",16,0
+	symbol_t 449,P,448,1
+	symbol_n "_kernel_ready_queue",448,6,0
+	symbol_n "_kernel_ready_primap",81,6,0
+	symbol_t 450,nc,85,0
+	symbol_t 451,P,450,1
+	symbol_n "_kernel_tmax_tskid",450,6,0
+	symbol_t 452,Z,"",416,1,"",-1,0
+	symbol_t 453,P,452,1
+	symbol_n "_kernel_tinib_table",452,6,0
+	symbol_t 454,Z,"",450,1,"",-1,0
+	symbol_t 455,P,454,1
+	symbol_n "_kernel_torder_table",454,6,0
+	symbol_t 456,Z,"",445,1,"",-1,0
+	symbol_t 457,P,456,1
+	symbol_n "_kernel_tcb_table",456,6,0
+	symbol_a "TNUM_TSK",16,241,1
+	symbol_a "((UINT)(tmax_tskid - TMIN_TSKID + 1))",16,241,2
+	symbol_n "_kernel_task_initialize",99,6,0
+	symbol_t 458,xc,"",446,-1
+	symbol_t 459,P,458,1
+	symbol_n "_kernel_search_schedtsk",458,6,0
+	symbol_t 460,xc,"",82,-1
+	symbol_t 461,P,460,1
+	symbol_n "_kernel_make_runnable",460,6,0
+	symbol_n "_kernel_make_non_runnable",460,6,0
+	symbol_t 462,xc,"",1,-1
+	symbol_t 463,P,462,1
+	symbol_n "_kernel_make_dormant",462,6,0
+	symbol_n "_kernel_make_active",460,6,0
+	symbol_n "_kernel_exit_task",99,6,0
+	symbol_t 464,xc,"",82,-1
+	symbol_t 465,P,464,1
+	symbol_n "_kernel_change_priority",464,6,0
+	symbol_t 466,xc,"",82,-1
+	symbol_t 467,P,466,1
+	symbol_n "_kernel_rotate_ready_queue",466,6,0
+	symbol_n "_kernel_call_texrtn",99,6,0
+	symbol_n "_kernel_calltex",99,6,0
+	file "D:\jsp141_win\tools\TLCS900L1-TOSHIBA\../../config/tlcs900l1-toshiba/makeoffset.c",0,0,0
+	symbol_n "makeoffset",99,6,0
+	symbol_b "makeoffset",5,0,1
+	symbol_t 468,xc,"makeoffset",1,0
+	symbol_n "makeoffset",468,4,1
+f_code section code large align=1,1
+	symbol_a "makeoffset",8,0,0
+	line "",87,1,0
+	public _makeoffset
+_makeoffset:
+	symbol_a "makeoffset",6,0,0
+	symbol_a "makeoffset",0,0,0
+	symbol_b "makeoffset",6,0,1
+	symbol_b "makeoffset",1,87,1
+	symbol_a "",51,0,0
+	line "",88,36,0
+; BEGIN TCB_texptn\n
+	line "",89,42,0
+	orw	(0xe),0x1                	;	0000000000000001b
+	line "",90,21,0
+; END
+	line "",92,32,0
+; BEGIN TCB_sp\n
+	line "",93,42,0
+	ld	XWA,0x1
+	ld	(0x14),XWA
+	line "",94,21,0
+; END
+	line "",96,32,0
+; BEGIN TCB_pc\n
+	line "",97,35,0
+	ld	XWA,(0x18)
+	call	XWA
+	line "",98,21,0
+; END
+	line "",100,36,0
+; BEGIN TCB_enatex\n
+	line "",101,33,0
+	orw	(0xc),0x4000             	;	0100000000000000b
+	line "",102,21,0
+; END
+	line "",103,1,0
+	ret
+	symbol_b "makeoffset",2,103,1
+	extern large _start,_chg_ipm,_get_ipm,_vwri_log,_vrea_log,_vmsk_log,_syslog,_syslog_printf
+	extern large _syslog_print,_syslog_output,_act_tsk,_iact_tsk,_can_act,_ext_tsk,_ter_tsk,_chg_pri
+	extern large _get_pri,_slp_tsk,_tslp_tsk,_wup_tsk,_iwup_tsk,_can_wup,_rel_wai,_irel_wai
+	extern large _sus_tsk,_rsm_tsk,_frsm_tsk,_dly_tsk,_ras_tex,_iras_tex,_dis_tex,_ena_tex
+	extern large _sns_tex,_sig_sem,_isig_sem,_wai_sem,_pol_sem,_twai_sem,_set_flg,_iset_flg
+	extern large _clr_flg,_wai_flg,_pol_flg,_twai_flg,_snd_dtq,_psnd_dtq,_ipsnd_dtq,_tsnd_dtq
+	extern large _fsnd_dtq,_ifsnd_dtq,_rcv_dtq,_prcv_dtq,_trcv_dtq,_snd_mbx,_rcv_mbx,_prcv_mbx
+	extern large _trcv_mbx,_get_mpf,_pget_mpf,_tget_mpf,_rel_mpf,_set_tim,_get_tim,_isig_tim
+	extern large _sta_cyc,_stp_cyc,_rot_rdq,_irot_rdq,_get_tid,_iget_tid,_loc_cpu,_iloc_cpu
+	extern large _unl_cpu,_iunl_cpu,_dis_dsp,_ena_dsp,_sns_ctx,_sns_loc,_sns_dsp,_sns_dpn
+	extern large _vxsns_ctx,_vxsns_loc,_vxsns_dsp,_vxsns_dpn,_vxsns_tex,_vsns_ini,__kernel_sys_initialize,__kernel_sys_exit
+	extern large __kernel_sys_putc,_intcnt,__kernel_task_intmask,__kernel_int_intmask,__kernel_dispatch,__kernel_exit_and_dispatch,__kernel_cpu_initialize,__kernel_cpu_terminate
+	extern large __kernel_object_initialize,__kernel_call_inirtn,__kernel_call_terrtn,__kernel_print_banner,_kernel_exit,__kernel_iniflg,__kernel_tmevt_heap,__kernel_systim_offset
+	extern large __kernel_current_time,__kernel_next_time,__kernel_last_index,__kernel_tmevt_initialize,__kernel_tmevt_up,__kernel_tmevt_down,__kernel_tmevtb_insert,__kernel_tmevtb_delete
+	extern large __kernel_runtsk,__kernel_schedtsk,__kernel_reqflg,__kernel_enadsp,__kernel_ready_queue,__kernel_ready_primap,__kernel_tmax_tskid,__kernel_tinib_table
+	extern large __kernel_torder_table,__kernel_tcb_table,__kernel_task_initialize,__kernel_search_schedtsk,__kernel_make_runnable,__kernel_make_non_runnable,__kernel_make_dormant,__kernel_make_active
+	extern large __kernel_exit_task,__kernel_change_priority,__kernel_rotate_ready_queue,__kernel_call_texrtn,__kernel_calltex
+	end
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.cpp	(revision 26)
@@ -0,0 +1,468 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RIOCH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: tlcs900offset.cpp,v 1.4 2007/04/17 05:08:07 honda Exp $
+ */
+// tlcs900offset.cpp : ã³ã³ã½ã¼ã« ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¨ã³ããª ãã¤ã³ãã®å®ç¾©
+//
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define	BUF_SIZE		512
+#define	STR_SIZE		128
+#define BIT_SIZE		6
+
+#define	NORMAL_STATE	0
+#define	TEXPTN_STATE	1
+#define	SP_STATE		2
+#define	PC_STATE		3
+#define	ENATEX_STATE	4
+
+
+static char const default_input_file[] = "makeoffset.asm";
+static char const default_output_file[] = "offset.inc";
+static char const lf[] = "\n";
+
+static char input_file[STR_SIZE];
+static char output_file[STR_SIZE];
+
+/*
+å
+¥åãã¡ã¤ã«ãBEGIN, ENDã®åºéã§ããå ´åã¯
+offset_state = NORMAL_STATE;
+*/
+static int  offset_state = NORMAL_STATE;
+
+static bool test_string(char** s, char const * t);
+static bool skip_space(char** s);
+static bool skip_char(char** s, char const c);
+
+unsigned int atoh(char* s);
+void get_num(char* s);
+void get_num_undo(char* s);
+
+int main(int argc, char* argv[]){
+	FILE* pfo;
+	FILE* pfi;
+	int nCnt, address;
+	int shift_bit = 1;
+	int shift_cnt = 0;
+
+	char* s;
+	char  str[100];
+
+	char  buf[BUF_SIZE];
+	char  c;
+
+	strcpy(input_file, default_input_file);
+	strcpy(output_file, default_output_file);
+
+	//ã³ãã³ãã©ã¤ã³å
+¥åãè§£æ
+	for(nCnt = 1 ; nCnt < argc ; nCnt++){
+		s = argv[nCnt];
+		if(*s++ == '-'){
+			c = *s;
+			while(*s != 0){
+				if(*s == ':')
+					break;
+				s++;
+			}
+			if(*s++ == ':'){
+				switch(c){
+				//output file name
+				case 'O':		
+				case 'o':
+					strcpy(output_file, s);
+					break;
+				//input file name
+				case 'R':
+				case 'r':
+					strcpy(input_file, s);
+					break;
+				default:
+					printf("tlcs900offset -R:input_file -O:output_file\n");
+					break;
+				}
+			}
+		}
+	}
+	//input, outputãã¡ã¤ã«åã®æ¨æºåºå
+	printf("input file   = %s\n", input_file);
+	printf("output file  = %s\n", output_file);
+
+	if((pfi = fopen(input_file, "r")) == NULL){
+		fprintf(stderr, "can't open input file!");
+		exit(1);
+	}
+	if((pfo = fopen(output_file, "w")) == NULL){
+		fclose(pfi);
+		fprintf(stderr, "can't open output file!");
+		exit(1);
+	}
+
+	//inputãã¡ã¤ã«ã®åãè¾¼ã¿
+	for(;;){
+		if((fgets(buf, BUF_SIZE, pfi)) == NULL)
+			break;
+		s = buf;
+		switch(offset_state){
+		//; BEGIN TCB_texptnã®ç¯å²ã®è§£æ
+		case TEXPTN_STATE:
+			if(test_string(&s, "; END")){
+				offset_state = NORMAL_STATE;
+				continue;
+			}
+
+			if(test_string(&s, "line") || test_string(&s, "call"))
+				continue;
+
+			if(skip_char(&s, 'x')){
+				continue;
+			}
+
+			get_num(s);
+			address = atoh(s);
+			printf("TCB_texptn\tequ\t%d\n",address);
+			fputs("TCB_texptn\t\tequ\t", pfo);
+			sprintf(str,"%d",address);
+			fputs(str, pfo);
+			fputs(lf, pfo);
+			break;
+
+		case SP_STATE:
+		//; BEGIN TCB_spã®ç¯å²ã®è§£æ
+			if(test_string(&s, "; END")){
+				offset_state = NORMAL_STATE;
+				continue;
+			}
+
+			if(test_string(&s, "line") || test_string(&s, "call") )
+				continue;
+
+			if(skip_space(&s))
+				continue;
+
+			if(skip_char(&s, '(')){
+				continue;
+			}
+
+			if(skip_char(&s, 'x')){
+				continue;
+			}
+
+			get_num(s);
+			address = atoh(s);
+			printf("TCB_sp\t\tequ\t%d\n",address);
+			fputs("TCB_sp\t\t\tequ\t", pfo);
+			sprintf(str,"%d",address);
+			fputs(str, pfo);
+			fputs(lf, pfo);
+
+			break;
+
+		case PC_STATE:
+		//; BEGIN TCB_pcã®ç¯å²ã®è§£æ
+			if(test_string(&s, "; END")){
+				offset_state = NORMAL_STATE;
+				continue;
+			}
+
+			if(test_string(&s, "line") || test_string(&s, "call"))
+				continue;
+
+			if(skip_char(&s, 'x')){
+				continue;
+			}
+			get_num(s);
+			address = atoh(s);
+			printf("TCB_pc\tequ\t%d\n",address);
+			fputs("TCB_pc\t\t\tequ\t", pfo);
+			sprintf(str,"%d",address);
+			fputs(str, pfo);
+			fputs(lf, pfo);
+			break;
+
+		case ENATEX_STATE:
+		//; BEGIN TCB_pcã®ç¯å²ã®è§£æ
+			if(test_string(&s, "; END")){
+				offset_state = NORMAL_STATE;
+				continue;
+			}
+
+			if(test_string(&s, "line") || test_string(&s, "call"))
+				continue;
+
+			if(skip_char(&s, 'x')){
+				continue;
+			}
+			get_num(s);
+			address = atoh(s);
+			printf("TCB_enatex\tequ\t%d\n",address);
+			fputs("TCB_enatex\t\tequ\t", pfo);
+			sprintf(str,"%d",address);
+			fputs(str, pfo);
+			fputs(lf, pfo);
+			get_num_undo(s);
+			if(skip_char(&s, ',')){
+				continue;
+			}
+
+			*(s + BIT_SIZE) = '\0';
+			printf("TCB_enatex_mask\tequ\t%s\n",s);
+			fputs("TCB_enatex_mask\tequ\t", pfo);
+			fputs(s, pfo);
+			fputs(lf, pfo);
+
+			if(skip_char(&s, 'x')){
+				continue;
+			}
+
+			address = atoh(s);
+
+			for(shift_cnt=0;shift_cnt<=16;shift_cnt++){
+				if(address == shift_bit){
+					printf("TCB_enatex_bit\tequ\t%d\n",shift_cnt);
+					fputs("TCB_enatex_bit\tequ\t", pfo);
+					sprintf(str,"%d",shift_cnt);
+					fputs(str, pfo);
+					fputs(lf, pfo);
+				}
+				shift_bit<<=1;
+			}
+
+			break;
+
+		default:
+			if(test_string(&s, "; BEGIN TCB_texptn")){
+				offset_state = TEXPTN_STATE;
+				continue;
+			}else if(test_string(&s, "; BEGIN TCB_sp")){
+				offset_state = SP_STATE;
+				continue;
+			}else if(test_string(&s, "; BEGIN TCB_pc")){
+				offset_state = PC_STATE;
+				continue;
+			}else if(test_string(&s, "; BEGIN TCB_enatex")){
+				offset_state = ENATEX_STATE;
+				continue;
+			}
+
+			break;
+		}
+	}
+	return 0;
+}
+
+/*
+ * 16é²æå­åãintåã«å¤æ
+ */
+unsigned int atoh(char* s)
+{
+	int nCnt = 0;
+	for(;;){
+		if(*s >= '0' && *s <= '9')
+			nCnt = (nCnt * 16) + (*s - '0');
+		else if(*s >= 'A' && *s <= 'F')
+			nCnt = (nCnt * 16) + (*s - 'A' + 10);
+		else if(*s >= 'a' && *s <= 'f')
+			nCnt = (nCnt * 16) + (*s - 'a' + 10);
+		else
+			break;
+		s++;
+	}
+	return nCnt;
+}
+/*
+ * ã¢ãã¬ã¹é¨åãæ½åº
+ */
+void get_num(char* s)
+{
+	int nCnt;
+
+	for(nCnt = 0 ; nCnt < 4 ; nCnt++){
+		if(*(s+nCnt) == ')'){
+			*(s+nCnt) = '\0';
+		}
+	}
+}
+
+/*
+ * get_numã§æ¸ãæããé¨åãå
+ã«æ»ã
+ */
+void get_num_undo(char* s)
+{
+	int nCnt;
+
+	for(nCnt = 0 ; nCnt < 4 ; nCnt++){
+		if(*(s+nCnt) == '\0'){
+			*(s+nCnt) = ')';
+		}
+	}
+}
+
+
+/*
+ * æå­åãæ¯è¼ãã¦åä¸ãªãã°TURE
+ */
+static bool test_string(char** s, char const *t)
+{
+	char*  p;
+	char   c;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			return false;
+		p++;
+	}
+	while((c = *p++) != 0){
+		if(c != *t++)
+			break;
+		if(*t == 0){
+			*s = p;
+			return true;
+		}
+	}
+	return false;
+}
+
+/*
+ * æå®ã®ã­ã£ã©ã¯ã¿ã¾ã§ã¹ã­ãã
+ */
+static bool skip_char(char** s, char const c)
+{
+	char* p;
+
+	p = *s;
+	while(*p != c){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	if(*p){
+		p++;
+		*s = p;
+		return false;
+	}
+	else{
+		*s = p;
+		return true;
+	}
+}
+
+/*
+ * ã¹ãã¼ã¹ã¾ãã¯ã¿ããã¹ã­ãããã
+ */
+static bool skip_space(char** s)
+{
+	char* p;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	*s = p;
+	if(*p)
+		return false;
+	else
+		return true;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.vcxproj
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.vcxproj	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900offset/tlcs900offset.vcxproj	(revision 26)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <SccProjectName />
+    <SccLocalPath />
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Release/tlcs900offset.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </ClCompile>
+    <Link>
+      <OutputFile>.\Release/tlcs900offset.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <ProgramDatabaseFile>.\Release/tlcs900offset.pdb</ProgramDatabaseFile>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <Midl>
+      <TypeLibraryName>.\Release/tlcs900offset.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <PostBuildEvent>
+      <Command>copy Release\tlcs900offset.exe ..\</Command>
+    </PostBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0411</Culture>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Debug/tlcs900offset.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>.\Debug/tlcs900offset.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>.\Debug/tlcs900offset.pdb</ProgramDatabaseFile>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <Midl>
+      <TypeLibraryName>.\Debug/tlcs900offset.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <PostBuildEvent>
+      <Command>copy Debug\tlcs900offset.exe ..\</Command>
+    </PostBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0411</Culture>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="tlcs900offset.cpp">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.cpp	(revision 26)
@@ -0,0 +1,544 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *  Copyright (C) 2003-2004 by Ryosuke Takeuchi
+ *              Platform Development Center RIOCH COMPANY,LTD. JAPAN
+ *  Copyright (C) 2006-2010 by Witz Corporation, JAPAN
+ * 
+ *  The above copyright holders grant permission gratis to use,
+ *  duplicate, modify, or redistribute (hereafter called use) this
+ *  software (including the one made by modifying this software),
+ *  provided that the following four conditions (1) through (4) are
+ *  satisfied.
+ * 
+ *  (1) When this software is used in the form of source code, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be retained in the source code without modification.
+ * 
+ *  (2) When this software is redistributed in the forms usable for the
+ *      development of other software, such as in library form, the above
+ *      copyright notice, this use conditions, and the disclaimer shown
+ *      below must be shown without modification in the document provided
+ *      with the redistributed software, such as the user manual.
+ * 
+ *  (3) When this software is redistributed in the forms unusable for the
+ *      development of other software, such as the case when the software
+ *      is embedded in a piece of equipment, either of the following two
+ *      conditions must be satisfied:
+ * 
+ *    (a) The above copyright notice, this use conditions, and the
+ *           disclaimer shown below must be shown without modification in
+ *        the document provided with the redistributed software, such as
+ *        the user manual.
+ * 
+ *    (b) How the software is to be redistributed must be reported to the
+ *        TOPPERS Project according to the procedure described
+ *        separately.
+ * 
+ *  (4) The above copyright holders and the TOPPERS Project are exempt
+ *      from responsibility for any type of damage directly or indirectly
+ *      caused from the use of this software and are indemnified by any
+ *      users or end users of this software from any and all causes of
+ *      action whatsoever.
+ * 
+ *  THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
+ *  THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
+ *  PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
+ *  TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
+ *  INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»
+ *  åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½æ¨©
+ *      è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ã¹
+ *      ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ã
+ *      ãã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿
+ *      è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ç¨
+ *      ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
+ *        æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«å ±
+ *        åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
+ *      ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼ã¾ãï¼
+ *      æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
+ *      ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ãã
+ *  ã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
+ *  ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨
+ *  ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² 
+ *  ããªãï¼
+ * 
+ *  @(#) $Id: tlcs900vec.cpp,v 1.4 2007/04/17 05:08:07 honda Exp $
+ */
+// tlcs900vec.cpp : ã³ã³ã½ã¼ã« ã¢ããªã±ã¼ã·ã§ã³ç¨ã®ã¨ã³ããª ãã¤ã³ãã®å®ç¾©
+//
+//------------------------------------------------------------------------------
+// å¤æ´å±¥æ­´
+//version yyyy/mm/dd æ¦è¦
+//---------- -------------------------------------------------------------------
+// 01.00   2004/01/02 åç
+// 01.01   2004/08/06 FIX VECTOR ãåºå®å¤ã§æã£ãã®ããã©ã¡ã¿ã«ã¦å¤æ´å¯è½ã¨ãã
+//                    EXCINIB ã®é
+åãï¼ã®å ´åã®åé¡ä¿®æ­£ã                      
+//                    M30262F8FGã®çææãå²ãè¾¼ã¿ãã¯ã¿ã1è¡å¤ãä¸å
+·åä¿®æ­£ã
+//                    M30620FCAFPã®JSP1.3ç¨ãã¯ã¿çæã³ã¼ããæ¡ä»¶ã³ã³ãã¤ã«åã
+//----------------------------------------------------------------------------- 
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define	MAX_INCLUDE		8
+#define	MAX_INT			64
+#define	MAX_EXC			9
+#define	MAX_VEC			MAX_INT
+#define	BUF_SIZE		512
+#define	STR_SIZE		128
+
+#define	INT_STATE		0
+#define	EXC_STATE		1
+#define	NORMAL_STATE	2
+
+struct VEC {
+	int		no;
+	char	no_name[STR_SIZE];
+	char	no_label[STR_SIZE];
+};
+
+static char const default_input_file[] = "kernel_cfg.i";
+static char const default_output_file[] = "tlcs900vec.inc";
+static char const default_unused_int[] = "unused_interrupt";
+
+//startåºåè¨­å®
+static char const start_extern[] ="\n\textern large _start";
+static char const start_vector[] = "\tdl\t_start\t; 01  0xffff00";
+static char const lf[] = "\n";
+
+static char input_file[STR_SIZE];
+static char output_file[STR_SIZE];
+static char include_file[MAX_INCLUDE][STR_SIZE];
+static int  num_include = 0;
+static int  num_vec[2] = {0, 0};
+static int  max_int    = 47; 
+static int  num_nodec = 0;
+static int  vec_state = NORMAL_STATE;
+static struct VEC vec_table[2][MAX_VEC];
+static char unused_vec[2][STR_SIZE];
+
+static void set_TLSS_TLCS900(FILE* pfo, int m);
+static void set_global(FILE* pfo, char const * t);
+static void set_global_function(FILE* pfo, char const * t);
+static void set_vector(FILE* pfo, int kind, int no);
+static bool test_string(char** s, char const * t);
+static bool skip_space(char** s);
+static bool skip_char(char** s, char const c);
+
+int main(int argc, char* argv[])
+{
+	FILE* pfi;
+	FILE* pfo;
+	FILE* pfw;
+	char  buf[BUF_SIZE];
+	struct VEC *v;
+	int   i, j, k;
+	bool  cnv, dec;
+	char* s;
+	char* p;
+	char* q;
+	char  c;
+
+	strcpy(input_file, default_input_file);
+	strcpy(output_file, default_output_file);
+	strcpy(unused_vec[0], default_unused_int);
+	strcpy(unused_vec[1], default_unused_int);
+
+	//ãªãã·ã§ã³æå®
+	for(i = 1 ; i < argc ; i++){
+		s = argv[i];
+		if(*s++ == '-'){
+			c = *s++;
+			skip_space(&s);
+			switch(c){
+			case 'O':		// ã¢ã¦ãããããã¡ã¤ã«ã®è¨­å®
+			case 'o':
+				strcpy(output_file, s);
+				break;
+			case 'R':		// ã¤ã³ããããã¡ã¤ã«ã®è¨­å®
+			case 'r':
+				strcpy(input_file, s);
+				break;
+			default:
+				printf("m16cvec -R<input_file> -O<output_file> -I<include_file> -M<mode> -F<fixvector>\n");
+				break;
+			}
+		}
+	}
+	printf("input file   = %s\n", input_file);
+	printf("output file  = %s\n", output_file);
+	if((pfi = fopen(input_file, "r")) == NULL){
+		fprintf(stderr, "can't open input file !");
+		exit(1);
+	}
+	if((pfo = fopen(output_file, "w")) == NULL){
+		fclose(pfi);
+		fprintf(stderr, "can't open output file !");
+		exit(1);
+	}
+	for(i = 0 ; i < num_include ; i++){
+		printf("include file = %s\n", include_file[i]);
+	}
+	//ãã¡ã¤ã«å
+¥å
+	for(;;){
+		if((fgets(buf, BUF_SIZE, pfi)) == NULL)
+			break;
+		s = buf;
+		switch(vec_state){
+		case INT_STATE:
+		case EXC_STATE:
+			//å
+¥åæã®ææ«ã¾ã§ããæã®å¦ç
+			if(test_string(&s, ";"))
+				vec_state = NORMAL_STATE;
+			//æå­åæ½åºéå§
+			else if(test_string(&s, "{")){
+				v = &vec_table[vec_state][num_vec[vec_state]];
+				p = &v->no_name[0];
+				if(skip_space(&s))
+					continue;
+				dec = true;
+
+				while(*s != ','){
+					if(*s == 0)
+						continue;
+					//(,),spaceã®å ´åã¯æ¬¡ã®ãã¤ã³ã¿ãé²ãã
+					if(*s == '(' || *s == ')'|| *s <= ' '){
+						s++;
+						continue;
+					}
+					//sã[0-9]ã§ãªãå ´å
+					if(*s < '0' || *s > '9')
+						dec = false;
+					*p++ = *s++;
+				}
+				s++;
+				*p++ = 0;
+				if(dec)
+					v->no = atoi(v->no_name);
+				else{
+					v->no = -1;
+					num_nodec++;
+				}
+				p = &v->no_label[0];
+
+				if(skip_char(&s, ','))
+					continue;
+
+				test_string(&s, "(FP)");
+
+				if(skip_space(&s))
+					continue;
+				while(*s != ')' && *s != ',' && *s > ' ' && *s != '}'){
+					*p++ = *s++;
+				}
+				*p++ = 0;
+				num_vec[vec_state]++;
+
+				printf("%s\n",v->no_label);
+			}
+			else
+				continue;
+			break;
+		default:
+			if(!test_string(&s, "const"))
+				continue;
+			if(test_string(&s, "INHINIB"))
+				vec_state = INT_STATE;
+			else if(test_string(&s, "EXCINIB"))
+				vec_state = EXC_STATE;
+			break;
+		}
+	}
+	do{
+		cnv = false;
+		for(i = 0 ; i < num_include ; i++){
+			if((pfw = fopen(include_file[i], "r")) != NULL){
+				for(;;){
+					if((fgets(buf, BUF_SIZE, pfw)) == NULL)
+						break;
+					s = buf;
+					if(!test_string(&s, "#define"))
+						continue;
+					if(skip_space(&s))
+						continue;
+					for(k = 0 ; k < 2 ; k++){
+						for(j = 0 ; j < num_vec[k] ; j++){
+							v = &vec_table[k][j];
+							if(v->no < 0){
+								p = s;
+								dec = true;
+								if(test_string(&p, v->no_name)){
+									q = &v->no_name[0];
+									if(!skip_space(&p)){
+										while(*p > ' '){
+											if(*p == '(' || *p == ')'){
+												p++;
+												continue;
+											}
+											if(*p < '0' || *p > '9')
+												dec = false;
+											*q++ = *p++;
+										}
+									}
+									*q++ = 0;
+								}
+								else
+									dec = false;
+								if(dec){
+									v->no = atoi(v->no_name);
+									num_nodec--;
+								}
+							}
+						}
+					}
+				}
+				fclose(pfw);
+			}
+			else
+				printf("open error %s !!\n", include_file[i]);
+		}
+	}while(cnv);
+
+	for(i = 0 ; i < num_vec[EXC_STATE] ; i++){
+		v = &vec_table[EXC_STATE][i];
+		if(v->no >= 32 && v->no < MAX_INT){
+			vec_table[INT_STATE][num_vec[INT_STATE]] = vec_table[EXC_STATE][i];
+			num_vec[INT_STATE]++;
+			for(j = i ; j < (num_vec[EXC_STATE]-1) ; j++)
+				vec_table[EXC_STATE][j] = vec_table[EXC_STATE][j+1];
+			num_vec[EXC_STATE]--;
+		}
+	}
+	for(j = 0 ; j < num_vec[INT_STATE] ; j++){
+		v = &vec_table[INT_STATE][j];
+		if(v->no >= MAX_INT)
+			strcpy(unused_vec[INT_STATE], v->no_label);
+		else if(max_int < v->no)
+			max_int = v->no;
+	}
+	for(j = 0 ; j < num_vec[EXC_STATE] ; j++){
+		v = &vec_table[EXC_STATE][j];
+		if((v->no >= MAX_EXC && v->no < 32) || v->no >= MAX_INT)
+			strcpy(unused_vec[EXC_STATE], v->no_label);
+	}
+	//extern startãåºå
+	fputs(start_extern, pfo);
+
+	if(num_nodec > 0)
+		printf("%dã®ã¨ã¯ã»ãã·ã§ã³çªå·ãç¹å®ã§ãã¾ããï¼\n", num_nodec);
+	else{
+		fputs(lf, pfo);
+		for(i = 0 ; i < 2 ; i++){
+			for(j = 0 ; j < num_vec[i] ; j++)
+				set_global_function(pfo, vec_table[i][j].no_label);
+		}
+		if(!strcmp(default_unused_int, unused_vec[0]))
+			set_global(pfo, unused_vec[0]);
+		else if(!strcmp(default_unused_int, unused_vec[1]))
+			set_global(pfo, unused_vec[1]);
+			set_TLSS_TLCS900(pfo, max_int);
+
+	}
+	fclose(pfi);
+	fclose(pfo);
+	return 0;
+}
+
+static void set_TLSS_TLCS900(FILE* pfo, int m)
+{
+	int iVec_num;
+
+	fputs("\nf_vecter section code large align=4", pfo);
+	fputs(lf, pfo);
+
+	for(iVec_num = 0 ; iVec_num < MAX_INT ; iVec_num++){
+		if(iVec_num == 0){
+			fputs(start_vector, pfo);
+			fputs(lf, pfo);}
+		else
+			//ãã®é¨åã§è¨­å®
+			set_vector(pfo, INT_STATE, iVec_num+1);
+	}
+}
+
+/*
+ * extern å®£è¨ããã(ååã®åã«ã¢ã³ãã¼ãã¼ãä¸è¦ãªãã®)
+ */
+static void set_global(FILE* pfo, char const * t)
+{
+	fputs("\textern large ", pfo);	
+	fputs(t, pfo);
+	fputs(lf, pfo);
+}
+/*
+ * extern å®£è¨ããã(ååã®åã«ã¢ã³ãã¼ãã¼ãå¿
+è¦ãªãã®)
+ */
+static void set_global_function(FILE* pfo, char const * t)
+{
+	fputs("\textern large _", pfo);	
+	fputs(t, pfo);
+	fputs(lf, pfo);
+}
+
+/*
+ * ãã¯ãã«ãè¨­å®ãã
+ */
+static void set_vector(FILE* pfo, int kind, int no)
+{
+	struct VEC* v = &vec_table[kind][0];
+	int  vec_cnt;
+	int  address;
+	int  address_high;
+	int  address_low;
+	char comment[15];
+	char comment_high[2];
+	char comment_low[2];
+
+
+	address = (no - 1) * 4;
+	address_high = address/16;
+	address_low = address%16;
+
+	sprintf(comment_high, "%x", address_high);
+	sprintf(comment_low, "%x", address_low);
+
+	fputs("\tdl\t", pfo);
+
+	comment[0] = '\t';
+	comment[1] = ';';
+	comment[2] = ' ';
+	comment[3] = (no/10)+'0';
+	comment[4] = (no%10)+'0';
+	comment[5] = ' ';
+	comment[6] = '0';
+	comment[7] = 'x';
+	comment[8] = 'f';
+	comment[9] = 'f';
+	comment[10] = 'f';
+	comment[11] = 'f';
+	comment[12] = comment_high[0];
+	comment[13] = comment_low[0];
+	comment[14] = 0;
+
+	for(vec_cnt = 0 ; vec_cnt < num_vec[kind] ; vec_cnt++, v++){
+		if(v->no == no){
+			fputs("_", pfo);
+			fputs(v->no_label, pfo);
+			fputs(comment, pfo);
+			fputs(lf, pfo);
+			return;
+		}
+	}
+	//unused interrupt
+	fputs(unused_vec[kind], pfo);
+	fputs(comment, pfo);
+	fputs(lf, pfo);
+}
+
+
+/*
+ * æå­åãæ¯è¼ãã¦åä¸ãªãã°TURE
+ */
+static bool test_string(char** s, char const *t)
+{
+	char*  p;
+	char   c;
+
+	p = *s;
+	while(*p <= ' '){
+		if(*p == 0)
+			return false;
+		p++;
+	}
+	while((c = *p++) != 0){
+		if(c != *t++)
+			break;
+		if(*t == 0){
+			*s = p;
+			return true;
+		}
+	}
+	return false;
+}
+
+/*
+ * æå®ã®ã­ã£ã©ã¯ã¿ã¾ã§ã¹ã­ãã
+ */
+static bool skip_char(char** s, char const c)
+{
+	char* p;
+
+	p = *s;
+	while(*p != c){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	if(*p){
+		p++;
+		*s = p;
+		return false;
+	}
+	else{
+		*s = p;
+		return true;
+	}
+}
+
+/*
+ * ã¹ãã¼ã¹ã¾ãã¯ã¿ããã¹ã­ãããã
+ */
+static bool skip_space(char** s)
+{
+	char* p;
+
+	p = *s;
+	while(*p <= ' ' ){
+		if(*p == 0)
+			break;
+		p++;
+	}
+	*s = p;
+	if(*p)
+		return false;
+	else
+		return true;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.vcxproj
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.vcxproj	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/utils/tlcs900-toshiba/tlcs900vec/tlcs900vec.vcxproj	(revision 26)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <SccProjectName />
+    <SccLocalPath />
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Debug/tlcs900vec.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>.\Debug/tlcs900vec.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>.\Debug/tlcs900vec.pdb</ProgramDatabaseFile>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <Midl>
+      <TypeLibraryName>.\Debug/tlcs900vec.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <PostBuildEvent>
+      <Command>copy Debug\tlcs900vec.exe ..\</Command>
+    </PostBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0411</Culture>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Release/tlcs900vec.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </ClCompile>
+    <Link>
+      <OutputFile>.\Release/tlcs900vec.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <ProgramDatabaseFile>.\Release/tlcs900vec.pdb</ProgramDatabaseFile>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <Midl>
+      <TypeLibraryName>.\Release/tlcs900vec.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0411</Culture>
+    </ResourceCompile>
+    <PostBuildEvent>
+      <Command>copy Release\tlcs900vec.exe ..\</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="tlcs900vec.cpp">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.cpp	(revision 26)
@@ -0,0 +1,490 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: cmdwatch.cpp,v 1.3 2003/06/30 15:51:47 takayuki Exp $
+ */
+
+// cmdwatch.cpp : ã³ã³ã½ã¼ã« ã¢ããªã±ã¼ã·ã§ã³ã®ã¨ã³ããª ãã¤ã³ããå®ç¾©ãã¾ãã
+//
+
+#include <stdio.h>
+#include <stdarg.h>
+
+#include <windows.h>
+#include <objbase.h>
+#include <unknwn.h>
+#include <ocidl.h>
+
+#include <conio.h>
+
+#pragma warning(disable:4200) //éæ¨æºã®æ¡å¼µæ©è½ : é·ã0ã®é
+åãæã¤æ§é ä½
+
+#define TMAX_LOGINFO	8
+
+typedef	unsigned int BITMASK;
+typedef struct {
+		unsigned int	logtype;
+		unsigned int	logtim;
+		unsigned int	valid;
+		unsigned int	bufsz;
+		unsigned char	buf[];
+	} DBIFLOG;
+
+#define DBIFLOG_BUFMARGIN ((unsigned int)(&((DBIFLOG *)0)->buf))
+
+/*
+ *  ã­ã°æ
+å ±ã®éè¦åº¦ã®å®ç¾©
+ */
+#define LOG_EMERG	0		/* ã·ã£ãããã¦ã³ã«å¤ããã¨ã©ã¼ */
+#define LOG_ALERT	1
+#define LOG_CRIT	2
+#define LOG_ERR		3		/* ã·ã¹ãã ã¨ã©ã¼ */
+#define LOG_WARNING	4		/* è­¦åã¡ãã»ã¼ã¸ */
+#define LOG_NOTICE	5
+#define LOG_INFO	6
+#define LOG_DEBUG	7		/* ãããã°ç¨ã¡ãã»ã¼ã¸ */
+
+/*
+ *  ã­ã°æ
+å ±ã®éè¦åº¦ã®ãããããããä½ãããã®ãã¯ã­
+ */
+#define LOG_MASK(prio)	(1 << (prio))
+#define LOG_UPTO(prio)	((1 << ((prio) + 1)) - 1)
+
+/*
+ *  ã­ã°æ
+å ±ã®ç¨®å¥ã®å®ç¾©
+ */
+#define LOG_TYP_INTERRUPT	0x01	/* å²è¾¼ã¿ãã³ãã© */
+#define LOG_TYP_ISR			0x02	/* å²è¾¼ã¿ãµã¼ãã¹ãã³ãã© */
+#define LOG_TYP_TIMERHDR	0x03	/* ã¿ã¤ã ã¤ãã³ããã³ãã© */
+#define LOG_TYP_CPUEXC		0x04	/* CPUä¾å¤ãã³ãã© */
+#define LOG_TYP_TSKEXC		0x05	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+#define LOG_TYP_TSKSTAT		0x06	/* ã¿ã¹ã¯ç¶æ
+å¤å */
+#define LOG_TYP_DISPATCH	0x07	/* ãã£ã¹ãããã£ */
+#define LOG_TYP_SVC			0x08	/* ãµã¼ãã¹ã³ã¼ã« */
+#define LOG_TYP_COMMENT		0x09	/* ã³ã¡ã³ãï¼æå­åã®ã¿ã®ã­ã°ï¼ */
+#define LOG_ENTER			0x00	/* å
+¥å£ï¼éå§ */
+#define LOG_LEAVE			0x80	/* åºå£ï¼çµäº */
+
+
+
+static FILE * destination = NULL;
+
+static const char * apiname[] = 
+{ "cre_tsk","del_tsk","act_tsk","can_act","sta_tsk","ext_tsk","exd_tsk","ter_tsk","chg_pri","get_pri","ref_tsk","ref_tst","slp_tsk","tslp_tsk","wup_tsk","can_wup","rel_wai","sus_tsk","rsm_tsk","frsm_tsk","dly_tsk","","def_tex","ras_tex","dis_tex","ena_tex","sns_tex","ref_tex","cre_sem","del_sem","sig_sem","","wai_sem","pol_sem","twai_sem","ref_sem","cre_flg","del_flg","set_flg","clr_flg","wai_flg","pol_flg","twai_flg","ref_flg","cre_dtq","del_dtq","","","snd_dtq","psnd_dtq","tsnd_dtq","fsnd_dtq","rcv_dtq","prcv_dtq","trcv_dtq","ref_dtq","cre_mbx","del_mbx","snd_mbx","","rcv_mbx","prcv_mbx","trcv_mbx","ref_mbx","cre_mpf","del_mpf","rel_mpf","","get_mpf","pget_mpf","tget_mpf","ref_mpf","set_tim","get_tim","cre_cyc","del_cyc","sta_cyc","stp_cyc","ref_cyc","","rot_rdq","get_tid","","","loc_cpu","unl_cpu","dis_dsp","ena_dsp","sns_ctx","sns_loc","sns_dsp","sns_dpn","ref_sys","","","","def_inh","cre_isr","del_isr","ref_isr","dis_int","ena_int","chg_ixx","get_ixx","def_svc","def_exc","ref_cfg","ref_ver","iact_tsk","iwup_tsk","irel_wai","iras_tex","isig_sem","iset_flg","ipsnd_dtq","ifsnd_dtq","irot_rdq","iget_tid","iloc_cpu","iunl_cpu","isig_tim","","","","cre_mtx","del_mtx","unl_mtx","","loc_mtx","ploc_mtx","tloc_mtx","ref_mtx","cre_mbf","del_mbf","","","snd_mbf","psnd_mbf","tsnd_mbf" };
+
+
+
+void Printf(const char * format, ... )
+{
+	va_list vl;
+	char buffer[1024];
+	int i;
+
+	va_start(vl,format);
+	i = ::vsprintf(buffer, format, vl);
+	if(destination != NULL)
+		fwrite(buffer, i, 1, destination);
+	fwrite(buffer, i, 1, stdout);
+}
+
+const char * get_apiname(int fncd)
+{	return apiname[-5 - fncd];	};
+
+void print_log(DBIFLOG * log)
+{
+	int i;
+
+	Printf("%10d ms : ",log->logtim);
+	switch(log->logtype)
+	{
+	case LOG_TYP_SVC:
+		Printf("[SVC|ENT] %s (",get_apiname(*(int*)log->buf));
+
+		for(i=0;i < *((int*)log->buf+1);i++)
+		{
+			if(i!=0)
+				Printf(", ");
+			Printf("0x%08x",*((int*)log->buf+2+i));
+		}
+		Printf(")\n");
+		break;
+
+	case LOG_TYP_SVC|LOG_LEAVE:
+		Printf("[SVC|LEA] %s",get_apiname(*(int*)log->buf));
+		if(*((int*)log->buf+1) > 0)
+			Printf(" (ercd = 0x%08x)",*((int*)log->buf+2));
+		Printf("\n");
+		break;
+
+	case LOG_TYP_TSKSTAT:
+		Printf("[TSKSTAT] Tsk:%d ",*(int*)log->buf);
+		switch(*((int*)log->buf+1))
+		{
+		case 0x01:
+		case 0x02:
+			Printf("<Ready>\n",*(int*)log->buf);
+			break;
+		case 0x04:
+		case 0x0c:
+			if(*((int*)log->buf+1) == 0x04)
+				Printf("<Waiting : ");
+			else
+				Printf("<Wait-Suspend : ");
+
+			switch(*((int*)log->buf+2))
+			{
+			case 0x1:
+				Printf("Sleep>\n");
+				break;
+			case 0x2:
+				Printf("Delay>\n");
+				break;
+			case 0x4:
+				Printf("Semaphore (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x8:
+				Printf("Eventflag (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x10:
+				Printf("Dataqueue[send] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x20:
+				Printf("Dataqueue[receive] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x40:
+				Printf("Mailbox (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x80:
+				Printf("Mutex (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x100:
+				Printf("MessageBuffer[send] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x200:
+				Printf("MessageBuffer[receive] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x400:
+				Printf("Rendezvous[call] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x800:
+				Printf("Rendezvous[accept] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x1000:
+				Printf("Rendezvous[completion] (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x2000:
+				Printf("Fixed Memorypool (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			case 0x4000:
+				Printf("Variable Memorypool (id=%d)>\n",*((int*)log->buf+3));
+				break;
+			default:
+				Printf(" complex [%04x]>\n", *((int*)log->buf+2));
+				break;
+			}
+			break;
+
+		case 0x08:
+			Printf("<Suspended>\n");
+			break;
+		case 0x10:
+			Printf("<Dormant>\n");
+			break;
+		default:
+			Printf("<Unknown : %d>",*(int*)log->buf);
+			break;
+		}
+		break;
+
+	case LOG_TYP_TSKEXC:
+		Printf("[TEX|ENT] Tsk:%d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_TSKEXC | LOG_LEAVE:
+		Printf("[TEX|LEA] Tsk:%d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_DISPATCH:
+		if(*((int*)log->buf+1) == 0)
+			Printf("[DSP|ENT] Tsk:%d Task-context\n",*(int*)log->buf);
+		else
+			Printf("[DSP|ENT] Tsk:%d Nontask-context\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_DISPATCH | LOG_LEAVE:
+		Printf("[DSP|LEA] Tsk:%d\n",*(int*)log->buf);		
+		break;
+
+	case LOG_TYP_COMMENT:
+		*((char *)log->buf + log->bufsz -1) = '\x0';
+		Printf("[COMMENT](%d) : <%s>\n",*(int *)log->buf,log->buf+sizeof(int));
+		break;
+	
+	case LOG_TYP_INTERRUPT:
+		Printf("[INT|ENT] %d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_INTERRUPT | LOG_LEAVE:
+		Printf("[INT|LEA] %d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_CPUEXC:
+		Printf("[CEX|ENT] Tsk:%d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_CPUEXC | LOG_LEAVE:
+		Printf("[CEX|LEA] Tsk:%d\n",*(int*)log->buf);
+		break;
+
+	case LOG_TYP_TIMERHDR:
+	case LOG_TYP_TIMERHDR | LOG_LEAVE:
+		if((log->logtype & LOG_LEAVE) != 0)
+			Printf("[INT|LEA]");
+		else
+			Printf("[INT|ENT]");
+
+		if( *(int*)log->buf == 0x8d )
+			Printf(" cyclic ");
+		else
+			Printf(" OBJ(%02x) ", *(int*)log->buf);
+
+		Printf(" ID:%d  EXINF:0x%08x\n",*((int*)log->buf+1), *((int*)log->buf+2));
+		break;
+
+	default:
+		Printf("[UNKNOWN] : 0x%x\n",log->logtype);
+	};
+}
+
+
+
+
+const CLSID CLSID_KernelLog = {0x4BD327FC,0x9E4A,0x4A5D,{0x95,0x03,0x27,0xC9,0x79,0xA8,0xE8,0x02}};
+
+MIDL_INTERFACE("395F900A-AC7E-4A78-9BC1-EE5EF76254FF")
+IKernelLog : public IUnknown
+{
+public:
+};
+
+
+struct __declspec(uuid("35E35399-55ED-45FC-8F0B-4A1BC6CEA3F0")) _IKernelLogEvents;
+
+class IKernelLogEvents : public IUnknown
+{
+public:
+	STDMETHOD(QueryInterface)(REFIID, void **);
+	STDMETHOD_(ULONG,AddRef)();
+	STDMETHOD_(ULONG,Release)();
+    virtual HRESULT STDMETHODCALLTYPE OnKernelStart(void);
+    virtual HRESULT STDMETHODCALLTYPE OnKernelExit(void);
+    virtual HRESULT STDMETHODCALLTYPE OnLogEvent(long sz, byte __RPC_FAR data[]);
+
+	IKernelLogEvents(void)  { RefCount = 0; };
+//	virtual ~IKernelLogEvents(void) { 	if(destination != NULL) fclose(destination); };
+
+	LONG RefCount;
+};
+
+HRESULT IKernelLogEvents::QueryInterface(REFIID riid, void ** ppvObject)
+{
+	if( riid == __uuidof(_IKernelLogEvents) || riid == __uuidof(IUnknown) )
+	{
+		*ppvObject = this;
+		::InterlockedIncrement(&RefCount);
+		return S_OK;
+	}
+
+	return E_NOINTERFACE;
+}
+
+ULONG IKernelLogEvents::AddRef(void)
+{	return ::InterlockedIncrement(&RefCount);	}
+
+ULONG IKernelLogEvents::Release(void)
+{
+	if( ::InterlockedDecrement(&RefCount) == 0 )
+	{
+		delete this;
+		return 0;
+	}
+	return RefCount;
+}
+
+HRESULT IKernelLogEvents::OnKernelExit(void)
+{
+	Printf("OnKernelExit at \n");
+
+	if(destination != NULL)
+	{
+		fclose(destination);
+		destination = 0;
+	}
+	return S_OK;
+}
+
+HRESULT IKernelLogEvents::OnKernelStart(void)
+{
+	char buffer[256];
+	SYSTEMTIME systim;
+
+	if(destination != NULL)
+		fclose(destination);
+
+	::GetLocalTime(&systim);
+	::wsprintf(buffer, "kernel-log-%04d%02d%02d-%02d%02d%02d.txt", systim.wYear, systim.wMonth, systim.wDay, systim.wHour, systim.wMinute, systim.wSecond);
+	destination = fopen(buffer, "wt");
+
+	Printf("OnKernelStart\n");
+	return S_OK;
+}
+
+HRESULT IKernelLogEvents::OnLogEvent(long sz, byte data [])
+{
+	print_log((DBIFLOG *)data);
+	return S_OK;
+}
+
+
+	//ã³ãã¯ã·ã§ã³ãã¤ã³ãã¸ã®æ¥ç¶
+bool Advise(IUnknown * container, REFIID iid, IUnknown * sink, DWORD * cookie, IConnectionPoint ** pcp = NULL)
+{
+	IConnectionPointContainer * cpc;
+	IConnectionPoint * cp;
+
+	HRESULT result;
+
+	if(pcp == NULL)
+		pcp = &cp;
+
+	container->QueryInterface(IID_IConnectionPointContainer, (void **)&cpc);
+	if(cpc == 0)
+		return false;
+
+	cpc->FindConnectionPoint(iid, pcp);
+	cpc->Release();
+	if(*pcp == 0)
+		return false;
+
+	if(FAILED(result = (*pcp)->Advise(sink, cookie)))
+		return false;
+
+	if(pcp == &cp)
+		cp->Release();
+	return true;
+}
+
+DWORD tmain_threadid;
+
+BOOL WINAPI HandlerRoutine(DWORD dwCtrlType)
+{
+	switch(dwCtrlType)
+	{
+	case CTRL_C_EVENT:
+		::PostThreadMessage(tmain_threadid,WM_QUIT,0,0);
+		break;
+	default:
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
+int main(int argc, char * argv[])
+{
+	IKernelLog *		pKernelLog;
+	IKernelLogEvents *	psKernelLogEvents;
+	IConnectionPoint *	cp;
+	DWORD				cookie;
+	MSG msg;
+
+	IKernelLogEvents a;
+
+	::CoInitialize(NULL);
+
+	destination = 0;
+	tmain_threadid = ::GetCurrentThreadId();
+
+	if(!FAILED(::CoCreateInstance(CLSID_KernelLog, NULL, CLSCTX_ALL, __uuidof(IKernelLog), (void **)&pKernelLog)))
+	{
+		cp = NULL;
+		psKernelLogEvents = new IKernelLogEvents;
+
+		if(Advise(pKernelLog, __uuidof(_IKernelLogEvents), psKernelLogEvents, &cookie, &cp))
+		{
+			::SetConsoleCtrlHandler(HandlerRoutine, TRUE);
+			while(::GetMessage(&msg, NULL, 0, 0) != 0)
+			{   ::DispatchMessage(&msg);   }
+			::SetConsoleCtrlHandler(HandlerRoutine, FALSE);
+			
+			cp->Unadvise(cookie);
+		}
+
+		delete psKernelLogEvents;
+
+		if(pKernelLog != NULL)
+			pKernelLog->Release();
+	}
+
+	if(destination != NULL)
+	{
+		Printf("\n\nSuspended by Ctrl-C event occursion.\n");
+		fclose(destination);
+	}
+
+	::CoUninitialize();
+	return 0;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsp	(revision 26)
@@ -0,0 +1,133 @@
+# Microsoft Developer Studio Project File - Name="cmdwatch" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=cmdwatch - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "cmdwatch.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "cmdwatch.mak" CFG="cmdwatch - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "cmdwatch - Win32 Release" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE "cmdwatch - Win32 Debug" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE "cmdwatch - Win32 Unicode Release MinDependency" ("Win32 (x86) Console Application" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "cmdwatch - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "cmdwatch - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ELSEIF  "$(CFG)" == "cmdwatch - Win32 Unicode Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "cmdwatch___Win32_Unicode_Release_MinDependency"
+# PROP BASE Intermediate_Dir "cmdwatch___Win32_Unicode_Release_MinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "cmdwatch___Win32_Unicode_Release_MinDependency"
+# PROP Intermediate_Dir "cmdwatch___Win32_Unicode_Release_MinDependency"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ENDIF 
+
+# Begin Target
+
+# Name "cmdwatch - Win32 Release"
+# Name "cmdwatch - Win32 Debug"
+# Name "cmdwatch - Win32 Unicode Release MinDependency"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\cmdwatch.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\stdafx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/cmdwatch.dsw	(revision 26)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+
+###############################################################################
+
+Project: "cmdwatch"=.\cmdwatch.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.cpp	(revision 26)
@@ -0,0 +1,63 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.cpp,v 1.2 2003/06/30 15:51:47 takayuki Exp $
+ */
+
+// stdafx.cpp : æ¨æºã¤ã³ã¯ã«ã¼ãã®ã¿ãå«ãã½ã¼ã¹ ãã¡ã¤ã«ã§ãã
+// cmdwatch.pch ã¯ãããªã³ã³ãã¤ã«æ¸ã¿ãããã¼ã«ãªãã¾ãã
+//  stdafx.obj ã«ã¯ããªã³ã³ãã¤ã«åæ
+å ±ãå«ã¾ãã¾ãã
+
+#include "stdafx.h"
+
+// TODO: ãã®ãã¡ã¤ã«ã§ã¯ãªããSTDAFX.H ã§å¿
+è¦ãª
+// è¿½å ãããã¼ãåç
+§ãã¦ãã ããã
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/cmdwatch/stdafx.h	(revision 26)
@@ -0,0 +1,67 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.h,v 1.2 2003/06/30 15:51:47 takayuki Exp $
+ */
+
+// stdafx.h : æ¨æºã®ã·ã¹ãã  ã¤ã³ã¯ã«ã¼ã ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã ãã¡ã¤ã«ãã¾ãã¯
+// åç
+§åæ°ãå¤ãããã¤ãã¾ãå¤æ´ãããªãããã­ã¸ã§ã¯ãå°ç¨ã®ã¤ã³ã¯ã«ã¼ã ãã¡ã¤ã«
+// ãè¨è¿°ãã¾ãã
+//
+
+#pragma once
+
+#define WIN32_LEAN_AND_MEAN		// Windows ãããã¼ããä½¿ç¨ããã¦ããªãé¨åãé¤å¤ãã¾ãã
+#include <stdio.h>
+#include <tchar.h>
+
+// TODO: ãã­ã°ã©ã ã«å¿
+è¦ãªè¿½å ãããã¼ãããã§åç
+§ãã¦ãã ããã
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.cpp	(revision 26)
@@ -0,0 +1,119 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: device.cpp,v 1.4 2003/12/24 07:37:57 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "resource.h"
+#include <initguid.h>
+#include "device.h"
+
+#include "device_i.c"
+#include "devicecontrol.h"
+
+
+CComModule _Module;
+
+BEGIN_OBJECT_MAP(ObjectMap)
+OBJECT_ENTRY(CLSID_DeviceControl, CDeviceControl)
+END_OBJECT_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// DLL ã¨ã³ããª ãã¤ã³ã
+
+extern "C"
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
+{
+    if (dwReason == DLL_PROCESS_ATTACH)
+    {
+        _Module.Init(ObjectMap, hInstance, &LIBID_ATLDEVICELib);
+        DisableThreadLibraryCalls(hInstance);
+    }
+    else if (dwReason == DLL_PROCESS_DETACH)
+        _Module.Term();
+    return TRUE;    // ok
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DLL ã OLE ã«ãã£ã¦ã¢ã³ã­ã¼ãå¯è½ãã©ãããèª¿ã¹ãããã«ä½¿ç¨ããã¾ã
+
+STDAPI DllCanUnloadNow(void)
+{
+    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// è¦æ±ãããåã®ãªãã¸ã§ã¯ããä½æããããã«ã¯ã©ã¹ ãã¡ã¯ããªãè¿ãã¾ã
+
+STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+{
+    return _Module.GetClassObject(rclsid, riid, ppv);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllRegisterServer - ã·ã¹ãã  ã¬ã¸ã¹ããªã¸ã¨ã³ããªãè¿½å ãã¾ã
+
+STDAPI DllRegisterServer(void)
+{
+    // ãªãã¸ã§ã¯ããã¿ã¤ãã©ã¤ãã©ãªããã³ã¿ã¤ãã©ã¤ãã©ãªå
+ã®å
+¨ã¦ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãç»é²ãã¾ã
+    return _Module.RegisterServer(TRUE);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllUnregisterServer - ã·ã¹ãã  ã¬ã¸ã¹ããªããã¨ã³ããªãåé¤ãã¾ã
+
+STDAPI DllUnregisterServer(void)
+{
+    return _Module.UnregisterServer(TRUE);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.def	(revision 26)
@@ -0,0 +1,9 @@
+; ATLDevice.def : ã¢ã¸ã¥ã¼ã« ãã©ã¡ã¼ã¿ãå®£è¨ãã¾ãã
+
+LIBRARY      "device.DLL"
+
+EXPORTS
+	DllCanUnloadNow     @1 PRIVATE
+	DllGetClassObject   @2 PRIVATE
+	DllRegisterServer   @3 PRIVATE
+	DllUnregisterServer	@4 PRIVATE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsp	(revision 26)
@@ -0,0 +1,335 @@
+# Microsoft Developer Studio Project File - Name="device" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=device - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "device.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "device.mak" CFG="device - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "device - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "device - Win32 Unicode Debug" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "device - Win32 Release MinSize" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "device - Win32 Release MinDependency" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "device - Win32 Unicode Release MinSize" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "device - Win32 Unicode Release MinDependency" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "device - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\Debug
+TargetPath=.\Debug\device.dll
+InputPath=.\Debug\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "device - Win32 Unicode Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugU"
+# PROP BASE Intermediate_Dir "DebugU"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugU"
+# PROP Intermediate_Dir "DebugU"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\DebugU
+TargetPath=.\DebugU\device.dll
+InputPath=.\DebugU\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	if "%OS%"=="" goto NOTNT 
+	if not "%OS%"=="Windows_NT" goto NOTNT 
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	goto end 
+	:NOTNT 
+	echo è­¦å : Windows 95 ã« Unicode DLL ãç»é²ãããã¨ã¯ã§ãã¾ãã 
+	:end 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "device - Win32 Release MinSize"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseMinSize"
+# PROP BASE Intermediate_Dir "ReleaseMinSize"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseMinSize"
+# PROP Intermediate_Dir "ReleaseMinSize"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseMinSize
+TargetPath=.\ReleaseMinSize\device.dll
+InputPath=.\ReleaseMinSize\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "device - Win32 Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseMinDependency"
+# PROP Intermediate_Dir "ReleaseMinDependency"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseMinDependency
+TargetPath=.\ReleaseMinDependency\device.dll
+InputPath=.\ReleaseMinDependency\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "device - Win32 Unicode Release MinSize"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinSize"
+# PROP BASE Intermediate_Dir "ReleaseUMinSize"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinSize"
+# PROP Intermediate_Dir "ReleaseUMinSize"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseUMinSize
+TargetPath=.\ReleaseUMinSize\device.dll
+InputPath=.\ReleaseUMinSize\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	if "%OS%"=="" goto NOTNT 
+	if not "%OS%"=="Windows_NT" goto NOTNT 
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	goto end 
+	:NOTNT 
+	echo è­¦å : Windows 95 ã« Unicode DLL ãç»é²ãããã¨ã¯ã§ãã¾ãã 
+	:end 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "device - Win32 Unicode Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseUMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinDependency"
+# PROP Intermediate_Dir "ReleaseUMinDependency"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseUMinDependency
+TargetPath=.\ReleaseUMinDependency\device.dll
+InputPath=.\ReleaseUMinDependency\device.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	if "%OS%"=="" goto NOTNT 
+	if not "%OS%"=="Windows_NT" goto NOTNT 
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	goto end 
+	:NOTNT 
+	echo è­¦å : Windows 95 ã« Unicode DLL ãç»é²ãããã¨ã¯ã§ãã¾ãã 
+	:end 
+	
+# End Custom Build
+
+!ENDIF 
+
+# Begin Target
+
+# Name "device - Win32 Debug"
+# Name "device - Win32 Unicode Debug"
+# Name "device - Win32 Release MinSize"
+# Name "device - Win32 Release MinDependency"
+# Name "device - Win32 Unicode Release MinSize"
+# Name "device - Win32 Unicode Release MinDependency"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\device.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\device.def
+# End Source File
+# Begin Source File
+
+SOURCE=.\device.idl
+# ADD MTL /tlb ".\device.tlb" /h "device.h" /iid "device_i.c" /Oicf
+# End Source File
+# Begin Source File
+
+SOURCE=.\device.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicecontrol.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\devicecontrol.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\deviceCP.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\bmp00001.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\deviceco.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicecontrol.rgs
+# End Source File
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.dsw	(revision 26)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+
+###############################################################################
+
+Project: "device"=".\device.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.h	(revision 26)
@@ -0,0 +1,660 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Tue Oct 21 19:55:03 2003
+ */
+/* Compiler settings for .\device.idl:
+    Oicf, W1, Zp8, env=Win32 (32b run)
+    protocol : dce , ms_ext, c_ext, robust
+    error checks: allocation ref bounds_check enum stub_data 
+    VC __declspec() decoration level: 
+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+         DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#pragma warning( disable: 4049 )  /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __device_h__
+#define __device_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */ 
+
+#ifndef __IDeviceControl_FWD_DEFINED__
+#define __IDeviceControl_FWD_DEFINED__
+typedef interface IDeviceControl IDeviceControl;
+#endif 	/* __IDeviceControl_FWD_DEFINED__ */
+
+
+#ifndef ___IDeviceControlEvents_FWD_DEFINED__
+#define ___IDeviceControlEvents_FWD_DEFINED__
+typedef interface _IDeviceControlEvents _IDeviceControlEvents;
+#endif 	/* ___IDeviceControlEvents_FWD_DEFINED__ */
+
+
+#ifndef __DeviceControl_FWD_DEFINED__
+#define __DeviceControl_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class DeviceControl DeviceControl;
+#else
+typedef struct DeviceControl DeviceControl;
+#endif /* __cplusplus */
+
+#endif 	/* __DeviceControl_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif 
+
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * ); 
+
+#ifndef __IDeviceControl_INTERFACE_DEFINED__
+#define __IDeviceControl_INTERFACE_DEFINED__
+
+/* interface IDeviceControl */
+/* [unique][helpstring][dual][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IDeviceControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("6998EBB2-678E-4891-8BD0-C34F165488AC")
+    IDeviceControl : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Valid( 
+            /* [retval][out] */ BOOL *pVal) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RaiseInterrupt( 
+            /* [in] */ long inhno) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Map( 
+            /* [in] */ long address,
+            /* [in] */ long size) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unmap( 
+            /* [in] */ long address) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsKernelStarted( 
+            /* [retval][out] */ BOOL *pVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Offset( 
+            /* [retval][out] */ long *pVal) = 0;
+        
+        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Offset( 
+            /* [in] */ long newVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AccessSize( 
+            /* [retval][out] */ short *pVal) = 0;
+        
+        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AccessSize( 
+            /* [in] */ short newVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
+            /* [retval][out] */ long *pVal) = 0;
+        
+        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
+            /* [in] */ long newVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DeviceName( 
+            /* [retval][out] */ BSTR *pVal) = 0;
+        
+        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DeviceName( 
+            /* [in] */ BSTR newVal) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IDeviceControlVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
+            IDeviceControl * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
+            IDeviceControl * This);
+        
+        ULONG ( STDMETHODCALLTYPE *Release )( 
+            IDeviceControl * This);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
+            IDeviceControl * This,
+            /* [out] */ UINT *pctinfo);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
+            IDeviceControl * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
+            IDeviceControl * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
+            IDeviceControl * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
+            IDeviceControl * This);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
+            IDeviceControl * This);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Valid )( 
+            IDeviceControl * This,
+            /* [retval][out] */ BOOL *pVal);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RaiseInterrupt )( 
+            IDeviceControl * This,
+            /* [in] */ long inhno);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Map )( 
+            IDeviceControl * This,
+            /* [in] */ long address,
+            /* [in] */ long size);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unmap )( 
+            IDeviceControl * This,
+            /* [in] */ long address);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsKernelStarted )( 
+            IDeviceControl * This,
+            /* [retval][out] */ BOOL *pVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
+            IDeviceControl * This,
+            /* [retval][out] */ long *pVal);
+        
+        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Offset )( 
+            IDeviceControl * This,
+            /* [in] */ long newVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessSize )( 
+            IDeviceControl * This,
+            /* [retval][out] */ short *pVal);
+        
+        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AccessSize )( 
+            IDeviceControl * This,
+            /* [in] */ short newVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
+            IDeviceControl * This,
+            /* [retval][out] */ long *pVal);
+        
+        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
+            IDeviceControl * This,
+            /* [in] */ long newVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceName )( 
+            IDeviceControl * This,
+            /* [retval][out] */ BSTR *pVal);
+        
+        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeviceName )( 
+            IDeviceControl * This,
+            /* [in] */ BSTR newVal);
+        
+        END_INTERFACE
+    } IDeviceControlVtbl;
+
+    interface IDeviceControl
+    {
+        CONST_VTBL struct IDeviceControlVtbl *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IDeviceControl_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDeviceControl_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IDeviceControl_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define IDeviceControl_GetTypeInfoCount(This,pctinfo)	\
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IDeviceControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IDeviceControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IDeviceControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IDeviceControl_Connect(This)	\
+    (This)->lpVtbl -> Connect(This)
+
+#define IDeviceControl_Close(This)	\
+    (This)->lpVtbl -> Close(This)
+
+#define IDeviceControl_get_Valid(This,pVal)	\
+    (This)->lpVtbl -> get_Valid(This,pVal)
+
+#define IDeviceControl_RaiseInterrupt(This,inhno)	\
+    (This)->lpVtbl -> RaiseInterrupt(This,inhno)
+
+#define IDeviceControl_Map(This,address,size)	\
+    (This)->lpVtbl -> Map(This,address,size)
+
+#define IDeviceControl_Unmap(This,address)	\
+    (This)->lpVtbl -> Unmap(This,address)
+
+#define IDeviceControl_get_IsKernelStarted(This,pVal)	\
+    (This)->lpVtbl -> get_IsKernelStarted(This,pVal)
+
+#define IDeviceControl_get_Offset(This,pVal)	\
+    (This)->lpVtbl -> get_Offset(This,pVal)
+
+#define IDeviceControl_put_Offset(This,newVal)	\
+    (This)->lpVtbl -> put_Offset(This,newVal)
+
+#define IDeviceControl_get_AccessSize(This,pVal)	\
+    (This)->lpVtbl -> get_AccessSize(This,pVal)
+
+#define IDeviceControl_put_AccessSize(This,newVal)	\
+    (This)->lpVtbl -> put_AccessSize(This,newVal)
+
+#define IDeviceControl_get_Value(This,pVal)	\
+    (This)->lpVtbl -> get_Value(This,pVal)
+
+#define IDeviceControl_put_Value(This,newVal)	\
+    (This)->lpVtbl -> put_Value(This,newVal)
+
+#define IDeviceControl_get_DeviceName(This,pVal)	\
+    (This)->lpVtbl -> get_DeviceName(This,pVal)
+
+#define IDeviceControl_put_DeviceName(This,newVal)	\
+    (This)->lpVtbl -> put_DeviceName(This,newVal)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDeviceControl_Connect_Proxy( 
+    IDeviceControl * This);
+
+
+void __RPC_STUB IDeviceControl_Connect_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDeviceControl_Close_Proxy( 
+    IDeviceControl * This);
+
+
+void __RPC_STUB IDeviceControl_Close_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_Valid_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ BOOL *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_Valid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDeviceControl_RaiseInterrupt_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ long inhno);
+
+
+void __RPC_STUB IDeviceControl_RaiseInterrupt_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDeviceControl_Map_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ long address,
+    /* [in] */ long size);
+
+
+void __RPC_STUB IDeviceControl_Map_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDeviceControl_Unmap_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ long address);
+
+
+void __RPC_STUB IDeviceControl_Unmap_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_IsKernelStarted_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ BOOL *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_IsKernelStarted_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_Offset_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ long *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_Offset_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDeviceControl_put_Offset_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ long newVal);
+
+
+void __RPC_STUB IDeviceControl_put_Offset_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_AccessSize_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ short *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_AccessSize_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDeviceControl_put_AccessSize_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ short newVal);
+
+
+void __RPC_STUB IDeviceControl_put_AccessSize_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_Value_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ long *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_Value_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDeviceControl_put_Value_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ long newVal);
+
+
+void __RPC_STUB IDeviceControl_put_Value_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDeviceControl_get_DeviceName_Proxy( 
+    IDeviceControl * This,
+    /* [retval][out] */ BSTR *pVal);
+
+
+void __RPC_STUB IDeviceControl_get_DeviceName_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDeviceControl_put_DeviceName_Proxy( 
+    IDeviceControl * This,
+    /* [in] */ BSTR newVal);
+
+
+void __RPC_STUB IDeviceControl_put_DeviceName_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* __IDeviceControl_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __ATLDEVICELib_LIBRARY_DEFINED__
+#define __ATLDEVICELib_LIBRARY_DEFINED__
+
+/* library ATLDEVICELib */
+/* [helpstring][version][uuid] */ 
+
+
+EXTERN_C const IID LIBID_ATLDEVICELib;
+
+#ifndef ___IDeviceControlEvents_DISPINTERFACE_DEFINED__
+#define ___IDeviceControlEvents_DISPINTERFACE_DEFINED__
+
+/* dispinterface _IDeviceControlEvents */
+/* [helpstring][uuid] */ 
+
+
+EXTERN_C const IID DIID__IDeviceControlEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+    MIDL_INTERFACE("49253060-4210-43A1-8EA2-3A97587C89B9")
+    _IDeviceControlEvents : public IDispatch
+    {
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IDeviceControlEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
+            _IDeviceControlEvents * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
+            _IDeviceControlEvents * This);
+        
+        ULONG ( STDMETHODCALLTYPE *Release )( 
+            _IDeviceControlEvents * This);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
+            _IDeviceControlEvents * This,
+            /* [out] */ UINT *pctinfo);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
+            _IDeviceControlEvents * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
+            _IDeviceControlEvents * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
+            _IDeviceControlEvents * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        
+        END_INTERFACE
+    } _IDeviceControlEventsVtbl;
+
+    interface _IDeviceControlEvents
+    {
+        CONST_VTBL struct _IDeviceControlEventsVtbl *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IDeviceControlEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IDeviceControlEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IDeviceControlEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IDeviceControlEvents_GetTypeInfoCount(This,pctinfo)	\
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define _IDeviceControlEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define _IDeviceControlEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define _IDeviceControlEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+#endif 	/* ___IDeviceControlEvents_DISPINTERFACE_DEFINED__ */
+
+
+EXTERN_C const CLSID CLSID_DeviceControl;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("D6626115-E35B-4B38-BC65-3E59D5535AD4")
+DeviceControl;
+#endif
+#endif /* __ATLDEVICELib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.idl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.idl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.idl	(revision 26)
@@ -0,0 +1,117 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: device.idl,v 1.4 2003/12/20 09:19:59 takayuki Exp $
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+#include "olectl.h"
+    
+
+    [
+        object,
+        uuid(6998EBB2-678E-4891-8BD0-C34F165488AC),
+        dual,
+        helpstring("IDeviceControl Interface"),
+        pointer_default(unique)
+    ]
+    interface IDeviceControl : IDispatch
+    {
+        [id(1), helpstring("Make a connection with the device manager")] HRESULT Connect();
+        [id(2), helpstring("Disconnect a device manager")] HRESULT Close();
+        [propget, id(3), helpstring("Turn true if this device is enabled")] HRESULT Valid([out, retval] BOOL *pVal);
+        [id(4), helpstring("Make a interrupt request to the kernel")] HRESULT RaiseInterrupt([in]long inhno);
+        [id(5), helpstring("Make a address mapping on the manager")] HRESULT Map([in]long address,[in]long size);
+        [id(6), helpstring("Release a address mapping on the manager")] HRESULT Unmap([in]long address);
+        [propget, id(7), helpstring("Turn true if the kernel is running")] HRESULT IsKernelStarted([out, retval] BOOL *pVal);
+        [propget, id(8), helpstring("Internal Buffer offset")] HRESULT Offset([out, retval] long *pVal);
+        [propput, id(8), helpstring("Internal Buffer offset")] HRESULT Offset([in] long newVal);
+        [propget, id(9), helpstring("Access Width of Internal Buffer")] HRESULT AccessSize([out, retval] short *pVal);
+        [propput, id(9), helpstring("Access width of internal buffer")] HRESULT AccessSize([in] short newVal);
+        [propget, id(10), helpstring("Value of current scope of internal buffer")] HRESULT Value([out, retval] long *pVal);
+        [propput, id(10), helpstring("Value of current scope of internal buffer")] HRESULT Value([in] long newVal);
+        [propget, id(11), helpstring("ãã­ããã£DeviceName")] HRESULT DeviceName([out, retval] BSTR* pVal);
+        [propput, id(11), helpstring("ãã­ããã£DeviceName")] HRESULT DeviceName([in] BSTR newVal);
+    };
+
+[
+    uuid(194B359F-594E-4EE4-A804-84723D1CF1C4),
+    version(1.0),
+    helpstring("TOPPERS/JSP on Windows Device Component Type Library")
+]
+library ATLDEVICELib
+{
+    importlib("stdole32.tlb");
+    importlib("stdole2.tlb");
+
+    [
+        uuid(49253060-4210-43A1-8EA2-3A97587C89B9),
+        helpstring("_IDeviceControlEvents Interface")
+    ]
+    dispinterface _IDeviceControlEvents
+    {
+        properties:
+        methods:
+        [id(1), helpstring("Read event notification")] HRESULT OnRead([in] long address, [in] long sz);
+        [id(2), helpstring("Write event notification")] HRESULT OnWrite([in] long address, [in] long sz);
+        [id(3), helpstring("Kernel start notification")] HRESULT OnKernelStart();
+        [id(4), helpstring("Kernel completion notification")] HRESULT OnKernelExit();
+    };
+
+    [
+        uuid(D6626115-E35B-4B38-BC65-3E59D5535AD4),
+        helpstring("DeviceControl Class")
+    ]
+    coclass DeviceControl
+    {
+        [default] interface IDeviceControl;
+        [default, source] dispinterface _IDeviceControlEvents;
+    };
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.rc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.rc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/device.rc	(revision 26)
@@ -0,0 +1,136 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// æ¥æ¬èª resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""winres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "1 TYPELIB ""device.tlb""\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "041104b0"
+        BEGIN
+            VALUE "Comments", "Toppers/JSP on Windows - Device Control\0"
+            VALUE "CompanyName", "Embedded and Realtime System Laboratory, Toyohashi Univ. of Technology\0"
+            VALUE "FileDescription", "TOPPERS/JSP Windows Device Emulation Client Module\0"
+            VALUE "FileVersion", "1, 0, 0, 1\0"
+            VALUE "InternalName", "device\0"
+            VALUE "LegalCopyright", "Copyright 2000\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OLESelfRegister", "\0"
+            VALUE "OriginalFilename", "device.DLL\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "Toppers/JSP on Windows - Device Control\0"
+            VALUE "ProductVersion", "1, 0, 0, 1\0"
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x411, 1200
+    END
+END
+
+#endif    // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_DEVICECONTROL       BITMAP  DISCARDABLE     "deviceco.bmp"
+IDB_DEVICECONTROL_BIG   BITMAP  DISCARDABLE     "bmp00001.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// REGISTRY
+//
+
+IDR_DEVICECONTROL       REGISTRY DISCARDABLE    "DeviceControl.rgs"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDS_PROJNAME            "ATLDevice"
+END
+
+#endif    // æ¥æ¬èª resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+1 TYPELIB "device.tlb"
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceCP.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceCP.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceCP.h	(revision 26)
@@ -0,0 +1,163 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: deviceCP.h,v 1.4 2003/12/24 07:37:57 takayuki Exp $
+ */
+
+#ifndef _ATLDEVICECP_H_
+#define _ATLDEVICECP_H_
+
+
+template <class T>
+class CProxy_IDeviceControlEvents : public IConnectionPointImpl<T, &DIID__IDeviceControlEvents, CComDynamicUnkArray>
+{
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnRead(LONG address, LONG sz)
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		CComVariant* pvars = new CComVariant[2];
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				pvars[1] = address;
+				pvars[0] = sz;
+				DISPPARAMS disp = { pvars, NULL, 2, 0 };
+				pDispatch->Invoke(0x1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		delete[] pvars;
+		return varResult.scode;
+	
+	}
+	HRESULT Fire_OnWrite(LONG address, LONG sz)
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		CComVariant* pvars = new CComVariant[2];
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				pvars[1] = address;
+				pvars[0] = sz;
+				DISPPARAMS disp = { pvars, NULL, 2, 0 };
+				pDispatch->Invoke(0x2, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		delete[] pvars;
+		return varResult.scode;
+	
+	}
+	HRESULT Fire_OnKernelStart()
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				DISPPARAMS disp = { NULL, NULL, 0, 0 };
+				pDispatch->Invoke(0x3, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		return varResult.scode;
+	
+	}
+	HRESULT Fire_OnKernelExit()
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				DISPPARAMS disp = { NULL, NULL, 0, 0 };
+				pDispatch->Invoke(0x4, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		return varResult.scode;
+	
+	}
+};
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.cpp	(revision 26)
@@ -0,0 +1,255 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicecontrol.cpp,v 1.4 2003/12/20 09:19:59 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "device.h"
+#include "devicecontrol.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CDeviceControl
+
+const CLSID CLSID_Device = {0xFEE2A68B,0x7F98,0x40E0,{0x98,0x53,0x18,0x3E,0xE6,0x8B,0xC7,0xF8}};
+
+STDMETHODIMP CDeviceControl::Connect()
+{
+    if(!FAILED(manager.CoCreateInstance(CLSID_Device)) && !FAILED(manager.Advise((_IDeviceEvents *)this,__uuidof(_IDeviceEvents),&cookie))) {
+        STARTUPINFO info;
+
+        info.cb = sizeof(info);
+        GetStartupInfo(&info);
+
+        devname.Empty();
+        devname.Append(info.lpTitle);
+        manager->SetDeviceName(devname);
+        
+        return S_OK;
+    }
+
+    if(! !manager)
+        manager.Release();
+
+    return E_FAIL;
+}
+
+STDMETHODIMP CDeviceControl::Close()
+{
+    if(!manager)
+        return E_FAIL;
+
+    AtlUnadvise(manager,__uuidof(_IDeviceEvents),cookie);
+    manager.Release();
+    cookie = 0;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::get_Valid(BOOL *pVal)
+{
+    *pVal = !manager ? FALSE : ~0;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::RaiseInterrupt(long inhno)
+{
+    if(!manager)
+        return E_FAIL;
+    
+    return manager->RaiseInterrupt(inhno);
+}
+
+STDMETHODIMP CDeviceControl::Map(long address, long size)
+{
+    if(!manager)
+        return E_FAIL;
+
+    return manager->Map(address, size);
+}
+
+STDMETHODIMP CDeviceControl::Unmap(long address)
+{
+    if(!manager)
+        return E_FAIL;
+
+    return manager->Unmap(address);
+}
+
+
+STDMETHODIMP CDeviceControl::get_IsKernelStarted(BOOL *pVal)
+{
+    *pVal = KernelStarted ? ~0 : 0;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::get_Offset(long *pVal)
+{
+    *pVal = Offset;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::put_Offset(long newVal)
+{
+    if(newVal >= Limitation)
+        return E_FAIL;
+
+    Offset = newVal;
+
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::get_AccessSize(short *pVal)
+{
+    *pVal = AccessSize;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::put_AccessSize(short newVal)
+{
+    switch(newVal)
+    {
+    case 1: case 2: case 4:
+        break;
+    default:
+        return E_FAIL;
+    }
+
+    AccessSize = newVal;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::get_Value(long *pVal)
+{
+    if(DataPointer == 0)
+        return E_FAIL;
+
+    *pVal = 0;
+    CopyMemory(pVal, DataPointer + Offset, AccessSize);
+
+    Offset += AccessSize;
+    if(Offset >= Limitation)
+        Offset = Limitation -1;
+    
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::put_Value(long newVal)
+{
+    if(DataPointer == 0)
+        return E_FAIL;
+
+    CopyMemory(DataPointer + Offset, &newVal, AccessSize);
+
+    Offset += AccessSize;
+    if(Offset >= Limitation)
+        Offset = Limitation -1;
+
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::OnRead(long address,long sz,byte __RPC_FAR data[])
+{
+    if(!KernelStarted)
+        this->OnKernelStart();
+
+    DataPointer = (unsigned char *)data;
+    Limitation = sz;
+    Offset = 0;
+
+    Fire_OnRead(address, sz);
+    
+    DataPointer = 0;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::OnWrite(long address,long sz,byte __RPC_FAR data[])
+{
+    if(!KernelStarted)
+        this->OnKernelStart();
+
+    DataPointer = (unsigned char *)data;
+    Limitation = sz;
+    Offset = 0;
+    Fire_OnWrite(address,sz);
+    DataPointer = 0;
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::OnKernelStart()
+{
+    KernelStarted = true;
+    Fire_OnKernelStart();
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::OnKernelExit()
+{
+    KernelStarted = false;
+    Fire_OnKernelExit();
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::get_DeviceName(BSTR* pVal)
+{
+    if(!manager)
+        return E_FAIL;
+
+    devname.CopyTo(pVal);
+    return S_OK;
+}
+
+STDMETHODIMP CDeviceControl::put_DeviceName(BSTR newVal)
+{
+    if(!manager)
+        return E_FAIL;
+
+    devname = newVal;
+    manager->SetDeviceName(devname);
+    return S_OK;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.h	(revision 26)
@@ -0,0 +1,234 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicecontrol.h,v 1.6 2004/01/18 08:59:29 takayuki Exp $
+ */
+
+#ifndef __DEVICECONTROL_H_
+#define __DEVICECONTROL_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include <atlctl.h>
+#include "deviceCP.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CDeviceControl
+
+MIDL_INTERFACE("DA93137D-FB52-4421-B95D-9077340AD03B")
+_IDeviceEvents : public IUnknown
+{
+public:
+    virtual HRESULT STDMETHODCALLTYPE OnRead(long address,long sz,byte __RPC_FAR data[]) = 0;
+    virtual HRESULT STDMETHODCALLTYPE OnWrite(long address,long sz,byte __RPC_FAR data[]) = 0;
+    virtual HRESULT STDMETHODCALLTYPE OnKernelStart(void) = 0;
+    virtual HRESULT STDMETHODCALLTYPE OnKernelExit(void) = 0;
+};
+
+MIDL_INTERFACE("6575FAAB-8750-42D2-ADDD-4BE764AA2767")
+IDevice : public IUnknown
+{
+public:
+    virtual HRESULT STDMETHODCALLTYPE IsValid(BOOL __RPC_FAR *valid) = 0;
+    virtual HRESULT STDMETHODCALLTYPE SetDeviceName(BSTR devname) = 0;
+    virtual HRESULT STDMETHODCALLTYPE Map(unsigned long address,unsigned long size) = 0;
+    virtual HRESULT STDMETHODCALLTYPE Unmap(unsigned long address) = 0;
+    virtual HRESULT STDMETHODCALLTYPE RaiseInterrupt(unsigned long inhno) = 0;
+};
+
+class ATL_NO_VTABLE CDeviceControl : 
+	public CComObjectRootEx<CComSingleThreadModel>,
+	public IDispatchImpl<IDeviceControl, &IID_IDeviceControl, &LIBID_ATLDEVICELib>,
+	public CComControl<CDeviceControl>,
+	public IPersistStreamInitImpl<CDeviceControl>,
+	public IOleControlImpl<CDeviceControl>,
+	public IOleObjectImpl<CDeviceControl>,
+	public IOleInPlaceActiveObjectImpl<CDeviceControl>,
+	public IViewObjectExImpl<CDeviceControl>,
+	public IOleInPlaceObjectWindowlessImpl<CDeviceControl>,
+	public IConnectionPointContainerImpl<CDeviceControl>,
+	public IPersistStorageImpl<CDeviceControl>,
+	public ISpecifyPropertyPagesImpl<CDeviceControl>,
+	public IQuickActivateImpl<CDeviceControl>,
+	public IDataObjectImpl<CDeviceControl>,
+	public IProvideClassInfo2Impl<&CLSID_DeviceControl, &DIID__IDeviceControlEvents, &LIBID_ATLDEVICELib>,
+	public IPropertyNotifySinkCP<CDeviceControl>,
+	public CComCoClass<CDeviceControl, &CLSID_DeviceControl>,
+	public _IDeviceEvents,
+	public CProxy_IDeviceControlEvents< CDeviceControl >
+{
+public:
+	CDeviceControl()
+        :   cookie(), manager(), KernelStarted(false),
+            DataPointer(0), Limitation(0), Offset(0), AccessSize(1)
+    {
+        m_bWindowOnly = TRUE;
+    }
+
+    ~CDeviceControl()
+    {
+        if(cookie != 0 && manager != 0) {
+            Close();
+        }
+    }
+
+DECLARE_REGISTRY_RESOURCEID(IDR_DEVICECONTROL)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CDeviceControl)
+	COM_INTERFACE_ENTRY(IDeviceControl)
+	COM_INTERFACE_ENTRY(IDispatch)
+	COM_INTERFACE_ENTRY(IViewObjectEx)
+	COM_INTERFACE_ENTRY(IViewObject2)
+	COM_INTERFACE_ENTRY(IViewObject)
+	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
+	COM_INTERFACE_ENTRY(IOleInPlaceObject)
+	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
+	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
+	COM_INTERFACE_ENTRY(IOleControl)
+	COM_INTERFACE_ENTRY(IOleObject)
+	COM_INTERFACE_ENTRY(IPersistStreamInit)
+	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
+	COM_INTERFACE_ENTRY(IQuickActivate)
+	COM_INTERFACE_ENTRY(IPersistStorage)
+	COM_INTERFACE_ENTRY(IDataObject)
+	COM_INTERFACE_ENTRY(IProvideClassInfo)
+	COM_INTERFACE_ENTRY(IProvideClassInfo2)
+	COM_INTERFACE_ENTRY(_IDeviceEvents)
+	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+END_COM_MAP()
+
+BEGIN_PROP_MAP(CDeviceControl)
+	PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
+	PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
+	PROP_ENTRY("AccessSize",9,CLSID_NULL)
+	// Example entries
+	// PROP_ENTRY("Property Description", dispid, clsid)
+	// PROP_PAGE(CLSID_StockColorPage)
+END_PROP_MAP()
+
+BEGIN_CONNECTION_POINT_MAP(CDeviceControl)
+	CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
+	CONNECTION_POINT_ENTRY(DIID__IDeviceControlEvents)
+END_CONNECTION_POINT_MAP()
+
+BEGIN_MSG_MAP(CDeviceControl)
+	CHAIN_MSG_MAP(CComControl<CDeviceControl>)
+	DEFAULT_REFLECTION_HANDLER()
+END_MSG_MAP()
+// Handler prototypes:
+//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+
+
+// IViewObjectEx
+	DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
+
+// IDeviceControl
+public:
+	STDMETHOD(get_Value)(/*[out, retval]*/ long *pVal);
+	STDMETHOD(put_Value)(/*[in]*/ long newVal);
+	STDMETHOD(get_AccessSize)(/*[out, retval]*/ short *pVal);
+	STDMETHOD(put_AccessSize)(/*[in]*/ short newVal);
+	STDMETHOD(get_Offset)(/*[out, retval]*/ long *pVal);
+	STDMETHOD(put_Offset)(/*[in]*/ long newVal);
+	STDMETHOD(get_IsKernelStarted)(/*[out, retval]*/ BOOL *pVal);
+	STDMETHOD(Unmap)(/*[in]*/long address);
+	STDMETHOD(Map)(/*[in]*/long address,/*[in]*/long size);
+	STDMETHOD(RaiseInterrupt)(/*[in]*/long inhno);
+	STDMETHOD(get_Valid)(/*[out, retval]*/ BOOL *pVal);
+	STDMETHOD(Close)();
+	STDMETHOD(Connect)();
+    STDMETHOD(get_DeviceName)(BSTR* pVal);
+    STDMETHOD(put_DeviceName)(BSTR newVal);
+
+	HRESULT OnDraw(ATL_DRAWINFO& di)
+	{
+		RECT& rc = *(RECT*)di.prcBounds;
+		HDC memDC;
+		HINSTANCE hInstance;
+		HBITMAP memImage;
+		HBITMAP oldImage;
+
+		hInstance = (HINSTANCE)GetWindowLong(GWL_HINSTANCE);
+		memImage = ::LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_DEVICECONTROL_BIG));
+		memDC = ::CreateCompatibleDC(di.hdcDraw);
+		oldImage = (HBITMAP) ::SelectObject(memDC,memImage);
+
+		::StretchBlt(di.hdcDraw,rc.left,rc.top,rc.right,rc.bottom,memDC,0,0,64,64,SRCCOPY);
+
+		::SelectObject(memDC, oldImage);
+		::DeleteObject(memImage);
+		::DeleteDC(memDC);
+		
+		return S_OK;
+	}
+
+// _IDeviceEvents
+	STDMETHOD(OnRead)(long address,long sz,byte __RPC_FAR data[]);
+	STDMETHOD(OnWrite)(long address,long sz,byte __RPC_FAR data[]);
+	STDMETHOD(OnKernelStart)();
+	STDMETHOD(OnKernelExit)();
+
+	DWORD cookie;
+    CComBSTR devname;
+	CComPtr<IDevice> manager;
+	bool KernelStarted;
+
+	unsigned char * DataPointer;
+	long Limitation;
+	long Offset;
+	short AccessSize;
+};
+
+#endif //__DEVICECONTROL_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/devicecontrol.rgs	(revision 26)
@@ -0,0 +1,34 @@
+HKCR
+{
+	ToppersDevice.DeviceControl.1 = s 'DeviceControl Class'
+	{
+		CLSID = s '{D6626115-E35B-4B38-BC65-3E59D5535AD4}'
+	}
+	ToppersDevice.DeviceControl = s 'DeviceControl Class'
+	{
+		CLSID = s '{D6626115-E35B-4B38-BC65-3E59D5535AD4}'
+		CurVer = s 'ToppersDevice.DeviceControl.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {D6626115-E35B-4B38-BC65-3E59D5535AD4} = s 'DeviceControl Class'
+		{
+			ProgID = s 'ToppersDevice.DeviceControl.1'
+			VersionIndependentProgID = s 'ToppersDevice.DeviceControl'
+			ForceRemove 'Programmable'
+			InprocServer32 = s '%MODULE%'
+			{
+				val ThreadingModel = s 'Apartment'
+			}
+			ForceRemove 'Control'
+			ForceRemove 'Insertable'
+			ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 101'
+			'MiscStatus' = s '0'
+			{
+			    '1' = s '131473'
+			}
+			'TypeLib' = s '{194B359F-594E-4EE4-A804-84723D1CF1C4}'
+			'Version' = s '1.0'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceps.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceps.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/deviceps.def	(revision 26)
@@ -0,0 +1,11 @@
+
+LIBRARY      "deviceps"
+
+DESCRIPTION  'Proxy/Stub DLL'
+
+EXPORTS
+	DllGetClassObject       @1	PRIVATE
+	DllCanUnloadNow         @2	PRIVATE
+	GetProxyDllInfo         @3	PRIVATE
+	DllRegisterServer		@4	PRIVATE
+	DllUnregisterServer		@5	PRIVATE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/resource.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/resource.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/resource.h	(revision 26)
@@ -0,0 +1,70 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: resource.h,v 1.4 2003/12/24 07:37:57 takayuki Exp $
+ */
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by ATLDevice.rc
+//
+#define IDS_PROJNAME                    100
+#define IDB_DEVICECONTROL               101
+#define IDR_DEVICECONTROL               102
+#define IDB_DEVICECONTROL_BIG           201
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        202
+#define _APS_NEXT_COMMAND_VALUE         32768
+#define _APS_NEXT_CONTROL_VALUE         201
+#define _APS_NEXT_SYMED_VALUE           103
+#endif
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/form1.frm
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/form1.frm	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/form1.frm	(revision 26)
@@ -0,0 +1,190 @@
+VERSION 5.00
+Object = "{194B359F-594E-4EE4-A804-84723D1CF1C4}#1.0#0"; "ATLDevice.dll"
+Begin VB.Form Form1 
+   BorderStyle     =   3  'åºå®ãã¤ã¢ã­ã°
+   Caption         =   "Form1"
+   ClientHeight    =   1140
+   ClientLeft      =   45
+   ClientTop       =   330
+   ClientWidth     =   3045
+   LinkTopic       =   "Form1"
+   MaxButton       =   0   'False
+   MinButton       =   0   'False
+   ScaleHeight     =   1140
+   ScaleWidth      =   3045
+   ShowInTaskbar   =   0   'False
+   StartUpPosition =   3  'Windows ã®æ¢å®å¤
+   Begin ATLDEVICELibCtl.DeviceControl DeviceControl1 
+      Height          =   375
+      Left            =   2400
+      OleObjectBlob   =   "Form1.frx":0000
+      TabIndex        =   1
+      Top             =   0
+      Visible         =   0   'False
+      Width           =   495
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'ä¸­å¤®æã
+      Caption         =   "Label1"
+      Height          =   255
+      Index           =   4
+      Left            =   1920
+      TabIndex        =   5
+      Top             =   360
+      Width           =   975
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'ä¸­å¤®æã
+      Caption         =   "Label1"
+      Height          =   255
+      Index           =   3
+      Left            =   1560
+      TabIndex        =   4
+      Top             =   720
+      Width           =   975
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'ä¸­å¤®æã
+      Caption         =   "Label1"
+      Height          =   255
+      Index           =   2
+      Left            =   480
+      TabIndex        =   3
+      Top             =   720
+      Width           =   975
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'ä¸­å¤®æã
+      Caption         =   "Label1"
+      Height          =   255
+      Index           =   1
+      Left            =   0
+      TabIndex        =   2
+      Top             =   360
+      Width           =   975
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'ä¸­å¤®æã
+      Caption         =   "Label1"
+      Height          =   255
+      Index           =   0
+      Left            =   960
+      TabIndex        =   0
+      Top             =   0
+      Width           =   975
+   End
+End
+Attribute VB_Name = "Form1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Explicit
+
+'
+'  TOPPERS/JSP Kernel
+'      Toyohashi Open Platform for Embedded Real-Time Systems/
+'      Just Standard Profile Kernel
+' 
+'  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
+'                              Toyohashi Univ. of Technology, JAPAN
+' 
+'  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+'  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+'  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+'  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+'  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+'  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+'      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+'      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+'  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+'      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+'      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+'      ã¨ï¼
+'    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+'        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+'        å ±åãããã¨ï¼
+'  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+'      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+' 
+'  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+'  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+'  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+'  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+'
+'  @(#) $Id: form1.frm,v 1.5 2004/09/09 03:40:51 honda Exp $
+'
+
+Private Sub SetLabelString(index As Integer, letter As String, color As ColorConstants)
+    Label1(index) = letter
+    Label1(index).ForeColor = color
+End Sub
+
+Private Sub DeviceControl1_OnKernelExit()
+    Dim i As Integer
+    
+    For i = 0 To 4
+        SetLabelString i, "çµäº", vbBlue
+    Next i
+    
+End Sub
+
+Private Sub DeviceControl1_OnKernelStart()
+    Dim i As Integer
+    
+    For i = 0 To 4
+        SetLabelString i, "åå¾å¾
+ã¡", vbBlack
+    Next i
+End Sub
+
+Private Sub DeviceControl1_OnWrite(ByVal address As Long, ByVal sz As Long)
+    Dim i As Integer
+    Dim work As Long
+    work = DeviceControl1.Value
+    i = work And &HF
+        
+    Select Case (work And &HF0)
+    Case &H10
+        SetLabelString i, "åå¾å¾
+ã¡", vbBlack
+    Case &H20
+        SetLabelString i, "é£äº", vbRed
+    Case &H40
+        SetLabelString i, "ä¼æ©", vbBlack
+    End Select
+
+End Sub
+
+Private Sub Form_Load()
+    Dim i As Integer
+    
+    For i = 0 To 4
+        SetLabelString i, "çµäº", vbBlue
+    Next i
+    
+    DeviceControl1.Connect
+    DeviceControl1.Map 100, 4
+End Sub
+
+Private Sub Form_Unload(Cancel As Integer)
+    DeviceControl1.Close
+End Sub
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbp	(revision 26)
@@ -0,0 +1,36 @@
+Type=Exe
+Form=Form1.frm
+Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\..\WINNT\System32\stdole2.tlb#OLE Automation
+Object={194B359F-594E-4EE4-A804-84723D1CF1C4}#1.0#0; ATLDevice.dll
+IconForm="Form1"
+Startup="Form1"
+ExeName32="Toppers-sample2-deviceUI.exe"
+Path32="C:\My Documents\Program sources\ToppersWin"
+Command32=""
+Name="Project1"
+HelpContextID="0"
+CompatibleMode="0"
+MajorVer=1
+MinorVer=0
+RevisionVer=0
+AutoIncrementVer=0
+ServerSupportFiles=0
+VersionCompanyName="Toyohashi Univ. of Technology"
+CompilationType=0
+OptimizationType=0
+FavorPentiumPro(tm)=0
+CodeViewDebugInfo=0
+NoAliasing=0
+BoundsCheck=0
+OverflowCheck=0
+FlPointCheck=0
+FDIVCheck=0
+UnroundedFP=0
+StartMode=0
+Unattended=0
+Retained=0
+ThreadPerObject=0
+MaxNumberOfThreads=1
+
+[MS Transaction Server]
+AutoRefresh=1
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/sample/sample2_ui.vbw	(revision 26)
@@ -0,0 +1,1 @@
+Form1 = 44, 44, 569, 521, C, 10, 44, 535, 521, C
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.cpp	(revision 26)
@@ -0,0 +1,60 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.cpp,v 1.4 2003/12/24 07:37:57 takayuki Exp $
+ */
+
+#include "stdafx.h"
+
+#ifdef _ATL_STATIC_REGISTRY
+#include <statreg.h>
+#include <statreg.cpp>
+#endif
+
+#include <atlimpl.cpp>
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicecontrol/stdafx.h	(revision 26)
@@ -0,0 +1,77 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.h,v 1.4 2003/12/24 07:37:57 takayuki Exp $
+ */
+
+#if !defined(AFX_STDAFX_H__6D2EA00B_6AD8_4976_95D0_5D54F5C81E34__INCLUDED_)
+#define AFX_STDAFX_H__6D2EA00B_6AD8_4976_95D0_5D54F5C81E34__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define STRICT
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0400
+#endif
+#define _ATL_APARTMENT_THREADED
+
+#include <atlbase.h>
+// CComModule ã¯ã©ã¹ããæ´¾çããã¯ã©ã¹ãä½¿ç¨ãã¦ããªã¼ãã¼ã©ã¤ãããå ´å
+// _Module ã®ååã¯å¤æ´ããªãã§ãã ããã
+extern CComModule _Module;
+#include <atlcom.h>
+#include <atlctl.h>
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ ã¯åè¡ã®ç´åã«è¿½å ã®å®£è¨ãæ¿å
+¥ãã¾ãã
+
+#endif // !defined(AFX_STDAFX_H__6D2EA00B_6AD8_4976_95D0_5D54F5C81E34__INCLUDED)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.cpp	(revision 26)
@@ -0,0 +1,111 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: device.cpp,v 1.6 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "devicemanager.h"
+#include "device.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CDevice
+
+
+CDevice::CDevice()
+{
+	DevID = _Module.AddDevice(this);
+}
+
+CDevice::~CDevice()
+{
+	if(DevID != 0)
+		_Module.DeleteDevice(this);
+}
+
+STDMETHODIMP CDevice::IsValid(BOOL * valid)
+{
+	*valid = DevID != 0 ? TRUE : FALSE;
+	return S_OK;
+}
+
+STDMETHODIMP CDevice::SetDeviceName(BSTR devname)
+{
+	DeviceName = devname;
+	return S_OK;
+}
+
+STDMETHODIMP CDevice::Map(unsigned long address, unsigned long size)
+{
+	if( DevID == 0 )
+		return E_HANDLE;
+	if(_Module.Map(this,Range(address,size)) == false)
+		return E_INVALIDARG;
+	return S_OK;
+}
+
+STDMETHODIMP CDevice::Unmap(unsigned long address)
+{
+	if( DevID == 0 )
+		return E_HANDLE;
+	if(_Module.Unmap(this, address) == false)
+		return E_INVALIDARG;
+	return S_OK;
+}
+
+STDMETHODIMP CDevice::RaiseInterrupt(unsigned long inhno)
+{
+	if(DevID == 0)
+		return E_HANDLE;
+	if(_Module.Kernel == 0)
+		return E_ACCESSDENIED;
+	if(_Module.RaiseInterrupt(inhno) == false)
+		return E_INVALIDARG;
+	return S_OK;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.h	(revision 26)
@@ -0,0 +1,98 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: device.h,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef __DEVICE_H_
+#define __DEVICE_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include "devicemanagerCP.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CDevice
+class ATL_NO_VTABLE CDevice : 
+	public CComObjectRootEx<CComSingleThreadModel>,
+	public CComCoClass<CDevice, &CLSID_Device>,
+	public IConnectionPointContainerImpl<CDevice>,
+	public IDevice,
+	public CProxy_IDeviceEvents< CDevice >
+{
+public:
+	CDevice();
+	~CDevice();
+
+DECLARE_REGISTRY_RESOURCEID(IDR_DEVICE)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CDevice)
+	COM_INTERFACE_ENTRY(IDevice)
+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+END_COM_MAP()
+BEGIN_CONNECTION_POINT_MAP(CDevice)
+CONNECTION_POINT_ENTRY(IID__IDeviceEvents)
+END_CONNECTION_POINT_MAP()
+
+
+// IDevice
+public:
+	STDMETHOD(RaiseInterrupt)(unsigned long inhno);
+	STDMETHOD(Unmap)(unsigned long address);
+	STDMETHOD(Map)(unsigned long address, unsigned long size);
+	STDMETHOD(SetDeviceName)(BSTR devname);
+	STDMETHOD(IsValid)(BOOL * valid);
+
+	DeviceID DevID;
+	CComBSTR DeviceName;
+};
+
+#endif //__DEVICE_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/device.rgs	(revision 26)
@@ -0,0 +1,23 @@
+HKCR
+{
+	ToppersDeviceManager.Device.1 = s 'Device Class'
+	{
+		CLSID = s '{FEE2A68B-7F98-40E0-9853-183EE68BC7F8}'
+	}
+	ToppersDeviceManager.Device = s 'Device Class'
+	{
+		CLSID = s '{FEE2A68B-7F98-40E0-9853-183EE68BC7F8}'
+		CurVer = s 'ToppersDeviceManager.Device.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {FEE2A68B-7F98-40E0-9853-183EE68BC7F8} = s 'Device Class'
+		{
+			ProgID = s 'ToppersDeviceManager.Device.1'
+			VersionIndependentProgID = s 'ToppersDeviceManager.Device'
+			LocalServer32 = s '%MODULE%'
+			val AppID = s '{44CB3B0F-D399-428E-829C-9BD5183AFF51}'
+			'TypeLib' = s '{F15F5272-83F3-42C3-874C-E4FF2B904AC2}'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.cpp	(revision 26)
@@ -0,0 +1,434 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanager.cpp,v 1.11 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "resource.h"
+#include <initguid.h>
+#include <shellapi.h>
+#include "devicemanager.h"
+#include <commctrl.h>
+
+#include "devicemanager_i.c"
+#include "device.h"
+#include "information.h"
+#include "kernel.h"
+#include "kernellog.h"
+
+#define WM_NOTIFYICONCALLBACK (WM_APP+1)	//NotifyIconããåãåãã¡ãã»ã¼ã¸ã«ä½¿ãçªå·
+
+const DWORD dwTimeOut = 5000;  // EXEãã·ã£ãããã¦ã³ããã¾ã§ã®ã¢ã¤ãã«æéã§ã
+const DWORD dwPause = 1000;    // ã¹ã¬ãããçµããã®ãå¾
+ã¤æéã§ã
+
+HINSTANCE ProcessInstance = NULL;   //ãã­ã»ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ãã³ãã«
+
+
+// ã·ã£ãããã¦ã³ ã¤ãã³ãç£è¦ç¨ã® CreateThread ã«æ¸¡ããã¾ã
+static DWORD WINAPI MonitorProc(void* pv)
+{
+    CExeModule* p = (CExeModule*)pv;
+    p->MonitorShutdown();
+    return 0;
+}
+
+LONG CExeModule::Unlock()
+{
+    LONG l = CComModule::Unlock();
+    if (l == 0)
+    {
+        bActivity = true;
+        SetEvent(hEventShutdown); // ã¢ãã¿ã¼ã«ã¼ã­ã«å¤ç§»ãããã¨ããããã¾ã
+    }
+    return l;
+}
+
+//ã·ã£ãããã¦ã³ã¤ãã³ããç£è¦ãã¾ã
+void CExeModule::MonitorShutdown()
+{
+    while (1)
+    {
+        WaitForSingleObject(hEventShutdown, INFINITE);
+        DWORD dwWait=0;
+        do
+        {
+            bActivity = false;
+            dwWait = WaitForSingleObject(hEventShutdown, dwTimeOut);
+        } while (dwWait == WAIT_OBJECT_0);
+        // timed out
+        if (!bActivity && m_nLockCnt == 0) // ä½ãåä½ãã¦ãããã®ããªããã°æãåºãã¾ã
+        {
+#if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED)
+            CoSuspendClassObjects();
+            if (!bActivity && m_nLockCnt == 0)
+#endif
+                break;
+        }
+    }
+    CloseHandle(hEventShutdown);
+    PostThreadMessage(dwThreadID, WM_QUIT, 0, 0);
+}
+
+bool CExeModule::StartMonitor()
+{
+    hEventShutdown = CreateEvent(NULL, false, false, NULL);
+    if (hEventShutdown == NULL)
+        return false;
+    DWORD dwThreadID;
+    HANDLE h = CreateThread(NULL, 0, MonitorProc, this, 0, &dwThreadID);
+    return (h != NULL);
+}
+
+CExeModule _Module;
+
+BEGIN_OBJECT_MAP(ObjectMap)
+OBJECT_ENTRY(CLSID_Device, CDevice)
+OBJECT_ENTRY(CLSID_Information, CInformation)
+OBJECT_ENTRY(CLSID_Kernel, CKernel)
+OBJECT_ENTRY(CLSID_KernelLog, CKernelLog)
+END_OBJECT_MAP()
+
+
+LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2)
+{
+    while (p1 != NULL && *p1 != NULL)
+    {
+        LPCTSTR p = p2;
+        while (p != NULL && *p != NULL)
+        {
+            if (*p1 == *p)
+                return CharNext(p1);
+            p = CharNext(p);
+        }
+        p1 = CharNext(p1);
+    }
+    return NULL;
+}
+
+static void InsertAllDeviceMapList(HWND hList)
+{
+    _TCHAR buffer[64];
+    std::map<Range, class CDevice *>::iterator scope;
+    LVITEM item;
+    int index;
+	int length = 0;
+
+    ListView_DeleteAllItems(hList);
+    item.iItem = -1;
+
+    EnterCriticalSection(&_Module.cs);
+
+    scope = _Module.DeviceMap.begin();
+    while(scope != _Module.DeviceMap.end()) {
+		_TCHAR * strbuf = (_TCHAR *)(BSTR)scope->second->DeviceName;
+
+#ifndef _UNICODE
+		length = WideCharToMultiByte(CP_ACP, 0, (BSTR)scope->second->DeviceName, -1, 0, 0, NULL, NULL);
+		if(length != 0) {
+			strbuf = new _TCHAR [length + 1];
+			WideCharToMultiByte(CP_ACP, 0, (BSTR)scope->second->DeviceName, length, (char *)strbuf, length, NULL, NULL);
+		}
+		else
+			strbuf = _T("<unknown>");
+#endif
+
+        item.mask = LVIF_TEXT;
+        ++ item.iItem;
+        item.iSubItem = 0;
+        item.pszText = strbuf;
+        index = ListView_InsertItem(hList, &item);
+
+		if(length != 0)
+			delete [] strbuf;
+
+        wsprintf(buffer, _T("0x%08X -- 0x%08X"), scope->first.GetBase(), scope->first.GetBase() + scope->first.GetLength() - 1);
+        ListView_SetItemText(hList, index, 1, buffer);
+
+        ++ scope;
+    }
+
+    LeaveCriticalSection(&_Module.cs);
+}
+
+
+
+INT CALLBACK MemoryMapDialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+    switch(msg) {
+        case WM_INITDIALOG:
+            {
+                LVCOLUMN col;
+
+                HWND hList = GetDlgItem(hDlg, IDC_MAPLIST);
+                
+                col.mask = LVCF_TEXT|LVCF_WIDTH|LVCF_FMT;
+                col.fmt = LVCFMT_LEFT;
+                col.pszText = _T("ããã¤ã¹å");
+                col.cx = 200;
+                ListView_InsertColumn(hList, 0, &col);
+
+                col.mask = LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH|LVCF_FMT;
+                col.pszText = _T("ã¢ãã¬ã¹ç¯å²");
+                col.iSubItem = 1;
+                col.cx = 230;
+                ListView_InsertColumn(hList, 1, &col);
+                
+                InsertAllDeviceMapList(hList);
+
+                break;
+            }
+
+        case WM_COMMAND:
+            switch(wParam) {
+                case IDOK:
+                    DestroyWindow(hDlg);
+                    break;
+                default:
+                    FALSE;
+            }
+            break;
+
+        case WM_CLOSE:
+            DestroyWindow(hDlg);
+            break;
+
+        default:
+            return FALSE;
+    }
+
+    return TRUE;
+}
+
+void ShowMemoryMapDialog(HWND hParent)
+{
+    HWND hDlg = CreateDialog(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDD_MAPLISTDIALOG), hParent, MemoryMapDialogProc);
+    ShowWindow(hDlg, SW_SHOW);
+}
+
+
+//---------------------------------------------------------------------
+// NotifyIcon ã³ã³ãã­ã¹ãã¡ãã¥ã¼
+INT DummyDialogContextMenu(HWND hDlg)
+{
+	enum tagMenuID {
+		IDM_EXIT = 1,
+        IDM_MAPLIST = 2
+	};
+
+	_TCHAR buffer[128];
+
+	HMENU hMenu = CreatePopupMenu();
+	if(hMenu == NULL)
+		return 0;
+
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING, 0, _Module.Kernel != 0 ? _T("ã«ã¼ãã«èµ·åä¸­") : _T("ã«ã¼ãã«æªæ¥ç¶"));
+	wsprintf(buffer, _T("æ¥ç¶ããã¤ã¹æ° : %d"), _Module.DeviceList.size());
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING, 0, buffer);
+	wsprintf(buffer, _T("å²ä»æ¸ã¿ç©ºéæ° : %d"), _Module.DeviceMap.size());
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING, 0, buffer);
+	wsprintf(buffer, _T("æ¥ç¶ã¦ã©ããã£æ° : %d"), _Module.WatcherList.size());
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING, 0, buffer);
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_SEPARATOR, 0, NULL);
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING,    IDM_MAPLIST, _T("ã¡ã¢ãªãããè¡¨ç¤º"));
+	InsertMenu(hMenu, -1, MF_BYPOSITION|MF_STRING,    IDM_EXIT,    _T("å¼·å¶çµäº"));
+
+	POINT curpos = {0,0};
+	GetCursorPos(&curpos);
+
+	int cmd = TrackPopupMenu(hMenu, TPM_RIGHTALIGN|TPM_BOTTOMALIGN|TPM_RETURNCMD|TPM_RIGHTBUTTON, curpos.x, curpos.y, 0, hDlg, NULL);
+
+	switch(cmd) {
+	case IDM_EXIT:
+		PostQuitMessage(0);
+		break;
+    case IDM_MAPLIST:
+        ShowMemoryMapDialog(hDlg);
+        break;
+	default:
+		break;
+	}
+
+	return cmd;
+}
+
+
+//---------------------------------------------------------------------
+// NotifyIconç¨ã®ããã¼ãã¤ã¢ã­ã° ã¡ãã»ã¼ã¸ãã³ãã©
+INT CALLBACK DummyDialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+	switch(msg) {
+
+	case WM_NOTIFYICONCALLBACK:
+		switch(lParam) {
+		case WM_RBUTTONUP:
+			DummyDialogContextMenu(hDlg);
+			break;
+		default:
+			return FALSE;
+		}
+		break;
+
+	case WM_INITDIALOG: 
+		{
+				/* ã¿ã¹ã¯ãã¬ã¤ã«ã¢ã¤ã³ã³ãç»é² */
+			NOTIFYICONDATA nd;
+			HICON hIcon = LoadIcon(ProcessInstance, MAKEINTRESOURCE(IDI_ICON1));
+			nd.cbSize = sizeof(nd);
+			nd.hWnd = hDlg;
+			nd.uID = 100;
+			nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
+			nd.hIcon = hIcon;
+			nd.uCallbackMessage = WM_NOTIFYICONCALLBACK;
+			::lstrcpy(nd.szTip, _T("TOPPERS/JSP DeviceManager"));
+			Shell_NotifyIcon(NIM_ADD, &nd);
+
+			break;
+		}
+
+	case WM_DESTROY:
+		{
+			NOTIFYICONDATA nd;
+			nd.cbSize = sizeof(nd);
+			nd.hWnd = hDlg;
+			nd.uID = 100;
+			nd.uFlags = 0;
+			Shell_NotifyIcon(NIM_DELETE, &nd);
+			break;
+		}
+
+	default:
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, 
+    HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int /*nShowCmd*/)
+{
+    lpCmdLine = GetCommandLine(); // ãã®è¡ã¯ _ATL_MIN_CRT ã®ããã«å¿
+è¦ã§ã
+    
+#if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED)
+    HRESULT hRes = CoInitializeEx(NULL, COINIT_MULTITHREADED);
+#else
+    HRESULT hRes = CoInitialize(NULL);
+#endif
+    _ASSERTE(SUCCEEDED(hRes));
+    _Module.Init(ObjectMap, hInstance, &LIBID_ATLDEVICEMANAGERLib);
+    _Module.dwThreadID = GetCurrentThreadId();
+    TCHAR szTokens[] = _T("-/");
+
+    int nRet = 0;
+    BOOL bRun = TRUE;
+    LPCTSTR lpszToken = FindOneOf(lpCmdLine, szTokens);
+    while (lpszToken != NULL)
+    {
+        if (lstrcmpi(lpszToken, _T("UnregServer"))==0)
+        {
+            _Module.UpdateRegistryFromResource(IDR_ATLDeviceManager, FALSE);
+            nRet = _Module.UnregisterServer(TRUE);
+            bRun = FALSE;
+            break;
+        }
+        if (lstrcmpi(lpszToken, _T("RegServer"))==0)
+        {
+            _Module.UpdateRegistryFromResource(IDR_ATLDeviceManager, TRUE);
+            nRet = _Module.RegisterServer(TRUE);
+            bRun = FALSE;
+            break;
+        }
+        lpszToken = FindOneOf(lpszToken, szTokens);
+    }
+
+    if (bRun)
+    {
+		HWND dummy_dialog_handle = NULL;
+
+		//::AllocConsole();
+
+		ProcessInstance = hInstance;
+		dummy_dialog_handle = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DUMMYDIALOG), NULL, DummyDialogProc);
+		ShowWindow(dummy_dialog_handle, SW_HIDE);
+
+        _Module.StartMonitor();
+#if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED)
+        hRes = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, 
+            REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED);
+        _ASSERTE(SUCCEEDED(hRes));
+        hRes = CoResumeClassObjects();
+#else
+        hRes = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, 
+            REGCLS_MULTIPLEUSE);
+#endif
+        _ASSERTE(SUCCEEDED(hRes));
+
+        MSG msg;
+        while (GetMessage(&msg, 0, 0, 0))
+            DispatchMessage(&msg);
+
+        _Module.RevokeClassObjects();
+        Sleep(dwPause); //ã¹ã¬ãããçµäºããã¾ã§å¾
+ã¡ã¾ã
+
+		if(dummy_dialog_handle != NULL)
+			::DestroyWindow(dummy_dialog_handle);
+
+		::FreeConsole();
+	}
+
+    _Module.Term();
+    CoUninitialize();
+    return nRet;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsp	(revision 26)
@@ -0,0 +1,285 @@
+# Microsoft Developer Studio Project File - Name="devicemanager" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=devicemanager - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãã¼ã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "devicemanager.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "devicemanager.mak" CFG="devicemanager - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢ã¼ã:
+!MESSAGE 
+!MESSAGE "devicemanager - Win32 Debug" ("Win32 (x86) Application" ç¨)
+!MESSAGE "devicemanager - Win32 Unicode Debug" ("Win32 (x86) Application" ç¨)
+!MESSAGE "devicemanager - Win32 Unicode Release MinDependency" ("Win32 (x86) Application" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "devicemanager - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\Debug
+TargetPath=.\Debug\devicemanager.exe
+InputPath=.\Debug\devicemanager.exe
+SOURCE="$(InputPath)"
+
+BuildCmds= \
+	"$(TargetPath)" /RegServer \
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" \
+	echo ãµã¼ãã¼ç»é²ãå®äºãã¾ãã! \
+	echo ãã­ã­ã·/ã¹ã¿ããçæãã¦ãã¾ã \
+	nmake devicemanagerps.mk \
+	regsvr32 /s devicemanagerps.dll \
+	echo çµäºãã¾ãã \
+	
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+
+"devicemanagerps.dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "devicemanager - Win32 Unicode Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugU"
+# PROP BASE Intermediate_Dir "DebugU"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugU"
+# PROP Intermediate_Dir "DebugU"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\DebugU
+TargetPath=.\DebugU\devicemanager.exe
+InputPath=.\DebugU\devicemanager.exe
+SOURCE="$(InputPath)"
+
+BuildCmds= \
+	"$(TargetPath)" /RegServer \
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" \
+	echo ãµã¼ãã¼ç»é²ãå®äºãã¾ãã! \
+	echo ãã­ã­ã·/ã¹ã¿ããçæãã¦ãã¾ã \
+	nmake devicemanagerps.mk \
+	regsvr32 /s devicemanagerps.dll \
+	echo çµäºãã¾ãã \
+	
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+
+"devicemanagerps.dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "devicemanager - Win32 Unicode Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseUMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinDependency"
+# PROP Intermediate_Dir "ReleaseUMinDependency"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /W3 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseUMinDependency
+TargetPath=.\ReleaseUMinDependency\devicemanager.exe
+InputPath=.\ReleaseUMinDependency\devicemanager.exe
+SOURCE="$(InputPath)"
+
+BuildCmds= \
+	"$(TargetPath)" /RegServer \
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" \
+	echo ãµã¼ãã¼ç»é²ãå®äºãã¾ãã! \
+	echo ãã­ã­ã·/ã¹ã¿ããçæãã¦ãã¾ã \
+	nmake devicemanagerps.mk \
+	regsvr32 /s devicemanagerps.dll \
+	echo çµäºãã¾ãã \
+	
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+
+"devicemanagerps.dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+   $(BuildCmds)
+# End Custom Build
+
+!ENDIF 
+
+# Begin Target
+
+# Name "devicemanager - Win32 Debug"
+# Name "devicemanager - Win32 Unicode Debug"
+# Name "devicemanager - Win32 Unicode Release MinDependency"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\device.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicemanager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicemanager.idl
+# ADD MTL /tlb ".\devicemanager.tlb" /h "devicemanager.h" /iid "devicemanager_i.c" /Oicf
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicemanager.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\information.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\kernel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\KernelLog.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\device.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicemanagerCP.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\information.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\kernel.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\KernelLog.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\messages.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\range.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\device.rgs
+# End Source File
+# Begin Source File
+
+SOURCE=.\devicemanager.rgs
+# End Source File
+# Begin Source File
+
+SOURCE=.\informat.bin
+# End Source File
+# Begin Source File
+
+SOURCE=.\information.rgs
+# End Source File
+# Begin Source File
+
+SOURCE=.\kernel.rgs
+# End Source File
+# Begin Source File
+
+SOURCE=.\KernelLog.rgs
+# End Source File
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.dsw	(revision 26)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+
+###############################################################################
+
+Project: "devicemanager"=".\devicemanager.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.h	(revision 26)
@@ -0,0 +1,1238 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanager.h,v 1.6 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Tue Aug 20 16:26:30 2002
+ */
+/* Compiler settings for C:\Documents and Settings\Takayuki\My Documents\Visual Studio Projects\JSP Windows Logging Mechanism\windev\devicemanager\devicemanager.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 440
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __devicemanager_h__
+#define __devicemanager_h__
+
+#ifdef __cplusplus
+extern "C"{
+#endif 
+
+/* Forward Declarations */ 
+
+#ifndef __IInformation_FWD_DEFINED__
+#define __IInformation_FWD_DEFINED__
+typedef interface IInformation IInformation;
+#endif 	/* __IInformation_FWD_DEFINED__ */
+
+
+#ifndef __IDevice_FWD_DEFINED__
+#define __IDevice_FWD_DEFINED__
+typedef interface IDevice IDevice;
+#endif 	/* __IDevice_FWD_DEFINED__ */
+
+
+#ifndef ___IDeviceEvents_FWD_DEFINED__
+#define ___IDeviceEvents_FWD_DEFINED__
+typedef interface _IDeviceEvents _IDeviceEvents;
+#endif 	/* ___IDeviceEvents_FWD_DEFINED__ */
+
+
+#ifndef __IKernel_FWD_DEFINED__
+#define __IKernel_FWD_DEFINED__
+typedef interface IKernel IKernel;
+#endif 	/* __IKernel_FWD_DEFINED__ */
+
+
+#ifndef ___IKernelEvents_FWD_DEFINED__
+#define ___IKernelEvents_FWD_DEFINED__
+typedef interface _IKernelEvents _IKernelEvents;
+#endif 	/* ___IKernelEvents_FWD_DEFINED__ */
+
+
+#ifndef ___IInformationEvents_FWD_DEFINED__
+#define ___IInformationEvents_FWD_DEFINED__
+typedef interface _IInformationEvents _IInformationEvents;
+#endif 	/* ___IInformationEvents_FWD_DEFINED__ */
+
+
+#ifndef __IKernelLog_FWD_DEFINED__
+#define __IKernelLog_FWD_DEFINED__
+typedef interface IKernelLog IKernelLog;
+#endif 	/* __IKernelLog_FWD_DEFINED__ */
+
+
+#ifndef ___IKernelLogEvents_FWD_DEFINED__
+#define ___IKernelLogEvents_FWD_DEFINED__
+typedef interface _IKernelLogEvents _IKernelLogEvents;
+#endif 	/* ___IKernelLogEvents_FWD_DEFINED__ */
+
+
+#ifndef __Device_FWD_DEFINED__
+#define __Device_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class Device Device;
+#else
+typedef struct Device Device;
+#endif /* __cplusplus */
+
+#endif 	/* __Device_FWD_DEFINED__ */
+
+
+#ifndef __Information_FWD_DEFINED__
+#define __Information_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class Information Information;
+#else
+typedef struct Information Information;
+#endif /* __cplusplus */
+
+#endif 	/* __Information_FWD_DEFINED__ */
+
+
+#ifndef __Kernel_FWD_DEFINED__
+#define __Kernel_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class Kernel Kernel;
+#else
+typedef struct Kernel Kernel;
+#endif /* __cplusplus */
+
+#endif 	/* __Kernel_FWD_DEFINED__ */
+
+
+#ifndef __KernelLog_FWD_DEFINED__
+#define __KernelLog_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class KernelLog KernelLog;
+#else
+typedef struct KernelLog KernelLog;
+#endif /* __cplusplus */
+
+#endif 	/* __KernelLog_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
+
+#ifndef __IInformation_INTERFACE_DEFINED__
+#define __IInformation_INTERFACE_DEFINED__
+
+/* interface IInformation */
+/* [unique][helpstring][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IInformation;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("0FDFFA99-68D5-4BE0-8984-FB6A3A2C0AAC")
+    IInformation : public IUnknown
+    {
+    public:
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IInformationVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IInformation __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IInformation __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IInformation __RPC_FAR * This);
+        
+        END_INTERFACE
+    } IInformationVtbl;
+
+    interface IInformation
+    {
+        CONST_VTBL struct IInformationVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IInformation_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IInformation_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IInformation_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+
+#endif 	/* __IInformation_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDevice_INTERFACE_DEFINED__
+#define __IDevice_INTERFACE_DEFINED__
+
+/* interface IDevice */
+/* [unique][helpstring][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IDevice;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("6575FAAB-8750-42D2-ADDD-4BE764AA2767")
+    IDevice : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsValid( 
+            /* [out] */ BOOL __RPC_FAR *valid) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDeviceName( 
+            /* [in] */ BSTR devname) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Map( 
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long size) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unmap( 
+            /* [in] */ unsigned long address) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RaiseInterrupt( 
+            /* [in] */ unsigned long inhno) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IDeviceVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IDevice __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IDevice __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IDevice __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
+            IDevice __RPC_FAR * This,
+            /* [out] */ BOOL __RPC_FAR *valid);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDeviceName )( 
+            IDevice __RPC_FAR * This,
+            /* [in] */ BSTR devname);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Map )( 
+            IDevice __RPC_FAR * This,
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long size);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unmap )( 
+            IDevice __RPC_FAR * This,
+            /* [in] */ unsigned long address);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RaiseInterrupt )( 
+            IDevice __RPC_FAR * This,
+            /* [in] */ unsigned long inhno);
+        
+        END_INTERFACE
+    } IDeviceVtbl;
+
+    interface IDevice
+    {
+        CONST_VTBL struct IDeviceVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IDevice_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDevice_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IDevice_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define IDevice_IsValid(This,valid)	\
+    (This)->lpVtbl -> IsValid(This,valid)
+
+#define IDevice_SetDeviceName(This,devname)	\
+    (This)->lpVtbl -> SetDeviceName(This,devname)
+
+#define IDevice_Map(This,address,size)	\
+    (This)->lpVtbl -> Map(This,address,size)
+
+#define IDevice_Unmap(This,address)	\
+    (This)->lpVtbl -> Unmap(This,address)
+
+#define IDevice_RaiseInterrupt(This,inhno)	\
+    (This)->lpVtbl -> RaiseInterrupt(This,inhno)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDevice_IsValid_Proxy( 
+    IDevice __RPC_FAR * This,
+    /* [out] */ BOOL __RPC_FAR *valid);
+
+
+void __RPC_STUB IDevice_IsValid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDevice_SetDeviceName_Proxy( 
+    IDevice __RPC_FAR * This,
+    /* [in] */ BSTR devname);
+
+
+void __RPC_STUB IDevice_SetDeviceName_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDevice_Map_Proxy( 
+    IDevice __RPC_FAR * This,
+    /* [in] */ unsigned long address,
+    /* [in] */ unsigned long size);
+
+
+void __RPC_STUB IDevice_Map_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDevice_Unmap_Proxy( 
+    IDevice __RPC_FAR * This,
+    /* [in] */ unsigned long address);
+
+
+void __RPC_STUB IDevice_Unmap_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDevice_RaiseInterrupt_Proxy( 
+    IDevice __RPC_FAR * This,
+    /* [in] */ unsigned long inhno);
+
+
+void __RPC_STUB IDevice_RaiseInterrupt_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* __IDevice_INTERFACE_DEFINED__ */
+
+
+#ifndef ___IDeviceEvents_INTERFACE_DEFINED__
+#define ___IDeviceEvents_INTERFACE_DEFINED__
+
+/* interface _IDeviceEvents */
+/* [object][helpstring][uuid] */ 
+
+
+EXTERN_C const IID IID__IDeviceEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("DA93137D-FB52-4421-B95D-9077340AD03B")
+    _IDeviceEvents : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRead( 
+            /* [in] */ long address,
+            /* [in] */ long sz,
+            /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnWrite( 
+            /* [in] */ long address,
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnKernelStart( void) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnKernelExit( void) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IDeviceEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            _IDeviceEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            _IDeviceEvents __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            _IDeviceEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRead )( 
+            _IDeviceEvents __RPC_FAR * This,
+            /* [in] */ long address,
+            /* [in] */ long sz,
+            /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnWrite )( 
+            _IDeviceEvents __RPC_FAR * This,
+            /* [in] */ long address,
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnKernelStart )( 
+            _IDeviceEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnKernelExit )( 
+            _IDeviceEvents __RPC_FAR * This);
+        
+        END_INTERFACE
+    } _IDeviceEventsVtbl;
+
+    interface _IDeviceEvents
+    {
+        CONST_VTBL struct _IDeviceEventsVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IDeviceEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IDeviceEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IDeviceEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IDeviceEvents_OnRead(This,address,sz,data)	\
+    (This)->lpVtbl -> OnRead(This,address,sz,data)
+
+#define _IDeviceEvents_OnWrite(This,address,sz,data)	\
+    (This)->lpVtbl -> OnWrite(This,address,sz,data)
+
+#define _IDeviceEvents_OnKernelStart(This)	\
+    (This)->lpVtbl -> OnKernelStart(This)
+
+#define _IDeviceEvents_OnKernelExit(This)	\
+    (This)->lpVtbl -> OnKernelExit(This)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IDeviceEvents_OnRead_Proxy( 
+    _IDeviceEvents __RPC_FAR * This,
+    /* [in] */ long address,
+    /* [in] */ long sz,
+    /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB _IDeviceEvents_OnRead_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IDeviceEvents_OnWrite_Proxy( 
+    _IDeviceEvents __RPC_FAR * This,
+    /* [in] */ long address,
+    /* [in] */ long sz,
+    /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB _IDeviceEvents_OnWrite_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IDeviceEvents_OnKernelStart_Proxy( 
+    _IDeviceEvents __RPC_FAR * This);
+
+
+void __RPC_STUB _IDeviceEvents_OnKernelStart_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IDeviceEvents_OnKernelExit_Proxy( 
+    _IDeviceEvents __RPC_FAR * This);
+
+
+void __RPC_STUB _IDeviceEvents_OnKernelExit_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* ___IDeviceEvents_INTERFACE_DEFINED__ */
+
+
+#ifndef __IKernel_INTERFACE_DEFINED__
+#define __IKernel_INTERFACE_DEFINED__
+
+/* interface IKernel */
+/* [unique][helpstring][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IKernel;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("D3E42099-3FDD-4A78-BDBD-4E57D362F5ED")
+    IKernel : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Read( 
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long sz,
+            /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsValid( 
+            /* [out] */ BOOL __RPC_FAR *valid) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Write( 
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLogEvent( 
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IKernelVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IKernel __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IKernel __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IKernel __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
+            IKernel __RPC_FAR * This,
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long sz,
+            /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
+            IKernel __RPC_FAR * This,
+            /* [out] */ BOOL __RPC_FAR *valid);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
+            IKernel __RPC_FAR * This,
+            /* [in] */ unsigned long address,
+            /* [in] */ unsigned long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnLogEvent )( 
+            IKernel __RPC_FAR * This,
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+        
+        END_INTERFACE
+    } IKernelVtbl;
+
+    interface IKernel
+    {
+        CONST_VTBL struct IKernelVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IKernel_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IKernel_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IKernel_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define IKernel_Read(This,address,sz,data)	\
+    (This)->lpVtbl -> Read(This,address,sz,data)
+
+#define IKernel_IsValid(This,valid)	\
+    (This)->lpVtbl -> IsValid(This,valid)
+
+#define IKernel_Write(This,address,sz,data)	\
+    (This)->lpVtbl -> Write(This,address,sz,data)
+
+#define IKernel_OnLogEvent(This,sz,data)	\
+    (This)->lpVtbl -> OnLogEvent(This,sz,data)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IKernel_Read_Proxy( 
+    IKernel __RPC_FAR * This,
+    /* [in] */ unsigned long address,
+    /* [in] */ unsigned long sz,
+    /* [length_is][size_is][out] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB IKernel_Read_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IKernel_IsValid_Proxy( 
+    IKernel __RPC_FAR * This,
+    /* [out] */ BOOL __RPC_FAR *valid);
+
+
+void __RPC_STUB IKernel_IsValid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IKernel_Write_Proxy( 
+    IKernel __RPC_FAR * This,
+    /* [in] */ unsigned long address,
+    /* [in] */ unsigned long sz,
+    /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB IKernel_Write_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IKernel_OnLogEvent_Proxy( 
+    IKernel __RPC_FAR * This,
+    /* [in] */ long sz,
+    /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB IKernel_OnLogEvent_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* __IKernel_INTERFACE_DEFINED__ */
+
+
+#ifndef ___IKernelEvents_INTERFACE_DEFINED__
+#define ___IKernelEvents_INTERFACE_DEFINED__
+
+/* interface _IKernelEvents */
+/* [object][helpstring][uuid] */ 
+
+
+EXTERN_C const IID IID__IKernelEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("1353969D-E84F-463F-B211-337E9BCFB99E")
+    _IKernelEvents : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnInterruptRequest( 
+            /* [in] */ unsigned long inhno) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IKernelEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            _IKernelEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            _IKernelEvents __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            _IKernelEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnInterruptRequest )( 
+            _IKernelEvents __RPC_FAR * This,
+            /* [in] */ unsigned long inhno);
+        
+        END_INTERFACE
+    } _IKernelEventsVtbl;
+
+    interface _IKernelEvents
+    {
+        CONST_VTBL struct _IKernelEventsVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IKernelEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IKernelEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IKernelEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IKernelEvents_OnInterruptRequest(This,inhno)	\
+    (This)->lpVtbl -> OnInterruptRequest(This,inhno)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IKernelEvents_OnInterruptRequest_Proxy( 
+    _IKernelEvents __RPC_FAR * This,
+    /* [in] */ unsigned long inhno);
+
+
+void __RPC_STUB _IKernelEvents_OnInterruptRequest_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* ___IKernelEvents_INTERFACE_DEFINED__ */
+
+
+#ifndef ___IInformationEvents_INTERFACE_DEFINED__
+#define ___IInformationEvents_INTERFACE_DEFINED__
+
+/* interface _IInformationEvents */
+/* [object][helpstring][uuid] */ 
+
+
+EXTERN_C const IID IID__IInformationEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("11E125BE-FC60-4DC9-8393-DC393B556D06")
+    _IInformationEvents : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDeviceChanged( 
+            short reason,
+            long devid,
+            long extra) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnKernelChanged( 
+            short reason) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IInformationEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            _IInformationEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            _IInformationEvents __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            _IInformationEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDeviceChanged )( 
+            _IInformationEvents __RPC_FAR * This,
+            short reason,
+            long devid,
+            long extra);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnKernelChanged )( 
+            _IInformationEvents __RPC_FAR * This,
+            short reason);
+        
+        END_INTERFACE
+    } _IInformationEventsVtbl;
+
+    interface _IInformationEvents
+    {
+        CONST_VTBL struct _IInformationEventsVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IInformationEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IInformationEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IInformationEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IInformationEvents_OnDeviceChanged(This,reason,devid,extra)	\
+    (This)->lpVtbl -> OnDeviceChanged(This,reason,devid,extra)
+
+#define _IInformationEvents_OnKernelChanged(This,reason)	\
+    (This)->lpVtbl -> OnKernelChanged(This,reason)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IInformationEvents_OnDeviceChanged_Proxy( 
+    _IInformationEvents __RPC_FAR * This,
+    short reason,
+    long devid,
+    long extra);
+
+
+void __RPC_STUB _IInformationEvents_OnDeviceChanged_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IInformationEvents_OnKernelChanged_Proxy( 
+    _IInformationEvents __RPC_FAR * This,
+    short reason);
+
+
+void __RPC_STUB _IInformationEvents_OnKernelChanged_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* ___IInformationEvents_INTERFACE_DEFINED__ */
+
+
+#ifndef __IKernelLog_INTERFACE_DEFINED__
+#define __IKernelLog_INTERFACE_DEFINED__
+
+/* interface IKernelLog */
+/* [unique][helpstring][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IKernelLog;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("395F900A-AC7E-4A78-9BC1-EE5EF76254FF")
+    IKernelLog : public IUnknown
+    {
+    public:
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IKernelLogVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IKernelLog __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IKernelLog __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IKernelLog __RPC_FAR * This);
+        
+        END_INTERFACE
+    } IKernelLogVtbl;
+
+    interface IKernelLog
+    {
+        CONST_VTBL struct IKernelLogVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IKernelLog_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IKernelLog_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IKernelLog_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+
+#endif 	/* __IKernelLog_INTERFACE_DEFINED__ */
+
+
+#ifndef ___IKernelLogEvents_INTERFACE_DEFINED__
+#define ___IKernelLogEvents_INTERFACE_DEFINED__
+
+/* interface _IKernelLogEvents */
+/* [object][helpstring][uuid] */ 
+
+
+EXTERN_C const IID IID__IKernelLogEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("35E35399-55ED-45FC-8F0B-4A1BC6CEA3F0")
+    _IKernelLogEvents : public IUnknown
+    {
+    public:
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnKernelStart( void) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnKernelExit( void) = 0;
+        
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLogEvent( 
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IKernelLogEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            _IKernelLogEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            _IKernelLogEvents __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            _IKernelLogEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnKernelStart )( 
+            _IKernelLogEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnKernelExit )( 
+            _IKernelLogEvents __RPC_FAR * This);
+        
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnLogEvent )( 
+            _IKernelLogEvents __RPC_FAR * This,
+            /* [in] */ long sz,
+            /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+        
+        END_INTERFACE
+    } _IKernelLogEventsVtbl;
+
+    interface _IKernelLogEvents
+    {
+        CONST_VTBL struct _IKernelLogEventsVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IKernelLogEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IKernelLogEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IKernelLogEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IKernelLogEvents_OnKernelStart(This)	\
+    (This)->lpVtbl -> OnKernelStart(This)
+
+#define _IKernelLogEvents_OnKernelExit(This)	\
+    (This)->lpVtbl -> OnKernelExit(This)
+
+#define _IKernelLogEvents_OnLogEvent(This,sz,data)	\
+    (This)->lpVtbl -> OnLogEvent(This,sz,data)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IKernelLogEvents_OnKernelStart_Proxy( 
+    _IKernelLogEvents __RPC_FAR * This);
+
+
+void __RPC_STUB _IKernelLogEvents_OnKernelStart_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IKernelLogEvents_OnKernelExit_Proxy( 
+    _IKernelLogEvents __RPC_FAR * This);
+
+
+void __RPC_STUB _IKernelLogEvents_OnKernelExit_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE _IKernelLogEvents_OnLogEvent_Proxy( 
+    _IKernelLogEvents __RPC_FAR * This,
+    /* [in] */ long sz,
+    /* [length_is][size_is][in] */ byte __RPC_FAR data[  ]);
+
+
+void __RPC_STUB _IKernelLogEvents_OnLogEvent_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* ___IKernelLogEvents_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __ATLDEVICEMANAGERLib_LIBRARY_DEFINED__
+#define __ATLDEVICEMANAGERLib_LIBRARY_DEFINED__
+
+/* library ATLDEVICEMANAGERLib */
+/* [helpstring][version][uuid] */ 
+
+
+EXTERN_C const IID LIBID_ATLDEVICEMANAGERLib;
+
+EXTERN_C const CLSID CLSID_Device;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("FEE2A68B-7F98-40E0-9853-183EE68BC7F8")
+Device;
+#endif
+
+EXTERN_C const CLSID CLSID_Information;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("D7AAF617-008A-4961-BB51-041CFD490ED3")
+Information;
+#endif
+
+EXTERN_C const CLSID CLSID_Kernel;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("51789667-9F20-40AF-AF7F-9856325DFB0B")
+Kernel;
+#endif
+
+EXTERN_C const CLSID CLSID_KernelLog;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("4BD327FC-9E4A-4A5D-9503-27C979A8E802")
+KernelLog;
+#endif
+#endif /* __ATLDEVICEMANAGERLib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
+unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
+unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
+void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.idl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.idl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.idl	(revision 26)
@@ -0,0 +1,198 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanager.idl,v 1.6 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+
+    [
+        object,
+        uuid(0FDFFA99-68D5-4BE0-8984-FB6A3A2C0AAC),
+        helpstring("IInformation Interface"),
+        pointer_default(unique)
+    ]
+    interface IInformation : IUnknown
+    {
+    };
+
+    [
+        object,
+        uuid(6575FAAB-8750-42D2-ADDD-4BE764AA2767), 
+        helpstring("IDevice Interface"),
+        pointer_default(unique)
+    ]
+    interface IDevice : IUnknown
+    {
+        [helpstring("Method IsValid")] HRESULT IsValid([out]BOOL * valid);
+        [helpstring("Method SetDeviceName")] HRESULT SetDeviceName([in]BSTR devname);
+        [helpstring("Method Map")] HRESULT Map([in]unsigned long address, [in]unsigned long size);
+        [helpstring("Method Unmap")] HRESULT Unmap([in]unsigned long address);
+        [helpstring("Method RaiseInterrupt")] HRESULT RaiseInterrupt([in]unsigned long inhno);
+    };
+
+    [
+        uuid(DA93137D-FB52-4421-B95D-9077340AD03B),
+        helpstring("_IDeviceEvents Interface")
+    ]
+    interface _IDeviceEvents : IUnknown
+    {
+        [helpstring("Method OnRead")] HRESULT OnRead([in]long address, [in]long sz, [out,size_is(sz),length_is(sz)] byte data []);
+        [helpstring("Method OnWrite")] HRESULT OnWrite([in]long address, [in]long sz, [in,size_is(sz),length_is(sz)] byte data []);
+        [helpstring("Method OnKernelStart")] HRESULT OnKernelStart();
+        [helpstring("Method OnKernelExit")] HRESULT OnKernelExit();
+    };
+
+    [
+        object,
+        uuid(D3E42099-3FDD-4A78-BDBD-4E57D362F5ED),
+        helpstring("IKernel Interface"),
+        pointer_default(unique)
+    ]
+    interface IKernel : IUnknown
+    {
+        [helpstring("Method Read")] HRESULT Read([in]unsigned long address, [in] unsigned long sz, [out,size_is(sz),length_is(sz)] byte data []);
+        [helpstring("Method IsValid")] HRESULT IsValid([out]BOOL * valid);
+        [helpstring("Method Write")] HRESULT Write([in]unsigned long address, [in]unsigned long sz, [in,size_is(sz),length_is(sz)] byte data []);
+        [helpstring("ã¡ã½ãã OnLogEvent")] HRESULT OnLogEvent([in] long sz, [in,size_is(sz), length_is(sz)] byte data []);
+    };
+
+
+    [
+        uuid(1353969D-E84F-463F-B211-337E9BCFB99E),
+        helpstring("_IKernelEvents Interface")
+    ]
+    interface _IKernelEvents : IUnknown
+    {
+        [helpstring("Method OnInterruptRequest")] HRESULT OnInterruptRequest([in]unsigned long inhno);
+    };
+
+    [
+        uuid(11E125BE-FC60-4DC9-8393-DC393B556D06),
+        helpstring("_IInformationEvents Interface")
+    ]
+    interface _IInformationEvents : IUnknown
+    {
+        [helpstring("Method OnDeviceChanged")] HRESULT OnDeviceChanged(short reason, long devid, long extra);
+        [helpstring("Method OnKernelChanged")] HRESULT OnKernelChanged(short reason);
+    };
+    [
+        object,
+        uuid(395F900A-AC7E-4A78-9BC1-EE5EF76254FF),
+    
+        helpstring("IKernelLog Interface"),
+        pointer_default(unique)
+    ]
+    interface IKernelLog : IUnknown
+    {
+    };
+    [
+        uuid(35E35399-55ED-45FC-8F0B-4A1BC6CEA3F0),
+        helpstring("_IKernelLogEvents Interface")
+    ]
+    interface _IKernelLogEvents : IUnknown
+    {
+        [helpstring("ã¡ã½ãã OnKernelStart")] HRESULT OnKernelStart();
+        [helpstring("ã¡ã½ãã OnKernelExit")] HRESULT OnKernelExit();
+        [helpstring("ã¡ã½ãã OnLogEvent")] HRESULT OnLogEvent([in] long sz, [in, size_is(sz), length_is(sz)] byte data []);
+    };
+
+[
+    uuid(F15F5272-83F3-42C3-874C-E4FF2B904AC2),
+    version(1.0),
+    helpstring("Toppers JSP on Windows DeviceManager 1.0 Type Library")
+]
+library ATLDEVICEMANAGERLib
+{
+    importlib("stdole32.tlb");
+    importlib("stdole2.tlb");
+
+    [
+        uuid(FEE2A68B-7F98-40E0-9853-183EE68BC7F8),
+        helpstring("Device Class")
+    ]
+    coclass Device
+    {
+        [default] interface IDevice;
+        [default, source] interface _IDeviceEvents;
+    };
+
+
+    [
+        uuid(D7AAF617-008A-4961-BB51-041CFD490ED3),
+        helpstring("Information Class")
+    ]
+    coclass Information
+    {
+        [default] interface IInformation;
+        [default, source] interface _IInformationEvents;
+    };
+
+
+    [
+        uuid(51789667-9F20-40AF-AF7F-9856325DFB0B),
+        helpstring("Kernel Class")
+    ]
+    coclass Kernel
+    {
+        [default] interface IKernel;
+        [default, source] interface _IKernelEvents;
+    };
+
+    [
+        uuid(4BD327FC-9E4A-4A5D-9503-27C979A8E802),
+        helpstring("KernelLog Class")
+    ]
+    coclass KernelLog
+    {
+        [default] interface IKernelLog;
+        [default, source] dispinterface _IKernelLogEvents;
+    };
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rc	(revision 26)
@@ -0,0 +1,186 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// æ¥æ¬èª resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    "#include ""winres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    "1 TYPELIB ""devicemanager.tlb""\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "041104B0"
+        BEGIN
+            VALUE "FileDescription", "devicemanager Module"
+            VALUE "FileVersion", "1, 0, 0, 1"
+            VALUE "InternalName", "devicemanager"
+            VALUE "LegalCopyright", "Copyright 2000"
+            VALUE "OriginalFilename", "devicemanager.EXE"
+            VALUE "ProductName", "devicemanager Module"
+            VALUE "ProductVersion", "1, 0, 0, 1"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x411, 1200
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// REGISTRY
+//
+
+IDR_DEVICEMANAGER       REGISTRY                "devicemanager.rgs"
+IDR_DEVICE              REGISTRY                "Device.rgs"
+IDR_INFORMATION         REGISTRY                "Information.rgs"
+IDR_INFORMATION1        REGISTRY                "informat.bin"
+IDR_KERNEL              REGISTRY                "Kernel.rgs"
+IDR_KERNELLOG           REGISTRY                "KernelLog.rgs"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1               ICON                    "icon1.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_DUMMYDIALOG DIALOG  0, 0, 187, 93
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "ãã¤ã¢ã­ã°"
+FONT 9, "ï¼­ï¼³ ï¼°ã´ã·ãã¯"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,130,7,50,14
+    PUSHBUTTON      "ã­ã£ã³ã»ã«",IDCANCEL,130,24,50,14
+END
+
+IDD_MAPLISTDIALOG DIALOGEX 0, 0, 309, 212
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
+    WS_SYSMENU
+CAPTION "ã¡ã¢ãªããã"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,252,191,50,14
+    CONTROL         "",IDC_MAPLIST,"SysListView32",LVS_REPORT | 
+                    LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,295,182
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO 
+BEGIN
+    IDD_DUMMYDIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 180
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 86
+    END
+
+    IDD_MAPLISTDIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 302
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 205
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE 
+BEGIN
+    IDS_PROJNAME            "devicemanager"
+END
+
+#endif    // æ¥æ¬èª resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+1 TYPELIB "devicemanager.tlb"
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager.rgs	(revision 26)
@@ -0,0 +1,11 @@
+HKCR
+{
+	NoRemove AppID
+	{
+		{44CB3B0F-D399-428E-829C-9BD5183AFF51} = s 'ToppersDeviceManager'
+		'devicemanager.EXE'
+		{
+			val AppID = s {44CB3B0F-D399-428E-829C-9BD5183AFF51}
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerCP.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerCP.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerCP.h	(revision 26)
@@ -0,0 +1,287 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanagerCP.h,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef _ATLDEVICEMANAGERCP_H_
+#define _ATLDEVICEMANAGERCP_H_
+
+template <class T>
+class CProxy_IKernelEvents : public IConnectionPointImpl<T, &IID__IKernelEvents, CComDynamicUnkArray>
+{
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnInterruptRequest(ULONG inhno)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IKernelEvents* p_IKernelEvents = reinterpret_cast<_IKernelEvents*>(sp.p);
+			if (p_IKernelEvents != NULL)
+				ret = p_IKernelEvents->OnInterruptRequest(inhno);
+		}	return ret;
+	
+	}
+};
+
+
+
+
+template <class T>
+class CProxy_IDeviceEvents : public IConnectionPointImpl<T, &IID__IDeviceEvents, CComDynamicUnkArray>
+{
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnRead(LONG address, LONG sz, unsigned char * data)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IDeviceEvents* p_IDeviceEvents = reinterpret_cast<_IDeviceEvents*>(sp.p);
+			if (p_IDeviceEvents != NULL)
+				ret = p_IDeviceEvents->OnRead(address, sz, data);
+		}	return ret;
+	
+	}
+	HRESULT Fire_OnWrite(LONG address, LONG sz, unsigned char * data)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IDeviceEvents* p_IDeviceEvents = reinterpret_cast<_IDeviceEvents*>(sp.p);
+			if (p_IDeviceEvents != NULL)
+				ret = p_IDeviceEvents->OnWrite(address, sz,data);
+		}	return ret;
+	
+	}
+	HRESULT Fire_OnKernelStart()
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IDeviceEvents* p_IDeviceEvents = reinterpret_cast<_IDeviceEvents*>(sp.p);
+			if (p_IDeviceEvents != NULL)
+				ret = p_IDeviceEvents->OnKernelStart();
+		}	return ret;
+	
+	}
+	HRESULT Fire_OnKernelExit()
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IDeviceEvents* p_IDeviceEvents = reinterpret_cast<_IDeviceEvents*>(sp.p);
+			if (p_IDeviceEvents != NULL)
+				ret = p_IDeviceEvents->OnKernelExit();
+		}	return ret;
+	
+	}
+};
+
+
+
+
+template <class T>
+class CProxy_IInformationEvents : public IConnectionPointImpl<T, &IID__IInformationEvents, CComDynamicUnkArray>
+{
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnDeviceChanged(SHORT reason, LONG devid, LONG extra = 0)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IInformationEvents* p_IInformationEvents = reinterpret_cast<_IInformationEvents*>(sp.p);
+			if (p_IInformationEvents != NULL)
+				ret = p_IInformationEvents->OnDeviceChanged(reason, devid, extra);
+		}	return ret;
+	
+	}
+	HRESULT Fire_OnKernelChanged(SHORT reason)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IInformationEvents* p_IInformationEvents = reinterpret_cast<_IInformationEvents*>(sp.p);
+			if (p_IInformationEvents != NULL)
+				ret = p_IInformationEvents->OnKernelChanged(reason);
+		}	return ret;
+	
+	}
+};
+
+
+template <class T>
+class CProxy_IKernelLogEvents : public IConnectionPointImpl<T, &IID__IKernelLogEvents, CComDynamicUnkArray>
+{
+public:
+	bool onKernelStart_Performed;
+
+	CProxy_IKernelLogEvents(void) : onKernelStart_Performed(false) {};
+
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnKernelStart()
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+			if (p_IKernelLogEvents != NULL)
+			{
+				if((ret = p_IKernelLogEvents->OnKernelStart()) == S_OK)
+					onKernelStart_Performed = true;
+			}
+		}
+		return ret;
+	}
+
+	HRESULT Fire_OnKernelExit()
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+			if (p_IKernelLogEvents != NULL)
+				ret = p_IKernelLogEvents->OnKernelExit();
+		}
+		onKernelStart_Performed = false;	
+		return ret;
+	}
+
+	HRESULT Fire_OnLogEvent(LONG sz, unsigned char * data)
+	{
+		HRESULT ret;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			_IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+			if (p_IKernelLogEvents != NULL)
+			{
+				if(!onKernelStart_Performed)
+					p_IKernelLogEvents->OnKernelStart();
+				ret = p_IKernelLogEvents->OnLogEvent(sz, data);
+			}
+		}
+		if(nConnectionIndex != 0)
+			onKernelStart_Performed = true;	
+		return ret;	
+	}
+};
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_c.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_c.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_c.c	(revision 26)
@@ -0,0 +1,245 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanager_c.c,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+/* this ALWAYS GENERATED file contains the RPC client stubs */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Sat Dec 30 17:42:51 2000
+ */
+/* Compiler settings for D:\Sources\Program sources\TOPPERS\ATLDevice\ATLDeviceManager\ATLDeviceManager.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#include <string.h>
+#if defined( _ALPHA_ )
+#include <stdarg.h>
+#endif
+
+#include <malloc.h>
+#include "ATLDeviceManager.h"
+
+#define TYPE_FORMAT_STRING_SIZE   3                                 
+#define PROC_FORMAT_STRING_SIZE   29                                
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+/* Standard interface: __MIDL_itf_ATLDeviceManager_0000, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Standard interface: _IKernelEvents, ver. 0.0,
+   GUID={0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}} */
+
+
+
+static const RPC_CLIENT_INTERFACE _IKernelEvents___RpcClientInterface =
+    {
+    sizeof(RPC_CLIENT_INTERFACE),
+    {{0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}},{0,0}},
+    {{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}},
+    0,
+    0,
+    0,
+    0,
+    0,
+    0
+    };
+RPC_IF_HANDLE _IKernelEvents_v0_0_c_ifspec = (RPC_IF_HANDLE)& _IKernelEvents___RpcClientInterface;
+
+extern const MIDL_STUB_DESC _IKernelEvents_StubDesc;
+
+static RPC_BINDING_HANDLE _IKernelEvents__MIDL_AutoBindHandle;
+
+
+/* [helpstring] */ HRESULT OnInterruptRequest( 
+    /* [in] */ unsigned long inhno)
+{
+
+    CLIENT_CALL_RETURN _RetVal;
+
+    
+#if defined( _ALPHA_ )
+    va_list vlist;
+#endif
+    
+#if defined( _ALPHA_ )
+    va_start(vlist,inhno);
+    _RetVal = NdrClientCall2(
+                  ( PMIDL_STUB_DESC  )&_IKernelEvents_StubDesc,
+                  (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0],
+                  vlist.a0);
+#elif defined( _PPC_ ) || defined( _MIPS_ )
+
+    _RetVal = NdrClientCall2(
+                  ( PMIDL_STUB_DESC  )&_IKernelEvents_StubDesc,
+                  (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0],
+                  ( unsigned char __RPC_FAR * )&inhno);
+#else
+    _RetVal = NdrClientCall2(
+                  ( PMIDL_STUB_DESC  )&_IKernelEvents_StubDesc,
+                  (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0],
+                  ( unsigned char __RPC_FAR * )&inhno);
+#endif
+    return ( HRESULT  )_RetVal.Simple;
+    
+}
+
+
+static const MIDL_STUB_DESC _IKernelEvents_StubDesc = 
+    {
+    (void __RPC_FAR *)& _IKernelEvents___RpcClientInterface,
+    MIDL_user_allocate,
+    MIDL_user_free,
+    &_IKernelEvents__MIDL_AutoBindHandle,
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x20000, /* Ndr library version */
+    0,
+    0x50100a4, /* MIDL Version 5.1.164 */
+    0,
+    0,
+    0,  /* notify & notify_flag routine table */
+    1,  /* Flags */
+    0,  /* Reserved3 */
+    0,  /* Reserved4 */
+    0   /* Reserved5 */
+    };
+
+#if !defined(__RPC_WIN32__)
+#error  Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT40_OR_LATER)
+#error You need a Windows NT 4.0 or later to run this stub because it uses these features:
+#error   -Oif or -Oicf, more than 32 methods in the interface.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+
+	/* Procedure OnInterruptRequest */
+
+			0x33,		/* FC_AUTO_HANDLE */
+			0x48,		/* Old Flags:  */
+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */
+/*  6 */	NdrFcShort( 0x0 ),	/* 0 */
+#ifndef _ALPHA_
+/*  8 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 14 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter inhno */
+
+/* 16 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 18 */	NdrFcShort( 0x0 ),	/* x86, MIPS, PPC Stack size/offset = 0 */
+#else
+			NdrFcShort( 0x0 ),	/* Alpha Stack size/offset = 0 */
+#endif
+/* 20 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 22 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 24 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 26 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+			0x0
+        }
+    };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+			NdrFcShort( 0x0 ),	/* 0 */
+
+			0x0
+        }
+    };
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_i.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_i.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_i.c	(revision 26)
@@ -0,0 +1,80 @@
+/* this file contains the actual definitions of */
+/* the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Thu Oct 23 16:29:48 2003
+ */
+/* Compiler settings for C:\Temporary\Archives\jsp\jsp\windev\devicemanager\devicemanager.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+#ifdef __cplusplus
+extern "C"{
+#endif 
+
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+    unsigned long x;
+    unsigned short s1;
+    unsigned short s2;
+    unsigned char  c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+const IID IID_IInformation = {0x0FDFFA99,0x68D5,0x4BE0,{0x89,0x84,0xFB,0x6A,0x3A,0x2C,0x0A,0xAC}};
+
+
+const IID IID_IDevice = {0x6575FAAB,0x8750,0x42D2,{0xAD,0xDD,0x4B,0xE7,0x64,0xAA,0x27,0x67}};
+
+
+const IID IID__IDeviceEvents = {0xDA93137D,0xFB52,0x4421,{0xB9,0x5D,0x90,0x77,0x34,0x0A,0xD0,0x3B}};
+
+
+const IID IID_IKernel = {0xD3E42099,0x3FDD,0x4A78,{0xBD,0xBD,0x4E,0x57,0xD3,0x62,0xF5,0xED}};
+
+
+const IID IID__IKernelEvents = {0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}};
+
+
+const IID IID__IInformationEvents = {0x11E125BE,0xFC60,0x4DC9,{0x83,0x93,0xDC,0x39,0x3B,0x55,0x6D,0x06}};
+
+
+const IID IID_IKernelLog = {0x395F900A,0xAC7E,0x4A78,{0x9B,0xC1,0xEE,0x5E,0xF7,0x62,0x54,0xFF}};
+
+
+const IID IID__IKernelLogEvents = {0x35E35399,0x55ED,0x45FC,{0x8F,0x0B,0x4A,0x1B,0xC6,0xCE,0xA3,0xF0}};
+
+
+const IID LIBID_ATLDEVICEMANAGERLib = {0xF15F5272,0x83F3,0x42C3,{0x87,0x4C,0xE4,0xFF,0x2B,0x90,0x4A,0xC2}};
+
+
+const CLSID CLSID_Device = {0xFEE2A68B,0x7F98,0x40E0,{0x98,0x53,0x18,0x3E,0xE6,0x8B,0xC7,0xF8}};
+
+
+const CLSID CLSID_Information = {0xD7AAF617,0x008A,0x4961,{0xBB,0x51,0x04,0x1C,0xFD,0x49,0x0E,0xD3}};
+
+
+const CLSID CLSID_Kernel = {0x51789667,0x9F20,0x40AF,{0xAF,0x7F,0x98,0x56,0x32,0x5D,0xFB,0x0B}};
+
+
+const CLSID CLSID_KernelLog = {0x4BD327FC,0x9E4A,0x4A5D,{0x95,0x03,0x27,0xC9,0x79,0xA8,0xE8,0x02}};
+
+
+#ifdef __cplusplus
+}
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_p.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_p.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_p.c	(revision 26)
@@ -0,0 +1,1518 @@
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Thu Oct 23 16:29:48 2003
+ */
+/* Compiler settings for C:\Temporary\Archives\jsp\jsp\windev\devicemanager\devicemanager.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 440
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif // __RPCPROXY_H_VERSION__
+
+
+#include "devicemanager.h"
+
+#define TYPE_FORMAT_STRING_SIZE   83                                
+#define PROC_FORMAT_STRING_SIZE   587                               
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+
+/* Object interface: IUnknown, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IInformation, ver. 0.0,
+   GUID={0x0FDFFA99,0x68D5,0x4BE0,{0x89,0x84,0xFB,0x6A,0x3A,0x2C,0x0A,0xAC}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+#pragma code_seg(".orpc")
+CINTERFACE_PROXY_VTABLE(3) _IInformationProxyVtbl = 
+{
+    0,
+    &IID_IInformation,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy
+};
+
+const CInterfaceStubVtbl _IInformationStubVtbl =
+{
+    &IID_IInformation,
+    0,
+    3,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IDevice, ver. 0.0,
+   GUID={0x6575FAAB,0x8750,0x42D2,{0xAD,0xDD,0x4B,0xE7,0x64,0xAA,0x27,0x67}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IDevice_ServerInfo;
+
+#pragma code_seg(".orpc")
+static const unsigned short IDevice_FormatStringOffsetTable[] = 
+    {
+    0,
+    28,
+    56,
+    90,
+    118
+    };
+
+static const MIDL_SERVER_INFO IDevice_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IDevice_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IDevice_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IDevice_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(8) _IDeviceProxyVtbl = 
+{
+    &IDevice_ProxyInfo,
+    &IID_IDevice,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* IDevice::IsValid */ ,
+    (void *)-1 /* IDevice::SetDeviceName */ ,
+    (void *)-1 /* IDevice::Map */ ,
+    (void *)-1 /* IDevice::Unmap */ ,
+    (void *)-1 /* IDevice::RaiseInterrupt */
+};
+
+const CInterfaceStubVtbl _IDeviceStubVtbl =
+{
+    &IID_IDevice,
+    &IDevice_ServerInfo,
+    8,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: _IDeviceEvents, ver. 0.0,
+   GUID={0xDA93137D,0xFB52,0x4421,{0xB9,0x5D,0x90,0x77,0x34,0x0A,0xD0,0x3B}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO _IDeviceEvents_ServerInfo;
+
+#pragma code_seg(".orpc")
+static const unsigned short _IDeviceEvents_FormatStringOffsetTable[] = 
+    {
+    146,
+    186,
+    226,
+    248
+    };
+
+static const MIDL_SERVER_INFO _IDeviceEvents_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &_IDeviceEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO _IDeviceEvents_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &_IDeviceEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(7) __IDeviceEventsProxyVtbl = 
+{
+    &_IDeviceEvents_ProxyInfo,
+    &IID__IDeviceEvents,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* _IDeviceEvents::OnRead */ ,
+    (void *)-1 /* _IDeviceEvents::OnWrite */ ,
+    (void *)-1 /* _IDeviceEvents::OnKernelStart */ ,
+    (void *)-1 /* _IDeviceEvents::OnKernelExit */
+};
+
+const CInterfaceStubVtbl __IDeviceEventsStubVtbl =
+{
+    &IID__IDeviceEvents,
+    &_IDeviceEvents_ServerInfo,
+    7,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IKernel, ver. 0.0,
+   GUID={0xD3E42099,0x3FDD,0x4A78,{0xBD,0xBD,0x4E,0x57,0xD3,0x62,0xF5,0xED}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IKernel_ServerInfo;
+
+#pragma code_seg(".orpc")
+static const unsigned short IKernel_FormatStringOffsetTable[] = 
+    {
+    270,
+    310,
+    338,
+    378
+    };
+
+static const MIDL_SERVER_INFO IKernel_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IKernel_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IKernel_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IKernel_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(7) _IKernelProxyVtbl = 
+{
+    &IKernel_ProxyInfo,
+    &IID_IKernel,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* IKernel::Read */ ,
+    (void *)-1 /* IKernel::IsValid */ ,
+    (void *)-1 /* IKernel::Write */ ,
+    (void *)-1 /* IKernel::OnLogEvent */
+};
+
+const CInterfaceStubVtbl _IKernelStubVtbl =
+{
+    &IID_IKernel,
+    &IKernel_ServerInfo,
+    7,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: _IKernelEvents, ver. 0.0,
+   GUID={0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO _IKernelEvents_ServerInfo;
+
+#pragma code_seg(".orpc")
+static const unsigned short _IKernelEvents_FormatStringOffsetTable[] = 
+    {
+    412
+    };
+
+static const MIDL_SERVER_INFO _IKernelEvents_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &_IKernelEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO _IKernelEvents_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &_IKernelEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(4) __IKernelEventsProxyVtbl = 
+{
+    &_IKernelEvents_ProxyInfo,
+    &IID__IKernelEvents,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* _IKernelEvents::OnInterruptRequest */
+};
+
+const CInterfaceStubVtbl __IKernelEventsStubVtbl =
+{
+    &IID__IKernelEvents,
+    &_IKernelEvents_ServerInfo,
+    4,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: _IInformationEvents, ver. 0.0,
+   GUID={0x11E125BE,0xFC60,0x4DC9,{0x83,0x93,0xDC,0x39,0x3B,0x55,0x6D,0x06}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO _IInformationEvents_ServerInfo;
+
+#pragma code_seg(".orpc")
+static const unsigned short _IInformationEvents_FormatStringOffsetTable[] = 
+    {
+    440,
+    480
+    };
+
+static const MIDL_SERVER_INFO _IInformationEvents_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &_IInformationEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO _IInformationEvents_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &_IInformationEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(5) __IInformationEventsProxyVtbl = 
+{
+    &_IInformationEvents_ProxyInfo,
+    &IID__IInformationEvents,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* _IInformationEvents::OnDeviceChanged */ ,
+    (void *)-1 /* _IInformationEvents::OnKernelChanged */
+};
+
+const CInterfaceStubVtbl __IInformationEventsStubVtbl =
+{
+    &IID__IInformationEvents,
+    &_IInformationEvents_ServerInfo,
+    5,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IKernelLog, ver. 0.0,
+   GUID={0x395F900A,0xAC7E,0x4A78,{0x9B,0xC1,0xEE,0x5E,0xF7,0x62,0x54,0xFF}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+#pragma code_seg(".orpc")
+CINTERFACE_PROXY_VTABLE(3) _IKernelLogProxyVtbl = 
+{
+    0,
+    &IID_IKernelLog,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy
+};
+
+const CInterfaceStubVtbl _IKernelLogStubVtbl =
+{
+    &IID_IKernelLog,
+    0,
+    3,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: _IKernelLogEvents, ver. 0.0,
+   GUID={0x35E35399,0x55ED,0x45FC,{0x8F,0x0B,0x4A,0x1B,0xC6,0xCE,0xA3,0xF0}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO _IKernelLogEvents_ServerInfo;
+
+#pragma code_seg(".orpc")
+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1];
+
+static const MIDL_STUB_DESC Object_StubDesc = 
+    {
+    0,
+    NdrOleAllocate,
+    NdrOleFree,
+    0,
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x20000, /* Ndr library version */
+    0,
+    0x50100a4, /* MIDL Version 5.1.164 */
+    0,
+    UserMarshalRoutines,
+    0,  /* notify & notify_flag routine table */
+    1,  /* Flags */
+    0,  /* Reserved3 */
+    0,  /* Reserved4 */
+    0   /* Reserved5 */
+    };
+
+static const unsigned short _IKernelLogEvents_FormatStringOffsetTable[] = 
+    {
+    508,
+    530,
+    552
+    };
+
+static const MIDL_SERVER_INFO _IKernelLogEvents_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &_IKernelLogEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO _IKernelLogEvents_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &_IKernelLogEvents_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(6) __IKernelLogEventsProxyVtbl = 
+{
+    &_IKernelLogEvents_ProxyInfo,
+    &IID__IKernelLogEvents,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    (void *)-1 /* _IKernelLogEvents::OnKernelStart */ ,
+    (void *)-1 /* _IKernelLogEvents::OnKernelExit */ ,
+    (void *)-1 /* _IKernelLogEvents::OnLogEvent */
+};
+
+const CInterfaceStubVtbl __IKernelLogEventsStubVtbl =
+{
+    &IID__IKernelLogEvents,
+    &_IKernelLogEvents_ServerInfo,
+    6,
+    0, /* pure interpreted */
+    CStdStubBuffer_METHODS
+};
+
+#pragma data_seg(".rdata")
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1] = 
+        {
+            
+            {
+            BSTR_UserSize
+            ,BSTR_UserMarshal
+            ,BSTR_UserUnmarshal
+            ,BSTR_UserFree
+            }
+
+        };
+
+
+#if !defined(__RPC_WIN32__)
+#error  Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT40_OR_LATER)
+#error You need a Windows NT 4.0 or later to run this stub because it uses these features:
+#error   -Oif or -Oicf, [wire_marshal] or [user_marshal] attribute, more than 32 methods in the interface.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+
+	/* Procedure IsValid */
+
+			0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */
+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/*  8 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 12 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 14 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter valid */
+
+/* 16 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 18 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 20 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 22 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 24 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 26 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure SetDeviceName */
+
+/* 28 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 30 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 34 */	NdrFcShort( 0x4 ),	/* 4 */
+#ifndef _ALPHA_
+/* 36 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 40 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 42 */	0x6,		/* Oi2 Flags:  clt must size, has return, */
+			0x2,		/* 2 */
+
+	/* Parameter devname */
+
+/* 44 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */
+#ifndef _ALPHA_
+/* 46 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 48 */	NdrFcShort( 0x1e ),	/* Type Offset=30 */
+
+	/* Return value */
+
+/* 50 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 52 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 54 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure Map */
+
+/* 56 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 58 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 62 */	NdrFcShort( 0x5 ),	/* 5 */
+#ifndef _ALPHA_
+/* 64 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 66 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 68 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 70 */	0x4,		/* Oi2 Flags:  has return, */
+			0x3,		/* 3 */
+
+	/* Parameter address */
+
+/* 72 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 74 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 76 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter size */
+
+/* 78 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 80 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 82 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 84 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 86 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 88 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure Unmap */
+
+/* 90 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 92 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 96 */	NdrFcShort( 0x6 ),	/* 6 */
+#ifndef _ALPHA_
+/* 98 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 100 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 102 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 104 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter address */
+
+/* 106 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 108 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 110 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 112 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 114 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 116 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure RaiseInterrupt */
+
+/* 118 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 120 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 124 */	NdrFcShort( 0x7 ),	/* 7 */
+#ifndef _ALPHA_
+/* 126 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 128 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 130 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 132 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter inhno */
+
+/* 134 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 136 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 138 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 140 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 142 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 144 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnRead */
+
+/* 146 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 148 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 152 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/* 154 */	NdrFcShort( 0x14 ),	/* x86, MIPS, PPC Stack size/offset = 20 */
+#else
+			NdrFcShort( 0x28 ),	/* Alpha Stack size/offset = 40 */
+#endif
+/* 156 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 158 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 160 */	0x5,		/* Oi2 Flags:  srv must size, has return, */
+			0x4,		/* 4 */
+
+	/* Parameter address */
+
+/* 162 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 164 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 166 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter sz */
+
+/* 168 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 170 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 172 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 174 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */
+#ifndef _ALPHA_
+/* 176 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 178 */	NdrFcShort( 0x28 ),	/* Type Offset=40 */
+
+	/* Return value */
+
+/* 180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 182 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 184 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnWrite */
+
+/* 186 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 188 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 192 */	NdrFcShort( 0x4 ),	/* 4 */
+#ifndef _ALPHA_
+/* 194 */	NdrFcShort( 0x14 ),	/* x86, MIPS, PPC Stack size/offset = 20 */
+#else
+			NdrFcShort( 0x28 ),	/* Alpha Stack size/offset = 40 */
+#endif
+/* 196 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 198 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 200 */	0x6,		/* Oi2 Flags:  clt must size, has return, */
+			0x4,		/* 4 */
+
+	/* Parameter address */
+
+/* 202 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 204 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 206 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter sz */
+
+/* 208 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 210 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 212 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 214 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */
+#ifndef _ALPHA_
+/* 216 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 218 */	NdrFcShort( 0x28 ),	/* Type Offset=40 */
+
+	/* Return value */
+
+/* 220 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 222 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 224 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnKernelStart */
+
+/* 226 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 228 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 232 */	NdrFcShort( 0x5 ),	/* 5 */
+#ifndef _ALPHA_
+/* 234 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 236 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 238 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 240 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 244 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 246 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnKernelExit */
+
+/* 248 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 250 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 254 */	NdrFcShort( 0x6 ),	/* 6 */
+#ifndef _ALPHA_
+/* 256 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 258 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 260 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 262 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 264 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 266 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 268 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure Read */
+
+/* 270 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 272 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 276 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/* 278 */	NdrFcShort( 0x14 ),	/* x86, MIPS, PPC Stack size/offset = 20 */
+#else
+			NdrFcShort( 0x28 ),	/* Alpha Stack size/offset = 40 */
+#endif
+/* 280 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 282 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 284 */	0x5,		/* Oi2 Flags:  srv must size, has return, */
+			0x4,		/* 4 */
+
+	/* Parameter address */
+
+/* 286 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 288 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 290 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter sz */
+
+/* 292 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 294 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 296 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 298 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */
+#ifndef _ALPHA_
+/* 300 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 302 */	NdrFcShort( 0x36 ),	/* Type Offset=54 */
+
+	/* Return value */
+
+/* 304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 306 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 308 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure IsValid */
+
+/* 310 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 312 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 316 */	NdrFcShort( 0x4 ),	/* 4 */
+#ifndef _ALPHA_
+/* 318 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 320 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 322 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 324 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter valid */
+
+/* 326 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 328 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 330 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 332 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 334 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 336 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure Write */
+
+/* 338 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 340 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 344 */	NdrFcShort( 0x5 ),	/* 5 */
+#ifndef _ALPHA_
+/* 346 */	NdrFcShort( 0x14 ),	/* x86, MIPS, PPC Stack size/offset = 20 */
+#else
+			NdrFcShort( 0x28 ),	/* Alpha Stack size/offset = 40 */
+#endif
+/* 348 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 350 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 352 */	0x6,		/* Oi2 Flags:  clt must size, has return, */
+			0x4,		/* 4 */
+
+	/* Parameter address */
+
+/* 354 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 356 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 358 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter sz */
+
+/* 360 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 362 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 364 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 366 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */
+#ifndef _ALPHA_
+/* 368 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 370 */	NdrFcShort( 0x36 ),	/* Type Offset=54 */
+
+	/* Return value */
+
+/* 372 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 374 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 376 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnLogEvent */
+
+/* 378 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 380 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 384 */	NdrFcShort( 0x6 ),	/* 6 */
+#ifndef _ALPHA_
+/* 386 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 388 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 390 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 392 */	0x6,		/* Oi2 Flags:  clt must size, has return, */
+			0x3,		/* 3 */
+
+	/* Parameter sz */
+
+/* 394 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 396 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 398 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 400 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */
+#ifndef _ALPHA_
+/* 402 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 404 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */
+
+	/* Return value */
+
+/* 406 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 408 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 410 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnInterruptRequest */
+
+/* 412 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 414 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 418 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/* 420 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 422 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 424 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 426 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter inhno */
+
+/* 428 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 430 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 432 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 434 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 436 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 438 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnDeviceChanged */
+
+/* 440 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 442 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 446 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/* 448 */	NdrFcShort( 0x14 ),	/* x86, MIPS, PPC Stack size/offset = 20 */
+#else
+			NdrFcShort( 0x28 ),	/* Alpha Stack size/offset = 40 */
+#endif
+/* 450 */	NdrFcShort( 0x16 ),	/* 22 */
+/* 452 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 454 */	0x4,		/* Oi2 Flags:  has return, */
+			0x4,		/* 4 */
+
+	/* Parameter reason */
+
+/* 456 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 458 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 460 */	0x6,		/* FC_SHORT */
+			0x0,		/* 0 */
+
+	/* Parameter devid */
+
+/* 462 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 464 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 466 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter extra */
+
+/* 468 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 470 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 472 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 474 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 476 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 478 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnKernelChanged */
+
+/* 480 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 482 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 486 */	NdrFcShort( 0x4 ),	/* 4 */
+#ifndef _ALPHA_
+/* 488 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 490 */	NdrFcShort( 0x6 ),	/* 6 */
+/* 492 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 494 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter reason */
+
+/* 496 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 498 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 500 */	0x6,		/* FC_SHORT */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 502 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 504 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 506 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnKernelStart */
+
+/* 508 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 510 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 514 */	NdrFcShort( 0x3 ),	/* 3 */
+#ifndef _ALPHA_
+/* 516 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 520 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 522 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 526 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 528 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnKernelExit */
+
+/* 530 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 532 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 536 */	NdrFcShort( 0x4 ),	/* 4 */
+#ifndef _ALPHA_
+/* 538 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 540 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 542 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 544 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 546 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 548 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 550 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure OnLogEvent */
+
+/* 552 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 554 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 558 */	NdrFcShort( 0x5 ),	/* 5 */
+#ifndef _ALPHA_
+/* 560 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 562 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 564 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 566 */	0x6,		/* Oi2 Flags:  clt must size, has return, */
+			0x3,		/* 3 */
+
+	/* Parameter sz */
+
+/* 568 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 570 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 572 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter data */
+
+/* 574 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */
+#ifndef _ALPHA_
+/* 576 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 578 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */
+
+	/* Return value */
+
+/* 580 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 582 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 584 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+			0x0
+        }
+    };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+			NdrFcShort( 0x0 ),	/* 0 */
+/*  2 */	
+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
+/*  4 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/*  6 */	
+			0x12, 0x0,	/* FC_UP */
+/*  8 */	NdrFcShort( 0xc ),	/* Offset= 12 (20) */
+/* 10 */	
+			0x1b,		/* FC_CARRAY */
+			0x1,		/* 1 */
+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 14 */	0x9,		/* Corr desc: FC_ULONG */
+			0x0,		/*  */
+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */
+/* 18 */	0x6,		/* FC_SHORT */
+			0x5b,		/* FC_END */
+/* 20 */	
+			0x17,		/* FC_CSTRUCT */
+			0x3,		/* 3 */
+/* 22 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 24 */	NdrFcShort( 0xfffffff2 ),	/* Offset= -14 (10) */
+/* 26 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 28 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 30 */	0xb4,		/* FC_USER_MARSHAL */
+			0x83,		/* 131 */
+/* 32 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 34 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 36 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 38 */	NdrFcShort( 0xffffffe0 ),	/* Offset= -32 (6) */
+/* 40 */	
+			0x1c,		/* FC_CVARRAY */
+			0x0,		/* 0 */
+/* 42 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 44 */	0x28,		/* Corr desc:  parameter, FC_LONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 46 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 48 */	0x28,		/* Corr desc:  parameter, FC_LONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 50 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 52 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+/* 54 */	
+			0x1c,		/* FC_CVARRAY */
+			0x0,		/* 0 */
+/* 56 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 58 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 60 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 62 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 64 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 66 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+/* 68 */	
+			0x1c,		/* FC_CVARRAY */
+			0x0,		/* 0 */
+/* 70 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 72 */	0x28,		/* Corr desc:  parameter, FC_LONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 74 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 76 */	0x28,		/* Corr desc:  parameter, FC_LONG */
+			0x0,		/*  */
+#ifndef _ALPHA_
+/* 78 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 80 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+
+			0x0
+        }
+    };
+
+const CInterfaceProxyVtbl * _devicemanager_ProxyVtblList[] = 
+{
+    ( CInterfaceProxyVtbl *) &_IKernelLogProxyVtbl,
+    ( CInterfaceProxyVtbl *) &__IDeviceEventsProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IKernelProxyVtbl,
+    ( CInterfaceProxyVtbl *) &__IKernelLogEventsProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IInformationProxyVtbl,
+    ( CInterfaceProxyVtbl *) &__IKernelEventsProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IDeviceProxyVtbl,
+    ( CInterfaceProxyVtbl *) &__IInformationEventsProxyVtbl,
+    0
+};
+
+const CInterfaceStubVtbl * _devicemanager_StubVtblList[] = 
+{
+    ( CInterfaceStubVtbl *) &_IKernelLogStubVtbl,
+    ( CInterfaceStubVtbl *) &__IDeviceEventsStubVtbl,
+    ( CInterfaceStubVtbl *) &_IKernelStubVtbl,
+    ( CInterfaceStubVtbl *) &__IKernelLogEventsStubVtbl,
+    ( CInterfaceStubVtbl *) &_IInformationStubVtbl,
+    ( CInterfaceStubVtbl *) &__IKernelEventsStubVtbl,
+    ( CInterfaceStubVtbl *) &_IDeviceStubVtbl,
+    ( CInterfaceStubVtbl *) &__IInformationEventsStubVtbl,
+    0
+};
+
+PCInterfaceName const _devicemanager_InterfaceNamesList[] = 
+{
+    "IKernelLog",
+    "_IDeviceEvents",
+    "IKernel",
+    "_IKernelLogEvents",
+    "IInformation",
+    "_IKernelEvents",
+    "IDevice",
+    "_IInformationEvents",
+    0
+};
+
+
+#define _devicemanager_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _devicemanager, pIID, n)
+
+int __stdcall _devicemanager_IID_Lookup( const IID * pIID, int * pIndex )
+{
+    IID_BS_LOOKUP_SETUP
+
+    IID_BS_LOOKUP_INITIAL_TEST( _devicemanager, 8, 4 )
+    IID_BS_LOOKUP_NEXT_TEST( _devicemanager, 2 )
+    IID_BS_LOOKUP_NEXT_TEST( _devicemanager, 1 )
+    IID_BS_LOOKUP_RETURN_RESULT( _devicemanager, 8, *pIndex )
+    
+}
+
+const ExtendedProxyFileInfo devicemanager_ProxyFileInfo = 
+{
+    (PCInterfaceProxyVtblList *) & _devicemanager_ProxyVtblList,
+    (PCInterfaceStubVtblList *) & _devicemanager_StubVtblList,
+    (const PCInterfaceName * ) & _devicemanager_InterfaceNamesList,
+    0, // no delegation
+    & _devicemanager_IID_Lookup, 
+    8,
+    2,
+    0, /* table of [async_uuid] interfaces */
+    0, /* Filler1 */
+    0, /* Filler2 */
+    0  /* Filler3 */
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_s.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_s.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanager_s.c	(revision 26)
@@ -0,0 +1,239 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: devicemanager_s.c,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+/* this ALWAYS GENERATED file contains the RPC server stubs */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Sat Dec 30 17:42:51 2000
+ */
+/* Compiler settings for D:\Sources\Program sources\TOPPERS\ATLDevice\ATLDeviceManager\ATLDeviceManager.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#include <string.h>
+#include "ATLDeviceManager.h"
+
+#define TYPE_FORMAT_STRING_SIZE   3                                 
+#define PROC_FORMAT_STRING_SIZE   29                                
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+/* Standard interface: __MIDL_itf_ATLDeviceManager_0000, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Standard interface: _IKernelEvents, ver. 0.0,
+   GUID={0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}} */
+
+
+extern const MIDL_SERVER_INFO _IKernelEvents_ServerInfo;
+
+extern RPC_DISPATCH_TABLE _IKernelEvents_v0_0_DispatchTable;
+
+static const RPC_SERVER_INTERFACE _IKernelEvents___RpcServerInterface =
+    {
+    sizeof(RPC_SERVER_INTERFACE),
+    {{0x1353969D,0xE84F,0x463F,{0xB2,0x11,0x33,0x7E,0x9B,0xCF,0xB9,0x9E}},{0,0}},
+    {{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}},
+    &_IKernelEvents_v0_0_DispatchTable,
+    0,
+    0,
+    0,
+    &_IKernelEvents_ServerInfo,
+    0
+    };
+RPC_IF_HANDLE _IKernelEvents_v0_0_s_ifspec = (RPC_IF_HANDLE)& _IKernelEvents___RpcServerInterface;
+
+extern const MIDL_STUB_DESC _IKernelEvents_StubDesc;
+
+
+static const MIDL_STUB_DESC _IKernelEvents_StubDesc = 
+    {
+    (void __RPC_FAR *)& _IKernelEvents___RpcServerInterface,
+    MIDL_user_allocate,
+    MIDL_user_free,
+    0,
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x20000, /* Ndr library version */
+    0,
+    0x50100a4, /* MIDL Version 5.1.164 */
+    0,
+    0,
+    0,  /* notify & notify_flag routine table */
+    1,  /* Flags */
+    0,  /* Reserved3 */
+    0,  /* Reserved4 */
+    0   /* Reserved5 */
+    };
+
+static RPC_DISPATCH_FUNCTION _IKernelEvents_table[] =
+    {
+    NdrServerCall2,
+    0
+    };
+RPC_DISPATCH_TABLE _IKernelEvents_v0_0_DispatchTable = 
+    {
+    1,
+    _IKernelEvents_table
+    };
+
+static const SERVER_ROUTINE _IKernelEvents_ServerRoutineTable[] = 
+    {
+    (SERVER_ROUTINE)OnInterruptRequest
+    };
+
+static const unsigned short _IKernelEvents_FormatStringOffsetTable[] = 
+    {
+    0
+    };
+
+static const MIDL_SERVER_INFO _IKernelEvents_ServerInfo = 
+    {
+    &_IKernelEvents_StubDesc,
+    _IKernelEvents_ServerRoutineTable,
+    __MIDL_ProcFormatString.Format,
+    _IKernelEvents_FormatStringOffsetTable,
+    0,
+    0,
+    0,
+    0
+    };
+
+#if !defined(__RPC_WIN32__)
+#error  Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT40_OR_LATER)
+#error You need a Windows NT 4.0 or later to run this stub because it uses these features:
+#error   -Oif or -Oicf, more than 32 methods in the interface.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+
+	/* Procedure OnInterruptRequest */
+
+			0x33,		/* FC_AUTO_HANDLE */
+			0x48,		/* Old Flags:  */
+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */
+/*  6 */	NdrFcShort( 0x0 ),	/* 0 */
+#ifndef _ALPHA_
+/*  8 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 14 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter inhno */
+
+/* 16 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 18 */	NdrFcShort( 0x0 ),	/* x86, MIPS, PPC Stack size/offset = 0 */
+#else
+			NdrFcShort( 0x0 ),	/* Alpha Stack size/offset = 0 */
+#endif
+/* 20 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 22 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 24 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 26 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+			0x0
+        }
+    };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+			NdrFcShort( 0x0 ),	/* 0 */
+
+			0x0
+        }
+    };
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.def	(revision 26)
@@ -0,0 +1,11 @@
+
+LIBRARY      "devicemanagerps"
+
+DESCRIPTION  'Proxy/Stub DLL'
+
+EXPORTS
+	DllGetClassObject       @1	PRIVATE
+	DllCanUnloadNow         @2	PRIVATE
+	GetProxyDllInfo         @3	PRIVATE
+	DllRegisterServer		@4	PRIVATE
+	DllUnregisterServer		@5	PRIVATE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.mk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.mk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/devicemanagerps.mk	(revision 26)
@@ -0,0 +1,16 @@
+
+devicemanagerps.dll: dlldata.obj devicemanager_p.obj devicemanager_i.obj
+	link /dll /out:devicemanagerps.dll /def:devicemanagerps.def /entry:DllMain dlldata.obj devicemanager_p.obj devicemanager_i.obj \
+		kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
+
+.c.obj:
+	cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \
+		$<
+
+clean:
+	@del devicemanagerps.dll
+	@del devicemanagerps.lib
+	@del devicemanagerps.exp
+	@del dlldata.obj
+	@del devicemanager_p.obj
+	@del devicemanager_i.obj
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.cpp	(revision 26)
@@ -0,0 +1,69 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: information.cpp,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "devicemanager.h"
+#include "information.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CInformation
+
+CInformation::CInformation()
+{
+	_Module.AddViewer(this);
+}
+
+CInformation::~CInformation()
+{
+	_Module.RemoveViewer(this);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.h	(revision 26)
@@ -0,0 +1,90 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: information.h,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef __INFORMATION_H_
+#define __INFORMATION_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include "devicemanagerCP.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CInformation
+class ATL_NO_VTABLE CInformation : 
+	public CComObjectRootEx<CComSingleThreadModel>,
+	public CComCoClass<CInformation, &CLSID_Information>,
+	public IConnectionPointContainerImpl<CInformation>,
+	public IInformation,
+	public CProxy_IInformationEvents< CInformation >
+{
+public:
+	CInformation();
+	~CInformation();
+
+DECLARE_REGISTRY_RESOURCEID(IDR_INFORMATION1)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CInformation)
+	COM_INTERFACE_ENTRY(IInformation)
+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+END_COM_MAP()
+BEGIN_CONNECTION_POINT_MAP(CInformation)
+CONNECTION_POINT_ENTRY(IID__IInformationEvents)
+END_CONNECTION_POINT_MAP()
+
+
+// IInformation
+public:
+};
+
+#endif //__INFORMATION_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/information.rgs	(revision 26)
@@ -0,0 +1,47 @@
+HKCR
+{
+	ToppersDeviceManager.Information.1 = s 'Information Class'
+	{
+		CLSID = s '{D7AAF617-008A-4961-BB51-041CFD490ED3}'
+	}
+	ToppersDeviceManager.Information = s 'Information Class'
+	{
+		CLSID = s '{D7AAF617-008A-4961-BB51-041CFD490ED3}'
+		CurVer = s 'ToppersDeviceManager.Information.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {D7AAF617-008A-4961-BB51-041CFD490ED3} = s 'Information Class'
+		{
+			ProgID = s 'ToppersDeviceManager.Information.1'
+			VersionIndependentProgID = s 'ToppersDeviceManager.Information'
+			ForceRemove 'Programmable'
+			LocalServer32 = s '%MODULE%'
+			val AppID = s '{44CB3B0F-D399-428E-829C-9BD5183AFF51}'
+			'TypeLib' = s '{F15F5272-83F3-42C3-874C-E4FF2B904AC2}'
+		}
+	}
+}
+HKCR
+{
+	ToppersDeviceManager.Information.1 = s 'Information Class'
+	{
+		CLSID = s '{D7AAF617-008A-4961-BB51-041CFD490ED3}'
+	}
+	ToppersDeviceManager.Information = s 'Information Class'
+	{
+		CLSID = s '{D7AAF617-008A-4961-BB51-041CFD490ED3}'
+		CurVer = s 'ToppersDeviceManager.Information.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {D7AAF617-008A-4961-BB51-041CFD490ED3} = s 'Information Class'
+		{
+			ProgID = s 'ToppersDeviceManager.Information.1'
+			VersionIndependentProgID = s 'ToppersDeviceManager.Information'
+			LocalServer32 = s '%MODULE%'
+			val AppID = s '{44CB3B0F-D399-428E-829C-9BD5183AFF51}'
+			'TypeLib' = s '{F15F5272-83F3-42C3-874C-E4FF2B904AC2}'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.cpp	(revision 26)
@@ -0,0 +1,95 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernel.cpp,v 1.7 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#include "stdafx.h"
+#include "devicemanager.h"
+#include "kernel.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernel
+
+CKernel::CKernel()
+{
+	Valid = _Module.AttachKernel(this);
+}
+
+CKernel::~CKernel()
+{
+	_Module.DetachKernel(this);
+}
+
+STDMETHODIMP CKernel::IsValid(BOOL *valid)
+{
+	*valid = Valid ? TRUE : FALSE;
+	return S_OK;
+}
+
+STDMETHODIMP CKernel::Read(unsigned long address, unsigned long sz, unsigned char data[])
+{
+	if(Valid && _Module.Read(this,address,sz,data))
+		return S_OK;
+	return E_FAIL;
+}
+
+STDMETHODIMP CKernel::Write(unsigned long address, unsigned long sz, unsigned char data[])
+{
+	if(Valid!=FALSE && _Module.Write(this,address,sz,data))
+		return S_OK;
+	return E_FAIL;
+}
+
+STDMETHODIMP CKernel::OnLogEvent(long sz, unsigned char data[])
+{
+	if(Valid!=FALSE && _Module.OnLogEvent(this,sz,data))
+		return S_OK;
+	return E_FAIL;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.h	(revision 26)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernel.h,v 1.6 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef __KERNEL_H_
+#define __KERNEL_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include "devicemanagerCP.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernel
+class ATL_NO_VTABLE CKernel : 
+	public CComObjectRootEx<CComSingleThreadModel>,
+	public CComCoClass<CKernel, &CLSID_Kernel>,
+	public IConnectionPointContainerImpl<CKernel>,
+	public IKernel,
+	public CProxy_IKernelEvents< CKernel >
+{
+public:
+	CKernel();
+	~CKernel();
+
+DECLARE_REGISTRY_RESOURCEID(IDR_KERNEL)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CKernel)
+	COM_INTERFACE_ENTRY(IKernel)
+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+END_COM_MAP()
+
+BEGIN_CONNECTION_POINT_MAP(CKernel)
+CONNECTION_POINT_ENTRY(IID__IKernelEvents)
+END_CONNECTION_POINT_MAP()
+
+
+// IKernel
+public:
+	STDMETHOD(OnLogEvent)(long sz, unsigned char data []);
+	STDMETHOD(Write)(unsigned long address, unsigned long sz, unsigned char data[]);
+	STDMETHOD(IsValid)(BOOL * valid);
+	STDMETHOD(Read)(unsigned long address, unsigned long sz, unsigned char data[]);
+
+	bool Valid;
+};
+
+#endif //__KERNEL_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernel.rgs	(revision 26)
@@ -0,0 +1,23 @@
+HKCR
+{
+	ToppersDeviceManager.Kernel.1 = s 'Kernel Class'
+	{
+		CLSID = s '{51789667-9F20-40AF-AF7F-9856325DFB0B}'
+	}
+	ToppersDeviceManager.Kernel = s 'Kernel Class'
+	{
+		CLSID = s '{51789667-9F20-40AF-AF7F-9856325DFB0B}'
+		CurVer = s 'ToppersDeviceManager.Kernel.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {51789667-9F20-40AF-AF7F-9856325DFB0B} = s 'Kernel Class'
+		{
+			ProgID = s 'ToppersDeviceManager.Kernel.1'
+			VersionIndependentProgID = s 'ToppersDeviceManager.Kernel'
+			LocalServer32 = s '%MODULE%'
+			val AppID = s '{44CB3B0F-D399-428E-829C-9BD5183AFF51}'
+			'TypeLib' = s '{F15F5272-83F3-42C3-874C-E4FF2B904AC2}'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.cpp	(revision 26)
@@ -0,0 +1,71 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernellog.cpp,v 1.2 2003/12/20 09:19:59 takayuki Exp $
+ */
+
+// KernelLog.cpp : CKernelLog ã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³
+#include "stdafx.h"
+#include "devicemanager.h"
+#include "kernellog.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernelLog
+
+CKernelLog::CKernelLog()
+{
+    _Module.AddLogWatcher(this);
+}
+
+
+CKernelLog::~CKernelLog()
+{
+    _Module.RemoveLogWatcher(this);
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.h	(revision 26)
@@ -0,0 +1,172 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernellog.h,v 1.2 2003/12/20 09:19:59 takayuki Exp $
+ */
+
+// KernelLog.h : CKernelLog ã®å®£è¨
+
+#ifndef __KERNELLOG_H_
+#define __KERNELLOG_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include "devicemanagerCP.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernelLog
+class ATL_NO_VTABLE CKernelLog : 
+    public CComObjectRootEx<CComSingleThreadModel>,
+    public CComCoClass<CKernelLog, &CLSID_KernelLog>,
+    public IConnectionPointContainerImpl<CKernelLog>,
+    public IKernelLog,
+    public CProxy_IKernelLogEvents< CKernelLog >
+{
+public:
+    CKernelLog();
+    ~CKernelLog();
+
+DECLARE_REGISTRY_RESOURCEID(IDR_KERNELLOG)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CKernelLog)
+    COM_INTERFACE_ENTRY(IKernelLog)
+    COM_INTERFACE_ENTRY(IConnectionPointContainer)
+    COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+END_COM_MAP()
+BEGIN_CONNECTION_POINT_MAP(CKernelLog)
+CONNECTION_POINT_ENTRY(IID__IKernelLogEvents)
+END_CONNECTION_POINT_MAP()
+
+
+// IKernelLog
+public:
+};
+
+#endif //__KERNELLOG_H_
+
+
+
+#if 0
+
+template <class T>
+class CProxy_IKernelLogEvents : public IConnectionPointImpl<T, &IID__IKernelLogEvents, CComDynamicUnkArray>
+{
+public:
+    bool onKernelStart_Performed;
+
+    CProxy_IKernelLogEvents(void) : onKernelStart_Performed(false) {};
+
+    //Warning this class may be recreated by the wizard.
+public:
+    HRESULT Fire_OnKernelStart()
+    {
+        HRESULT ret;
+        T* pT = static_cast<T*>(this);
+        int nConnectionIndex;
+        int nConnections = m_vec.GetSize();
+        
+        for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+        {
+            pT->Lock();
+            CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+            pT->Unlock();
+            _IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+            if (p_IKernelLogEvents != NULL)
+                ret = p_IKernelLogEvents->OnKernelStart();
+        }
+        onKernelStart_Performed = true;
+        return ret;
+    }
+
+    HRESULT Fire_OnKernelExit()
+    {
+        HRESULT ret;
+        T* pT = static_cast<T*>(this);
+        int nConnectionIndex;
+        int nConnections = m_vec.GetSize();
+        
+        for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+        {
+            pT->Lock();
+            CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+            pT->Unlock();
+            _IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+            if (p_IKernelLogEvents != NULL)
+                ret = p_IKernelLogEvents->OnKernelExit();
+        }
+        onKernelStart_Performed = false;    
+        return ret;
+    }
+
+    HRESULT Fire_OnLogEvent(LONG sz, unsigned char * data)
+    {
+        HRESULT ret;
+        T* pT = static_cast<T*>(this);
+        int nConnectionIndex;
+        int nConnections = m_vec.GetSize();
+        
+        for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+        {
+            pT->Lock();
+            CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+            pT->Unlock();
+            _IKernelLogEvents* p_IKernelLogEvents = reinterpret_cast<_IKernelLogEvents*>(sp.p);
+            if (p_IKernelLogEvents != NULL)
+            {
+                if(!onKernelStart_Performed)
+                    p_IKernelLogEvents->OnKernelStart();
+                ret = p_IKernelLogEvents->OnLogEvent(sz, data);
+            }
+        }
+        onKernelStart_Performed = true; 
+        return ret; 
+    }
+};
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/kernellog.rgs	(revision 26)
@@ -0,0 +1,23 @@
+HKCR
+{
+	Devicemanager.KernelLog.1 = s 'KernelLog Class'
+	{
+		CLSID = s '{4BD327FC-9E4A-4A5D-9503-27C979A8E802}'
+	}
+	Devicemanager.KernelLog = s 'KernelLog Class'
+	{
+		CLSID = s '{4BD327FC-9E4A-4A5D-9503-27C979A8E802}'
+		CurVer = s 'Devicemanager.KernelLog.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {4BD327FC-9E4A-4A5D-9503-27C979A8E802} = s 'KernelLog Class'
+		{
+			ProgID = s 'Devicemanager.KernelLog.1'
+			VersionIndependentProgID = s 'Devicemanager.KernelLog'
+			LocalServer32 = s '%MODULE%'
+			val AppID = s '{44CB3B0F-D399-428E-829C-9BD5183AFF51}'
+			'TypeLib' = s '{F15F5272-83F3-42C3-874C-E4FF2B904AC2}'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/messages.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/messages.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/messages.h	(revision 26)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: messages.h,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef __MESSAGES_H
+#define __MESSAGES_H
+
+#define MSG_TYP_DEVICE 0x40
+#define MSG_TYP_REQUEST 0x80
+
+	//å¤§ä½å
+±éã®ã¡ãã»ã¼ã¸
+#define MSG_ACK 0
+#define MSG_NAK 1
+
+	//ããã¼ã¸ã£ããããã¤ã¹ã¸ã®ã¡ãã»ã¼ã¸
+#define MSG_DEVREP_INITIALIZE 0x82
+#define MSG_DEVREP_KERNELSTART 0x83
+#define MSG_DEVREP_READ 0x84
+#define MSG_DEVREP_WRITE 0x85
+#define MSG_DEVREP_FINALIZE 0x06
+#define MSG_DEVREP_KERNELEXIT 0x07
+
+	//ããã¤ã¹ããããã¼ã¸ã£ã¸ã®ã¡ãã»ã¼ã¸
+#define MSG_DEVREQ_ADD 0xc2
+#define MSG_DEVREQ_DELETE 0xc3
+#define MSG_DEVREQ_READ 0xc4
+#define MSG_DEVREQ_WRITE 0xc5
+#define MSG_DEVREQ_INTERRUPT 0xc6
+#define MSG_DEVREQ_MAPPING 0xc7
+#define MSG_DEVREQ_UNMAPPING 0xc8
+
+	//ããã¼ã¸ã£ããã«ã¼ãã«ã¸
+#define MSG_KERREP_INTERRUPT 0x86
+
+#define MSG_KERREQ_KEEPALIVE -1
+
+	//ã«ã¼ãã«ããããã¼ã¸ã£ã¸
+#define MSG_KERREQ_KERNELSTART 0x82
+#define MSG_KERREQ_KERNELEXIT 0x83
+#define MSG_KERREQ_READ 0x84
+#define MSG_KERREQ_WRITE 0x85
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/range.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/range.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/range.h	(revision 26)
@@ -0,0 +1,84 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: range.h,v 1.4 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#ifndef __RANGE_H
+#define __RANGE_H
+
+class Range
+{
+protected:
+	unsigned long Base;
+	unsigned long Length;
+
+public:
+	Range(unsigned long b, unsigned long l) : Base(b), Length(l) {};
+	Range(unsigned long b) : Base(b), Length(1) {};
+	Range(const Range & src) : Base(src.Base), Length(src.Length) {};
+
+	bool operator < (const Range & cmp) const
+	{	return Base+(Length-1) < cmp.Base;	};
+
+	bool IsInsideOf(const Range & cmp) const
+	{	return (cmp.Base <= Base) && (cmp.Base + cmp.Length >= Base + Length); };
+
+	bool IsIncludedIn(const Range &cmp) const
+	{	return !(*this < cmp) && !(cmp < *this);	};
+
+	unsigned long GetBase(void) const
+	{	return Base;	};
+
+	unsigned long GetLength(void) const
+	{	return Length;	};
+
+};
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/resource.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/resource.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/resource.h	(revision 26)
@@ -0,0 +1,27 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by devicemanager.rc
+//
+#define IDS_PROJNAME                    100
+#define IDR_ATLDeviceManager            100
+#define IDR_DEVICE                      101
+#define IDR_INFORMATION                 102
+#define IDR_INFORMATION1                103
+#define IDR_KERNEL                      104
+#define IDR_KERNELLOG                   105
+#define IDC_MAPLIST                     201
+#define IDI_ICON1                       202
+#define IDD_DUMMYDIALOG                 203
+#define IDD_DIALOG1                     205
+#define IDD_MAPLISTDIALOG               205
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        206
+#define _APS_NEXT_COMMAND_VALUE         32768
+#define _APS_NEXT_CONTROL_VALUE         202
+#define _APS_NEXT_SYMED_VALUE           106
+#endif
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.cpp	(revision 26)
@@ -0,0 +1,620 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.cpp,v 1.11 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+/*
+ * ããã¤ã¹ããã¼ã¸ã£ æ¬ä½(CExeModule)
+ */
+
+#pragma warning(disable:4786)	//ãããã°æå­åã255æå­ã«åãè©°ãã¾ãã
+#pragma warning(disable:4200)	//éæ¨æºã®æ¡å¼µæ©è½ãä½¿ã£ã¦ãã¾ã (é·ãä¸å®ã®é
+å:465è¡ç®)
+
+#include "stdafx.h"
+
+#ifdef _ATL_STATIC_REGISTRY
+#include <statreg.h>
+#include <statreg.cpp>
+#endif
+
+#include <atlimpl.cpp>
+#include <algorithm>
+
+#include <initguid.h>
+#include "devicemanager.h"
+#include "device.h"
+#include "kernel.h"
+#include "information.h"
+#include "kernellog.h"
+
+using namespace std;
+
+#ifdef _DEBUG
+	DWORD Count;
+	char Buffer[1024];
+	#define DebugOut(x) ::WriteFile(::GetStdHandle(STD_OUTPUT_HANDLE),Buffer, (x), &Count, NULL)
+#else
+	#define DebugOut(x) /##/
+#endif
+
+CExeModule::CExeModule(void) : Kernel(0)
+{
+	::InitializeCriticalSection(&cs);
+}
+
+
+DeviceID CExeModule::AddDevice(CDevice *device)
+{
+	list<CDevice *>::iterator scope;
+	list<CInformation *>::iterator view;
+
+	::EnterCriticalSection(&cs);
+
+	scope = find(DeviceList.begin(), DeviceList.end(), device);
+	if(scope != DeviceList.end())
+	{
+		::LeaveCriticalSection(&cs);
+		return 0;
+	}
+
+	DebugOut(::wsprintfA(Buffer,"AddDevice\n"));
+	view = ViewerList.begin();
+	while(view != ViewerList.end())
+	{
+		(*view)->Fire_OnDeviceChanged(1,reinterpret_cast<long>(device));
+		view ++;
+	}
+
+	DeviceList.push_back(device);
+
+	::LeaveCriticalSection(&cs);
+	return reinterpret_cast<DeviceID>(device);
+}
+
+bool CExeModule::DeleteDevice(CDevice *device)
+{
+	list<CDevice *>::iterator dev;
+	map<Range,CDevice *>::iterator mem[2];
+
+	::EnterCriticalSection(&cs);
+
+	DebugOut(::wsprintfA(Buffer,"DelDevice\n"));
+
+	dev = find(DeviceList.begin(), DeviceList.end(), device);
+	if(dev == DeviceList.end())
+	{
+		::LeaveCriticalSection(&cs);
+		return false;
+	}
+
+	mem[0] = DeviceMap.begin();
+	while(mem[0] != DeviceMap.end())
+	{
+		if((*mem[0]).second == device)
+		{
+			mem[1] = mem[0];
+			mem[0] ++;
+
+			DeviceMap.erase(mem[1]);
+		}else
+			mem[0] ++;
+	}
+
+	DeviceList.erase(dev);
+
+	list<CInformation *>::iterator view;
+	view = ViewerList.begin();
+	while(view != ViewerList.end())
+	{
+		(*view)->Fire_OnDeviceChanged(2,reinterpret_cast<long>(device));
+		view ++;
+	}
+
+	::LeaveCriticalSection(&cs);
+	return true;
+}
+
+bool CExeModule::Map(CDevice *device, Range area)
+{
+	map<Range,CDevice *>::iterator scope;
+
+	::EnterCriticalSection(&cs);
+	
+
+	scope = DeviceMap.begin();
+	while(scope != DeviceMap.end())
+	{
+		if( area.IsIncludedIn((*scope).first) )
+		{
+			::LeaveCriticalSection(&cs);
+			return false;
+		}
+		scope ++;
+	}
+
+	DeviceMap[area] = device;
+
+	DebugOut(::wsprintfA(Buffer,"Map\n"));
+	list<CInformation *>::iterator view;
+	view = ViewerList.begin();
+	while(view != ViewerList.end())
+	{
+		(*view)->Fire_OnDeviceChanged(3,reinterpret_cast<long>(device),area.GetBase());
+		view ++;
+	}
+
+	::LeaveCriticalSection(&cs);
+	return true;
+}
+
+
+bool CExeModule::Unmap(CDevice *device, unsigned long address)
+{
+	map<Range,CDevice *>::iterator scope;
+	Range work(address);
+
+	::EnterCriticalSection(&cs);
+
+	scope = DeviceMap.begin();
+	while(scope != DeviceMap.end())
+	{
+		if( (*scope).second == device && work.IsIncludedIn((*scope).first) )
+		{
+			DeviceMap.erase(scope);
+
+			DebugOut(::wsprintfA(Buffer,"Unmap\n"));
+			list<CInformation *>::iterator view;
+			view = ViewerList.begin();
+			while(view != ViewerList.end())
+			{
+				(*view)->Fire_OnDeviceChanged(4,reinterpret_cast<long>(device),address);
+				view ++;
+			}
+
+			::LeaveCriticalSection(&cs);
+
+			return true;
+		}
+		scope ++;
+	}
+	::LeaveCriticalSection(&cs);
+
+	return false;
+}
+
+void CExeModule::AddViewer(CInformation *view)
+{
+	list<CInformation *>::iterator scope;
+
+	::EnterCriticalSection(&cs);
+	scope = find(ViewerList.begin(), ViewerList.end(), view);
+	if(scope == ViewerList.end())
+		ViewerList.push_back(view);
+	::LeaveCriticalSection(&cs);
+}
+
+void CExeModule::RemoveViewer(CInformation *view)
+{
+	list<CInformation *>::iterator scope;
+
+	::EnterCriticalSection(&cs);
+	scope = find(ViewerList.begin(), ViewerList.end(), view);
+	if(scope != ViewerList.end())
+		ViewerList.erase(scope);
+	::LeaveCriticalSection(&cs);
+}
+
+bool CExeModule::AttachKernel(CKernel *kernel)
+{
+	bool result = false;
+	list<CDevice *>::iterator scope;
+	list<CInformation *>::iterator view;
+	list<CKernelLog *>::iterator watcher;
+
+	DebugOut(::wsprintfA(Buffer,"AttachKernel\n"));
+
+	::EnterCriticalSection(&cs);
+	if((Kernel != 0) && (Kernel != kernel))
+	{
+			//å²è¾¼ã¿-1 => ã«ã¼ãã«ã®KeepAlive
+		if(FAILED(Kernel->Fire_OnInterruptRequest(-1)))
+		{
+				//æ¥ç¶ãå¤±ã£ãã«ã¼ãã«ã®ãã¿ãã
+			DetachKernel(Kernel);
+		}else
+		{
+				//æ¥ç¶æ¸ã¿ã«ã¼ãã«ããã
+			if(::MessageBox(NULL,_T("æ°ããã«ã¼ãã«ãèµ·åãããããã¤ã¹ããã¼ã¸ã£ã«æ¥ç¶ãããã¨ãã¦ãã¾ãã\næ°ããã«ã¼ãã«ã«æ¥ç¶å
+ãåãæ¿ãã¾ãã?"),_T("TOPPERS/JSP Windows - DeviceManager"),MB_YESNO) == IDYES)
+				DetachKernel(Kernel);
+		}
+	}
+
+	if(Kernel == 0)
+	{
+		Kernel = kernel;
+
+		scope = DeviceList.begin();
+		while(scope != DeviceList.end())
+		{
+			(*scope)->Fire_OnKernelStart();
+			scope ++;
+		}
+
+		view = ViewerList.begin();
+		while(view != ViewerList.end())
+		{
+			(*view)->Fire_OnKernelChanged(1);
+			view ++;
+		}
+
+		watcher = WatcherList.begin();
+		while(watcher != WatcherList.end())
+		{
+			(*watcher)->Fire_OnKernelStart();
+			watcher ++;
+		}
+
+		DebugOut(::wsprintfA(Buffer,"AttachKernel was performed successfully\n"));
+		result = true;
+	}
+	::LeaveCriticalSection(&cs);
+
+	return result;
+}
+
+bool CExeModule::DetachKernel(CKernel *kernel)
+{
+	bool result;
+	list<CDevice *>::iterator scope;
+	list<CInformation *>::iterator view;
+	list<CKernelLog *>::iterator watcher;
+
+	DebugOut(::wsprintfA(Buffer,"DetachKernel\n"));
+
+	::EnterCriticalSection(&cs);
+	if( (result = Kernel == kernel) )
+	{
+		scope = DeviceList.begin();
+		while(scope != DeviceList.end())
+		{
+			(*scope)->Fire_OnKernelExit();
+			scope ++;
+		}
+
+		view = ViewerList.begin();
+		while(view != ViewerList.end())
+		{
+			(*view)->Fire_OnKernelChanged(2);
+			view ++;
+		}
+
+		watcher = WatcherList.begin();
+		while(watcher != WatcherList.end())
+		{
+			(*watcher)->Fire_OnKernelExit();
+			watcher ++;
+		}
+
+		Kernel = 0l;
+		DebugOut(::wsprintfA(Buffer,"DetachKernel was performed successfully\n"));
+	}
+	::LeaveCriticalSection(&cs);
+
+	return result;
+}
+
+bool CExeModule::Read(CKernel * kernel, unsigned long address, unsigned long sz, unsigned char data[])
+{
+	bool result;
+	map<Range,CDevice *>::iterator scope;
+
+	DebugOut(::wsprintfA(Buffer,"Read\n"));
+
+	::EnterCriticalSection(&cs);
+
+	if(Kernel != kernel)
+	{
+		::LeaveCriticalSection(&cs);
+
+		DebugOut(::wsprintfA(Buffer,"Illegal Kernel\n"));
+		
+		return false;
+	}
+
+	scope = DeviceMap.find(Range(address,sz));
+	
+	result = (scope != DeviceMap.end());
+	if(result)
+		(*scope).second->Fire_OnRead(address, sz, data);
+
+	::LeaveCriticalSection(&cs);
+
+	return result;
+
+}
+
+bool CExeModule::Write(CKernel *kernel, unsigned long address, unsigned long sz, unsigned char *data)
+{
+	bool result;
+	map<Range,CDevice *>::iterator scope;
+
+	DebugOut(::wsprintfA(Buffer,"Write\n"));
+
+	::EnterCriticalSection(&cs);
+
+	if(Kernel != kernel)
+	{
+		::LeaveCriticalSection(&cs);
+		DebugOut(::wsprintfA(Buffer,"Request performed by Illegal Kernel\n"));
+		return false;
+	}
+
+	scope = DeviceMap.find(Range(address,sz));
+	
+	result = (scope != DeviceMap.end());
+	if(result)
+	{
+		DebugOut(::wsprintfA(Buffer,"FireWrite\n"));
+		(*scope).second->Fire_OnWrite(address, sz,data);
+	}
+	::LeaveCriticalSection(&cs);
+
+	return result;
+}
+
+bool CExeModule::RaiseInterrupt(unsigned long inhno)
+{
+	bool result = false;
+
+	::EnterCriticalSection(&cs);
+
+	if(Kernel != 0 && Kernel->Fire_OnInterruptRequest(inhno) >= 0)
+		result = true;
+
+	::LeaveCriticalSection(&cs);
+
+	return result;
+}
+
+bool CExeModule::AddLogWatcher(CKernelLog * watcher)
+{
+	if( find(WatcherList.begin(), WatcherList.end(), watcher) != WatcherList.end() )
+		return false;	//å¤éç»é²
+
+	::EnterCriticalSection(&cs);
+	WatcherList.push_back(watcher);
+	::LeaveCriticalSection(&cs);
+
+	DebugOut(::wsprintfA(Buffer,"Log watcher inserted into the queue successfully\n"));
+
+	return true;
+}
+
+
+void CExeModule::RemoveLogWatcher(CKernelLog * watcher)
+{
+	list<CKernelLog *>::iterator scope;
+
+	::EnterCriticalSection(&cs);
+	scope = find(WatcherList.begin(), WatcherList.end(), watcher);
+	if(scope != WatcherList.end())
+		WatcherList.erase(scope);
+	::LeaveCriticalSection(&cs);
+
+	DebugOut(::wsprintfA(Buffer,"Log watcher removed from the queue successfully\n"));
+}
+
+
+
+/*
+ *  ã­ã°æ
+å ±ã®ç¨®å¥ã®å®ç¾©
+ */
+#define LOG_TYP_INTERRUPT	0x01	/* å²è¾¼ã¿ãã³ãã© */
+#define LOG_TYP_ISR			0x02	/* å²è¾¼ã¿ãµã¼ãã¹ãã³ãã© */
+#define LOG_TYP_TIMERHDR	0x03	/* ã¿ã¤ã ã¤ãã³ããã³ãã© */
+#define LOG_TYP_CPUEXC		0x04	/* CPUä¾å¤ãã³ãã© */
+#define LOG_TYP_TSKEXC		0x05	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+#define LOG_TYP_TSKSTAT		0x06	/* ã¿ã¹ã¯ç¶æ
+å¤å */
+#define LOG_TYP_DISPATCH	0x07	/* ãã£ã¹ãããã£ */
+#define LOG_TYP_SVC			0x08	/* ãµã¼ãã¹ã³ã¼ã« */
+#define LOG_TYP_COMMENT		0x09	/* ã³ã¡ã³ãï¼æå­åã®ã¿ã®ã­ã°ï¼ */
+#define LOG_ENTER			0x00	/* å
+¥å£ï¼éå§ */
+#define LOG_LEAVE			0x80	/* åºå£ï¼çµäº */
+
+
+typedef	unsigned int BITMASK;
+
+typedef struct {
+		unsigned int	logtype;
+		unsigned int	logtim;
+		BITMASK			valid;
+		unsigned int	bufsz;
+		unsigned char	buf[];
+	} DBIFLOG;
+#define DBIFLOG_BUFMARGIN (sizeof(unsigned int)*4)
+
+bool CExeModule::OnLogEvent(CKernel *kernel, long sz, unsigned char *data)
+{
+	list<CKernelLog *>::iterator scope;
+
+#if 0
+
+	DBIFLOG * log = reinterpret_cast<DBIFLOG *>(data);
+	
+	DebugOut(::wsprintfA(Buffer,"LOG <%08x> ",log->logtim));
+	switch(log->logtype)
+	{
+	case LOG_TYP_TSKSTAT:
+		DebugOut(::wsprintfA(Buffer,"[STATUS] Tsk:%d ",*(int*)log->buf));
+		switch(*((int*)log->buf+1))
+		{
+		case 0x01:
+		case 0x02:
+			DebugOut(::wsprintfA(Buffer,"<Runnable [Ready+Running]>\n",*(int*)log->buf));
+			break;
+		case 0x04:
+		case 0x0c:
+			if(*((int*)log->buf+1) == 0x04)
+				DebugOut(::wsprintfA(Buffer,"<Waiting : "));
+			else
+				DebugOut(::wsprintfA(Buffer,"<Wait-Suspend : "));
+
+			switch(*((int*)log->buf+2))
+			{
+			case 0x1:
+				DebugOut(::wsprintfA(Buffer,"Sleep>\n"));
+				break;
+			case 0x2:
+				DebugOut(::wsprintfA(Buffer,"Delay>\n"));
+				break;
+			case 0x4:
+				DebugOut(::wsprintfA(Buffer,"Semaphore>\n"));
+				break;
+			default:
+				DebugOut(::wsprintfA(Buffer," complex [%04x]>\n", *((int*)log->buf+2)));
+				break;
+			}
+
+			break;
+		case 0x08:
+			DebugOut(::wsprintfA(Buffer,"<Suspended>\n"));
+			break;
+		case 0x10:
+			DebugOut(::wsprintfA(Buffer,"<Dormant>\n"));
+			break;
+		default:
+			DebugOut(::wsprintfA(Buffer,"<Unknown : %d>",*(int*)log->buf));
+			break;
+		}
+		break;
+
+	case LOG_TYP_TSKEXC:
+		DebugOut(::wsprintfA(Buffer,"[TSKEXC|ENT] Tsk:%d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_TSKEXC | LOG_LEAVE:
+		DebugOut(::wsprintfA(Buffer,"[TSKEXC|LEA] Tsk:%d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_DISPATCH:
+		if(*((int*)log->buf+1) == 0)
+			DebugOut(::wsprintfA(Buffer,"[DSP|ENT] Tsk:%d Task-context\n",*(int*)log->buf));
+		else
+			DebugOut(::wsprintfA(Buffer,"[DSP|ENT] Tsk:%d Nontask-context\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_DISPATCH | LOG_LEAVE:
+		DebugOut(::wsprintfA(Buffer,"[DSP|LEA] Tsk:%d\n",*(int*)log->buf));		
+		break;
+
+	case LOG_TYP_COMMENT:
+		DebugOut(::wsprintfA(Buffer,"[COMMENT (%d)] : ",log->bufsz));
+		::WriteFile(::GetStdHandle(STD_OUTPUT_HANDLE), log->buf, log->bufsz-1, &Count, NULL);
+		break;
+	
+	case LOG_TYP_INTERRUPT:
+		DebugOut(::wsprintfA(Buffer,"[INT|ENT] %d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_INTERRUPT | LOG_LEAVE:
+		DebugOut(::wsprintfA(Buffer,"[INT|LEA] %d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_CPUEXC:
+		DebugOut(::wsprintfA(Buffer,"[CPUEXC|ENT] Tsk:%d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_CPUEXC | LOG_LEAVE:
+		DebugOut(::wsprintfA(Buffer,"[CPUEXC|LEA] Tsk:%d\n",*(int*)log->buf));
+		break;
+
+	case LOG_TYP_TIMERHDR:
+	case LOG_TYP_TIMERHDR | LOG_LEAVE:
+		if((log->logtype & LOG_LEAVE) != 0)
+			DebugOut(::wsprintfA(Buffer,"[INT|LEA]"));
+		else
+			DebugOut(::wsprintfA(Buffer,"[INT|ENT]"));
+
+		if( *(int*)log->buf == 0x8d )
+			DebugOut(::wsprintfA(Buffer," cyclic "));
+		else
+			DebugOut(::wsprintfA(Buffer," OBJ(%02x) ", *(int*)log->buf));
+
+		DebugOut(::wsprintf(Buffer," ID:%d  EXINF:0x%08x\n",*((int*)log->buf+1), *((int*)log->buf+2)));
+		break;
+
+	default:
+		DebugOut(::wsprintfA(Buffer,"[UNKNOWN:0x%x]\n",log->logtype));
+	};
+#endif
+	
+	if(Kernel != kernel)
+	{
+		DebugOut(::wsprintfA(Buffer,"Request performed by Illegal Kernel\n"));
+		return false;
+	}
+
+	::EnterCriticalSection(&cs);
+	scope = WatcherList.begin();
+	while(scope != WatcherList.end())
+	{
+		(*scope)->Fire_OnLogEvent(sz, data);
+		scope ++;
+	}
+	::LeaveCriticalSection(&cs);
+
+	return true;
+}
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/devicemanager/stdafx.h	(revision 26)
@@ -0,0 +1,127 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.h,v 1.5 2003/12/24 07:40:42 takayuki Exp $
+ */
+
+#if !defined(AFX_STDAFX_H__4015F3E9_0639_43DE_A5EE_C32ECAFDFC74__INCLUDED_)
+#define AFX_STDAFX_H__4015F3E9_0639_43DE_A5EE_C32ECAFDFC74__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define STRICT
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0400
+#endif
+#define _ATL_APARTMENT_THREADED
+
+#pragma warning(push)
+#pragma warning(disable:4786)
+
+#include <list>
+#include <map>
+#include "range.h"
+#include "messages.h"
+
+typedef unsigned long DeviceID;
+
+#include <atlbase.h>
+// CComModule ã¯ã©ã¹ããæ´¾çããã¯ã©ã¹ãä½¿ç¨ãã¦ããªã¼ãã¼ã©ã¤ãããå ´å
+// _Module ã®ååã¯å¤æ´ããªãã§ãã ããã
+class CExeModule : public CComModule
+{
+public:
+	bool OnLogEvent(class CKernel * kernel, long sz, unsigned char * data);
+	void RemoveLogWatcher(class CKernelLog * watcher);
+	bool AddLogWatcher(class CKernelLog * watcher);
+	bool RaiseInterrupt(unsigned long inhno);
+	bool Write(class CKernel * kernel, unsigned long address, unsigned long sz, unsigned char data[]);
+	bool Read(class CKernel * kernel, unsigned long address, unsigned long sz, unsigned char data[]);
+	bool DetachKernel(class CKernel * kernel);
+	bool AttachKernel(class CKernel * kernel);
+	void RemoveViewer(class CInformation * view);
+	void AddViewer(class CInformation * view);
+	bool Unmap(class CDevice * device, unsigned long address);
+	bool Map(class CDevice * device, Range map);
+	bool DeleteDevice(class CDevice * device);
+	DeviceID AddDevice(class CDevice * device);
+
+		//åæã«ä½ãããé¨å
+	LONG Unlock();
+	DWORD dwThreadID;
+	HANDLE hEventShutdown;
+	void MonitorShutdown();
+	bool StartMonitor();
+	bool bActivity;
+
+
+		//èªåã§ä½ã£ãé¨å
+	CRITICAL_SECTION cs;
+	class CKernel * Kernel;
+
+	std::map<Range, class CDevice *> DeviceMap;
+	std::list<class CDevice *> DeviceList;
+	std::list<class CInformation *> ViewerList;
+	std::list<class CKernelLog *> WatcherList;
+	
+	CExeModule(void);
+	
+};
+extern CExeModule _Module;
+#include <atlcom.h>
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ ã¯åè¡ã®ç´åã«è¿½å ã®å®£è¨ãæ¿å
+¥ãã¾ãã
+
+#pragma warning(pop)
+
+#endif // !defined(AFX_STDAFX_H__4015F3E9_0639_43DE_A5EE_C32ECAFDFC74__INCLUDED)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/make.vbs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/make.vbs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/make.vbs	(revision 26)
@@ -0,0 +1,100 @@
+' TOPPERS/JSP Kernel
+'     Toyohashi Open Platform for Embedded Real-Time Systems/
+'     Just Standard Profile Kernel
+'
+' Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+'                             Toyohashi Univ. of Technology, JAPAN
+'
+' ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+' ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+' è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+' ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+' å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+' (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+'     æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+'     ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+' (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'     ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+'     è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+'     ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+' (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+'     ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+'     ã¨ï¼
+'   (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+'       ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+'   (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+'       å ±åãããã¨ï¼
+' (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+'     å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+'
+' æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+' ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+' å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+' æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+'
+' @(#) $Id: make.vbs,v 1.8 2003/12/26 03:50:06 honda Exp $
+'
+
+dim model
+dim msdev
+dim rootdir
+
+rootdir = left(Wscript.ScriptFullName, len(Wscript.scriptfullname) - len(wscript.scriptname))
+
+if msgbox("TOPPERS/JSP Windows ããã¤ã¹ããã¼ã¸ã£ ããã³ ATLããã¤ã¹ã³ã³ãã­ã¼ã«ãçæãã¾ãï¼å¦çãéå§ãã¦ãããããã§ãã?", vbYesno) = vbyes then
+
+	if msgbox("ãªãªã¼ã¹ãã«ããã¾ãã? (ããããããé¸ã¶ã¨ãããã°å¯è½ãªå®è¡ãã¡ã¤ã«ãçæãã¾ã)",vbyesno) = vbyes then
+		model = " - Win32 Unicode Release MinDependency"
+	else
+		model = " - Win32 Debug"
+	end if
+
+		'Visual C++ ã®èµ·å
+	set msdev = CreateObject("MSDEV.APPLICATION")
+	msdev.visible = true
+
+		'ããã¤ã¹ããã¼ã¸ã£ã®çæ
+	msdev.documents.open rootdir + "devicemanager\devicemanager.dsw"
+	set msdev.activeproject = msdev.projects("devicemanager")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("devicemanager" + model)
+	msdev.build
+
+		'ããã¤ã¹ã³ã³ãã­ã¼ã©ã®çæ
+	msdev.documents.open rootdir + "devicecontrol\device.dsw"
+	set msdev.activeproject = msdev.projects("device")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("device" + model)
+	msdev.build
+
+		'cmdwatchã®çæ
+	msdev.documents.open rootdir + "cmdwatch\cmdwatch.dsw"
+	set msdev.activeproject = msdev.projects("cmdwatch")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("cmdwatch" + model)
+	msdev.build
+
+		'ã¦ã©ããã£ã³ã³ãã­ã¼ã©ã®çæ
+	msdev.documents.open rootdir + "watcher\watcher.dsw"
+	set msdev.activeproject = msdev.projects("watcher")
+	set msdev.activeconfiguration = msdev.activeproject.configurations("watcher" + model)
+	msdev.build
+
+
+msdev.quit
+set msdev = nothing
+
+msgbox "å
+¨ã¦ã®å¦çãçµäºãã¾ãã"
+end if
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/dlldata.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/dlldata.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/dlldata.c	(revision 26)
@@ -0,0 +1,38 @@
+/*********************************************************
+   DllData file -- generated by MIDL compiler 
+
+        DO NOT ALTER THIS FILE
+
+   This file is regenerated by MIDL on every IDL file compile.
+
+   To completely reconstruct this file, delete it and rerun MIDL
+   on all the IDL files in this DLL, specifying this file for the
+   /dlldata command line option
+
+*********************************************************/
+
+#define PROXY_DELEGATION
+
+#include <rpcproxy.h>
+
+#ifdef __cplusplus
+extern "C"   {
+#endif
+
+EXTERN_PROXY_FILE( watcher )
+
+
+PROXYFILE_LIST_START
+/* Start of list */
+  REFERENCE_PROXY_FILE( watcher ),
+/* End of list */
+PROXYFILE_LIST_END
+
+
+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
+
+#ifdef __cplusplus
+}  /*extern "C" */
+#endif
+
+/* end of generated dlldata file */
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.cpp	(revision 26)
@@ -0,0 +1,124 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernellogcontrol.cpp,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+// KernelLogControl.cpp : CKernelLogControl ã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³
+
+#include "stdafx.h"
+#include "Watcher.h"
+#include "KernelLogControl.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernelLogControl
+
+
+STDMETHODIMP CKernelLogControl::Open()
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	if(!FAILED(manager.CoCreateInstance(CLSID_KernelLog)) && !FAILED(manager.Advise((_IKernelLogEvents *)this,__uuidof(_IKernelLogEvents),&cookie)))
+		return S_OK;
+	if(!!manager)
+		manager.Release();
+	return E_FAIL;
+}
+
+STDMETHODIMP CKernelLogControl::Close()
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	if(!manager)
+		return E_FAIL;
+
+	AtlUnadvise(manager, __uuidof(_IKernelLogEvents),cookie);
+	manager.Release();
+	cookie = 0;
+	return S_OK;
+}
+
+STDMETHODIMP CKernelLogControl::get_Type(long *pVal)
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	if(log != NULL)
+	{
+		*pVal = (long)log->header.logtype;
+	}else
+		*pVal = 0;
+
+	return S_OK;
+}
+
+STDMETHODIMP CKernelLogControl::get_Logtim(long *pVal)
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	if(log != NULL)
+	{
+		*pVal = (long)log->header.logtim;
+	}else
+		*pVal = 0;
+	return S_OK;
+}
+
+STDMETHODIMP CKernelLogControl::get_isValid(BOOL *pVal)
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	if(log != NULL)
+		*pVal = TRUE;
+	else
+		*pVal = FALSE;
+	return S_OK;
+}
+
+STDMETHODIMP CKernelLogControl::get_Param(long index, long *pVal)
+{
+	// TODO: ãã®ä½ç½®ã«ã¤ã³ããªã¡ã³ãç¨ã®ã³ã¼ããè¿½å ãã¦ãã ãã
+	*pVal = *((long *)&log->body + index);
+
+	return S_OK;
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.h	(revision 26)
@@ -0,0 +1,219 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: kernellogcontrol.h,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+// KernelLogControl.h : Declaration of the CKernelLogControl
+
+#ifndef __KERNELLOGCONTROL_H_
+#define __KERNELLOGCONTROL_H_
+
+#include "resource.h"       // ã¡ã¤ã³ ã·ã³ãã«
+#include <atlctl.h>
+#include "watcherCP.h"
+
+const CLSID CLSID_KernelLog = {0x4BD327FC,0x9E4A,0x4A5D,{0x95,0x03,0x27,0xC9,0x79,0xA8,0xE8,0x02}};
+
+MIDL_INTERFACE("395F900A-AC7E-4A78-9BC1-EE5EF76254FF")
+IKernelLog : public IUnknown
+{
+public:
+};
+
+MIDL_INTERFACE("35E35399-55ED-45FC-8F0B-4A1BC6CEA3F0")
+_IKernelLogEvents : public IUnknown
+{
+public:
+    virtual HRESULT STDMETHODCALLTYPE OnKernelStart(void) = 0;
+    virtual HRESULT STDMETHODCALLTYPE OnKernelExit( void) = 0;
+    virtual HRESULT STDMETHODCALLTYPE OnLogEvent(long sz, byte __RPC_FAR data[]) = 0;
+};
+
+/////////////////////////////////////////////////////////////////////////////
+// CKernelLogControl
+class ATL_NO_VTABLE CKernelLogControl : 
+	public CComObjectRootEx<CComSingleThreadModel>,
+	public IDispatchImpl<IKernelLogControl, &IID_IKernelLogControl, &LIBID_WATCHERLib>,
+	public CComControl<CKernelLogControl>,
+	public IPersistStreamInitImpl<CKernelLogControl>,
+	public IOleControlImpl<CKernelLogControl>,
+	public IOleObjectImpl<CKernelLogControl>,
+	public IOleInPlaceActiveObjectImpl<CKernelLogControl>,
+	public IViewObjectExImpl<CKernelLogControl>,
+	public IOleInPlaceObjectWindowlessImpl<CKernelLogControl>,
+	public IConnectionPointContainerImpl<CKernelLogControl>,
+	public IPersistStorageImpl<CKernelLogControl>,
+	public ISpecifyPropertyPagesImpl<CKernelLogControl>,
+	public IQuickActivateImpl<CKernelLogControl>,
+	public IDataObjectImpl<CKernelLogControl>,
+	public IProvideClassInfo2Impl<&CLSID_KernelLogControl, &DIID__IKernelLogControlEvents, &LIBID_WATCHERLib>,
+	public IPropertyNotifySinkCP<CKernelLogControl>,
+	public CComCoClass<CKernelLogControl, &CLSID_KernelLogControl>,
+	public CProxy_IKernelLogControlEvents< CKernelLogControl >,
+	public _IKernelLogEvents
+{
+public:
+	CKernelLogControl()
+	{
+		buffer = NULL;
+		log    = NULL;
+	}
+
+DECLARE_REGISTRY_RESOURCEID(IDR_KERNELLOGCONTROL)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CKernelLogControl)
+	COM_INTERFACE_ENTRY(IKernelLogControl)
+	COM_INTERFACE_ENTRY(IDispatch)
+	COM_INTERFACE_ENTRY(IViewObjectEx)
+	COM_INTERFACE_ENTRY(IViewObject2)
+	COM_INTERFACE_ENTRY(IViewObject)
+	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
+	COM_INTERFACE_ENTRY(IOleInPlaceObject)
+	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
+	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
+	COM_INTERFACE_ENTRY(IOleControl)
+	COM_INTERFACE_ENTRY(IOleObject)
+	COM_INTERFACE_ENTRY(IPersistStreamInit)
+	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
+	COM_INTERFACE_ENTRY(IQuickActivate)
+	COM_INTERFACE_ENTRY(IPersistStorage)
+	COM_INTERFACE_ENTRY(IDataObject)
+	COM_INTERFACE_ENTRY(IProvideClassInfo)
+	COM_INTERFACE_ENTRY(IProvideClassInfo2)
+	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
+	COM_INTERFACE_ENTRY(_IKernelLogEvents)
+END_COM_MAP()
+
+BEGIN_PROP_MAP(CKernelLogControl)
+	PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
+	PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
+	// Example entries
+	// PROP_ENTRY("Property Description", dispid, clsid)
+	// PROP_PAGE(CLSID_StockColorPage)
+END_PROP_MAP()
+
+BEGIN_CONNECTION_POINT_MAP(CKernelLogControl)
+	CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
+	CONNECTION_POINT_ENTRY(DIID__IKernelLogControlEvents)
+END_CONNECTION_POINT_MAP()
+
+BEGIN_MSG_MAP(CKernelLogControl)
+	CHAIN_MSG_MAP(CComControl<CKernelLogControl>)
+	DEFAULT_REFLECTION_HANDLER()
+END_MSG_MAP()
+// Handler prototypes:
+//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+
+
+// IViewObjectEx
+	DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
+
+// IKernelLogControl
+public:
+	STDMETHOD(get_Param)(long index, /*[out, retval]*/ long *pVal);
+	STDMETHOD(get_isValid)(/*[out, retval]*/ BOOL *pVal);
+	STDMETHOD(get_Logtim)(/*[out, retval]*/ long *pVal);
+	STDMETHOD(get_Type)(/*[out, retval]*/ long *pVal);
+	STDMETHOD(Close)();
+	STDMETHOD(Open)();
+
+	HRESULT OnDraw(ATL_DRAWINFO& di)
+	{
+		RECT& rc = *(RECT*)di.prcBounds;
+		Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
+
+		SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
+		LPCTSTR pszText = _T("ATL 3.0 : KernelLogControl");
+		TextOut(di.hdcDraw, 
+			(rc.left + rc.right) / 2, 
+			(rc.top + rc.bottom) / 2, 
+			pszText, 
+			lstrlen(pszText));
+
+		return S_OK;
+	}
+// IKernelLog
+// _IKernelLogEvents
+	STDMETHOD(OnKernelStart)()
+	{
+		Fire_OnKernelStart();
+		return S_OK;
+	}
+	STDMETHOD(OnKernelExit)()
+	{
+		Fire_OnKernelExit();
+		return S_OK;
+	}
+	STDMETHOD(OnLogEvent)(LONG sz, byte __RPC_FAR data [])
+	{
+		if(buffer != NULL)
+			::GlobalFree((HGLOBAL)buffer);
+
+		log = reinterpret_cast<DBIFLOG *>(data);
+		Fire_OnLogEvent(*(int *)data);
+		log = NULL;
+
+		return S_OK;
+	}
+
+	CComPtr<IKernelLog> manager;
+	DWORD				cookie;
+	DBIFLOG *			log;
+	void *				buffer;
+};
+
+#endif //__KERNELLOGCONTROL_H_
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.rgs
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.rgs	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/kernellogcontrol.rgs	(revision 26)
@@ -0,0 +1,34 @@
+HKCR
+{
+	Watcher.KernelLogControl.1 = s 'KernelLogControl Class'
+	{
+		CLSID = s '{3474A699-17D5-4E00-8068-6D6608F3DF8A}'
+	}
+	Watcher.KernelLogControl = s 'KernelLogControl Class'
+	{
+		CLSID = s '{3474A699-17D5-4E00-8068-6D6608F3DF8A}'
+		CurVer = s 'Watcher.KernelLogControl.1'
+	}
+	NoRemove CLSID
+	{
+		ForceRemove {3474A699-17D5-4E00-8068-6D6608F3DF8A} = s 'KernelLogControl Class'
+		{
+			ProgID = s 'Watcher.KernelLogControl.1'
+			VersionIndependentProgID = s 'Watcher.KernelLogControl'
+			ForceRemove 'Programmable'
+			InprocServer32 = s '%MODULE%'
+			{
+				val ThreadingModel = s 'Apartment'
+			}
+			ForceRemove 'Control'
+			ForceRemove 'Insertable'
+			ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 101'
+			'MiscStatus' = s '0'
+			{
+			    '1' = s '132497'
+			}
+			'TypeLib' = s '{A242E427-5E2F-4447-AC87-0C7CC382CBFE}'
+			'Version' = s '1.0'
+		}
+	}
+}
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/resource.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/resource.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/resource.h	(revision 26)
@@ -0,0 +1,20 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by watcher.rc
+//
+#define IDS_PROJNAME                    100
+#define IDB_KERNELLOGCONTROL            101
+#define IDR_KERNELLOGCONTROL            102
+#define IDB_DIRECTORYMAP                103
+#define IDR_DIRECTORYMAP                104
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        201
+#define _APS_NEXT_COMMAND_VALUE         32768
+#define _APS_NEXT_CONTROL_VALUE         201
+#define _APS_NEXT_SYMED_VALUE           105
+#endif
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.cpp	(revision 26)
@@ -0,0 +1,65 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.cpp,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+// stdafx.cpp : æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãå«ãã½ã¼ã¹ ãã¡ã¤ã«
+//  stdafx.pch çæãããããªã³ã³ãã¤ã«æ¸ãããã¼
+//  stdafx.obj çæãããããªã³ã³ãã¤ã«æ¸ã¿ã¤ãæ
+å ±
+
+#include "stdafx.h"
+
+#ifdef _ATL_STATIC_REGISTRY
+#include <statreg.h>
+#include <statreg.cpp>
+#endif
+
+#include <atlimpl.cpp>
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/stdafx.h	(revision 26)
@@ -0,0 +1,217 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: stdafx.h,v 1.2 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+// stdafx.h : æ¨æºã®ã·ã¹ãã  ã¤ã³ã¯ã«ã¼ã ãã¡ã¤ã«ã
+//            ã¾ãã¯åç
+§åæ°ãå¤ãããã¤ãã¾ãå¤æ´ãããªã
+//            ãã­ã¸ã§ã¯ãå°ç¨ã®ã¤ã³ã¯ã«ã¼ã ãã¡ã¤ã«ãè¨è¿°ãã¾ãã
+
+#if !defined(AFX_STDAFX_H__D427C5C9_3DF2_4C06_BC74_B35DCF7062FC__INCLUDED_)
+#define AFX_STDAFX_H__D427C5C9_3DF2_4C06_BC74_B35DCF7062FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define STRICT
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0400
+#endif
+#define _ATL_APARTMENT_THREADED
+
+#include <atlbase.h>
+// CComModule ã¯ã©ã¹ããæ´¾çããã¯ã©ã¹ãä½¿ç¨ãã¦ããªã¼ãã¼ã©ã¤ãããå ´å
+// _Module ã®ååã¯å¤æ´ããªãã§ãã ããã
+extern CComModule _Module;
+#include <atlcom.h>
+#include <atlctl.h>
+
+
+/*
+ *  ITRONãããã®ã³ã°ã¤ã³ã¿ãã§ã¼ã¹é¢é£ã®å®ç¾©
+ */
+
+/*
+ *  ãã£ã¹ãããç¨®å¥
+ */
+#define DSP_NORMAL		0;	//ã¿ã¹ã¯ã³ã³ãã­ã¹ãããã®ãã£ã¹ããã
+#define DSP_NONTSKCTX	1;	//å²è¾¼ã¿å¦çããã³CPUä¾å¤ããã®ãã£ã¹ããã 
+
+typedef	short		 BITMASK;
+typedef unsigned int INHNO;
+
+/* å²è¾¼ã¿ãã³ãã© */
+typedef struct t_rglog_interrupt{
+	int inhno;	//å²è¾¼ã¿ãã³ãã©çªå·
+} T_RGLOG_INTERRUPT;
+
+/* å²è¾¼ã¿ãµã¼ãã¹ãã³ãã©(æªä½¿ç¨) */
+typedef struct t_rglog_isr {
+	int		isrid;	//å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ID
+	int     inhno;	//å²è¾¼ã¿ãã³ãã©çªå·
+} T_RGLOG_ISR;
+
+/* ã¿ã¤ã ã¤ãã³ããã³ãã© */
+typedef struct t_rglog_timerhdr {
+	unsigned int	type;	//ã¿ã¤ãã¼ã®ç¨®å¥
+	int             hdrid;	//ã¿ã¤ã ã¤ãã³ããã³ãã©ã®ID
+	void *          exinf;	//æ¡å¼µæ
+å ±
+} T_RGLOG_TIMERHDR;
+
+/* CPUä¾å¤ãã³ãã© */
+typedef struct t_rglog_cupexc {
+	int		tskid;	//å¯¾è±¡ã¨ãªãã¿ã¹ã¯ID
+} T_RGLOG_CPUEXC;
+
+/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+typedef struct t_rglog_tskexc {
+	int		tskid;	//å¯¾è±¡ã¨ãªãã¿ã¹ã¯ID
+} T_RGLOG_TSKEXC;
+
+/* ã¿ã¹ã¯ç¶æ
+å¤å */
+typedef struct t_rglog_tskstat {
+	int		tskid;		//ã¿ã¹ã¯ID
+	int		tskstat;	//é·ç§»å
+ã¿ã¹ã¯ç¶æ
+
+	int		tskwait;	//å¾
+ã¡ç¶æ
+
+	int		wobjid;		//å¾
+ã¡å¯¾è±¡ã®ãªãã¸ã§ã¯ãID
+} T_RGLOG_TSKSTAT;
+
+/* ãã£ã¹ãããã£éå§ */
+typedef struct t_rglog_dispatch_enter {
+	int				tskid;		//ã¿ã¹ã¯ID
+	unsigned int	disptype;	//ãã£ã¹ãããç¨®å¥
+} T_RGLOG_DISPATCH_ENTER;
+
+/* ãã£ã¹ãããã£çµäº */
+typedef struct t_rglog_dispatch_leave {
+	int		tskid;		//ã¿ã¹ã¯ID
+} T_RGLOG_DISPATCH_LEAVE;
+
+/* ãµã¼ãã¹ã³ã¼ã« */
+typedef struct t_rglog_svc {
+	int				fncno;		//æ©è½ã³ã¼ã
+	unsigned int	prmcnt;		//ãã©ã¡ã¼ã¿æ°
+	void *			prmary[1];	//ãã©ã¡ã¼ã¿
+} T_RGLOG_SVC;
+
+/* ã³ã¡ã³ãï¼æå­åã®ã¿ã®ã­ã°ï¼ */
+typedef struct t_rglog_comment {
+	unsigned int	length;		//æå­åã®é·ã
+	char			strtext[1];	//æå­å(NULLçµç«¯)-ä¸­æ­ãã
+} T_RGLOG_COMMENT;
+
+typedef struct t_rglog_header {
+	unsigned int	logtype;
+	unsigned int	logtim;
+	unsigned int	valid;
+	unsigned int	bufsz;
+} T_RGLOG_HEADER;
+
+typedef union t_rglog_body
+{
+	T_RGLOG_INTERRUPT		interrupt;
+	T_RGLOG_ISR				isr;
+	T_RGLOG_TIMERHDR		timerhdr;
+	T_RGLOG_CPUEXC			cpuexc;
+	T_RGLOG_TSKEXC			tskexc;
+	T_RGLOG_TSKSTAT			tskstat;
+	T_RGLOG_DISPATCH_ENTER	dispatch_enter;
+	T_RGLOG_DISPATCH_LEAVE	dispatch_leave;
+	T_RGLOG_SVC				svc;
+	T_RGLOG_COMMENT			comment;
+} T_RGLOG_BODY;
+
+typedef struct DBIFLOG
+{
+	struct	t_rglog_header	header;
+	union	t_rglog_body	body;
+} DBIFLOG;
+
+typedef struct t_rglog
+{
+	unsigned int logtype;
+	unsigned int logtim;
+	unsigned int valid;
+	unsigned int bufsz;
+	char		 buf[1];
+} T_RGLOG;
+
+/*
+ *  ã­ã°æ
+å ±ã®ç¨®å¥ã®å®ç¾©
+ */
+#define LOG_TYP_INTERRUPT	0x01	/* å²è¾¼ã¿ãã³ãã© */
+#define LOG_TYP_ISR			0x02	/* å²è¾¼ã¿ãµã¼ãã¹ãã³ãã© */
+#define LOG_TYP_TIMERHDR	0x03	/* ã¿ã¤ã ã¤ãã³ããã³ãã© */
+#define LOG_TYP_CPUEXC		0x04	/* CPUä¾å¤ãã³ãã© */
+#define LOG_TYP_TSKEXC		0x05	/* ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ */
+#define LOG_TYP_TSKSTAT		0x06	/* ã¿ã¹ã¯ç¶æ
+å¤å */
+#define LOG_TYP_DISPATCH	0x07	/* ãã£ã¹ãããã£ */
+#define LOG_TYP_SVC			0x08	/* ãµã¼ãã¹ã³ã¼ã« */
+#define LOG_TYP_COMMENT		0x09	/* ã³ã¡ã³ãï¼æå­åã®ã¿ã®ã­ã°ï¼ */
+#define LOG_ENTER			0x00	/* å
+¥å£ï¼éå§ */
+#define LOG_LEAVE			0x80	/* åºå£ï¼çµäº */
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ ã¯åè¡ã®ç´åã«è¿½å ã®å®£è¨ãæ¿å
+¥ãã¾ãã
+
+#endif // !defined(AFX_STDAFX_H__D427C5C9_3DF2_4C06_BC74_B35DCF7062FC__INCLUDED)
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.cpp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.cpp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.cpp	(revision 26)
@@ -0,0 +1,128 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: watcher.cpp,v 1.3 2003/12/19 13:05:01 takayuki Exp $
+ */
+
+// watcher.cpp : DLL ã¨ã¯ã¹ãã¼ãã®ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³
+
+
+// ã¡ã¢: Proxy/Stub æ
+å ±
+//  å¥ã
+ã® proxy/stub DLL ããã«ãããããã«ã¯ããã­ã¸ã§ã¯ãã®ãã£ã¬ã¯ããªã§ 
+//      nmake -f watcherps.mak ãå®è¡ãã¦ãã ããã
+
+#include "stdafx.h"
+#include "resource.h"
+#include <initguid.h>
+#include "watcher.h"
+
+#include "watcher_i.c"
+#include "kernellogcontrol.h"
+
+
+CComModule _Module;
+
+BEGIN_OBJECT_MAP(ObjectMap)
+OBJECT_ENTRY(CLSID_KernelLogControl, CKernelLogControl)
+END_OBJECT_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// DLL ã¨ã³ããª ãã¤ã³ã
+
+extern "C"
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
+{
+    if (dwReason == DLL_PROCESS_ATTACH)
+    {
+        _Module.Init(ObjectMap, hInstance, &LIBID_WATCHERLib);
+        DisableThreadLibraryCalls(hInstance);
+    }
+    else if (dwReason == DLL_PROCESS_DETACH)
+        _Module.Term();
+    return TRUE;    // ok
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DLL ã OLE ã«ãã£ã¦ã¢ã³ã­ã¼ãå¯è½ãã©ãããèª¿ã¹ãããã«ä½¿ç¨ããã¾ã
+
+STDAPI DllCanUnloadNow(void)
+{
+    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// è¦æ±ãããåã®ãªãã¸ã§ã¯ããä½æããããã«ã¯ã©ã¹ ãã¡ã¯ããªãè¿ãã¾ã
+
+STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+{
+    return _Module.GetClassObject(rclsid, riid, ppv);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllRegisterServer - ã·ã¹ãã  ã¬ã¸ã¹ããªã¸ã¨ã³ããªãè¿½å ãã¾ã
+
+STDAPI DllRegisterServer(void)
+{
+    // ãªãã¸ã§ã¯ããã¿ã¤ãã©ã¤ãã©ãªããã³ã¿ã¤ãã©ã¤ãã©ãªå
+ã®å
+¨ã¦ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãç»é²ãã¾ã
+    return _Module.RegisterServer(TRUE);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllUnregisterServer - ã·ã¹ãã  ã¬ã¸ã¹ããªããã¨ã³ããªãåé¤ãã¾ã
+
+STDAPI DllUnregisterServer(void)
+{
+    return _Module.UnregisterServer(TRUE);
+}
+
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.def	(revision 26)
@@ -0,0 +1,9 @@
+; watcher.def : ã¢ã¸ã¥ã¼ã« ãã©ã¡ã¼ã¿ãå®£è¨ãã¾ãã
+
+LIBRARY      "watcher.DLL"
+
+EXPORTS
+	DllCanUnloadNow     @1 PRIVATE
+	DllGetClassObject   @2 PRIVATE
+	DllRegisterServer   @3 PRIVATE
+	DllUnregisterServer	@4 PRIVATE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsp
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsp	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsp	(revision 26)
@@ -0,0 +1,217 @@
+# Microsoft Developer Studio Project File - Name="watcher" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** ç·¨éããªãã§ãã ãã **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=watcher - Win32 Debug
+!MESSAGE ããã¯æå¹ãªã¡ã¤ã¯ãã¡ã¤ã«ã§ã¯ããã¾ããã ãã®ãã­ã¸ã§ã¯ãããã«ãããããã«ã¯ NMAKE ãä½¿ç¨ãã¦ãã ããã
+!MESSAGE [ã¡ã¤ã¯ãã¡ã¤ã«ã®ã¨ã¯ã¹ãâã] ã³ãã³ããä½¿ç¨ãã¦å®è¡ãã¦ãã ãã
+!MESSAGE 
+!MESSAGE NMAKE /f "watcher.mak".
+!MESSAGE 
+!MESSAGE NMAKE ã®å®è¡æã«æ§æãæå®ã§ãã¾ã
+!MESSAGE ã³ãã³ã ã©ã¤ã³ä¸ã§ãã¯ã­ã®è¨­å®ãå®ç¾©ãã¾ããä¾:
+!MESSAGE 
+!MESSAGE NMAKE /f "watcher.mak" CFG="watcher - Win32 Debug"
+!MESSAGE 
+!MESSAGE é¸æå¯è½ãªãã«ã ã¢âã:
+!MESSAGE 
+!MESSAGE "watcher - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "watcher - Win32 Unicode Debug" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE "watcher - Win32 Unicode Release MinDependency" ("Win32 (x86) Dynamic-Link Library" ç¨)
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "watcher - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\Debug
+TargetPath=.\Debug\watcher.dll
+InputPath=.\Debug\watcher.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "watcher - Win32 Unicode Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugU"
+# PROP BASE Intermediate_Dir "DebugU"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugU"
+# PROP Intermediate_Dir "DebugU"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\DebugU
+TargetPath=.\DebugU\watcher.dll
+InputPath=.\DebugU\watcher.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	if "%OS%"=="" goto NOTNT 
+	if not "%OS%"=="Windows_NT" goto NOTNT 
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	goto end 
+	:NOTNT 
+	echo è­¦å : Windows 95 ã« Unicode DLL ãç»é²ãããã¨ã¯ã§ãã¾ãã 
+	:end 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "watcher - Win32 Unicode Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseUMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinDependency"
+# PROP Intermediate_Dir "ReleaseUMinDependency"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /vd1 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# Begin Custom Build - ç»é²ãè¡ã£ã¦ãã¾ã
+OutDir=.\ReleaseUMinDependency
+TargetPath=.\ReleaseUMinDependency\watcher.dll
+InputPath=.\ReleaseUMinDependency\watcher.dll
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	if "%OS%"=="" goto NOTNT 
+	if not "%OS%"=="Windows_NT" goto NOTNT 
+	regsvr32 /s /c "$(TargetPath)" 
+	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
+	goto end 
+	:NOTNT 
+	echo è­¦å : Windows 95 ã« Unicode DLL ãç»é²ãããã¨ã¯ã§ãã¾ãã 
+	:end 
+	
+# End Custom Build
+
+!ENDIF 
+
+# Begin Target
+
+# Name "watcher - Win32 Debug"
+# Name "watcher - Win32 Unicode Debug"
+# Name "watcher - Win32 Unicode Release MinDependency"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\kernellogcontrol.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\watcher.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\watcher.def
+# End Source File
+# Begin Source File
+
+SOURCE=.\watcher.idl
+# ADD MTL /tlb ".\watcher.tlb" /h "watcher.h" /iid "watcher_i.c" /Oicf
+# End Source File
+# Begin Source File
+
+SOURCE=.\watcher.rc
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\kernellogcontrol.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stdafx.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\watcherCP.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\directorymap.rgs
+# End Source File
+# Begin Source File
+
+SOURCE=.\kernellogcontrol.rgs
+# End Source File
+# End Group
+# End Target
+# End Project
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsw
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsw	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.dsw	(revision 26)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# è­¦å: ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ ãã¡ã¤ã« ãç·¨éã¾ãã¯åé¤ããªãã§ãã ãã!
+
+###############################################################################
+
+Project: "watcher"=".\watcher.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.h	(revision 26)
@@ -0,0 +1,719 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: watcher.h,v 1.3 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Fri Nov 01 23:33:21 2002
+ */
+/* Compiler settings for C:\Documents and Settings\Takayuki\My Documents\Visual Studio Projects\JSP Windows Logging Mechanism\watcher\watcher.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 440
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __watcher_h__
+#define __watcher_h__
+
+#ifdef __cplusplus
+extern "C"{
+#endif 
+
+/* Forward Declarations */ 
+
+#ifndef __IKernelLogControl_FWD_DEFINED__
+#define __IKernelLogControl_FWD_DEFINED__
+typedef interface IKernelLogControl IKernelLogControl;
+#endif 	/* __IKernelLogControl_FWD_DEFINED__ */
+
+
+#ifndef ___IKernelLogControlEvents_FWD_DEFINED__
+#define ___IKernelLogControlEvents_FWD_DEFINED__
+typedef interface _IKernelLogControlEvents _IKernelLogControlEvents;
+#endif 	/* ___IKernelLogControlEvents_FWD_DEFINED__ */
+
+
+#ifndef __IDirectoryMap_FWD_DEFINED__
+#define __IDirectoryMap_FWD_DEFINED__
+typedef interface IDirectoryMap IDirectoryMap;
+#endif 	/* __IDirectoryMap_FWD_DEFINED__ */
+
+
+#ifndef __KernelLogControl_FWD_DEFINED__
+#define __KernelLogControl_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class KernelLogControl KernelLogControl;
+#else
+typedef struct KernelLogControl KernelLogControl;
+#endif /* __cplusplus */
+
+#endif 	/* __KernelLogControl_FWD_DEFINED__ */
+
+
+#ifndef __DirectoryMap_FWD_DEFINED__
+#define __DirectoryMap_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class DirectoryMap DirectoryMap;
+#else
+typedef struct DirectoryMap DirectoryMap;
+#endif /* __cplusplus */
+
+#endif 	/* __DirectoryMap_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
+
+#ifndef __IKernelLogControl_INTERFACE_DEFINED__
+#define __IKernelLogControl_INTERFACE_DEFINED__
+
+/* interface IKernelLogControl */
+/* [unique][helpstring][dual][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IKernelLogControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("1FFB399D-1058-40B4-AF62-EA43CDDD79B0")
+    IKernelLogControl : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open( void) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
+            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Logtim( 
+            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_isValid( 
+            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Param( 
+            long index,
+            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IKernelLogControlVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IKernelLogControl __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IKernelLogControl __RPC_FAR * This);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [out] */ UINT __RPC_FAR *pctinfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
+        
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
+            /* [out] */ VARIANT __RPC_FAR *pVarResult,
+            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
+            /* [out] */ UINT __RPC_FAR *puArgErr);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
+            IKernelLogControl __RPC_FAR * This);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
+            IKernelLogControl __RPC_FAR * This);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [retval][out] */ long __RPC_FAR *pVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Logtim )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [retval][out] */ long __RPC_FAR *pVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_isValid )( 
+            IKernelLogControl __RPC_FAR * This,
+            /* [retval][out] */ BOOL __RPC_FAR *pVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Param )( 
+            IKernelLogControl __RPC_FAR * This,
+            long index,
+            /* [retval][out] */ long __RPC_FAR *pVal);
+        
+        END_INTERFACE
+    } IKernelLogControlVtbl;
+
+    interface IKernelLogControl
+    {
+        CONST_VTBL struct IKernelLogControlVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IKernelLogControl_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IKernelLogControl_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IKernelLogControl_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define IKernelLogControl_GetTypeInfoCount(This,pctinfo)	\
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IKernelLogControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IKernelLogControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IKernelLogControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IKernelLogControl_Open(This)	\
+    (This)->lpVtbl -> Open(This)
+
+#define IKernelLogControl_Close(This)	\
+    (This)->lpVtbl -> Close(This)
+
+#define IKernelLogControl_get_Type(This,pVal)	\
+    (This)->lpVtbl -> get_Type(This,pVal)
+
+#define IKernelLogControl_get_Logtim(This,pVal)	\
+    (This)->lpVtbl -> get_Logtim(This,pVal)
+
+#define IKernelLogControl_get_isValid(This,pVal)	\
+    (This)->lpVtbl -> get_isValid(This,pVal)
+
+#define IKernelLogControl_get_Param(This,index,pVal)	\
+    (This)->lpVtbl -> get_Param(This,index,pVal)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_Open_Proxy( 
+    IKernelLogControl __RPC_FAR * This);
+
+
+void __RPC_STUB IKernelLogControl_Open_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_Close_Proxy( 
+    IKernelLogControl __RPC_FAR * This);
+
+
+void __RPC_STUB IKernelLogControl_Close_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_get_Type_Proxy( 
+    IKernelLogControl __RPC_FAR * This,
+    /* [retval][out] */ long __RPC_FAR *pVal);
+
+
+void __RPC_STUB IKernelLogControl_get_Type_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_get_Logtim_Proxy( 
+    IKernelLogControl __RPC_FAR * This,
+    /* [retval][out] */ long __RPC_FAR *pVal);
+
+
+void __RPC_STUB IKernelLogControl_get_Logtim_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_get_isValid_Proxy( 
+    IKernelLogControl __RPC_FAR * This,
+    /* [retval][out] */ BOOL __RPC_FAR *pVal);
+
+
+void __RPC_STUB IKernelLogControl_get_isValid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKernelLogControl_get_Param_Proxy( 
+    IKernelLogControl __RPC_FAR * This,
+    long index,
+    /* [retval][out] */ long __RPC_FAR *pVal);
+
+
+void __RPC_STUB IKernelLogControl_get_Param_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* __IKernelLogControl_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __WATCHERLib_LIBRARY_DEFINED__
+#define __WATCHERLib_LIBRARY_DEFINED__
+
+/* library WATCHERLib */
+/* [helpstring][version][uuid] */ 
+
+
+EXTERN_C const IID LIBID_WATCHERLib;
+
+#ifndef ___IKernelLogControlEvents_DISPINTERFACE_DEFINED__
+#define ___IKernelLogControlEvents_DISPINTERFACE_DEFINED__
+
+/* dispinterface _IKernelLogControlEvents */
+/* [helpstring][uuid] */ 
+
+
+EXTERN_C const IID DIID__IKernelLogControlEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+    MIDL_INTERFACE("99CCF4E3-5D17-477E-BA7B-F5DE796C8E13")
+    _IKernelLogControlEvents : public IDispatch
+    {
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct _IKernelLogControlEventsVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            _IKernelLogControlEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            _IKernelLogControlEvents __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            _IKernelLogControlEvents __RPC_FAR * This);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
+            _IKernelLogControlEvents __RPC_FAR * This,
+            /* [out] */ UINT __RPC_FAR *pctinfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
+            _IKernelLogControlEvents __RPC_FAR * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
+            _IKernelLogControlEvents __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
+        
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
+            _IKernelLogControlEvents __RPC_FAR * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
+            /* [out] */ VARIANT __RPC_FAR *pVarResult,
+            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
+            /* [out] */ UINT __RPC_FAR *puArgErr);
+        
+        END_INTERFACE
+    } _IKernelLogControlEventsVtbl;
+
+    interface _IKernelLogControlEvents
+    {
+        CONST_VTBL struct _IKernelLogControlEventsVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define _IKernelLogControlEvents_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define _IKernelLogControlEvents_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define _IKernelLogControlEvents_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define _IKernelLogControlEvents_GetTypeInfoCount(This,pctinfo)	\
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define _IKernelLogControlEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define _IKernelLogControlEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define _IKernelLogControlEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+#endif 	/* ___IKernelLogControlEvents_DISPINTERFACE_DEFINED__ */
+
+
+#ifndef __IDirectoryMap_INTERFACE_DEFINED__
+#define __IDirectoryMap_INTERFACE_DEFINED__
+
+/* interface IDirectoryMap */
+/* [unique][helpstring][dual][uuid][object] */ 
+
+
+EXTERN_C const IID IID_IDirectoryMap;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    
+    MIDL_INTERFACE("80AA7D6B-F115-4ACE-97F6-55391BA27997")
+    IDirectoryMap : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
+            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
+        
+        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
+            /* [in] */ BSTR newVal) = 0;
+        
+        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Valid( 
+            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
+        
+        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Load( 
+            BSTR filename) = 0;
+        
+    };
+    
+#else 	/* C style interface */
+
+    typedef struct IDirectoryMapVtbl
+    {
+        BEGIN_INTERFACE
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
+            IDirectoryMap __RPC_FAR * This);
+        
+        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
+            IDirectoryMap __RPC_FAR * This);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [out] */ UINT __RPC_FAR *pctinfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
+        
+        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
+        
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
+            /* [out] */ VARIANT __RPC_FAR *pVarResult,
+            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
+            /* [out] */ UINT __RPC_FAR *puArgErr);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [retval][out] */ BSTR __RPC_FAR *pVal);
+        
+        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Path )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [in] */ BSTR newVal);
+        
+        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Valid )( 
+            IDirectoryMap __RPC_FAR * This,
+            /* [retval][out] */ BOOL __RPC_FAR *pVal);
+        
+        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
+            IDirectoryMap __RPC_FAR * This,
+            BSTR filename);
+        
+        END_INTERFACE
+    } IDirectoryMapVtbl;
+
+    interface IDirectoryMap
+    {
+        CONST_VTBL struct IDirectoryMapVtbl __RPC_FAR *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define IDirectoryMap_QueryInterface(This,riid,ppvObject)	\
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDirectoryMap_AddRef(This)	\
+    (This)->lpVtbl -> AddRef(This)
+
+#define IDirectoryMap_Release(This)	\
+    (This)->lpVtbl -> Release(This)
+
+
+#define IDirectoryMap_GetTypeInfoCount(This,pctinfo)	\
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IDirectoryMap_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IDirectoryMap_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IDirectoryMap_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IDirectoryMap_get_Path(This,pVal)	\
+    (This)->lpVtbl -> get_Path(This,pVal)
+
+#define IDirectoryMap_put_Path(This,newVal)	\
+    (This)->lpVtbl -> put_Path(This,newVal)
+
+#define IDirectoryMap_get_Valid(This,pVal)	\
+    (This)->lpVtbl -> get_Valid(This,pVal)
+
+#define IDirectoryMap_Load(This,filename)	\
+    (This)->lpVtbl -> Load(This,filename)
+
+#endif /* COBJMACROS */
+
+
+#endif 	/* C style interface */
+
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectoryMap_get_Path_Proxy( 
+    IDirectoryMap __RPC_FAR * This,
+    /* [retval][out] */ BSTR __RPC_FAR *pVal);
+
+
+void __RPC_STUB IDirectoryMap_get_Path_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectoryMap_put_Path_Proxy( 
+    IDirectoryMap __RPC_FAR * This,
+    /* [in] */ BSTR newVal);
+
+
+void __RPC_STUB IDirectoryMap_put_Path_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectoryMap_get_Valid_Proxy( 
+    IDirectoryMap __RPC_FAR * This,
+    /* [retval][out] */ BOOL __RPC_FAR *pVal);
+
+
+void __RPC_STUB IDirectoryMap_get_Valid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDirectoryMap_Load_Proxy( 
+    IDirectoryMap __RPC_FAR * This,
+    BSTR filename);
+
+
+void __RPC_STUB IDirectoryMap_Load_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif 	/* __IDirectoryMap_INTERFACE_DEFINED__ */
+
+
+EXTERN_C const CLSID CLSID_KernelLogControl;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("3474A699-17D5-4E00-8068-6D6608F3DF8A")
+KernelLogControl;
+#endif
+
+EXTERN_C const CLSID CLSID_DirectoryMap;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("BA0030F5-042A-43DC-BF89-1B343A38E320")
+DirectoryMap;
+#endif
+#endif /* __WATCHERLib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.idl
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.idl	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.idl	(revision 26)
@@ -0,0 +1,86 @@
+// watcher.idl : watcher.dll ç¨ã® IDL ã½ã¼ã¹ ãã¡ã¤ã«
+//
+
+// ãã®ãã¡ã¤ã«ã¯ã¿ã¤ã ã©ã¤ãã©ãª (watcher.tlb) ãä½æããããã«
+// ã¿ã¤ã ã©ã¤ãã©ãªä½æãã¼ã« MIDL ã«ãã£ã¦å¦çããã¾ãã
+
+import "oaidl.idl";
+import "ocidl.idl";
+#include "olectl.h"
+	
+
+	[
+		object,
+		uuid(1FFB399D-1058-40B4-AF62-EA43CDDD79B0),
+		dual,
+		helpstring("IKernelLogControl Interface"),
+		pointer_default(unique)
+	]
+	interface IKernelLogControl : IDispatch
+	{
+		[id(1), helpstring("ã¡ã½ãã Open")] HRESULT Open();
+		[id(2), helpstring("ã¡ã½ãã Close")] HRESULT Close();
+		[propget, id(3), helpstring("ãã­ããã£ Type")] HRESULT Type([out, retval] long *pVal);
+		[propget, id(4), helpstring("ãã­ããã£ Logtim")] HRESULT Logtim([out, retval] long *pVal);
+		[propget, id(5), helpstring("ãã­ããã£ isValid")] HRESULT isValid([out, retval] BOOL *pVal);
+		[propget, id(6), helpstring("ãã­ããã£ Param")] HRESULT Param(long index, [out, retval] long *pVal);
+	};
+
+[
+	uuid(A242E427-5E2F-4447-AC87-0C7CC382CBFE),
+	version(1.0),
+	helpstring("watcher 1.0 ã¿ã¤ã ã©ã¤ãã©ãª")
+]
+library WATCHERLib
+{
+	importlib("stdole32.tlb");
+	importlib("stdole2.tlb");
+
+	[
+		uuid(99CCF4E3-5D17-477E-BA7B-F5DE796C8E13),
+		helpstring("_IKernelLogControlEvents Interface")
+	]
+	dispinterface _IKernelLogControlEvents
+	{
+		properties:
+		methods:
+		[id(1), helpstring("ã¡ã½ãã OnKernelStart")] HRESULT OnKernelStart();
+		[id(2), helpstring("ã¡ã½ãã OnKernelExit")] HRESULT OnKernelExit();
+		[id(3), helpstring("ã¡ã½ãã OnLogEvent")] HRESULT OnLogEvent([in] int type);
+	};
+	
+
+	[
+		object,
+		uuid(80AA7D6B-F115-4ACE-97F6-55391BA27997),
+		dual,
+		helpstring("IDirectoryMap Interface"),
+		pointer_default(unique)
+	]
+	interface IDirectoryMap : IDispatch
+	{
+		[propget, id(1), helpstring("ãã­ããã£ Path")] HRESULT Path([out, retval] BSTR *pVal);
+		[propput, id(1), helpstring("ãã­ããã£ Path")] HRESULT Path([in] BSTR newVal);
+		[propget, id(2), helpstring("ãã­ããã£ Valid")] HRESULT Valid([out, retval] BOOL *pVal);
+		[id(3), helpstring("ã¡ã½ãã Load")] HRESULT Load(BSTR filename);
+	};
+	
+
+	[
+		uuid(3474A699-17D5-4E00-8068-6D6608F3DF8A),
+		helpstring("KernelLogControl Class")
+	]
+	coclass KernelLogControl
+	{
+		[default] interface IKernelLogControl;
+		[default, source] dispinterface _IKernelLogControlEvents;
+	};
+	[
+		uuid(BA0030F5-042A-43DC-BF89-1B343A38E320),
+		helpstring("DirectoryMap Class")
+	]
+	coclass DirectoryMap
+	{
+		[default] interface IDirectoryMap;
+	};
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.rc
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.rc	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher.rc	(revision 26)
@@ -0,0 +1,134 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// æ¥æ¬èª resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""winres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "1 TYPELIB ""watcher.tlb""\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "041104B0"
+        BEGIN
+            VALUE "CompanyName", "\0"
+            VALUE "FileDescription", "watcher Module\0"
+            VALUE "FileVersion", "1, 0, 0, 1\0"
+            VALUE "InternalName", "watcher\0"
+            VALUE "LegalCopyright", "Copyright 2002\0"
+            VALUE "OriginalFilename", "watcher.DLL\0"
+            VALUE "ProductName", "watcher Module\0"
+            VALUE "ProductVersion", "1, 0, 0, 1\0"
+            VALUE "OLESelfRegister", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x411, 1200
+    END
+END
+
+#endif    // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_KERNELLOGCONTROL    BITMAP  DISCARDABLE     "kernello.bmp"
+//IDB_DIRECTORYMAP        BITMAP  DISCARDABLE     "director.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// REGISTRY
+//
+
+IDR_KERNELLOGCONTROL    REGISTRY DISCARDABLE    "KernelLogControl.rgs"
+//IDR_DIRECTORYMAP        REGISTRY DISCARDABLE    "DirectoryMap.rgs"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDS_PROJNAME            "watcher"
+END
+
+#endif    // æ¥æ¬èª resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+1 TYPELIB "watcher.tlb"
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherCP.h
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherCP.h	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherCP.h	(revision 26)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: watcherCP.h,v 1.3 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+#ifndef _WATCHERCP_H_
+#define _WATCHERCP_H_
+
+
+
+
+
+
+template <class T>
+class CProxy_IKernelLogControlEvents : public IConnectionPointImpl<T, &DIID__IKernelLogControlEvents, CComDynamicUnkArray>
+{
+	//Warning this class may be recreated by the wizard.
+public:
+	HRESULT Fire_OnKernelStart()
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				DISPPARAMS disp = { NULL, NULL, 0, 0 };
+				pDispatch->Invoke(0x1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		return varResult.scode;
+	
+	}
+	HRESULT Fire_OnKernelExit()
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				DISPPARAMS disp = { NULL, NULL, 0, 0 };
+				pDispatch->Invoke(0x2, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		return varResult.scode;
+	
+	}
+	HRESULT Fire_OnLogEvent(INT type)
+	{
+		CComVariant varResult;
+		T* pT = static_cast<T*>(this);
+		int nConnectionIndex;
+		CComVariant* pvars = new CComVariant[1];
+		int nConnections = m_vec.GetSize();
+		
+		for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
+		{
+			pT->Lock();
+			CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
+			pT->Unlock();
+			IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
+			if (pDispatch != NULL)
+			{
+				VariantClear(&varResult);
+				pvars[0] = type;
+				DISPPARAMS disp = { pvars, NULL, 1, 0 };
+				pDispatch->Invoke(0x3, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
+			}
+		}
+		delete[] pvars;
+		return varResult.scode;
+	
+	}
+};
+#endif
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_i.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_i.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_i.c	(revision 26)
@@ -0,0 +1,111 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: watcher_i.c,v 1.3 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+/* this file contains the actual definitions of */
+/* the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Fri Nov 01 23:33:21 2002
+ */
+/* Compiler settings for C:\Documents and Settings\Takayuki\My Documents\Visual Studio Projects\JSP Windows Logging Mechanism\watcher\watcher.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+#ifdef __cplusplus
+extern "C"{
+#endif 
+
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+    unsigned long x;
+    unsigned short s1;
+    unsigned short s2;
+    unsigned char  c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+const IID IID_IKernelLogControl = {0x1FFB399D,0x1058,0x40B4,{0xAF,0x62,0xEA,0x43,0xCD,0xDD,0x79,0xB0}};
+
+
+const IID LIBID_WATCHERLib = {0xA242E427,0x5E2F,0x4447,{0xAC,0x87,0x0C,0x7C,0xC3,0x82,0xCB,0xFE}};
+
+
+const IID DIID__IKernelLogControlEvents = {0x99CCF4E3,0x5D17,0x477E,{0xBA,0x7B,0xF5,0xDE,0x79,0x6C,0x8E,0x13}};
+
+
+const IID IID_IDirectoryMap = {0x80AA7D6B,0xF115,0x4ACE,{0x97,0xF6,0x55,0x39,0x1B,0xA2,0x79,0x97}};
+
+
+const CLSID CLSID_KernelLogControl = {0x3474A699,0x17D5,0x4E00,{0x80,0x68,0x6D,0x66,0x08,0xF3,0xDF,0x8A}};
+
+
+const CLSID CLSID_DirectoryMap = {0xBA0030F5,0x042A,0x43DC,{0xBF,0x89,0x1B,0x34,0x3A,0x38,0xE3,0x20}};
+
+
+#ifdef __cplusplus
+}
+#endif
+
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_p.c
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_p.c	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcher_p.c	(revision 26)
@@ -0,0 +1,530 @@
+/*
+ *  TOPPERS/JSP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Just Standard Profile Kernel
+ * 
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation 
+ *  ã«ãã£ã¦å
+¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
+ *  è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
+ *  ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼
+ *  å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
+ *  å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
+ *  æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: watcher_p.c,v 1.3 2003/06/30 15:58:39 takayuki Exp $
+ */
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Fri Nov 01 23:33:21 2002
+ */
+/* Compiler settings for C:\Documents and Settings\Takayuki\My Documents\Visual Studio Projects\JSP Windows Logging Mechanism\watcher\watcher.idl:
+    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 440
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif // __RPCPROXY_H_VERSION__
+
+
+#include "watcher.h"
+
+#define TYPE_FORMAT_STRING_SIZE   7                                 
+#define PROC_FORMAT_STRING_SIZE   163                               
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+
+/* Object interface: IUnknown, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IKernelLogControl, ver. 0.0,
+   GUID={0x1FFB399D,0x1058,0x40B4,{0xAF,0x62,0xEA,0x43,0xCD,0xDD,0x79,0xB0}} */
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IKernelLogControl_ServerInfo;
+
+#pragma code_seg(".orpc")
+
+static const MIDL_STUB_DESC Object_StubDesc = 
+    {
+    0,
+    NdrOleAllocate,
+    NdrOleFree,
+    0,
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x20000, /* Ndr library version */
+    0,
+    0x50100a4, /* MIDL Version 5.1.164 */
+    0,
+    0,
+    0,  /* notify & notify_flag routine table */
+    1,  /* Flags */
+    0,  /* Reserved3 */
+    0,  /* Reserved4 */
+    0   /* Reserved5 */
+    };
+
+static const unsigned short IKernelLogControl_FormatStringOffsetTable[] = 
+    {
+    (unsigned short) -1,
+    (unsigned short) -1,
+    (unsigned short) -1,
+    (unsigned short) -1,
+    0,
+    22,
+    44,
+    72,
+    100,
+    128
+    };
+
+static const MIDL_SERVER_INFO IKernelLogControl_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IKernelLogControl_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IKernelLogControl_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IKernelLogControl_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+CINTERFACE_PROXY_VTABLE(13) _IKernelLogControlProxyVtbl = 
+{
+    &IKernelLogControl_ProxyInfo,
+    &IID_IKernelLogControl,
+    IUnknown_QueryInterface_Proxy,
+    IUnknown_AddRef_Proxy,
+    IUnknown_Release_Proxy ,
+    0 /* (void *)-1 /* IDispatch::GetTypeInfoCount */ ,
+    0 /* (void *)-1 /* IDispatch::GetTypeInfo */ ,
+    0 /* (void *)-1 /* IDispatch::GetIDsOfNames */ ,
+    0 /* IDispatch_Invoke_Proxy */ ,
+    (void *)-1 /* IKernelLogControl::Open */ ,
+    (void *)-1 /* IKernelLogControl::Close */ ,
+    (void *)-1 /* IKernelLogControl::get_Type */ ,
+    (void *)-1 /* IKernelLogControl::get_Logtim */ ,
+    (void *)-1 /* IKernelLogControl::get_isValid */ ,
+    (void *)-1 /* IKernelLogControl::get_Param */
+};
+
+
+static const PRPC_STUB_FUNCTION IKernelLogControl_table[] =
+{
+    STUB_FORWARDING_FUNCTION,
+    STUB_FORWARDING_FUNCTION,
+    STUB_FORWARDING_FUNCTION,
+    STUB_FORWARDING_FUNCTION,
+    NdrStubCall2,
+    NdrStubCall2,
+    NdrStubCall2,
+    NdrStubCall2,
+    NdrStubCall2,
+    NdrStubCall2
+};
+
+CInterfaceStubVtbl _IKernelLogControlStubVtbl =
+{
+    &IID_IKernelLogControl,
+    &IKernelLogControl_ServerInfo,
+    13,
+    &IKernelLogControl_table[-3],
+    CStdStubBuffer_DELEGATING_METHODS
+};
+
+#pragma data_seg(".rdata")
+
+#if !defined(__RPC_WIN32__)
+#error  Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT40_OR_LATER)
+#error You need a Windows NT 4.0 or later to run this stub because it uses these features:
+#error   -Oif or -Oicf, more than 32 methods in the interface.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+
+	/* Procedure Open */
+
+			0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */
+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */
+#ifndef _ALPHA_
+/*  8 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 14 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 16 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 18 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 20 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure Close */
+
+/* 22 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 24 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */
+#ifndef _ALPHA_
+/* 30 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 32 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 34 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 36 */	0x4,		/* Oi2 Flags:  has return, */
+			0x1,		/* 1 */
+
+	/* Return value */
+
+/* 38 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 40 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 42 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure get_Type */
+
+/* 44 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 46 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 50 */	NdrFcShort( 0x9 ),	/* 9 */
+#ifndef _ALPHA_
+/* 52 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 54 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 56 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 58 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter pVal */
+
+/* 60 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 62 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 64 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 68 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 70 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure get_Logtim */
+
+/* 72 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 78 */	NdrFcShort( 0xa ),	/* 10 */
+#ifndef _ALPHA_
+/* 80 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 84 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 86 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter pVal */
+
+/* 88 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 90 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 92 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 94 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 96 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 98 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure get_isValid */
+
+/* 100 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 102 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 106 */	NdrFcShort( 0xb ),	/* 11 */
+#ifndef _ALPHA_
+/* 108 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 110 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 112 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 114 */	0x4,		/* Oi2 Flags:  has return, */
+			0x2,		/* 2 */
+
+	/* Parameter pVal */
+
+/* 116 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 118 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 120 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 122 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 124 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 126 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure get_Param */
+
+/* 128 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 130 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 134 */	NdrFcShort( 0xc ),	/* 12 */
+#ifndef _ALPHA_
+/* 136 */	NdrFcShort( 0x10 ),	/* x86, MIPS, PPC Stack size/offset = 16 */
+#else
+			NdrFcShort( 0x20 ),	/* Alpha Stack size/offset = 32 */
+#endif
+/* 138 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 140 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 142 */	0x4,		/* Oi2 Flags:  has return, */
+			0x3,		/* 3 */
+
+	/* Parameter index */
+
+/* 144 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+#ifndef _ALPHA_
+/* 146 */	NdrFcShort( 0x4 ),	/* x86, MIPS, PPC Stack size/offset = 4 */
+#else
+			NdrFcShort( 0x8 ),	/* Alpha Stack size/offset = 8 */
+#endif
+/* 148 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter pVal */
+
+/* 150 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+#ifndef _ALPHA_
+/* 152 */	NdrFcShort( 0x8 ),	/* x86, MIPS, PPC Stack size/offset = 8 */
+#else
+			NdrFcShort( 0x10 ),	/* Alpha Stack size/offset = 16 */
+#endif
+/* 154 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 156 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+#ifndef _ALPHA_
+/* 158 */	NdrFcShort( 0xc ),	/* x86, MIPS, PPC Stack size/offset = 12 */
+#else
+			NdrFcShort( 0x18 ),	/* Alpha Stack size/offset = 24 */
+#endif
+/* 160 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+			0x0
+        }
+    };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+			NdrFcShort( 0x0 ),	/* 0 */
+/*  2 */	
+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
+/*  4 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+
+			0x0
+        }
+    };
+
+const CInterfaceProxyVtbl * _watcher_ProxyVtblList[] = 
+{
+    ( CInterfaceProxyVtbl *) &_IKernelLogControlProxyVtbl,
+    0
+};
+
+const CInterfaceStubVtbl * _watcher_StubVtblList[] = 
+{
+    ( CInterfaceStubVtbl *) &_IKernelLogControlStubVtbl,
+    0
+};
+
+PCInterfaceName const _watcher_InterfaceNamesList[] = 
+{
+    "IKernelLogControl",
+    0
+};
+
+const IID *  _watcher_BaseIIDList[] = 
+{
+    &IID_IDispatch,
+    0
+};
+
+
+#define _watcher_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _watcher, pIID, n)
+
+int __stdcall _watcher_IID_Lookup( const IID * pIID, int * pIndex )
+{
+    
+    if(!_watcher_CHECK_IID(0))
+        {
+        *pIndex = 0;
+        return 1;
+        }
+
+    return 0;
+}
+
+const ExtendedProxyFileInfo watcher_ProxyFileInfo = 
+{
+    (PCInterfaceProxyVtblList *) & _watcher_ProxyVtblList,
+    (PCInterfaceStubVtblList *) & _watcher_StubVtblList,
+    (const PCInterfaceName * ) & _watcher_InterfaceNamesList,
+    (const IID ** ) & _watcher_BaseIIDList,
+    & _watcher_IID_Lookup, 
+    1,
+    2,
+    0, /* table of [async_uuid] interfaces */
+    0, /* Filler1 */
+    0, /* Filler2 */
+    0  /* Filler3 */
+};
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.def
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.def	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.def	(revision 26)
@@ -0,0 +1,11 @@
+
+LIBRARY      "watcherPS"
+
+DESCRIPTION  'Proxy/Stub DLL'
+
+EXPORTS
+	DllGetClassObject       @1	PRIVATE
+	DllCanUnloadNow         @2	PRIVATE
+	GetProxyDllInfo         @3	PRIVATE
+	DllRegisterServer		@4	PRIVATE
+	DllUnregisterServer		@5	PRIVATE
Index: anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.mk
===================================================================
--- anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.mk	(revision 26)
+++ anotherchoice/tags/jsp-1.4.4-full-UTF8/windev/watcher/watcherps.mk	(revision 26)
@@ -0,0 +1,16 @@
+
+watcherps.dll: dlldata.obj watcher_p.obj watcher_i.obj
+	link /dll /out:watcherps.dll /def:watcherps.def /entry:DllMain dlldata.obj watcher_p.obj watcher_i.obj \
+		kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
+
+.c.obj:
+	cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \
+		$<
+
+clean:
+	@del watcherps.dll
+	@del watcherps.lib
+	@del watcherps.exp
+	@del dlldata.obj
+	@del watcher_p.obj
+	@del watcher_i.obj
